虚拟端口信道上的双向多播的制作方法

文档序号:16596939发布日期:2019-01-14 19:46阅读:147来源:国知局
虚拟端口信道上的双向多播的制作方法

本申请要求于2016年5月31日提交的题为“虚拟端口信道上的双向多播”的美国临时申请no.62/343,737和于2016年7月21日提交的美国申请no.15/216,651的权益,这些申请通过引用结合于此。



背景技术:

本主题技术涉及用于在多播网络实施方式中的虚拟端口信道(vpc)环境中实现双向协议独立多播(bidirpim)的系统和方法。

随着工程师和制造商需要跟上不断变化的数据消费环境和日益增长的网络可扩展性要求,全球网络数据需求的飙升稳步推动了网络技术的发展。已经开发了各种网络技术以满足对网络数据的需求。例如,覆盖网络解决方案,诸如虚拟可扩展局域网(vxlan),以及虚拟化和云计算技术,已被广泛实施。

覆盖解决方案有时用于允许通过物理网络基础设施创建虚拟网络。因此,覆盖网络允许网络管理员通过使用虚拟网络来扩展物理网络基础设施。覆盖网络还可以提供逻辑网络隔离,这允许数据中心或提供商托管大量客户(即“租户”),同时为每个客户提供他们自己的隔离网络域。

附图说明

在所附权利要求中阐述了本主题技术的某些特征。然而,为了提供进一步理解而包括的附图示出了所公开的方面,并且与说明书一起用于解释本主题技术的原理。在附图中:

图1概念性地示出了根据本主题技术的一些实施方式的示例的网络结构;

图2示出了根据本技术的一些实施方式的示例的覆盖网络;

图3示出了能够实现虚拟端口信道(vpc)的示例的覆盖网络;

图4示出了vpc可以实现为层2和层3网络之间的边界的示例的网络拓扑;

图5示出了根据本技术的一些方面的用于仲裁在vpc对等交换机之间的直接转发器(df)实例化的示例的方法的步骤;

图6示出了根据本技术的一些方面的示例的网络设备的示意图。

具体实施方式

下面阐述的详细描述旨在作为本技术的各种配置的描述,而不旨在表示可以实践该技术的唯一配置。附图并入本并且构成详细描述的一部分。详细描述包括用于提供对主题技术的更透彻理解的目的的具体细节。然而,显然该技术不限于本文中阐述的具体细节,并且可以在没有这些细节的情况下实践该技术的各方面。在一些实例中,结构和组件以框图形式示出,以避免模糊该技术的某些概念。

概述

在独立权利要求中阐述了本发明的各方面,并且在从属权利要求中阐述了优选特征。一个方面的特征可以单独应用于每个方面或者与其他方面组合应用。

计算机网络是通过通信链路和用于在端点(诸如个人计算机和工作站)之间传输数据的区段互连的地理上分布的节点集合。许多类型的网络是可用的,其类型范围从局域网(lan)和广域网(wan)到覆盖和软件定义的网络,诸如虚拟可扩展局域网(vxlan)。

lan通常通过位于同一地理区域(诸如,建筑物或校园)中的专用私有通信链路来连接节点。另一方面,wan通常通过长途通信链路连接地理上分散的节点,诸如公共载波电话线、光学光路、同步光学网络(sonet)或同步数字层次(sdh)链路。lan和wan可以包括层2(l2)和/或层3(l3)网络和设备。

互联网是连接全世界不同网络的wan的实例,提供各种网络上节点之间的全球通信。节点通常通过根据预定义协议(诸如传输控制协议/互联网协议(tcp/ip))交换离散帧或分组来通过网络进行通信。在此上下文中,协议可以指代定义节点如何彼此交互的一组规则。计算机网络可以通过中间网络节点(诸如路由器)进一步互连,以扩展每个网络的有效“尺寸”。

覆盖网络通常允许虚拟网络在物理网络基础设施上创建并分层。诸如虚拟可扩展lan(vxlan)、使用通用路由封装的网络虚拟化(nvgre)、网络虚拟化覆盖(nvo3)和无状态传输隧道(stt)之类的覆盖网络协议提供允许网络流量通过逻辑隧道跨越l2和l3网络传输的流量封装方案。这些逻辑隧道可以通过虚拟隧道端点(vtep)发起并终止。

此外,覆盖网络可以包括虚拟段(诸如vxlan覆盖网络中的vxlan段),其可以包括vm进行通信所采用的虚拟l2和/或l3覆盖网络。可以通过虚拟网络标识符(vnid)(诸如vxlan网络标识符)来识别虚拟段,其可以具体地标识关联的虚拟段或域。

详细说明

在一些方面,覆盖网络可以被配置用于传输多播流量。如本文所使用的,“多播”或“ip多播”可以指通过同时向例如可能的数千个接收器(例如,企业和/或家庭)传送单个信息流来减少流量的带宽节省技术。利用多播的应用包括但不限于:视频会议、企业通信、远程学习、软件分发、股票报价和新闻等。

ip多播路由使主机(源)能够使用被称为ip多播组地址的特殊形式的ip地址将分组发送到ip网络内的任何位置的一组主机(接收器)。发送主机将多播组地址插入到分组的ip目标地址字段中,并且ip多播路由器和多层交换机将进入的ip多播分组转发到通向多播组成员的所有接口。任何主机,无论是否是组的成员,都可以发送给组。然而,只有组的成员才会收到消息

ip通信由充当流量的发送器和接收器的主机组成。如本文中所使用的,发送器可以被称为“源”。在一些方面,ip通信是通过单个主机源将分组发送到另一单个主机(单播传输)或发送到所有主机(广播传输)来完成的。ip多播提供第三种方案,允许主机将分组发送到所有主机的子集(多播传输)。该接收主机子集被称为多播组。属于多播组的主机被称为组成员。多播组可以包括加入组以便接收特定数据流的任意数量的接收器。该多播组没有物理或地理边界,主机可以位于互联网上的任何位置或任何专用互联网络上。希望从源到特定组接收数据的主机必须加入该组。加入组是由主机接收器通过互联网组管理协议(igmp)完成的。

多播组由其多播组地址标识。多播分组被传递到该多播组地址。与唯一标识单个主机的单播地址不同,多播ip地址不标识特定主机。为了接收发送到多播地址的数据,主机必须加入地址标识的组。数据被发送到多播地址,并被已经加入该组(这表明其希望接收发送到该组的流量)的所有主机接收。多播组地址被分配给该源的组。

ip多播传送模式的区别仅在于接收器主机,而不是源主机。源主机发送ip多播分组,其自己的ip地址作为分组的ip源地址,并且组地址作为分组的ip目标地址。用于多播的传送模式有三种类型:(1)任何源多播(asm)、(2)源特定多播(ssm)和双向协议独立多播(例如,“双向pim”)。

对于asm传送模式,ip多播接收器主机可以使用任何版本的igmp以加入多播组。该组在路由表状态表示法中被标记为g。通过加入该组,接收器主机指示它希望接收由任何源发送到组g的ip多播流量。网络将从目标地址为g的任何源主机向已加入组g的网络中的所有接收器主机传送ip多播分组。在一些方面,asm需要网络内的组地址分配。在任何给定时间,asm组只应当由单个应用程序使用。当两个应用程序同时使用同一个asm组时,两个应用程序的接收器主机将从两个应用程序源接收流量。这可能会导致网络中出现意外的超额流量。这种情况可能导致网络链路拥塞和应用接收器主机的故障。

源特定多播(ssm)是一种数据报传送模型,极适合一对多应用程序(也称为广播应用程序)。ssm是思科针对音频和视频广播应用环境的ip多播实施方式的核心网络技术。对于ssm传送模式,ip多播接收器主机必须使用igmp版本3(igmpv3)来订阅信道(s,g)。通过订阅信道,接收器主机指示它想要接收由源主机s发送到组g的ip多播流量。网络将从源主机s到组g的ip多播分组传送到网络中已订阅信道(s,g)的所有主机。ssm不需要在网络内的组地址分配,仅需要在每个源主机内。在同一源主机上运行的不同应用程序必须使用不同的ssm组。在不同源主机上运行的不同应用程序可以任意重用ssm组地址,而不会在网络上造成任何过多的流量。

协议独立多播(pim)协议维护接收器发起的成员资格的当前ip多播服务模式。pim不依赖于特定的单播路由协议;它独立于ip路由协议,并且可以利用任何单播路由协议来填充单播路由表,包括增强型内部网关路由协议(eigrp)、开放式最短路径优先(ospf)、边界网关协议(bgp)和静态路由。pim使用单播路由信息来执行多播转发功能。

双向pim(bidir-pim)是被设计用于实现高效的多对多通信的pim协议的变型。双向模式下的多播组可以扩展到任意数量的源,而只需要很少的额外开销。在pim稀疏模式下创建的共享树是单向的。这意味着必须创建源树以将数据流带到会合点(“rp”)(共享树的根),然后它可以沿着分支被向下转发到接收器。源数据无法朝着rp在共享树中向上流动,这将被视为双向共享树。

虽然存在用于在asm和ssm传送模型中传输多播数据流量的vpc解决方案,但是在双向pim模式中不存在用于多播数据流量的无环路解决方案。特别是,没有用于防止vpc对等点反向分组转发的解决方案。因此,在一些双向pim实施方式中,将通过vpc对等点发生流量回路,直到回路流量超时,例如,直到生存时间(ttl)值达到0。

本主题技术的各方面通过提供在vpc对等交换机之间可以发生仲裁以确定允许哪个交换机用作指定转发器(df)的方式来解决双向pim的上述限制。也就是说,可以执行仲裁以确定哪个vpc对等点被选为df,并因此被允许将流量放在朝向rp的链路上(例如“rpf链路”),或重新转发从rpf链路接收的流量。

如下面进一步详细讨论的,特别地,关于图4和5,可以基于确定哪个vpc对等点具有到rp的最佳路由来执行df选择。通过示例的方式,单播度量可以用于确定哪个vpc对等点可以提供到rp的最高效路由。可以例如以预定的(周期的)时间间隔重新评估df选择,或响应于检测到的网络参数和/或转发路径等的变化来执行df选择。

作为背景,图1示出了用于网络结构112的示例架构100的示意性框图,其中可以实施该技术的一些方面。网络结构112包括连接到网络结构112中的叶交换机104a、104b、104c,......,104n(统称为“104”)的脊交换机102a、102b,...,102n(统称为“102”)。

脊交换机102可以是结构112中的l2交换机;也就是说,脊交换机102可以被配置为执行l2功能。在一些实施方式中,脊交换机102中的一个或多个可以被配置为托管代理功能,其代表不具有这种映射的叶交换机104执行端点地址标识符到映射数据库中的定位器映射的查找。代理功能可以通过以下方式来实现这一点:将分组解析为封装的租户分组来获取租户的目标定位器地址。然后,脊交换机102可以执行其本地映射数据库的查找,以确定分组的正确定位器地址,并将分组转发到定位器地址而不改变分组头部中的某些字段。

当在脊交换机102i处接收到分组时,脊交换机102i可以首先检查目的地定位器地址是否是代理地址。如果是,则脊交换机102i可以执行如前所述的代理功能。如果不是,则脊交换机102i可以在其转发表中查找定位器并且相应地转发该分组。

脊交换机102连接到网络结构112中的叶交换机104。叶交换机104可以包括访问端口(或非结构端口)和结构端口。结构端口可以向脊交换机102提供上行链路,而访问端口可以为设备、主机、端点、vm或外部网络提供到结构112的连接。

叶交换机104可以驻留在结构112的边缘,并因此可以代表物理网络边缘。在一些情况下,叶交换机104可以是根据架顶(“tor”)架构配置的tor交换机。在其他情况下,叶交换机104可以是任何特定拓扑中的聚合交换机,诸如列尾(eor)或列中(mor)拓扑。在一些方面,叶交换机104还可以表示例如聚合交换机。

叶交换机104可以负责路由和/或桥接租户分组并且应用网络策略。在某些情况下,叶交换机可以执行一个或多个附加功能,诸如实现映射缓存,当缓存中存在缺失时,将分组发送到代理功能,封装分组,强制执行入口或出口策略等。此外,叶交换机104可以包含虚拟交换功能,诸如虚拟隧道端点(vtep)功能,如下面在图2中的vtep208的讨论中所解释的。为此,叶交换机104可以将结构112连接到覆盖网络,诸如图2中所示的覆盖网络200。

结构112中的网络连接性可以流过叶交换机104。这里,叶交换机104可以提供服务器、资源、端点、外部网络或对结构112的vm访问,并且可以将叶交换机104彼此连接。在一些情况下,叶交换机104可以将epg连接到结构112和/或任何外部网络。例如,每个epg可以通过叶交换机104中的一个连接到结构112。

端点110a-e(统称为“110”)可以通过叶交换机104连接到结构112。例如,端点110a和110b可以直接连接到叶交换机104a,该叶交换机可以将端点110a和110b连接到结构112和/或叶交换机104中的任何其他一个。类似地,端点110e可以直接连接到叶交换机104c,该叶交换机可以将端点110e连接到结构112和/或任何其他叶交换机104。另一方面,端点110c和110d可以经由l2网络106连接到叶交换机104b。类似地,广域网(wan)可以经由l2网络108连接到叶交换机104c或104d。

图2示出了示例的覆盖网络200。覆盖网络200使用覆盖协议,诸如vxlan、vgre、vo3或stt,来封装可以跨越网络中的l3边界的l2和/或l3分组中的流量。如图2所示,覆盖网络200可以包括经由网络202互连的主机206a-d。

例如,网络202可以包括任何分组网络,诸如ip网络。此外,主机206a-d包括用于各种虚拟网络标识符(vnid)210a-i的虚拟隧道端点(vtep)208a-d,其可以是被配置为根据网络200的特定覆盖协议来封装和解封装数据流量的虚拟节点或交换机。此外,主机206a-d可以包括包含虚拟隧道端点功能和虚拟工作负载的服务器。然而,在某些情况下,一个或多个主机也可以是配置有虚拟隧道端点功能的物理交换机,诸如tor交换机。例如,主机206a和206b可以是配置有vtep的物理交换机。这里,主机206a和206b可以连接到服务器203a-d,例如,这些服务器可以包括通过vm的虚拟工作负载。

在一些实施例中,覆盖网络200可以是vxlan网络,并且vtep208a-d可以是vxlan隧道端点。然而,如本领域普通技术人员将容易认识到的,网络200可以表示任何类型的覆盖网络或软件定义的网络,诸如nvgre、stt或甚至尚未发明的覆盖技术。

vnid可以表示覆盖网络200中的隔离虚拟网络。每个覆盖隧道(vtep208a-d)可以包括一个或多个vnid。例如,vtep208a可以包括vnid1和2,vtep208b可以包括vnid1和3,vtep208c可以包括vnid1和2,并且vtep208d可以包括vnid1-3。如本领域普通技术人员将容易认识到的,在其他实施例中,任何特定vtep可以具有许多vnid,包括多于图2中所示的3个vnid。

覆盖网络200中的流量可以根据特定vnid在逻辑上隔离。这样,用于vnid1的流量可以由驻留在vnid1中的设备访问,而驻留在其他vnid(例如,vnid2和3)中的其他设备可以被阻止访问这样的流量。换句话说,连接到特定vnid的设备或端点可以与连接到同一特定vnid的其他设备或端点通信,而来自单独vnid的流量可以被隔离,以防止其他特定vnid中的设备或端点访问不同vnid中的流量。

端点和vm203a-i可以连接到它们各自的vnid或虚拟段,并与驻留在同一vnid或虚拟段中的其他端点或vm通信。例如,端点303a可以与端点303c和vm303e和303g通信,因为它们都驻留在同一vnid中,即vnid1。类似地,端点203b可以与vm203f、h通信,因为它们都驻留在vnid2中。

vtep208a-d可以根据实现的特定覆盖协议(诸如vxlan)封装针对覆盖网络200中的各种vnid1-3的分组,因此可以将流量适当地发送到正确的vnid和(一个或多个)接收者。此外,当交换机、路由器或其他网络设备接收要发送给覆盖网络200中的接收者的分组时,它可以分析路由表(诸如查找表),以确定需要传输这些分组的位置,以便流量到达适当的接收者。例如,如果vtep208a从端点203b接收到旨在用于端点203h的分组,则vtep208a可以分析将预期端点(端点203h)映射到配置成处理旨在用于端点203h的通信的特定交换机的路由表。当vtep208a从端点203b接收到分组时,vtep208a可能最初不知道应该将这些分组发送到vtep208d以便到达端点203h。因此,通过分析路由表,vtep208a可以查找作为预期的接收者的端点203h,并确定该分组应该被发送到vtep208d,如路由表中基于端点-交换机映射或绑定而指定的那样,所以分组可以按预期被发送到端点203h并由端点203h接收。

然而,继续前面的实例,在许多情况下,vtep208a可以分析路由表并且未找到与预期的接收者(例如,端点203h)相关联的任何绑定或映射。这里,路由表可能还没有得知关于端点203h的路由信息。在这种情况下,vtep208a可以广播或多播该分组以确保与端点203h相关联的正确交换机可以接收该分组并进一步将其路由到端点203h。

图3示出了可以在该覆盖网络中实现虚拟端口信道(例如,虚拟端口信道308)的覆盖网络300的示例。尽管覆盖网络300示出了全二分拓扑,但是本技术的各方面不限于图3的示例中所示的拓扑。相反,应当理解,该技术的实施方式可以应用于在覆盖网络中利用vpc的网络系统,而与网络拓扑无关。

网络300包括多个脊(例如,脊302、304和306),以及多个tep(例如,叶1、叶2、叶3和叶4)。反过来,每个tep连接到一个或多个节点(例如,a、c、k、h、m和/或p)。具体地,叶1连接到节点a和c。叶2和叶3是对等交换机s23的成员。如所配置的,叶2连接到节点k,叶3连接到节点m,而叶2和叶3(作为对等交换机s23的一部分)(例如,经由vpc308)连接到节点h。在该配置中,节点k和节点m链接到叶2和叶3,而与vpc308无关。

在图3的实例中,脊302、304和306与每个叶(例如,叶1、叶2、叶3和叶4)之间的连接以全二分图拓扑图示出;但是,可以实现其他拓扑。如上所述,例如,叶2和叶3在对等交换机s23中形成虚拟对。尽管对等交换机s23被示出为包括叶2和叶3,但是应当理解,在不脱离本发明的范围内的情况下可以包括更多数量的交换机。

实际上,对等交换机的每个成员都被配置为保留虚拟组中每个其他成员交换机的地址信息。因此,在图3的示例中,叶2预先配置有叶3的地址信息。同样,叶3预先配置有叶2的地址信息。

图4示出了根据本技术的一些方面的vpc可以被配置为实施df选择方案的网络400的示例。在所示的拓扑中,vpc交换机形成网络400的层2(401)和层3(403)部分之间的边界。

层2网络部分401包括耦合到节点的l2交换机(s4)。层2网络部分401还包括节点s5和s6,它们分别耦合到vpc交换机405和vpc交换机407。如所示,l2交换机经由例如由vpc交换机405和vpc交换机407提供的虚拟端口信道409耦合到l3网络403。在所示实例中,vpc交换机405和vpc交换机407经由对等链路411通信地耦合。

应当理解,对等链路411可以包括被配置用于在vpc交换机405和vpc交换机407之间传输度量信息的经修改的链路架构。例如,在一些方面,对等链路411可以包括被配置为支持与下面讨论的df选择技术一致的流量流转发的基础设施vlan链路。还应当理解,节点(例如,s1、s2、s3、s4、s5和s6)可以用于在网络400内接收和/或发送多播流量。

在图4所示的示例中,l3网络403包括通信地耦合到vpc交换机405和vpc交换机407的会合点(rp)。l3网络403还包括分别耦合到vpc交换机405、vpc交换机407和rp的多个节点(例如,节点:s1、s2和s3)。

如上所述,在处理双向pim流量时,一些vpc实施方式不提供如同在vpc交换机之间的df仲裁的方法,导致转发回路持续直到达到ttl阈值,并且循环分组被丢弃。本主题技术的各方面通过提供在vpc对等交换机之间执行df选择以确定哪个被允许将流量注入rpf链路和/或重新转发从rpf链路接收的流量的方式来解决上述限制。

在一些方面,基于与相应的vpc交换机和rp之间的可达性对应的一个或多个度量的比较来执行df仲裁(选择)。特别地,可以在每个vpc交换机处计算可达性度量,然后进行比较以确定应该将哪个vpc交换机指定为df。根据实施情况,度量可以包括一个或多个单播度量;然而,应该理解,在不脱离本技术的范围的情况下可以执行其他度量/计算从而仲裁df选择。

通过示例的方式,每个vpc交换机(例如,vpc交换机405和vpc交换机407)计算其相应的rp度量,然后例如经由对等链路将度量传送到其对等点以确定哪个vpc交换机将实例化df可操作性。df选择过程可以周期性地发生,例如,以预定的时间间隔发生,或在条件事件时发生,诸如特定网络事件的发生(或不发生),诸如一个或多个网络参数的变化等。

除图4中所示的示例的拓扑之外,vpc交换机405和vpc交换机407可以各自计算与它们各自到达l3网络403中的rp的能力相对应的一个或多个度量。为了确定哪个vpc交换机将用作df,将度量提供给每个相应的对等点,例如,vpc交换机405将其rp可达性度量发送到vpc交换机407,并且vpc交换机407经由对等链路411将其rp可达性度量发送到vpc交换机405。通常,具有最佳rp可达性的vpc交换机(通过比较各种度量来确定)将赢得df仲裁过程并被指定为df。

除了未选择的vpc交换机之外,所选择的df被赋予为从rp接收的分组以及为针对rp的分组提供流量转发。

通过示例的方式,如果vpc交换机405被指定为df,并且vpc交换机405(例如,来自si)接收到流量,则vpc交换机405将流量路由到其本地孤行(例如,s5),并且沿rpf链路将流量转发到rp。在这种情况下,vpc交换机405还将流量的副本转发到vpc交换机407,但是,防止vpc交换机407将流到引向rp,因为它未被指定为df。

在另一示例中,如果vpc交换机407接收流量(例如,从s2),则流量可以被转发到一个或多个本地孤行(例如,s6),以及到vpc交换机405。由vpc交换机405接收的流量也可以被转发到其本地孤行以及rp,因为它是指定的df。然而,vpc交换机407不能直接将流量转发到rp,因为它仍然是df失败者。

在另一示例中,从rp后面的源(例如,s3)接收的流量由rp转发到vpc交换机405和vpc交换机407中的每一个。在这种情况下,vpc交换机405将流量例如经由对等链路411转发到其本地孤行(例如s1和s5)以及vpc交换机407。然而,因为vpc交换机405仍然被指定为df,所以vpc交换机407丢弃从rp本地接收的任何流量,并将从vpc交换机405接收的流量路由到其本地孤行。vpc交换机407被防止在rpf链路上放置流量,因为它仍然是df失败者。

在另一示例中,vpc交换机405例如从孤行的vlan源(例如,s5)接收的流量被转发到例如在rpf链路上的其他本地vlan接收器(例如,s1)以及rp。流量也由vpc交换机405转发到对等链路411上的vpc交换机407。在这种情况下,vpc交换机407接收的流量被转发到本地接收器(例如s2和s6);然而,vpc交换机407被防止将流量转发到rp,因为它不是指定的df。

在又一示例中,vpc交换机407从孤行vlan源(诸如s6)接收的流量由vpc交换机407例如经由对等链路411转发到其他本地vlan接收器(例如s2)以及vpc交换机405。vpc交换机405接收的流量随后被转发到其本地接收器(例如,s1和s5)以及rpf链路上的rp,因为vpc交换机405仍然是指定的df。

在一些方面,指定的df的故障可以触发后续的df选择,使得df可操作性在具有rp的访问权的vpc对等交换机上被实例化。在前述示例中,如果vpc交换机405要停止,则将执行新的df选择,例如,选择vpc交换机407作为新指定的df。

图5示出了用于仲裁vpc对等点之间的df实例化的示例的方法500的步骤。方法500始于步骤502,其中为第一vpc交换机(诸如上面讨论的vpc交换机405)确定第一组度量。所确定的度量可以包括指示第一vpc交换机与例如位于l3网络(例如,l3网络403)内的会合点(rp)之间的连接的相对程度或质量的任何信息。

在步骤504,在第二vpc交换机(例如,vpc交换机407)处确定第二组度量,例如,第二vpc交换机是第一vpc交换机的vpc对等点。在一些方面,第一vpc交换机的第一组度量可以包括与第一vpc交换机和位于网络的l3侧的会合点(rp)之间的连接的质量或程度有关的信息。类似地,第二vpc交换机的第二组度量可以包括与第二vpc交换机和rp之间的连接性质量或程度有关的信息。

在第一组度量和/或第二组度量中确定的度量的数量和类型可以取决于期望的实施方式。举例来说,第一组/第二组度量可以包括与以下各项中的一个或多个有关的信息:链路利用的度量、跳跃数量(到rp的跳数)、路径速度(例如,针对到/来自rp的流量)、路径长度、分组丢失、延迟、路径可靠性、带宽和/或吞吐量等。

随后,在步骤506中,在vpc对等点之间交换所确定的度量。也就是说,第一vpc交换机将其确定的度量发送到第二vpc交换机,并且第二vpc交换机将其相应的度量发送到第一vpc交换机。

接下来,在步骤508中,基于第一组度量和第二组度量确定哪个vpc交换机应该实例化df操作。在一些方面,df选择基于第一组度量和第二组度量的比较,例如,其中df实例发生在具有到rp的最佳路由的vpg成员处。

图6示出了适用于实施本发明的示例的网络设备610。网络设备(例如,路由器)610包括主中央处理器(cpu)662、接口668和总线615(例如,pci总线)。当在适当的软件或固件的控制下动作时,cpu662负责执行分组管理、错误检测和/或路由功能,诸如,错误接线检测功能。cpu662可以在包括操作系统和任何适当的应用软件的软件的控制下完成所有这些功能。cpu662可以包括一个或多个处理器663,诸如来自motorola系列微处理器或mips系列微处理器的处理器。在可替代的方面,处理器663是用于控制路由器610的操作的专门设计的硬件。在特定实施方式中,存储器661(诸如非易失性ram和/或rom)也形成cpu662的一部分。但是,存储器可以通过许多不同的方式耦合到系统。存储器661可以包括各种类型的非暂时性计算机可读存储介质,包括但不限于以下各项中的一种或多种:磁存储介质、光存储介质和/或基于晶体管的存储介质等。

接口668通常被提供为接口卡(有时称为“线卡”)。通常,它们控制通过网络发送和接收分组,并且有时支持与路由器610一起使用的其他外围设备。可以提供的接口为以太网接口、帧中继接口、电缆接口、dsl接口、令牌环接口等。另外,可以提供各种非常高速的接口,诸如快速令牌环接口、无线接口、以太网接口、千兆以太网接口、atm接口、hssi接口、pos接口、fddi接口等。

尽管图6中所示的系统是本发明的一个特定网络设备,但是它不是可以在其上实施主题技术的各方面的唯一网络设备架构。例如,经常使用具有处理通信以及路由计算等的单个处理器的体系结构。此外,还可以实施其他类型的接口和介质。

总之,本主题技术的各方面涉及用于仲裁vpc对等点之间的直接转发器(“df”)实例化的系统,用于促进l2/l3网络边界上的双向多播流量的传输。在一些方面,对给定vpc对等点的df实例化的仲裁可以包括确定第一vpc交换机的第一组度量,确定第二vpc交换机的第二组度量,并且在第一vpc交换机处确定是否基于第一组度量和第二组度量的比较来实例化指定的转发器(df)操作。还提供了方法和机器可读介质。

应理解,所公开的过程中的步骤的任何特定顺序或层次是示例性方法的说明。应当理解,可以基于设计偏好重新排列过程中的步骤的特定顺序或层次,或者仅执行所示步骤的一部分。一些步骤可以同时进行。例如,在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或打包成多个软件产品。

先前的描述被提供以使所属领域的技术人员能够实践本文中所描述的各种方面。对于本领域技术人员来说,对这些方面的各种修改是显而易见的,并且这里定义的一般原理可以应用于其他方面。因此,权利要求不旨在限于本文所示的方面,而是与符合语言权利要求的完整范围相一致,其中,对单数元件的指代并非旨在表示“一个且仅一个”,除非明确这样阐述,而是“一个或多个”。

诸如“方面”的短语并不暗示这样的方面对于主题技术是必不可少的,或者这样的方面适用于主题技术的所有配置。与一方面有关的披露可以适用于所有配置或一个或多个配置。诸如方面的短语可以指代一个或多个方面,反之亦然。诸如“配置”的短语并不暗示这种配置对于主题技术是必不可少的,或者这种配置适用于主题技术的所有配置。与配置有关的披露可以适用于所有配置或一个或多个配置。诸如配置的短语可以指代一个或多个配置,反之亦然。

本文使用的“示例性”一词意味着“用作实例或说明”。本文中描述为“示例性”的任何方面或设计不必被解释为比其它方面或设计更优选或更具优势。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1