首页 > 其他分享 >IRF MAD原理(转自深信服论坛)

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

时间:2024-05-14 14:43:33浏览次数:8  
标签:BFD 检测 报文 LACP MAD 转自深 IRF

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.
#


注意在第三方设备也要配置动态链路聚合组,并确保链路聚合组中成员接口都是选中状态!

翻译

搜索

复制

标签:BFD,检测,报文,LACP,MAD,转自深,IRF
From: https://www.cnblogs.com/oung/p/18191238

相关文章

  • 通过API触发airflow的DAG任务
    背景以前编写的DAG都是通过定时触发的,当前有一个场景需要通过手动提交API来触发,这样能够在用户需要的时候,主动触发执行任务,于是就有了这篇内容的摸索。之前只知道airflow支持通过API来触发任务,但是具体如何操作是真不会,看了官方的API文档,也没找到具体方法,特别是认证这块一直没解......
  • 一键自动化博客发布工具,chrome和firfox详细配置
    blog-auto-publishing-tools博客自动发布工具现在已经可以同时支持chrome和firefox了。很多小伙伴可能对于如何进行配置和启动不是很了解,今天带给大家一个详细的保姆教程,只需要跟着我的步骤一步来就可以无障碍启动了。前提条件前提条件当然是先下载blog-auto-publishing-tools......
  • Django Error: [WinError 10013] An attempt was made to access a socket in a way f
      D:\06softw-dev-202306\manage.pyrunserverWatchingforfilechangeswithStatReloaderPerformingsystemchecks...Systemcheckidentifiednoissues(0silenced).May03,2024-10:02:12Djangoversion3.2.18,usingsettings'MPDB.settings......
  • Airflow
    ApacheAirflowhttps://airflow.apache.org/ Airflow™isaplatformcreatedbythecommunitytoprogrammaticallyauthor,scheduleandmonitorworkflows. fromdatetimeimportdatetimefromairflowimportDAGfromairflow.decoratorsimporttaskfromairflow.......
  • Java中用forEach和lamad优化for循环
    1importjava.util.Arrays;2importjava.util.List;3importjava.util.function.IntBinaryOperator;456List<String>names=Arrays.asList("Alice","Bob","Charlie");78//方式一for输出9for(inti=0;i<......
  • lamada 表达式
    语法篇--\(lamada\)表达式函数内定义的函数,看起来能使代码更加美观。具体定义方法:前面挂个auto,不管他返不返回值后面是函数名(表达式名)例:Cekas先是中括号表示对外部环境的调用:具体看下表:可能你是以值捕获的外部变量,你在\(lamada\)体中更改后程序会报......
  • nginx报错:bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a soc
    问题:1.nginx启动失败2.在logs/error.log文件下,出现报错信息:bind()to0.0.0.0:80failed(10013:Anattemptwasmadetoaccessasocketinawayforbiddenbyitsaccesspermissions) 目录:1、cmd输入命令netstat-aon|findstr"80"2.、查看80端口7532对应的任务3、......
  • H3C配置IRF实现网络设备堆叠
    堆叠的概述在此之前了解一下什么是堆叠,堆叠是指将多台交换机设备通过线缆连接后组合在一起,虚拟化成一台设备,是一种横向虚拟化技术。堆叠作为一种横向虚拟化技术,将多台设备在逻辑上虚拟成一台设备,可以简化网络的配置和管理。华三的虚拟化技术叫IRF,锐捷的虚拟化技术叫VSU,华为虚拟化......
  • windmill Airplane&Superblocks&Retool&Prefect&Airflow 可选工具
    现在调度工具是越来越多了,而且集成的能力也越来越强大了windmill是一个很不错的workflow调度平台功能很强大特性可扩展的执行runtime,支持跨语言代码执行强大的调度器,支持基于低代码以及yaml模式通过appbuilder使用低代码或者js框架开发面向数据的dashboards智能依赖以......
  • Airflow 搭建
    安装采用pip安装#下面的安装方式是通过pip采用清华源来安装,一般安装的版本比较低pipinstallapache-airflow-ihttps://pypi.tuna.tsinghua.edu.cn/simple采用anaconda安装--推荐anacoand/miniforge安装方式参考这里condainstallapache-airflow初始化数据库airflo......