RLDP协议原理与应用

RLDP概述

l RLDP全称是Rapid Link Detection Protocol(快速链路检测协议),是锐捷网络自主开发的,用于快速检测以太网链路故障的链路协议。

l 一般的以太网链路检测机制都只是利用物理连接的状态,通过物理层的自动协商来检测链路的连通性,但这种检测机制存在一定的局限性,在一些特定场景下无法为用户提供可靠的链路检测信息。

Ø 场景1:SW1接口所接的光纤中,收光的一芯故障了发光的正常,由于光纤转换器的存在,对端设备的收发都显示是正常的(我的发光发出去了,对端的发光我也收到了);

Ø 场景2:两台以太网设备之间有一个运营商传输网络,如果运营商传输网络出现异常,两端的以太网设备是无法感知的

RLDP原理介绍

l RLDP定义了两种协议报文:探测报文(Probe)和探测响应报文(Echo),报文目的地址为2层组播地址(01-d0-f8-00-00-02)

l RLDP会在每个配置了RLDP并且是linkup的端口周期性地发送本端口的Probe报文,并期待邻居端口响应该探测报文,同时也期待邻居端口也发送自己的Probe报文。如果一条链路在物理和逻辑上都是正确的,那么一个端口应该能收到邻居端口的探测响应报文以及邻居端口的探测报文。否则链路将被认定是异常的。

l 锐捷RLDP协议定义3种功能,分别为:环路检测、单向链路检测、双向链路检测

RLDP环路检测功能

l RLDP功能主要是应用到接入层交换机上做环路检测用(汇聚层也可以开RLDP防环,但是控制防范的粒度比较粗糙),特别适用于交换机下联HUB自身打环的情况(STP无法实现防止这类的环路)。

l 推荐在项目实施的时候接入层交换机的各个接终端用户的端口都开启RLDP,作为一个优化配置进行事先部署,防止端口下的各类环路问题

l RLDP环路检测主要应用在如下2种场景:

RLDP环路检测原理

l 配置了RLDP协议的交换机在某个端口上收到了本机发出的RLDP报文,则该端口将被认为是出现了环路故障,于是RLDP会根据用户的配置对这种故障做出处理,包括:警告、设置端口违例、关闭端口所在的svi、关闭端口学习转发等。

发生环路故障时的处理动作:

1. block          置为逻辑阻塞端口

2. shutdown-port   置为errordisable状态

3. shutdown-svi     关闭端口所在的SVI接口

4. Warning         弹出警告信息

RLDP单向链路检测原理

l 所谓单向链路故障是指端口连接的链路只能接收报文或者只能发送报文(比如由于光纤接收线对接错误导致的单向接收或单向发送)。如下图所示,RLDP在某个端口上只收到邻居端口的探测报文则该端口将被认为单向链路故障,于是RLDP会根据用户的配置对这种故障做出处理。

RLDP双向链路检测原理

l 所谓双向链路故障是指链路两端的帧在收发方向都出现了故障。如上图所示,设备的端口在发出RLDP探测报文后,就一直无法接收到响应报文或邻居的探测报文,那么该链路将被认为是双向故障的。

RLDP典型应用案例

l 【组网需求】如下图所示,企业各部门用户通过Switch A、Switch B接入网络。由于设备互联光纤质量问题而导致的网络异常或者用户操作失误造成网络环路的情况时有发生。

l 现需要通过配置RLDP环路检测以及单、双链路检测功能,能迅速定位故障并及时恢复网络,主要需求有:

Ø 1、SwitchA和SwitchB之间的互联线路,一旦检测到单向或者双向故障,主动shutdown端口。

Ø 2、SwitchA和SwitchB下联终端的接口,一旦检测到环路之后,主动block端口;

Ø 3、要求能在端口违例5分钟后主动恢复,并且使所有RLDP检测失败的端口重新开始检测

配置命令

以下配置Switch 1和Switch 2一致

Switch 1(config)# rldp enable (全局下开启RLDP)

l Switch 1和Switch 2互联端口下开启单向链路检测和双向链路检测,违例动作为shutdown-port

Switch 1(config)#int gigabitEthernet 0/8

Switch 1(config-if-GigabitEthernet 0/24)#rldp port bidirection-detect shutdown-port   //开启双向链路检测

Switch 1(config-if-GigabitEthernet 0/24)#rldp port unidirection-detect shutdown-port  //开启单向链路检测

l Switch 1和Switch 2下联终端的端口开启环路检测,违例动作为block

Switch 1(config)#int range gigabitEthernet 0/1-4

Switch 1(config-if-range)#rldp port loop-detect block        //开启环路检测

l 全局下配置违例恢复动作

Switch 1(config)#errdisable recovery interval 300

 

RLDP探测参数配置

l 配置RLDP的探测间隔(默认3s,取值范围2-15s)

Ruijie(config)#rldp detect-interval ?

  <2-15> Detect interval (default value: 3sec)

l 配置RLDP最大探测次数。打开了RLDP功能的端口如果在最大探测期(最大探测次数*探测间隔)内仍然无法接收到邻居的报文,则该端口将被诊断为故障(默认2次,取值范围2-10次)

Ruijie(config)#rldp detect-max ?

  <2-10> Max detect number (default value: 2)

l 恢复端口的RLDP状态。如果确认故障已解决,可使用命令立即恢复端口状态。

Ruijie# rldp reset

RLDP注意事项

l 路由口不支持shutdown-svi的错误处理方法。因此该方法可以配置,但在路由口发生检测错误时将不被执行。

l 配置环路检测时要求端口下连的邻居设备不能开启RLDP检测,否则该端口将无法做出正确的检测。

l 如果RLDP检测出链路错误,则会发出警告信息。用户可以通过配置log服务器来记录设备log,记录的级别保证至少3级日志。

l 由于产品特性的不同,某些产品被block的端口仍然会将报文送cpu, 这就导致在配置诊断类型为环路检测且故障处理方法为block时,端口检测到环路被block后仍会有大量的报文送cpu,这样就未能达到环路检测的效果,所以建议环路检测的诊断类型选择shutdown-port的故障处理方法。

l RLDP故障处理类型中的block功能和STP互斥。如果用户配置了端口的故障处理类型为blcok,则建议关闭STP。否则由于STP无法识别单向链路,可能会出现STP允许端口转发,但RLDP却设置端口block的情况。如果要和STP共用,我们建议将错误处理类型配置为shutdown-port。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-28 23:58:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-28 23:58:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-28 23:58:04       87 阅读
  4. Python语言-面向对象

    2024-04-28 23:58:04       96 阅读

热门阅读

  1. C语言基础—多线程基础

    2024-04-28 23:58:04       34 阅读
  2. YOLOV5 TensorRT部署 BatchedNMS(转换engine模型)(上)

    2024-04-28 23:58:04       36 阅读
  3. 在Docker中为Nginx容器添加多端口映射的详细指南

    2024-04-28 23:58:04       30 阅读
  4. 描述一下PHP中的MVC设计模式

    2024-04-28 23:58:04       29 阅读
  5. Linux系统使用命令来查看本地端口的使用情况

    2024-04-28 23:58:04       32 阅读
  6. Linux Makefile编写之可执行程序

    2024-04-28 23:58:04       124 阅读
  7. 先出发再思考怎么解决问题

    2024-04-28 23:58:04       155 阅读
  8. IDEA那些牛X的插件

    2024-04-28 23:58:04       36 阅读
  9. 安全运营之通行字管理

    2024-04-28 23:58:04       119 阅读