NVGRE标准:在云中实现更多VLAN和独立租赁

日期: 2011-10-16 作者:David Jacobs翻译:曾少宁 来源:TechTarget中国 英文

最近由微软、Arista、英特尔、戴尔、惠普、Broadcom和Emulex向IETF提交的通用路由封装(NVGRE)标准提案,和由思科、VMware、Citrix、红帽、Arista和Broadcom提出的VXLAN标准,实际上都使用封装策略来创建大量的VLAN子网,这些子网可以扩展到分散的数据中心和2、3层网络。二者都旨在实现在云和专有网络中共享负载均衡的多租赁网络。   NVGRE通过租赁网络标识符解决多租赁网络问题   一个大型的云可以支持数以百计的租赁用户,每个租赁用户又可以同时运行多个应用,他们之间的流量都是相互隔离的。   目前,VLAN可以用来分隔流量,但是这种方法受限于几个缺……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

最近由微软、Arista、英特尔、戴尔、惠普、Broadcom和Emulex向IETF提交的通用路由封装(NVGRE)标准提案,和由思科、VMware、Citrix、红帽、Arista和Broadcom提出的VXLAN标准,实际上都使用封装策略来创建大量的VLAN子网,这些子网可以扩展到分散的数据中心和2、3层网络。二者都旨在实现在云和专有网络中共享负载均衡的多租赁网络。

  NVGRE通过租赁网络标识符解决多租赁网络问题

  一个大型的云可以支持数以百计的租赁用户,每个租赁用户又可以同时运行多个应用,他们之间的流量都是相互隔离的。

  目前,VLAN可以用来分隔流量,但是这种方法受限于几个缺陷。例如,VLAN总是无法处理很多的容量分割需求。在一个大型的虚拟云环境中,每个应用都是由多个VM中运行的组件组成的,而每个应用交互的VM流量都必须分别位于独立的VLAN中。结果:所需要的VLAN总数量很容易超出IEEE 802.1Q VLAN定义的上限:4,094。

  当VM在物理服务器之间迁移时,又会出现第二个问题。VM迁移不得影响应用程序,因此,2层协议的地址必须保持不变。针对这种情况,网络必须重新配置,将VLAN扩展到不同服务器,而这个过程很容易出错。

  通过指定24位的租赁网络标识符(TNI),NVGRE解决了这些问题。每个TNI都定义了一个虚拟的2层网络,最多支持1.6千万个网络。

  NVGRE创建了一个虚拟2层网络

  NVGRE是一个由RFC 2784定义和RFC 2890扩展的通道协议,该协议提供了一种封装方法,将数据包发送到2层或3层网络目的地址。NVGRE提议使用GRE来创建一个独立的虚拟2层网络,限制物理2层网络或扩展超过子网边界。

  每个TNI都与一个GRE通道相关联。从通道终端发送的数据包会通过IP组播送往与同一个TNI相关的另一个终端。使用多播技术意味着通道可以扩展到3层网络,将一个大型的广播域划分成多个较小的域,从而限制广播流量。

  NVGRE终端接收来自VM的以太网数据包,将它们封装并通过GRE通道发送出去。终端会打开接收的数据包,将它们分配给对应的VM。虽然终端可能位于任意组件,但是一般情况下,它们都是在服务器的虚拟机管理程序中。

  每个NVGRE终端都配置了一个或多个IP地址。每个IP地址叫做供应商地址(PA)。VM的IP地址是客户地址(CA)。为终端配置多个PA就可以实现负载均衡。但这个提案并没有定义流量如何根据特定CA或负载均衡算法分配给某个PA。

  通过NVGRE标准隔离租赁数据

  NVGRE终端通过在GRE头插入INT指示符的方式分隔各个TNI。TNI指示符是位于RFC 2890规定的关键域中。虽然该关键域定义为32位域,但是TNT会占用24位,其余8位为保留位。NVGRE不使用RFC定义的序列号。

  封装了数据包的NVGRE终端必须定义数据包发送的目标地址。目前,NVGRE提议草案将这个问题延迟到后续版本,它规定:“控制面板可以使用任意技术进行配置、发现和分配策略信息”。

  通过NVGRE将整个子网迁移到云中

  虽然提案并没有指定CA和PA地址的配置方法,但是它可以静态、动态或使用无状态地址自动配置方式来解决分配问题。IPv4或IPv6都是可以使用的。CA能配置IPv4地址,同样的,PA也能配置IPv6地址空间。

  根据NVGRE提案,这个标准旨在让企业能够将整个子网迁移到云中。子网的一部分可以迁移,而剩下的运行在企业网络中,这样,VPN就可以将云连接到企业网络中。

  有效使用网络需要在多个网络路径中分散流量。提案规定,诸如ECMP的技术可以与保留的8位GRE头关键域一起使用,支持多路径使用。这个提案并不包括实现负载均衡流的算法细节。另一个实现ECMP的方法是在服务器中分配多个PA。然后,交换机可以在PA的路由中分散传输流量。

  NVGRE标准与VXLAN标准

  很明显,两个提案都解决了相同的问题:4094个VLAN无法支持多个云租赁和应用程序。提案的其他主要相似点包括:

  1. 引入了新的24位标识符
  2. 使用通道在网络和子网边界传输数据包
  3. 使用组播来连接网络VM中运行的应用程序组件

  这两个提案的不同之处在于存储目标地址的位置。VXLAN提案详细地描述了数据包是如何通过通道寻找到目标终端。而NVGRE提案将定位目标的方法延迟到后续版本。

  两种提案都认为负载均衡是实现有效运营的必要条件。VXLAN解释了如何通过随机分配端口号来分散负载。NVGRE建议使用GRE关键域中的保留8位,但是没有详细介绍它们的使用方法。

  总之,VXLAN更为全面。思科和VMware都发布了支持这个标准的产品。而NVGRE提案还需要进一步完善,才能发布产品。

翻译

曾少宁
曾少宁

TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。

相关推荐