jjzjj

初探交换机虚拟化技术m-lag

一只小白杰 2024-02-27 原文

说到虚拟化,大家最先联想到的几个名词应该是虚拟机,服务器。今天要介绍的虚拟化,是路由与交换技术里面的虚拟化技术。在网络上,将多个网络设备虚拟化成一个整体的逻辑设备的技术,就称为虚拟化技术。通过交换机虚拟化技术,既可以在逻辑上集成多台物理连接的交换机,实现拓宽虚拟交换机带宽、提升转发效率的目的,也可以在逻辑上将一台物理交换机虚拟为多台虚拟交换机,实现业务隔离、提升可靠性的目的。虚拟化有横向虚拟化和纵向虚拟化,其中横行虚拟化技术常用的有堆叠、m-lag,vrrp。今天我们主要了解下m-lag技术。

了解m-lag之前,我们先了解下以往数据中心常用的横向虚拟化技术-堆叠。

从上图我们可以看到堆叠就是将两台交换机设备通过专用堆叠线缆虚拟化成一台逻辑设备去参与网络数据转发,所以堆叠常常和下行交换机或者服务器做一个链路聚合捆绑,这样做的好处是当其中一台交换机down掉的时候,流量可以转发到另外一台交换机上,保证链路高可用。

下面我们看看什么是m-lag技术,它和堆叠相比又有什么区别,为什么华为现在推荐用m-lag。

通过上图我们可以知道,m-lag是一种实现跨设备链路聚合的技术,经常配合链路聚合一起使用,提供设备可靠性。

前面我们也介绍了堆叠,下面我们看看堆叠和m-lag之间的区别。

 从上面的图中,我们可以看到,两台设备做堆叠的话,控制平面只在主交换机上,主交换机的故障可能会影响到备交换机,且堆叠交换机升级比较复杂,业务中断时间过长。相对堆叠,m-lag技术设备的转发和控制平面相对独立,且可以做到升级时候流量秒级中断。登录交换机上,最大的体验不通就是,堆叠方式任意登录一台设备都相当于登录主设备,dis inter brief的时候可以看到端口安顺序往下排列,而m-lag技术登录任意一台设备都是相当于单独登录,dis inter brief 的时候可以看到两台设备的端口都是独立的。

下面我们先看下m-lag的简单组网架构,从架构里面去了解m-lag技术的组网流程。

M-LAG组网详细的实现流程包括以下五步:DFS Group配对、DFS Group协商主备、M-LAG成员口协商主备、双主检测和M-LAG信息同步。

第一步:两台设备通过pee-link链路发送hello报文来建立关系,通过hello报文里携带的dfs-group id是否一致来确定连接关系。

第二步:两台设备通过pee-link链路发送dfs group设备信息报文来协商主备角色。设备信息报文携带设备优先级和mac地址,m-lag成员设备先通过比较优先级来选举谁是主设备(优先级大的优先),优先级一样的情况下再通过MAC地址来选举谁是主设备(MAC小的为主)。

第三步:两台设备通过pee-link链路发送dfs group设备信息报文来协商m-lag成员端口状态。

第四步:双主检测。双主检测链路,又称为心跳链路,是一条三层互通链路,用于M-LAG主备设备间发送双主检测报文。

第五步:两台设备通过peer-link链路发送m-lag同步报文实时同步对端信息(MAC表象,ARP表象、成员端口)

了解了m-lag的组网流程之后,接下来我们再看下m-lag设备在正常状态和故障状态下都是怎么转发流量的。

从上面的图中我们可以知道,m-lag工作正常的环境下,服务器流量发往网路侧会由主备设备逐流分担负载。

下面看下m-lag设备上行链路故障的情况下,流量是怎么转发的。

如果m-lag主设备上行链路故障,发往主设备的网络流量就会自动通过peer-link链路转发到m-lag备设备上从而保证链路可用。

下面看下peer-link链路故障的时候,流量是怎么转发的。

 当两端设备感知到peer-link链路故障的时候,两端设备会通过DAD双主检测链路来进行协商,如果没收到对端设备发送的双主检测报文,则认为对端设备故障。如果是M-LAG备设备发生故障,M-LAG的主备状态不会发生变化,M-LAG备设备侧Eth-Trunk链路状态变为Down。M-LAG主设备侧Eth-Trunk链路状态仍为UP,流量转发状态不变,继续转发流量,双归场景变为单归场景。如果是m-lag主设备故障,则M-LAG备设备将升级为主,其设备侧Eth-Trunk链路状态仍为UP,流量转发状态不变,继续转发流量。M-LAG主设备侧Eth-Trunk链路状态变为Down,双归场景变为单归场景 。

最后,我们看下m-lag的一些具体配置:

(1)两端设备配置dfs-group组设置优先级,DAD双主检测的ip和对端设备ip,要三层可达。

 (2)两端设备绑定聚合口和m-lag对应,设定成员接口

(3)配置两端设备通信用的peer-link链路,建议采用链路捆绑,提高peer-link链路的可靠性

  

 

有关初探交换机虚拟化技术m-lag的更多相关文章

  1. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  2. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  3. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  4. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  5. ruby-on-rails - 用于门户的 Ruby 技术 - 2

    我刚刚看到whitehouse.gov正在使用drupal作为CMS和门户技术。drupal的优点之一似乎是很容易添加插件,而且编程最少,即重新发明轮子最少。这实际上正是Ruby-on-Rails的DRY理念。所以:drupal的缺点是什么?Rails或其他基于Ruby的技术有哪些不符合whitehouse.org(或其他CMS门户)门户技术的资格? 最佳答案 Whatarethedrawbacksofdrupal?对于Ruby和Rails,这确实是一个相当主观的问题。Drupal是一个可靠的内容管理选项,非常适合面向社区的站点。它

  6. iNFTnews | 周杰伦18年前未发布的作品Demo,藏在了区块链技术里 - 2

    当音乐碰上区块链技术,会擦出怎样的火花?或许周杰伦已经给了我们答案。8月29日下午,B站独家首发周杰伦限定珍藏Demo独家访谈VCR,周杰伦在VCR里分享了《晴天》《青花瓷》《搁浅》《爱在西元前》四首经典歌曲Demo背后的创作故事,并首次公布18年前未发布的神秘作品《纽约地铁》的Demo。在VCR中,方文山和杰威尔音乐提及到“多亏了区块链技术,现在我们可以将这些Demos,变成独一无二具有收藏价值的艺术品,这些Demos可以在薄盒(国内数藏平台)上听到。”如何将音乐与区块链技术相结合,薄盒方面称:“薄盒作为区块链技术服务方,打破传统对于区块链技术只能作为数字收藏的理解。聚焦于区块链技术赋能,在

  7. ruby - Perl 和 Ruby 之间的 YAML 数据交换问题 - 2

    我在通过YAML在Perl和Ruby之间交换数据时遇到问题。我有一些看起来像数字:数字的值,例如1:16。Perl的YAML库(Tiny和XS)将其编码为1:16,不带引号。Ruby的YAML库(Psych)不会将其解释为字符串,而是以某种方式变成Fixnum值4560。我不知道如何在任何一方解决这个转换问题。我用例的YAML中的每个值都应该是一个对象或字符串。因此,如果存在这样的选项,我可以告诉PerlYAML库引用所有值。或者有什么方法可以告诉RubyYAML库将所有​​值解释为字符串?有任何想法吗?从逻辑上讲,改变任何一方的语言都不是一种选择。Perl:useYAML::XSqw

  8. ruby-on-rails - Rails 验证虚拟属性 - 2

    我这个模型:classBunny每当我提交一个表单来创建这个模型时,我都会收到以下错误:#的未定义方法“number_before_type_cast” 最佳答案 我通过将此方法添加到我的Bunny模型中解决了这个问题:defnumber_before_type_castnumberend我不喜欢它,但我想在有人发布更好的解决方案之前它会起作用。 关于ruby-on-rails-Rails验证虚拟属性,我们在StackOverflow上找到一个类似的问题: h

  9. ruby - 使用哪种群发消息技术? - 2

    我感到有点困惑——大约24小时以来,我一直在考虑在我的项目中使用哪种组播技术。基本上,我需要的是:创建组(通过一些后端进程)任意客户端广播消息(1:N,N:N)(可能)直接消息(1:1)(重要)使用我自己的后端(例如,通过某种HTTPAPI)对客户端进行身份验证/授权能够通过后端进程(或服务器插件)踢出特定的客户端这是我要的:Ruby或Haxe中的后端相关流程JS+Haxe(Flash9)中的前端—在浏览器中,因此理想情况下通过80/443进行通信,但不一定。因此,这项技术必须能够在HaxeforFlash中轻松访问,最好是Ruby。我一直在考虑:RabbitMQ(或OpenAMQ)、

  10. 企业大数据发展面临问题之存算分离技术思考 - 2

    文章目录概述背景为何要存算分离优势**应用场景**存算分离产品技术流派华为JuiceFSHashDataXSKY概述背景Hadoop一出生就是奔存算一体设计,当时设计思想就是存储不动而计算(code也即是代码程序)动,负责调度Yarn会把计算任务尽量发到要处理数据所在的实例上,这也是与传统集中式存储最大的不同。为何当时Hadoop设计存算一体的耦合?要知道2006年服务器带宽只有100Mb/s~1Gb/s,但是HDD也即是磁盘吞吐量有50MB/s,这样带宽远远不够传输数据,网络瓶颈尤为明显,无奈之举只好把计算任务发到数据所在的位置。众观历史常言道天下分久必合合久必分,随着云计算技术的发展,数据

随机推荐