IRF MAD原理(转自深信服论坛)
IRF支持的MAD检测方式:
BFD MAD检测:
一、BFD MAD检测原理:
#
interface range GigabitEthernet 1/7/0/48 GigabitEthernet 2/7/0/48 //机框1与机框2的互联链路,做MAD BFD检测
port access vlan 10
undo stp enable
#
interface Vlan-interface10
mad bfd enable //启用MAD BFD检测
mad ip address 10.0.0.1 255.255.255.252 member 1 //分配给机框1的ip地址
mad ip address 10.0.0.2 255.255.255.252 member 2 //分配给机框2的ip地址
#
二、BFD MAD实验现象:
MemberID Role Priority CPU-Mac Description
*+1 Master 1 b27f-d54b-0104 ---
2 Standby 1 b27f-d9d6-0204 ---
--------------------------------------------------
* indicates the device is the master.
+ indicates the device through which the user logs in.
The bridge MAC of the IRF is: b27f-d54b-0100
Auto upgrade : yes
Mac persistent : always
Domain ID : 0
[H3C-IRF]
[H3C-IRF]
[H3C-IRF]dis bfd session
Total Session Num: 1 Up Session Num: 0 Init Mode: Active
IPv4 session working in control packet mode:
LD/RD SourceAddr DestAddr State Holdtime Interface
129/0 10.0.0.1 10.0.0.2 Down 0ms Vlan10
GigabitEthernet2/0/1
Current state: MAD ShutDown
Line protocol state: DOWN
IP packet frame type: Ethernet II, hardware address: 4c81-8de9-0100
Description: GigabitEthernet2/0/1 Interface
Bandwidth: 1000000 kbps
Loopback is not set
Unknown-speed mode, unknown-duplex mode
Link speed type is autonegotiation, link duplex type is autonegotiation
LACP MAD检测:
一、LACP MAD检测原理:
二、LACP MAD检测组网要求:
三、LACP MAD关键配置:
#
irf domain 10 //配置domain域,用以区分多个IRF系统
#
interface range GigabitEthernet 1/0/1 GigabitEthernet 2/0/1 //与第三方设备相连做链路聚合的接口
port link-aggregation group 10
#
interface Bridge-Aggregation10
port access vlan 20
link-aggregation mode dynamic //使能动态链路聚合模式
mad enable //使能MAD,MAD LACP only enable on dynamic aggregation interface.
#
注意在第三方设备也要配置动态链路聚合组,并确保链路聚合组中成员接口都是选中状态!
-
LACP MAD检测
-
BFD MAD检测
-
ARP MAD检测
-
ND MAD检测
BFD MAD检测:
一、BFD MAD检测原理:
-
BFD MAD检测是通过BFD协议来实现的。BFD MAD最适合2台设备之间做直连检测,一般在核心层用的多;因为核心层一般是两台设备,位置上也相靠近。如果是≥3台设备组成的IRF集群想用BFD MAD检测的话,需要外部中间设备、另外增加检测链路,不推荐使用。
-
在两台做IRF的设备之间增加一条直连链路,作为BFD MAD检测链路。
-
这条BFD MAD链路在2台设备上分别对应一个接口,在IRF集群中将这2个接口加入到同一个三层逻辑口中(可以是vlan-if 或 route-agg 接口),在这个三层接口上启用BFD MAD,同时在该接口上配置MAD IP地址,且IP地址与成员绑定,谨记:成员设备的MAD IP必须属于同一网段。
-
当IRF正常运行时,只有Master上配置的MAD IP地址生效,Slave设备上配置的MAD IP地址不生效,BFD会话处于down状态
-
当IRF分裂形成多个IRF系统时,不同IRF中Master上配置的MAD IP地址均会生效,BFD会话被激活,此时设备感知到多Active冲突。
-
检测到多Active冲突后,会直接让Master成员编号小的IRF处于Active状态,继续正常工作;其它IRF上报MAD冲突事件给IRF模块,IRF模块将该IRF迁移到MAD Recovery状态。
-
迁移到IRF Recovery状态的设备会关闭该IRF中所有成员设备上除保留端口以外的其它所有物理端口(通常为业务接口),以保证该IRF不能再转发业务报文。缺省情况下,只有IRF链路物理端口是保留端口,用户也可以通过mad exclude interface命令行将其它端口设置为保留端口。
#
interface range GigabitEthernet 1/7/0/48 GigabitEthernet 2/7/0/48 //机框1与机框2的互联链路,做MAD BFD检测
port access vlan 10
undo stp enable
#
interface Vlan-interface10
mad bfd enable //启用MAD BFD检测
mad ip address 10.0.0.1 255.255.255.252 member 1 //分配给机框1的ip地址
mad ip address 10.0.0.2 255.255.255.252 member 2 //分配给机框2的ip地址
#
二、BFD MAD实验现象:
-
在IRF正常的情况下,MAD BFD的会话是down的,这是正确的现象,因为他们是一个统一的IRF集群;当集群分裂(例如IRF互联线路中断)后,成员设备拿到所属自己的那个MAD IP,此时BFD会话会立即UP,但是同时也会感知到多Active冲突,进行相应处理后(IRF Recovery关闭出保留端口外的其他所有物理端口),因为处于Recovery状态的设备上MAD BFD检测链路接口也被关闭掉了,所以MAD BFD会话又会立即down掉。所以MAD BFD会话状态如下:
-
down(IRF正常时)----->up(瞬时状态,检测到多Active)----->down(IRF Recovery处理完毕)
MemberID Role Priority CPU-Mac Description
*+1 Master 1 b27f-d54b-0104 ---
2 Standby 1 b27f-d9d6-0204 ---
--------------------------------------------------
* indicates the device is the master.
+ indicates the device through which the user logs in.
The bridge MAC of the IRF is: b27f-d54b-0100
Auto upgrade : yes
Mac persistent : always
Domain ID : 0
[H3C-IRF]
[H3C-IRF]
[H3C-IRF]dis bfd session
Total Session Num: 1 Up Session Num: 0 Init Mode: Active
IPv4 session working in control packet mode:
LD/RD SourceAddr DestAddr State Holdtime Interface
129/0 10.0.0.1 10.0.0.2 Down 0ms Vlan10
-
处于Recovery状态的设备接口被MAD关闭:
GigabitEthernet2/0/1
Current state: MAD ShutDown
Line protocol state: DOWN
IP packet frame type: Ethernet II, hardware address: 4c81-8de9-0100
Description: GigabitEthernet2/0/1 Interface
Bandwidth: 1000000 kbps
Loopback is not set
Unknown-speed mode, unknown-duplex mode
Link speed type is autonegotiation, link duplex type is autonegotiation
LACP MAD检测:
一、LACP MAD检测原理:
-
LACP MAD检测是通过扩展LACP协议报文内容实现的,即在LACP协议报文的扩展字段内定义一个新的TLV(Type/Length/Value,类型/长度/值)数据域--用于交互IRF的DomainID(域编号)、ActiveMemNum(当前IRF的成员数目)和ActiveID(等于Master的成员编号)。使能LACP MAD检测后,成员设备通过LACP协议报文和其它成员设备交互DomainID、ActiveMemNum和ActiveID信息。
-
使能LACP MAD检测后,聚合成员端口周期性地发送带有扩展TLV字段的LACP报文(缺省发送周期为30s,该LACP报文和动态LACP报文分开发送),对端设备(中间设备)收到带扩展TLV的LACP报文后,会从聚合组内除接收端口外的所有其他成员端口各转发一份。成员设备通过LACP协议报文和其它成员设备交互DomainID、ActiveMemNum和ActiveID信息。
-
当成员设备收到LACP MAD报文后,先比较DomainID。如果DomainID相同,再比较ActiveID;如果DomainID不同,则认为报文来自不同IRF,不再进行MAD处理,作为中间设备,仍然需要从聚合组内除接收端口外的所有其他成员端口各转发一份。
-
如果ActiveID相同,则表示IRF正常运行,没有发生多Active冲突;如果ActiveID值不同,快速进行LACP报文交互、确认冲突,确认后表示IRF分裂,检测到多Active冲突。
-
如果ActiveMemNum不同,ActiveMemNum大的为优,处于IRF Active状态继续工作,ActiveMemNum小的迁移到Recovery状态(即禁用状态)。
-
如果ActiveMemNum相同,继续比较ActiveID,ActiveID小的为优,处于IRF Active状态继续工作,ActiveID大的上报MAD冲突事件给IRF模块,IRF模块将该IRF迁移到MAD Recovery状态(即禁用状态)。
-
详细流程见下图
二、LACP MAD检测组网要求:
-
LACP MAD检测方式组网中需要使用H3C设备作为中间设备。成员设备之间通过Device交互LACP扩展报文。
-
在LACP MAD检测组网中,如果中间设备本身也是一个IRF系统,则必须通过配置确保其IRF域编号与被检测的IRF系统不同,否则可能造成检测异常,甚至导致业务中断。
三、LACP MAD关键配置:
#
irf domain 10 //配置domain域,用以区分多个IRF系统
#
interface range GigabitEthernet 1/0/1 GigabitEthernet 2/0/1 //与第三方设备相连做链路聚合的接口
port link-aggregation group 10
#
interface Bridge-Aggregation10
port access vlan 20
link-aggregation mode dynamic //使能动态链路聚合模式
mad enable //使能MAD,MAD LACP only enable on dynamic aggregation interface.
#
注意在第三方设备也要配置动态链路聚合组,并确保链路聚合组中成员接口都是选中状态!