首页 > 基础设施 > 正文

以太网虚拟专用网络在现代数据中心的兴起

2018-09-17 10:06:30  来源:企业网D1Net

摘要:Dinesh Dutt对正在兴起的以太网虚拟专用网络(EVPN)表达了自己的专业观点。并讨论了数据中心的实用性和局限性。
关键词: 以太网 数据中心
  Dinesh Dutt是Cumulus Networks公司的首席科学家,是以太网络行业领域的领导者,日前主持了Ivan Pepelnjak的以太网虚拟专用网络(EVPN)网络研讨会。
 
  Dinesh Dutt对正在兴起的以太网虚拟专用网络(EVPN)表达了自己的专业观点。并讨论了数据中心的实用性和局限性。
 
  如今,数据中心架构经历了许多设计阶段,并正处于转型过程中。在理想情况下,网络技术经历了三个发展浪潮。如今处于第三个浪潮阶段,它基于以太网虚拟专用网络(EVPN)。在技术方面需要以某种方式进行倾斜,目前,网络发展的重点是第三层网络。随着越来越多的企业采用叶片拓扑和叶脊拓扑结构,以太网虚拟专用网络(EVPN)成为了传统应用程序在这种架构上运行的技术。为了更好地理解,让我们了解第三个浪潮的网络机制。
 
  数据中心的起点
 
  第一个发展浪潮是尝试建立一个类似于以往企业网络设计方式的数据中心。它包括标准访问、聚合和核心层,这导致了行架构的终结。第一个发展浪潮由网络中心的设备组成,以作为通往外部世界的门户。
 
  第一个发展浪潮的网络架构适用于从北到南的流量。这种类型的流量将流入和流出数据中心。但是,在数据中心内部运行的许多应用程序需要交叉通信和相互通信的能力。另一方面,虚拟化是新的东西流量的重要推动力。
 
  不幸的是,第一个浪潮的网络设计无法有效地进行东西流通。出现了依赖于第二层网络 (Layer2)引起的规模和可靠性问题。第二层网络 (Layer2) 在许多情况下依赖于脆弱的协议,其中包括专有扩展。
 
  整个访问、聚合和核心架构围绕第二层网络 (Layer2)交换模型进行构建。这意味着使用第二层网络 (Layer2)报头转发整个流量,直到它到达网络中心,例如生成树协议(STP)、多机架链路聚合(MLAG)、大量链路透明互连(TRILL)以及思科FabricPath等技术都围绕着使用第二层网络交换模型的思想构建。
 
  然而,与启动第二层网络 (Layer2)设计的健壮第三层网络模型相比,第二层交换模型在网络冗余、规模和可靠性方面表现出许多缺点。
 
  第二层网络 (Layer2)和第三层网络 (Layer3)的主要区别在于数据包转发的工作方式。在第三层网络中,在媒体访问控制(MAC)地址级别查找地址,并且由MAC地址执行分组转发。这与第三层网络形成对比,在第三层网络中,寻址在网络层工作,网络层是全球大红鹰网站登录协议(IP)地址。
 
  如何实现健壮的网络
 
  健壮的网络规则不应包含单个故障域,这可能导致网络分区。因此,企业需要考虑冗余设计。但是,当其在网络中有冗余时,如何以不会导致循环的方式转发数据包?
 
  有利的是,第三层网络具有所谓的路由协议,例如BGP、OSPF、IS-IS和Cisco的EIGRP。其路由协议支持构建无环路转发拓扑。
 
  第二个方面是IP报头中称为生存时间(TTL)的字段。每次数据包遍历第三层设备时,TTL减1。一旦TTL变为零,数据包就会被丢弃。
 
  因此,在第三层网络设计中,有两种机制来防止环路的形成。首先是IP报头中的TTL字段,其次是为给定前缀构建无环路转发路径的路由协议。但是在第二层网络中,人们并不拥有这样的机制。
 
  第二层网络易用性模型
 
  第二层网络模型围绕易用性模型构建。在早期,路由协议被认为使用比较复杂。配置路由协议被认为是复杂的硬件数据包交换,因此从第二层网络开始,吞吐量更高,延迟更低。,即使到今天,大多数供应商还要收取使用路由的额外许可费,但第二层网络没有这种费用。第二层网络的引入遵循了完整的易连接性。
 
  然而,第二层网络模型也有一些非常危险的缺点。第二层网络模型没有可以构建无环路转发路径协议。相反,它基于洪水泛滥。实质上,如果第二层网络交换机不知道目标MAC地址,它会将数据包溢出到数据包所在端口以外的所有端口,然后记录源MAC地址。
 
  需要在第二层网络中具有冗余,以便单个故障域不会导致网络分区或节点被黑洞化。为了避免这些问题,网络需要冗余路径。
 
  但是,如果没有生存时间(TTL)或机制来为给定前缀构建无环路转发路径,则循环可能导致数据包永远循环。它只是淹没数据包,在冗余路径的情况下,被淹没的数据包可能导致完全的网络崩溃。
 
  防止第二层网络中的环路
 
  为了防止第二层网络环路,引入了生成树协议(STP)。生成树查看所有冗余路径,然后删除它们。
 
  生成树协议构建了一个适用于网络中每个数据包的无环路拓扑,这与为每个源路由器构建无环路拓扑的路由协议不同。
 
  供应商引入了各种技巧,使生成树的执行效率更高,但导致网络不稳定的基本部分是洪水泛滥。它导致终端站遭受损失,这成为了DoS攻击的可能性。
 
  关闭失败或打开失败
 
  路由协议未能关闭。如果路由协议不知道如何到达目的地,它将不会将数据包发送到该目的地。
 
  但是,生成树协议执行相反的操作并且无法打开。生成树的构建方式是:“如果我没有收到你的回复,那么我认为你需要一个我的数据包。如果我没有听到你的问候,这与后面的路由协议形成对比,我认为你不想和我通信。”
 
  打开失败在很多方面都是危险的。例如,导致单向连接的坏电缆或者加载的CPU无法及时发出hello数据包,可能会构造一个环路。通过路由,TTL最终将终止数据包,从而阻止环路。但是,由于第二层网络中没有TTL,因此固有地创建了一个不稳定的网络。
 
  第二层网络具有较大的扩散半径,并且没有细粒度的故障域。单个链路故障可能会影响整个网络。所有这些因素都认为第一次网络浪潮的数据中心设计无效。更简洁的设计是从第二层网络交换模型转向IP和网络路由协议。
 
  数据中心设计的第二个发展浪潮
 
  第二个发展浪潮的数据中心设计是构建可扩展的网络,这些网络是可预测的、强大的、并支持细粒度的故障域设计。除了有效支持东西流量以外,还需要尽可能多的转发能力。屏蔽双绞线(STP)阻止了额外带宽的使用,因此必须使用替代协议。
 
  这一挑战与20世纪50年代早期的电话网络面临的挑战没有什么不同。贝尔实验室Charles Clos博士采用Clos网络拓扑解决了这个问题。Clos网络拓扑可以扩展到多个层。其开创性的网络规模公司使用具有低端口数的小型白盒交换机,因此它们需要8层Clos网络。但是,对于大多数人来说,两层就已经足够好。
 
  数据中心设计的新浪潮被称为叶片和叶脊,它本质上是一个Clos网络。该设计允许人们构建不受单个单元规模限制的网络。但是,如果你想到第二层网络,那么规模就受到限制。
 
  容量不仅受端口数量的控制,还受控制平台的控制。此外,重要的是它能够以多快的速度发送STP数据包,而不会有引起网络崩溃的风险。然而,叶片网络和叶脊网络拓扑通过利用所有冗余链路的容量来实现高容量。使用此拓扑结构可以完美地实现IP和路由,因为它不需要特定于供应商的障碍。
 
  因此,通过切换到IP,第二层网络的不稳定性消失,可以实现具有IP转发的高容量直接网络。叶片和叶脊网络拓扑设计提供了非常简单的构建块。
 
  迁移到白盒
 
  所以现在,有机会建立非常简单的IP转发网络。然而,行业巨头当时进行了部署,例如思科或瞻博网络,由于网络拓扑现在非常简单,因此不需要支付高额费用。
 
  所需要的只是IP路由和转发协议。其结果是人们开始看到白盒交换机的介绍。最初,白盒交换机并没有采用很好的CPU,因此,像谷歌这样的公司无法在它们上面运行路由协议。所有控制逻辑的集中化都是开箱即用的,使本地设备只对商用芯片进行编程。这导致了OpenFlow模型的兴起。
 
  随着时间的推移,其他网络规模公司设计了传统的分布式路由协议来设置转发而不是将其拉出到集中位置。
 
  具有叶片和叶脊体系结构的路由协议
 
  首先,有两种类型的路由协议:距离矢量和链路状态。要了解它们之间的区别,人们需要知道它们如何传达信息。
 
  通过距离矢量,可以告诉邻居对整个世界的看法。然而,链接状态协议通过将每个人的局部视角拼接在一起来拼凑成全局视角。
 
  通常,网络运营商更喜欢距离矢量上的链路状态协议。这是因为在出现故障时,链路状态协议更好更快解析到目的地的路径。然而,距离矢量协议有时会混淆并遇到问题,例如计数到无穷大。
 
  但是,在链接状态的情况下,链接状态数据库规模可能成为问题。它们具有区域或级别的概念,用于将域分解为层次结构以避免扩展问题。
 
  边界网关协议(BGP)是一种距离向量的变体,称为路径向量协议。边界网关协议(BGP)运行全球大红鹰网站登录,并且操作简单,却是一种复杂成熟的协议,可能需要路由协议的所有部署和操作经验。它可以通过多种方式实现,其中包括开源路由套件。
 
  数据中心设计的第三次发展浪潮
 
  然而,仍然存在的问题是应用程序假设它们存在于原有的第一次发展浪潮模型中。应用程序假设他们在一个层中运行,他们通过广播“hello”,可以与邻居中的每个人交谈。
 
  但是,通过路由广播“hello”,数据包被抑制并被丢弃。在第一次发展浪潮期间设计的应用仍然希望在原有基础设施中那样运行,即使它们处于第二次发展浪潮数据中心设计中。他们仍然需要广播“hello”,而不是采用服务发现的记录DNS。
 
  其结果是,需要找到一种方法将第一次发展浪潮应用与第二次发展浪潮的数据中心相结合,从而产生以太网虚拟专用网络(EVPN)。它仍然围绕fabric的概念构建,但它是使用叠加层构建的。叠加层给出了第一次发展浪潮应用程序位于第二层网络中的错觉。
 
  网络虚拟化
 
  网络虚拟化是用于产生上述错觉的技术,并且通过分层(即创建覆盖)来执行。
 
  网络虚拟化构建了一个网络隧道,它与真实世界的隧道完全相同。除非以某种方式绕过或穿过隧道,否则现实世界隧道两端的两个端点无法通信。
 
  在网络中构建隧道的方式基本上是通过向现有数据包添加另一层报头来完成的。通常,众所周知的层是多协议标签交换(MPLS),其是IP分组上的层。然而,多协议标签交换(MPLS)在数据中心中是复杂的,这就导致了需求,为什么不使用基于IP的技术?这产生了虚拟可扩展LAN(VXLAN)。
 
  那么进行一下总结:在第二层网络中,我们有一个生成树协议(STP)的控制平台和使用路由协议的第三层网络。在这里想到的问题是,什么样的控制面板可以用于VXLAN?实质上,虚拟可扩展LAN(VXLAN)的控制协议需要做两件事。首先,哪些端点可用于隧道,即目的地到隧道的映射,其次,它需要告诉你在哪里以及有多少个隧道。以太网虚拟专用网络(EVPN)就是答案。
 
  为了创建错觉,边界网关协议(BGP)作为协议已经支持MAC可达性信息的传输,而不仅仅是IP地址。在以太网虚拟专用网络(EVPN)内,边界网关协议(BGP)是用于构建虚拟隧道的控制平台协议,使第一次发展浪潮的应用能够在第二次发展浪潮的网络上运行。

第二十八届CIO班招生
法国布雷斯特商学院MBA班招生
法国布雷斯特商学院硕士班招生
责编:pingxiaoli
博聚网