DHCP動態獲取IP過程抓包實驗
1、實驗拓撲
R1設置成DHCP服務器,G0/0/0和G0/0/1接口都開啓DHCP功能;
PC-1,PC-2,PC-3設置爲動態獲取地址;
2、實驗過程
在PC-1的Eth0/0/1接口抓包(爲了實現release,我是重新renew獲取ip的)
PC上的命令:
R1上地址池查看:
Wireshark抓包:
這裏包括了Release,DHCP四個過程,ARP查看地址是否衝突:
DHCP獲取ip地址是有四個過程,也就是DHCP Discover,DHCP offer,DHCP Request,DHCP ACK
以下我以上面抓包的過程來講述;
- DHCP Release(四個過程中是沒有這個過程的)
PC-1放棄現在使用的IP地址, 使用DHCPRELEASE報文通知服務器,服務器將此地址回收以備下次使用。
- DHCP Discover
首先,DHCP客戶端PC-1發送DHCP**發現報文(DHCP Discover)**來發現DHCP服務器R1;
3. DHCP Offer
DHCP服務器R1會選取一個未分配的IP地址,向DHCP客戶端PC-1發送DHCP提供報文(DHCP Offer)。此報文中包含分配給客戶端的IP地址和其他配置信息。如果存在多個DHCP服務器,每個DHCP服務器都會響應;
4. DHCP Request
收到R1給的Offer後(如果有多個DHCP服務器向DHCP客戶端發送DHCP提供報文,DHCP客戶端將會選擇收到的第一個DHCP提供報文),然後發送DHCP請求報文(DHCP REQUEST),報文中包含請求的IP地址;
5. DHCP Ack
收到DHCP請求報文後,提供該IP地址的DHCP服務器會向DHCP客戶端發送一個DHCP確認(DHCP ACK),包含提供的IP地址和其他配置信息;(當收到DHCPREQUEST報文後,如果發現其申請的地址無法被分配,則用DHCPNAK報文迴應);
6. ARP免費報文
DHCP客戶端收到DHCP確認報文後,會發送免費ARP報文,檢查網絡中是否有其他主機使用分配的IP地址。如果指定時間內沒有收到ARP應答,DHCP客戶端會使用這個IP地址。如果有主機使用該IP地址,DHCP客戶端會向DHCP服務器發送DHCP拒絕報文,通知服務器該IP地址已被佔用。然後DHCP客戶端會向服務器重新申請一個IP地址。(客戶機收到DHCPACK報文後,再對所有的參數進行一次最後的檢查,如果發現由地址衝突存在,則使用DHCPDECLINE報文回覆服務器);
DHCP Release報文:
DHCP Discover報文:
DHCP offer報文:
DHCP request報文:
DHCP Ack報文:
ARP免費報文報文:
文:`
[外鏈圖片轉存中…(img-ApXIqWS2-1592538727396)]
[外鏈圖片轉存中…(img-HJcVqjnb-1592538727398)]