IRF MAD原理(转自深信服论坛)

IRF支持的MAD检测方式:
  • LACP MAD检测
  • BFD MAD检测
  • ARP MAD检测
  • ND MAD检测
作者在实际工作中,最常用的是 BFD MAD 和 LACP MAD 这两种方式,这两种方式检测速度快、要求低、基本能解决90%以上的场景,所以下面主要介绍这两种方式。


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处理完毕)
[H3C-IRF]dis irf
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关闭:
<H3C>dis int g2/0/1
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.
#


注意在第三方设备也要配置动态链路聚合组,并确保链路聚合组中成员接口都是选中状态!
posted @ 2024-05-14 14:31  oung  阅读(259)  评论(0编辑  收藏  举报