美文网首页
02、为什么需要一个新的网络架构-part2

02、为什么需要一个新的网络架构-part2

作者: 云网徒步者 | 来源:发表于2024-04-17 14:30 被阅读0次

沉舟侧畔千帆过,病树前头万木 ——刘禹锡

一、千七百怪的问题

问题:叙述为啥接入-汇聚-核心的网络架构会成为主流?

答:支持多个上层协议架构网络架构运行的足够快,成本低,管理起来更简便,且很适合客户端——服务器应用架构的这种南北向流量为主的模式。

问题:接入-汇聚-核心网络架构设计带来的问题?

应用程序向分布式演进,愈来愈多的新生的应用程序变成了服务器—服务器架构,而并非以前的客户端—服务器架构,流量也多为东西向流量,而不是之前的南北向流量。同时接入-汇聚-核心针对新的需求也并未满足:

  1. 不可扩展性
    • 泛洪:不管架构上如何分层,自学习型网桥的这种“泛洪和学习”模型并没有可伸缩性。在虚拟机时代,虚拟机或者主机操作系统面对都是一个个虚拟网络,带来的泛洪流量将是海量级。
    • VLAN的限制:云计算时代到来,针对海量虚拟机、容器,4096个VLAN显然不够用。
    • ARP的负担:汇聚交换机需要南向(向下)向众多ARP数据包做出响应,过多的ARP数据包占用整个CPU的处理能力,使得其他控制面协议失效,进而导致某个重要的业务瘫痪,因为需要汇聚交换机的处理的终端只会越来越多,即使并未增加与汇聚交换机相连接的物理主机的数量(vm,docker都会增加)。
    • 交换机和STP的局限性:处理东西向流量增长的方法就是增加汇聚交换机的,但是STP的限制又只能保证两台交换机,如果增加多组,如果链路/或者节点失效造成拓扑改变,就会造成网络拓扑不可预测,那简直是灾难。两台汇聚交换机限制了所能提供的带宽,带宽受限意味着容易阻塞,进而影响应用程序(业务)的性能。
  2. 复杂性
    • 针对桥接网络需要很多网络协议支持,包括STP以及其变种协议、VRRP、VALN等其他厂商私有协议,所有这些协议增加了桥接网络解决方案的复杂性,当网络失效时,必须检查多个运行时组件一遍来定位问题的根因。
    • 当多种协议的组合一起使用时,除非接入-汇聚-核心网络是精心设计的,否则针对故障场景下,这类网络很容易出现阻塞,这就使得对于网络设计,容量规划和故障处理变得负责。
  3. 失效性
    • 数据中心先驱有引入一个名词叫做爆炸半径,来度量单一失效造成的影响范围有多大。接入-汇聚-核心模型容易发生粗颗粒的失效,单个链路失效造成带宽减半,单个汇聚交换机失效造成整网的流量带宽减半,同时也会带来交换机失效等其他连锁反应,从而导致整个网络失效。
    • 另一个连锁反应就是控制面不堪重负时产生的广播风暴的威胁造成。
  4. 不可预测性
    • STP协议根桥选举机制、链路阻塞导致的临时环路问题,总之针对STP环境中存在太多的玄学问题,如:交换芯片问题造成数据包泄露阻塞了交换机端口,不经意间造成网络环路和广播风暴。
  5. 缺乏灵活性、敏捷性
    • 在云计算领域,不停有租户租用云计算资源或者到期不在续租,因此快速的提供虚拟网络变得极其重要,VLAN需要网络中的每一个节点都被正确的配置了VLAN信息以便能够正常工作。但是增加VLAN会造成控制面的负担,这是因为根据PVST协议,控制面所发送的STP握手包的数量等于端口数乘以VLAN的数量,单一的负载过重控制面很容易使整个网络瘫痪,因此通过添加或者删除VLAN是一个费时费力的过程,通常持续数天。

二、M-lag的背景

桥接技术以及支持者不会轻易放弃,有很多解决方案已经被提出来解决桥接的问题,如多链路透明互联协议(TRILL)等,不过在这些协议中有一个协议在当前企业数据中心已经有广泛的使用,甚至被称为最佳实践,这个方案被称为跨设备链路聚合(M-LAG),用于处理双归服务器。


本文参考:

  1. 《云原生数据中心网络》——Dinesh G. Dutt著,赵华冰 范彬 丁亮译
  2. 华为M-LAG介绍:https://info.support.huawei.com/info-finder/encyclopedia/zh/M-LAG.html

相关文章

  • 对于业务架构的一些思考

    我们需要架构么? 什么是架构? 什么好的架构? 系统为什么需要扩展性? 系统为什么需要复用性? 学习【架构实战案例...

  • 深度学习模型压缩技巧

    一、首先,为什么网络模型需要模型压缩? 通常:给定一个精度级别,存在多个达到该精度级别的CNN架构。在同等精度下,...

  • SDN 技术指南(一):架构概览

    摘要 Background:为什么需要 SDN SDN的主要解决方案 SDN的整体应用架构 SDN与网络安全 Op...

  • Remote Loop-Free Alternate (LFA)

    随着运营商网络ALL IP的演进,LTE对IP网络流量的快速倒换也提出了更高的要求,新的架构需要在小于50ms的时...

  • 为什么网络需要分层

    OSI与TCP/IP分层模型 为什么网络需要分层? 大部分软件系统都是分层架构的,为了工程上实现/调试/维护方便。...

  • Linux云计算学习笔记day28

    一、网络新内容 用户层面来分析从系统层面的2.1 OSI 7层网络模型(理想型) ISO架构C/S架构Clie...

  • 架构师概括

    01.架构课程介绍 架构师偏应用运维 练习很重要,实操很重要 老师在讲架构方案时,为什么这样安排 02.成为高级架...

  • 搭建一个完整的swift项目

    对于一个 iOS 项目,在搭建项目的时候,使用的架构为 MVVM 架构,需要考虑的有以下几点: 数据模型 网络请求...

  • 浅谈Android MVC、MVP、MVVM架构

    为什么做架构设计 谈架构之前,我们应该理解,为什么需要做架构设计? 这个问题,单看网上各种架构优缺点分析、什么解耦...

  • 架构之魂:分离业务逻辑和技术细节

    一、目录 架构的常识1. 什么是架构?2. 为什么需要架构?3. 架构师的职责 软件架构 软件架构分类 典型应用架...

网友评论

      本文标题:02、为什么需要一个新的网络架构-part2

      本文链接:https://www.haomeiwen.com/subject/nzosxjtx.html