08-环路检测配置
本章节下载: 08-环路检测配置 (214.75 KB)
网络连接错误或配置错误都容易导致二层网络中出现转发环路,使设备对广播、组播以及未知单播报文进行重复发送,造成网络资源的浪费甚至导致网络瘫痪。为了能够及时发现二层网络中的环路,以避免对整个网络造成严重影响,需要提供一种检测机制,使网络中出现环路时能及时通知用户检查网络连接和配置情况,这种机制就是环路检测机制。当网络中出现环路时,环路检测机制通过生成日志信息(请参见“网络管理和监控配置指导”中的“信息中心”)来通知用户,并可根据用户事先的配置来选择是否关闭出现环路的端口。
设备通过发送环路检测报文并检测其是否返回本设备(不要求收、发端口为同一端口)以确认是否存在环路,若某端口收到了由本设备发出的环路检测报文,就认定该端口所在链路存在环路。
环路检测通常工作在特定的VLAN内,但也可能因QinQ或VLAN映射等特性的配置错误而导致VLAN间的环路(即尽管发出和收到的报文所携带的VLAN信息不同,但仍认为存在环路)。有关QinQ和VLAN映射的详细介绍,请分别参见“二层技术-以太网交换配置指导”中的“QinQ”和“VLAN映射”。
图1-1 环路检测报文以太网头的封装格式
如图1-1所示,为环路检测报文以太网头的封装格式,其中各字段的解释如下:
· DMAC:报文的目的MAC地址,使用组播MAC地址010f-e200-0007。当设备开启了环路检测功能时,会将该目的地址的报文上送CPU处理,并在收到该报文的VLAN内将原始报文广播一份。
· SMAC:报文的源MAC地址,采用发送该报文的设备的桥MAC。
· TPID:VLAN标签的类型,取值为0x8100。
· TCI:VLAN标签的具体值,具体内容为优先级、VLAN ID等。
· Type:协议类型,取值为0x8918。
如图1-2所示,为环路检测报文的内部头的封装格式,其中各字段的解释如下:
· Code:协议子类型,取值为0x0001,表示环路检测协议。
· Version:版本,取值为0x0000,目前保留。
· Length:报文长度(包括环路检测报文的头部,但不包括以太网头部)。
· Reserved:保留字段。
环路检测报文的内容以TLV(Type/Length/Value,类型/长度/值)格式进行封装,环路检测支持的TLV类型如表1-1所示。
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,表示发送端口所在的子槽位号 |
可选 |
由于网络时刻处于变化中,因此环路检测是一个持续的过程,它以一定的时间间隔发送环路检测报文来确定各端口是否出现环路、以及存在环路的端口上是否已消除环路等,这个时间间隔就称为环路检测的时间间隔。
环路检测的处理模式是指当系统检测到端口出现环路时的处理方式,包括以下几种:
· Block模式:当系统检测到端口出现环路时,除了生成日志信息外,还会禁止端口学习MAC地址并将端口阻塞。
· No-learning模式:当系统检测到端口出现环路时,除了生成日志信息外,还会禁止端口学习MAC地址。
· Shutdown模式:当系统检测到端口出现环路时,除了生成日志信息外,还会自动关闭该端口,使其不能收发任何报文。被关闭的端口将在shutdown-interval命令(请参考“基础配置命令参考”中的“设备管理”)所配置的时间之后自动恢复。
缺省情况下,系统不采用上述任何一种模式,当系统检测到端口出现环路时,除了生成日志信息外不对该端口进行任何处理。
在Block模式和No-learning模式下,当设备检测到某端口出现环路后,若在三倍的环路检测时间间隔内仍未收到环路检测报文,就认为该端口上的环路已消除,自动将该端口恢复为正常转发状态,并通知给用户。这个过程就是端口状态的自动恢复过程。
在Shutdown模式下,出现环路的端口先被自动关闭,然后在shutdown-interval命令所配置的时间之后自动恢复。如果此时环路尚未消除,该端口将被再次关闭,然后恢复……如此往复直至环路消除。
当网络中存在环路时,为防止大量报文的冲击,设备会丢弃部分报文。而如果环路检测报文也被丢弃,设备在端口状态自动恢复功能的作用下会误判定环路已消除。在这种情况下,建议将环路检测的处理模式配置为Shutdown模式,或当设备提示出现环路时通过手工排查来消除环路。
表1-2 环路检测配置任务简介
配置任务 |
说明 |
详细配置 |
开启环路检测功能 |
必选 |
|
配置环路检测处理模式 |
可选 |
|
配置环路检测时间间隔 |
可选 |
用户可以在系统视图下全局开启环路检测功能,也可以在接口视图下开启当前端口的环路检测功能。系统视图下的配置对指定VLAN中的所有端口都有效,而接口视图下的配置则只对当前端口有效(该端口必须属于所指定的VLAN,否则配置无效),且接口视图下的配置优先级较高。
表1-3 全局开启环路检测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
全局开启环路检测功能 |
loopback-detection global enable vlan { vlan-id-list | all } |
缺省情况下,环路检测功能处于全局关闭状态 |
表1-4 在端口上开启环路检测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网/二层聚合接口 |
interface interface-type interface-number |
- |
在端口上开启环路检测功能 |
loopback-detection enable vlan { vlan-id-list | all } |
缺省情况下,端口上的环路检测功能处于关闭状态 |
Shutdown模式对配置了内部环回功能或强制开启光口功能的端口无效。有关内部环回功能和强制开启光口的详细介绍,请参见“接口管理配置指导”中的“以太网接口”。
用户可以在系统视图下全局配置环路检测的处理模式,也可以在接口视图下配置当前端口的环路检测处理模式。系统视图下的配置对所有端口都有效,接口视图下的配置则只对当前端口有效,且接口视图下的配置优先级较高。
表1-5 全局配置环路检测处理模式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
全局配置环路检测的处理模式 |
loopback-detection global action shutdown |
缺省情况下,当系统检测到端口出现环路时不对该端口进行任何处理,仅生成日志信息 |
表1-6 在二层以太网接口上配置环路检测处理模式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网接口视图 |
interface interface-type interface-number |
- |
在端口上配置环路检测的处理模式 |
loopback-detection action { block | no-learning | shutdown } |
缺省情况下,当系统检测到端口出现环路时不对该端口进行任何处理,仅生成日志信息 |
表1-7 在二层聚合接口上配置环路检测处理模式
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层聚合接口视图 |
interface interface-type interface-number |
- |
在端口上配置环路检测的处理模式 |
loopback-detection action shutdown |
缺省情况下,当系统检测到端口出现环路时不对该端口进行任何处理,仅生成日志信息 |
当开启了环路检测功能后,系统开始以一定的时间间隔发送环路检测报文,该间隔越长耗费的系统性能越少,该间隔越短环路检测的灵敏度越高。用户可以通过本配置调整发送环路检测报文的时间间隔,以在系统性能和环路检测的灵敏度之间进行平衡。
表1-8 配置环路检测时间间隔
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置环路检测的时间间隔 |
loopback-detection interval-time interval |
缺省情况下,环路检测的时间间隔为30秒 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后环路检测的运行情况,通过查看显示信息验证配置的效果。
表1-9 环路检测显示和维护
操作 |
命令 |
display loopback-detection |
· 三台设备Device A、Device B和Device C组成一个物理上的环形网络。
· 通过在Device A上配置环路检测功能,使系统能够自动关闭Device A上出现环路的端口,并通过打印日志信息来通知用户检查网络。
图1-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] quit
当配置完成后,系统在一个环路检测时间间隔内在Device A的端口GigabitEthernet1/0/1和GigabitEthernet1/0/2上都检测到了环路,于是将这两个端口自动关闭,并打印了如下日志信息:
[DeviceA]
%Feb 24 15:04:29:663 2013 DeviceA LPDT/4/LPDT_LOOPED: Loopback exists on GigabitEthernet1/0/1.
%Feb 24 15:04:29:667 2013 DeviceA LPDT/4/LPDT_LOOPED: Loopback exists on GigabitEthernet1/0/2.
%Feb 24 15:04:44:243 2013 DeviceA LPDT/5/LPDT_RECOVERED: Loopback on GigabitEthernet1/0/1 recovered.
%Feb 24 15:04:44:248 2013 DeviceA LPDT/5/LPDT_RECOVERED: Loopback on GigabitEthernet1/0/2 recovered.
使用display loopback-detection命令可以查看Device A上环路检测的配置和运行情况:
# 显示Device A上环路检测的配置和运行情况。
[DeviceA] display loopback-detection
Loopback detection is enabled.
Loopback detection interval is 35 second(s).
No loopback is detected.
由此可见,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均已被环路检测模块自动关闭。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!