M-LAG理论基础

M-LAG理论基础

定义:
M-LAG(Multichassis Link Aggregation Group)即跨设备链路聚合组,是一种实现跨设备链路聚合的机制,将一台设备与另外两台设备进行跨设备链路聚合,从而把链路可靠性从单板级提高到了设备级,组成双活系统。



目的:
M-LAG作为一种跨设备链路聚合的技术,除了具备增加带宽、提高链路可靠性、负载分担的优势外,还具备以下优势:
1)、更高的可靠性:把链路可靠性从单板级提高到了设备级。
2)、简化组网及配置:可以将M-LAG理解为一种横向虚拟化技术,将双归接入的两台设备在逻辑上虚拟成一台设备。M-LAG提供了一个没有环路的二层拓扑同时实现冗余备份,不再需要繁琐的生成树协议配置,极大的简化了组网及配置。
3)、独立升级:两台设备可以分别进行升级,保证有一台设备正常工作即可,对正在运行的业务几乎没有影响。



基础概念:
1)、DFS Group:动态交换服务组DFS Group(Dynamic Fabric Service Group),主要用于部署M-LAG设备之间的配对,M-LAG双归设备之间的接口状态,表项等信息同步需要依赖DFS Group协议进行同步。
2)、DFS主/备设备:部署M-LAG且状态为主的设备,通常也称为M-LAG主/备设备。(注:DFS Group的角色区分为主和备,正常情况下,主设备和备设备同时进行业务流量的转发,转发行为没有区别,仅在故障场景下,主备设备的行为会有差别)
3)、双主检测链路:又称为心跳链路,是一条三层互通链路,用于M-LAG主备设备间发送双主检测报文。(注:正常情况下,双主检测链路不会参与M-LAG的任何转发行为,只在故障场景下,用于检查是否出现双主的情况)
4)、peer-link接口:peer-link链路两端直连的接口均为peer-link接口。
5)、peer-link链路:peer-link链路是一条直连链路且必须做链路聚合,用于交换协商报文及传输部分流量。接口配置为peer-link接口后,该接口上不能再配置其它业务。
6)、M-LAG成员接口:M-LAG主备设备上连接用户侧主机(或交换设备)的Eth-Trunk接口。



M-LAG建立步骤:
1)、DFS Group配对;(首先通过peer-link链路发送DFS Group的Hello报文,然后判断报文中携带的DFS Group编号是否和本端相同)
2)、DFS Group协商主备;(根据报文中携带的DFS Group优先级以及系统MAC地址确定出DFS Group的主备状态;优先级越高越优,MAC地址越小越优。 注:DFS Group的角色区分为主和备,正常情况下,主设备和备设备同时进行业务流量的转发,转发行为没有区别,仅在故障场景下,主备设备的行为会有差别。)
3)、M-LAG成员接口协商主备:在DFS Group协商出主备状态后,M-LAG的两台设备会通过peer-link链路发送M-LAG设备信息报文,报文中携带了M-LAG成员接口的配置信息。在成员口信息同步完成后,确定M-LAG成员接口的主备状态。(与对端同步成员口信息时,状态由Down先变为Up的M-LAG成员接口成为主M-LAG成员口,对端对应的M-LAG成员口为备,且主备状态默认不回切,即:当M-LAG成员接口状态为主的设备故障恢复后,先前由备状态升级为主状态的接口仍保持主状态,恢复故障的M-LAG成员接口状态为备,此处与DFS Group协商主备状态不一致。 注:仅在M-LAG接入组播场景下,M-LAG成员接口的主备角色存在转发行为差异。)
4)、双主检测:协商出M-LAG主备后,两台设备之间会通过双主检测链路按照1s的周期发送M-LAG双主检测报文,一旦设备感知peer-link故障,会按照100ms的周期发送三个双主检测链路报文,加速检测。当两台设备均能够收到对端发送的报文时,双活系统即开始正常的工作。(正常情况下,双主检测链路不会参与M-LAG的任何转发行为,只在DFS Group配对失败或者peer-link故障场下,用于检查是否出现双主的情况。)
5)、M-LAG同步信息:正常工作后,两台设备之间会通过peer-link链路发送M-LAG同步报文实时同步对端的信息,M-LAG同步报文中包括MAC表项、ARP表项以及STP、VRRP协议报文信息等,并发送M-LAG成员端口的状态,这样任意一台设备故障都不会影响流量的转发,保证正常的业务不会中断。
M-LAG建立简易流程图如下:



M-LAG防环机制:(单向隔离机制)
1)、当流量通过peer-link链路广播到对端M-LAG设备,在peer-link链路与M-LAG成员口之间设置单方向的流量隔离,即从peer-link口进来的流量不会再从M-LAG口转发出去,所以不会形成环路,这就是M-LAG单向隔离机制。 (注:M-LAG防环机制中的单向隔离仅对广播流量等泛洪流量生效。)
2)、设备通过匹配ACL规则组来对实现peer-link接口与M-LAG成员口之间的单向隔离,隔离有peer-link接口发往M-LAG成员口的广播等泛洪流量。 (ACL下发案例:Rule1:允许通过源端口为peer-link接口,目的端口为M-LAG成员口的三层单播报文; Rule2:拒绝通过源端口为peer-link接口,目的端口为M-LAG成员口的所有报文。)



peer-link故障:
当M-LAG应用于普通以太网络、VXLAN网络或IP网络的双归接入时,peer-link故障但双主检测心跳状态正常会触发备设备上除管理网口、peer-link接口和堆叠口以外的接口处于Error-Down状态。一旦peer-link故障恢复,处于ERROR DOWN状态的M-LAG接口默认将在2分钟后自动恢复为Up状态,处于ERROR DOWN状态的其它接口将立即自动恢复为Up状态。 (注:可通过配置调整端口ERROR DOWN情况。)



基于根桥方式配置M-LAG:
M-LAG主设备和备设备均作为STP网络中的根桥且配置相同的桥ID,将两台设备模拟成同一个根桥,M-LAG主备设备在二层网络中不受其他组网变化的影响,保证正常的工作。 (注:1、将M-LAG主设备和备设备均配置为根桥且配置相同的桥ID;2、必须去使能peer-link接口的STP功能)
基于V-STP方式配置M-LAG:
利用V-STP机制将M-LAG主设备和备设备的STP协议虚拟成一台设备的STP协议,对外呈现为一台设备进行STP协议计算。 (注:必须使能peer-link接口的STP功能同时使能V-STP功能。)



M-LAG配置的注意事项:
在设备重启或单板复位后,接口物理状态切换Up状态,但上层协议模块状态未满足转发要求,导致流量丢包。为了保证故障回切性能,缺省情况下,M-LAG成员端口上报Up状态的延时时间为240秒。若此时同时在VLANIF接口上配置三层协议状态延时Up时间,则需要保证M-LAG成员口的延时Up时间长于VLANIF接口的延时时间,否则ND同步失败的表项依赖于ND Miss触发学习。(缺省情况下,M-LAG接口上报Up状态的延时时间在V200R005C00版本及其之前版本为120s,在V200R005C10版本及其之后版本为240s。)

原文地址:https://blog.51cto.com/9480916/2383759

时间: 2024-11-09 09:23:48

M-LAG理论基础的相关文章

oracle listagg函数、lag函数、lead函数 实例

Oracle大师Thomas Kyte在他的经典著作中,反复强调过一个实现需求方案选取顺序: “如果你可以使用一句SQL解决的需求,就使用一句SQL:如果不可以,就考虑PL/SQL是否可以:如果PL/SQL实现不了,就考虑Java存储过程是否可以:如果这些都不可能实现,那么就需要考虑你是否真的需要实现这个需求.” 各个关系型DBMS产品都在遵守关系型数据库模型的基本体系架构,遵循通用的SQL国际规范.同时,为了更好地配合自身数据库实现的特征,以及提供更加丰富的功能,各个DBMS纷纷在标准SQL上

mysql的lag和Lead函数

1.mysql中没有lag和lead函数,因为Oracle使用惯了,没有这函数有些不方便.于是琢磨能不能实现. 2.如果用函数,肯定可以实现.但如果不用函数,是否能够实现呢?经过试验,发现可以达到目的. 对于lag函数,可以这么写 select @lagfield,@lagfiled:=targField,t.* from table t ,(select @lagfield:='') r 3.其中targField是你想要在下一行呈现的字段,根据字段是字符还是数字,最后的select 应该不同

细菌觅食优化算法:理论基础,分析,以及应用(未完)

原作者:Swagatam Das,Arijit Biswas,Sambarta Dasgupta,和Ajith Abraham  [摘 要]细菌觅食优化算法(Bacterial foraging optimization algorithm[BFOA])已经被分布式优化和控制的同行们当作一种全局性的优化算法接受.BFOA是由大肠杆菌的群体觅食行为所启发而总结出来 的.BFOA已经吸引了足够多的研究者的注意,由于它出现在解决真实世界中一些应用领域上优化问题的高效性.E.coli 的群体策略的生物基

软件测试工程师理论基础(一)

软件工程师理论基础和如何写测试用例(以登录界面和QQ个人聊天界面为例) 软件测试 定义:人工或自动化 运行或测试 过程 测试用例 目标: 1.确保软件质量 2.提供信息 3.保证开发过程 对象:程序+所有过程文档(可行性报告.项目实施计划.软件需求说明书.系统功能说明书.概要设计说明书.详细设计说明书等) 原则: 1.尽早.不断 2.pareto原则 3.不是所有的软件错误都是能修复的,但是还是要提交所有bug错误的文档 4.由小到大 5.避免开发人员自己测试自己的代码 6.追溯至客户需求 7.

AngularJS理论基础

AngularJS理论基础 AngularJs是一个用于设计动态web应用的结构框架. 它是一个框架,不是类库,是像EXT一样提供一整套方案用于设计web应用.它不仅仅是一个javascript框架,因为它的核心其实是对HTML标签的增强.使你能够用标签完成一部分页面逻辑,具体方式就是通过自定义标签.自定义属性等,这些HTML原生没有的标签/属性在ng中有一个名字:指令(directive).web应用能为用户提供丰富的操作,能够随用户操作不断更新视图而不进行url跳转.ng官方也声明它更适用于

软件优化理论基础以及方法论小结.

就像我其他博文中说的,对于软件的优化除开算法,全部都是为流水线服务的.所以优化的时候要时刻记住一这点.由于优化的东西比较杂,我写的不是很好,所以在文章的最后,我会试着提炼出一些通用性的原则. 由于之前在WPS上写的,所以代码没有用模版来排版,各位看官就将就着看吧..我也只是为了提炼一次知识,真正的优化还是认真看一遍书来的好. 有哪些方法优化软件? 通常有两种方式,一种是通过编译器,另一种则是自己写.因为编译器会考虑到特殊情况,所以能做的优化很多时候并不是特别多.这时候就需要自己写优化来帮助 一.

oracle中LAG()和LEAD()等分析统计函数的使用方法(统计月增长率)

LAG()和LEAD()统计函数能够在一次查询中取出同一字段的前N行的数据和后N行的值.这样的操作能够使用对同样表的表连接来实现,只是使用LAG和 LEAD有更高的效率.下面整理的LAG()和LEAD()样例: LAG(EXPRESSION,<OFFSET>,<DEFAULT>)SQL> select year,region,profit ,lag (profit,1) over (order by year)  as 51xit_exp from test; YEAR RE

oracle中lead和lag函数 (转载)

这两个函数,是偏移量函数,其用途是:可以查出同一字段下一个值或上一个值. lead(col_name,num,flag) col_name是列名:num是取向下第几个值:flag是一个标志,也就是如果向下第几个值是空值的话就取flag: 例如lead(login_time,1,null)这个是向下取一个值,如果这个值为空则按空算,当然也可以用其他值替换. lag(col_name,num,flag) 和lead类似,col_name是列名:num是取向上第几个值:flag是一个标志,也就是如果向

驳“中医之所以是伪科学,是因为中医跟现代主流科学理论不相容,以及中医的理论基础阴阳五行理论的概念跟经验世界不能一一对应”【转载】

作者:燃烧的大木 时间:2017-04-26 12:25:34 地址:http://bbs.tianya.cn/post-worldlook-1777340-1.shtml#54643636 本理论一出,世间再无人能反对中医(本帖子出来不到一天被隐藏,发帖的帐号被封杀) 为了方便后面的论述,我先把中医反对者们的理由总结一下:中医之所以是伪科学,是因为中医跟现代主流科学理论不相容,以及中医的理论基础阴阳五行理论的概念跟经验世界不能一一对应.他们能论述到的“不相容”,还仅仅限于无法用主流科学理论的概

HTML理论基础:

 HTML理论基础: 采用B/S计算模式开发的应用程序我们一般称为Web应用程序. 网页的结构部分:结构的定义使用HTML语言(超文本标记语言Hyper Text Mark Up Language). 网页的表现部分:编写文档表现形式的语言是CSS语言(层叠样式表Casading Style Sheet). 网页的行为部分:标准的脚本语言JS(Java Script). 访问网页上所有对象:DOM(文档对象模型Document Object Model). (均由W3C定义) HTTP协议(超文