首页> 中国专利> 用于在大型数据中心处的三层网络架构上缩放IPv6的系统和方法

用于在大型数据中心处的三层网络架构上缩放IPv6的系统和方法

摘要

一些实现方式提供了用于管理数据中心中的交换机的方法,该方法包括:(1)建立从数据中心中的一个交换机到另一交换机的连接,该数据中心提供多个虚拟局域网(VLAN),每个VLAN包括至少一个虚拟机并且能够跨过多个交换机中多于一个交换机;(2)对IPv6地址的设备前缀进行配设,给定的设备前缀与数据中心中的特定交换机上的特定VLAN相对应,给定的设备前缀被包括在特定虚拟机的主机地址中,特定虚拟机被托管于服务器计算机上,服务器计算机被连接至特定交换机而无需附加的中间交换机;(3)将硬件存储器配置为包括前缀信息和地址信息;以及(4)通过使用前缀信息和地址信息来传递分组。

著录项

  • 公开/公告号CN104488234A

    专利类型发明专利

  • 公开/公告日2015-04-01

    原文格式PDF

  • 申请/专利权人 思科技术公司;

    申请/专利号CN201380039115.5

  • 发明设计人 张明;晨格佩特·拉梅什;

    申请日2013-07-22

  • 分类号H04L12/46;

  • 代理机构北京东方亿思知识产权代理有限责任公司;

  • 代理人李晓冬

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 08:20:29

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-15

    未缴年费专利权终止 IPC(主分类):H04L12/46 专利号:ZL2013800391155 申请日:20130722 授权公告日:20171215

    专利权的终止

  • 2017-12-15

    授权

    授权

  • 2015-04-29

    实质审查的生效 IPC(主分类):H04L12/46 申请日:20130722

    实质审查的生效

  • 2015-04-01

    公开

    公开

说明书

技术领域

以下公开总体涉及数据中心中的受控网络。

背景技术

随着虚拟机(VM)被广泛实现于数据中心中,由数据中心处的受控 网络连接的VM的数目显著增长。该数目可能是成千上万或者甚至是上百 万。受控网络上的VM的数目的显著增加为支持这些VM的网络设备提供 商在数据中心处的受控网络的数据面(data plane)和控制面(control  plane)两方面均带来了重大挑战。

附图说明

图1示出了具有受控网络的数据中心,该受控网络包括多个交换机。

图2示出了根据一些实现方式的交换机配置。

图3示出了根据一些实现方式、用于在大型数据中心处的三层(three- tier)网络架构上缩放IPv6的流程图。

图4示出了根据一些实现方式的IPv6主机地址。

图5示出了根据一些实现方式、被配置为托管大量虚拟机的数据中 心。

具体实施方式

概述

一些实现方式提供用于管理数据中心中的交换机的方法。该方法包 括:(1)在数据中心中的交换机处与数据中心中的至少一个其他交换机 建立连接,该数据中心包括交换机和服务器计算机,该数据中心采用多层 架构,该多层架构包括第一层、位于第一层之上的第二层、以及位于第二 层之上的第三层,该数据中心提供多个虚拟局域网(VLAN),每个 VLAN包括至少一个虚拟机并且能够跨越多个交换机中的多于一个交换 机;(2)在交换机处建立路由表,该路由表包括互联网协议版本6 (IPv6)条目;(3)针对交换机的路由表中的IPv6条目来配设设备前 缀,给定的设备前缀与数据中心中的特定交换机上的特定VLAN相对应, 给定的设备前缀被包括在特定虚拟机的主机地址中,特定虚拟机被托管于 服务器计算机上,该服务器计算机被连接至特定交换机而无需附加的中间 交换机;以及(4)通过使用路由表在交换机与服务器计算机之间传递分 组。

具体实施方式

本文描述的实现方式涉及在具有大量虚拟机(VM)的数据中心处部 署互联网协议(IPv6)。这样的部署使用商用硬件或需要对这样的硬件进 行小的升级。一些实现方式被配置为利用数据中心的受控网络中有限的硬 件和软件、基于交换机来处理上百万个VM。本文公开的其他实现方式被 配置为减轻由数据中心中的VM生成的邻居发现邻居通知分组的潜在泛滥 数量。

数据中心可以采用三层网络架构。这三层包括层1(第一层)处的接 入交换机、层2(第二层)处的聚合交换机、以及层3(第三层)处的核 心交换机。层2位于层1之上,并且层3位于层2之上。

图1示出具有交换机集群100的数据中心。这些交换机是基于上面所 讨论的三层网络架构的。如图1所示,集群100具有专门用来在受控网络 周围移动分组的交换机102、104和106。交换机102、104和106与接入 交换机相对应。未示出下层的聚合交换机和核心交换机。服务器计算机 110和112在交换机102上。由服务器计算机110和112发送的分组由交 换机102转发至数据中心的受控网络。去往服务器计算机110或112的分 组最终由交换机102分别转发至服务器计算机110或112。服务器计算机 114在交换机104上。服务器计算机114与交换机104之间的分组交换类 似于服务器计算机110和112与交换机102之间的分组交换。服务器计算 机116和118在交换机106上。服务器计算机116和118与交换机104之 间的分组交换类似于服务器计算机110和112与交换机102之间的分组交 换。

通过示例的方式,由服务器计算机110发送并且去往服务器计算机 116的分组可以到达交换机102。交换机102可以检查分组以获取目的地 地址。然后交换机102可以咨询交换机102上的硬件存储器以查明将分组 转发至何处。交换机102然后可以将由服务器计算机110发送并且去往服 务器计算机116的分组转发至交换机104。该路径可以经过附加的中间交 换机(例如,上面所讨论的层2处的聚合交换机和层3处的核心交换 机)。交换机104可以检查分组以获取目的地地址,然后将这些分组指向 服务器计算机116。

同样,由服务器计算机116发送并且去往服务器计算机110的分组可 以到达交换机104。交换机104可以检查分组以获取目的地地址。然后交 换机104可以咨询交换机104上的硬件存储器以查明将分组转发至何处。 交换机104然后可以将由服务器计算机116发送并且去往服务器计算机 110的分组转发至交换机102。该路径可以经过附加的中间交换机(例 如,上面所讨论的层2处的聚合交换机和层3处的核心交换机)。交换机 104可以检查分组以获取目的地地址,然后将这些分组指向服务器计算机 110。

大量的虚拟机(VM)可以被配置在服务器计算机上。例如,在云计 算或电子商务应用中,服务器计算机可以托管上百万个VM。在其他示例 中,数百万个VM可以被配置在服务器计算机上。这些示例性的数目为数 据中心的受控网络上的这些VM在路由分组方面带来了挑战。理论上,在 数据中心处部署IPv6有助于寻址和路由的需要。与32位的IPv4的地址空 间相比,128位的IPv6的地址空间显著增加。然而,每个IPv6地址占用四 倍的存储空间。数据中心中的交换机一般是具有商用硬件部件的计算设 备。商用硬件意思是商业可获得的硬件。例如,商用硬件可以由制造商作 为库存进行提供。商用硬件一般可以不包括例如为单个产品或单个客户专 门定制的定制物品。这些商用硬件部件可以具有有限的存储能力,这有限 的存储能力在存储于商用硬件部件上的前缀和地址信息的数量方面施加了 上限。使用专门硬件或定制硬件来容纳增加的存储在经济上是不可行的, 因为这样的专门定制在芯片制造方面承担大量预先投资。因此,将IPv6地 址集成到经济上可行的网络交换机仍具有挑战。

图2示出了包括网络接口202、处理器204以及硬件存储器206的交 换机200。在所描绘的配置中,例如基于分组各自的目的地地址,网络接 口202从受控网络接收分组,并且将分组发送至受控网络。在一些实现方 式中,处理器204可以确定受控网络上递送接收到的分组的下一跳。例 如,处理器204可以根据存储在硬件存储器206中的表中的信息来做出决 定。举例来说,该表可以是路由表或者是IPv6邻居表。路由表可以包括一 列前缀地址字段和另一列下一跳地址字段。可以通过查询前缀地址字段来 对路由表进行搜索。举例来说,IPv6邻居表可以包括一列IPv6地址、一 列媒体访问控制(MAC)地址以及一列端口序号。可以通过查询IPv6地 址来对IPv6邻居表进行搜索。在其他实现方式中,硬件存储器可以是诸如 内容可寻址存储器(CAM)转发信息库(FIB)表之类的硬件表。交换机 200可以在一个端口上接收到来的分组,然后例如根据针对到来的分组的 目的地地址的下一跳的MAC地址、使用存储在CAM FIB表中的信息来将 该到来的分组通过交换机200上的特定端口转发至另一交换机。CAM可 以包括只搜索1和0的二进制CAM。CAM可以包括还搜索第三状态 “X”的三进制CAM。X状态可以是“掩码”,意思是其值可以是任意 值。该掩码可以被用作计算子网地址的网络掩码。交换机可以将其整个 FIB表存储在这些TCAM中,使得不需要处理器参与便能很快进行查找。

在数据面,实现IPv6的挑战包括接入交换机和分布交换机的硬件限 制。例如,接入交换机是用于桥接并路由分组的架顶(top-of rack,ToR) 交换机。转发表(CAM FIB表)的大小由相应的接入交换机上的底层硬件 进行限定。接入交换机可以具有1万6千至6万4千个存储转发地址的 CAM FIB表的条目。该范围显著小于这些数据中心处的VM的数目。理论 上,专门针对这些路由功能进行设计的ASIC设备可以消除这些硬件限 制。然而,很难论证制造这些专用ASIC的成本和复杂度方面关联的增 加,因为数据中心处的交换机的数量可能不足以大到使得容量分摊生效。 此外,在设计阶段需要确定这些ASIC设备提供的表格大小,这能提前数 年完成实际部署。由于数据中心网络处的需求快速演进,因此,预测往往 会失败。结果,当在被配置有大量VM的数据中心处部署IPv6时,交换 机硬件限制会给数据面带来挑战。

然而,在控制面,实现IPv6的挑战可以包括处理显著增加的管理分组 的任务。随着基于IPv6的VM实现方式告知数据中心的受控网络上的其 他VM关于该VM的状态,该VM可以将邻居发现邻居通知(ND-NA) 分组周期性地发送给所有其他VM。这些广播ND-NA分组类似于由使用 IPv4的VM实现方式生成的周期性的免费地址解析协议(ARP)分组。当 受控网络上的上百万VM发送ND-NA分组时,数据中心中的ND分组的 数量可能难以处理。由于聚合交换机使用其处理器(例如,图2的处理器 204)来处理这些ND分组,因此聚合交换机处的处理开销快速增加。如果 聚合交换机由ND分组进行洪泛,则这些聚合交换机的处理器可能不具有 充足的处理其他任务的能力。结果,邻居和路由翻动(flapping)可能发 生。因此,管理分组的显著增加可以导致在数据中心的受控网络的控制面 实现基于IPv6的VM方面的问题。

图3示出了根据一些实现方式、用于在大型数据中心处的三层网络架 构上缩放IPv6的流程图300。在框302中,数据中心中的交换机与数据中 心中的至少一个其他交换机建立连接。示例交换机已联系图2进行了讨 论。数据中心包括多个交换机,这些交换机被配置为针对与该数据中心相 关联的服务器计算机来传递分组。该数据中心采用三层架构,该三层架构 包括第一层、位于第一层之上的第二层、以及位于第二层之上的第三层。 层3与核心交换机相对应。层3可以提供通过网络的数据传输。层3的目 的是减少分组递送中的延迟时间。层2与聚合交换机相对应。层2可以提 供路由服务,并且还可以提供基于策略的网络连通性。例如,聚合交换机 可以基于其创建网络边界的源信息和目的地信息来对分组执行分组过滤。 聚合交换机还可以执行服务质量(QoS),以使得接入交换机可以读取分 组并且基于用户定义的策略来区分递送的优先级。此外,聚合交换机可以 对接入交换机执行聚合。聚合交换机还可以执行控制广播和多播。层1与 连接至端用户计算机服务器的接入交换机相对应。接入交换机可以允许工 作组和用户使用由聚合交换机和核心交换机提供的服务。数据中心中的两 个接入交换机之间的连接意味着这两个接入交换机之间存在用于传递分组 的路径。该路径可以穿越层2中的聚合交换机和层3中的核心交换机。

数据中心提供若干个虚拟局域网(VLAN)。每个VLAN包括至少一 个虚拟机(VM)。每个VLAN能够跨越数据中心中多于一个的交换机。 每个VM与物理计算机服务器相关联。每个物理计算机服务器可以在其上 托管多个VM。

在框304中,数据中心处的交换机将其硬件存储器(例如,图2中所 示的硬件存储器206)配置为包括标识数据中心处的交换机的前缀信息和 与数据中心中的相应交换机和VM相关联的地址信息。例如,前缀信息和 地址信息对可以被存储在路由表中。对于给定的前缀和地址对,前缀字段 可以标识用于将分组传输至其目的地地址的目的地交换机,并且地址信息 可以提供用于转发分组的下一跳交换机的硬件地址。

在框306中,数据中心处的交换机针对硬件存储器中IPv6地址的设备 前缀进行配设。下面将联系图4对这些设备前缀的细节进行更详细地讨 论。此处,设备前缀与数据中心中的特定交换机(例如,交换机102)上 给定的VLAN相对应。设备前缀被包括在属于该VLAN的给定VM的主 机地址中。在一些实现方式中,给定的VM被托管于数据中心中的物理服 务器计算机上。该物理服务器计算机被连接至数据中心中的特定交换机 (例如,交换机102)而不需要附加的中间交换机。

在框308中,数据中心处的交换机使用被编码在硬件存储器中的前缀 信息和地址信息来帮助传输该交换机处接收到的分组。在一些实现方式 中,硬件存储器包括FIB CAM表。例如,到达交换机200的到来的分组 具有与数据中心中的VM相对应的目的地地址。该目的地地址包括设备前 缀。该交换机可以使用FIB CAM表将一个端口接收到的到来的分组根据 该到来的分组的目的地地址转发给另一端口。交换机可以通过使用到来的 分组中的目的地地址在硬件存储器206中执行表格查找。表格查找可以包 括搜索FIB CAM表来将到来的分组中的目的地地址的设备前缀与路由表 中的前缀字段匹配。举例来说,表格查找可以得到将途中的分组转发至其 目的地地址的下一跳交换机。在一些实现方式中,表格查找可以得到分组 应被转发到的下一跳交换机的媒体访问(MAC)地址。

在框310中,数据中心处的交换机将对配设在路由表中的设备前缀进 行编码的信息传播给数据中心中至少一个其他交换机。该传播是通过框 302中所建立的连接进行的。在一些实现方式中,该信息根据内部网关协 议(IGP)进行传播。IGP的示例包括但不限于下一代路由信息协议 (RIPng)、开放最短路径优先版本3(OSPFv3)以及针对IPv6的中间系 统至中间系统(ISIS)。在一些实现方式中,该信息被传播至多层架构的 第二层中的聚合交换机或甚至是第三层中的核心交换机。例如,该信息通 过第二层上的聚合交换机进行传播,然后通过第三层上的核心交换机进行 传播。在其路由表中接收设备前缀信息的交换机上,设备前缀可以被安置 于其FIB CAM表中。

图4示出了根据一些实现方式的IPv6主机地址400。主机地址400占 用128位或16字节。主机地址400包括子网前缀402、设备ID 404以及主 机ID 406。

子网前缀402占用N位。这N位可以是最高阶位。这N位的确切位 置取决于交换机的处理器204的架构。对于高位优先(big-endian)处理 器,最高阶N位将被作为16字节的最后N位进行存储。对于低位优先 (little-endian)处理器,最高阶N位将被作为16字节的前N位进行存 储。在一些实现方式中,为每个VLAN分配唯一的子网前缀402。

设备ID 404是子网前缀402之后的M位。如上所讨论的,设备ID 404的确切存储位置取决于交换机的处理器204的架构。设备ID唯一标识 了数据中心中受控网络上的交换机。

在一些实现方式中,子网前缀402和设备ID 404的组合位形成了设备 前缀408。通过包括设备ID(唯一标识数据中心中的交换机)和子网前缀 (唯一标识VLAN),设备前缀可以被用来唯一标识与特定交换机相关联 的给定VLAN。因为给定的VLAN可以跨过多于一个交换机,因此设备前 缀404的配设可以允许去往给定VLAN沿着该给定VLAN所跨过的每个 交换机的地址的途径。一些实现方式可以枚举覆盖给定VLAN所跨过的交 换机的多个设备前缀。

主机ID 406可以占用其余的位,如图4所示。主机ID 406唯一标识 了被托管于数据中心中的物理服务器计算机上的给定VM。如上所讨论 的,每个物理服务器计算机也可以托管其他VM。

交换机200上的FIB CAM表例如包括1万6千个IPv6条目。如上所 讨论的,IPv6条目可以包括设备前缀,即,子网前缀402与设备ID 404的 拼接。IPv6条目还可以包括用于将分组传输给数据中心中的特定交换机的 下一跳交换机的转发信息。举例来说,转发信息可以包括下一跳交换机的 MAC地址和交换机200上的端口号,其中,交换机200上的该端口被连接 至下一跳交换机的端口。

一些实现方式可以使用设备前缀来将相同交换机上的VM的地址信息 合并到一个IPv6条目中。设备前缀中的设备ID唯一标识了连接至所合并 的VM的交换机而非中间交换机。使用设备前缀,系统可以按比例进行扩 展并且支持达上百万个VM。

下面的等式可以被用来计算一些实现方式所支持的VM的最大数目:

H=(F-V×S)×S  (1)

其中,H是数据中心中VM的最大数目,F是FIB CAM表的大小,V是每 个交换机的VLAM的数目,并且S是数据中心中交换机的数目。交换机 上的FIB CAM表针对设备前缀条目和交换机上的VM的条目二者。设备 前缀的最大数目将是数据中心中的交换机的数目(S)乘以每个交换机的 VLAN的平均数目(V)。在将设备前缀条目存储于FIB CAM表中之后, 表中剩余的空间可以由本地主机的条目来使用。因此,剩余空间可以由 (F-V×S)来确定。该剩余空间可以确定每个交换机所支持的本地VM的最 大数目。具体地,整个虚拟交换系统所支持的VM的总数可以是每个交换 机处的VM的最大数目(F-V×S)乘以交换机的数目(S)。因此, H=(F-V×S)×S。例如,FIB CAM表的大小为1万6千个条目、100个交 换机以及每交换机50个VLAN,则数据中心处一共可以支持110万个 VM。在该示例性的示例中,每交换机50个VLAN意思是50个VLAN被 配置在一个交换机上。该配置可以意味着该交换机支持50个VLAN,并 且这50个VLAN中的每个VLAN可以跨过该交换机以及数据中心处的其 他交换机。因此,根据一些实现方式,交换机可以采用设备前缀配设,以 使得有限大小的表格可以支持数据中心处的大量VM的路由需要。因此, 由大量VM所带来的数据面方面的挑战可以通过一些实现方式中的设备前 缀配设进行解决。

一些实现方式包括使得每个交换机上的VM的数目平衡的负载均衡。 负载均衡的实现方式还可以包括减少如下机会的策略:一些交换机被VM 过量订阅或被所订阅的VM的分组流量过载。

图5示出了根据一些实现方式、被配置为托管大量虚拟机的数据中 心。该数据中心由多设备交换系统(MDSS)500来支持。如图5中所示, MDSS 500包括专用于在受控网络周围移动分组的交换机502、504以及 506。在一些实现方式中,交换机502、504以及506包括架顶(ToR)交 换机。在广义上使用术语“架顶”。交换机不需要依照字面意思而被放置 在机架顶部,而是可以出现在服务器范围的任何位置。另外,ToR交换机 不一定只连接至ToR交换机所驻留的机架中的服务器。例如,能够统一 I/O的40端口交换机可以容易地对被分布在四个机架间的32个四机架单 元(four-rack-unit,4RU)服务器进行寻址,这四个机架与覆盖40端口交 换机的机架相邻接。对相邻机架的连通性的限制可以取决于每个交换机上 的端口的数目和双股电缆的10米最大长度。通过多个机架的连接有时被 称为多机架连接,并且多个机架可以被称为机架模块。交换机502、504 和506在多层架构中相互通信。多层架构包括第一层、位于第一层之上的 第二层以及位于第二层之上的第三层。如上所讨论的,核心交换机在第三 层中执行交换功能。在第二层中,聚合交换机执行交换功能。在第三层 中,接入交换机针对端用户计算设备执行交换。

图5示出交换机502上的VM 512和514。由VM 512和514发送的分 组由交换机502转发至数据中心的受控网络。去往VM 512和514的分组 最终由交换机502分别转发至VM 512和514。交换机502与VM 512和 514之间不存在中间交换机。因此,VM 512和514在交换机102上。VM 512和514共同驻留在一个物理服务器计算机上,如图5所示。

图5还示出交换机504上的VM 516。交换机504与VM 516之间不存 在中间交换机。VM 516与交换机504之间的分组交换类似于VM 512/514 与交换机502之间的分组交换。

图5还示出在交换机506上的VM 518和520。交换机506与VM  518/520之间不存在中间交换机。VM 518/520与交换机104之间的分组交 换类似于VM 512/514与交换机502之间的分组交换。VM 518和520共同 驻留在一个物理服务器计算机上,如图5所示。

通过示例的方式,由VM 512发送并且去往VM 518的分组可以到达 交换机502。交换机502可以对分组进行检查以获取目的地地址。然后交 换机502可以咨询交换机502上的硬件存储器206以查明将分组转发至何 处。硬件存储器206可以包括标识数据中心处的交换机的前缀信息和将分 组转发至数据中心中相应交换机的下一跳交换机的硬件地址信息(例如, MAC地址、端口号)。交换机502可以通过搜索与标识交换机506的设备 前缀相对应的前缀信息来查找用于将到来的分组转发至交换机506的下一 跳交换机的地址信息。在该示例性的示例中,下一跳交换机是交换机506 自己,并且该搜索将产生交换机506的硬件地址。交换机502然后将由 VM 512发送并且去往VM 518的分组转发至交换机506。在三层架构中, 该路径可以经过附加的中间交换机(例如,上面所讨论的层2处的聚合交 换机和层1处的核心交换机)。交换机506可以检查分组以获取目的地地 址,并且然后将这些分组指向VM 518。

同样,由VM 518发送并且去往VM 512的分组可以到达交换机506。 交换机506可以对分组进行检查以获取目的地地址。然后交换机506可以 咨询交换机506上的硬件存储器206以查明将分组转发至何处。硬件存储 器206可以包括标识数据中心处的交换机的前缀信息和将分组转发至数据 中心中相应交换机的下一跳交换机的硬件地址信息(例如,MAC地址、 端口号)。交换机506可以通过搜索与标识交换机502的设备前缀相对应 的前缀信息来查找用于将到来的分组转发至交换机502的下一跳交换机的 地址信息。在该示例性的示例中,下一跳交换机是交换机502自己,并且 该搜索将产生交换机502的硬件地址。交换机506然后将由VM 518发送 并且去往VM 512的分组转发至交换机502。在三层架构中,该路径可以 经过附加的中间交换机(例如,上面所讨论的层2处的聚合交换机和层1 处的核心交换机)。交换机502可以检查分组以获取目的地地址,并且然 后将这些分组指向VM 512。

数据中心提供多个虚拟局域网(VLAN)。每个VLAN包括至少一个 虚拟机(VM)。VLAN能够跨过多个交换器中多于一个交换器。例如, 给定的VLAN可以包括分别在交换机502和506上的VM 512和518。

交换机502、504和506可以被配置为在多层架构的第二层和第三层 之间传递分组。在一些实现方式中,交换机502、504和506可以使用路 由表来帮助VM之间传递分组。

如上联系图4所讨论的,路由表包括互联网协议版本6(IPv6)条 目。一些实现方式对路由表中的IPv6条目的设备前缀进行配设。具体地, 设备前缀与IPv6条目中位的数量相对应。如上联系图4所讨论的,给定的 设备前缀包括子网前缀和设备ID。子网前缀可以唯一标识VLAN。设备 ID可以唯一标识特定交换机。

在一些实现方式中,给定的IPv6条目还包括与特定虚拟机(VM)相 对应的主机ID。主机ID和给定的设备前缀均被包括在特定VM的主机地 址中。如上所讨论的,特定VM在特定交换机上。换言之,特定的虚拟机 驻留在被连接至特定交换机而不需要附加的中间交换机的物理计算机服务 器上。

交换机502、504和506还被配置为相互传播对配设在其相应路由表 中的设备前缀进行编码的信息。在一种配置中,该传播是根据内部网关协 议(IGP)并且通过第二层中的分布交换机中的至少一个或第一层中的至 少一个核心交换机进行的。举例来说,IGP协议可以包括下一代路由信息 协议(RIPng)、开放最短路径优先版本3(OSPFv3)以及针对IPv6的中 间系统至中间系统(ISIS)。

在一些实现方式中,例如由交换机502使用的路由表中的路由信息被 转换为FIB信息并且被存储在交换机502的转发信息库(FIB)内容可寻 址存储器(CAM)中。FIB CAM是提供对存储在其中的内容进行快速访 问的硬件存储器。FIB CAM在大小方面可能被限制。在一些实现方式中, FIB CAM包括1万6千个条目。每个条目可以包括前缀字段和相应的下一 跳地址字段。前缀可以与设备前缀404相对应,并且可以标识支持目的地 地址的特定交换机。下一跳地址字段可以提供特定交换机的转发信息。例 如,转发信息可以包括特定交换机的MAC地址。转发信息还可以包括标 识交换机502上(例如,经由电缆被连接到该特定交换机上的端口的)端 口的信息。FIB CAM可以基于商用计算硬件。换言之,FIB CAM可以不 是基于在标准的商用产品中不常用的专门设计的扩展存储器大小的硬件的 定制设备。

交换机502、504和506还被配置为使得如果将VM(例如,VM  512)从交换机502重新分配到相同的VLAN上的交换机506,则交换机 502将通过与交换机506相关联的端口重新学习VM 512的MAC地址,并 且随后将之后接收到的去往VM 512的分组转发至交换机506,其中,VM  512已被重新分配。在重新分配之后,VM 512将获得包括与交换机506和 其上的VLAN相对应的设备前缀的新的主机地址。在一些实现方式中,在 重新分配之后,VM 512使用多播模式将邻居发现邻居通知分组发送给数 据中心中VLAN上的所有交换机和VM。在一些实现方式中,如果VM  512在移动之后仍在相同的VLAN上,则VM 512将邻居发现邻居通知分 组发送给为该VLAN服务的所有交换机。交换机502可以通过与交换机 506相关联的(在交换机502上的)端口从邻居发现邻居通知分组重新学 习VM 512的MAC地址。该端口与交换机506相关联意味着该端口经由 电缆被连接到交换机506,并且被传输至交换机506的分组经过该端口。 VM 512的MAC地址可以是VM 512的主机计算机的MAC地址。在一些 实现方式中,一旦交换机502通过与交换机506相关联的(在交换机502 上的)端口重新学习VM 512的MAC地址,交换机502则采用层2桥接 将去往VM 512的后续分组转发至交换机506。层2桥接涉及上述多层网 络架构的层2处的聚合交换机。

因此,主机地址可以被分配给重新定位的VM 512。新地址包括VM  512重新定位到的替代的交换机506的设备前缀。从被连接至其他交换机 的其他VM(例如,VM 516)至VM 512的通信将使用新的主机地址,并 且来自其他VM的流量将被直接转发至新的交换机506,而无需经过交换 机502。因此,就该转发不通过第三个交换机而引发附加的中间跳的意义 而言,在VM移动之后该转发被大幅优化。

在一些实现方式中,在重新分配VM 512之后,交换机502将针对在 使用旧的IPv6地址的重新分配之前已经存在的VM 512的连接继续进行转 发操作。当这些预先存在的连接被终止时,交换机502将停止转发,并且 与VM 512的旧的地址(即,在交换机502上)相对应的IPv6条目将从数 据中心中的其他交换机的路由表被移除。

在其他实现方式中,数据中心中的交换机以分布式的方式对邻居发现 邻居通知分组进行处理。如上面所讨论的,由数据中心中的大量VM生成 的邻居发现邻居通知分组的数量可能是势不可挡的。一些实现方式中的分 布式处理方法可以解决由数据中心处的大量VM所带来的控制面问题。例 如,每个交换机可以运行邻居发现处理,该邻居发现处理不涉及与其他交 换机上的邻居发现处理进行协调。以该方式,各个交换机趋于对由直接连 接到交换机(而非中间交换机)的特定VM生成的邻居发现邻居通知分组 进行处理,从而其他交换机可能看不到由这些特定VM生成的邻居发现邻 居通知分组。因此,可以减轻控制面中的数据流量的潜在洪泛聚合数量。

IPv6 ND分组可以包括IPv6 ICMP分组,IPv6 ICMP分组可以具有五 种预留ICMP消息类型,即,路由器请求(133)、路由器通知(134)、 邻居请求(135)、邻居通知(136)以及重定向(137)。对应于IPv6  ICMP分组的这五种类型,可以将一组访问列表(ACL)编程于交换机 上,而本地处理器作为其目的地。这些ACL列出应当由交换机的处理器 来处理的ICMP分组类型。因此,在ACL下所允许的ICMP分组将被推给 交换机的本地处理器(例如,图2中交换机200的处理器204)。因此, ND-NA分组将不会到达三层网络架构的第二层中的聚合交换机。以此方 式,大幅减少了分布交换机利用ND-NA分组进行洪泛的机会。

本公开和其他示例可以被实现为一个或多个计算机程序产品,即,被 编码在计算机可读介质上以供数据处理装置运行或控制数据处理装置的操 作的一个或多个交换机程序指令模块。这些实现方式可以包括单个算法处 理或分布式算法处理。计算机可读介质可以是机器可读存储设备、机器可 读存储基体、存储器设备或其一个或多个的组合。术语“数据处理装置” 包含用于处理数据的所有装置、设备以及机器(通过示例的方式包括可编 程处理器、计算机或多个处理器或计算机)。该装置可以包括(除了硬 件)创建用于正在讨论的计算机程序的运行环境的代码,例如,构成处理 器固件、协议栈、数据库管理系统、操作系统或其一个或多个的组合的代 码。

计算机程序(也被称为程序、软件、软件应用、脚本或代码)可以以 任何形式的编程语言(包括编译语言或解释语言)进行写,并且其可以以 任何形式(包括作为单独程序或作为模块、部件、子例程或适用于计算环 境的其他单元)进行部署。计算机程序不一定与文件系统中的文件相对 应。程序可以被存储于保存其他程序或数据的文件的一部分(例如,存储 于标记语言文件中的一个或多个脚本)中、专用于正在讨论的程序的单个 文件中、或多个协调的文件(例如,存储一个或多个模块、子程序或代码 部分的文件)中。计算机程序可以被部署为在一个计算机或在多个计算机 上被运行,所述多个计算机位于一个站点或分布于多个站点之间并且由通 信网络进行互连。

本文件中所描述的处理和逻辑流程可以由运行一个或多个计算机程序 来执行功能一个或多个可编程处理器通过对输入数据进行操作并且生成输 出来执行。这些处理和逻辑流程还可以由专用逻辑电路(例如,FPGA (现场可编程门阵列)或ASIC(专用集成电路))来执行,并且装置也 可以被实现为这些专用逻辑电路。

通过示例的方式,适于运行计算机程序的处理器包括通用微处理器和 专用微处理器二者以及任意类型的数字计算机中的任意一个或多个处理 器。一般,处理器将从只读存储器或随机存取存储器或二者中接收指令和 数据。计算机的基本元件可以包括用于执行指令的处理器和用于存储指令 和数据的一个或多个存储器设备。一般,计算机还可以包括用于存储数据 的一个或多个大型存储设备(例如,磁盘、磁光盘或光盘),或者计算机 被操作耦合为从一个或多个大型存储设备接收数据或将数据传递至一个或 多个大型存储设备或者二者均有。然而,计算机不一定具有这样的设备。 适于存储计算机程序指令和数据的计算机可读介质可以包括所有形式的非 易失性存储器、介质和存储器设备(通过示例的方式包括半导体存储器设 备(例如,EPROM、EEPROM以及闪存设备)、磁盘(例如,内置硬盘 或可移动盘)、磁光盘、以及CD ROM和DVD-ROM盘)。处理器和存 储器可以通过专用逻辑电路进行补充,或者可以被合并到专用逻辑电路 中。

尽管本文件描述了许多细节,但是这些细节不应该被构建为对所保护 的或在权利要求中所保护的本发明的范围的限制,而是作为针对特定实施 例的特征的描述。本文件中在各个实施例的上下文中所描述的某些特征还 可以被组合实现在单个实施例中。相反,在单个实施例的上下文中所描述 的各个特征还可以被分开实现在多个实施例中或者以任意合适的子组合方 式被实现。而且,尽管上面将特征描述为在某些组合中行动,甚至开始如 此保护,但是在一些情形中可以从所保护的组合中去除来自该组合中的一 个或多个特征,并且所保护的组合针对子组合或子组合的变体。类似地, 尽管附图中以特定顺序描绘了操作,但这不应当被理解成为了获得期望的 结果,要求这样的操作以所示出的特定顺序或以先后顺序来执行,并且不 应当被理解为要求所有示出的操作均被执行。

仅公开了少量示例和实现方式。可以基于所公开的对所描述的示例和 实现方式以及其他实现方式做出变化、修改以及增强。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号