• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

某运营商双BAS组网下AP无法正常续约地址问题处理案例

2012-09-27 发表
  • 0关注
  • 0收藏 1727浏览
粉丝: 关注:

 某运营商双BAS组网下AP无法正常续约地址

问题处理案例

一、   组网:

在某运营商组网环境中,客户使用两台BAS分别开启DHCP Server功能,我司AP通过中继设备从DHCP Server处获取地址,其中中继设备同时为AP的网关,具体组网图如下。

1. 现网组网图

现网配置说明:

1) BAS 1地址为172.20.20.2BAS 2地址为172.20.21.2

2) 其中网关设备同时开启中继功能。

二、   问题描述:

某运营商双BAS同时开启DHCP Server功能的组网中,AP通过中继获取地址后注册到AC一段时间内会出现下线情况。登陆AP查看地址获取情况,发现AP无法正常获取地址。

三、   过程分析:

3.1 DHCP协议背景知识介绍

1)   发现阶段

在发现阶段,DHCP客户端通过发送DHCP-DISCOVER报文来寻找DHCP服务器。由于DHCP服务器的IP地址对于客户端来说是未知的,所以DHCP客户端以广播方式发送DHCP-DISCOVER报文。所有收到DHCP-DISCOVER报文的DHCP服务器都会发送DHCP OFFER报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置。

2)   提供阶段

网络中接收到DHCP-DISCOVER报文的DHCP服务器,会选择一个合适的IP地址,连同IP地址租约期限和其他配置信息(如网关地址,域名服务器地址等)一同通过DHCP-OFFER报文发送给DHCP客户端。

DHCP服务器通过地址池保存可供分配的IP地址和其他配置信息。当DHCP服务器接收到DHCP请求报文后,将从IP地址池中取得空闲的IP地址及其他的参数,发送给DHCP客户端。

DHCP服务器为客户端分配IP地址的优先次序如下:

(1) 与客户端MAC 地址或客户端ID 静态绑定的IP 地址;

(2) DHCP 服务器记录的曾经分配给客户端的IP 地址;

(3) 客户端发送的DHCP-DISCOVER 报文中Option 50 字段指定的IP 地址;

(4) DHCP 地址池中,顺序查找可供分配的IP 地址,最先找到的IP 地址;

(5) 如果未找到可用的IP 地址,则依次查询租约过期、曾经发生过冲突的IP

址,如果找到则进行分配,否则将不予处理。

DHCP服务器为客户端分配IP地址时,服务器首先需要确认所分配的IP没有被网络上的其他设备所使用。DHCP服务器通过发送ICMP Echo Requestping)报文对分配的IP进行探测。如果在规定的时间内没有应答,那么服务器就会再次发送ping报文。到达规定的次数后,如果仍没有应答,则所分配的IP地址可用。否则将探测的IP地址记录为冲突地址,并重新选择IP地址进行分配。

3)   选择阶段

如果有多台DHCP服务器向DHCP客户端回应DHCP-OFFER报文,则DHCP客户端只接受第一个收到的DHCP-OFFER报文。然后以广播方式发送DHCP-REQUEST请求报文,该报文中包含Option 54(服务器标识选项),即它选择的DHCP服务器的IP地址信息。

以广播方式发送DHCP-REQUEST请求报文,是为了通知所有的DHCP服务器,它将选择Option 54中标识的DHCP服务器提供的IP地址,其他DHCP服务器可以重新使用曾提供的IP地址。

4)   确认阶段

收到DHCP客户端发送的DHCP-REQUEST请求报文后,DHCP服务器根据DHCP REQUEST报文中携带的MAC地址来查找有没有相应的租约记录。如果有,则发送DHCP-ACK报文作为应答,通知DHCP客户端可以使用分配的IP地址。

DHCP客户端收到DHCP服务器返回的DHCP-ACK确认报文后,会以广播的方式发送免费ARP报文,探测是否有主机使用服务器分配的IP地址,如果在规定的时间内没有收到回应,客户端才使用此地址。否则,客户端会发送DHCP-DECLINE报文给DHCP服务器,通知DHCP服务器该地址不可用,并重新申请IP地址。

如果DHCP服务器收到DHCP-REQUEST报文后,没有找到相应的租约记录,或者由于某些原因无法正常分配IP地址,则发送DHCP-NAK报文作为应答,通知DHCP客户端无法分配合适IP地址。DHCP客户端需要重新发送DHCP-DISCOVER报文来请求新的IP地址。

3.2 案例详细分析:

为了排查上述问题,需要在AP侧进行抓包分析,通过分析AP获取地址及运行过程中DHCP协议的所有报文可以找到问题原因:

1)   AP发送DISCOVER报文,申请ip地址。

2)   BAS 1最先回应AP DHCP OFFER报文,为AP分配地址192.168.0.12

3)   终端与BAS 1之间通过DHCP Request DHCP offer DHCP ACK过程实现地址获取。

4)   运行过程中,终端续约报文DHCP Server没有响应,与客户了解后得知BAS侧为了减少DHCP报文数量,将不会响应DHCP Client的续约报文。

5)   当地址续约到期后,终端重新发送DHCP Discover报文,此时包涵DHCP 50属性,指定希望获取的地址192.168.0.12

6)   此时BAS 1 BAS 2均给终端回应DHCP OFFER,其中BAS 2恢复速度最快。

7)   AP选择BAS 2作为DHCP Server,发送DHCP REQUEST

8)   此时BAS 2没有按照标准交互过程恢复AP DHCP ACK而是BAS 1恢复终端DHCP ACK

3.3 案例原因总结:

由于DHCP Server回复终端的DHCP REQUEST报文没有按照标准协议流程来处理。当终端以广播方式发送DHCP-REQUEST请求报文时,是为了通知所有的DHCP服务器,它将选择Option 54中标识的DHCP服务器提供的IP地址,其他DHCP服务器可以重新使用曾提供的IP地址。由于现网中终端第二次获取地址过程中发送的DHCP-REQUEST报文中指定的DHCP ServerBAS 2,而收到的却是BAS 1回应的DHCP-ACK,导致获取地址失败。

四、   解决方法:

1、要求BAS设备修改DHCP策略,恢复DHCP ClientDHCP续约机制。

2、 要求BAS设备修改双DHCP Server的回复顺序问题,标准协议要求是终端DHCP REQUEST中指定的DHCP Server回复AP DHCP ACK


若您有关于案例的建议,请反馈:

作者在2019-06-12对此案例进行了修订
0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作