具有孤立端口的多节点虚拟交换机中的路径优化的制作方法

文档序号:9333015阅读:682来源:国知局
具有孤立端口的多节点虚拟交换机中的路径优化的制作方法
【专利说明】具有孤立端口的多节点虚拟交换机中的路径优化
[0001]相关串请的交叉引用
[0002]本申请要求于2013年3月15日提交的序号为N0.13/839,159的美国专利申请的利益,该申请通过引用并入本文。
技术领域
[0003]在本公开中提出的实施例一般性地涉及虚拟化,并且更具体地涉及用于配置由两个或更多个物理网络设备构成的虚拟网络设备的优化路径的技术。
【背景技术】
[0004]计算机网络中的数据通信涉及在通过通信链路和子网络互连的两个或更多个实体之间的数据交换。局域网(LAN)是提供了在互连的站点之间进行相对短距离通信的子网络的一个示例。与此相反,广域网(WAN)有利于在公共或私人电信设施提供的链路上进行长距离通信。实体通常是在硬件计算机平台上执行的软件程序,取决于其在网络中的角色,它可以作为端站或中间站。中间站的示例包括互连通信链路和子网络的路由器、网桥和交换机,而端站可以是位于子网络中的一个上的计算机。更一般地,端站意味着通常不向网络上的其它计算机提供路由或其它服务的数据的源或目标。
[0005]端站通常通过根据预定义的协议交换离散分组或数据帧进行通信。在这种情况下,协议表示定义站如何彼此交互来传输数据的一组规则。流入例如路由器、交换机、网桥、服务器等网络设备的流量一般是由多个抽象层(例如,开放系统互连(OSI)模型)构成的。这些逻辑层中的每一个逻辑层一般涉及具有类似性质的通信功能。例如,OSI模型的第2层被称为数据链路层,并使用物理寻址(例如,介质访问控制(MAC)地址)转换流量。第2层封装通常提供了用于在网络实体之间传送数据的机制,并且也可以用于第I层的误差校正。作为另一示例,第3层的流量被称为网络层流量,并使用逻辑寻址(例如,互联网协议(IP)地址)用于路由流量。第3层的封装通常提供用于在第一网络上的源主机和位于第二网络上的目标主机之间传送数据的机制。
【附图说明】
[0006]为使本公开的上述特征可得到详细理解,可以参考实施例对以上简要总结的本公开进行更具体的描述,其中一些实施例在附图中示出。然而,应该指出的是,附图只是示出了本公开的典型实施例,因此不应被视为对其范围的限制,因为本公开可以容许其它等同效果的实施例。
[0007]图1示出了根据本文描述的一个实施例的配置为具有路径优化组件的网络设备。
[0008]图2示出了根据本文描述的一个实施例的配置为具有路径优化组件的网络环境。
[0009]图3A至图3C示出了根据本文描述的一个实施例的通过图2中所示的网络环境的示例性路径。
[0010]图4是示出了根据本文描述的一个实施例的配置相邻网络设备来优化通过虚拟网络设备的路径的方法的流程图。
[0011]图5是示出了根据本文描述的一个实施例的配置相邻网络设备来优化通过虚拟网络设备的路径的方法的流程图。
[0012]示例件实施例说曰月
[0013]综述
[0014]实施例提供了用于在包含虚拟网络设备的网络环境中优化路径的方法、网络设备和计算机程序产品。虚拟网络设备包括使用虚拟网络设备层链路连接的第一物理网络设备和第二物理网络设备。该方法、网络设备和计算机程序产品包括在第一物理网络设备通过虚拟网络设备层链路从第二物理网络设备接收属于第一数据流的第一数据分组。该方法、网络设备和计算机程序产品还包括确定所述第二物理网络设备从其接收第一数据分组的相邻网络设备。另外,该方法、网络设备和计算机程序产品包括确定连接第一物理网络设备和相邻网络设备的一个或多个链路。该方法、网络设备和计算机程序产品还包括发送网络消息到相邻网络设备,其中所述相邻网络设备被配置为响应于接收网络消息,仅使用所确定的一个或更多链路,将来自第一数据流的后续数据分组发送到虚拟网络设备。
[0015]示例性实施例
[0016]—般而言,网络设备(例如,网络交换机)是连接网段的计算机设备。网络设备可以在包括例如物理层、数据链路层、网络层和/或传输层的一个或多个层进行操作。在对四个层进行了描述的同时,应当理解,在不同的示例中,交换机可以在开放系统互连(OSI)栈的所有七层进行操作。例如,网络设备可以在接收数据分组时检查数据分组。在这样做时,网络设备可确定分组的源和目的地,并可以相应地转发它。此外,网络设备可以包含一些超出检查和转发逻辑的智能。这种智能利于使网络设备执行一些管理功能。例如,网络设备可以有选择地把一些端口范围打开或关闭,可以有选择地建立和/或保持端口的优先级设置,可以执行介质访问控制(MAC)过滤以防止MAC泛洪,可以使用生成树协议,可以执行链路聚合,等等。通常,当执行这些管理功能时,它们是在实际(例如,物理)网络设备中执行的。
[0017]通常,网络设备通过通信链路互连,以通过物理端口发送数据分组。为了提供增加的网络可靠性,冗余交换机(和链路)常常被包括在网络内。在交换机(或链路)出现故障的情况下,已经置于网络内的冗余交换机(或链路)可被快速地启用,以代替出现故障的交换机(或链路)。由于与发生故障的组件可被更换或维修相比,冗余交换机或链路通常可被更迅速启用作为替换,因此具有冗余链路和/或交换提供了更可靠的网络。
[0018]此外,为了提供冗余或带宽,一些网络将多个物理链路绑在一起,以作为单个虚拟链路或逻辑信道操作。虚拟链路中的这样一组物理链路在本文中被称为端口信道、链路聚合束和链路束。可以使用多种协议来将两个或更多个物理链路或端口捆绑在一起形成单一的逻辑信道。这些协议的示例包括端口聚合协议(PAgP)和IEEE 802.1AX链路聚合控制协议(LACP)。这些协议在本文一般被称为链路聚合协议,可以理解,在不脱离实施例的范围的情况下可以使用其它协议。
[0019]为了进一步提高网络可靠性,两个或更多个网络设备可以一起分组(或捆绑)到单个逻辑网络设备中。在这样的实施例中,分组的网络设备通常充当单个的虚拟网络设备。而且,这样的虚拟网络设备(如,虚拟交换机)可以对网络中的网络设备而言看起来是单个网络设备。用于捆绑网络设备的协议的示例包括但不限于虚拟端口信道(vPC)和虚拟交换系统(VSS)。另外,虚拟网络设备内的网络设备通过一个或多个链路(本文称为交换机间链路)进行通信。
[0020]例如,在根据VSS协议而配置的网络系统中,两个或更多的底座式第三层交换机(在下文称为物理交换机)可以作为一个虚拟交换机被操作(在下文称为虚拟交换机)。在这样的示例中,两个物理交换机的控制平面(例如,用于执行设备控制和协议处理)可以被划分成活跃的和备用的,用于任一个的数据平面(例如,用于执行分组转发)可以是在活动状态中使用。
[0021]此外,虚拟交换机可以提供各种服务,例如但不限于防火墙服务、负载平衡服务和服务质量(QoS)功能。通常,这些服务可以通过服务模块在虚拟交换机上提供,服务模块可大致细分为内化服务模块和外部服务模块。服务模块可通过一个或多个端口可通信地耦接到虚拟交换机。如本文所定义的那样,连接虚拟交换机和服务模块的端口被称为“服务端口 ”。更一般地,“服务端口 ”指的是可用于服务模块和虚拟交换机之间的通信的任何连接机构。例如,服务端口的一个示例可以是用于与外部服务模块进行通信的外部以太网端口,同时另一个服务端口可以是用于与内部服务模块连接的内部连接(例如,作为诸如PCIe连接的底板的一部分)。当然,是以非限制性的和仅出于说明的目的来提供这样的示例,本领域的普通技术人员将很快认识到,“服务端口”可以指可与本公开一致使用的(已知和未知的)众多其它类型的连接。
[0022]内化服务模块可以使用在其上运行虚拟交换机的物理交换机内的硬件和固件来实现。作为一个示例,一个内化服务模块可以作为在物理交换机(例如,网络交换机的服务卡)内的专用集成电路(ASIC)上运行的逻辑来实现。ASIC(或在其上装有ASIC的卡)可以通过一个或多个服务端口连接到虚拟交换机。例如,对于具有增强的安全性要求和需要专用的内部服务模块(例如,遵守特定政府法规)的虚拟交换机而言,这种内化服务模块可以是优选的。
[0023]在另一方面,外部服务模块可以由外部设备提供。例如,这样的外部服务模块可以使用硬件、固件、软件或这三者的某种组合来实现,并可以通过一个或多个服务端口可通信地耦接到虚拟交换机。例如,当外部服务模块的功能可以更容易可扩展并用于降低成本时,这样的外部服务模块可以是优选的。
[0024]虽然网络设备编组(例如,根据vPC协议创建的虚拟交换机)有许多优点,但也有挑战。例如,某些服务模块(例如,防火墙服务模块)可以被配置为对数据流进行操作,以使得属于特定数据流(例如,TCP流)的所有数据分组都应该使用单一服务处理模块被处理。然而,在由多个物理交换机连接在一起以形成一个单一逻辑交换机的虚拟交换机中,数据分组可以由相邻的交换机传送给多个物理交换机中的任一个。这样,当这样的服务模块被用于处理在物理交换机中的一个特定交换机上的特定数据流时,在特定数据流中的、被传送给其它物理交换机的数据分组可以被转发给具有服务模块的特定物理交换机。虽然物理交换机可以使用可用来转发这样的数据分组的虚拟交换机层链路进行互连,但一般优选避免在虚拟交换机层链路上发送数据平面流量(例如,如在该示例中被转发的数据分组)。也就是说,这样的数据平面流量的转发可能导致虚拟交换机层链
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1