更新时间:2024-01-09
1 快速以太环网保护介绍
1.1 概述
快速以太环网保护协议是一个特殊的链路层协议,专门用于构建环状的以太网拓扑。以太环网保护协议在环网拓扑完整的情况下阻塞一条链路,防止出现数据环路形成广播风暴。在出现链路中断的情况下,协议迅速恢复之前阻断的链路,使环网各节点之间恢复通信。
环网保护协议和生成树协议都用于链路层拓扑控制。生成树协议适用于各种复杂的网络,它使用逐跳的方法传播网络拓扑的变化。环网保护协议专用于环状的拓扑,并使用扩散法传播拓扑变化信息。因此,在环状网络中,环网保护协议的收敛性能优于生成树协议。在网络状况良好的情况下,环网保护协议恢复网络通信的时间甚至可以少于50毫秒。
注释:
环网保护协议支持将一台交换机配置为多个物理环网的节点,以构建更复杂的拓扑。
1.2 快速以太环网保护相关概念
图1.1 以太环网示例
1.2.1环网节点角色
构成以太网环的每台交换机都是一个环网节点。环网节点分为主节点(Master Node)和传输节点(Transit Node)两种。环网上的一台交换机作为唯一的一个主节点,其它交换机都作为传输节点。
主节点:主动了解环网拓扑是否完整,排除环路,并控制其它交换机更新拓扑信息。
传输节点:仅检测本地连接环网端口的状态,并在链路失效时通知主节点。
每个节点的角色由用户通过配置指定,每台交换机在同一个环中只能配置一种节点角色。如图1.1中,交换机S1是环网的主节点,S2,S3和S4是传输节点。
1.2.2环网端口角色
以太环网保护协议要求每台交换机都有两个端口连接着环网。每个环网端口的角色同样需要通过配置指定,协议支持的端口角色有以下几种:
主端口(Primary Port):主端口仅可在主节点配置。主节点通过主端口发送环网探测报文。
次端口(Secondary Port):次端口仅可在主节点配置。主节点从次端口接收环网探测报文,判断环网拓扑是否完整。在拓扑完整的情况下,主节点在次端口阻塞数据报文,防止产生环路;在环网发生链路中断之后,主节点开放次端口对数据报文的转发。
传输端口(Transit Port):传输端口仅可在传输节点配置,传输节点连接环网的两个端口都作为传输端口。
每个环网端口只能配置一种端口角色,只有在配置了交换机的节点角色和控制VLAN之后才可配置端口角色。如图1.1所示,主节点S1连接S4的端口是主端口,S1连接S2的端口是次端口,其它交换机连接环网的端口都是传输端口。
注释:
在需要将同一台交换机配置到多个环中时,交换机必须通过不同的物理端口连接不同的环。
1.2.3控制VLAN和数据VLAN
主节点和传输节点之间通过一个专用的控制VLAN交互协议报文,控制VLAN由用户通过配置指定,用户同样需要将环网端口加入控制VLAN,保证协议报文可以正常收发。通常情况下,每个环网端口在控制VLAN中都处于转发状态,非环网端口不能够转发控制VLAN的报文。
注意:
需要为一台交换机上配置的每个环指定不同的控制VLAN。控制VLAN只用于传送环网控制报文,不能用于二层或三层通信。比如,若创建控制VLAN对应的VLAN接口,通过其它设备可能无法PING通此接口的IP地址。
控制VLAN之外的其它VLAN都是数据VLAN,用于传递一般的业务报文或交换机管理报文。环网端口是否可以转发数据VLAN的报文由环网保护协议控制;非环网端口均可转发数据VLAN报文。
注意:
数据VLAN可以用于普通的二层或三层通信。比如,可以创建数据VLAN对应的VLAN接口,并配置动态路由协议。
1.2.4MAC地址表老化
快速环网保护协议通过控制交换机MAC地址表的老化来保证拓扑变化时数据报文可以被发送到正确的链路。一般情况下,MAC地址在地址表中的老化时间是300秒。环网保护协议可以控制交换机MAC地址表在极短的时间内老化。
1.2.5环网完整状态标志
主节点和传输节点都通过一个状态标志“COMPLETE”显示当前的环网状态是否完整。在主节点,只有当前环网上所有链路正常,主端口处于转发态且次端口处于阻塞态时,“COMPLETE”标志才为真;在传输节点,只有当节点的两个传输端口都处于转发态时,标志才为真。
环网状态标志可以帮助用户判断当前网络的拓扑状态。
1.3 快速以太环网保护协议报文类型
环网保护协议使用的报文类型如表1.1所示。
表1.1 快速以太环网保护协议报文类型
报文类型
|
说明
|
环路探测
(HEALTH)
|
由主节点发送,探测环网拓扑是否完整。
|
链路中断
(LINK-DOWN)
|
由传输节点发送,指示环网中发生了链路中断。
|
环网中断老化地址表
(RING-DOWN-FLUSH-FDB)
|
主节点在检测到环网中断后发送,指示传输节点老化MAC地址表。
|
环网恢复老化地址表
(RING-UP-FLUSH-FDB)
|
主节点在检测到环网拓扑恢复后发送,指示传输节点老化MAC地址表。
|
1.4 快速以太环网保护机制
1.4.1主节点环路探测与控制
主节点在一个可配置的周期通过主端口向控制VLAN发送探测报文(HEALTH),在正常情况下,探测报文途经环网所有其它的节点最后到达主节点的次端口。
次端口在初始情况下阻塞所有的数据VLAN,在持续收到探测报文的情况下,次端口保持对数据VLAN的阻塞而阻断环路。若次端口超过一定时限(可配置)未收到主端口发送的探测报文,则认为环网失效,此时主节点放开次端口对数据VLAN的阻塞,老化本地MAC地址表,并发送控制报文(RING-DOWN-FLUSH-FDB)通知其它节点。
若主节点在已放开数据VLAN的次端口收到探测报文,则认为环网恢复,此时主节点立即在次端口阻塞数据VLAN,更新本地拓扑信息并通知其它节点老化地址表(RING-UP-FLUSH-FDB)。
可以通过hello-time和fail-time节点配置命令修改主端口发送探测报文的间隔和次端口等待探测报文的时限。
1.4.2传输节点链路失效通知
传输节点的一个传输端口链路失效后,会立即通过另一个传输端口发送链路失效通知报文(LINK-DOWN)。正常情况下,该报文经过其它传输节点并最终到达主节点的一个端口。
主节点收到链路失效通知之后,认为环网失效,此时主节点放开次端口对数据VLAN的阻塞,老化本地MAC地址表,并发送控制报文(RING-DOWN-FLUSH-FDB)通知其它节点。
1.4.3传输节点链路恢复
传输端口恢复之后,并不立即开始转发数据VLAN报文,而是进入“预转发(Pre-Forwarding)”状态。传输端口在预转发状态仅转发和接收控制VLAN的控制报文。
若环网中只有一个传输端口失效,该端口进入预转发状态之后主节点的次端口便可以重新收到主端口发出的探测报文,此时主节点重新在次端口阻塞数据VLAN,并向外发送老化地址表通知。包含预转发状态传输端口的节点在收到老化地址表通知之后,首先将预转发状态的端口设置为转发状态,然后老化本地MAC地址表。
若传输节点在一个可配置的时限内未收到主节点的老化地址表通知,可以认为到达主节点的链路失效,传输节点自行将预转发状态的端口设置为转发态。
可以通过pre-forward-time节点配置命令修改传输端口保持预转发状态的时间。
2 快速以太环网保护配置
2.1 快速以太环网保护缺省配置
注意:
快速以太环网保护协议与生成树协议可以同时配置。
关闭生成树协议之后,建议配置spanning-tree bpdu-terminal功能以避免环网节点转发BPDU而形成风暴。
快速以太环网保护协议与生成树协议的缺省配置如表2.1所示。
表2.1 以太环网保护协议与生成树协议缺省配置
生成树协议(STP)
|
spanning-tree mode rstp
|
快速以太环网保护协议
|
无配置。
|
2.2 快速以太环网保护配置须知
在配置环网保护协议之前,请阅读以下注意事项:
• 阻止广播风暴是环网保护协议的一项重要功能,请确保在所有环网节点都配置完成的情况下再接通环网链路。比如,在配置完主节点和所有传输节点之后,再为主节点的次端口接通网线。在未配置完所有节点的情况下接通环网,将容易引起广播风暴。
• 配置环网保护协议现在与交换机的生成树协议已经达到兼容,但是环网保护协议控制的端口不受生成树协议控制。
• 环网保护协议支持在一台交换机配置多个环网节点实例。
• 配置环网控制VLAN会自动创建相应的系统VLAN。
• 只有每个环的环网端口才可以转发该环控制VLAN中的报文,其它端口,即使配置为Trunk模式,也无法在控制VLAN中转发。
• 缺省情况下,主节点的Fail-Time是Hello-Time的三倍,以避免因报文延时造成环网保护协议的震荡。修改Hello-Time之后,用户需要相应的对Fail-Time进行修改。
• 缺省情况下,传输节点的Pre-Forward-Time是主节点Hello-Time的三倍,以确保传输端口进入转发状态之前主节点可以检测到环网恢复。若主节点配置的Hello-Time大于传输节点的Pre-Forward-Time,则容易产生环路而引发广播风暴。
• 物理端口,Interface FastEthernet,Interface GigaEthernet等以及聚合端口,均可配置为环网端口。若物理端口上已配置链路聚合、802.1X或端口安全,该端口不可配置为环网端口。注:交换机软件2.0.1L之前版本以及高端交换机4.0.0M之前版本不支持聚合端口的配置。
2.3 快速以太环网保护配置任务
• 配置主节点
• 配置传输节点
• 配置环网端口
• 查看环网保护协议状态
2.4 快速以太环网保护配置
2.4.1 配置主节点
按照下面的步骤,将交换机配置为环网的主节点。
命令
|
目的
|
Switch#config
|
进入交换机配置模式。
|
Switch_config#ether-ring id
|
配置节点实例并进入节点配置模式。
id:实例号。
|
Switch_config_ring#control-vlan vlan-id
|
配置控制VLAN。
vlan-id:控制VLAN号。
|
Switch_config_ring#master-node
|
配置节点类型为主节点。
|
Switch_config_ring#hello-time value
|
可选。配置主节点发送探测报文的周期。
value:时间值,1至10秒,缺省为1秒。
|
Switch_config_ring#fail-time value
|
可选。配置次端口等待探测报文的时限。
value:时间值,3至30秒,缺省为3秒。
|
Switch_config_ring#centralized-mode
|
可选。启动主控集中式环网保护控制。
默认是distributed mode。
|
Switch_config_ring#distributed-mode
|
可选。启动主控和线卡分布式环网保护。
默认是distributed mode。
|
Switch_config_ring#exit
|
保存当前配置并退出节点配置模式。
|
注释:
使用no ether-ring id命令删除环网节点配置以及节点端口配置。
2.4.2 配置传输节点
按照下面的步骤,将交换机配置为环网的传输节点。
命令
|
目的
|
Switch#config
|
进入交换机配置模式。
|
Switch_config#ether-ring id
|
配置节点实例并进入节点配置模式。
id:实例号。
|
Switch_config_ring#control-vlan vlan-id
|
配置控制VLAN。
vlan-id:控制VLAN号。
|
Switch_config_ring#transit-node
|
配置节点类型为传输节点。
|
Switch_config_ring#pre-forward-time value
|
可选。配置传输端口保持预转发状态的时间。
value:时间值,3至30秒,缺省为3秒。
|
Switch_config_ring#centralized-mode
|
可选。启动主控集中式环网保护控制。
默认是distributed mode。
|
Switch_config_ring#distributed-mode
|
可选。启动主控和线卡分布式环网保护。
默认是distributed mode。
|
Switch_config_ring#exit
|
保存当前配置并退出节点配置模式。
|
2.4.3 配置环网端口
按照下面的步骤,配置交换机的端口为环网端口。
命令
|
目的
|
Switch#config
|
进入交换机配置模式。
|
Switch_config#interface interface-type interface-number
|
进入端口配置模式。
intf-name:端口名称。
|
Switch_config_intf#ether-ring id {primary-port | secondary-port | transit-port }
|
配置环网端口类型。
id:环网节点实例号。
|
Switch_config_intf#exit
|
退出端口配置模式。
|
注释:
通过no ether-ring id {primary-port | secondary-port | transit-port } 端口配置命令,删除环网端口配置。
2.4.4 查看环网保护协议状态
使用下面的命令查看环网保护协议的状态。
命令
|
目的
|
show ether-ring id
|
查看环网保护协议和环网端口的摘要信息。
id:环网实例号。
|
show ether-ring id detail
|
查看环网保护协议和环网端口的详细信息。
|
show ether-ring id interface interface-type interface-number
|
查看环网端口或普通交换端口的状态信息。
|
2.5 快速以太环网保护配置示例
2.5.1配置示例
图2.1 快速以太环网保护配置示例
如图2.1所示网络,主节点S1和传输节点S2的配置如下,其它节点的配置与S2基本相同。
配置交换机S1:
关闭生成树协议并配置环网节点:
S1_config#no spanning-tree
S1_config#ether-ring 1
S1_config_ring1#control-vlan 2
S1_config_ring1#master-node
配置时间参数:
S1_config_ring1#hello-time 2
S1_config_ring1#fail-time 6
退出节点配置模式:
S1_config_ring1#exit
配置主端口和次端口:
S1_config#interface gigaEthernet 1/1
S1_config_g1/1#ether-ring 1 primary-port
S1_config_g1/1#exit
S1_config#interface gigaEthernet 1/3
S1_config_g1/3#ether-ring 1 secondary-port
S1_config_g1/3#exit
创建控制VLAN:
S1_config#vlan 2
S1_config_vlan2#exit
S1_config#interface range g1/1 , 3
S1_config_if_range#switchport mode trunk
S1_config_if_range#exit
配置交换机S2:
S1_config#no spanning-tree
S1_config#ether-ring 1
S1_config_ring1#control-vlan 2
S1_config_ring1#transit-node
S1_config_ring1#pre-forward-time 8
S1_config_ring1#exit
S1_config#interface gigaEthernet 1/1
S1_config_g1/1#ether-ring 1 transit-port
S1_config_g1/1#exit
S1_config#interface gigaEthernet 1/3
S1_config_g1/3#ether-ring 1 transit-port
S1_config_g1/3#exit
S1_config#vlan 2
S1_config_vlan2#exit
S1_config#interface range gigaEthernet 1/1 , 3
S1_config_if_range#switchport mode trunk
S1_config_if_range#exit