在实际组网中,有时会出现一种特殊的现象——单向链路(即单通)。所谓单向链路是指:本端设备可以通过链路层收到对端设备发送的报文,但对端设备不能收到本端设备的报文。
单向链路分为两种类型:一种是光纤交叉相连,另一种是一条光纤未连接或一条光纤断路。
单向链路会引起一系列问题,比如生成树拓扑环路等。
DLDP协议有如下特点:
1、DLDP是链路层协议,它与物理层协议协同工作来监控设备的链路状态。
2、物理层的自动协商机制进行物理信号和故障的检测;DLDP进行对端设备的识别、单向链路的识别和关闭不可达端口等工作。
3、当使能自动协商机制和DLDP后,二者协同工作,可以检测和关闭物理和逻辑的单向连接,并阻止其他协议(如:stp协议)的失效。
4、如果两端链路在物理层都能独立正常工作,DLDP会在链路层检测这些链路是否正确连接、两端是否可以正确的交互报文。这种检测不能通过自动协商机制实现。
DLDP工作原理:
1、协议状态
Initial(初始):DLDP协议未使能时的初始化状态。
Inactive(非活动):DLDP协议已使能,但是链路down时所处的状态。
Active(活动):DLDP协议已使能且链路up,或者清空邻居表项后所处的状态。
Advertisement(通告):所有邻居双向连通(twoway)或者处于Active状态超过5秒后进入的状态,这是一种没有发现单向链路时的比较稳定的状态。
Probe(探测):收到一个未知邻居的报文后进入的状态,此时将发送探测报文检测链路是否为单向链路。该状态启动Probe发送定时器,为每个需要探测的邻居启动一个Echo等待定时器。
Disable(单通):DLDP协议检测到单向链路,或在加强模式下邻居消失时的状态。此时端口不再接收和发送除DLDPDU以外的报文。
DelayDown(延迟down):当DLDP状态处于Active状态、Advertisement状态或Probe状态时,如果收到端口down事件,不会立即删除邻居、进入Inactive状态,而是先进入临时的。
DelayDown状态:在该状态下,DLDP邻居信息仍然被保留,同时启动DelayDown定时器。
2、定时器
Active发送定时器:发送带有RSY标记的Advertisement报文的时间间隔(缺省为1秒):即在Active状态下每秒发送1个带RSY标记的Advertisement报文,最多发送5个。
Advertisement发送定时器:发送普通Advertisement报文的时间间隔(缺省为5秒)。
Probe发送定时器:Probe发送定时器的时间间隔为1秒:即在Probe状态下每秒发送2个Probe报文,最多发送10个。
Echo等待定时器:在DLDP切换到Probe状态或启动加强探测时启用Echo等待定时器(超时时间为10秒)。若该定时器超时后仍未收到来自邻居应答本端的Echo报文,则将本端的状态置为单通,并将状态机转到Disable状态,发送Disable报文,并根据用户配置的DLDPDown模式,提示用户手动或者自动关闭本端口,同时删除该邻居表项。
邻居老化定时器:每个新邻居加入时都要建立邻居表项,并启用相应的邻居老化定时器。
当收到邻居报文时刷新相应的邻居表项和邻居老化定时器:
在普通模式下,若该定时器超时后仍未收到邻居发来的报文,则发送带有RSY标记的Advertisement报文,同时删除该邻居表项。
在加强模式下,若该定时器超时后仍未收到邻居发来的报文,则启用加强定时器。
邻居老化定时器的超时时间是Advertisement定时器的3倍。
加强定时器:在加强模式下,若邻居老化定时器超时后仍未收到邻居发来的报文,则对该邻居启用加强定时器(超时时间为1秒)。在启用了该定时器之后,每秒向邻居发送1个Probe报文,连续发送8次。
DelayDown定时器:当DLDP处于Active、Advertisement或Probe状态时,如果收到端口down事件,不会立即删除邻居并进入Inactive状态,而是先进入DelayDown状态并启动DelayDown定时器(此时仍保留DLDP邻居信息,且只响应端口up事件):
若该定时器超时后仍未收到端口up事件,则删除DLDP邻居信息并进入Inactive状态。
若该定时器超时前收到了端口up事件,则返回到原来的DLDP状态。
恢复探测定时器:恢复探测定时器的时间间隔为2秒:即处于Disable状态下的端口每2秒发送1个RecoverProbe报文,用于检测单向链路是否恢复。
DLDP协议有两种工作模式:
普通模式:在该模式下,一旦有邻居老化定时器超时,只是在删除该邻居表项的同时发送一个带RSY标记的Advertisement报文。
加强模式:在该模式下,一旦有邻居老化定时器超时,则启动加强定时器,每1秒发送1个Probe报文(连续发送8个)用于主动探测该邻居,如果Echo等待定时器超时仍未收到来自邻居的Echo报文,则进入Disable状态。
加强模式的目的在于检测网络黑洞,防止出现一端up而另一端down的情况。
当DLDP协议工作在普通模式下,系统只能识别光纤交叉连接这一种类型的单向链路。
当DLDP协议工作在加强模式下,系统能够识别光纤交叉连接和一条光纤未连接或断路这两种类型的单向链路。
在探测后一种类型的单向链路时,需要将端口配置为强制速率和强制全双工模式,否则即使启用了DLDP协议,该协议也不起作用。当出现后一种单向链路时,Rx端有信号的端口将处于Disable状态,而Rx端没有信号的端口将处于Inactive状态。
DLDP认证方式
如果使能了DLDP的接口链路状态为Up,DLDP会向对端发送DLDP报文,同时分析处理对端设备发送过来的DLDP报文。
在有可能受到安全威胁的网络中,为了保证报文的合法真实性,用户可以在接口上配置DLDP报文认证方式,分为下列几种:
1、不认证方式
将报文中的认证字和认证类型同本端配置进行比较,如果不一致,则丢弃报文。
2、明文认证方式
将报文中的认证字和认证类型同本端配置进行比较,如果不一致,则丢弃报文。
将报文中的认证字和认证类型分别和本端配置的密码用MD5算法加密后的摘要以及本端认证类型进行比较,如果不一致,则丢弃报文。
责任编辑人:CC
评论
查看更多