计算机网络内创建隧道的方法、入口网络装置及存储介质

文档序号:230099 发布日期:2021-11-09 浏览:12次 >En<

阅读说明:本技术 计算机网络内创建隧道的方法、入口网络装置及存储介质 (Method for creating tunnel in computer network, entrance network device and storage medium ) 是由 维诺德·库马尔·N 罗伯特·W·基布勒 阿肖克·帕特里克·祖德·马诺哈兰 哈里哈兰·鲍帕蒂 于 2020-09-10 设计创作,主要内容包括:本文涉及一种计算机网络内创建隧道的方法、入口网络装置及存储介质。在一些示例中,网络装置可以确定第一出口网络装置是否具备分段路由(SR)感知。基于第一出口网络装置具备SR感知,网络装置可以发起朝向第一出口网络装置的SR隧道的建立。该网络装置可以在SR隧道上转发组播流量。网络装置还可以确定第二出口网络装置是否具备SR感知。基于第二出口网络装置不具备分段路由感知,网络装置可以发起朝向第二出口网络装置的非SR隧道的建立。该网络装置可以在非SR隧道上转发组播流量。(A method, an ingress network device, and a storage medium for creating a tunnel within a computer network are provided. In some examples, the network device may determine whether the first egress network device is Segment Routing (SR) aware. Based on the first egress network device being SR aware, the network device may initiate establishment of an SR tunnel towards the first egress network device. The network device may forward the multicast traffic over the SR tunnel. The network device may also determine whether the second egress network device is SR aware. Based on the second egress network device not being segment routing aware, the network device may initiate establishment of a non-SR tunnel towards the second egress network device. The network device may forward multicast traffic over the non-SR tunnel.)

计算机网络内创建隧道的方法、入口网络装置及存储介质

本申请要求保护于2020年5月6日提交的印度临时申请号202041019223和于2020年6月18日提交的美国专利申请号16/905,545的权益,两者的全部内容通过引用结合在此。

技术领域

本公开涉及一种计算机网络,并且更具体地,涉及组播流量在计算机网络上的分发。

背景技术

计算机网络是交换数据并共享资源的互连计算装置的统称。在基于分组的网络中,计算装置通过将数据划分成被称为分组的小块来传送数据。诸如路由器和交换机的网络内的特定装置维持描述通过网络的路径的路由和/或转发信息。以这种方式,分组可以跨网络从源装置单独地传输至目的地装置。目的地装置从分组中提取数据并且将数据组装成其原始形式。将数据划分成分组使源装置能够仅对在传输过程中可能丢失的这些单独的分组进行重新发送。

计算机网络的示例包括企业网络、分支网络、服务提供商网络、家庭网络、虚拟私有网络(VPN)、局域网(LAN)、虚拟LAN(VLAN)等。在任何情况下,计算机网络可以使远程定位的源能够与接收器共享数据。在一些情况下,计算机网络可以被配置为支持组播流量,该组播流量诸如互联网协议电视(IPTV)、桌面会议、公司广播、音乐和视频网络广播、以及其他形式的多媒体内容。例如,计算机网络可以利用边界网关协议(BGP)或协议无关组播(PIM)作为组播路由协议来通过计算机网络针对具体组播组构建分发树,以用于在源与客户站点内的接收器之间传输组播流量。此外,计算机网络可以被配置为支持组播VPN(MVPN),以使互联网协议(IP)组播流量能够在源与客户站点内的接收器之间传播。对于一个或多个MVPN,耦接至客户站点的提供商边缘(PE)路由器可以从概念上构建组播树,以通过公共网络承载来自组播源的组播流量,使得客户站点接收组播流量,就如同客户站点直接附接至与源相同的私有网络一样。

发明内容

总体上,本公开描述了用于在计算机网络内创建用于组播流量的隧道的技术。所公开的技术可以用于下列情景,其中入口路由器可以具备分段路由(SR)能力或感知,并且计算机网络内的其他路由器可以具备SR感知或不具备SR感知。

本公开中的技术为MVPN网络的入口PE路由器提供确定哪些出口PE路由器具备SR能力或感知、而哪些出口PE路由器不具备SR能力或感知的能力,并且为具备SR能力或感知的出口PE路由器发起建立诸如SR-TE隧道的SR隧道,而为不具备SR能力或感知的出口PE路由器发起建立诸如RSVP隧道(例如,RSVP-TE隧道)的非SR隧道,以便经由出口PE路由器将组播流量传递至访问该流量的接收器。在一些示例中,入口PE路由器可以从出口PE路由器接收类型-1MVPN路由或类型-4MVPN路由。出口PE路由器可以通过例如附接至类型-1MVPN路由或类型-4MVPN路由的边界网关协议(BGP)扩展社区属性来通知SR能力或SR能力缺乏。入口PE路由器也可以发送类型-1MVPN路由或类型-4MVPN路由,该类型-1MVPN路由或类型-4MVPN路由通过所附接的附接BGP扩展社区属性来通知SR能力。入口PE路由器可以基于附接至类型-1MVPN路由或类型-4MVPN路由的BGP扩展社区属性来确定哪些出口PE路由器具备SR感知或能力。入口PE路由器可以发起朝向具备SR感知的出口PE路由器建立SR隧道并且发起建立到不具备SR感知的出口PE路由器的非SR隧道。入口PE路由器可以在SR隧道和非SR隧道上转发组播流量。

在另一示例中,入口PE路由器可以通过在由网络运营商创建的指示哪些出口网络装置具备SR感知的MVPN出口网络装置的静态策略或列表中查找出口PE路由器,来确定哪些出口PE路由器具备SR感知。在又一示例中,入口PE路由器可以基于是否存在到出口PE路由器的现有单播SR隧道来确定哪些出口PE路由器具备SR感知。然后,在任意示例中,入口PE路由器可以为具备SR能力或感知的出口PE路由器发起SR隧道的建立并且为不具备SR能力或感知的出口PE路由器发起非SR隧道的建立,以经由出口PE路由器将组播流量传递至访问流量的接收器。

在一个示例性方面,方法包括:通过入口网络装置确定第一出口网络装置是否具备分段路由(SR)感知;基于第一出口网络装置具备SR感知,通过入口网络装置发起朝向第一出口网络装置的SR隧道的建立;通过入口网络装置在SR隧道上转发组播流量;通过入口网络装置确定第二出口网络装置是否具备SR感知;基于第二出口网络装置不具备分段路由感知,通过入口网络装置发起朝向第二出口网络装置的非SR隧道的建立;并且通过入口网络装置在非SR隧道上转发组播流量。

在另一示例性方面,网络装置包括至少一个计算机处理器和存储器,存储器包含指令,当指令由至少一个计算机处理器执行时使至少一个计算机处理器:确定第一出口网络装置是否具备SR感知;基于第一出口网络装置具备SR感知,发起朝向第一出口网络装置的SR隧道的建立;在SR隧道上转发组播流量;确定第二出口网络装置是否具备SR感知;基于第二出口网络装置不具备分段路由感知,发起朝向第二出口网络装置的非SR隧道的建立;并且在非SR隧道上转发组播流量。

在又一示例性方面,利用指令对非易失性计算机可读存储介质进行编码,当指令执行时使计算装置的至少一个处理器:确定第一出口网络装置是否具备SR感知;基于第一出口网络装置具备分段路由感知,发起朝向第一出口网络装置的SR隧道的建立;在SR隧道上转发组播流量;确定第二出口网络装置是否具备SR感知;基于第二出口网络装置不具备SR感知,发起朝向第二出口网络装置的非SR隧道的建立;并且在非SR隧道上转发组播流量。

在下列附图和描述中阐述了本公开的一个或多个示例的细节。在描述与附图、以及权利要求中,本公开的其他特征、目标、以及优点将变得显而易见。

附图说明

图1是根据本公开的技术的示例性计算机网络的框图,该示例性计算机网络包括多个区域内的被配置为在一个或多个组播源与多个组播接收器之间传输组播流量的网络装置。

图2是根据本公开的技术的示例性计算机网络的框图,该示例性计算机网络包括单一自治系统内的被配置为在一个或多个组播源与多个组播接收器之间传输组播流量的网络装置。

图3是根据本公开的技术的示例性计算机网络的框图,该示例性计算机网络包括多个自治系统内的被配置为在一个或多个组播源与多个组播接收器之间传输组播流量的网络装置。

图4是根据本公开的技术的另一示例性计算机网络的框图,该另一示例性计算机网络包括单一自治系统内的被配置为在一个或多个组播源与多个组播接收器之间传输组播流量的网络装置。

图5是示出根据本公开的技术的被配置以操作的示例性网络装置的框图。

图6是示出根据本公开的技术的网络装置的示例性操作的流程图。

图7是根据本公开的技术的网络装置的另一示例性操作的流程图。

具体实施方式

在组播虚拟私有网络(MVPN)中创建或建立隧道的一种方式是通过MVPN入口复制(IR)。MVPN IR可以在两种模式下操作,即,使用现有的对等(P2P)隧道或者创建或建立新的P2P隧道。当MVPN IR使用现有的P2P隧道时,MVPN可以利用到MVPN出口PE路由器的任意现有P2P隧道。这些现有的隧道可以是用于单播流量的且也可以用于组播流量的P2P隧道。例如,可以使用标签分发协议(LDP)/资源预留协议(RSVP)/分段路由(SR)/边界网关协议-标签单播(BGP-LU)等中的任意协议来建立现有的隧道。

目前,当MVPN IR创建或建立新的P2P隧道时,该MVPN IR建立新的非SR隧道(例如,RSVP隧道)。在这种操作模式下,例如,MVPN模块将利用流量工程(RSVP-TE(资源预留协议-流量工程))模块发信号通知RSVP,以发起建立到每个MVPN出口PE路由器的新的P2P-TE隧道。然后,这些新的P2P-TE隧道可以用于承载组播流量。例如,当存在创建用于承载组播流量的专用TE路径的客户需求时,可以使用这种模式。

许多联网客户希望使用用于组播流量的专用隧道。在网络从RSVP及其他路由协议迁移至SR范例时,由于诸如PE路由器的网络装置可能不知道哪些装置具备SR感知,因此可能会出现问题。该问题的出现可能是因为迁移发生在各阶段。例如,随着网络扩展,给定的网络运营商可以基于装备年龄对装备进行升级或添加具备SR感知的新装备。在多区域自治系统(AS)或多AS计算机网络的一些示例中,给定网络运营商可以对其网络装备进行升级以支持一个区域内的SR范例,而给定网络运营商或另一网络运营商可能不对另一区域内的网络装备进行升级。由此,由于网络迁移通常不是一次性全部发生,计算机网络可以包括具有不同能力的不同网络装备。例如,给定PE路由器可以升级为具备SR能力或感知,或者可以被SR感知PE路由器所替代。其他传统PE路由器仍可以利用RSVP或其他路由协议。因此,期望这样的技术:确定哪些PE路由器具备SR感知而哪些不具备SR感知、并且基于给定PE路由器的能力来发起隧道的建立。

解决这个问题的一种方式是仅针对MVPN创建从入口PE路由器到具备SR能力的出口PE路由器的新隧道。然而,这将使不具备SR能力的出口PE路由器不能接收组播流量。为了实现此目的,入口PE路由器的MVPN模块将利用SR-TE模块来尝试创建到出口PE路由器的新的SR-TE P2P隧道。从入口PE路由器到具备SR能力的出口PE路由器的SR-TE P2P隧道将成功建立并且组播流量将成功地流到具备SR能力的这些出口PE路由器。从入口PE路由器到不具备SR能力的出口PE路由器的SR-TE P2P隧道将不会建立并且将保持关闭,并且不具备SR能力的这些出口PE路由器将不接收组播流量。

解决该问题的另一种方式是使入口PE路由器的MVPN模块仅创建诸如RSVP-TE隧道的非SR隧道。入口PE路由器的MVPN模块将利用非SR-TE模块(例如,RSVP-TE模块)来创建到出口PE路由器的新的非SR隧道。从入口PE路由器至全部出口PE路由器的非SR隧道将被成功建立并且组播流量将流至这些PE路由器。然而,该情形并不满足关于创建用于携带组播流量的新SR-TE隧道的客户需求。

解决这个问题的又一种方式是使入口PE路由器的MVPN模块针对每个出口PE路由器尝试创建SR-TE隧道和诸如RSVP-TE隧道的非SR隧道。例如,入口PE路由器的MVPN模块可以利用非SR-TE模块和SR-TE模块两者来创建到出口PE路由器的新隧道。从入口PE路由器至全部出口PE路由器的非SR隧道(例如,RSVP-TE P2P隧道)将被成功建立。从入口PE路由器到具备SR能力的出口PE路由器的SR隧道(例如,SR-TE P2P隧道)将被成功建立。从入口PE路由器至不具备SR能力的出口PE路由器的SR隧道将保持关闭。入口PE路由器然后可以通过SR隧道推送组播流量以到达具备SR能力的出口PE路由器,并将通过非SR隧道推送组播流量以到达其他PE路由器。然而,这种解决方案可能遗留了许多陈旧或未使用的非SR隧道。例如,具备非SR能力和具备SR能力两者的出口PE路由器将具有已创建而未使用的非SR隧道或与SR隧道携带相同流量的非SR隧道。

根据本公开的技术,入口PE路由器可以基于从出口PE路由器接收的通知来确定网络中的哪些出口PE路由器具备SR感知而哪些出口PE路由器不具备SR感知,并且针对具备SR感知的那些出口PE路由器发起SR隧道的创建,而针对不具备SR感知的那些出口PE路由器发起非SR隧道的创建。例如,入口网络装置可以确定第一出口网络装置是否具备SR感知;基于第一出口网络装置具备SR感知,发起朝向第一出口网络装置的SR隧道建立;并且在SR隧道上转发组播流量。入口网络装置还可以确定第二出口网络装置是否具备SR感知;基于第二出口网络装置不具备分段路由感知,发起朝向第二出口网络装置的非SR隧道的建立;并且在非SR隧道上转发组播流量。

在一些示例中,可以创建新的边界网关协议(BGP)扩展社区属性以指示具体MVPNPE路由器的SR能力。在一些示例中,新的BGP扩展社区属性可以被称为“分段-路由”。例如,每个MVPN PE路由器可以将“分段-路由”扩展通信属性如下构造:如果MVPN PE路由器具备分段-路由感知,则全局管理员字段被设定为1,否则,全局管理员字段被设定为0。本地管理员字段始终被设定为0。在本示例中,分段-路由:1:0指示具备SR感知(能力)的MVPN PE路由器,并且分段-路由:0:0指示不具备SR感知(无能力)的MVPN PE路由器。

该“分段-路由”扩展社区属性可以附接至由每个MVPN PE路由器发起的类型-1MVPN路由或类型-4MVPN路由中的每个并且通知至网络内的每个其他MVPN PE路由器。经由新的MVPN旋钮可以触发附接“分段-路由”扩展社区属性。例如,MVPN旋钮可以触发BGP扩展社区属性到类型-1MVPN路由或类型-4MVPN路由的附接。

在一些示例中,每个MVPN PE路由器可以通过将新的扩展社区属性加标签至每个类型-1MVPN路由或每个类型-4MVPN路由,来传递关于该每个MVPN PE路由器是否具备SR感知的信息。在一些示例中,如果MVPN PE路由器通知没有分段-路由扩展社区属性的类型-1MVPN路由或类型-4MVPN路由,则该MVPN PE路由器被视为不具备SR感知。

然后,入口PE路由器的MVPN模块可以触发所有传统(不具备SR感知)出口PE路由器上的非SR隧道(例如,RSVP-TE隧道)和具备SR感知的出口PE路由器上的SR隧道(例如,SR-TE隧道)。在一些示例中,入口PE路由器可以计算如何创建隧道。在其他示例中,网络控制器可以计算如何创建隧道并且向入口PE路由器提供关于如何创建隧道的指示。

图1是根据本公开的技术的示例性计算机网络的框图,该示例性计算机网络包括在多个区域内的被配置为在一个或多个组播源与组播接收器之间传输组播流量的网络装置。

在图1的示例中,描绘了多个PE路由器20A-20C及其他边界路由器(BR)22A-22B。诸如网络90的网络可以被划分成包括一组路由器的多个内部网关协议(IGP)域或区域,该域或区域包括在共同的管理控制下的一组路由器并且共享共同路由协议。示例性的IGP包括中间系统-中间系统(IS-IS)和开放式最短路径优先(OSPF)。例如,网络90包括三个区域10A、10B、以及10C。入口PE路由器20A、BR 22A与BR 22B连接至区域10A。出口PE路由器20B与BR 22A连接至区域10B。出口PE路由器20C与BR 22B连接至区域10C。在给定区域的节点中通常不存储描述其他区域内的节点和路由的数据,该数据包括前缀和SID。例如,第一IGP区域中的路由器通常不存储链接状态数据库(LSDB)或流量工程数据库(TED)以及任意其他IGP区域的对应前缀及分段标识符(SID)。

区域10A、区域10B、以及区域10C可以包括私有网络或诸如互联网的公共网络。例如,区域10A、区域10B、以及区域10C中的任意区域可以是企业网络、校园网络、服务提供商网络、家庭网络、局域网(LAN)、虚拟局域网(VLAN)、虚拟私有网(VPN)、或另一自治系统。在这些示例的任意示例中,远程定位的组播数据源12与组播接收器18A和18B可以经由区域10A和区域10B或区域10C共享数据。区域10A、区域10B、以及区域10C均可以是MPLS网络。

入口PE路由器20A连接至可以位于网络之外(诸如位于区域10A之外)的组播数据源12。PE路由器20B连接至组播接收器18A以用于将组播数据从组播数据源12提供至客户。类似地,PE路由器20C连接至组播接收器18B以用于将组播数据从组播数据源12提供至另一客户。PE路由器20A-20C在区域10A、10B、以及10C的边缘上操作。入口PE路由器20A是入口路由器,该入口PE路由器20A将来自组播数据源12的组播数据提供至区域10A。出口PE路由器20B和出口PE路由器20C是出口路由器,该出口PE路由器20B和出口PE路由器20C分别从区域10B和区域10C取得组播数据,以将组播数据分别提供至组播接收器18A和组播接收器18B。

入口PE路由器可以从网络90之外接收(由组播源发起的)组播流量、发起建立SR隧道(适当情况下)或非SR隧道(适当情况下)并且将组播流量通过朝向组播接收器的隧道转发至MPLS网络中。出口PE路由器从网络90接收组播流量并且朝向位于网络90外部的组播接收器转发组播流量。

在图1示出的示例中,组播数据源12可以为一个或多个组播组提供组播流量,并且接收器18A和18B可以从一个或多个组播组请求或订阅流量。在图1的示例中,区域10A、区域10B、以及区域10C均包括使用诸如协议无关组播(PIM)或边界网关协议(BGP)的组播路由协议的网络装置,以使组播流量路由通过具体组播组的组播数据源12与组播接收器18A和18B之间的区域10A、区域10B、以及区域10C。在一些示例中,区域10A、区域10B、以及区域10C可以包括一个或多个组播虚拟私有网络(MVPN),以使组播流量能够在组播数据源12与组播接收器18A和18B之间行进。MVPN可以在网络10的PE路由器20A-20C之间建立。PIM协议可以在若干不同的模式下操作,该模式包括源-特定组播(SSM)模式中的密集模式(DM)、稀疏模式(SM)、或任意源组播(ASM)模式、以及双向(BIDIR)模式。

组播数据源12、接收器18A和接收器18B中的每个可以包括在远程客户站点(未示出)中,该远程客户站点可以是包括多个订户装置(诸如桌面计算机、膝上型电脑、工作站、PDA、无线装置、网络就绪装置、文件服务器、打印服务器、或其他装置)的局域网(LAN)或广域网(WAN)。远程站点可以被配置为支持组播流量(诸如互联网协议电视(IPTV)、桌面会议、公司广播、音乐和视频网络广播、以及其他形式的多媒体内容)。

在一些示例中,区域10A、区域10B、以及区域10C可以包括单播上行组播跳(UMH)和选择性提供商隧道(在本文也被称为“选择性隧道”)。包容性提供商隧道(在本文中也被称为“包容性隧道”)可以被配置在PE路由器上,使得由入口PE路由器20A发送至区域10A的任意组播分组将被连接到该MVPN的区域10A、区域10B、或区域10C的所有PE路由器接收,而不管该PE路由器是否具有感兴趣的收听器(接收器)。即,当使用包容性提供商隧道时,无论接收器是否明确发出关于组播源和组播组的加入请求,入口PE路由器都通过在所有隧道上转发流量来而将组播流量注入MVPN中。例如,由入口PE路由器20A从组播数据源16接收的任意组播流量将在相应的包容性隧道上转发至PE路由器20B和20C两者。相反,可以在PE路由器上配置选择性提供商隧道模式,使得将由特定PE路由器发送的流量传递至给定的MVPN实例中的已发信号通知感兴趣的接收器的PE路由器的子集、而非传递至MVPN实例中的所有PE路由器。

分段路由(也可以被称为源分组路由或网络中的源分组路由(SPRING))是一种控制平面架构,该控制平面架构使得入口路由器能够引导分组通过网络中的一组特定节点和链路,而不依赖于网络中的中间节点确定该分组应该采取的路径。

在图1的示例中,入口PE路由器20A和出口PE路由器20C可以使用分段路由技术(例如,SPRING范例)以使用IGP或BGP通知节点之间的分段并在区域10A和10C中的每个区域内构建单跳或多跳隧道。分段路由可以采用IGP或BGP以用于通知多种类型的分段。分段的第一示例性类型是表示严格转发的“邻接分段”,该分段通常指在路由器与特定节点之间的特定链路上携带分组的单跳隧道,而不管链路成本。分段的第二示例性类型是表示通常在路由器与特定地址前缀之间使用最低成本路径链路的多跳隧道的“前缀分段”。分段的第三示例性类型是表示路由器与特定节点或特定地址前缀之间的特定域内隧道的“绑定分段”。

在分段路由中,在区域10A和10C中的每个区域内的路由器之间散播分段的“路径”信息作为相应区域的IGP链路状态信息。入口PE路由器20A能够通过使一个或多个分段标识符(SID)前置于分组而通过指令或分段的有序列表引导分组。换言之,入口路由器20A能够通过使适当的SID组合(堆栈)前置于分组而通过所期望的一组节点和链路引导分组。分段路由允许路由器在仅维持每个域的入口节点处的每流状态(per-flow state)的同时强制流通过任意的拓扑路径和服务链。

可以将分段路由直接应用于MPLS架构而不改变转发平面。网络管理员或集中控制器仅需要将SID分配至具体的路由器并且分段路由控制平面架构自动构建从路由器至任意其他路由器的期望MPLS转发结构。SID被编码为MPLS标签,并且将SID的有序列表编码为标签堆栈。待处理的分段的SID位于堆栈的顶层上,并且一旦分段完成,有关的标签在分组通过网络转发时从堆栈中弹出。

在Filsfils等人的“Segment Routing Architecture”,IETF RFC 8402,2018年7月中对分段路由进行了进一步的描述,且在Filsfils等人的“Segment Routing UseCases”,IETF Internet-Draft draft-filsfils-spring-segment-routing-use-cases-01,2014年10月21日中对分段路由使用用例进行了描述,两者通过引用结合在此。在(1)Filsfils,et al.,“Segment Routing Policy Architecture,”IETF Internet-Draftdraft-ietf-spring-segment-routing-policy-06,December 14,2019、(2)Previdi,etal.,“Source Packet Routing in Networking(SPRING)Problem Statement andRequirements,”IETF RFC 7855,May 2016、以及(3)Bashandy,et al.,“Segment Routingwith MPLS data plane,”IETF RFC 8660,December 2019中发现了关于SPRING的更多细节,这些中的每个通过引用结合在此。

通过诸如BGP的单播路由协议可以提供MVPN自动发现,该MVPN自动发现用于发现并且保持诸如区域10A、10B、以及10C的网络内的PE路由器的MVPN成员资格。BGP MVPN(有时被称为“新一代(NG)MVPN”)在提供商网络中引入了BGP控制平面以用于处理组播。如下面进一步详细描述的,PE路由器20A-20C使用BGP控制平面消息(“路由”)来协调组播流量的传递。BGP MVPN引入了提供商组播服务接口(PMSI)的概念,以实现“服务”与“传输”机制之间的分离。PMSI是提供商网络(P-网络)上的概念性“覆盖”(指“服务”)。这种“覆盖”能够从属于特定MVPN的一个PE路由器获取分组并且将其传递至属于该同一MVPN的其他或所有PE路由器。BGP MVPN主要负责三个功能:1.自动发现,2.P-隧道信令,以及3.客户组播(C-MCAST)路由信令。自动发现是找出参与给定MVPN实例的所有PE路由器的处理。P-隧道信令为PE路由器提供将其即将使用什么方法传输C-组播流量(即,用于建立PMSI隧道)告知给其他PE路由器的方式。用于建立PMSI隧道的选项(包括包容性提供商隧道和选择性提供商隧道)包括点到多点(P2MP)RSVP-TE、P2MP mLDP、多点到多点(MP2MP)mLDP、组播通用路由封装(mGRE)、或入口复制。C-MCAST路由信令是交换C-组播控制平面状态的方式,诸如相关PE路由器之间的C-Join、C-Prunes、以及C-Register消息等。

BGP MVPN使用选择性提供商隧道、或选择性提供商组播服务接口(S-PMSI)、以及包容性提供商隧道、或包容性提供商组播服务接口(I-PMSI)。在选择性提供商隧道(S-PMSI)中,由特定PE路由器发送的流量传递至给定MVPN实例中的PE路由器的子集、而非MVPN实例中的所有PE路由器。创建选择性提供商隧道能够使入口PE路由器将高速率的流量从包容性隧道移出并且将组播流量仅传递至请求该组播流量的接收器。这可以提高带宽利用率。

参与使用BGP控制平面的BGP MVPN的PE路由器使用七种类型的BGP MVPN路由(消息),其中的五种类型用于自动发现且其中的两种类型用于在提供商边缘(PE)路由器之间的C组播协议信息交换。例如,PE路由器20使用BGP向其他PE路由器20通知其MVPN成员资格,并且PE路由器20交换BGP路由协议消息,以通知用于控制网络内的组播分发的各种类型的路由。

例如,在BGP MVPN中,MVPN类型-1路由是由参与MVPN的所有PE路由器所起始的AS内包容性提供商组播服务接口(I-PMSI)自动发现(AD)路由。MVPN类型-1路由包括路由类型指示符、起始路由器路由区分符(RD)、以及起始路由器环回地址。MVPN类型-1路由还可以包括扩展社区属性(诸如根据本公开的技术的分段-路由扩展社区属性)。

MVPN类型-2路由是由所有ASBR PE路由器起始的AS间I-PMSI AD路由。MVPN类型-2路由包括路由类型指示符、起始路由器RD、以及起始ASBR的AS数量。

MVPN类型-3路由是由发送器PE路由器(发起S-PMSI的发送器PE路由器)起始的选择性提供商组播服务接口(S-PMSI)AD路由。MVPN类型-3路由包括路由类型指示符、起始路由器RD、客户组播源地址(C-S)掩码(对于IPv4,是32;对于IPv6,是128)、使用S-PMSI的C-S、客户组播组地址(C-G)掩码(对于IPv4,是32;对于IPv6,是128)、使用S-PMSI的C-G、以及起始路由器环回地址。

MVPN类型-4路由是响应于从发送器PE路由器接收具有“叶信息需求(leafinformation required)”标志组的S-PMSI AD路由的叶AD路由,该叶AD路由由接收器PE路由器发起。MVPN类型-4路由包括路由类型指示符、S-PMSI AD路由、以及起始路由器环回地址。MVPN类型-4路由还可以包括扩展社区属性(诸如根据本公开的技术的分段-路由扩展社区属性)。

MVPN类型-5路由是由发现活跃VPN组播源的PE路由器发起的源活跃AD路由。MVPN类型-5路由包括路由类型指示符、起始路由器RD、C-S掩码(对于IPv4,是32;对于IPv6,是128)、客户组播源地址、C-G掩码(对于IPv4,是32;对于IPv6,是128)、客户组播组地址。

MVPN类型-6路由是由接收器PE路由器(从VPN接口接收(C-*、C-G)加入消息的PE路由器)发起的共享树加入路由。MVPN类型-6路由包括路由类型指示符、上行PE路由器的RD(朝向客户汇集点(C-RP))、上行PE路由器的AS数量(朝向C-RP)、C-RP掩码(对于IPv4,是32;对于IPv6,是128)、客户汇集点地址、C-G掩码(对于IPv4,是32;对于IPv6,是128)、以及客户组播组地址。

MVPN类型-7路由是由接收器PE路由器(接收本地(C-S、C-G)加入消息的PE路由器或已经具有类型-6路由且接收类型-5路由的PE路由器)发起的源树加入路由。MVPN类型-7路由包括路由类型指示符、上行PE路由器的RD(朝向C-S)、上行PE路由器的AS数量(朝向C-S)、C-S掩码(对于IPv4,是32;对于IPv6,是128)、客户组播源地址、C-G掩码(对于IPv4,是32;对于IPv6,是128)、以及客户组播组地址。

在Rosen等人的“Multicast in MPLS/BGP IP VPNs”,RFC 6513,2012年2月与Aggarwal等人的“BGP Encodings and Procedures for Multicast in MPLS/BGP IPVPNs”,RFC 6514,2012年2月中可以发现关于MVPN的附加信息,这些中的每个的全部内容通过引用结合在此。

在图1的示例中,入口PE路由器20A、出口PE路由器20B、以及出口PE路由器20C均具有附接有分段-路由的扩展社区属性的类型-1路由。例如,入口PE路由器20A可以具有PMSI隧道类型为“IR”且扩展社区属性分段-路由:1:0的类型-1路由14A,该分段-路由:1:0指示入口PE路由器20A具备SR感知。出口PE路由器20B可以具有扩展社区属性分段-路由:0:0的类型-1路由14B,该分段-路由:0:0指示出口PE路由器20B不具备SR能力。出口PE路由器20C可以具有扩展社区属性分段-路由:1:0的类型-1路由14C,该分段-路由:1:0指示口PE路由器20C具备SR能力。因此,入口PE路由器20A上的MVPN模块基于在类型-1路由中所接收的SR扩展社区属性而知晓出口PE路由器20C具备SR感知而出口PE路由器20B不具备SR感知。

在包容性隧道(I-PMSI)的情况下,入口PE路由器20A对所接收的类型-1MVPN路由进行处理,并且基于扩展社区属性分段-路由决定创建非SR隧道(例如,RSVP-TE P2P隧道)或SR隧道(例如,SR-TE P2P隧道)。入口PE路由器20A的MVPN模块将基于具体出口PE路由器的SR感知,利用非SR-TE模块(例如,RSVP-TE模块)或SR-TE模块。例如,入口PE路由器20A上的MVPN模块将利用SR-TE模块来创建通过区域10A、BR 22B、以及区域10C至出口PE路由器20C的新SR隧道16B。入口PE路由器20A上的MVPN模块将利用非SR-TE模块(例如,RSVP-TE模块)来创建通过区域10A、BR 22A、以及区域10B至出口PE路由器20B的新的非SR隧道16A。在选择性隧道(S-PMSI)的情况下,入口PE路由器20A可以基于扩展社区属性分段-路由,对所接收的类型-1和类型-4MVPN路由进行处理并且决定创建非SR隧道或SR隧道。

然后,根植于入口PE路由器20A处的入口复制隧道可以绑定至非SR隧道和SR隧道。入口PE路由器20A将跨SR隧道16B朝向出口PE路由器20C推送组播流量并且跨非SR隧道16A朝向出口PE路由器20B推送组播流量。同样,MVPN可以通过新的隧道将组播流量推送至所有出口PE路由器,而不保留陈旧的、未使用的或不必要的隧道。之后,如果出口PE路由器20B变为具备SR感知,则入口PE路由器20A可以创建至出口PE路由器20B的新SR隧道并且将组播流量切换至新创建的SR隧道。入口PE路由器20A然后可以删除、拆除、或清除非SR隧道16A。

图2是根据本公开的技术的示例性计算机网络的框图,该示例性计算机网络包括单一自治系统内的被配置为在一个或多个组播源与组播接收器之间传输组播流量的网络装置。

在网络10D作为企业网络的示例中,组播数据源32和组播接收器28可以包括位于单一办公地点的不同区域的一个或多个服务器或者员工计算机终端、或者可以包括公司的远程办公地点。

组播数据源32连接至入口PE路由器30A。组播接收器28A连接至出口PE路由器30B而组播接收器28B连接至出口PE路由器30C。组播数据源32、组播接收器28A、以及组播接收器28B可以与参考上面图1所描述的组播数据源12、组播接收器18A、以及组播接收器18B相似地操作。

每个MVPN PE路由器(入口PE路由器30A、出口PE路由器30B、以及出口PE路由器30C)可以具有类型-1路由。例如,入口PE路由器30A可以具有PMSI隧道类型为“IR”且扩展社区属性分段-路由:1:0的类型-1路由24A,该1:0指示入口PE路由器30A具备SR能力。出口PE路由器30B可以具有扩展社区属性分段-路由:0:0的类型-1路由24B,该0:0指示出口PE路由器30B不具备SR能力。出口PE路由器30C可以具有扩展社区属性分段-路由:1:0的类型-1路由24C,1:0指示出口PE路由器30C具备SR能力。

在包容性隧道(I-PMSI)的情况下,入口PE路由器30A对所接收的类型-1MVPN路由进行处理,并且基于扩展社区属性分段-路由决定创建非SR隧道(例如,RSVP-TE P2P隧道)或SR隧道(例如,SR-TE P2P隧道)。入口PE路由器30A可以通过网络10D发起至出口PE路由器30B的非SR隧道26A的建立。入口PE路由器30A还可以通过网络10D发起至出口PE路由器30C的SR隧道26B的建立。然后,根植于入口PE路由器30A处的入口复制隧道可以绑定至非SR隧道26A和SR隧道26B。在选择性隧道(S-PMSI)的情况下,入口PE路由器30A可以基于扩展社区属性分段-路由,对所接收的类型-1和类型-4MVPN路由进行处理并且决定创建非SR隧道或SR隧道。

图3是根据本公开的技术的示例性计算机网络的框图,该示例性计算机网络包括多个自治系统内的被配置为在一个或多个组播源与组播接收器之间传输组播流量的网络装置。

组播数据源42连接至入口PE路由器40A。组播接收器38A连接至出口PE路由器40B并且组播接收器38B连接至出口PE路由器40C。组播数据源42、组播接收器38A、以及组播接收器38B可以与参考上面图1描述的组播数据源12、组播接收器18A、以及组播接收器18B类似。

每个MVPN PE路由器(入口PE路由器40A、出口PE路由器40B、以及出口PE路由器40C)交换类型-1消息。例如,入口PE路由器40A可以发送具有PMSI隧道类型为“IR”且扩展社区属性分段-路由:1:0的类型-1消息,该1:0指示入口PE路由器40A具备SR能力。出口PE路由器40B可以发送具有扩展社区属性分段-路由:0:0的类型-1消息,该0:0指示出口PE路由器40B不具备SR能力。出口PE路由器40C可以发送具有扩展社区属性分段-路由:1:0的类型-1消息,该1:0指示出口PE路由器40C具备SR能力。

在包容性隧道(I-PMSI)的情况下,入口PE路由器40A对所接收的类型-1MVPN路由进行处理,并且基于扩展社区属性分段-路由决定创建非SR隧道(例如,RSVP-TE P2P隧道)或SR隧道(例如,SR-TE P2P隧道)。入口PE路由器40A可以通过AS 1 10E、BR 42A、AS 2 10F、BR42B、以及AS 3 10G发起至出口PE路由器40B的非SR隧道36A的建立。入口PE路由器40A还可以通过AS 1 10E、ND 42A、AS 2 10F、ND 42C、以及AS 4 10H发起至出口PE路由器20C的SR隧道36B的建立。然后,根植于入口PE路由器20A处的入口复制隧道可以绑定至非SR隧道36A和SR隧道36B。在选择性隧道(S-PMSI)的情况下,入口PE路由器40A可以基于扩展社区属性分段-路由,对所接收的类型-1和类型-4MVPN路由进行处理并且决定创建非SR隧道或SR隧道。

现在进一步讨论利用提供商组播服务接口(PMSI)的信令。在包容性隧道:I-PMSI的示例中,入口PE路由器(例如,图1中的入口PE路由器20A)可以对所接收的附接BGP扩展社区属性的类型-1MVPN路由进行处理、并且创建指示具备SR感知的出口PE路由器的列表和指示不具备SR感知的出口PE路由器的另一列表。在一些示例中,该列表可以一起存储为表格。入口PE路由器的MVPN模块可以使用现有的IR程序来创建到不具备SR感知的所有出口PE路由器的非SR隧道(例如,RSVP-TE隧道)。例如,诸如入口PE路由器的网络装置可以基于BGP扩展社区属性创建指示具备SR感知的出口网络装置的列表。网络装置还可以在指示具备SR感知的出口网络装置的列表上查找出口网络装置是否具备SR感知。

入口PE路由器的MVPN模块可以将关于指示端点(具备SR感知的MVPN出口PE路由器)的列表和TE约束条件的信息传递至使用IGP(例如,OSPF或ISIS)的SR-TE模块。MVPN模块还可以传送关于SR-TE隧道路径由本地计算(在入口PE上,例如使用最短路径第一分段路由算法)还是经由网络控制器计算的指示。

根据本公开的技术的MVPN增强IR程序能够使入口MVPN PE路由器利用非SR隧道(例如,使用指示不具备SR感知的MVPN PE的列表的RSVP-TE隧道)和SR隧道(例如,使用指示具备SR感知MVPN PE的列表)来跨I-PMSI传递组播流量。

在选择性隧道——S-PMSI的示例中,入口PE路由器(例如,图1中的入口PE路由器20A)可以对所接收的类型-4MVPN路由及对应的类型-1MVPN路由进行处理,并且创建指示具备SR感知的MVPN PE路由器的列表和指示不具备SR感知的MVPN PE路由器的另一列表。在一些示例中,列表可以一起存储为表格。

入口PE路由器的MVPN模块可以使用现有的IS程序来创建到不具备SR感知的所有出口PE路由器的非SR隧道(例如,RSVP-TE隧道)。MVPN模块可以将关于指示端点(具备SR感知的MVPN出口PE路由器)的列表和TE约束条件的信息传递至SR-TE模块。MVPN模块还可以传送关于SR-TE隧道路径是由本地计算(在入口PE路由器上)还是经由网络控制器计算的指示。

MVPN模块内的MVPN增强IR程序能够使入口MVPN PE路由器使用非SR隧道(例如,使用指示不具备SR感知的MVPN PE的列表的RSVP-TE隧道)和SR隧道(使用指示具备SR感知的MVPN PE的列表)来在S-PMSI上传递组播流量。

现在讨论非SR隧道与SR隧道之间的切换。如果MVPN出口PE路由器(例如,出口PE路由器20B)通过所附接的扩展社区属性分段-路径,对指示从不具备SR感知(分段-路由:0:0)变换到具备SR感知(分段-路由:1:0)的类型-1MVPN路由进行刷新,则入口PE(例如,入口PE路由器20A)上的MVPN增强IR程序可以创建到该MVPN出口PE路由器的SR隧道路径,并且将组播流量切换至到该MVPN出口PE路由器的新SR隧道。入口PE路由器然后可以拆除或清除之前创建的到该MVPN出口PE路由器的非SR隧道。

本公开的技术可应用于具有混合MVPN出口PE路由器(一些配备有SR能力而一些无SR能力)的MVPN部署。这些技术可以与传统的MVPN PE路由器和具备SR能力的PE路由器相互操作。在入口MVPN PE路由器与出口MVPN PE路由器之间创建的SR-TE隧道可以在非SR(例如,RSVP-TE)岛上桥接/隧道化。增强IR程序允许入口MVPN PE路由器创建到不同的端点(例如,MVPN出口PE路由器)的不同TE路径(非SR和SR),并且在这些新创建的TE隧道上传递组播流量。例如,本公开的技术可以包括例如在入口PE路由器的MVPN模块中的MVPN路由表格中所存储的新社区。

图4是根据本公开的技术的另一示例性计算机网络,该另一示例性计算机网络包括单一自治系统内的被配置为在一个或多个组播源与组播接收器之间传输组播流量的网络装置。在本示例中,网络10I包括入口PE路由器90A、出口PE路由器90B、以及出口PE路由器90C。入口PE路由器90A连接至组播数据源82。出口PE路由器90B和出口PE路由器90C分别连接至组播接收器88A和组播接收器88B。组播数据源82连接至入口PE路由器90A。组播接收器88A连接至出口PE路由器90B而组播接收器88B连接至出口PE路由器90C。组播数据源82、组播接收器88A、以及组播接收器88B可以与上面参考图1描述的组播数据源12、组播接收器18A、以及组播接收器18B相似地操作。

在本示例中,并非(或除了)使用如图1至图3的示例中的扩展社区属性,入口PE路由器90A可以(或还可以)确定存在哪些类型(例如,SR或非SR)的单播隧道并且然后发起与到给定PE路由器的现有单播隧道为同一类型的组播隧道的建立。例如,可以存在单播隧道84A和84B。单播隧道84A可以是非SR隧道而单播隧道84B可以是SR隧道。在一些示例中,入口PE路由器90A可以通过例如路由协议守护进程-Infra(RPD-Infra),来对路由信息62进行查找,以从例如inet.3表中检索至出口PE路由器90B和出口PE路由器90C的隧道列表。入口PE路由器90A的MVPN模块还可以注册相对于出口PE路由器90B和出口PE路由器90C的隧道的任意变化的闪存/回调。如此,入口PE路由器可以创建指示具备SR感知的出口PE路由器的列表和/或指示不具备SR感知的出口PE路由器的另一列表。入口PE路由器90A的MVPN模块可以利用现有的IR程序来发起至出口PE路由器90B的非SR隧道86A(例如,RSVP-TE隧道)的建立。入口PE路由器90A上的MVPN模块可以将关于指示具备SR感知的PE路由器的列表及TE约束条件的信息传递至SR-TE模块。入口PE路由器90A上的MVPN模块还可以传送关于SR-TE隧道路径需要在本地计算(例如,在入口PE上,使用分布式约束最短路径优先(DCSPF)SR_TE)还是经由网络控制器(未示出)计算的指示。入口PE路由器90A上的MVPN模块可以发起SR隧道86B的建立。图4的示例中的技术还可以应用于图1和图3中的网络架构。

图5是示出被配置为根据本公开的技术而操作的示例性网络装置50的框图。在一个示例中,网络装置50可以操作为网络(诸如MPLS网络)的入口网络装置。在另一示例中,网络装置可以操作为出口网络装置。根据所公开的技术,在网络装置50是入口网络装置的示例中,网络装置50被配置为:基于具备分段路由感知的出口网络装置来确定出口网络装置是否具备SR感知、发起至出口网络装置的SR-TE隧道的建立、并且在SR-TE隧道上转发组播流量。网络装置50可以与图1至图4中的入口PE路由器20A、入口PE路由器30A、入口PE路由器40A、或入口PE路由器90A大致相似地操作。

在图5所示的示例中,网络装置50包括接口卡60A–60N(“IFC 60”),该接口卡经由传入链路接收控制和数据分组并且经由出站链路发送控制和数据分组。IFC 60通常经由多个接口端口耦接至传入链路和出站链路。网络装置50还包括确定所接收的分组的路由并且经由IFC 60相应地转发分组的控制单元54。

控制单元54包括路由引擎56和转发引擎58。路由引擎56操作为路由器50的控制平面并且包括操作系统(未示出),操作系统可以为多个并行处理的执行提供多任务操作环境。例如,路由引擎56为各种协议66提供操作环境,该各种协议66针对网络装置50执行路由功能。在图5所示的示例中,路由引擎56包括作为单播路由协议的BGP 70,以用于与网络中的其他网络装置交换路由信息,以便发现网络拓扑并更新路由信息62,并且发送用于MVPN自动发现、提供商隧道信令、以及客户组播路由信令的路由。BGP 70还可以用于交换扩展社区属性(诸如指示网络装置是否具备SR感知的网络装备之间的分段-路由)。此外,路由引擎56的协议66包括用于交换带宽预留信息和标签以构建RSVP隧道的RSVP 46、用于交换链路状态信息以及标签和/或SID以构建SR隧道的IGP 48、以及作为组播路由协议的用于使用路由信息62和组播状态信息64与网络中的其他网络装置构建组播分发树的PIM 68。

路由引擎56的协议66还包括作为通信协议的用于与网络外部的客户站点内的IGMP主机(例如接收器和源)建立组播组成员资格的互联网组管理协议(IGMP)72。在一些示例中,路由引擎56可以接收IGMP报告消息,以用于识别组播组并且在一些情况下识别IGMP主机感兴趣的组播组的源。在一些示例中,路由引擎56可以使用PIM 68生成用于在网络中构建组播分发树的组播控制消息(例如,PIM加入消息和/或PIM修剪消息)。

路由信息62可以描述网络装置50所驻留的网络的拓扑结构、并且还可以描述网络内的各种路由及每个路由的适当下一跳(即,沿着每个路由的相邻网络装置)。路由信息62可以包括指示每个路由中的哪些IFC 60连接至相邻网络装置的传入接口(IIF)列表和传出接口(OIF)列表。例如,给定路由可以包括针对给定组播组的组播流量的组播路由。在该示例中,路由信息62中所包括的IIF的列表可以包括针对具有给定组播组的状态的所有上行相邻网络装置的上行接口列表,而路由信息62中所包括的OIF的列表可以包括针对具有给定组播组的状态的所有下行相邻网络装置的下行接口列表。组播状态信息64可以描述针对使用PIM 68而建立的组播分发树中的相邻网络装置的接口的当前状态。例如,组播状态信息64可以包括针对给定组播分发树的范围内的每个不同组播组的组播状态(例如,PIM加入状态和PIM修剪状态)。更具体地,对于每个组播组,组播状态信息64可以包括朝向相邻网络装置的上行接口和下行接口,该相邻网络装置属于相应组播组。

MVPN模块74可以被配置为使用PIM 68和BGP 70中的一者或两者建立并且保持网络内的MVPN分发树或隧道。例如,MVPN模块74可以向SR-TE模块76发信号以发起SR-TE隧道的建立。MVPN模块74还可以向诸如RSVP-TE模块80的非SR-TE模块发信号以发起非SR隧道的建立。MVPN模块74可以包含MVPN路由表75,该MVPN路由表75可以包括指示哪些出口网络装置具备SR感知的列表和/或指示哪些出口网络装置不具备SR感知的列表。

转发引擎58可以接收BGP消息并且可以将所接收的消息转发至MVPN模块74以进行处理。此外,MVPN模块74可以映射网络内的其他网络装置的MVPN成员资格信息并且基于该MVPN成员资格信息生成给定MVPN的组播状态。在一些示例中,MVPN模块74可以将一个或多个MVPN的组播状态存储在组播状态信息64中。

路由引擎56对路由信息62和组播状态信息64进行分析,以生成安装在转发引擎58中的转发信息78。转发引擎58为网络装置50提供数据平面功能。尽管图5中未示出,然而,转发引擎58可以包括中央处理单元(CPU)、存储器及一个或多个可编程的分组转发专用集成电路(ASIC)。转发信息78使网络目的地与IFC 60的特定下一跳及对应端口相关联。

根据本公开的技术,当网络装置50从出口网络装置接收类型-1路由(或类型-4路由)(诸如类型-1路由14B、14C、24B、24C、34B、以及34C)时,网络装置50确定附接至类型-1路由的扩展社区属性分段-路由。在一些示例中,在扩展社区属性分段-路由指示出口网络装置具备SR感知的情况下,网络装置50可以将该出口网络装置添加至指示SR感知网络装置的列表,该列表存储在由MVPN模块74保持的MVPN路由表75中或网络装置50中的其他位置。在一些示例中,在扩展社区属性分段-路由指示出口网络装置不具备SR感知的情况下,网络装置50可以将该网络装置添加至指示非SR感知网络装置的列表,该列表指示存储在由MVPN模块74保持的MVPN路由表75中或网络装置50的其他位置。

当组播流量期望新的隧道时,MVPN模块74可以查找出口网络装置是在MVPN路由表75中的SR感知列表上、还是在MVPN路由表75中的非SR感知的列表上、或者可以查看来自出口网络装置的类型-1路由,以确定扩展社区属性分段-路由,从而确定创建哪种类型的隧道。MVPN模块74然后可以利用SR-TE模块76发起建立至出口网络装置的新SR-TE隧道或者可以利用诸如RSVP-TE模块80的非RSVP-TE模块发起建立至出口网络装置的新的非SR隧道。如此,网络装置50可以确定出口网络装置是否具备SR感知。基于具备分段路由感知的出口网络装置,发起建立至出口网络装置的SR-TE隧道。网络装置50可以在SR-TE隧道上转发组播流量。

在其他示例中,网络装置50可以通过在在由网络运营商所创建的指示哪些出口网络装置具备SR感知的MVPN出口网络装置的静态策略或列表中查找出口网络装置,来确定出口网络装置是否具备SR感知。在其他示例中,网络装置50可以基于诸如相对于图4所讨论的现有单播隧道的类型来确定出口网络装置是否具备SR感知。

仅出于示例性之目的示出图5中所示的网络装置50的架构并且图5中所示的网络装置50的架构不应局限于该架构。在其他示例中,网络装置50可以以各种方式配置。在其他示例中,控制单元54中的一些功能可以分布在IFC 60内。控制单元54可以单独地在软件或硬件中实现、或者可以作为软件、硬件、或固件的组合实现。例如,控制单元54可以包括执行软件指令的一个或多个处理器。在这种情况下,控制单元54的各个软件模块可以包括存储在诸如计算机存储器或硬盘的计算机可读介质上的可执行指令。

图6是示出根据本公开的技术的网络装置的示例性操作的流程图。网络装置50(例如,入口PE路由器20A)可以确定第一出口网络装置(例如,出口PE路由器20C)是否具备SR感知(100)。例如,网络装置50可以通过查找MVPN路由表75中的第一出口网络装置来确定第一出口网络装置是否具备SR感知。在一些示例中,网络装置50可以通过在由网络管理员创建的MVPN出口网络装置的静态策略或列表中查找第一出口网络装置,来确定第一出口装置是否具备SR感知,该静态策略或列表列出了那些具备SR感知的出口网络装置和/或那些不具备SR感知的出口网络装置。在其他示例中,MVPN路由表75可以由网络装置50基于附接至类型-1和类型-4路由的扩展社区属性来构建。在一些示例中,网络装置50可以通过确定附接至类型-1或类型-4路由的扩展社区属性来确定第一出口网络装置是否具备SR感知,而无需查找MVPN路由表中的第一出口网络装置。在又一其他的示例中,网络装置50可以基于是否存在到第一出口网络装置的现有单播SR隧道,来确定第一出口网络装置是否具备SR感知。

基于第一出口网络装置具备分段路由感知(100中的“是”路径),网络装置50可以发起朝向第一出口网络装置的SR隧道的建立(102)。例如,MVPN模块74可以向SR-TE模块76发信号以发起朝向第一出口网络装置的新的SR隧道的建立。网络装置50可以在SR隧道上朝向第一出口网络装置转发组播流量(106)。

网络装置50(例如,入口网络装置20A)还可以通过与确定第一出口网络装置是否具备SR感知的相似方式来确定第二出口网络装置(例如,出口PE路由器20B)是否具备SR感知(100)。基于第二出口网络装置不具备SR感知(100中的“否”路径),网络装置50可以发起朝向第二出口网络装置的非SR隧道的建立(104)。例如,MVPN模块74可以向RSVP-TE模块80发信号以发起朝向第二出口网络装置的新的非SR隧道的建立。网络装置50可以在非SR隧道上朝向第二出口网络装置转发组播流量(106)。

在一些示例中,网络装置50可以从出口网络装置(例如,出口PE路由器)接收类型-1路由(诸如类型-1路由14B、14C、24B、24C、34B、以及34C),并且确定附接至类型-1路由的扩展社区属性分段-路由。在一些示例中,网络装置50可以通过查找例如MVPN路由表75中的列表上的出口PE路由器来确定出口PE路由器是否具备SR感知。例如,网络装置50可以确定附接至类型-1路由的扩展社区属性分段-路由并且将出口PE路由器放置在指示出口PE路由器的扩展社区属性分段-路由的列表上(例如,MVPN路由表75)。当设定至出口PE路由器的新的组播隧道时,网络装置50可以查找列表上的出口PE路由器来确定出口PE路由器是否具备SR感知。

在其他示例中,诸如参考图4讨论的,网络装置50可以确定存在哪些类型(例如,SR或非SR)的单播隧道并且然后发起与到给定PE路由器的现有单播隧道为同一类型的组播隧道的建立。在其他示例中,网络装置50可以通过在由指示哪些出口网络装置具备SR感知的网络运营商创建的MVPN出口网络装置的静态策略或列表中查找出口网络装置,来确定该出口网络装置是否具备SR感知。

图7是示出根据本公开的技术的网络装置的另一示例性操作的流程图。在图7的示例中,由于第二出口网络装置之前不具备SR感知,所以网络装置50具有到第二出口网络装置的组播非SR隧道。网络装置50可以确定第二出口网络装置是否已经变为具备SR感知(110)。例如,网络装置50可以从出口PE路由器20B接收类型-1路由以及扩展社区属性分段-路径:1:0,该扩展社区属性分段路径:1:0指示第二网络装置(例如,出口PE路由器20B)现在具备SR感知。然后,网络装置50可以发起建立到第二出口网络装置的SR-TE隧道(112)。例如,网络装置50可以向SR-TE模块76发出发起建立SR-TE隧道的信号。网络装置50可以在新的SR-TE隧道上将组播流量转发至第二出口网络装置(114)。然后,网络装置50可以拆除或清除到第二出口网络装置的旧的组播非SR隧道(例如,RSVP-TE隧道16A)。

本文所述的技术可以易于实现,因为,除了可能存在于出口PE路由器上的新的扩展社区属性之外,仅必须在入口PE路由器上添加新的功能。不需要进行其他控制平面改变。该解决方案可以简单地操作和管理。该解决方案在出口PE路由器的硬件中并不需要任何额外的支持。在从非SR能力至SR能力的网络装置的网络迁移期间中,相比于可替代的实现方式,本公开的技术可以更为有效。

在硬件、软件、固件、或其任意组合中至少可以部分实现本公开中所描述的技术。例如,可以在一个或多个处理器(包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)、或任意其他等同的集成或离散逻辑线路、以及该部件的任意组合)内实现所描述技术的各种方面。术语“处理器”或“处理线路”通常可以指单独或结合其他逻辑线路的任意前述逻辑线路、或者任意其他等同线路。包括硬件的控制单元还可以执行本公开的一种或多种技术。

这样的硬件、软件、以及固件可以在同一装置内或独立装置内实现,以支持本公开中所描述的各种操作和功能。此外,所描述的任意单元、模块、或部件可以一起或单独实现为离散但可相互操作的逻辑装置。对于作为模块或单元的不同特征的描绘旨在突出不同的功能方面并且并不必须默示必须通过独立的硬件或软件部件来实现该模块或单元。确切地,可以通过单独的硬件或软件部件执行与一个或多个模块或者单元相关联的功能,或将与一个或多个模块或者单元相关联的功能集成在公共或单独的硬件或软件部件内。

本公开中所描述的技术还可以实现或编码成计算机可读介质(诸如包含指令的计算机可读存储介质)。例如,当执行指令时,被嵌入或编码成计算机可读介质的指令可以使可编程处理器或其他处理器执行方法。计算机可读介质可以包括非易失性计算机可读存储介质和易失性通信介质。计算机可读存储介质(有形并且非易失性)可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁介质、光学介质、或其他计算机可读存储介质。应当理解的是,术语“计算机可读存储介质”指物理存储介质、而非信号、载波、或其他瞬时介质。

已经在本公开中描述了各种示例。这些及其他示例在所述权利要求的范围内。

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数据处理方法和设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!