问题描述:一个公司很重要的会议室中有两个网络A(10.*.*.0/24)和B(192.168.20.0/24)(都为有线网络),VIP在会议室使用网络时候反映电脑RJ45网卡接入网络后得到IP address非常的慢,影响使用。需要IT找到root case,并解决。

 

分析过程:根据反应情况描述为用有线网络在会议室里得到IP地址慢。user电脑接入网络有如下四种情况,分别分析。

1. 新接入客户机到B网络获取IP抓包如下截图,结果:获取IP花费时间很短,几秒钟(图中可以看出真正完成四步骤的时间都没有超过0.1秒)

我们可以发现计算机通过DHCP获得IP地址经过四个步骤,分别是DHCP discover、offer、request、ack;最终计算机获得IP:192.168.20.102,在数据报文中可以看到此DHCP server IP及lease time为2days等信息。其实可以看到所有在DHCP server上设置的option信息。

clip_p_w_picpath001[1]

2. 新接入客户机到A网络获得IP过程和1相同,这里就不截图了。结果:同上

3. 接入B网络的客户机拔掉网线接入A网络。结果:虽多了几个步骤,速度比较快,图中可以看出全部算大概7秒

因原来的B网络地址(192.168.20.102)设置的lease time为2days,肯定没到,接入网络后,首先客户机unicast一个DHCP request报文,可以看出是正常四步骤的第三步,此报文其中含有原地址(192.168.20.102)及原DHCP server的标示符,可是现在接入的是OA网络,非VISITOR网络。故此OA网络的DHCP server发回一个DHCP NAK报文,告诉客户机此DHCP request报文非法。客户机收到这个报文后又开始从第一步开始分别做DHCP discover、offer、request、ack,最终得到IP(10.*.*.53)。

clip_p_w_picpath002[1]

4. 接入A网络的客户机拔掉网线接入B网络。结果:速度比较慢,整个过程总计用时68.4秒

客户机从A网络断开接入B网络,首先unicast DHCP request 进行续订其原IP地址租期。但是这个DHCP request报文发出后得不到DHCP server的任何响应,故客户机将这个DHCP request unicast了三次又broadcast三次,六次DHCP request后还是得不到DHCP server的应答,客户机从新开始DHCP discover,四个过程后得到IP。

可以看出客户机从新开始DHCP discover到最后结束只耗时2秒,开始的客户机六次DHCP request耗时有66.4秒之多。时间都浪费这里了,其实真正浪费在了等待DHCP server的应答上了。

分析B网络在客户机做DHCP request时为什么没有DHCP server的应答,原因为所用DHCP server为SIEMENS家用类型的小路由器做的,不提供此功能,即DHCP server没有IP地址续订的功能。可以从下图中option选项得到验证,可以看出只有lease time=2days,没有renewal/rebinding time value。

clip_p_w_picpath003[1]

 

总结:从分析结果看,得到IP地址慢问题只是当user将网络从A网络断开并接入B网络时发生(测试耗时68.4秒),root case为B网络的DHCP是家用型的小路由器做的,没有应答地址续订功能,当user电脑从别的网络拔掉接入B网络,DHCP server不能对DHCP的续订请求及时应答。

 

解决方案:针对这个问题解决方法有以下几种:

1. 更换机房中的SIEMENS小路由器,找能有应答IP地址续订功能的上线使用

2. 在客户机切换的时候将本机地址释放。可通过ipconfig /release命令或是将有线网卡禁用再启用实现

3. 单独配置DHCP server供分发地址使用