AC6605下部分终端无法获取到IP地址,有些则能正常获取

发布时间:  2015-12-26 浏览次数:  349 下载次数:  0
问题描述
AC6605下部分终端无法获取到IP地址,有些则能正常获取。
处理过程

1、先按照普通无法获取IP地址的方式排查了地址池状态,发现未分配的空闲IP地址还有很多,于是trace了一下不能获取IP地址的终端MAC,操作命令为:

<AC6605>system-view
[AC6605]trace enable brief
[AC6605]trace object mac-address H-H-H

然后获取的信息是一段不断循环的信息:

[BTRACE][2015/12/22 14:45:47][DHCPPRO][f0db-e23e-83f9]:Receive DHCP packet (srcif:Vlanif616 orgif:GigabitEthernet0/0/19 length:346 mflg:UC/BC).
[BTRACE][2015/12/22 14:45:47][DHCPPRO][f0db-e23e-83f9]:Receives DHCP DISCOVER packet from interface GigabitEthernet0/0/19.
[BTRACE][2015/12/22 14:45:47][DHCPPRO][f0db-e23e-83f9]:Receive DHCP DISCOVER message.orgif:GE0/0/19 srcif:Vlanif616 L3if:Vlanif616 srcmac:f0db-e23e-83f9 dstmac:ffff-ffff-ffff vsi:- vlan:616/0 srcip:0.0.0.0 dstip:255.255.255.255 VPN:- src-port:68 dst-port:67 msgtype:BOOT-REQUEST dhcp msgtype:DHCP DISCOVER bflag:uc chaddr:f0db-e23e-83f9 ciaddr:0.0.0.0 reqip:0.0.0.0 giaddr:0.0.0.0 serverid:0.0.0.0
[BTRACE][2015/12/22 14:45:47][DHCPPRO][f0db-e23e-83f9]:Find old soft l2fdb entry(mac:f0db-e23e-83f9 interface:GE0/0/19 vsi:65535 vlan:616/0 vt-mode:0)
[BTRACE][2015/12/22 14:45:47][SAVI][f0db-e23e-83f9]:Receive DHCP DISCOVER message.(srcif:Vlanif616, srcl2if:GE0/0/19, dstif:GE0/0/19, vsi:65535, vlan(O/I:616/0), mac(client:f0db-e23e-83f9 src:f0db-e23e-83f9 dst:ffff-ffff-ffff), port(src:68 dst:67))
[BTRACE][2015/12/22 14:45:47][DHCPS][f0db-e23e-83f9]:Receives DHCP DISCOVER message from interface Vlanif616.(chaddr=f0db-e23e-83f9, ciaddr=0.0.0.0, giaddr=0.0.0.0, serverid=0.0.0.0, VPN=-, expect leasetime=7776000)
[BTRACE][2015/12/22 14:45:47][AM][f0db-e23e-83f9]:Receive REQUEST message.(mac:f0db-e23e-83f9 subnet:10.6.16.11/255.255.240.0 vrf:0 expect-time:7776000)
[BTRACE][2015/12/22 14:45:47][AM][f0db-e23e-83f9]:Try allocate leased ip for mac f0db-e23e-83f9.(pool:0)
[BTRACE][2015/12/22 14:45:47][AM][f0db-e23e-83f9]:Request successfully.(mac:f0db-e23e-83f9, ip:10.6.30.181, vrf:0)
[BTRACE][2015/12/22 14:45:47][AM][f0db-e23e-83f9]:Offer ip 10.6.30.181 to mac f0db-e23e-83f9. //DHCP server向终端发送OFFER报文包含了分配地址
[BTRACE][2015/12/22 14:45:47][DHCPS][f0db-e23e-83f9]:Assigned ip address 10.6.30.181 for f0db-e23e-83f9.
[BTRACE][2015/12/22 14:45:47][DHCPS][f0db-e23e-83f9]:Send DHCP OFFER packet.(Chaddr=f0db-e23e-83f9, Offer IP=10.6.30.181).
[BTRACE][2015/12/22 14:45:47][DHCPPRO][f0db-e23e-83f9]:DHCP server protocol stack ends with stop.
[BTRACE][2015/12/22 14:45:47][DHCPPRO][f0db-e23e-83f9]:Receive DHCP packet (srcif:null orgif:null length:346 mflg:UC/BC).
[BTRACE][2015/12/22 14:45:47][DHCPPRO][f0db-e23e-83f9]:Receive DHCP OFFER message.orgif:null srcif:null L3if:null srcmac:74a0-63f6-e5c4 dstmac:f0db-e23e-83f9 vsi:- vlan:616/0 srcip:10.6.16.11 dstip:10.6.30.181 VPN:- src-port:67 dst-port:68 msgtype:BOOT-REPLY dhcp msgtype:DHCP OFFER bflag:uc chaddr:f0db-e23e-83f9 ciaddr:0.0.0.0 reqip:0.0.0.0 giaddr:0.0.0.0 serverid:10.6.16.11
[BTRACE][2015/12/22 14:45:47][SAVI][f0db-e23e-83f9]:Receive DHCP OFFER message.(srcif:null, srcl2if:null, dstif:GE0/0/19, vsi:65535, vlan(O/I:616/0), mac(client:f0db-e23e-83f9 src:74a0-63f6-e5c4 dst:f0db-e23e-83f9), port(src:67 dst:68))
[BTRACE][2015/12/22 14:45:47][DHCPPRO][f0db-e23e-83f9]:Update packet option.(BitMap:0x0 Total length:346, IP:328, UDP:308)
[BTRACE][2015/12/22 14:45:47][DHCPPRO][f0db-e23e-83f9]:Unicast packet to interface GE0/0/19 within VLAN 616(pri:0) succeed!
[BTRACE][2015/12/22 14:45:55][AM][f0db-e23e-83f9]:Receive RELEASE message.(mac:f0db-e23e-83f9, ip:10.6.30.181, vrf:0)
[BTRACE][2015/12/22 14:45:55][AM][f0db-e23e-83f9]:Release successfully.(mac:f0db-e23e-83f9, ip:10.6.30.181, vrf:0) //过一段时间又收到终端释放IP的信息

打印信息就是这样不断重复下去。

2、
因为这个现象是只有这个AP下的终端才这样,于是排查这个AP所在的接入交换机发现有环路存在,将环路解决后问题解决。

根因

接入交换机的环路造成了DHCP SERVER在一定时间内没有收到终端的request报文。Dhcp server收到discover报文然后应答offer,创建临时租约16s,到期没有收到终端request就会释放地址,从trace信息看客户端持续发送discover,dhcp server都应答了offer,offer在中间由于环路被丢弃,导致客户端没有收到。

建议与总结
这里分享的不是环路的问题,而是环路产生后导致的现象以及探讨DHCP的一部分原理,这里仅仅是从trace信息是看不出是什么原因导致,分析DHCP的原理也只能猜测是DHCP server没有收到用户回复的request报文导致,再结合这个现象只是个别AP才出现的,排查上级环境发现了可能导致该问题出现的现象。

END