在过去的几年里,我涉足了太多的技术领域,以至于我都忘记了自己在数据中心这个世界是从哪里开始的。雷竞技电脑网站因此,我决定深入研究流行的原因,并直接前往由Dinesh Dutt主持的Ivan Pepelnjak的以太网VPN (EVPN)研讨会。
我知道区分迪内希的,因为他是在积云网络的首席科学家,对我来说,他是这个领域的领导者。之前,他阅读书中对EVPN,我决定给Dinesh打个电话,就EVPN的开始交换我们的意见。我们讨论了数据中心的实用性和局限性。雷竞技电脑网站这是我们讨论的一段节选。
事实上,我们目前正处于过渡阶段,数据中心架构已经经历了许多设计阶段:让我们称之为waves。雷竞技电脑网站理想情况下,通过每个波转换是一种网络卫生。我们现在处于基于以太网EVPN的wave 3。在技术上有一种偏向,它在某些方面倾斜,目前,倾斜是向第三层网络。随着越来越多的企业采用叶和脊拓扑,EVPN成为了一种技术,可以让传统应用程序在这种体系结构上工作。为了更好地理解,让我们来学习这三种波的力学。
数据中心的起点
第一波是建立类似于企业如何网络被设计在过去的一个数据中心的尝试。雷竞技电脑网站它包括导致结束行的体系结构的标准接入,汇聚层和核心层。波一个由一对神盒中央于作为通往外部世界的网络。
波浪一号建筑适用于北向南的交通流。这种类型的流量流进出数据中心。雷竞技电脑网站然而,许多在数据中心内部运行的应用程序需要跨通信和它们之间的通信能力。雷竞技电脑网站另一方面,虚拟化是一个巨大的推动新的东西交通流量。
不幸的是,波浪一号的设计并没有有效地工作,为东到西的交通。主要问题是由于对第二层的依赖而导致的规模和可靠性问题。第二层网络依赖于脆弱的协议汤,在许多情况下,包括专有的扩展。
整个访问、聚合和核心体系结构是围绕第二层交换模型构建的。这意味着在到达位于网络中心的“上帝”盒之前,整个流量都使用第2层报头进行转发。诸如生成树协议(STP)、多机箱链路聚合(MLAG)、大量链路的透明互连(TRILL)和思科的FabricPath等技术都是围绕使用第二层交换模型的思想构建的。
然而,层2交换模型浮出水面许多缺点网络冗余,规模和可靠性在对比的是启动的第二设计波鲁棒层3网络模型。
第2层和第3层网络的主要区别是包转发的工作方式。在第2层网络中,地址在媒体访问控制(MAC)地址层被查找,数据包转发由MAC地址执行。这与第三层网络形成对比,其中寻址工作在网络层,这是互联网协议(IP)地址。
如何实现强大的网络
强大的网络的规则不应该纳入单一故障域,这可能导致网络分区。因此,你需要考虑到冗余设计。然而,当你在网络中有冗余,你怎么不会导致一个循环的方式转发数据包?
有利的是,第3层网络有,什么作为,路由协议,例如BGP,OSPF,IS-IS和思科的EIGRP。路由协议使得无环路拓扑的转发的结构。
第二个方面是IP报头中的一个字段,称为生存时间(TTL)。每当一个包穿越第3层设备时,TTL减少1。一旦TTL变为零,数据包就会被丢弃。
因此,在第三层网络设计中,我们有两种机制来防止循环的形成。首先是IP报头中的TTL字段,其次是为给定的前缀建立无环转发路径的路由协议。然而,在第二层网络中,我们没有足够的幸运拥有这样的机制。
层2的易用性模型
层2模型围绕易用性模型构成。在更早的时候,路由协议被认为是复杂的,复杂的使用。配置路由协议被认为是复杂的,硬件分组交换和因此更高的吞吐量和更低等待时间开始与层2网络;大多数供应商,甚至到今天,收取额外的许可费用使用路由,但没有为层2.引进第2对网络的完全遵循方便的连接。
然而,在第2层模型的背后,打开了潘多拉的盒子,里面有一些相当危险的缺点。layer 2模型没有协议,允许构建一个无环转发路径。相反,它是建立在洪水之上的。本质上,如果第2层交换机不知道目的MAC地址,它就会将数据包发送到除数据包传入端口之外的所有端口,然后记录源MAC地址。
我们需要有冗余层2网络中,使得单个故障域不会导致网络分区或一个节点被黑洞处置。为了规避这些问题,网络需要冗余路径。
然而,如果您没有TTL或为给定的前缀构造无环转发路径的机制,那么环可能会导致包永远循环。它只是淹没了数据包,在路径冗余的情况下,一个淹没的数据包很快就会导致网络完全崩溃。
防止环路在层2个网络中
为了防止第二层网络循环,引入了生成树协议(STP)。生成树会查看所有的冗余路径,然后删除它们。这就是我所说的有趣的方法!
生成树协议构造一个适用于网络中每个包的无环拓扑,这与路由协议构造每个源路由器的无环拓扑不同。
推出各种技巧,让生成树供应商更高效地进行,但是这是造成网络不稳定的基本组成部分是洪水。这导致终端站之苦,这成为DoS攻击的可能性。
失效关闭或失效开放
路由协议失败关闭。如果一个路由协议不知道如何到达一个目的地,它将不发送数据包到那个目的地。
然而,生成树协议做相反的事情,并且打开失败。生成树的构造方式是,如果我没有收到你的信息,我就假设你需要我的数据包。这与路由协议形成对比,如果我没有听到你的问候,我认为你不想和我说话。
开放失败在很多方面都是危险的。例如,一个坏的电缆导致单向连接,或者一个加载的CPU不能及时发送一个hello包,可以构造一个循环。通过路由,TTL将最终杀死数据包,从而阻止循环。然而,由于在第2层中没有TTL,您在本质上创建了一个不稳定的网络。
第二层网络爆炸半径大,没有细粒度的失效域。单个链路故障会影响整个网络。所有这些因素都认为第一波数据中心设计是无效的。雷竞技电脑网站一个干净的设计是从第二层交换模型移动到IP和网络路由协议。
第二波数据中心设计雷竞技电脑网站
数据中心设计的下一个浪潮是构建可扩雷竞技电脑网站展的网络,这是可以预测的,健壮的,并支持细粒度故障域的设计。除了东部有效地支持向西流量,我们需要尽可能多的转发能力越好。STP防止使用额外的带宽等的替代协议必须被使用。
这个挑战是从什么是面临的电话网络在20世纪50年代初回没有什么不同。查尔斯·克洛斯解决了这个与克洛斯网络拓扑。克洛斯网络拓扑可以扩展到一个数量的层。创业网络规模的公司使用白色的盒子与低端口数切换所以需要8层克洛斯网络。然而,对于大多数,两层都不够好。
数据中心设计的新浪潮被称为lea雷竞技电脑网站f and spine,本质上是Clos网络。该设计允许您建立一个网络,不受规模限制的单个单元。然而,如果你想到第二层网络,规模被两个中央“上帝”盒子所限制。
容量不仅由港口数量控制,还由控制平面控制。此外,重要的是它能多快地发送STP包,而不会有导致网络崩溃的风险。然而,叶和脊柱网络拓扑通过利用所有冗余链路的容量使高容量成为可能。IP和路由与此拓扑完美地工作,因为它消除了对特定于供应商的组合的需要。
因此,通过切换到IP,消除了第2层的不稳定性,我们可以启用具有IP转发的高容量直接网络。叶和脊柱网络拓扑设计提供了非常简单的构建模块。
移动到白盒
所以,现在,我们必须建立与IP转发非常简单的网络的机会。然而,部署在当时的大牌球员,如Cisco或杜松带着沉重的溢价来了,你也没必要为网络的拓扑结构是现在很简单。
所有的需要,这是IP路由和转发协议。其结果是,我们开始看到引进白盒开关。最初,白盒开关没有很好的CPU;因此,像谷歌开拓公司无法对它们运行的路由协议。所有的控制逻辑的集中被移动开箱,而使本地设备仅编程商家硅。这导致开流模式的兴起。
随着时间的推移,其他网络规模的公司采用传统的分布式路由协议来设置转发,而不是将其拉到一个集中的位置。
路由协议与叶和脊柱架构
首先,有两种类型的路由协议:距离向量和链路状态。要了解它们之间的区别,你需要知道他们是如何传达信息。
通过距离矢量,你可以告诉你的邻居你对世界的整个看法。然而,链接状态协议通过将每个人的局部视角拼接在一起,将全局视角拼凑在一起。
一般情况下,网络运营商更喜欢距离向量链路状态协议。这是因为链路状态协议是更好,更快的在故障的情况下解决到目的地的路径。然而,距离向量协议有时会感到困惑和遇到的问题,如计数到无穷大。
然而,在链路状态的情况下,链路状态数据库的规模可以成为一个问题。他们有被用来打破域成层次结构,以避免结垢问题的区域或层次的概念。
边界网关协议(BGP)是距离向量的变体,称为路径向量协议。BGP运行互联网,操作简单,但却是一种复杂的协议。它是一个成熟的协议,可能是所有路由协议中部署和操作经验最多的。可以通过多种方式实现它,包括开源路由套件。
数据中心设计的第三波雷竞技电脑网站
但是,仍然存在的问题是,应用程序假定他们住在老第一波模型。该应用程序假定他们在一个层,在那里他们可以通过广播跟每个人都在附近经营了“你好”。
然而,随着路由广播“你好”的数据包被抑制,扔掉。终端站不能喊出来,并期望每个人都听到。第一波期间设计的应用程序仍然想操作起来就好像他们是在基础设施第一波即使他们在数据中心设计的第二次浪潮。雷竞技电脑网站他们仍然要大声疾呼针对发现的,而不是做DNS与服务发现服务记录一个“你好”。
其结果是,需要浮出水面来找到一种方法,与结婚第二波数据中心,这引起了以太网VPN第一波应用。雷竞技电脑网站它仍然是围绕结构的织物的概念,但它使用的覆盖建。覆盖给出的错觉第一波应用坐在一个层2网络。
网络虚拟化
网络虚拟化是用于创建上述错觉的技术和通过层叠,即,覆盖层的创建进行。
网络虚拟化构建一个网络隧道,它与现实世界中的隧道完全相同。除非您以某种方式绕过或通过隧道,否则实际隧道两端的两个端点无法通信。
在网络中构建隧道的方法基本上是通过在现有数据包中添加另一层报头来实现的。通常,一个众所周知的层是多协议标签交换(MPLS),它是IP包上的一层。但MPLS在数据中心的应用较为复杂,这就满足了需求;雷竞技电脑网站为什么不使用基于IP的技术呢?这就产生了虚拟可扩展LAN (VXLAN)。
让我们总结一下;在第2层网络中,我们有一个STP控制平面和使用路由协议的第3层网络。在这里,我想到的问题是,VXLAN可以使用什么样的控制平面?实际上,VXLAN的控制协议需要做两件事。首先,哪些端点通过哪些隧道可用,即。,the mapping of a destination to a tunnel, and secondly it needs to tell you where, and how many tunnels you have. EVPN is the answer to that.
为了造成一种错觉,BGP作为协议已经支持的MAC可达性信息,而不仅仅是IP地址的运输。内EVPN,BGP是用于构造虚拟隧道,使得第一波应用到在所述第二网络波操作控制平面协议。