品牌网站如何做seo,shopxo开源商城,白度指数,那片海dede织梦源码企业网络公司工作室网站模板源码模板phpM-LAG#xff08;Multichassis Link Aggregation Group#xff09;即跨设备链路聚合组#xff0c;是一种实现跨设备链路聚合的机制。M-LAG主要应用于普通以太网络、VXLAN和IP网络的双归接入#xff0c;可以起到负载分担或备份保护的作用。相较于另一种常见的可靠性接入技术…M-LAGMultichassis Link Aggregation Group即跨设备链路聚合组是一种实现跨设备链路聚合的机制。M-LAG主要应用于普通以太网络、VXLAN和IP网络的双归接入可以起到负载分担或备份保护的作用。相较于另一种常见的可靠性接入技术——堆叠M-LAG在可靠性、升级等方面有着显著的优势。
1 工作原理
1.1 基本概念 DFS (Dynamic Fabric Service) Group
用于实现M-LAG设备之间的配对M-LAG设备之间的接口状态、表项等信息同步。 DFS Group的角色区分主备配对成功后两台设备经过DFS Group协商协商出DFS主设备M-LAG主设备和DFS备设备。
peer-link
M-LAG设备之间的直连链路用于传输协议报文、表项同步报文并转发部分流量。 通常情况下M-LAG和堆叠一样都有一种本框进本框出的机制尽量避免通过peer-link去转发流量。 DAD link
双主检测链路是一条三层互通链路用于M-LAG设备之间发送双主检测报文。 正常情况下双主检测链路不会参与M-LAG的任何转发行为只在DFS Group配对失败或者peer-link故障场景下用于检查是否出现双主的情况。 H3C设备中叫keepalive链路 M-LAG成员接口
连接用户侧设备或主机的Eth-trunk接口从而实现跨设备链路聚合的目的。
孤立端口
未加入任何M-LAG成员口的端口。
保留端口
当peer-link故障时M-LAG分裂配对的两台设备无法相互发送协议报文及同步报文两台设备处于双主状态。为了避免流量转发异常需要将一端M-LAG设备上的端口置为Error-Down但在实际组网应用中某些端口并不希望被置为Error-Down这类peer-link故障时不被Error-Down的端口被称为保留端口。 缺省情况下设备上仅管理网口和peer-link接口为保留口其他端口需手工设置。
1.2 协议交互 ❶ DFS Group配对
首先通过peer-link链路发送DFS Group的Hello报文。当设备收到对端的Hello报文后会判断报文中携带的DFS Group编号是否和本端相同如果两台设备的DFS Group编号相同则两台设备DFS Group配对成功。
❷ DFS Group协商主备
配对成功后两台设备会向对端发送DFS Group的设备信息报文设备根据报文中携带的DFS Group优先级以及系统MAC地址确定出DFS Group的主备状态。 DFS Group的角色区分为主和备正常情况下主设备和备设备同时进行业务流量的转发转发行为没有区别仅在故障场景下主备设备的行为会有差别。 ❸ M-LAG成员接口协商主备
通过peer-link链路发送M-LAG设备信息报文报文中携带了M-LAG成员接口的配置信息。在成员口信息同步完成后确定M-LAG成员接口的主备状态。 与对端同步成员口信息时状态由Down先变为Up的M-LAG成员接口成为主M-LAG成员口对端对应的M-LAG成员口为备且主备状态默认不回切。
❹ 双主检测
通过双主检测链路发送双主检测报文在45秒内两台设备均能够收到对端发送的双主检测报文双活系统即开始正常的工作若45秒内未收到双主检测报文则心跳超时。一旦设备感知到peer-link故障设备会快速发送双主检测链路报文加速检测。 在DFS Group配对失败或者peer-link故障场景下双主检测链路用于检查是否出现双主的情况。
两台设备在心跳链路Up之后即会按照周期发送双主检测报文。若DFS Group绑定了本端和对端的IP地址则在二次故障恢复场景下设备已使能二次故障增强功能即原DFS主设备或备设备故障恢复且peer-link链路仍然故障时M-LAG设备根据双主检测报文中携带的DFS信息协商出HB DFS主备状态触发HB DFS状态为备的设备相应端口Error-Down从而避免双主场景下的流量异常。
❺ M-LAG同步信息
通过peer-link同步MAC表项、ARP以及STP等并发送M-LAG成员端口的状态这样任意一台设备故障都不会影响流量的转发保证正常的业务不会中断。
1.3 M-LAG防环
单向隔离机制 接入设备或网络侧到达M-LAG配对设备的单播流量会优先从本地转发出去peer-link链路一般情况下不用来转发数据流量。当流量通过peer-link链路广播到对端M-LAG设备在peer-link链路与M-LAG成员口之间设置单方向的流量隔离。即从peer-link口进来的流量不会再从M-LAG口转发出去所以不会形成环路。
2 协同工作
2.1 STP
由于peer-link为二层链路且会允许所有的VLAN通过因此涉及到生成树的问题这条线路是M-LAG的生命线因此不能够被STP阻塞掉。有两种方案解决这个问题 手工将M-LAG设备配置为根并将两台设备的桥ID配置成一致这样两台设备都认为自己的是根桥形成逻辑上的一台根桥 使用V-STP同步信息无需让M-LAG交换机变成根桥
V-STPVirtual Spanning Tree Protocol
二层拓扑管理特性核心思想是将两台设备的STP协议虚拟成一台设备的STP协议对外呈现为一台设备进行STP协议计算。 STP可以感知M-LAG主备协商状态M-LAG主备设备配置了V-STP在M-LAG主备协商成功后两台设备被虚拟化成一台设备进行端口角色计算和快速收敛计算。STP需要同步M-LAG主备的桥MAC信息和实例优先级信息。M-LAG主备协商成功后M-LAG备设备使用M-LAG主设备同步过来的桥MAC信息和实例优先级信息进行STP计算和收发报文保证虚拟化成一台设备后的STP计算参数。 当前V-STP只能用于M-LAG组网可以解决多级M-LAG互联场景和组成M-LAG的设备作为非根桥场景的需求。 配置V-STP功能时需要保证组成M-LAG的两台设备上STP/RSTP定时器配置一致否则可能导致网络拓扑震荡。
在多级M-LAG互联场景中可以根据需要将这两种方案结合起来使用。注意手工配置的根交换机建议开启根防护。
2.2 L3网关
当M-LAG的下游设备是二层设备时M-LAG主备设备需要同时作为三层网关必须保证M-LAG成员接口对应的VLANIF或VBDIF接口具有相同的IP地址和MAC地址。可以通过如下方式实现在VLANIF或VBDIF接口上配置相同的IP地址和虚拟MAC地址双活。 另外还可以配置VRRP结果是M-LAG组中的所有交换机都会扮演master的角色。 在M-LAG双归接入VXLAN的场景中当下行一条链路发生故障时业务流量需绕行M-LAG设备之间的peer-link链路。因此在该场景下M-LAG设备之间必须配置静态Bypass VXLAN隧道将绕行的业务流量引导至peer-link链路上。
2.3 路由协议
当M-LAG的下游设备是三层设备时通常需要和M-LAG主备设备建立动态路由协议的邻居关系。在这种场景下M-LAG主备设备要在成员口对应的VLANIF接口或VBDIF接口配置IP地址M-LAG接口对应的VLANIF/VBDIF接口配置不同的M-LAG IPv4/IPv6 Link-local地址用于OSPF/OSPFv3动态路由协议邻居建立使得M-LAG成员设备和DeviceC之间建立OSPF/OSPFv3邻居。 由于M-LAG主备设备使用了相同的IP地址和MAC地址无法同时和下游设备建立邻居关系因此需要另外在M-LAG主备设备上配置sub地址来用于动态路由协议的邻居建立。
配置方式如下
[DeviceB] interface vlanif 100
[DeviceB-Vlanif100] ip address 10.100.0.1 255.255.255.0
[DeviceB-Vlanif100] ospf source sub-address 10.100.0.3
[DeviceB-Vlanif100] m-lag ip address 10.100.0.3 255.255.255.0 # sub地址
[DeviceB-Vlanif100] mac-address 0000-5e00-0101
[DeviceB-Vlanif100] arp proxy enable
[DeviceB-Vlanif100] quit3 故障恢复
3.1成上行链路故障 这种情况下会通过peer-link链路进行转发。M-LAG主设备上行链路故障恢复后流量也恢复从主设备转发到网络侧。 当故障的上行链路恰好为双主检测链路此时对于M-LAG正常工作没有影响。一旦peer-link也发生故障M-LAG出现双主冲突双主检测又无法进行则会出现丢包现象。 三层场景下需要在M-LAG主备设备之间配置逃生链路否则到达Master设备的上行流量无法通过peer-link链路到达Backup设备。
3.2 下行链路故障 当主M-LAG成员口故障时所在的链路状态变为Down此时备M-LAG成员口状态由备升主双归场景变为单归场景。在主M-LAG成员口故障的同时主设备学习到的DeviceA侧MAC不会被清除直接刷新MAC表的出端口指向peer-link口实现流量快速切换避免未知单播泛洪。 在故障M-LAG成员口恢复后MAC表的出端口从peer-link指向M-LAG成员口实现流量快速切换避免未知单播泛洪。同时为避免主备M-LAG成员口状态切换造成的某些协议振荡设备支持M-LAG成员口状态不再回切即由备升主的M-LAG成员口状态仍为主原主M-LAG成员口在故障恢复后状态为备。 在M-LAG成员口故障设备双归变单归场景下默认对于报文出端口为M-LAG成员接口的所有ARP表项、ND表项、静态路由表项和动态路由表项申请备份的FRR资源使得出接口指向peer-link口并形成主备路径下发将表项的下一跳由M-LAG成员口切换为peer-link口从而提升故障场景下的切换性能。
3.3 设备故障
M-LAG主设备故障M-LAG备设备将升级为主。原主设备侧M-LAG成员口链路状态变为Down双归场景变为单归场景。M-LAG备设备故障M-LAG的主备状态不会发生变化M-LAG备设备侧成员口链路状态变为Down。M-LAG主设备侧成员口链路状态仍为Up流量转发状态不变双归场景变为单归场景。
M-LAG设备故障恢复时peer-link先UPDFS状态重新协商M-LAG成员口恢复UP流量恢复负载分担。M-LAG主设备恢复后设备状态仍然为主M-LAG备设备恢复后设备状态仍然为备。
3.4 心跳线故障
若心跳链路承载三层网络的业务心跳故障对设备流量转发会有影响。若心跳链路承载二层业务或不承载三层业务心跳故障对设备流量转发无影响
3.5 peer-link故障 当peer-link故障但双主检测心跳状态正常时在双主检测延时时间缺省值为3s后会触发一端M-LAG设备上除逻辑端口、管理网口和peer-link接口以外的其他接口处于Error-Down状态。M-LAG系统按照如下先后顺序判断触发哪一端M-LAG设备的接口Error-Down
是否存在Up状态的上行口若一端M-LAG设备的上行口全部为Down状态且另一端存在Up状态的上行口则对上行口全部为Down状态的M-LAG设备触发端口Error-Down操作。peer-link接口所在接口板是否全部故障若peer-link链路为直连聚合链路一端M-LAG设备的peer-link接口所在接口板全部故障且另一端M-LAG设备的peer-link接口所在接口板未全部故障则对peer-link接口所在接口板全部故障的M-LAG设备触发端口Error-Down操作。带宽通量差值大小若一端M-LAG设备计算出的带宽通量差值比另一端M-LAG设备的带宽通量差值更大则对带宽通量差值更大的那一端M-LAG设备触发端口Error-Down操作。其他场景如图 peer-link故障组网示意图所示则对M-LAG备设备触发端口Error-Down操作。 DFS配对成功后M-LAG设备默认每间隔10s统计一次带宽通量当触发双主检测时会同时触发M-LAG设备统计此时的带宽通量。 带宽通量差值计算公式带宽通量差值上一次统计到的带宽通量-触发双主检测时统计到的带宽通量且每次统计带宽通量时不包含peer-link接口。 如果某一端M-LAG设备计算出的带宽通量差值为负值则该M-LAG设备的带宽通量差值按照0处理。 peer-link故障恢复时处于Error Down状态的M-LAG成员口默认将在240s后自动恢复为Up状态为了等待M-LAG主节点将表项同步到备节点处于Error Down状态的其它接口将立即自动恢复为Up状态流量恢复实现负载分担。 通过配置peer-link故障但双主检测心跳状态正常时触发Error-Down的端口包括逻辑端口会触发M-LAG备设备上VLANIF接口、VBDIF接口、LoopBack接口以及M-LAG成员口处于ERROR DOWN状态。当peer-link故障恢复后为保证大规格ARP同步正常设备将在DFS Group配对成功后延迟6s恢复VLANIF接口、VBDIF接口、LoopBack接口为Up状态。此时如果在接口下配置了接口三层协议状态延时Up时间则VLANIF接口、VBDIF接口、LoopBack接口恢复Up状态的延迟时间为两者之和。