012 环路检测理论与配置

012 环路检测理论与配置 目录1 环路检测1.1 环路检测简介1.1.1 环路检测产生背景1.1.2 环路检测报文1.1.3 环路检测时间间隔1.1.4 环路检测处理模式1.1.5 端口状态自动恢复1.2 环路检测配置任务简介1.3 开启环路检测功能1.3.1 配置限制和指导1.3.2 全局开启环路检测功能1.3.3 在端口上开启环路检测功能1.4 配置环路检测处理模式1.4.1 配置限制和指导1.4.2 全局配置环路检测处理模式1.4.3 在接口上配置环路检测处理模式1.5 配置环路检测时间间隔1.6 环路检测显示和维护1.7 环路检测典型配置举例1.7.1 环路检测基本功能配置举例1 环路检测1.1 环路检测简介1.1.1 环路检测产生背景环路检测能够及时发现二层网络中的环路通过周期性的检查使网络中出现环路时能及时通知用户检查网络连接和配置情况。当网络中出现环路时环路检测机制通过生成日志信息请参见网络管理和监控配置指导中的信息中心来通知用户并可根据用户事先的配置来选择是否关闭出现环路的端口。1.1.2 环路检测报文设备通过发送环路检测报文并检测其是否返回本设备不要求收、发端口为同一端口以确认是否存在环路。若某端口收到了由本设备发出的环路检测报文就认定该端口所在链路存在环路。环路检测通常工作在特定的VLAN内但也可能因QinQ或VLAN映射等特性的配置错误而导致VLAN间的环路即尽管发出和收到的报文所携带的VLAN信息不同但仍认为存在环路。有关QinQ和VLAN映射的详细介绍请分别参见二层技术-以太网交换配置指导中的QinQ和VLAN映射。环路检测报文以太网头的封装格式如图1-1所示其中各字段的解释如下DMAC报文的目的MAC地址使用组播MAC地址010f-e200-0007。当设备开启了环路检测功能时会将该目的地址的报文上送CPU处理并在收到该报文的VLAN内将原始报文广播一份。SMAC报文的源MAC地址为发送该报文的设备的桥MAC。TPIDVLAN标签的类型取值为0x8100。TCIVLAN标签的具体值具体内容为优先级、VLAN ID等。Type协议类型取值为0x8918。环路检测报文的内部头的封装格式如图1-2所示其中各字段的解释如下Code协议子类型取值为0x0001表示环路检测协议。Version版本取值为0x0000目前保留。Length报文长度包括环路检测报文的头部但不包括以太网头部。Reserved保留字段。环路检测报文的内容以TLVType/Length/Value类型/长度/值格式进行封装环路检测支持的TLV类型如表1-1所示。表1-1 环路检测支持的TLV类型TLV名称说明携带要求End of PDU结束TLV用来标志PDU结束可选Device ID设备标识TLV表示发送设备的桥MAC地址必须Port ID端口标识TLV用来标识PDU发送端的端口索引可选Port Name端口名称TLV用来标识PDU发送端的端口名称可选System Name系统名称TLV表示设备的名称可选Chassis ID框号TLV表示发送端口所在的框号可选Slot ID槽位号TLV表示发送端口所在的槽位号可选Sub Slot ID子槽位号TLV表示发送端口所在的子槽位号可选1.1.3 环路检测时间间隔由于网络时刻处于变化中因此环路检测是一个持续的过程它以一定的时间间隔发送环路检测报文来确定各端口是否出现环路、以及存在环路的端口上是否已消除环路等这个时间间隔就称为环路检测的时间间隔。1.1.4 环路检测处理模式环路检测的处理模式是指当系统检测到端口出现环路时的处理方式包括以下几种Block模式当系统检测到端口出现环路时除了生成日志信息外还会禁止端口学习MAC地址并将端口阻塞。No-learning模式当系统检测到端口出现环路时除了生成日志信息外还会禁止端口学习MAC地址。Shutdown模式当系统检测到端口出现环路时除了生成日志信息外还会自动关闭该端口使其不能收发任何报文。缺省情况下系统不采用上述任何一种模式当系统检测到端口出现环路时除了生成日志信息外不对该端口进行任何处理。1.1.5 端口状态自动恢复在Block模式和No-learning模式下当设备检测到某端口出现环路后若在三倍的环路检测时间间隔内仍未收到环路检测报文就认为该端口上的环路已消除自动将该端口恢复为正常转发状态并通知给用户。这个过程就是端口状态的自动恢复过程。在Shutdown模式下出现环路的端口先被自动关闭然后在shutdown-interval命令请参考基础配置命令参考中的设备管理所配置的时间之后自动恢复。如果此时环路尚未消除该端口将被再次关闭然后恢复……如此往复直至环路消除。当网络中存在环路时为防止大量报文的冲击设备会丢弃部分报文。而如果环路检测报文也被丢弃设备在端口状态自动恢复功能的作用下会误判定环路已消除。在这种情况下建议将环路检测的处理模式配置为Shutdown模式或当设备提示出现环路时通过手工排查来消除环路。1.2 环路检测配置任务简介环路检测配置任务如下(1) 开启环路检测功能全局开启环路检测功能在端口上开启环路检测功能(2) 可选配置环路检测处理模式全局配置环路检测处理模式在接口上配置环路检测处理模式(3) 可选配置环路检测时间间隔1.3 开启环路检测功能1.3.1 配置限制和指导配置环路检测时需要注意设备全局或者端口开启环路检测功能当设备上任一端口收到设备发送的任一VLAN的环路检测报文时会触发该端口的环路保护动作。1.3.2 全局开启环路检测功能(1) 进入系统视图。 system-view (2) 全局开启环路检测功能。 loopback-detection global enable vlan { vlan-id-list | all }缺省情况下环路检测功能处于全局关闭状态。1.3.3 在端口上开启环路检测功能(1) 进入系统视图。 system-view (2) 进入二层以太网接口/二层聚合接口视图。 interface interface-type interface-number (3) 在端口上开启环路检测功能。 loopback-detection enable vlan { vlan-id-list | all }缺省情况下端口上的环路检测功能处于关闭状态。1.4 配置环路检测处理模式1.4.1 配置限制和指导用户可以在系统视图下全局配置环路检测的处理模式也可以在接口视图下配置当前端口的环路检测处理模式。系统视图下的配置对所有端口都有效接口视图下的配置则只对当前端口有效且接口视图下的配置优先级较高。1.4.2 全局配置环路检测处理模式(1) 进入系统视图。 system-view (2) 全局配置环路检测的处理模式。 loopback-detection global action shutdown缺省情况下当系统检测到端口出现环路时不对该端口进行任何处理仅生成日志信息。1.4.3 在接口上配置环路检测处理模式(1) 进入系统视图。 system-view (2) 进入接口视图。 interface interface-type interface-number (3) 在端口上配置环路检测的处理模式。 loopback-detection action { block | no-learning | shutdown }缺省情况下当系统检测到端口出现环路时不对该端口进行任何处理仅生成日志信息。不同接口下支持配置处理模式不同具体支持情况请参见命令手册。1.5 配置环路检测时间间隔1. 功能简介当开启了环路检测功能后系统开始以一定的时间间隔发送环路检测报文该间隔越长耗费的系统性能越少该间隔越短环路检测的灵敏度越高。用户可以通过本配置调整发送环路检测报文的时间间隔以在系统性能和环路检测的灵敏度之间进行平衡。2. 配置步骤(1) 进入系统视图。 system-view (2) 配置环路检测的时间间隔。 loopback-detection interval-time interval缺省情况下环路检测的时间间隔为30秒。1.6 环路检测显示和维护在完成上述配置后在任意视图下执行display命令可以显示配置后环路检测的运行情况通过查看显示信息验证配置的效果。表1-2 环路检测显示和维护操作命令显示环路检测的配置和运行情况display loopback-detection1.7 环路检测典型配置举例1.7.1 环路检测基本功能配置举例1. 组网需求三台设备Device A、Device B和Device C组成一个物理上的环形网络。通过在Device A上配置环路检测功能使系统能够自动关闭Device A上出现环路的端口并通过打印日志信息来通知用户检查网络。2. 组网图3. 配置步骤(1) 配置Device A# 创建VLAN 100并全局开启该VLAN内的环路检测功能。 DeviceA system-view [DeviceA] vlan 100 [DeviceA-vlan100] quit [DeviceA] loopback-detection global enable vlan 100 # 配置端口GigabitEthernet1/0/1和GigabitEthernet1/0/2为Trunk类型并允许VLAN 100通过。 [DeviceA] interface gigabitethernet 1/0/1 [DeviceA-GigabitEthernet1/0/1] port link-type trunk [DeviceA-GigabitEthernet1/0/1] port trunk permit vlan 100 [DeviceA-GigabitEthernet1/0/1] quit [DeviceA] interface gigabitethernet 1/0/2 [DeviceA-GigabitEthernet1/0/2] port link-type trunk [DeviceA-GigabitEthernet1/0/2] port trunk permit vlan 100 [DeviceA-GigabitEthernet1/0/2] quit # 全局配置环路检测的处理模式为Shutdown模式。 [DeviceA] loopback-detection global action shutdown # 配置环路检测的时间间隔为35秒。 [DeviceA] loopback-detection interval-time 35(2) 配置Device B# 创建VLAN 100。 DeviceB system-view [DeviceB] vlan 100 [DeviceB-vlan100] quit # 配置端口GigabitEthernet1/0/1和GigabitEthernet1/0/2为Trunk类型并允许VLAN 100通过。 [DeviceB] interface gigabitethernet 1/0/1 [DeviceB-GigabitEthernet1/0/1] port link-type trunk [DeviceB-GigabitEthernet1/0/1] port trunk permit vlan 100 [DeviceB-GigabitEthernet1/0/1] quit [DeviceB] interface gigabitethernet 1/0/2 [DeviceB-GigabitEthernet1/0/2] port link-type trunk [DeviceB-GigabitEthernet1/0/2] port trunk permit vlan 100 [DeviceB-GigabitEthernet1/0/2] quit(3) 配置Device C# 创建VLAN 100。 DeviceC system-view [DeviceC] vlan 100 [DeviceC-vlan100] quit # 配置端口GigabitEthernet1/0/1和GigabitEthernet1/0/2为Trunk类型并允许VLAN 100通过。 [DeviceC] interface gigabitethernet 1/0/1 [DeviceC-GigabitEthernet1/0/1] port link-type trunk [DeviceC-GigabitEthernet1/0/1] port trunk permit vlan 100 [DeviceC-GigabitEthernet1/0/1] quit [DeviceC] interface gigabitethernet 1/0/2 [DeviceC-GigabitEthernet1/0/2] port link-type trunk [DeviceC-GigabitEthernet1/0/2] port trunk permit vlan 100 [DeviceC-GigabitEthernet1/0/2] quit4. 验证配置当配置完成后系统在一个环路检测时间间隔内在Device A的端口GigabitEthernet1/0/1和GigabitEthernet1/0/2上都检测到了环路于是将这两个端口自动关闭并打印了如下日志信息[DeviceA] %Feb 24 15:04:29:663 2013 DeviceA LPDT/4/LPDT_LOOPED: A loop was detected on GigabitEthernet1/0/1. %Feb 24 15:04:29:664 2013 DeviceA LPDT/4/LPDT_VLAN_LOOPED: A loop was detected on GigabitEthernet1/0/1 in VLAN 100. %Feb 24 15:04:29:667 2013 DeviceA LPDT/4/LPDT_LOOPED: A loop was detected on GigabitEthernet1/0/2. %Feb 24 15:04:29:668 2013 DeviceA LPDT/4/LPDT_VLAN_LOOPED: A loop was detected on GigabitEthernet1/0/2 in VLAN 100. %Feb 24 15:04:44:243 2013 DeviceA LPDT/5/LPDT_VLAN_RECOVERED: A loop was removed on GigabitEthernet1/0/1 in VLAN 100. %Feb 24 15:04:44:243 2013 DeviceA LPDT/5/LPDT_RECOVERED: All loops were removed on GigabitEthernet1/0/1. %Feb 24 15:04:44:248 2013 DeviceA LPDT/5/LPDT_VLAN_RECOVERED: A loop was removed on GigabitEthernet1/0/2 in VLAN 100. %Feb 24 15:04:44:248 2013 DeviceA LPDT/5/LPDT_RECOVERED: All loops were removed on GigabitEthernet1/0/2.使用display loopback-detection命令可以查看Device A上环路检测的配置和运行情况# 显示Device A上环路检测的配置和运行情况。 [DeviceA] display loopback-detection Loop detection is enabled. Loop detection interval is 35 second(s). Loop is detected on following interfaces: Interface Action mode VLANs GigabitEthernet1/0/1 Shutdown 100 GigabitEthernet1/0/2 Shutdown 100由此可见Device A上显示在端口GigabitEthernet1/0/1和GigabitEthernet1/0/2上检测到环路由于环路检测功能运行在Shutdown模式下端口GigabitEthernet1/0/1和GigabitEthernet1/0/2上出现环路后均已被自动关闭因此设备打印的日志信息显示这两个端口上的环路已消除。此时使用display interface命令分别查看Device A上端口GigabitEthernet1/0/1和GigabitEthernet1/0/2的状态信息# 显示Device A上端口GigabitEthernet1/0/1的状态信息。 [DeviceA] display interface gigabitethernet 1/0/1 GigabitEthernet1/0/1 current state: DOWN (Loopback detection down) ... # 显示Device A上端口GigabitEthernet1/0/2的状态信息。 [DeviceA] display interface gigabitethernet 1/0/2 GigabitEthernet1/0/2 current state: DOWN (Loopback detection down) ...由此可见端口GigabitEthernet1/0/1和GigabitEthernet1/0/2均已被环路检测模块自动关闭。