DLDP链路检测协议

2020-10-26 16:10:32 云杰通信 101

DLDP链路检测协议

  DLDP协议简介

  当连接两台设备的光纤或铜质以太网线在物理层上是相通的,如果链路两端的端口之一可以收到对方发送的链路层报文,但对端不能收到本端发送的报文,将这种链路定义为设备上的单向链路。由于此时链路物理层处于连通状态,能正常工作,因而物理层的检测机制无法发现设备间通信存在问题。以下图为例,图中所示的光纤连接的错误就无法通过物理层的自动协商等机制发现。单向链路会引起一系列问题,比如生成树拓扑环路等。

  DLDP(Device Link Detection Protocol)协议的作用就是在上述情形下,检测单向链路的存在。它负责在通过光纤或铜质以太网线(例如超五类双绞线)连接的交换机上,监控物理线路的链路状态,当发现单向链路后,向用户发送告警信息,并根据用户配置,自动或者手动地关闭相关端口。

  DLDP协议是二层协议,与一层(物理层)机制协同工作以监控链路状态。在一层,自动协商机制进行物理信号和故障的检测。如果一端的链路未连通,逻辑链路未启用,DLDP不起作用。如果链路两端在第一层都能独立正常工作,DLDP执行自动协商机制所不能完成的任务,在第二层检测这些链路是否正确连接,关闭不可达端口。第一层和第二层的检测机制的协同工作防止了物理和逻辑的单向连接以及其他协议的失效。

  DLDP协议通过与对方交互协议报文(DLDPDU)来识别对端设备,检测链路的连接正确性。端口上DLDP使能后将启动协议状态机,在状态机的不同状态下会发送不同的报文,与对端交互信息以检测单向链路。其中,DLDP通告报文(Advertisement)的时间间隔可由用户配置,以便根据不同的网络环境使DLDP对链路连接错误做出更快的响应。

  DLDP能正确工作的前提是,链路两端都正确使能了DLDP功能、双方的DLDP通告报文的发送时间间隔相等、认证方式和密码相同等。

  DLDP协议报文格式

  各域的含义如下:

  1) Destination MAC Address(DA):DLDPDU的DA地址为我司私有组播地址:010F-E200-0001。

  2) Source MAC Address (SA):根据我司的《以太网MAC地址使用技术规范》,DLDPDU的SA为设备的端口MAC地址,不使用设备的桥MAC地址。

  3) 类型(Length/Type):目前我司对以太网II格式封装的协议报文中该值的填写未作任何定义。考虑到设备通过特殊DA来识别DLDPDU,不会与其它的二层慢速协议报文混淆,因而该字段目前采用802.3中为慢速二层协议分配的值0x8809。

  4) DLDP标识(Identifier):该字段主要用于DLDP协议类型的扩展。目前只支持一种类型,该值定义为0x0001。

  5) DLDP版本编号(Version Number):目前的版本号为0x01。

  6) DLDPDU 类型(DLDP Type):目前DLDPDU的类型和取值包括7种类型。

  7) 特殊功能标志(FLAG):主要用于标识特定类型DLDPDU中的报文子类型,目前只有通告报文定义了子类型。

  8) 认证模式(Auth-mode):目前支持3种不同的认证模式,其中0x00表示不需要验证认证口令,0x01表示明文发送认证口令,0x02表示以MD5加密方式发送认证口令。

  9) 认证口令(Password):如果不需要认证时,该域的值为0。如果为明文发送时,该域放入认证口令的ASCII码。如果为MD5模式,放入认证口令ASCII码的MD摘要。

  10) 通告时间间隔(Interval):本设备发送通告报文的时间间隔,等于用户配置值或系统缺省值5s。

  11) 保留字段(Reserved):供协议扩展使用,目前该域取值为0。

  12) 本设备MAC地址(Host MAC Address):用于识别本端口所在设备的信息,为本设备的桥MAC地址。

  13) 本端端口编号(Host Port Identifier):本端口信息的编号。目前采用端口的Portindex。

  14) 邻居信息(Neighbor Info):该域携带本端口保留的邻居信息(端口编号和对端设备的MAC地址)生成的MD5摘要,其中前16byte放入端口编号生成的MD5摘要,后16byte放入对端的桥MAC地址生成的MD5摘要。不需要携带邻居信息时,此字段以0填充。