12-DLDP操作
本章节下载 (168.05 KB)
目 录
在实际组网中,有时会出现一种特殊的现象——单向链路(即单通)。所谓单向链路是指:本端设备可以通过链路层收到对端设备发送的报文,但对端设备不能收到本端设备的报文。单向链路会引起一系列问题,比如生成树拓扑环路等。
出现单向链路的原因有两种:
l
一种是光纤交叉相连,如图1-1所示;
l
一种是一条光纤未连接或一条光纤断路,如图1-2所示(图中的空心线表示一条光纤未连接或一条光纤断路的情况)。
DLDP(Device Link Detection Protocol,设备连接检测协议)可以监控光纤或铜质双绞线(如超五类双绞线)的链路状态。如果发现单向链路存在,DLDP会根据用户配置,自动关闭或通知用户手工关闭相关端口,以防止网络问题的发生。
DLDP协议有如下特点:
l
DLDP是链路层协议,它与物理层协议协同工作来监控设备的链路状态:物理层的自动协商机制进行物理信号和故障的检测;DLDP进行对端设备的识别、单向链路的识别和关闭不可达端口等工作。
l
如果两端链路在物理层都能独立正常工作,DLDP会在链路层检测这些链路是否正确连接、两端是否可以正确的交互报文(这种检测不能通过自动协商机制实现)。
& 说明:
l 当端口工作在强制全双工模式和强制速率下时,此时若出现图1-2所示的情况,则DLDP可以检测出单通故障。
l 反之,当端口的双工模式和速率均处于自动协商时,此时若出现图1-2所示的情况,即使启用了DLDP也无法检测出单通,设备将认为两端端口均处于Down状态。
DLDP协议有如下状态:Initial(初始化)、Inactive(未连通)、Active(活动)、Advertisement(通告)、Probe(探测)、Disable(单通)、DelayDown状态。
表1-1 DLDP协议状态说明
状态 |
说明 |
Initial |
DLDP协议未开启时的初始化状态 |
Inactive |
DLDP协议已开启,但是链路Down时所处的状态 |
Active |
DLDP协议已开启且链路Up,或者清空邻居表项后所处的状态 |
Advertisement |
所有邻居双向连通或者处于Active状态超过5秒后进入的状态,这是一种没有发现单向链路时的比较稳定的状态 |
Probe |
发送探测报文检测链路是否为单向链路。该状态启动Probe发送定时器,为每个需要探测的邻居启动一个Echo等待定时器 |
Disable |
DLDP协议检测到单向链路,或在加强模式下邻居消失情况下的状态。此时DLDP协议不再接收和发送DLDP报文 |
DelayDown |
当DLDP状态处于Active状态、Advertisement状态或Probe状态时,如果收到端口Down事件,不会立即删除邻居并进入Inactive状态,而是先进入临时的DelayDown状态 在该状态下,DLDP邻居信息仍然被保留,同时启动DelayDown定时器 |
DLDP协议工作过程中需要用到如下定时器:
表1-2 DLDP协议中的定时器
定时器 |
说明 |
Advertisement发送定时器 |
发送Advertisement报文的时间间隔,可以通过命令行进行配置 默认状态下,Advertisement发送定时器的时间间隔为5秒 |
Probe发送定时器 |
Probe发送定时器的时间间隔为0.5秒,在Probe状态下每秒发送2个探测报文 |
Echo等待定时器 |
DLDP状态切换到Probe时启用,超时时间为10秒 如果Echo等待定时器超时,还未收到来自此邻居应答本端的Echo报文,则将本端状态置为单通,并将状态机转到Disable状态,输出日志和跟踪信息,发送Flush报文,并根据用户配置的DLDP Down模式,手动或者自动关闭掉本端端口,同时删除该邻居表项 |
Entry老化定时器 |
每个新邻居加入时都要建立邻居表项,并启用相应的Entry老化定时器 每次收到邻居报文时都会刷新邻居表项,并更新相应的Entry老化定时器 普通模式下:如果Entry老化定时器超时,还未收到邻居发来的报文,则发送带有RSY标记的Advertisement报文,同时删除该邻居表项 加强模式下:如果Entry老化定时器超时,还未收到邻居发来的报文,则启用加强定时器 Entry老化定时器的时间间隔是Advertisement定时器的3倍 |
加强定时器 |
在加强模式下:当Entry老化定时器超时,还未收到邻居发来的报文,则对该邻居启用加强定时器。加强定时器的超时时间为10秒 加强定时器启用后,每秒向相应的邻居发送1个Probe报文,连续发送8个 如果加强定时器超时,还未收到来自此邻居应答本端的Echo报文,则将此本端状态置为单通,并将状态机转到Disable状态,输出日志和跟踪信息,发送Flush报文,并根据用户配置的DLDP Down模式,手动或者自动关闭掉本端端口,同时删除该邻居表项 |
DelayDown定时器 |
当DLDP状态处于Active状态、Advertisement状态或Probe状态时,如果收到端口Down事件,不会立即删除邻居、进入Inactive状态,而是先进入临时的DelayDown状态 在该状态下,DLDP邻居信息仍然被保留,同时启动DelayDown定时器(定时器长度可配置,取值范围为1~5秒) 在该状态下,系统只响应端口Up事件 如果该定时器超时后,系统还没有收到端口Up事件,则删除DLDP邻居信息并进入Inactive状态;如果在定时器超时前收到端口Up事件,则返回到原来的DLDP状态 |
DLDP协议有两种工作模式:普通模式、加强模式。
表1-3 DLDP协议工作模式与邻居表项老化
DLDP协议工作模式 |
老化邻居表时是否主动探测邻居的存在 |
老化邻居表时是否启用Entry老化定时器 |
Entry老化定时器超时时,是否启用加强定时器 |
普通模式 |
不进行主动探测 |
是(Entry老化定时器超时后,直接老化该邻居表项) |
否 |
加强模式 |
进行主动探测 |
是(Entry老化定时器超时后,启用加强定时器) |
是(加强定时器超时后,将本端状态置为单通,并老化该邻居表项) |
(1)
如果开启了DLDP的端口链路状态为Up,DLDP会向对端发送DLDP报文,同时分析处理对端设备发送过来的DLDP报文。DLDP处在不同的状态时发送的报文类型不同。
表1-4 DLDP发送报文类型
DLDP状态 |
发送报文类型 |
Active |
Advertisement报文(包括带有RSY标记和不带RSY标记的) |
Advertisement |
Advertisement报文 |
Probe |
Probe报文 |
(2)
DLDP对接收到的报文进行如下分析和处理:
l
在认证模式下,对报文进行认证。如果报文通不过认证,DLDP丢弃该报文。
l
对DLDP报文进行处理。
表1-5 对接收到的DLDP报文的处理过程
收到报文类型 |
处理过程 |
||||
Advertisement报文 |
取出邻居信息 |
如果本机上没有该邻居表项,则建立该邻居表项,启动此表项的Entry老化定时器,并把DLDP状态切换到Probe状态 |
|||
如果本机上存在该邻居表项,则刷新此表项的Entry老化定时器 |
|||||
Flush报文 |
删除本机上该邻居表项 |
||||
Probe报文 |
向对端发送包含邻居信息和自己信息的Echo报文 |
如果本机上没有该邻居,则建立该邻居表 |
|||
如果本机上有该邻居的表项,则刷新此表项的Entry老化定时器 |
|||||
Echo报文 |
检查本机状态是否为Probe状态 |
否 |
丢弃该Echo报文 |
||
是 |
检查报文中携带的邻居信息是否和本机相同 |
不同 |
丢弃该Echo报文 |
||
相同 |
将该邻居标志位置为双向连通 |
||||
如果所有邻居状态都为双向连通,则DLDP状态由Probe切换为Advertisement,同时将Echo定时器置为0 |
(3)
如果DLDP没有收到邻居的Echo应答报文,会做如下处理:
表1-6 未收到邻居Echo应答报文时的处理过程
未收到邻居Echo报文 |
处理过程 |
普通模式下,Echo等待定时器超时还未收到 |
将DLDP状态转到Disable,输出日志和跟踪信息,向邻居发送Flush报文,并根据用户配置的DLDP Down模式,手动或者自动关闭掉本端端口。发送RSY信息,同时删除该邻居表项 |
加强模式下,加强定时器超时还未收到 |
DLDP邻居的状态有两种,可以通过display dldp命令查看。
表1-7 DLDP邻居状态
状态类型 |
说明 |
two way |
表示目前处于正常的双向连通状态 |
unknown |
表示目前正在对邻居进行探测,状态未知 |
表1-8 DLDP基本配置
命令 |
说明 |
|||
进入系统视图 |
system-view |
- |
||
开启DLDP |
全局开启DLDP |
dldp enable |
二者必选其一 缺省情况下,DLDP功能处于关闭状态 |
|
开启当前端口的DLDP |
进入以太网端口视图 |
interface interface-type interface-number |
||
开启DLDP |
dldp enable |
|||
设置与对方端口间的认证模式和认证密码 |
dldp authentication-mode { none | simple simple-password | md5 md5-password } |
可选 缺省情况下,认证方式为none |
||
设定所有开启DLDP的端口(处于Advertisement状态时)发送Advertisement报文的时间间隔 |
dldp interval timer-value |
可选 缺省值为5秒 |
||
配置DelayDown定时器的超时时间 |
dldp delaydown-timer delaydown-time |
可选 缺省值为1秒 |
||
设置发现单向链路后的操作模式 |
dldp unidirectional-shutdown { auto | manual } |
可选 缺省情况下,发现单向链路后的操作模式为auto |
||
设置DLDP的工作模式 |
dldp work-mode { enhance | normal } |
可选 缺省情况下,DLDP协议工作在normal模式 |
在DLDP基本配置过程中,请注意如下事项:
l
在链路未连通的情况下,DLDP不起作用。
l
为确保检测出单向链路,要保证两端设备的DLDP处于开启状态、DLDP Advertisement报文发送时间间隔相等、认证方式和密码相同。
l
DLDP Advertisement报文的时间间隔是可调整的(缺省值是5秒,可配置范围为1~100秒),以便使DLDP根据不同的网络环境对链路失效作出更快的响应。如果设定的时间太长,DLDP在没有关闭单向链路的情况下已出现STP环路。如果设定的时间太短,则会增加网络的流量,减少端口的带宽。因此,建议此时间间隔小于STP收敛时间(通常情况下为30秒)的三分之一。
l
DLDP不处理任何LACP事件,DLDP将端口汇聚组中的每条链路视为独立的链路进行处理。
l
当运行DLDP的两台设备进行对接时,请保证两台设备的软件版本一致,否则DLDP的运行可能出现问题。
l
系统视图下的dldp enable / dldp disable命令用来全局开启/关闭交换机上所有光纤端口的DLDP功能;且以上命令仅对设备上当前已有的光纤端口有效,对设备后续新增的光纤端口不起作用。
l
如果用户配置了DLDP的认证模式和认证密码,则要确保本端端口与对端端口设置了相同的认证模式和认证密码,否则DLDP不能通过认证。
l
当将DLDP协议的工作模式配置为enhance 模式时时,系统能识别两种类型的单向链路:一种是光纤交叉相连,另一种是一条光纤未连接或一条光纤断路。
l
当将DLDP协议的工作模式配置为normal模式时,系统只能识别一种类型的单向链路:光纤交叉连接。
l
当设备业务繁忙、CPU利用率较高时,可能会出现DLDP误报的情况。建议用户把DLDP发现单向链路后的操作模式配置为manual,减小DLDP误报造成的影响。
当DLDP探测到单向链路并将端口DLDP Down掉后,可以通过重置命令使端口状态恢复,重新进行DLDP探测。
& 说明:
DLDP状态重置功能只适用于处于DLDP Down状态的端口。
表1-9 DLDP状态重置配置
操作 |
命令 |
说明 |
在系统视图下,重置被DLDP协议关闭的所有端口的DLDP状态 |
system-view |
对于系统视图下和端口视图下的配置,二者必选其一 |
dldp reset |
||
在端口视图下,重置被DLDP协议关闭的当前端口的DLDP状态 |
interface interface-type interface-number |
|
dldp reset |
表1-10 DLDP配置显示
操作 |
命令 |
说明 |
显示指定Unit或指定端口的DLDP配置信息 |
display dldp { unit-id | interface-type interface-number } |
该命令可以在任意视图下执行 |
如图1-3所示:
l
Switch A和Switch B通过两对光纤相连(相关端口均工作于强制全双工和1000Mbits/s速率下),两台交换机均支持DLDP;
l
Switch A与Switch B间出现了光纤交叉连接的情况,DLDP检测出单向链路后,自动断开单向链路;
l
当网管人员正确连接光纤后,恢复被DLDP Down掉的端口。
(1)
配置Switch A
# 配置端口工作在强制全双工模式,速率为1000Mbits/s。
<SwitchA> system-view
[SwitchA] interface gigabitethernet 1/0/50
[SwitchA-GigabitEthernet1/0/50] duplex full
[SwitchA-GigabitEthernet1/0/50] speed 1000
[SwitchA-GigabitEthernet1/0/50] quit
[SwitchA] interface gigabitethernet 1/0/51
[SwitchA-GigabitEthernet1/0/51] duplex full
[SwitchA-GigabitEthernet1/0/51] speed 1000
[SwitchA-GigabitEthernet1/0/51] quit
# 全局开启DLDP。
[SwitchA] dldp enable
DLDP is enabled on all fiber ports except fabric ports.
# 设置发送DLDP报文的时间间隔为15秒。
[SwitchA] dldp interval 15
# 配置DLDP协议的工作模式为加强模式。
[SwitchA] dldp work-mode enhance
# 配置DLDP单向链路操作模式为自动模式。
[SwitchA] dldp unidirectional-shutdown auto
# 查看DLDP状态。
[SwitchA] display dldp 1
& 说明:
当光纤交叉连接时,可能有两个或三个端口处于Disable状态,剩余端口处于Inactive状态。
当光纤一端连接正确,一端未连接时:
l 如果DLDP的工作模式为normal,则有收光的一端处于Advertisement状态,没有收光的一端处于Inactive状态。
l 如果DLDP的工作模式为enhance,则有收光的一端处于Disable状态,没有收光的一端处于Inactive状态。
# 恢复被DLDP协议Down掉的端口。
[SwitchA] dldp reset
(2)
配置Switch B
Switch B上的配置与Switch A上的配置完全一致,此处不再赘述。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!