文章目录
- 产生背景
- 环路检测报文
- loopback-detection报文格式
- loopback-detection报文头格式
- loopback-detection报文的内容格式
- 环路检测运行机制
- 配置
- 组网拓扑
- config
- 检测到环路打印的日志信息
- 检测环路后执行的动作
产生背景
网络连接或配置错误都易导致二层环路,使设备对广播、组播、未知单播进程重复发生,造成广播风暴。需要一种环路检测机制:当网络中出现环路时,这种检测机制通过生成日志信息通知用户,并可根据用户事先的配置来选择是否关闭出现的环路端口。
环路检测报文
不需要收发检测报文的端口为同一端口,只需要本设备的任意端口收到本设备发出的环路检测报文,就可以认定该收到报文的端口所在的链路存在环路。
PS:环路检测报文工作在特定vlan中
loopback-detection报文格式
DMAC:目的MAC为组播MAC地址010F-E200-0007;当设备使能了loopback-detection功能后,会将该目的地址的报文上送CPU处理,并在收到该报文的vlan内将原始报文广播一份。
ps:上送cpu,并在环路检测vlan中复制一份原始报文
SMAC:源MAC地址为发送该报文的桥MAC
TPID:vlan标签类型,取值为0x8100(802.1q)
TCI:vlan标签的具体值,优先级、valn id等
Type:协议类型,值为 0x8918
loopback-detection报文头格式
code:协议子类型,取值为0x0001,表示环路检测协议
version:版本,值为:0x0000,目前保留
ength:报文长度(包含环路检测报文头,不包含以太网头)
reserved:保留
loopback-detection报文的内容格式
loopback-detection报文内容以TLV(type/length/value,类型/长度/值)格式进行封装
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,表示发送端口所在的子槽位号 | 可选 |
环路检测运行机制
环路检测时间间隔:发送环路检测报文的时间间隔
环路检测处理模式:目前仅支持"shutdown"模式(生成日志信息,关闭端口;需要用户手动"undo shutdown"打开
PS:缺省情况仅生成日志信息,不做任何操作
配置
组网拓扑
config
#device1
sysn device1
vlan 90
undo stp global enable #全局关闭STP,因为华三默认启动就运行mstp,stp会默认阻塞端口来消除环路,看不到实验效果
int range g1/0/1 g1/0/2
port link-type trunk
port trunk permit vlan 90
quit
loopback-detection global enable vlan 90 #全局使能valn90内部的环路检测功能
loopback-detection global action shutdown #检测到环路执行shutdown动作
loopback-detection interval-time 35 #环路检测的间隔时间
#device2
sysn device2
vlan 90
undo stp global enable
int range g1/0/1 g1/0/2
p l t #配置trunk简写
port trunk permit vlan 90
quit
#device3
sysn device3
vlan 90
undo stp global enable
int range g1/0/1 g1/0/2
p l t
port trunk permit vlan 90
quit
检测到环路打印的日志信息
检测环路后执行的动作