CN110620717A - 使用比特索引显式复制(bier)为不具有bier能力的网络设备转发多播数据分组 - Google Patents
使用比特索引显式复制(bier)为不具有bier能力的网络设备转发多播数据分组 Download PDFInfo
- Publication number
- CN110620717A CN110620717A CN201910438455.4A CN201910438455A CN110620717A CN 110620717 A CN110620717 A CN 110620717A CN 201910438455 A CN201910438455 A CN 201910438455A CN 110620717 A CN110620717 A CN 110620717A
- Authority
- CN
- China
- Prior art keywords
- bier
- network device
- multicast packet
- neighboring
- neighboring network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1836—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/783—Distributed allocation of resources, e.g. bandwidth brokers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/806—Broadcast or multicast traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/825—Involving tunnels, e.g. MPLS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
Abstract
网络设备可以向第一相邻网络设备传输指示网络设备支持比特索引显式复制(BIER)的信息,其中网络设备不支持BIER。网络设备可以从第一相邻网络设备接收包括与网络设备相关联的第一BIER标签的多播分组。网络设备可以将第一BIER标签替换为与第二相邻网络设备相关联的第二BIER标签,并且可以向第二相邻网络设备传输多播分组。第二相邻网络设备可以用于向支持BIER的第三相邻网络设备隧道传送多播分组。
Description
背景技术
比特索引显式复制(BIER)是用于在网络设备之间转发多播数据分组的通信协议。网络设备可以使用BIER来转发多播数据分组,而不必构建多播分发树,维持每个流的转发状态,等等。
发明内容
根据一些实现,一网络设备可以包括一个或多个存储器、以及一个或多个处理器,用以向第一相邻网络设备传输指示网络设备支持BIER的信息的,其中网络设备不支持BIER。一个或多个处理器可以基于传输指示网络设备支持BIER的信息从第一相邻网络设备接收多播分组,其中多播分组包括与网络设备相关联的第一BIER标签。一个或多个处理器可以将包括在多播分组中的第一BIER标签替换为与第二相邻网络设备相关联的第二BIER标签,并且可以基于将包括在多播分组中的第一BIER标签替换为第二BIER标签来向第二相邻网络设备传输多播分组。第二相邻网络设备可以用于向支持BIER的第三相邻网络设备隧道传送多播分组。
根据一些实现,一非暂态计算机可读介质可以存储包括一个或多个指令的指令,该一个或多个指令在由网络设备的一个或多个处理器执行时,使得一个或多个处理器向第一相邻网络设备传输指示网络设备支持BIER的信息,其中网络设备不支持BIER。还一个或多个指令可以使得一个或多个处理器基于传输指示网络设备支持BIER的信息从第一相邻网络设备接收多播分组,其中多播分组包括与网络设备相关联的第一BIER标签。该一个或多个指令可以使得一个或多个处理器将包括在多播分组中的第一BIER标签替换为与第二相邻网络设备相关联的第二BIER标签,并且在将包括在多播分组中的第一BIER标签替换为第二BIER标签之后向第二相邻网络设备传输多播分组。第二相邻网络设备可以用于向支持BIER的第三相邻网络设备隧道传送多播分组,并且可以将多播分组封装在附加的封装层中。
根据一些实现,一方法可以包括:由网络设备向第一相邻网络设备传输指示网络设备支持BIER的信息,其中网络设备不支持BIER。该方法可以包括:在网络设备处,基于传输指示网络设备支持BIER的信息从第一相邻网络设备接收多播分组,其中多播分组包括与网络设备相关联的第一BIER标签。该方法可以包括由网络设备将包括在多播分组中的第一BIER标签替换为与第二相邻网络设备相关联的第二BIER标签,并且由网络设备在将包括在多播分组中的第一BIER标签替换为第二BIER标签之后向第二相邻网络设备传输多播分组。第二相邻网络设备可以用于生成多播分组的多个副本,并且向多个第三相邻网络设备隧道传送多播分组的多个副本。第二相邻网络设备可以用于通过网络设备向支持BIER的第三相邻网络设备隧道传送多播分组,并且可以将多播分组封装在附加的封装层中。
附图说明
图1A-1H是本文中描述的示例实现的图;
图2是可以实现本文中描述的系统和/或方法的示例环境的图;
图3是图2的一个或多个设备的示例组件的图;
图4是用于使用BIER为不具有BIER能力的网络设备转发多播数据分组的示例过程的流程图;
图5是用于使用BIER为不具有BIER能力的网络设备转发多播数据分组的示例过程的流程图;以及
图6是用于使用BIER为不具有BIER能力的网络设备转发多播数据分组的示例过程的流程图。
具体实施方式
以下对示例实现的详细描述参考附图。不同附图中的相同附图标记可以标识相同或相似的元素。
网络设备(诸如,使能BIER的设备)可以通过将多播分组封装在BIER报头中来接收多播分组并且向相邻网络设备转发多播分组。BIER报头可以包括比特串,该比特串标识作为多播分组的预期接收者的一个或多个目的地网络设备。比特串中的每个位置可以对应于一个或多个目的地网络设备中的目的地网络设备。例如,0011的比特串可以标识与BIER标识符0001相关联的第一目的地网络设备以及与BIER标识符0010相关联的第二目的地网络设备。
如果相邻网络设备也支持BIER,则相邻网络设备可以接收具有BIER报头的多播分组,并且可以基于BIER报头中的比特串来确定在何处传输多播分组的副本。为了转发多播分组的副本,相邻网络设备可以标识BIER报头中的比特串,可以标识比特串中被设置为1(例如,在上面的比特串示例中的0001)值的最低有效位(例如,最右边的比特),并且可以基于最低有效位在与相邻网络设备相关联的比特索引转发表(BIFT)中执行查找。
当执行查找时,相邻网络设备可以在BIFT中标识与最低有效位相关联的BIER标识符(例如,与第一目的地网络设备相关联的BIER标识符0001),并且可以标识与BIER标识符相关联的转发比特掩码和比特转发相邻设备。转发比特掩码可以标识经由与转发比特掩码相关联的比特转发相邻设备可到达的一个或多个目的地网络设备。例如,转发比特掩码0001可以将第一目的地网络设备标识为经由比特转发相邻设备可到达,转发比特掩码0011可以将第一目的地网络设备和第二目的地网络设备标识为经由比特转发相邻设备可到达,依此类推。
相邻网络设备可以生成多播分组的副本,将多播分组的副本封装在BIER报头中,在BIER报头前面添加标识比特转发相邻设备的BIER标签,并且可以向比特转发相邻设备传输多播分组的副本。多播分组的副本的BIER报头可以包括与转发比特掩码相对应的比特串,该转发比特掩码与比特转发相邻设备相关联。在一些情况下,转发相邻设备可以是多播分组的多个预期接收者的邻居,并且因此多播分组的副本的比特串可以表示与多个预期接收者相关联的BIER标识符。在一些情况下,比特转发相邻设备可以接收多播分组的副本并且可以执行与相邻网络设备执行的那些动作类似的动作,并且该过程可以继续直到多播分组的所有预期接收者都接收到多播分组的副本。在一些情况下,比特转发相邻设备可以是多播分组的目的地(例如,第一目的地网络设备),并且因此比特串也可以表示与第一目的地网络设备相关联的BIER标识符。
在一些情况下,如果网络设备不支持BIER,则网络设备可以是不具有BIER能力的设备(本文中称为非BIER设备non-BIER)。非BIER设备可能无法被改装以支持BIER,因为BIER功能(例如,在BIER报头中封装多播分组的功能、识别以及理解BIER报头的功能、基于BIER报头来转发多播分组的功能等)在具有BIER能力的设备的转发平面硬件中实现。因此,非BIER设备必须用新的转发平面硬件进行改装以便支持BIER,这在数百或数千个非BIER设备的网络中可能是不切实际的。这可能使BIER难以在扩建区域部署中实现(即,升级到现有网络),其中支持BIER的设备可以与非BIER设备共存。
在包括非BIER设备的网络中部署BIER的一种技术是使用单播隧道通过非BIER设备隧道传送BIER封装的多播分组。为了通过非BIER设备在第一使能BIER的设备与第二使能BIER的设备之间隧道传送BIER封装的多播分组,第一使能BIER的设备可以向BIER封装的多播分组上添加附加的封装层。以这种方式,BIER封装的多播分组成为附加的封装层的有效载荷。附加的封装层可以是由非BIER设备可识别的报头,诸如以太网报头、多协议标签交换(MPLS)报头、用户数据报协议(UDP)报头、和/或类似的。然后,第一非BIER设备可以经由单播隧道(诸如MPLS隧道、以太网隧道、UDP隧道、和/或类似的)向非BIER设备传输具有附加封装层的BIER封装的多播分组。非BIER设备可以接收具有附加封装层的BIER封装的多播分组,并且可以使用第二单播隧道向第二使能BIER的设备转发具有附加的封装层的BIER封装的多播分组。
虽然上述技术允许在存在非BIER网络设备的情况下使用BIER,但是上述技术不能很好地扩展,因为非BIER设备通信地连接到的网络设备的数量变大。由于非BIER设备不能复制经由单播隧道的从使能BIER的设备接收的BIER封装的多播分组,因此支持BIER的设备可以为非BIER网络设备执行复制。因此,使能BIER的设备需要将大量BIER封装的分组复制、封装和隧道传送到非BIER设备,这会增加使能BIER的设备与非BIER设备之间的带宽资源消耗。如果连接是低带宽连接和/或长距离连接,则这可能导致使能BIER的网络设备与非BIER网络设备之间的连接上的延迟增加和/或分组丢弃。
本文中描述的一些实现提供了一种非BIER设备,该非BIER设备能够从网络中的使能BIER的设备接收BIER封装的多播分组,而无需使用附加的封装来在使能BIER的设备与非BIER设备之间进行隧道传送。非BIER设备可以向使能BIER的设备传输信息,该信息指示非BIER设备支持BIER。以这种方式,当非BIER设备实际上不支持BIER时,使能BIER的设备确定非BIER设备支持BIER。作为结果,使能BIER的设备可以向非BIER设备传输第一BIER封装的多播分组,而无需附加的封装来向非BIER设备单播隧道传送第一BIER封装的多播分组。以这种方式,使能BIER的设备与非BIER设备之间的连接上的带宽资源使用被减少,这改善了连接上的延迟并且允许连接是长距离和/或低带宽的。
在本文中描述的一些实现中,非BIER设备可以接收第一BIER封装的多播分组,并且可以向BIER代理设备传输第一BIER封装的多播分组。BIER代理设备可以被配置为知道非BIER设备不支持BIER(例如,基于由非BIER设备提供的信息,基于BIER代理设备的静态编程,等等)。因此,BIER代理设备可以从非BIER设备接收第一BIER封装的多播分组,并且可以为非BIER设备执行第一BIER封装的多播分组的复制。复制可以包括基于所接收的BIER封装的多播分组生成多个第二BIER封装的多播分组。第二BIER封装的多播分组可以包括附加的封装层,该附加的封装层用于在BIER代理设备与非BIER设备之间以及在非BIER设备和与非BIER设备相邻的任何附加的网络设备之间进行单播隧道传送。
BIER代理设备可以向非BIER设备传输具有附加的封装层的多个第二BIER封装的多播分组。BIER代理设备与非BIER设备之间的连接可以是高带宽和/或短距离的(例如,设备可以共同位于同一房间、同一设备机架中,等)。以这种方式,该连接能够适应利用附加的封装层来传输多个第二BIER封装的多播分组的附加的带宽使用,这提高了网络中的吞吐量并且减少了网络中的延迟。
图1A-1H是本文中描述的示例实现100的图。如图1A-1H所示,示例实现100可以包括多个网络设备,诸如BIER入口设备、多个BIER出口设备1到n(统称为“BIER出口设备”,并且单独地称为“BIER出口设备”)、多个BIER转发设备1到m(统称为“BIER转发设备”,并且单独地称为“BIER转发设备”)、非BIER设备、BIER代理设备等。虽然图1A-1H示出了与单个BIER转发设备通信连接的单个BIER出口设备,但是在一些实现中,BIER出口设备可以与多个BIER转发设备通信连接和/或BIER转发设备可以与多个BIER出口设备通信连接。在一些实现中,非BIER设备可以与多个BIER入口设备和/或多个BIER代理设备通信连接。在一些实现中,BIER代理设备可以与多个非BIER设备通信连接,和/或BIER入口设备可以与多个非BIER设备通信连接。在一些实现中,非BIER设备可以直接与一个或多个BIER出口设备通信连接。
如图1A-1H所示,BIER入口设备和非BIER设备可以是邻居,BIER代理设备和非BIER设备可以是邻居,非BIER设备可以与BIER转发设备是邻居,以及每个BIER转发设备可以与相应BIER出口设备是邻居(例如,BIER转发设备1可以与BIER出口设备1是邻居,BIER转发设备2可以与BIER出口设备2是邻居,依此类推)。
在一些实现中,BIER入口设备、BIER出口设备、BIER转发设备、非BIER设备和BIER代理设备可以被包括在BIER域中。BIER域可以是其中BIER用于转发或传输多播分组的网络的一部分。在一些实现中,BIER入口设备、BIER出口设备、BIER转发设备、非BIER设备和/或BIER代理设备可以被包括在多个BIER域中,并且可以在多个BIER域中执行不同的功能。例如,BIER入口设备和BIER出口设备1可以被包括在第一BIER域中,以及BIER出口设备1可以被包括在第二BIER域中,在该第二BIER域中,BIER出口设备1是BIER入口设备。
BIER入口设备可以是用作用于多播分组进入BIER域的入口点的使能BIER的网络设备。BIER入口设备可以接收多播分组(例如,从另一网络,从另一个BIER域中的另一BIER个出口设备,和/或类似的),并且可以确定BIER域中将要接收多播分组的副本的一个或多个BIER出口设备。通过向多播分组添加BIER报头,以及向多播分组添加BIER标签以标识到一个或多个BIER出口设备的路径中的下一跳,BIER入口设备可以基于确定一个或多个BIER出口设备来封装多播分组。BIER入口设备可以向BIER域中的下一跳传输BIER封装的多播分组。多播分组的BIER报头可以包括比特串,该比特串包括标识一个或多个BIER出口设备的信息。例如,比特串的长度可以是四比特(或任何其他长度),并且可以是0111,其中最右边的1值(即,0001)标识BIER出口设备1,右起第二个1值(即,0010)标识BIER出口设备2,并且右起第三个1值(即0100)标识BIER出口设备n。
BIER出口设备可以是用作BIER域中的多播分组的出口点的使能BIER的网络设备。BIER出口设备可以接收BIER封装的多播分组,可以从BIER封装的多播分组中移除(或弹出)BIER报头,并且可以向另一网络中的一个或多个其他网络设备、另一BIER域中的一个或多个其他网络设备等传输BIER封装的多播分组的有效载荷(其可以是MPLS分组、以太网分组等)。
BIER转发设备可以是向BIER域内的一个或多个其他网络设备传输BIER封装的多播分组的使能BIER的网络设备。例如,BIER转发设备1可以接收BIER封装的多播分组,可以将BIER封装的多播分组的与BIER转发设备1相关联的BIER标签与BIER出口设备1相关联的BIER标签交换,可以更新BIER封装的多播分组的BIER报头中用于表示与BIER出口设备1相关联的BIER标识符的比特串,并且可以向BIER出口设备1传输BIER封装的多播分组。
非BIER设备可以是不支持BIER的网络设备。如上所述,BIER域中的一个或多个使能BIER的网络设备可以向非BIER设备传输BIER封装的分组,和/或非BIER设备可以经由单播隧道向一个或多个支持BIER的网络设备传输BIER封装的分组,、。例如,BIER入口设备可以向BIER封装的多播分组添加另一个封装的层(例如,MPLS封装、以太网封装、UDP封装等),并且可以经由单播隧道向非BIER设备传输具有附加的封装的层的BIER封装的多播分组。
BIER代理设备可以是为非BIER设备执行BIER功能的使能BIER的网络设备。不是BIER入口设备向BIER封装的分组添加附加的封装层并且经由单播隧道向非BIER设备传输具有附加的封装的层的BIER封装的分组,而是BIER入口设备可以向非BIER设备传输没有附加的封装的层的BIER封装的分组,并且非BIER设备可以将BIER封装的分组重定向到BIER代理设备,BIER代理设备可以通过非BIER设备隧道传送BIER封装的分组。非BIER设备和BIER代理设备可以经由高带宽和/或短距离连接来通信地连接。以这种方式,如果BIER入口设备与非BIER设备之间的连接是低带宽和/或长距离连接,则BIER封装的多播分组可以在BIER代理设备与非BIER设备之间而不是在BIER入口设备与非BIER设备之间进行隧道传送,使得隧道传送不会导致BIER域中的延迟增加和/或BIER封装的多播分组丢失。
现在转向图1A,并且如附图标记102所示,为了允许BIER代理设备为非BIER设备执行BIER功能,非BIER设备可以向BIER入口设备传输指示非BIER设备支持BIER的信息。以这种方式,当非BIER设备实际上不支持BIER时,BIER入口设备确定非BIER设备支持BIER。
在一些实现中,指示非BIER设备支持BIER的信息可以包括标识与非BIER设备相关联的BIER标签的信息。非BIER设备可以经由内部网关协议(IGP)控制平面信令(例如,中间系统到中间系统(IS-IS)、开放最短路径优先(OSPF)等)生成BIER标签并且将BIER标签传输到BIER入口设备,这可以在不改变非BIER设备的转发平面硬件的情况下执行。以这种方式,BIER入口设备可以接收与非BIER设备相关联的BIER标签,并且可以基于接收到与非BIER设备相关联的BIER标签来确定非BIER设备支持BIER。
现在转向图1B,并且如附图标记104所示,BIER入口设备可以基于接收到指示非BIER设备支持BIER的信息而向非BIER设备传输BIER封装的多播分组,并且非BIER设备可以从BIER入口设备接收BIER封装的多播分组。
在一些实现中,BIER入口设备可以接收多播分组(例如,从另一个网络中的网络设备,从另一个BIER域中的另一个BIER出口设备,等等),并且可以通过将多播分组封装在BIER报头中来生成BIER封装的多播分组。BIER报头可以包括标识多播分组的一个或多个预期接收者的比特串。例如,比特串可以包括标识作为多播分组的目的地的一个或多个BIER出口设备的信息。在图1A-1H所示的示例中,BIER出口设备1、BIER出口设备2和BIER出口设备n每个均可以是针对多播分组的目的地。
BIER入口设备可以基于与BIER入口设备相关联的BIFT中包括的信息来生成比特串。例如,BIER入口设备可以在BIFT中执行查找以标识与以下各项相关联的一个或多个转发比特掩码和一个或多个比特转发相邻设备:与BIER出口设备1相关联的BIER标识符、与BIER出口设备2相关联的BIER标识符、与BIER出口设备n相关联的BIER标识符、和/或类似的。在图1A-1H所示的示例中,BIER出口设备1、BIER出口设备2和BIER出口设备n全部都经由非BIER设备可到达。因此,BIER入口设备可以确定非BIER设备是BIER出口设备1、BIER出口设备2和BIER出口设备n的比特转发邻居。因此,BIER入口设备可以生成用于BIER封装的分组的BIER报头的比特串,使得该比特串包括标识与非BIER设备相关联的转发比特掩码的信息。
作为上述的示例,BIER出口设备1可以被分配BIER标识符0001,BIER出口设备2可以被分配BIER标识符0010,以及BIER出口设备n可以被分配BIER标识符0100。因此,与非BIER设备相关联的转发比特掩码可以是0111,其中比特掩码中的每个比特位置对应于BIER出口设备1、BIER出口设备2或BIER出口设备n之一的BIER标识符。作为结果,包括在BIER封装的多播分组的BIER报头中的比特串是0111。
BIER入口设备可以向BIER封装的多播分组添加BIER标签。BIER标签可以是,例如,与作为到多播分组的目的地的一个或多个BIER出口设备的路径中的下一跳相关联的BIER标签。在图1A-1H所示的示例中,到BIER出口设备1到n的路径中的下一跳可以是非BIER设备。因此,BIER入口设备可以向BIER封装的多播分组添加BIER标签,该BIER标签与非BIER设备相关联的。
现在转向图1C,非BIER设备可以基于接收到BIER封装的多播分组来标识BIER封装的多播分组中的BIER标签。非BIER设备可以确定BIER封装的多播分组中的BIER标签是与非BIER设备相关联的BIER标签。如附图标记106所示,基于确定BIER封装的多播分组中的BIER标签是与非BIER设备相关联的BIER标签,非BIER设备可以通过将BIER封装的多播分组中的BIER标签替换为与BIER代理设备相关联的BIER标签来标记交换BIER封装的多播分组。以这种方式,非BIER设备执行BIER标签交换,以便将BIER封装的多播分组重定向到BIER代理设备。以这种方式,BIER代理设备可以在用于非BIER设备的BIER封装的多播分组上执行一个或多个BIER功能。
现在转到图1D,并且如附图标记108所示,非BIER设备可以基于将BIER封装的多播分组中的BIER标签替换为与BIER代理设备相关联的BIER标签来向BIER代理设备传输BIER封装的多播分组。
现在转到图1E,BIER代理设备可以从非BIER设备接收BIER封装的多播分组。BIER代理设备可以被配置为使得BIER代理设备知道非BIER设备不支持BIER。例如,BIER代理设备可以基于非BIER设备向BIER代理设备传输指示非BIER设备不支持BIER的信息(例如,通过使用控制平面信令),基于被静态地配置为知道非BIER设备不支持BIER,和/或类似的,来自动配置BIER代理设备。因此,当BIER代理设备从非BIER设备接收到BIER封装的多播分组并且确定BIER封装的多播分组中包括的BIER标签与BIER代理设备相关联时,BIER代理设备知道要为非BIER设备执行一个或多个BIER功能。
如附图标记110所示,BIER代理设备可以标识包括在BIER封装的多播分组中的与BIER代理设备相关联的BIER标签,并且可以通过基于标识与BIER代理设备相关联的BIER标签而生成BIER封装的多播分组的多个副本来复制BIER封装的多播分组。以这种方式,由于非BIER设备不包括可以执行复制的转发平面硬件,BIER代理设备为非BIER设备执行BIER封装的多播分组的复制。
在一些实现中,BIER代理设备可以生成BIER封装的多播分组的多个副本,以便BIER封装的多播分组的多个副本中的每个副本与相应的BIER出口设备相关联。例如,BIER代理设备可以分析包括在BIER封装的多播分组的BIER报头中的比特串以确定比特串包括标识BIER出口设备1、BIER出口设备2和BIER出口设备n的信息。因此,BIER代理设备可以生成与BIER出口设备1相关联的BIER封装的多播分组的第一副本、与BIER出口设备2相关联的BIER封装的多播分组的第二副本、以及与BIER出口设备n相关联的BIER封装的多播分组的第三副本。
BIER代理设备可以通过修改BIER封装的多播分组的BIER报头并且替换BIER封装的分组中包括的BIER标签来生成BIER封装的多播分组的副本。BIER代理设备可以修改BIER封装的多播分组的BIER报头,并且基于与BIER封装的多播分组的副本相关联的BIER出口设备来替换包括在BIER封装的分组中的BIER标签。例如,如果BIER封装的多播分组的副本与BIER出口设备1相关联,则BIER代理设备可以在与BIER代理设备相关联的BIFT中执行查找以标识与BIER出口设备1相关联的BIER标识符(例如,0001),可以标识作为到BIER出口设备1的路径中的下一跳的比特转发相邻设备(例如,BIER转发设备1),并且可以标识与比特转发相邻设备相关联的转发比特掩码。在图1A-1H所示的示例中,BIER出口设备1是唯一经由BIER转发设备1可到达的BIER出口设备,并且因此与BIER转发设备1相关联的转发比特掩码是BIER出口设备1的BIER标识符(即,0001)。因此,BIER代理设备可以将与BIER出口设备1相关联的BIER封装的多播分组的副本的BIER报头中的比特掩码设置为0001。BIER代理设备还可以将包括在BIER封装的多播分组中的BIER标签设置为与BIER转发设备1相关联的BIER标签。BIER代理设备可以以类似的方式为BIER出口设备2和BIER出口设备n生成BIER封装的多播分组的副本。
由于BIER代理设备通过非BIER设备隧道传送BIER封装的多播分组的多个副本(即,BIER代理设备经由单播隧道向非BIER设备传输BIER封装的多播分组的多个副本,并且非BIER设备经由相应的单播隧道向相应BIER转发设备传送BIER封装的多播分组的多个副本中的每个副本),在生成BIER封装的多播分组的多个副本时,BIER代理设备可以向BIER封装的多播分组的多个副本中的每个副本添加附加的封装层。用于BIER封装的多播分组的副本的附加的封装层可以包括非BIER设备被配置为识别和处理的报头,诸如MPLS报头、UDP报头、以太网报头、和/或类似的。以这种方式,BIER封装的多播分组的副本成为附加的封装层的有效载荷,直到BIER封装的分组的副本到达使能BIER的网络设备(例如,BIER转发设备1),使能BIER的网络设备移除(或弹出)附加的封装层并且继续使用BIER转发BIER封装的多播分组的副本。
现在转到图1F,并且如附图标记112所示,BIER代理设备可以传输BIER封装的多播分组的多个副本。如上所述,BIER封装的多播分组的多个副本可以包括附加的封装层,附加的封装层用于向非BIER设备隧道传送BIER封装的多播分组的多个副本。因此,BIER代理设备可以使用包括在BIER封装的多播分组的多个副本中的附加的封装层经由单播隧道来传送BIER封装的多播分组的多个副本。
现在转向图1G,非BIER设备可以接收BIER封装的多播分组的多个副本。如附图标记114-1到114-i所示,非BIER设备可以标识包括在BIER封装的多播分组的多个副本中的附加的封装层,并且可以基于附加封装层经由相应单播隧道向每个相应BIER转发设备隧道传送BIER封装的多播分组的多个副本中的副本。例如,非BIER设备可以经由第一单播隧道(附图标记114-1)向BIER转发设备1传输与BIER出口设备1相关联的BIER封装的多播分组的第一副本,可以经由第二单播隧道(附图标记114-2)向BIER转发设备2传输与BIER出口设备2相关联的BIER封装的多播分组的第二副本,可以经由第三单播隧道(参考号114-i)向向BIER转发设备m传输与BIER出口设备n相关联的BIER封装的多播分组的第三副本,依此类推。
现在转向图1H,每个BIER转发设备可以接收BIER封装的多播分组的多个副本中的相应的副本,并且可以移除(或弹出)相应的副本中包括的附加的封装层。例如,BIER转发设备1可以接收与BIER出口设备1相关联的BIER封装的多播分组的多个副本中的相应副本,并且可以从相应副本中移除附加封装层,依此类推。
如附图标记116-1到116-j所示,每个BIER转发设备可以向相应的BIER出口设备传送BIER封装的多播分组的多个副本中的相应的副本。例如,BIER转发设备1可以接收与BIER出口设备1相关联的BIER封装的多播分组的多个副本中的第一相应的副本,并且可以向BIER出口设备1传输第一相应的副本,BIER转发设备2可以接收与BIER出口设备2相关联的BIER封装的多播分组的多个副本的第二相应的副本,并且可以向BIER出口设备2传输第二相应的副本,依此类推。
为了向BIER出口设备(例如,BIER出口设备1)传输BIER封装的多播分组的多个副本中的副本,BIER转发设备(例如,BIER转发设备1)可以分析包括在BIER封装的多播分组的副本中的BIER报头以标识BIER报头中包括的比特串。BIER转发设备1可以分析BIER报头中包括的比特串,以基于比特串中包括的信息来确定BIER标识符。例如,BIER转发设备1可以确定BIER报头中包括的比特串是0001(即,与BIER出口设备1相关联的BIER标识符),并且可以在BIFT中执行查找以标识BIFT中的BIER标识符。BIER转发设备1可以基于BIFT中包括的信息来标识BIER标识符0001,并且可以确定BIER标识符0001与转发比特掩码0001相关联,转发比特掩码0001与对应于BIER出口设备1的比特转发邻居相关联。因此,BIER转发设备1可以确定与BIER封装的多播分组的副本相关联的比特转发邻居是BIER封装的多播分组的副本的目的地,可以将包括在BIER封装的多播分组的副本中的BIER标签替换为在BIER出口设备1接收到BIER封装的多播分组的副本时指示BIER出口设备1移除(或弹出)BIER标签和BIER报头的BIER标签(例如,隐式空标签),并且可以向BIER出口设备1传输BIER封装的多播分组的副本。
每个BIER出口设备均可以接收BIER封装的多播分组的多个副本中的相应的副本,可以移除包括在BIER封装的多播分组的多个副本中的相应的副本中的BIER标签和BIER报头,并且可以向一个或多个其他网络设备(例如,另一个网络中的一个或多个其他网络设备、另一个BIER域中的一个或多个其他网络设备等)传输多播分组的相应的副本。
以这种方式,BIER代理设备可以为非BIER设备对由非BIER设备接收的BIER封装的多播分组执行一个或多个BIER功能,而不是BIER入口设备复制和经由一个或多个隧道向非BIER设备传输BIER封装的多播分组的多个副本。以这种方式,如果BIER入口设备与非BIER设备之间的连接是低带宽和/或长距离连接,则BIER入口设备可以向非BIER设备传输BIER封装的多播分组而不用使用隧道,并且BIER代理设备可以改为复制BIER封装的分组,并且可以使用高带宽和/或短距离连接上的隧道向非BIER设备传输BIER封装的多播分组的副本。以这种方式,隧道传送不会导致BIER域中延迟增加和/或BIER封装的多播分组丢失。
如上所述,图1A-1H仅作为示例被提供。其他示例是可能的,并且可以与关于图1A-1H描述的示例不同。
图2是其中可以实现本文中描述的系统和/或方法的示例环境200的图。如图2所示,环境200可以包括一个或多个网络设备210-1到210-k(k≥1)(下文中统称为“网络设备210”,并且单独地称为“网络设备210”)和网络220。环境200的设备可以经由有线连接、无线连接或有线和无线连接的组合互连。
网络设备210包括能够接收、提供、存储、生成和/或处理信息的一个或多个设备。在一些实现中,网络设备210可以包括防火墙、路由器、网关、交换机、网桥、无线接入点、基站(例如,eNodeB、NodeB、gNodeB和/或类似的),和/或类似的。在一些实现中,网络设备210可以实现为在诸如机箱等外壳内实现的物理设备。在一些实现中,网络设备210可以实现为由云计算环境或数据中心的一个或多个计算机设备实现的虚拟设备。
在一些实现中,网络设备210可以是用于在作为支持BIER的设备的网络设备210之间转发多播数据分组的支持BIER的使能BIER设备以。例如,网络设备210可以是用作进入BIER域的多播分组的入口点的BIER入口设备,可以是用作BIER域中的多播分组的出口点的BIER出口设备,可以是向BIER域内的一个或多个其他网络设备传输BIER封装的多播分组的BIER转发设备,可以是为非BIER设备执行BIER功能的BIER代理设备,和/或类似的。在一些实现中,单个网络设备210可以用作BIER入口设备、BIER出口设备、BIER转发设备或BIER代理设备中的单个设备。在一些实现中,单个网络设备210可以用作BIER入口设备、BIER出口设备、BIER转发设备或BIER代理设备中的多个设备。
备选地,网络设备210可以是不支持BIER的非BIER设备。例如,网络设备210可以是在网络设备210实际上不支持BIER时向网络220中的支持BIER的设备传输指示网络设备210支持BIER的信息的非BIER设备。以这种方式,支持BIER的设备可以向网络设备210传输BIER封装的多播分组,并且网络设备210可以向BIER代理设备传输BIER封装的多播分组,BIER代理设备可以为网络设备210执行一个或多个BIER动作。
网络220包括一个或多个有线和/或无线网络。例如,网络220可以包括蜂窝网络(例如,诸如长期演进(LTE)网络、码分多址(CDMA)网络、3G网络、4G网络、5G网络、另一类型的蜂窝网络等)、公共陆地移动网络(PLMN)、LAN、WAN、城域网(MAN)、电话网络(例如,公共交换电话网(PSTN))、专用网络、ad hoc网络、内联网、因特网、基于光纤的网络、云计算网络或类似的、和/或这些或其他类型的网络的组合。
图2所示的设备和网络的数目和布置作为示例被提供。实际上,可以存在与图2所示的相比附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同地布置的设备和/或网络。此外,图2所示的两个或更多个设备可以在单个设备内实现,或者图2所示的单个设备可以实现为多个分布式设备。附加地或备选地,环境200的一组设备(例如,一个或多个设备)可以执行被描述为由环境200的另一组设备执行的一个或多个功能。
图3是设备300的示例组件的图。设备300可以对应于一个或多个网络设备210。在一些实现中,一个或多个网络设备210可以包括一个或多个设备300和/或设备300的一个或多个组件。如图3所示,设备300可以包括一个或多个输入组件305-1到305-B(B≥1)(下文中统称为“输入组件305”,并且单独地称为“输入组件305”)、交换组件310、一个或多个输出组件315-1到315-C(C≥1)(下文中统称为“输出组件315”,并且单独地称为“输出组件315”)和控制器320。
输入组件305可以是针对物理链路的附着的点,以及可以是针对诸如分组等传入业务的入口点。输入组件305可以处理输入业务,诸如通过执行数据链路层封装或解封装。在一些实现中,输入组件305可以发送和/或接收分组。在一些实现中,输入组件305可以包括输入线卡,输入线卡包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个接口卡(IFC)、分组转发组件、线卡控制器组件、输入端口、处理器、存储器和/或输入队列。在一些实现中,设备300可以包括一个或多个输入组件305。
交换组件310可以将输入组件305与输出组件315互连。在一些实现中,交换组件310可以经由一个或多个交叉开关,经由总线,和/或通过共享存储器来实现。在最终调度分组以递送到输出组件315之前,共享存储器可以充当临时缓冲器以存储来自输入组件305的分组。在一些实现中,交换组件310可以使得输入组件305、输出组件315和/或控制器320进行通信。
输出组件315可以存储分组,并且可以调度分组以在输出物理链路上传输。输出组件315可以支持数据链路层封装或解封装和/或各种更高级协议。在一些实现中,输出组件315可以发送分组和/或接收分组。在一些实现中,输出组件315可以包括输出线卡,输出线卡包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个IFC、分组转发组件、线卡控制器组件、输出端口、处理器、存储器和/或输出队列。在一些实现中,设备300可以包括一个或多个输出组件315。在一些实现中,输入组件305和输出组件315可以由相同的一组组件来实现(例如,输入/输出组件可以是输入组件305和输出组件315的组合)。
控制器320包括处理器,其形式为,例如,中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或其他类型的处理器。处理器以硬件、固件或硬件和软件的组合实现。在一些实现中,控制器320可以包括可以被编程以执行功能的一个或多个处理器。
在一些实现中,控制器320可以包括存储由控制器320使用的信息和/或指令的随机存取存储器(RAM)、只读存储器(ROM)和/或其他类型的动态或静态存储设备(例如,闪存、磁存储器、光学存储器等)。
在一些实现中,控制器320可以与连接到设备300的其他设备、网络和/或系统通信以交换关于网络拓扑的信息。控制器320可以基于网络拓扑信息创建路由表,基于路由表创建转发表,以及将转发表转发到输入组件305和/或输出组件315。输入组件305和/或输出组件315可以使用转发表以执行传入和/或传出分组的路由查找。
控制器320可以执行本文中描述的一个或多个过程。控制器320可以基于执行由非暂态计算机可读介质存储的软件指令来执行这些过程。计算机可读介质在本文中定义为非暂态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或分布在多个物理存储设备上的存储器空间。
可以将软件指令从另一计算机可读介质或经由通信接口从另一设备读入与控制器320相关联的存储器和/或存储组件。当执行时,存储在与控制器320相关联的存储器和/或存储组件中的软件指令可以引起控制器320执行本文中描述的一个或多个过程。附加地或备选地,可以使用硬连线电路代替软件指令或与软件指令组合来执行本文中描述的一个或多个过程。因此,本文中描述的实现不限于硬件电路和软件的任何特定组合。
图3所示的组件的数目和布置作为示例提供。实际上,设备300可以包括与图3所示的相比更多的组件、更少的组件、不同的组件、或者不同地布置的组件。附加地或备选地,设备300的一组组件(例如,一个或多个组件)可以执行被描述为由设备300的另一组组件执行的一个或多个功能。
图4是用于使用BIER为不具有BIER能力的网络设备转发多播数据分组的示例过程400的流程图。在一些实现中,图4的一个或多个过程框可以由网络设备(例如,网络设备210)执行。在一些实现中,图4的一个或多个过程框可以由与网络设备分离或包括网络设备的另一个设备或另一组设备执行,诸如不同的网络设备210和/或多个网络设备210。
如图4所示,过程400可以包括向第一相邻网络设备传输指示网络设备支持BIER的信息,其中网络设备不支持BIER(框410)。例如,网络设备(例如,使用输入组件305、交换组件310、输出组件315、控制器320、和/或类似的)可以向第一相邻网络设备传输指示网络设备支持BIER的信息,如上面结合图1A-1H所述。在一些实现中,网络设备可以不支持BIER。
如图4中进一步所示,过程400可以包括基于传输指示网络设备支持BIER的信息从第一相邻网络设备接收多播分组,其中多播分组包括与网络设备相关联的第一BIER标签(框420)。例如,网络设备(例如,使用输入组件305、交换组件310、输出组件315、控制器320、和/或类似的)可以基于传输指示网络设备支持BIER的信息从第一相邻网络设备接收多播分组,如上面结合图1A-1H所述。在一些实现中,多播分组可以包括与网络设备相关联的第一BIER标签。
如图4中进一步所示,过程400可以包括将包括在多播分组中的第一BIER标签替换为与第二相邻网络设备相关联的第二BIER标签(框430)。例如,网络设备(例如,使用输入组件305、交换组件310、输出组件315、控制器320、和/或类似的)可以将包括在多播分组中的第一BIER标签替换为与第二相邻网络设备相关联的第二BIER标签,如上面结合图1A-1H所述。
如图4中进一步所示,过程400可以包括在将包括在多播分组中的第一BIER标签替换为第二BIER标签之后,向第二相邻网络设备传输多播分组,其中第二相邻网络设备可以用于向支持BIER的第三相邻网络设备隧道传送多播分组(框440)。例如,网络设备(例如,使用输入组件305、交换组件310、输出组件315、控制器320、和/或类似的)可以在将包括在多播分组中的第一BIER标签替换为第二BIER标签之后向第二相邻网络设备传输多播分组,如上面结合图1A-1H所述。在一些实现中,第二相邻网络设备可以用于向支持BIER的第三相邻网络设备隧道传送多播分组。
过程400可以包括附加的实现,诸如下面描述的和/或关于本文中所描述的任何其他过程所描述的任何单个实现或任何实现的组合。
在一些实现中,第二相邻网络设备用于通过网络设备向一个或多个第三相邻网络设备隧道传送多播分组。在一些实现中,网络设备可以从第二相邻网络设备接收第二BIER标签,并且可以基于从第二相邻网络设备接收到第二BIER标签来将包括在多播分组中的第一BIER标签替换为第二BIER标签。在一些实现中,多播分组的多个副本可以被封装在附加的封装层中。在一些实现中,可以向第二相邻网络设备提供指示网络设备不支持BIER的信息。在一些实现中,指示网络设备支持BIER的信息可以包括第一BIER标签。在一些实现中,网络设备可以向第二相邻网络设备传输指示网络设备不支持BIER的信息。
尽管图4示出了过程400的示例框,但是在一些实现中,过程400可以包括与图4中描绘的相比附加的框、更少的框、不同的框或者不同地布置的框。另外地或备选地,过程400的两个或更多个框可以并行执行。
图5是用于使用BIER为不具有BIER能力的网络设备转发多播数据分组的示例过程500的流程图。在一些实现中,图5的一个或多个过程框可以由网络设备(例如,网络设备210)执行。在一些实现中,图5的一个或多个过程框可以由与网络设备分离或包括网络设备的另一设备或另一组设备执行,诸如不同的网络设备210和/或多个网络设备210。
如图5所示,过程500可以包括向第一相邻网络设备传输指示网络设备支持BIER的信息,其中网络设备不支持BIER(框510)。例如,网络设备(例如,使用输入组件305、交换组件310、输出组件315、控制器320、和/或类似的)可以向第一相邻网络设备传输指示网络设备支持BIER的信息,如上面结合图1A-1H所述。在一些实现中,网络设备可以不支持BIER。
如图5中进一步所示,过程500可以包括基于传输指示网络设备支持BIER的信息从第一相邻网络设备接收多播分组,其中多播分组包括与网络设备相关联的第一BIER标签(框520)。例如,网络设备(例如,使用输入组件305、交换组件310、输出组件315、控制器320、和/或类似的)可以基于传输指示网络设备支持BIER的信息从第一相邻网络设备接收多播分组,如上面结合图1A-1H所述。在一些实现中,多播分组可以包括与网络设备相关联的第一BIER标签。
如图5中进一步所示,过程500可以包括将包括在多播分组中的第一BIER标签替换为与第二相邻网络设备相关联的第二BIER标签(框530)。例如,网络设备(例如,使用输入组件305、交换组件310、输出组件315、控制器320、和/或类似的)可以将多播分组中包括的第一BIER标签替换为与第二相邻网络设备相关联的第二BIER标签,如上面结合图1A-1H所述。
如图5中进一步所示,过程500可以包括在将包括在多播分组中的第一BIER标签替换为第二BIER标签之后,向第二相邻网络设备传输多播分组,其中第二相邻网络设备可以用于向支持BIER的第三相邻网络设备隧道传送多播分组,并且可以用于将多播分组封装在附加的封装层中(框540)。例如,网络设备(例如,使用输入组件305、交换组件310、输出组件315、控制器320、和/或类似的)可以在将多播分组中包括的第一BIER标签替换为第二BIER标签之后向第二相邻网络设备传输多播分组,如上面结合图1A-1H所述。在一些实现中,第二相邻网络设备可以用于向支持BIER的第三相邻网络设备隧道传送多播分组,并且可以用于将多播分组封装在附加的封装层中。
过程500可以包括附加的实现,诸如下面描述的和/或关于本文中所描述的任何其他过程所描述的任何单个实现或任何实现组合。
在一些实现中,附加的封装层可以包括多协议标签交换(MPLS)报头、用户数据报协议(UDP)报头或以太网报头。在一些实现中,网络设备可以向第二相邻网络设备传输指示网络设备不支持BIER的信息。
在一些实现中,网络设备可以从第二相邻网络设备接收第二BIER标签,并且可以基于从相邻网络设备接收到第二BIER标签来将包括在多播分组中的第一BIER标签替换为第二BIER标签。
在一些实现中,指示网络设备支持BIER的信息可以包括第一BIER标签。在一些实现中,第二相邻网络设备可以用于通过网络设备向多个第四相邻网络设备隧道传送多播分组的多个副本。在一些实现中,可以向第二相邻网络设备提供指示网络设备不支持BIER的信息。
尽管图5示出了过程500的示例框,但是在一些实现中,过程500可以包括与图5中描绘的相比附加的框、更少的框、不同的框或者不同地布置的框。附加地或备选地,过程500的两个或更多个框可以并行执行。
图6是用于使用BIER为不具有BIER能力的网络设备转发多播数据分组的示例过程600的流程图。在一些实现中,图6的一个或多个过程框可以由网络设备(例如,网络设备210)执行。在一些实现中,图6的一个或多个过程框可以由与网络设备分离或包括网络设备的另一个设备或另一组设备执行,诸如不同的网络设备210和/或多个网络设备210。
如图6所示,过程600可以包括向第一相邻网络设备传输指示网络设备支持BIER的信息,其中网络设备不支持BIER(框610)。例如,网络设备(例如,使用输入组件305、交换组件310、输出组件315、控制器320、和/或类似的)可以向第一相邻网络设备传输指示网络设备支持BIER的信息,如上面结合图1A-1H所述。在一些实现中,网络设备可以不支持BIER。
如图6中进一步所示,过程600可以包括基于传输指示网络设备支持BIER的信息从第一相邻网络设备接收多播分组,其中多播分组包括与网络设备相关联的第一BIER标签(框620)。例如,网络设备(例如,使用输入组件305、交换组件310、输出组件315、控制器320、和/或类似的)可以基于传输指示网络设备支持BIER的信息从第一相邻网络设备接收多播分组,如上面结合图1A-1H所述。在一些实现中,多播分组包括与网络设备相关联的第一BIER标签。
如图6中进一步所示,过程600可以包括将包括在多播分组中的第一BIER标签替换为与第二相邻网络设备相关联的第二BIER标签(框630)。例如,网络设备(例如,使用输入组件305、交换组件310、输出组件315、控制器320、和/或类似的)可以将包括在多播分组中的第一BIER标签替换为与第二相邻网络设备相关联的第二BIER标签,如上面结合图1A-1H所述。
如图6中进一步所示,过程600可以包括在将包括在多播分组中的第一BIER标签替换为第二BIER标签之后,向第二相邻网络设备传输多播分组,其中第二相邻网络设备可以用于通过网络设备向支持BIER的第三相邻网络设备隧道传送多播分组,并且可以将多播分组封装在附加的封装层中(框640)。例如,网络设备(例如,使用输入组件305、交换组件310、输出组件315、控制器320、和/或类似的)可以在将多播分组中包括的第一BIER标签替换为第二BIER标签之后向第二相邻网络设备传输多播分组,如上面结合图1A-1H所述。在一些实现中,第二相邻网络设备可以用于通过网络设备向支持BIER的第三相邻网络设备隧道传送多播分组,并且可以用于将多播分组封装在附加的封装层中。
过程600可以包括附加的实现,诸如下面描述的和/或关于本文中所描述的任何其他过程所描述的任何单个实现或任何实现组合。
在一些实现中,指示网络设备支持BIER的信息可以包括第一BIER标签。在一些实现中,网络设备与第二相邻网络设备之间的第一连接相对于网络设备与第一相邻网络设备之间的第二连接可以具有更大的带宽。
在一些实现中,可以向第二相邻网络设备提供指示网络设备不支持BIER的信息,或者第二相邻网络设备可以从网络设备接收指示网络设备不支持BIER的信息。在一些实现中,隧道可以是单播隧道或多播隧道。
尽管图6示出了过程600的示例框,但是在一些实现中,过程600可以包括与图6中描绘的相比附加的框、更少的框、不同的框或者不同地布置的框。附加地或备选地,过程600的两个或更多个框可以并行执行。
以这种方式,当非BIER设备实际上不支持BIER时,网络设备210中的使能BIER的设备确定网络设备210中的非BIER设备支持BIER。作为结果,网络设备210中的使能BIER的设备可以向网络设备210中的非BIER设备传输第一BIER封装的多播分组,而无需用于向非BIER设备单播隧道传送第一BIER封装的多播分组的附加的封装。以这种方式,减少了使能BIER的设备与非BIER设备之间的连接上的带宽资源使用,这改善了该连接上的等待时间并且允许该连接是长距离和/或低带宽的。
前述公开内容提供说明和描述,但并非旨在穷举或将实现限制在所公开的精确的形式。鉴于以上公开内容或者可以从实现的实践中获取,修改和变化是可能的。
如本文中使用的,术语“组件”旨在广义地解释为硬件、固件和/或硬件和软件的组合。
如本文中使用的,术语“业务”或“内容”可以包括一组分组。分组可以是指代用于传送信息的通信结构,诸如协议数据单元(PDU)、网络分组、数据报、段、消息、块、小区、帧、子帧、时隙、符号、上述中的任一个的一部分、和/或能够经由网络来传输的其他类型的格式化或未格式化的数据单元。
清楚的是,本文中所描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的真实的专用控制硬件或软件代码不是实现的限制。因此,本文中描述了系统和/或方法的操作和行为,而没有参考特定的软件代码——应当理解,可以设计软件和硬件以基于本文中的描述来实现系统和/或方法。
尽管在权利要求中陈述和/或在说明书中公开了特征的特定组合,但是这些组合并不旨在限制可能的实现的公开。事实上,这些特征中的很多特征可以以未在权利要求中具体陈述和/或在说明书中公开的方式进行组合。尽管下面列出的每个从属权利要求可以直接仅依赖于一个权利要求,但是可能的实现的公开包括每个从属权利要求与权利要求集合中的每个其他权利要求的组合。
除非明确地如此描述,否则本文中使用的元素、动作或指令不应当被解释为是关键或必要的。此外,如本文中使用的,冠词“一个”和“一”旨在包括一个或多个项目,并且可以与“一个或多个”可互换地使用。此外,如本文中使用的,术语“集合”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关和不相关项目的组合等),并且可以与“一个或多个”可互换地使用。在仅有一个项目的情况下,使用术语“一个”或类似的语言。此外,如本文中使用的,术语“具有”、“有”、“具备”等意图是开放式术语。此外,除非另有明确说明,否则短语“基于”旨在表示“至少部分基于”。
Claims (20)
1.一种网络设备,包括:
一个或多个存储器;以及
一个或多个处理器,用以:
向第一相邻网络设备传输指示所述网络设备支持比特索引显式复制(BIER)的信息,
其中所述网络设备不支持BIER;
基于传输指示所述网络设备支持BIER的所述信息,从所述第一相邻网络设备接收多播分组,
其中所述多播分组包括与所述网络设备相关联的第一BIER标签;
将包括在所述多播分组中的所述第一BIER标签替换为与第二相邻网络设备相关联的第二BIER标签;以及
在将包括在所述多播分组中的所述第一BIER标签替换为所述第二BIER标签之后,向所述第二相邻网络设备传输所述多播分组,
其中所述第二相邻网络设备用于向支持BIER的第三相邻网络设备隧道传送所述多播分组。
2.根据权利要求1所述的网络设备,其中所述第二相邻网络设备用于通过所述网络设备向一个或多个第三相邻网络设备隧道传送所述多播分组。
3.根据权利要求1所述的网络设备,其中所述一个或多个处理器还用以:
从所述第二相邻网络设备接收所述第二BIER标签,
其中当将包括在所述多播分组中的所述第一BIER标签替换为所述第二BIER标签时,所述一个或多个处理器用以:
基于从所述第二相邻网络设备接收到所述第二BIER标签来将包括在所述多播分组中的所述第一BIER标签替换为所述第二BIER标签。
4.根据权利要求1所述的网络设备,其中所述多播分组的多个副本被封装在附加的封装层中。
5.根据权利要求1所述的网络设备,其中所述第二相邻网络设备被提供有指示所述网络设备不支持BIER的信息。
6.根据权利要求1所述的网络设备,其中指示所述网络设备支持BIER的所述信息包括所述第一BIER标签。
7.根据权利要求1所述的网络设备,其中所述一个或多个处理器还用以:
向所述第二相邻网络设备传输指示所述网络设备不支持BIER的信息。
8.一种存储指令的非暂态计算机可读介质,所述指令包括:
一个或多个指令,所述一个或多个指令当由网络设备的一个或多个处理器执行时使得所述一个或多个处理器:
向第一相邻网络设备传输指示所述网络设备支持比特索引显式复制(BIER)的信息,
其中所述网络设备不支持BIER;
基于传输指示所述网络设备支持BIER的所述信息,从所述第一相邻网络设备接收多播分组,
其中所述多播分组包括与所述网络设备相关联的第一BIER标签;
将包括在所述多播分组中的所述第一BIER标签替换为与第二相邻网络设备相关联的第二BIER标签;以及
在将包括在所述多播分组中的所述第一BIER标签替换为所述第二BIER标签之后,向所述第二相邻网络设备传输所述多播分组;
其中所述第二相邻网络设备用于向支持BIER的第三相邻网络设备隧道传送所述多播分组,以及
其中所述第二相邻网络设备用于将所述多播分组封装在附加的封装层中。
9.根据权利要求8所述的非暂态计算机可读介质,其中所述附加的封装层包括以下中的至少一个:
多协议标签交换(MPLS)报头,
用户数据报协议(UDP)报头,或者
以太网报头。
10.根据权利要求8所述的非暂态计算机可读介质,其中所述一个或多个指令当由所述一个或多个处理器执行时,还使得所述一个或多个处理器:
向所述第二相邻网络设备传输指示所述网络设备不支持BIER的信息。
11.根据权利要求8所述的非暂态计算机可读介质,其中所述一个或多个指令,当由所述一个或多个处理器执行时还使得所述一个或多个处理器:
从所述第二相邻网络设备接收所述第二BIER标签,
其中使得所述一个或多个处理器将包括在所述多播分组中所述第一BIER标签替换为所述第二BIER标签的所述一个或多个指令使得所述一个或多个处理器:
基于从所述第二相邻网络设备接收到所述第二BIER标签来将包括在所述多播分组中的所述第一BIER标签替换为所述第二BIER标签。
12.根据权利要求8所述的非暂态计算机可读介质,其中指示所述网络设备支持BIER的所述信息包括所述第一BIER标签。
13.根据权利要求8所述的非暂态计算机可读介质,其中所述第二相邻网络设备用于通过所述网络设备向多个第四相邻网络设备隧道传送所述多播分组的多个副本。
14.根据权利要求8所述的非暂态计算机可读介质,其中所述第二相邻网络设备被提供有指示所述网络设备不支持BIER的信息。
15.一种方法,包括:
由网络设备向第一相邻网络设备传输指示所述网络设备支持比特索引显式复制(BIER)的信息,
其中所述网络设备不支持BIER;
在所述网络设备处基于传输指示所述网络设备支持BIER的所述信息从所述第一相邻网络设备接收多播分组,
其中所述多播分组包括与所述网络设备相关联的第一BIER标签;
由所述网络设备将包括在所述多播分组中的所述第一BIER标签替换为与第二相邻网络设备相关联的第二BIER标签;以及
由所述网络设备在将包括在所述多播分组中的所述第一BIER标签替换为所述第二BIER标签之后向所述第二相邻网络设备传输所述多播分组,
其中所述第二相邻网络设备用于通过所述网络设备向支持BIER的第三相邻网络设备隧道传送所述多播分组,以及
其中所述第二相邻网络设备用于将所述多播分组封装在附加的封装层中。
16.根据权利要求15所述的方法,其中指示所述网络设备支持BIER的所述信息包括所述第一BIER标签。
17.根据权利要求15所述的方法,其中所述网络设备与所述第二相邻网络设备之间的第一连接相对于所述网络设备与所述第一相邻网络设备之间的第二连接具有更大的带宽。
18.根据权利要求15所述的方法,其中所述第二相邻网络设备被提供有指示所述网络设备不支持BIER的信息,或者所述第二相邻网络设备从所述网络设备接收指示所述网络设备不支持BIER的所述信息。
19.根据权利要求15所述的方法,其中隧道是单播隧道。
20.根据权利要求15所述的方法,其中隧道是多播隧道。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/012,595 | 2018-06-19 | ||
US16/012,595 US10644900B2 (en) | 2018-06-19 | 2018-06-19 | Forwarding multicast data packets using bit index explicit replication (BIER) for BIER-incapable network devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110620717A true CN110620717A (zh) | 2019-12-27 |
CN110620717B CN110620717B (zh) | 2021-11-05 |
Family
ID=68840478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910438455.4A Active CN110620717B (zh) | 2018-06-19 | 2019-05-24 | 网络设备、非瞬态计算机可读介质以及用于通信的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10644900B2 (zh) |
CN (1) | CN110620717B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10644997B2 (en) * | 2017-08-14 | 2020-05-05 | Level 3 Communications, Llc | Stitching label-switched paths between autonomous systems with Internet Protocol routing |
CN110417657B (zh) * | 2018-04-27 | 2022-05-17 | 华为技术有限公司 | 一种处理组播数据报文的方法及装置 |
CN114598635A (zh) * | 2020-12-02 | 2022-06-07 | 华为技术有限公司 | 报文传输的方法和装置 |
CN114598634A (zh) * | 2020-12-02 | 2022-06-07 | 华为技术有限公司 | 报文传输的方法、获取对应关系的方法、装置及系统 |
CN114915589A (zh) * | 2021-02-10 | 2022-08-16 | 华为技术有限公司 | 报文传输方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150131660A1 (en) * | 2013-09-17 | 2015-05-14 | Cisco Technology, Inc. | Bit indexed explicit replication packet encapsulation |
US20150131658A1 (en) * | 2013-09-17 | 2015-05-14 | Cisco Technology, Inc. | Equal Cost Multi-path With Bit Indexed Explicit Replication |
CN105743793A (zh) * | 2014-12-31 | 2016-07-06 | 瞻博网络公司 | 用于网络设备组件的比特索引显式复制(bier)转发 |
CN105871565A (zh) * | 2015-01-20 | 2016-08-17 | 华为技术有限公司 | 用于组播转发的方法及装置 |
WO2016177087A1 (zh) * | 2015-07-08 | 2016-11-10 | 中兴通讯股份有限公司 | 一种传输bier报文的方法及装置 |
CN106302169A (zh) * | 2015-06-29 | 2017-01-04 | 瞻博网络公司 | 确定的且优化的比特索引显式复制(bier)转发 |
CN106572023A (zh) * | 2015-10-12 | 2017-04-19 | 中兴通讯股份有限公司 | 一种实现比特位索引显示复制的方法及比特位转发路由器 |
CN106716951A (zh) * | 2014-06-26 | 2017-05-24 | 吉来特卫星网络有限公司 | 用于优化隧道流量的方法和装置 |
CN107786386A (zh) * | 2016-08-31 | 2018-03-09 | 瞻博网络公司 | 对用于验证多播连接的双向转发检测(bfd)消息的选择性传输 |
US20180091473A1 (en) * | 2016-09-23 | 2018-03-29 | Cisco Technology, Inc. | Unicast media replication fabric using bit indexed explicit replication |
US20180167311A1 (en) * | 2016-12-13 | 2018-06-14 | Cisco Technology, Inc. | Forwarding of Multicast Packets in a Network |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9544230B2 (en) * | 2013-09-17 | 2017-01-10 | Cisco Technology, Inc. | Migration support for bit indexed explicit replication |
WO2015042156A1 (en) * | 2013-09-17 | 2015-03-26 | Cisco Technology, Inc. | Bit indexed explicit replication |
US9906378B2 (en) * | 2015-01-27 | 2018-02-27 | Cisco Technology, Inc. | Capability aware routing |
WO2017141076A1 (en) | 2016-02-19 | 2017-08-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Stateless multicast protocol for low-power and lossy networks |
CN107204867B (zh) * | 2016-03-18 | 2020-03-24 | 中兴通讯股份有限公司 | 一种信息传输方法、装置和系统 |
US10404592B2 (en) * | 2017-03-24 | 2019-09-03 | Cisco Technology, Inc. | System and method to facilitate content forwarding using bit index explicit replication (BIER) in an information-centric networking (ICN) environment |
US10164794B2 (en) * | 2017-04-28 | 2018-12-25 | Cisco Technology, Inc. | Bridging of non-capable subnetworks in bit indexed explicit replication |
US20180367456A1 (en) * | 2017-06-20 | 2018-12-20 | Cisco Technology, Inc. | System and method to facilitate packet forwarding using stateful bit index explicit replication (bier) in a networking environment |
US10484303B2 (en) | 2017-08-29 | 2019-11-19 | Cisco Technology, Inc. | Replication with dedicated metal deployment in a cloud |
US10574589B2 (en) * | 2017-09-28 | 2020-02-25 | Nokia Technologies Oy | Multicast based on bit indexed explicit replication |
-
2018
- 2018-06-19 US US16/012,595 patent/US10644900B2/en active Active
-
2019
- 2019-05-24 CN CN201910438455.4A patent/CN110620717B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150131660A1 (en) * | 2013-09-17 | 2015-05-14 | Cisco Technology, Inc. | Bit indexed explicit replication packet encapsulation |
US20150131658A1 (en) * | 2013-09-17 | 2015-05-14 | Cisco Technology, Inc. | Equal Cost Multi-path With Bit Indexed Explicit Replication |
US9948574B2 (en) * | 2013-09-17 | 2018-04-17 | Cisco Technology, Inc. | Bit indexed explicit replication packet encapsulation |
CN106716951A (zh) * | 2014-06-26 | 2017-05-24 | 吉来特卫星网络有限公司 | 用于优化隧道流量的方法和装置 |
CN105743793A (zh) * | 2014-12-31 | 2016-07-06 | 瞻博网络公司 | 用于网络设备组件的比特索引显式复制(bier)转发 |
CN105871565A (zh) * | 2015-01-20 | 2016-08-17 | 华为技术有限公司 | 用于组播转发的方法及装置 |
CN106302169A (zh) * | 2015-06-29 | 2017-01-04 | 瞻博网络公司 | 确定的且优化的比特索引显式复制(bier)转发 |
WO2016177087A1 (zh) * | 2015-07-08 | 2016-11-10 | 中兴通讯股份有限公司 | 一种传输bier报文的方法及装置 |
CN106572023A (zh) * | 2015-10-12 | 2017-04-19 | 中兴通讯股份有限公司 | 一种实现比特位索引显示复制的方法及比特位转发路由器 |
CN107786386A (zh) * | 2016-08-31 | 2018-03-09 | 瞻博网络公司 | 对用于验证多播连接的双向转发检测(bfd)消息的选择性传输 |
US20180091473A1 (en) * | 2016-09-23 | 2018-03-29 | Cisco Technology, Inc. | Unicast media replication fabric using bit indexed explicit replication |
US20180167311A1 (en) * | 2016-12-13 | 2018-06-14 | Cisco Technology, Inc. | Forwarding of Multicast Packets in a Network |
Also Published As
Publication number | Publication date |
---|---|
US10644900B2 (en) | 2020-05-05 |
US20190386850A1 (en) | 2019-12-19 |
CN110620717B (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110620717B (zh) | 网络设备、非瞬态计算机可读介质以及用于通信的方法 | |
CN112152985B (zh) | 在中间路由器处具有减少的分组加密的gre隧穿 | |
CN110620730B (zh) | 比特索引显式复制(bier)倒数第二跳弹出 | |
US11902153B1 (en) | Compressed routing header | |
US20190394059A1 (en) | Bit index explicit replication (bier) penultimate hop popping | |
US20190386837A1 (en) | Forwarding multicast data packets using bit index explicit replication (bier) for bier-incapable network devices | |
WO2015109821A1 (zh) | 一种管理业务链的方法、系统及装置 | |
EP3585016B1 (en) | Forwarding multicast data packets using bit index explicit replication (bier) for bier-incapable network devices | |
US9531564B2 (en) | Single hop overlay architecture for line rate performance in campus networks | |
CN110278155B (zh) | 用于具有多归属和局部偏置的辅助复制的方法和设备 | |
CN107872389A (zh) | 多归连接的网络中的对称子网间业务负载平衡 | |
CN107786386B (zh) | 对用于验证多播连接的双向转发检测(bfd)消息的选择性传输 | |
CN110120906B (zh) | 用于实现双活接入trill园区边缘的方法和设备 | |
US10205661B1 (en) | Control messages for scalable satellite device clustering control in a campus network | |
US10177935B2 (en) | Data transfer system, data transfer server, data transfer method, and program recording medium | |
US11088939B1 (en) | Reducing open shortest path first protocol link flap | |
CN111049874B (zh) | 使用bier为无bier能力的网络设备转发多播分组 | |
CN104412548A (zh) | 保持用户设备ip地址固定的方法和设备 | |
US9246820B1 (en) | Methods and apparatus for implementing multiple loopback links | |
US10284468B1 (en) | E-channel identifiers (ECIDS) for scalable satellite device clustering control in a campus network | |
US20190036770A1 (en) | Network route provisioning | |
US11777847B1 (en) | Point-to-multipoint transport chain | |
EP3417601B1 (en) | Handling source routed content | |
CN108011820B (zh) | 基于监测网络流量条件的旁路标签交换路径的动态修改 | |
CN113452543A (zh) | 多宿主错误配置的检测 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |