win7系統(tǒng)下載
當前位置: 首頁 > 網(wǎng)絡(luò)技術(shù)教程 > 詳細頁面

電腦為啥使用ipconfig/release釋放IP地址后,再使用Ipconfig/renew續(xù)約IP地址還是之前的IP地址?

發(fā)布時間:2024-04-06 文章來源:深度系統(tǒng)下載 瀏覽:

我想換一下電腦的IP地址,做測試用,自己的電腦是使用dhcp獲取IP地址的,當前獲取的IP地址已使用,想自動獲取一個其它的IP地址做測試使用,但是無論使用ipconfig/relase釋放多少次,最后使用ipconfig/renew獲取的IP地址還是之前的IP地址,這是為什么?

電腦為什么使用ipconfig/release釋放IP地址后,再使用Ipconfig/renew續(xù)約IP地址還是之前的IP地址?

對于這個問,一般人真的不絕對講不了這么詳細,不信你往下看,絕對讓你茅塞頓開。

一般人理解,肯定就是租期

對于這個問題,大多數(shù)人都會知道,那肯定是你的IP地址租期沒到期,雖說你ipconfig/relase釋放IP地址,但是你在重新獲取的時候,由于IP地址還在這個租期內(nèi),你當然獲取的還是之前的IP地址。

假如就算你現(xiàn)在把租期更換成了2分鐘,你現(xiàn)在ipconfig/relase一下之后,等租期到期后,你等了3分鐘,在續(xù)租IP地址,但是如果在2分鐘過期之后,這個IP地址,才真正的從DHCP地址池釋放出來,你實際等了1分鐘,但是如果這1分鐘內(nèi),沒有新設(shè)備接入到這個網(wǎng)絡(luò)把你之前獲取的IP地址占用,你還是會獲取到之前的IP地址的。

ipconfig/release、ipconfig/renew IP地址請求過程

如果你還想知道更具體的原因,那么下面我來讓你看一下,從底層抓包分析看一下,為什么你還是獲取的之前的IP地址。

我們打開wireshark抓包工具,然后使用ipconfig/relase釋放IP地址,然后再使用ipconfig/renew續(xù)約IP地址。

然后,我們就抓到了如下圖所示數(shù)據(jù)包:

電腦為什么使用ipconfig/release釋放IP地址后,再使用Ipconfig/renew續(xù)約IP地址還是之前的IP地址?

我們先看一第一個包DHCP relase,可以看到電腦的IP地址是192.168.0.254,使用的是DHCP請求釋放這個IP地址。

電腦為什么使用ipconfig/release釋放IP地址后,再使用Ipconfig/renew續(xù)約IP地址還是之前的IP地址?

Client IP address:192.168.0.254,電腦當前客戶端IP地址是192.168.0.254。

釋放完成之后,再使用ipconfig/renew去續(xù)約Ip地址。

這里就有四個包,這四個包之前也已經(jīng)和大家分析過了,有感興趣的老鐵,請參考:詳細的電腦請求DHCP的IP地址過程,有了這篇文章,再也不怕別人問什么是DHCP了。

其實現(xiàn)實是這樣的,當你ipconfig/release之后,ip地址被釋放掉,當你ipconfig/renew時,這時第一個discover請求DHCP發(fā)現(xiàn)包時,Client Ip address:0.0.0.0,說明現(xiàn)在電腦沒有IP地址了,但是這時DHCP discover選項里有個option 50,這個選項就已經(jīng)表明,我要請求192.168.0.254,這個IP地址了。

如果是一臺新電腦接入到網(wǎng)絡(luò),電腦發(fā)現(xiàn)的第一個dhcp discover的包時,在discover包中,是沒有option 50選項的。

只有已經(jīng)接入過網(wǎng)絡(luò)的電腦,請求過IP地址的電腦,才會在重新獲取IP地址時,discover包中才會有option 50選項。

其實,這時雖說電腦在discover,第一階段就申請192.168.0.254這個IP地址,你們說,DHCP會按這個要求給它嗎?

其實這要看DHCP有沒有把這個IP地址分配出去,如果沒有分配出去,就會按discover中的option 50選項,優(yōu)先將這個IP地址分配給這臺電腦。如果已經(jīng)分配給其它電腦了,在dhcp服務(wù)器offer的時候,會提供給你一個其它的IP地址,就算你在discover里面請求的是192.168.0.254,dhcp在offer階段,也不會提供這個IP地址給,dhcp offer給你一個新的地址192.168.0.253,這時你就會在request時,請求192.168.0.253這個IP地址了。

電腦為什么使用ipconfig/release釋放IP地址后,再使用Ipconfig/renew續(xù)約IP地址還是之前的IP地址?

這時還在discover階段的時候,電腦已經(jīng)知道自己要請求什么IP地址,除非路由器,已將這個IP地址分配給其它設(shè)備了,否則還會把這個IP地址分配給你電腦。

這就是為什么使用ipconfig/release釋放IP地址后,再使用Ipconfig/renew續(xù)約IP地址還是之前的IP地址。

當電腦釋放IP地址之后,電腦無論你提供什么地址給,我就在discover第一階段,請求我之前獲取的IP地址。

好的,你請求這個IP地址:192.168.0.254,我就提供這個IP地址給你,在DHCP offer階段,你的客戶端IP地址就是:192.168.0.254了。

電腦為什么使用ipconfig/release釋放IP地址后,再使用Ipconfig/renew續(xù)約IP地址還是之前的IP地址?

在第三階段,你的電腦請求IP地址階段中,dhpc選項中,還是有個option 50,請求的IP地址就是dhcp offer提供的IP地址192.168.0.254。

電腦為什么使用ipconfig/release釋放IP地址后,再使用Ipconfig/renew續(xù)約IP地址還是之前的IP地址?

在第四階段,當電腦請求之后,DHCP服務(wù)器就確定把這個IP地址分配給這個電腦了。

電腦為什么使用ipconfig/release釋放IP地址后,再使用Ipconfig/renew續(xù)約IP地址還是之前的IP地址?

新電腦第一次請求IP地址過程

當一臺電腦沒有從路由器獲取過Ip地址時,他的第一個DHCP包就是DHCP discovery,這個dhcp discover中是沒有option 50選項的,因為剛接入的電腦不知道該請求什么IP地址。

電腦為什么使用ipconfig/release釋放IP地址后,再使用Ipconfig/renew續(xù)約IP地址還是之前的IP地址?

當?shù)谝粋包,找到dhcp后,dhcp服務(wù)器發(fā)現(xiàn)有客戶端再找dhcp服務(wù)器,于是dhcp收到這個包后,好的,我知道了,我給你個IP地址,你看這個IP地址可以嗎?

第二階段,于是DHCP服務(wù)器向電腦發(fā)送了一個offer包,提供一個IP地址給這個電腦。

我給你的IP地址是,your

client

IP address:192.168.12.100

電腦為什么使用ipconfig/release釋放IP地址后,再使用Ipconfig/renew續(xù)約IP地址還是之前的IP地址?

這時電腦收到了來自dhcp服務(wù)器提供的offer數(shù)據(jù)包,電腦打開一看,哦,你給我提供的IP地址是192.168.12.100,正是我想要的。

這時電腦就向服務(wù)器請求,說,我請求要使用這個192.168.12.100 IP地址,把這個IP地址給我吧。

這時在第三階段電腦向DHCP發(fā)送request數(shù)據(jù)包時,在第三階段,dhcp中才會有option 50選項,請求的IP地址。

電腦為什么使用ipconfig/release釋放IP地址后,再使用Ipconfig/renew續(xù)約IP地址還是之前的IP地址?

這時DHCP服務(wù)器,就確定,說好的,我就把這個Your

clietn

IP address:192.168.12.100地址給你了。最后一個是ack確定包,這時這個DHCP請求IP地址就結(jié)束了。

電腦為什么使用ipconfig/release釋放IP地址后,再使用Ipconfig/renew續(xù)約IP地址還是之前的IP地址?

 

本文章關(guān)鍵詞: 電腦 為啥 使用 ipconfig release 釋放