网络连接错误或配置错误都容易导致二层网络中出现转发环路,使设备对广播、组播以及未知单播报文进行重复发送,造成网络资源的浪费甚至导致网络瘫痪。为了能够及时发现二层网络中的环路,以避免对整个网络造成严重影响,需要提供一种检测机制,使网络中出现环路时能及时通知用户检查网络连接和配置情况,这种机制就是环路检测机制。当网络中出现环路时,环路检测机制通过生成日志信息(请参见“网络管理和监控配置指导”中的“信息中心”)来通知用户,并可根据用户事先的配置来选择是否关闭出现环路的端口。
设备通过发送环路检测报文并检测其是否返回本设备(不要求收、发端口为同一端口)以确认是否存在环路,若某端口收到了由本设备发出的环路检测报文,就认定该端口所在链路存在环路。
环路检测通常工作在特定的VLAN内,但也可能因QinQ或VLAN映射等特性的配置错误而导致VLAN间的环路(即尽管发出和收到的报文所携带的VLAN信息不同,但仍认为存在环路)。有关QinQ和VLAN映射的详细介绍,请分别参见“二层技术-以太网交换配置指导”中的“QinQ”和“VLAN映射”。
图1-1环路检测报文以太网头的封装格式
·DMAC:报文的目的MAC地址,使用组播MAC地址010f-e200-0007。当设备开启了环路检测功能时,会将该目的地址的报文上送CPU处理,并在收到该报文的VLAN内将原始报文广播一份。
·SMAC:报文的源MAC地址,采用发送该报文的设备的桥MAC地址。
·TPID:VLAN标签的类型,取值为0x8100。
·TCI:VLAN标签的具体值,具体内容为优先级、VLANID等。
·Type:协议类型,取值为0x8918。
图1-2环路检测报文内部头的封装格式
·Code:协议子类型,取值为0x0001,表示环路检测协议。
·Version:版本,取值为0x0000,目前保留。
·Length:报文长度(包括环路检测报文的头部,但不包括以太网头部)。
·Reserved:保留字段。
表1-1环路检测支持的TLV类型
TLV名称
说明
携带要求
EndofPDU
结束TLV,用来标志PDU结束
可选
DeviceID
设备标识TLV,表示发送设备的桥MAC地址
必须
PortID
端口标识TLV,用来标识PDU发送端的端口索引
PortName
端口名称TLV,用来标识PDU发送端的端口名称
SystemName
系统名称TLV,表示设备的名称
ChassisID
框号TLV,表示发送端口所在的框号
SlotID
槽位号TLV,表示发送端口所在的槽位号
SubSlotID
子槽位号TLV,表示发送端口所在的子槽位号
环路检测的处理模式是指当系统检测到端口出现环路时的处理方式,包括以下几种:
·Block模式:当系统检测到端口出现环路时,除了生成日志信息外,还会禁止端口学习MAC地址并将端口阻塞。
·No-learning模式:当系统检测到端口出现环路时,除了生成日志信息外,还会禁止端口学习MAC地址。
·VLAN-block模式:可以在设备上指定VLAN为环路检测保护VLAN。设备通过在保护VLAN内发送环路检测报文并检测其是否返回本设备(不要求收、发端口为同一端口)来确认是否存在环路。当系统检测到保护VLAN出现环路时,除了生成日志信息外,还会将该VLAN阻塞。
缺省情况下,系统不采用上述任何一种模式,当系统检测到端口出现环路时,除了生成日志信息外不对该端口进行任何处理。
当网络中存在环路时,为防止大量报文的冲击,设备会丢弃部分报文。而如果环路检测报文也被丢弃,设备在端口状态自动恢复功能的作用下会误判定环路已消除。在这种情况下,建议将环路检测的处理模式配置为Shutdown模式,或当设备提示出现环路时通过手工排查来消除环路。
表1-2环路检测配置任务简介
配置任务
详细配置
开启环路检测功能
必选
配置环路检测保护VLAN
采用VLAN-block环路检测处理模式时,必须执行本配置;采用其他环路检测处理模式时,无需执行本配置
配置环路检测处理模式
设备全局或者端口开启环路检测功能,当设备上任一端口收到设备发送的任一VLAN的环路检测报文时,会触发该端口的环路保护动作。
全局开启环路检测功能后,如果同时配置端口上的环路检测功能,建议不要在端口上配置环路检测的处理模式为Block。
表1-3全局开启环路检测功能
操作
命令
进入系统视图
system-view
-
全局开启环路检测功能
loopback-detectionglobalenablevlan{vlan-id-list|all}
缺省情况下,环路检测功能处于全局关闭状态
表1-4在端口上开启环路检测功能
进入二层以太网/二层聚合接口/S通道接口/聚合S通道接口视图
interfaceinterface-typeinterface-number
在端口上开启环路检测功能
loopback-detectionenablevlan{vlan-id-list|all}
缺省情况下,端口上的环路检测功能处于关闭状态
表1-5配置环路检测保护VLAN
loopback-detectionprotected-vlanvlan-id-list
缺省情况下,未配置环路检测的保护VLAN
Shutdown模式对配置了内部环回功能或强制开启光口功能的端口无效。有关内部环回功能和强制开启光口的详细介绍,请参见“接口管理配置指导”中的“以太网接口”。
Block模式仅在端口开启环路检测功能时支持;如果全局开启环路检测功能,则端口不支持Block模式。
用户可以在系统视图下全局配置环路检测的处理模式,也可以在接口视图下配置当前端口的环路检测处理模式。系统视图下的配置对所有端口都有效,接口视图下的配置则只对当前端口有效,且接口视图下的配置优先级较高。
表1-6全局配置环路检测处理模式
全局配置环路检测的处理模式
loopback-detectionglobalactionshutdown
缺省情况下,当系统检测到端口出现环路时不对该端口进行任何处理,仅生成日志信息
表1-7在二层以太网接口/S通道接口上配置环路检测处理模式
进入接口视图
在端口上配置环路检测的处理模式
loopback-detectionaction{block|no-learning|shutdown|vlan-block}
要使配置的VLAN-block处理模式生效,必须先配置环路检测保护VLAN并开启基于该VLAN的环路检测功能。
loopback-detectioninterval-timeinterval
系统视图下的配置对所有二层以太网接口都有效,接口视图下的配置则只对当前接口有效,且接口视图下的配置优先级较高。
loopback-detectionglobaldelay-timertime
缺省情况下,环路检测处理的延迟功能处于关闭状态,设备检测到环路之后立即进行处理
loopback-detectiondelay-timertime
在完成上述配置后,在任意视图下执行display命令可以显示配置后环路检测的运行情况,通过查看显示信息验证配置的效果。
表1-11环路检测显示和维护
显示环路检测的配置和运行情况
displayloopback-detection
·三台设备DeviceA、DeviceB和DeviceC组成一个物理上的环形网络。
·通过在DeviceA上配置环路检测功能,使系统能够自动关闭DeviceA上出现环路的端口,并通过打印日志信息来通知用户检查网络。
图1-3环路检测典型组网图
(1)配置DeviceA
#创建VLAN100,并全局开启该VLAN内的环路检测功能。
[DeviceA]vlan100
[DeviceA–vlan100]quit
[DeviceA]loopback-detectionglobalenablevlan100
#配置端口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2为Trunk类型,并允许VLAN100通过。
[DeviceA]interfaceten-gigabitethernet1/0/1
[DeviceA-Ten-GigabitEthernet1/0/1]portlink-typetrunk
[DeviceA-Ten-GigabitEthernet1/0/1]porttrunkpermitvlan100
[DeviceA-Ten-GigabitEthernet1/0/1]quit
[DeviceA]interfaceten-gigabitethernet1/0/2
[DeviceA-Ten-GigabitEthernet1/0/2]portlink-typetrunk
[DeviceA-Ten-GigabitEthernet1/0/2]porttrunkpermitvlan100
[DeviceA-Ten-GigabitEthernet1/0/2]quit
#全局配置环路检测的处理模式为Shutdown模式。
[DeviceA]loopback-detectionglobalactionshutdown
[DeviceA]loopback-detectioninterval-time35
(2)配置DeviceB
#创建VLAN100。
[DeviceB]vlan100
[DeviceB–vlan100]quit
[DeviceB]interfaceten-gigabitethernet1/0/1
[DeviceB-Ten-GigabitEthernet1/0/1]portlink-typetrunk
[DeviceB-Ten-GigabitEthernet1/0/1]porttrunkpermitvlan100
[DeviceB-Ten-GigabitEthernet1/0/1]quit
[DeviceB]interfaceten-gigabitethernet1/0/2
[DeviceB-Ten-GigabitEthernet1/0/2]portlink-typetrunk
[DeviceB-Ten-GigabitEthernet1/0/2]porttrunkpermitvlan100
[DeviceB-Ten-GigabitEthernet1/0/2]quit
(3)配置DeviceC
[DeviceC]vlan100
[DeviceC–vlan100]quit
[DeviceC]interfaceten-gigabitethernet1/0/1
[DeviceC-Ten-GigabitEthernet1/0/1]portlink-typetrunk
[DeviceC-Ten-GigabitEthernet1/0/1]porttrunkpermitvlan100
[DeviceC-Ten-GigabitEthernet1/0/1]quit
[DeviceC]interfaceten-gigabitethernet1/0/2
[DeviceC-Ten-GigabitEthernet1/0/2]portlink-typetrunk
[DeviceC-Ten-GigabitEthernet1/0/2]porttrunkpermitvlan100
[DeviceC-Ten-GigabitEthernet1/0/2]quit
[DeviceA]
%Feb2415:04:29:6632013DeviceALPDT/4/LPDT_LOOPED:AloopwasdetectedonTen-GigabitEthernet1/0/1.
%Feb2415:04:29:6642013DeviceALPDT/4/LPDT_VLAN_LOOPED:AloopwasdetectedonTen-GigabitEthernet1/0/1inVLAN100.
%Feb2415:04:29:6672013DeviceALPDT/4/LPDT_LOOPED:AloopwasdetectedonTen-GigabitEthernet1/0/2.
%Feb2415:04:29:6682013DeviceALPDT/4/LPDT_VLAN_LOOPED:AloopwasdetectedonTen-GigabitEthernet1/0/2inVLAN100.
%Feb2415:04:44:2432013DeviceALPDT/5/LPDT_VLAN_RECOVERED:AloopwasremovedonTen-GigabitEthernet1/0/1inVLAN100.
%Feb2415:04:44:2432013DeviceALPDT/5/LPDT_RECOVERED:AllloopswereremovedonTen-GigabitEthernet1/0/1.
%Feb2415:04:44:2482013DeviceALPDT/5/LPDT_VLAN_RECOVERED:AloopwasremovedonTen-GigabitEthernet1/0/2inVLAN100.
%Feb2415:04:44:2482013DeviceALPDT/5/LPDT_RECOVERED:AllloopswereremovedonTen-GigabitEthernet1/0/2.
使用displayloopback-detection命令可以查看DeviceA上环路检测的配置和运行情况:
#显示DeviceA上环路检测的配置和运行情况。
[DeviceA]displayloopback-detection
Loopdetectionisenabled.
Globalloopdetectionintervalis35second(s).
Loopisdetectedonfollowinginterfaces:
InterfaceActionmodeVLANs/VSI
Ten-GigabitEthernet1/0/1Shutdown100
Ten-GigabitEthernet1/0/2Shutdown100
由此可见,DeviceA上显示在端口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2上检测到环路,由于环路检测功能运行在Shutdown模式下,端口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2上出现环路后均已被自动关闭,因此设备打印的日志信息显示这两个端口上的环路已消除。此时,使用displayinterface命令分别查看DeviceA上端口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2的状态信息:
#显示DeviceA上端口Ten-GigabitEthernet1/0/1的状态信息。
[DeviceA]displayinterfaceten-gigabitethernet1/0/1
Ten-GigabitEthernet1/0/1currentstate:DOWN(Loopbackdetectiondown)
...
#显示DeviceA上端口Ten-GigabitEthernet1/0/2的状态信息。
[DeviceA]displayinterfaceten-gigabitethernet1/0/2
Ten-GigabitEthernet1/0/2currentstate:DOWN(Loopbackdetectiondown)
由此可见,端口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2均已被环路检测模块自动关闭。
·通过在DeviceA上开启环路检测功能,并采用VLAN-block模式,使系统能够自动阻塞DeviceA上出现环路的VLAN,并通过打印日志信息来通知用户检查网络。
图1-4环路检测VLAN-block处理模式配置组网图
#创建VLAN100,指定VLAN100为保护VLAN,并全局开启该VLAN内的环路检测功能。
[DeviceA]loopback-detectionprotected-vlan100
#配置端口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2的环路检测处理模式为VLAN-block模式。
[DeviceA-Ten-GigabitEthernet1/0/1]undostpenable
[DeviceA-Ten-GigabitEthernet1/0/1]loopback-detectionactionvlan-block
[DeviceA-Ten-GigabitEthernet1/0/2]undostpenable
[DeviceA-Ten-GigabitEthernet1/0/2]loopback-detectionactionvlan-block
%Feb2415:04:29:6632019DeviceALPDT/4/LPDT_LOOPED:AloopwasdetectedonTen-GigabitEthernet1/0/1.
%Feb2415:04:29:6642019DeviceALPDT/4/LPDT_VLAN_LOOPED:AloopwasdetectedonTen-GigabitEthernet1/0/1inVLAN100.
%Feb2415:04:29:6672019DeviceALPDT/4/LPDT_LOOPED:AloopwasdetectedonTen-GigabitEthernet1/0/2.
%Feb2415:04:29:6682019DeviceALPDT/4/LPDT_VLAN_LOOPED:AloopwasdetectedonTen-GigabitEthernet1/0/2inVLAN100.
Ten-GigabitEthernet1/0/1VLAN-block100
Ten-GigabitEthernet1/0/2VLAN-block100
由此可见,DeviceA在端口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2上检测到环路。由于环路检测功能运行在VLAN-block模式下,端口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2上出现环路后VLAN100均已被阻塞,因此设备打印的日志信息显示这两个端口上的环路已消除。
图1-5M-LAG组网应用环路检测配置组网图
[DeviceA-vlan100]quit
#配置M-LAG系统配置。
[DeviceA]m-lagsystem-mac1-1-1
[DeviceA]m-lagsystem-number1
[DeviceA]m-lagsystem-priority123
#配置Keepalive报文的目的IP地址和源IP地址。
[DeviceA]m-lagkeepaliveipdestination1.1.1.1source1.1.1.2
#配置端口Ten-GigabitEthernet1/0/6工作在三层模式,并配置IP地址为Keepalive报文的源IP地址。
[DeviceA]interfaceten-gigabitethernet1/0/6
[DeviceA-Ten-GigabitEthernet1/0/6]portlink-moderoute
[DeviceA-Ten-GigabitEthernet1/0/6]ipaddress1.1.1.224
[DeviceA-Ten-GigabitEthernet1/0/6]quit
#配置Keepalive链路接口为M-LAG保留接口。
[DeviceA]m-lagmadexcludeinterfaceten-gigabitethernet1/0/6
#创建动态二层聚合接口3,并配置该接口为peer-link接口。
[DeviceA]interfacebridge-aggregation3
[DeviceA-Bridge-Aggregation3]link-aggregationmodedynamic
[DeviceA-Bridge-Aggregation3]portm-lagpeer-link1
[DeviceA-Bridge-Aggregation3]quit
#将端口Ten-GigabitEthernet1/0/5加入到聚合组3中。
[DeviceA]interfaceten-gigabitethernet1/0/5
[DeviceA-Ten-GigabitEthernet1/0/5]portlink-aggregationgroup3
[DeviceA-Ten-GigabitEthernet1/0/5]quit
#配置二层聚合接口3为Trunk端口,并允许VLAN100的报文通过。
[DeviceA-Bridge-Aggregation3]portlink-typetrunk
[DeviceA-Bridge-Aggregation3]porttrunkpermitvlan100
#创建动态二层聚合接口4,并配置该接口为M-LAG接口4。
[DeviceA]interfacebridge-aggregation4
[DeviceA-Bridge-Aggregation4]link-aggregationmodedynamic
[DeviceA-Bridge-Aggregation4]portm-laggroup4
[DeviceA-Bridge-Aggregation4]quit
#分别将端口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2加入到聚合组4中。
[DeviceA-Ten-GigabitEthernet1/0/1]portlink-aggregationgroup4
[DeviceA-Ten-GigabitEthernet1/0/2]portlink-aggregationgroup4
#配置二层聚合接口4为Trunk端口,并允许VLAN100的报文通过。
[DeviceA-Bridge-Aggregation4]portlink-typetrunk
[DeviceA-Bridge-Aggregation4]porttrunkpermitvlan100
#创建动态二层聚合接口5,并配置该接口为M-LAG接口5。
[DeviceA]interfacebridge-aggregation5
[DeviceA-Bridge-Aggregation5]link-aggregationmodedynamic
[DeviceA-Bridge-Aggregation5]portm-laggroup5
[DeviceA-Bridge-Aggregation5]quit
#分别将端口Ten-GigabitEthernet1/0/3和Ten-GigabitEthernet1/0/4加入到聚合组5中。
[DeviceA]interfaceten-gigabitethernet1/0/3
[DeviceA-Ten-GigabitEthernet1/0/3]portlink-aggregationgroup5
[DeviceA-Ten-GigabitEthernet1/0/3]quit
[DeviceA]interfaceten-gigabitethernet1/0/4
[DeviceA-Ten-GigabitEthernet1/0/4]portlink-aggregationgroup5
[DeviceA-Ten-GigabitEthernet1/0/4]quit
#配置二层聚合接口5为Trunk端口,并允许VLAN100的报文通过。
[DeviceA-Bridge-Aggregation5]portlink-typetrunk
[DeviceA-Bridge-Aggregation5]porttrunkpermitvlan100
#关闭STP功能。
[DeviceA]undostpglobalenable
配置DeviceB的M-LAG系统编号为2,Keepalive报文的目的IP地址为1.1.1.2,源IP地址为1.1.1.1。其他配置与DeviceA类似,不再赘述。
[DeviceC]undostpglobalenable
[DeviceC-vlan100]quit
#创建二层聚合接口4,并配置该接口为动态聚合模式。
[DeviceC]interfacebridge-aggregation4
[DeviceC-Bridge-Aggregation4]link-aggregationmodedynamic
[DeviceC-Bridge-Aggregation4]quit
#分别将端口Ten-GigabitEthernet1/0/1~Ten-GigabitEthernet1/0/4加入到聚合组4中。
[DeviceC]interfacerangeten-gigabitethernet1/0/1toten-gigabitethernet1/0/4
[DeviceC-if-range]portlink-aggregationgroup4
[DeviceC-if-range]quit
[DeviceC-Bridge-Aggregation4]portlink-typetrunk
[DeviceC-Bridge-Aggregation4]porttrunkpermitvlan100
#配置端口Ten-GigabitEthernet1/0/5为Trunk端口,并允许VLAN100的报文通过。
[DeviceC]interfaceten-gigabitethernet1/0/5
[DeviceC-Ten-GigabitEthernet1/0/5]portlink-typetrunk
[DeviceC-Ten-GigabitEthernet1/0/5]porttrunkpermitvlan100
[DeviceC-Ten-GigabitEthernet1/0/5]quit
(4)配置DeviceD
[DeviceD]undostpglobalenable
[DeviceD]vlan100
[DeviceD-vlan100]quit
#创建二层聚合接口5,并配置该接口为动态聚合模式。
[DeviceD]interfacebridge-aggregation5
[DeviceD-Bridge-Aggregation5]link-aggregationmodedynamic
[DeviceD-Bridge-Aggregation5]quit
#分别将端口Ten-GigabitEthernet1/0/1~Ten-GigabitEthernet1/0/4加入到聚合组5中。
[DeviceD]interfacerangeten-gigabitethernet1/0/1toten-gigabitethernet1/0/4
[DeviceD-if-range]portlink-aggregationgroup5
[DeviceD-if-range]quit
[DeviceD-Bridge-Aggregation5]portlink-typetrunk
[DeviceD-Bridge-Aggregation5]porttrunkpermitvlan100
[DeviceD]interfaceten-gigabitethernet1/0/5
[DeviceD-Ten-GigabitEthernet1/0/5]portlink-typetrunk
[DeviceD-Ten-GigabitEthernet1/0/5]porttrunkpermitvlan100
[DeviceD-Ten-GigabitEthernet1/0/5]quit
(5)配置DeviceE
[DeviceE]undostpglobalenable
[DeviceE]vlan100
[DeviceE-vlan100]quit
#配置端口Ten-GigabitEthernet1/0/1和Ten-GigabitEthernet1/0/2为Trunk端口,并允许VLAN100的报文通过。
[DeviceE]interfaceten-gigabitethernet1/0/1
[DeviceE-Ten-GigabitEthernet1/0/1]portlink-typetrunk
[DeviceE-Ten-GigabitEthernet1/0/1]porttrunkpermitvlan100
[DeviceE-Ten-GigabitEthernet1/0/1]quit
[DeviceE]interfaceten-gigabitethernet1/0/2
[DeviceE-Ten-GigabitEthernet1/0/2]portlink-typetrunk
[DeviceE-Ten-GigabitEthernet1/0/2]porttrunkpermitvlan100
[DeviceE-Ten-GigabitEthernet1/0/2]quit
%Aug103:28:48:1102019DeviceALPDT/4/LPDT_LOOPED:Aloopwasdetectedon
Bridge-Aggregation4.
%Aug103:28:48:1912019DeviceALPDT/4/LPDT_VLAN_LOOPED:Aloopwasdetect
edonBridge-Aggregation4inVLAN100.
%Aug103:28:48:1942019DeviceALPDT/4/LPDT_LOOPED:Aloopwasdetectedon
Bridge-Aggregation5.
%Aug103:28:48:2882019DeviceALPDT/4/LPDT_VLAN_LOOPED:Aloopwasdetect
edonBridge-Aggregation5inVLAN100.
%Aug103:28:48:2902019DeviceALPDT/5/LPDT_VLAN_RECOVERED:Aloopwasrem
ovedonBridge-Aggregation4inVLAN100.
%Aug103:28:48:2912019DeviceALPDT/5/LPDT_RECOVERED:Allloopswereremo
vedonBridge-Aggregation4.
%Aug103:28:48:3022019DeviceALPDT/5/LPDT_VLAN_RECOVERED:Aloopwasrem
ovedonBridge-Aggregation5inVLAN100.
%Aug103:28:48:3042019DeviceALPDT/5/LPDT_RECOVERED:Allloopswereremo
vedonBridge-Aggregation5.
#查看DeviceA上环路检测的配置和运行情况。
Bridge-Aggregation4Shutdown100
Bridge-Aggregation5Shutdown100
由此可见,DeviceA上显示在聚合组4和聚合组5上检测到环路,由于环路检测功能运行在Shutdown模式下,聚合组4和聚合组5上出现环路后均已被自动关闭,因此设备打印的日志信息显示这两个聚合组上的环路已消除。此时,使用displayinterface命令分别查看DeviceA上聚合组4和聚合组5的状态信息:
#显示DeviceA上聚合组4的状态信息。
[DeviceA]displayinterfaceBridge-Aggregation4
Bridge-Aggregation4
TheinterfacehasassignedaM-LAGgroup.
Currentstate:DOWN(Loopbackdetectiondown)
#显示DeviceA上聚合组5的状态信息。
[DeviceA]displayinterfaceBridge-Aggregation5
Bridge-Aggregation5
由此可见,聚合组4和聚合组5均已被环路检测模块自动关闭。
DeviceB上的现象和DeviceA上一致。
VXLAN网络下的环路检测功能通过周期性地发送检测报文,确定VXLAN网络中是否存在环路,当检测出环路时通过阻塞AC来消除环路,并生成日志信息(请参见“网络管理和监控配置指导”中的“信息中心”)及时通知用户检查网络连接和配置情况。
通过在两台VTEP上配置VXLAN网络下的环路检测功能,可以检测与VXLAN网络连接的站点网络中是否存在环路,并且在检测到环路后阻塞其中一台VTEP上的AC,从而消除该网络中的环路。
图2-1VXLAN网络下的环路检测应用场景
图2-2环路检测报文封装格式
以太网头中各字段的解释如下:
·DMAC:报文的目的MAC地址,使用组播MAC地址010f-e200-0007。当设备开启了环路检测功能时,会将该目的地址的报文上送CPU处理,并在收到该报文的VLAN内广播该报文。
·SMAC:报文的源MAC地址,为发送该报文的设备的桥MAC地址。
·TPID:VLAN标签的类型,缺省取值为0x8100。
·TCI(TagControlInformation):标签控制信息,内容为优先级、VLANID等。
环路检测报文头各字段的解释如下:
·Code:协议子类型,取值为0x0001,表示环路检测类型。
·Version:版本,目前为保留字段,取值固定为0x0000。
·Length:报文长度,包括环路检测报文的头部,但不包括以太网头部。
表2-1环路检测支持的TLV类型
Priority
优先级值TLV,用来表示发送AC所在VSI的环路检测优先级值
VXLANID
VXLANIDTLV,用来表示发送AC所在VSI对应的VXLANID
ACinfo
AC信息TLV,用来表示发送AC的信息
M-LAGID
M-LAGIDTLV,用来表示发送AC所在M-LAG接口对应的M-LAG组ID
AC发出的环路检测报文中携带的环路检测优先级由VSI的环路检测优先级值、设备桥MAC地址和AC的链路标识符共同决定,优先级高低的比较规则为:
·优先级值越小,优先级越高。
·优先级值相同时,则比较设备桥MAC地址。桥MAC地址越小,优先级越高。
·若桥MAC地址仍相同,则说明该报文是由本设备发出的,此时比较规则为:
在非M-LAG系统中,比较发送与接收该报文的两个AC在所属VSI内链路标识符,取值越小,优先级越高。
在M-LAG系统中,M-LAG接口之间比较所属的M-LAG组编号,编号值越大,优先级越高;M-LAG接口的优先级高于非M-LAG接口;非M-LAG接口之间仍比较所属VSI内链路标识符。
开启VXLAN网络下的环路检测功能后,设备将在属于该VSI的所有AC上发送环路检测报文,AC发送环路检测报文的同时开始检测是否接收到环路检测报文以确认是否存在环路。若AC收到的环路检测报文内容中封装的VXLANID与AC所属VSI对应的VXLANID一致,则认为该VXLAN中存在环路。
AC接收到环路检测报文并判断网络中存在环路后,将比较报文中携带的优先级与自身的优先级,若报文中携带的优先级更高,则本AC需要进行配置的环路检测保护动作,否则不触发环路检测保护动作。
报文仅从AC方向发送,即检测VXLAN网络连接的站点网络中是否存在环路。若从VXLAN隧道方向上收到环路检测报文且判断存在环路,此时将会认为本设备上转发该报文的AC存在环路。
将AC的环路检测处理模式配置为Block模式后,当系统检测到AC出现环路时,除了生成日志信息外,环路检测优先级较低的一端还会禁止AC学习MAC地址并将其阻塞(即禁止转发报文)。
VXLAN利用M-LAG功能将两台物理设备连接起来虚拟成一台设备,使用该虚拟设备作为VTEP,用以避免VTEP单点故障对网络造成影响,从而提高VXLAN网络的可靠性。M-LAG的详细介绍,请参见“二层技术-以太网交换配置指导”中的“M-LAG”。
图2-3VXLAN网络下的环路检测支持M-LAG组网图
·对于用户终端双归接入M-LAG系统的情形(如图中Server2):
M-LAG设备从M-LAG接口接收到环路检测报文后,会通过peer-link链路同步给另一台VTEP设备,以避免单点链路故障导致另一台VTEP设备无法收到环路检测报文。
M-LAG设备从M-LAG接口的AC接收到环路检测报文并判断网络中存在环路后,将比较报文中携带的优先级与自身的优先级。若报文中携带的优先级更高,则在两台M-LAG设备中,属于同一M-LAG的AC均会进行配置的环路检测保护动作;否则不触发环路检测保护动作。
·对于用户终端单归接入M-LAG系统的情形(如图中Server4):
只需要在用户终端接入的VTEP上开启环路检测功能即可。开启环路检测功能后,仅用户终端接入的VTEP设备会在单边接入的M-LAG接口AC上发送环路检测报文。报文的源MAC地址为AC所在接口的M-LAG系统MAC地址。
M-LAG设备从单归接入的M-LAG接口的AC接收到环路检测报文并判断网络中存在环路后,将比较报文中携带的优先级与自身的优先级。若报文中携带的优先级更高,则对接收到报文的AC进行配置的环路检测保护动作;否则不触发环路检测保护动作。
本功能仅在关联VSI的AC为以太网服务实例时生效。
基于VXLAN网络的环路检测,端口必须允许通过VSI环路检测报文携带的VLANTag的报文。
在双归接入的VXLAN支持M-LAG网络中开启环路检测功能时,请在两台M-LAG设备上配置相同的环路检测功能参数。
VXLAN网络下的环路检测功能配置任务如下:
表2-2开启VXLAN网络下的环路检测功能
进入VSI视图
vsivsi-name
开启环路检测功能,请选择其中一项进行配置
·开启VSI内携带一层VLANTag的环路检测功能
loopback-detectionenable[vlanvlan-id-list]
·开启VSI内携带两层VLANTag的环路检测功能loopback-detectionenables-vidvlan-id-listc-vidvlan-id-list
缺省情况下,VSI的环路检测功能处于关闭状态
配置不携带VLANTag的环路检测功能时,需要将对应VSI下所有的AC接入模式配置为VLAN模式;配置携带一层或两层VLANTag的环路检测功能时,需要将对应VSI下所有的AC接入模式配置为Ethernet模式。否则可能无法正常检测到环路
在VSI视图下配置环路检测的处理模式,对VSI下所有AC都生效。
表2-3配置环路检测处理模式
在VSI上配置环路检测的处理模式
loopback-detectionactionblock
缺省情况下,当系统检测到AC出现环路时不对该AC进行任何处理,仅生成日志信息
设备在收到环路检测报文判断某一VSI存在环路后,仅在收到的报文中携带的环路检测优先级更高时,才会触发环路检测保护动作。因此可以通过调整VSI的环路检测优先级值,选择检测到环路时优先关闭的AC。
表2-5配置VSI的环路检测优先级值
配置VSI的环路检测优先级值
loopback-detectionprioritypriority
缺省情况下,VSI的环路检测优先级值为7
表2-6环路检测显示和维护
DeviceA、DeviceB作为VXLAN网络的VTEP,在其上配置环路检测功能,使系统能够自动禁止出现环路的AC进行MAC地址学习同时将其阻塞,并通过打印日志信息来通知用户检查网络。
图2-4VXLAN网络下的环路检测基本功能配置组网图
请在VXLAN网络内配置路由协议,确保VTEP之间路由可达。
#配置VSI,VXLANID和Tunnel。
[DeviceA]l2vpnenable
[DeviceA]interfacetunnel0modevxlan
[DeviceA-Tunnel0]source1.1.1.1
[DeviceA-Tunnel0]destination2.2.2.2
[DeviceA-Tunnel0]quit
[DeviceA]vsi1
[DeviceA-vsi-1]vxlan1
[DeviceA-vsi-1-vxlan-1]tunnel0
[DeviceA-vsi-1-vxlan-1]quit
#配置AC。
[DeviceA-Ten-GigabitEthernet1/0/1]service-instance1
[DeviceA-Ten-GigabitEthernet1/0/1-srv1]encapsulations-vid10
[DeviceA-Ten-GigabitEthernet1/0/1-srv1]xconnectvsi1
[DeviceA-Ten-GigabitEthernet1/0/1-srv1]quit
#开启环路检测功能。
[DeviceA-vsi-1]loopback-detectionenable
#配置环路检测的处理模式为Block模式。
[DeviceA-vsi-1]loopback-detectionactionblock
[DeviceA-vsi-1]loopback-detectioninterval-time35
#配置环路检测的优先级为1。
[DeviceA-vsi-1]loopback-detectionpriority1
[DeviceB]l2vpnenable
[DeviceB]interfaceTunnel0modevxlan
[DeviceB-Tunnel0]source2.2.2.2
[DeviceB-Tunnel0]destination1.1.1.1
[DeviceB-Tunnel0]quit
[DeviceB]vsi1
[DeviceB-vsi-1]vxlan1
[DeviceB-vsi-1-vxlan-1]tunnel0
[DeviceB-vsi-1-vxlan-1]quit
[DeviceB]undostpglobalenable
[DeviceB-Ten-GigabitEthernet1/0/1]service-instance1
[DeviceB-Ten-GigabitEthernet1/0/1-srv1]encapsulations-vid10
[DeviceB-Ten-GigabitEthernet1/0/1-srv1]xconnectvsi1
[DeviceB-Ten-GigabitEthernet1/0/1-srv1]quit
[DeviceB-vsi-1]loopback-detectionenable
[DeviceB-vsi-1]loopback-detectionactionblock
[DeviceB-vsi-1]loopback-detectioninterval-time35
#配置VSI的环路检测优先级值为6。
[DeviceB-vsi-1]loopback-detectionpriority6
%Mar2510:59:59:6902019DeviceALPDT/4/LPDT_VSI_LOOPED:AloopwasdetectedonVSI1'sEthernetserviceinstancesrv1onTen-GigabitEthernet1/0/1.
Globalloopdetectionintervalis30second(s).
*indicatestheloopprotectionactionwasnottriggered.
#indicatestheloopprotectionactionfailed.
Ten-GigabitEthernet1/0/1srv1Block*1
#显示DeviceB上环路检测的配置和运行情况。
[DeviceB]displayloopback-detection
由此可见,DeviceA和DeviceB都在各自的AC(Ten-GigabitEthernet1/0/1接口上的以太网服务实例1)上检测到了环路,并且DeviceB阻塞存在环路的AC。这是由于DeviceA的优先级较高,所以仅显示环路信息,未触发环路保护动作(环路检测处理模式字段的显示有特殊标识“*”)。
不同款型规格的资料略有差异,详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!