1摘要

本文介绍了互联网接入层可靠性设计的发展和实现。随着互联网业务的快速的扩张和网络架构的发展,接入层可靠性也经历了从分到合,又从合到分的发展历程。本文讲述这一过程的同时也会详细阐述去堆叠技术的原理和实现方式。

2服务器接入发展

随着互联网的爆发式增长,数据中心的规模也越来越大,数据中心网络架构有传统的二层架构,过渡成为了OSPF和BGP的全三层架构,理论上BGP三层架构组网中可以承载100000+的服务器。

图1服务器接入发展

随着互联网数据中心架构的发展,服务器接入的发展也经历了三个阶段,这三个阶段分别为:

图2服务器接入的发展阶段

第一阶段,接入层的交换机不支持虚拟化,接入交换机独立运行,服务器网卡工作在主备模式,主用设备故障时网卡会发生切换,交换机表项依靠数据流量进行刷新。

第二阶段,接入层交换机支持IRF等虚拟化技术,支持将多台设备虚拟化为一台,支持与服务器进行链路聚合,从而在提高可用性的同时实现链路双活,提高链路利用率。

第三阶段,由于IRF等虚拟化技术实现门槛较高,同时也存在控制层面唯一,升级困难等问题。在M-LAG和S-MLAG的技术出现后,实现了在接入层交换机控制层面分离的情况下实现了接入层链路双活接入,同时S-MLAG实现相对非常简单,已经被互联网用户所接受。S-MLAG又称之为“去堆叠”,接下来的文章向大家详细阐述S-MLAG技术的原理和实现。

3去堆叠技术实现原理

链路聚合模式分为静态聚合和动态聚合,与服务器聚合的对应模式如下:

在静态聚合模式中可以很简单实现跨设备链路聚合,只要接口UP同时关键配置一致时接口就可以处于聚合选中,但是静态聚合缺乏LACP报文对链路的监控和与邻居的协商机制,在聚合模式选择中通常选择动态聚合模式,服务器linux操作系统称为mod5。为了在去堆叠方案中实现跨设备链路聚合,需要解决两个问题:

3.1在动态链路聚合中,如何让服务器认为连接对端的接入交换机是同一个网络设备?

图3 LACPDU报文

图3为LACPDU报文,在动态聚合中当Partner_System_Priority和Partner_System一致时,则认为对端设备为同一个设备。同时本端的不同端口接收LACPDU报文中要求Pantner_Port不一致Partner_key一致时则可以聚合成功。

图4 S-MLAG配置实现

S-MLAG配置实现如下:

配置LACP的系统MAC地址:lacp system-mac mac-address(xxxx-xxxx-xxxx)

配置LACP的系统优先级:lacp system-priority priority(0-65535)

配置LACP的系统编号lacp system-number number(1-3)

配置聚合接口加入S-MLAG组port s-mlag group group-id(1~1024)

3.2在堆叠方案中两台设备虚拟为一台,控制层面只有一个,两台设备的表项依靠LIPC进行同步,M-LAG方案中依靠M-LAGPDU进行同步,在S-MLAG方案中两台设备控制层面完全独立,路由、ARP、MAC表项是如何同步的呢?

1.接入层交换机将主机的ARP路由转换成为直连路由,并引入到BGP路由完成路由同步,到达服务器的流量由32位主机路由来引导。

图5 ARP生成直连路由引入OSPF\BGP路由协议中

如图5所示,将ARP生成的直连路由引入到OSPF\BGP路由中,从而达到全网设备主机路由的同步。

2.服务器在发送ARP请求和应答需要在聚合的所有成员接口网卡进行发送与接收,又叫做“ARP双发”。实现去堆叠设备的ARP和MAC表项同步。按照流量HASH原理,ARP报文会按照算法选择BOND成员网卡中的一个进行发送,这样去堆叠的两台设备ARP表项就不会同步。这时候需要修改服务器操作系统内核,在发送ARP报文时在所有BOND的成员网卡发送。

图6 ARP双发

在服务器上看聚合接口状态是两个物理网卡聚合在一起的逻辑接口,单条物理线路的UP/DOWN逻辑的接口状态并没有变化,并不能触发服务器发送免费ARP的更新,如果没有32位主机路由的牵引可能会造成流量负载不均衡。所以需要服务器的OS内核进一步优化,当服务器成员接口发生UP/DOWN时,发送免费ARP进行更新。

3.两台接入交换机连接服务器的三层网关接口MAC地址更改为相同的MAC地址,避免两台设备发送不同的MAC地址造成服务器侧ARP表项反复切换。

3.3为了保障故障快速切换,在网络设备的配置上还需要做如下优化配置:

1.接入设备开启BUM隔离、本地ARP代理,避免在相同TOR接入服务器相互学习到真实MAC的ARP,因为在服务器某一服务器网卡DOWN之后,该TOR的其他服务器访问该服务器还使用真实MAC封装,就会导致访问异常。这时需要TOR交换机开启BUM流量隔离,接入交换机网关开启本地ARP代理功能,在同一TOR下服务器的二层流量也需通过三层转发。

2.开启TOR上行接口监控。如果TOR的上联接口全部DOWN时,下行接入服务器无法感知到,服务器会继续向故障TOR发送数据。这时需要配置monitor-link监控上行线路,当上行接口全部故障时,关闭下行接口,同时上行接口UP时,下行接口也需要延迟UP。因为上行接口的BGP等路由协议收敛速度远远大于下行接口链路聚合收敛速度,所以需要在上行接口UP时,下行接口延迟UP。

3.开启ARP主动探测。去堆叠方案中去往服务器的流量都是由32位主机路由进行引导,如果出现静默主机无法生成ARP主机路由的情况,在此种情况下可以通过交换机主动探测ARP功能进行优化。

4堆叠与去堆叠技术对比

在去堆叠方案中将两个控制层面完全独立的交换机上面实现了服务器的双活接入,下面表1是S-MALG、M-LAG和堆叠的三种接入方案的详细对比:

表1 S-MALG、M-LAG和堆叠的三种接入方案的对比

去堆叠具有良好的兼容性,可以实现不同厂家设备的异构,这是M-LAG和堆叠无法做到的。M-LAG和堆叠在底层实现十分复杂,需要进行大量表项和状态同步工作,去堆叠对交换机LACP协议进行简单的改动就可以实现,三层表项通过现有路由协议同步,二层表项通过服务器“ARP双发”实现。

去堆叠也有其劣势,为了实现“ARP双发”需要修改操作系统内核代码,对维护和开发人员要求都非常高,互联网使用的操作系统比较单一都是Linux操作系统,操作系统版本统一,容易完成修改和适配。设备发生故障收敛时相对于堆叠收敛还是有一定差距的,同时S-MLAG方案的适配场景相对单一,必须是全三层组网,接入的二层隔离也限制了组播等一些应用。

5去堆叠技术总结

S-MLAG解决方案在不更改现有服务器接入模式的情况下,经过对交换机LACP协议简单的修改完成跨设备动态链路聚合,但是S-MLAG解决方案也有一定的局限性,需要对操作系统内核ARP部分进行修改,门槛要求较高。在特定组网中经过对协议的简单改造解决复杂的问题,S-MLAG解决方案为我们对网络架构设计提供了另外一种思路。

mlag 堆叠_S-MLAG解决方案介绍相关推荐

  1. 堆叠与M-LAG,为什么要从堆叠切换为M-LAG?

    什么是堆叠? 堆叠技术是指把多个支持堆叠的设备组合在一起,逻辑上合为一台整体设备.用户可以将这多台设备看成一台单一设备进行管理和使用.这样既可以通过增加设备来扩展端口数量和交换能力,同时也通过多台设备 ...

  2. #研发解决方案介绍#基于ES的搜索+筛选+排序解决方案

    郑昀 基于胡耀华和王超的设计文档 最后更新于2014/12/3 关键词:ElasticSearch.Lucene.solr.搜索.facet.高可用.可伸缩.mongodb.SearchHub.商品中 ...

  3. 分布式思想和rpc解决方案介绍

    分布式思想和rpc解决方案介绍 参考文章: (1)分布式思想和rpc解决方案介绍 (2)https://www.cnblogs.com/codetree/p/9949901.html 备忘一下.

  4. 著名ERP厂商的SSO单点登录解决方案介绍一

    著名ERP厂商的SSO单点登录解决方案介绍一 参考文章: (1)著名ERP厂商的SSO单点登录解决方案介绍一 (2)https://www.cnblogs.com/wintersun/p/557148 ...

  5. #研发解决方案介绍#基于StatsD+Graphite的智能监控解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 关键词: 监控 .dashboard.PHP.graphite.statsd.whisper.carbon.grafana.i ...

  6. 数字化转型,赋能新零售解决方案介绍

    全量用户数据+新兴技术应用,支撑全渠道业务优化.赋能新零售. --甘来.天正和神策数据获零售巨头认可 科尔尼最新发布的<2017 全球零售发展指数>报告中预测,2017 年,中国经济增长中 ...

  7. NAT穿透解决方案介绍

    NAT穿透解决方案介绍 参考文章: (1)NAT穿透解决方案介绍 (2)https://www.cnblogs.com/javaminer/p/3575282.html 备忘一下.

  8. abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二)

    abp(net core)+easyui+efcore实现仓储管理系统--解决方案介绍(二) 参考文章: (1)abp(net core)+easyui+efcore实现仓储管理系统--解决方案介绍( ...

  9. #研发解决方案介绍#Tracing(鹰眼)

    #研发解决方案介绍#Tracing(鹰眼) 参考文章: (1)#研发解决方案介绍#Tracing(鹰眼) (2)https://www.cnblogs.com/zhengyun_ustc/p/55so ...

  10. H3C云桌面解决方案介绍

    H3C云桌面解决方案介绍 云桌面时代:使传统PC的操作系统.应用程序及数据与终端硬件分离. 存储.计算以及操作系统.应用程序全部迁移到云数据中心 PC变成终端设备 用户最终访问的都是数据中心里面的虚拟 ...

最新文章

  1. 昨天又帮爸DIY了一台工作电脑
  2. hdu2489 Minimal Ratio Tree
  3. RNN循环神经网络概述
  4. python 编程语言排行榜_2019年6月编程语言排行榜:Python 排名飙升,三年内有望超越Java...
  5. no route to host什么意思_Day 74:Vue里的route和router
  6. python-面向对向-实例方法的继承-多继承父类中的super与子类实例对象的关系
  7. python教程-做个淘宝双十一满减攻略
  8. 【动态规划】区间dp: P1063能量项链
  9. CMD恶搞命令集,假装自己是黑客
  10. acme 生成通配符 SSL 证书
  11. 供应链金融三种模式介绍及对比
  12. redis修改密码(windows)
  13. CodeForces55A - Flea travel 解题报告
  14. 粒子滤波(particle filtering)梳理
  15. socat 端口转发
  16. Python房价分析和可视化<anjuke二手房>
  17. 当“思岚”激光雷达邂逅盲人拐杖
  18. 《Java Concurrency in Practice》之可见性(Visibility)
  19. 凤凰系统无法更新play服务器,进不去系统怎么解决,点击进入后就重启,win10和凤凰双系统...
  20. 电脑病毒已灭绝,是真的吗?

热门文章

  1. 程序员专属精美简历合集—第二弹
  2. OpenStack-Mitaka 一键安装测试环境脚本
  3. Linux(CentOS 7)安装docker
  4. C#中使用SqlBulk百万级数据秒级插入
  5. mysql语句随机数_程序生成随机数与SQL语句生成随机数
  6. 深度学习 autoencoder_笔记:李淼博士-基于模仿学习的机器人抓取与操控
  7. 编程c语言顺口溜,C语言运算符优先级顺口溜[转]
  8. java 接口文件夹_Java NIO.2 使用Path接口来监听文件、文件夹变化
  9. python日期迭代_计算敏捷项目中迭代时间安排(Python3版)
  10. 广州计算机操作员培训,汕尾市计算机操作员报名考试时间地址及培训入口