选择区域语言: EN CN HK

04-二层技术-以太网交换配置指导

08-环路检测配置

本章节下载  (221.39 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S12500/S12500-S/Configure/Operation_Manual/H3C_S12500-S_CG-R7536P02-6W100/04/201704/986255_30005_0.htm

08-环路检测配置


1 环路检测

1.1  环路检测简介

1.1.1  环路检测产生背景

网络连接错误或配置错误都容易导致二层网络中出现转发环路,使设备对广播、组播以及未知单播报文进行重复发送,造成网络资源的浪费甚至导致网络瘫痪。为了能够及时发现二层网络中的环路,以避免对整个网络造成严重影响,需要提供一种检测机制,使网络中出现环路时能及时通知用户检查网络连接和配置情况,这种机制就是环路检测机制。当网络中出现环路时,环路检测机制通过生成日志信息(请参见“网络管理和监控配置指导”中的“信息中心”)来通知用户,并可根据用户事先的配置来选择是否关闭出现环路的端口。

1.1.2  环路检测报文

设备通过发送环路检测报文并检测其是否返回本设备(不要求收、发端口为同一端口)以确认是否存在环路,若某端口收到了由本设备发出的环路检测报文,就认定该端口所在链路存在环路。

提示

环路检测通常工作在特定的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 环路检测报文内部头的封装格式

 

图1-2所示,为环路检测报文的内部头的封装格式,其中各字段的解释如下:

·     Code:协议子类型,取值为0x0001,表示环路检测协议。

·     Version:版本,取值为0x0000,目前保留。

·     Length:报文长度(包括环路检测报文的头部,但不包括以太网头部)。

·     Reserved:保留字段。

环路检测报文的内容以TLV(Type/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. 环路检测时间间隔

由于网络时刻处于变化中,因此环路检测是一个持续的过程,它以一定的时间间隔发送环路检测报文来确定各端口是否出现环路、以及存在环路的端口上是否已消除环路等,这个时间间隔就称为环路检测的时间间隔。

2. 环路检测处理模式

环路检测的处理模式是指当系统检测到端口出现环路时的处理方式,包括以下几种:

·     Block模式:当系统检测到端口出现环路时,除了生成日志信息外,还会禁止端口学习MAC地址并将端口阻塞。

·     No-learning模式:当系统检测到端口出现环路时,除了生成日志信息外,还会禁止端口学习MAC地址。

·     Shutdown模式:当系统检测到端口出现环路时,除了生成日志信息外,还会自动关闭该端口,使其不能收发任何报文。被关闭的端口将在shutdown-interval命令(请参考“基础配置命令参考”中的“设备管理”)所配置的时间之后自动恢复。

缺省情况下,系统不采用上述任何一种模式,当系统检测到端口出现环路时,除了生成日志信息外不对该端口进行任何处理。

3. 端口状态自动恢复

在Block模式和No-learning模式下,当设备检测到某端口出现环路后,若在三倍的环路检测时间间隔内仍未收到环路检测报文,就认为该端口上的环路已消除,自动将该端口恢复为正常转发状态,并通知给用户。这个过程就是端口状态的自动恢复过程。

在Shutdown模式下,出现环路的端口先被自动关闭,然后在shutdown-interval命令所配置的时间之后自动恢复。如果此时环路尚未消除,该端口将被再次关闭,然后恢复……如此往复直至环路消除。

提示

当网络中存在环路时,为防止大量报文的冲击,设备会丢弃部分报文。而如果环路检测报文也被丢弃,设备在端口状态自动恢复功能的作用下会误判定环路已消除。在这种情况下,建议将环路检测的处理模式配置为Shutdown模式,或当设备提示出现环路时通过手工排查来消除环路。

 

1.2  环路检测配置任务简介

表1-2 环路检测配置任务简介

配置任务

说明

详细配置

开启环路检测功能

必选

1.3.1 

配置环路检测处理模式

可选

1.3.2 

配置环路检测时间间隔

可选

1.3.3 

 

1.3  配置环路检测

1.3.1  开启环路检测功能

用户可以在系统视图下全局开启环路检测功能,也可以在接口视图下开启当前端口的环路检测功能。系统视图下的配置对指定VLAN中的所有端口都有效,而接口视图下的配置则只对当前端口有效(该端口必须属于所指定的VLAN,否则配置无效),且接口视图下的配置优先级较高。

需要注意的是,当二层以太网接口或二层聚合接口开启EVB功能后,该接口的环路检测功能无效。

1. 全局开启环路检测功能

表1-3 全局开启环路检测功能

操作

命令

说明

进入系统视图

system-view

-

全局开启环路检测功能

loopback-detection global enable vlan { vlan-id-list | all }

缺省情况下,环路检测功能处于全局关闭状态

 

2. 在端口上开启环路检测功能

提示

由于TRILL网络本身可以避免产生环路,因此不必也不建议在TRILL端口上开启环路检测功能。有关TRILL的详细介绍,请参见“TRILL配置指导”中的“TRILL”。

 

表1-4 在端口上开启环路检测功能

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网/二层聚合接口/S通道接口/聚合S通道接口视图

interface interface-type interface-number

-

在端口上开启环路检测功能

loopback-detection enable vlan { vlan-id-list | all }

缺省情况下,端口上的环路检测功能处于关闭状态

 

1.3.2  配置环路检测处理模式

用户可以在系统视图下全局配置环路检测的处理模式,也可以在接口视图下配置当前端口的环路检测处理模式。系统视图下的配置对所有端口都有效,接口视图下的配置则只对当前端口有效,且接口视图下的配置优先级较高。

1. 全局配置环路检测处理模式

表1-5 全局配置环路检测处理模式

操作

命令

说明

进入系统视图

system-view

-

全局配置环路检测的处理模式

loopback-detection global action shutdown

缺省情况下,当系统检测到端口出现环路时不对该端口进行任何处理,仅生成日志信息

 

2. 在二层以太网接口/S通道接口上配置环路检测处理模式

表1-6 在二层以太网接口/S通道接口上配置环路检测处理模式

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网接口/S通道接口视图

interface interface-type interface-number

-

在端口上配置环路检测的处理模式

loopback-detection action { block | no-learning | shutdown }

缺省情况下,当系统检测到端口出现环路时不对该端口进行任何处理,仅生成日志信息

 

3. 在二层聚合接口/聚合S通道接口上配置环路检测处理模式

表1-7 在二层聚合接口/聚合S通道接口上配置环路检测处理模式

操作

命令

说明

进入系统视图

system-view

-

进入二层聚合接口/聚合S通道接口视图

interface interface-type interface-number

-

在端口上配置环路检测的处理模式

loopback-detection action shutdown

缺省情况下,当系统检测到端口出现环路时不对该端口进行任何处理,仅生成日志信息

 

1.3.3  配置环路检测时间间隔

当开启了环路检测功能后,系统开始以一定的时间间隔发送环路检测报文,该间隔越长耗费的系统性能越少,该间隔越短环路检测的灵敏度越高。用户可以通过本配置调整发送环路检测报文的时间间隔,以在系统性能和环路检测的灵敏度之间进行平衡。

表1-8 配置环路检测时间间隔

操作

命令

说明

进入系统视图

system-view

-

配置环路检测的时间间隔

loopback-detection interval-time interval

缺省情况下,环路检测的时间间隔为30秒

 

1.4  环路检测显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后环路检测的运行情况,通过查看显示信息验证配置的效果。

表1-9 环路检测显示和维护

操作

命令

显示环路检测的配置和运行情况

display loopback-detection

 

1.5  环路检测典型配置举例

1. 组网需求

·     三台设备Device A、Device B和Device C组成一个物理上的环形网络。

·     通过在Device A上配置环路检测功能,使系统能够自动关闭Device A上出现环路的端口,并通过打印日志信息来通知用户检查网络。

2. 组网图

图1-3 环路检测典型组网图

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

4. 验证配置

当配置完成后,系统在一个环路检测时间间隔内在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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!