S7700作为DHCP Server,友商云终端获取不到IP地址

发布时间:  2015-07-21 浏览次数:  413 下载次数:  0
问题描述
客户购买云终端大概200台,用S7706替换友商交换机做DHCP SERVER。云终端获取不到IP地址,而正常的PC能够获取到IP地址。
处理过程

1. 用一台PC做DHCP SERVER时,云终端能够获取IP地址;S7700做DHCP SERVER时,台式PC能获取到IP地址。

通过对比测试确定为设备之间的兼容性问题。

2. 分析S7700做DHCP SERVER时,终端获取IP地址的报文交互过程。

云终端获取IP地址过程的抓包如下图所示。

7700做dhcpsever 云终端获取ip地址过程的抓包:



从抓包情况看S7700已经接收到终端发送的DHCP DISCOVER报文,并发出了DHCP OFFER包,但是没有收到云终端的回包。

3. 通过对云终端能够获取IP地址和不能获取IP地址两种情况下的DHCP报文进行抓包。

被割接的友商交换机做DHCP SERVER的DHCP OFFER报文如下图所示。

被割接交换机做dhcpserver  offer包:




S7700做DHCP SERVER的DHCP OFFER报文如下图所示。




通过两个DHCP OFFER报文的option字段对比,发现有几个option字段在S7700上不存在,但这也是正常的。原因是在S7700上没有配置这些option字段且客户端的discover报文option55中也没有请求这些option字段。

4. 向客户确定下这些云终端是否需要这些option。如果云终端要检查一些option的话,对比正常的offer报文,在确定客户端收到我们的offer报文的情况下可以尝试添加这些option。

添加方法如下:

dns-list 61.128.114.133 
nbns-list 61.128.114.133 
domain-name dd 
option 7 ip-address 192.168.1.1   
force insert option 7 15 44  //客户端的option55中没有请求option 7 15 44,可以通过该命令强制插入。

5. 但是修改配置后,S7700做DHCP SERVER,云终端还是无法获取到IP地址。继续深度对比两种DHCP OFFER报文。

被割接设备DHCP OFFER报文如下图所示。



S7700的DHCP OFFER报文如下图所示。



S7700发出的报文和其它可以获取IP地址报文的差别在于交换机发出的DHCP报文填写的UDP checksum为0000,根据RFC规范中的规定,UDP checksum为0000即是不需要校验checksum。怀疑是云终端没有遵守这个规定,进行了checksum的校验从而导致校验错误,没有处理交换机发送的报文。

根因
各厂商对RFC理解不一样,UDP checksum为0000即是不需要校验checksum,云终端进行了checksum的校验,从而导致校验错误,没有处理交换机发送的报文。
解决方案
两方设备兼容性问题,建议客户协调两方设备厂商一起解决。
建议与总结
排查时多对比抓包,找出差异点。

END