TCP/IP|记一次DHCP不能获取ip的解决

年前给台式机升级了win10电脑,年后回来发现有块网卡插上线以后获取不到ip(我的电脑是双网卡),一直是169.254.*.*,同一根网线插另一块网卡是可以正常获取ip的,于是做了这些尝试:
1. 禁用再重新启动网卡----不起作用
2. ipconfig /release; ipconfig /renew; ----不起作用
3. wireshark抓包发现,网卡一直在发dhcp discovery报文,没有收到回复,仔细看了一下报文,发现网卡的mac地址不对,是全0(其实这个现象在网络适配器属性里就能看到,前面给忽略了)。给网卡手动指定了一个mac地址后,问题解决。
顺便温习一下DHCP的过程,以下截图是单纯用上述第2步中的命令抓取的log
TCP/IP|记一次DHCP不能获取ip的解决
文章图片

1. wireshark中用bootp过滤dhcp协议
2.1 客户机广播DHCP Discover报文,
2.2 域中的DHCP服务器收到该报文后,确认没有其他人使用该ip后回复DHCP Offer报文,报文包含其他必要的信息,如dns,租约等
2.3 客户机选择收到的第一个DHCP Offer报文的服务器,发送广播DHCP Request,广播目的是告诉域内其他服务器自己的选择
2.4 服务器收到DHCP Request后再向客户机发送DHCP Ack,确认使用
【TCP/IP|记一次DHCP不能获取ip的解决】3. 后续客户机还涉及更新租约,重新登录等场景

    推荐阅读