CN105743793A - 用于网络设备组件的比特索引显式复制(bier)转发 - Google Patents
用于网络设备组件的比特索引显式复制(bier)转发 Download PDFInfo
- Publication number
- CN105743793A CN105743793A CN201510463333.2A CN201510463333A CN105743793A CN 105743793 A CN105743793 A CN 105743793A CN 201510463333 A CN201510463333 A CN 201510463333A CN 105743793 A CN105743793 A CN 105743793A
- Authority
- CN
- China
- Prior art keywords
- bfr
- destination
- multicast packet
- specific
- network equipment
- 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
- 235000008694 Humulus lupulus Nutrition 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 116
- 238000005266 casting Methods 0.000 claims description 60
- 230000009191 jumping Effects 0.000 claims description 5
- 101710172806 Putative bacterioferritin B Proteins 0.000 description 65
- 230000008569 process Effects 0.000 description 40
- 101710104277 Bacterioferritin A Proteins 0.000 description 21
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000000712 assembly Effects 0.000 description 7
- 238000000429 assembly Methods 0.000 description 7
- 239000003550 marker Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开的实施例涉及用于网络设备组件的比特索引显式复制(BIER)转发。公开了一种网络设备,该网络设备接收包括标识网络中的目的地的信息的多播分组,标识与目的地相关联的下一跳;并且利用目的地和标识的下一跳的地址来填充高速缓存。该网络设备接收包括标识高速缓存中所包括的特定目的地的信息的特定多播分组,标识针对来自高速缓存的特定目的地的一个或多个下一跳,并且向标识的一个或多个下一跳转发特定多播分组,以许可标识的一个或多个下一跳向特定目的地转发多播分组。
Description
背景技术
随着时间的过去,用于路由器的转发速率已经迅速地增加,然而控制平面处理能力却以较慢的速率增加。转发平面速度与控制平面速度之间的比率非常大(例如,1000倍或者更大),并且随着时间的过去而已经增加。针对因特网协议(IP)多播的现有方法是相对地控制平面密集的。一种被称为比特索引显式复制(BIER)转发方法的方法已经被引入因特网工程任务组(IETF),以允许多个多播组同时利用网络的核心中的最小状态支持。在BIER转发方法中,仅用于任何特定分组流的入口路由器需要知道哪些出口路由器需要接收任何特定分组。BIER转发方法不要求任何显式树构建协议,BIER转发方法也不要求中间路由器维持任何每个流状态。实现BIER转发方法的路由器被称为比特转发路由器(BFR)。
在BIER转发方法中,多播分组包括指示要接收多播分组的末端或目的地BFR的比特串,并且每个末端BFR包括映射到比特串的比特的唯一标识符(ID)。每个下一跳BFR分析比特串并且将多播分组复制到由比特串中的比特所指示的末端BFR的最短路径上的邻近的BFR。
发明内容
在一些实现方式中,一种网络设备可以包括:入口线卡、一个或多个出口线卡以及一个或多个处理器,该处理器修改转发表以包括与一个或多个出口线卡相关联的信息和与用于一个或多个出口线卡的掩码相关联的信息。转发表可以包括与目的地相关联的信息和与针对目的地的下一跳相关联的信息,并且掩码可以指示经由对应的下一跳可达到的目的地。一个或多个处理器可以经由入口线卡接收包括标识针对多播分组的目的地的信息的多播分组;标识一个或多个出口线卡中的用于基于标识目的地的信息和基于经修改的转发表来接收多播分组的出口线卡;引起入口线卡向标识的出口线卡提供多播分组;经由标识的出口线卡创建多播分组的副本;以及经由标识的出口线卡向目的地中的一些目的地转发多播分组的副本。
在上述设备中,其中一个或多个处理器进一步用于:存储经修改的转发表;以及将经修改的转发表编程到用于转发多播分组的数据平面中。
在上述设备中,其中转发表进一步包括与网络中的多个目的地相关联的信息和与针对多个目的地的下一跳相关联的信息,多个目的地包括目的地。
在上述设备中,其中网络设备与比特索引显式复制(BIER)转发方法相关联。
在上述设备中,其中当转发多播分组的副本时,一个或多个处理器进一步用于:标识与经修改的转发表相关联并且与目的地中的一些目的地相关联的特定下一跳;以及向特定下一跳转发多播分组的副本,以许可特定下一跳向目的地中的一些目的地转发多播分组。
在上述设备中,其中,当创建多播分组的副本时,一个或多个处理器进一步用于:针对特定下一跳中的每个特定下一跳创建多播分组的副本;以及当向特定下一跳转发多播分组中的副本时,一个或多个处理器进一步用于:向特定下一跳中的对应的一个特定下一跳转发多播分组的对应的副本。
在一些实现方式中,一种方法可以包括:由网络中所提供的网络设备修改转发表以包括与网络设备的一个或多个出口线卡相关联的信息和与用于一个或多个出口线卡的掩码相关联的信息;并且由网络设备的入口线卡接收包括标识针对多播分组的目的地地址的信息的多播分组。该方法可以包括由网络设备标识一个或多个出口线卡中的用于基于标识目的地的信息和基于经修改的转发表来接收多播分组的出口线卡;由网络设备引起入口线卡向标识的出口线卡提供多播分组的单个副本;由标识的出口线卡创建多播分组的副本;以及由标识的出口线卡向目的地中的一些目的地转发多播分组的副本。
在上述方法中,进一步包括:将经修改的转发表编程到与网络设备相关联并且用于转发多播分组的数据平面中。
在上述方法中,其中网络设备与比特索引显式复制(BIER)转发方法相关联。
在上述方法中,其中转发多播分组的副本进一步包括:标识与经修改的转发表相关联并且与目的地中的一些目的地相关联的特定下一跳;以及向特定下一跳转发多播分组的副本,以许可特定下一跳向目的地中的一些目的地转发多播分组。
在上述方法中,其中网络设备包括比特转发设备,并且经修改的转发表包括经修改的比特索引转发表(BIFT)。
在上述方法中,其中转发表进一步包括与网络中的多个目的地相关联的信息和与针对多个目的地的下一跳相关联的信息,多个目的地包括目的地。
在一些实现方式中,一种与比特索引显式复制(BIER)转发方法相关联的网络设备,可以包括一个或多个处理器以:接收包括标识目的地的信息的多播分组;标识与目的地相关联的下一跳;利用目的地和标识的下一跳的地址来填充高速缓存;接收包括标识特定目的地的信息的特定多播分组;确定特定目的地是否被包括在高速缓存中;以及当特定目的地被包括在高速缓存中时:标识针对来自高速缓存的特定目的地的一个或多个下一跳,并且向标识的一个或多个下一跳转发特定多播分组,以许可标识的一个或多个下一跳向特定目的地转发多播分组。
在上述网络设备中,其中当特定目的地没有被包括在高速缓存中时,一个或多个处理器用于:标识与特定目的地相关联的特定下一跳;以及利用特定目的地和标识的特定下一跳的地址来填充高速缓存。
在上述网络设备中,其中当向标识的一个或多个下一跳转发特定多播分组时,一个或多个处理器进一步用于:针对标识的一个或多个下一跳中的每个下一跳创建多播分组的副本;以及向标识的一个或多个下一跳中的每个下一跳转发多播分组的副本。
在上述网络设备中,其中一个或多个处理器进一步用于:存储高速缓存;以及将高速缓存编程到用于转发多播分组的数据平面中。
在上述网络设备中,其中当特定目的地没有被包括在高速缓存中时,一个或多个处理器进一步用于:利用网络设备中存储的比特索引转发表(BIFT)以标识与特定目的地相关联的特定下一跳。
在一些实现方式中,一种方法可以包括:由网络中的网络设备接收包括标识网络中的目的地的信息的多播分组;以及由网络设备标识与目的地相关联的下一跳。该方法还可以包括由网络设备利用目的地和标识的下一跳的地址来填充高速缓存;以及由网络设备接收包括标识特定目的地的信息的特定多播分组,其中特定目的地被包括在高速缓存中。该方法可以包括:由网络设备标识用于来自高速缓存的特定目的地的一个或多个下一跳;以及由网络设备向标识的一个或多个下一跳转发特定多播分组,以许可标识的一个或多个下一跳向特定目的地转发多播分组。
在上述方法中,其中向标识的一个或多个下一跳转发特定多播分组进一步包括:针对标识的一个或多个下一跳中的每个下一跳创建多播分组的副本;以及向标识的一个或多个下一跳中的每个下一跳转发多播分组的副本。
在上述方法中,其中标识与目的地相关联的下一跳进一步包括:利用网络设备中存储的比特索引转发表(BIFT)以标识与特定目的地相关联的下一跳。
在一些实现方式中,一种网络设备,包括:入口线卡;一个或多个出口线卡;用于修改转发表以包括与一个或多个出口线卡相关联的信息和与用于一个或多个出口线卡的掩码相关联的信息的装置;转发表包括与目的地相关联的信息和与针对目的地的下一跳相关联的信息,以及掩码指示经由对应的下一跳可达到的目的地;用于经由入口线卡接收包括标识针对多播分组的目的地的信息的多播分组的装置;用于标识一个或多个出口线卡中的用于基于标识目的地的信息并且基于经修改的转发表来接收多播分组的出口线卡的装置;用于引起入口线卡向标识的出口线卡提供多播分组的装置;用于经由标识的出口线卡创建多播分组的副本的装置;以及用于经由标识的出口线卡向目的地中的一些目的地转发多播分组的副本的装置。
在上述网络设备中,进一步包括:用于存储经修改的转发表的装置;以及用于将经修改的转发表编程到用于转发多播分组的数据平面中的装置。
在上述网络设备中,其中转发表包括与网络中的多个目的地相关联的信息和与针对多个目的地的下一跳相关联的信息,多个目的地包括目的地。
在上述网络设备中,其中网络设备与比特索引显式复制(BIER)转发方法相关联。
在上述网络设备中,其中用于转发多播分组的副本的装置包括:用于标识与经修改的转发表相关联并且与目的地中的一些目的地相关联的特定下一跳的装置;以及用于向特定下一跳转发多播分组的副本以许可特定下一跳向目的地中的一些目的地转发多播分组的装置。
在上述网络设备中,其中用于创建多播分组的副本的装置包括:用于针对特定下一跳中的每个特定下一跳创建多播分组的副本的装置;以及用于向特定下一跳转发多播分组中的副本的装置包括:用于向特定下一跳中的对应的一个特定下一跳转发多播分组的对应的副本的装置。
在一些实现方式中,一种与比特索引显式复制(BIER)转发方法相关联的网络设备,该网络设备包括:用于接收包括标识目的地的信息的多播分组的装置;用于标识与目的地相关联的下一跳的装置;用于利用目的地和标识的下一跳的地址来填充高速缓存的装置;用于接收包括标识特定目的地的信息的特定多播分组的装置;用于确定特定目的地是否被包括在高速缓存中的装置;以及当特定目的地被包括在高速缓存中时,网络设备包括:用于标识针对来自高速缓存的特定目的地的一个或多个下一跳的装置,以及用于向标识的一个或多个下一跳转发特定多播分组、以许可标识的一个或多个下一跳向特定目的地转发多播分组的装置。
在上述网络设备中,其中当特定目的地没有被包括在高速缓存中时,网络设备包括:用于标识与特定目的地相关联的特定下一跳的装置;以及用于利用特定目的地和标识的特定下一跳的地址来填充高速缓存的装置。
在上述网络设备中,其中用于向标识的一个或多个下一跳转发特定多播分组的装置包括:用于针对标识的一个或多个下一跳中的每个下一跳创建多播分组的副本的装置;以及用于向标识的一个或多个下一跳中的每个下一跳转发多播分组的副本的装置。
在上述网络设备中,进一步包括:用于存储高速缓存的装置;以及用于将高速缓存编程到用于转发多播分组的数据平面中的装置。
在上述网络设备中,其中当特定目的地没有被包括在高速缓存中时,网络设备包括:用于利用网络设备中存储的比特索引转发表(BIFT)以标识与特定目的地相关联的特定下一跳的装置。
附图说明
图1A和1B是本文所描述的示例实现方式的概述的示图;
图2是在其中可以实施本文所描述的系统和/或方法的示例环境的示图;
图3是图2的网络设备的示例组件的示图;
图4是用于填充网络设备中的高速缓存和用于基于高速缓存中的信息来转发多播分组的示例过程的流程图;
图5A-5C是关于图4中所示的示例过程的示例实现方式的示图;
图6是用于修改网络设备的BIFT和用于基于经修改的BIFT中的信息来转发多播分组的示例过程的流程图;以及
图7A-7C是关于图6中所示的示例过程的示例实现方式的示图。
具体实施方式
示例实现方式的以下详细描述参考附图。不同附图中的相同附图标记可以标识相同或相似的元件。
BIER转发方法使用比特索引转发表(BIFT)。用于分组(例如,由转发比特掩码(F-BM)中的唯一单个比特表示的)的每个潜在目的地仅具有单个可能的下一跳。BIFT中的每个条目(例如,对应于特定可能的目的地)包括指定对应于特定下一跳的单个F-BM的单个行。在BIER转发方法中,多播分组的第一副本可以被发送到要接收多播分组的末端BFR的第一子集的最短路径上的第一邻居BFR,多播分组的第二副本可以被发送到要接收多播分组的末端BFR的第二子集的最短路径上的第二邻居BFR等。
接收多播分组的特定BFR可以分析多播分组的比特串中的最低比特,并且可以查找BIFT中的最低比特。BIFT中的行可以标识要向其发送多播分组的副本的邻居BFR,并且F-BM可以指示由邻居BFR可达到的所有末端BFR。特定BFR可以将分组副本的比特串设定为多播分组的比特串和F-BM的组合,并且可以向邻居BFR提供分组副本。特定BFR可以分析多播分组的比特串中的下一个最低比特,以便向另一邻居BFR提供另一分组副本,并且可以针对多播分组的比特串中的每个比特重复该过程。
特定BFR的组件(例如,入口线卡)可以针对以上所描述的多播分组执行BIER转发功能。例如,入口线卡可以针对多播分组的比特串中的比特执行BIFT的多个查找,并且可以经由交换组件(例如,交换结构(fabric))向特定BFR的另一组件(例如,入口线卡)提供分组副本。然而,即使要接收多播分组的邻居BFR与相同的出口线卡相关联,入口线卡也可以向出口线卡提供多个分组副本。进一步地,一些入口线卡和/或交换结构可能不能够特别地以高数据速率执行这样的转发功能。
本文所描述的系统和/或方法可以将BIEF转发方法延伸到网络设备的组件级。该系统和/或方法可以利用使得网络设备的出口组件能够在转发多播分组时分析多播分组的整个比特串(例如,而不是单独地每个比特)的高速缓存(例如,代替BIFT)。该系统和/或方法可以使得网络设备的入口组件能够向出口组件转发多播分组的单个副本(例如,以最小化交换组件中的流量),并且出口组件可以创建和转发多播分组的副本。该系统和/或方法可以减少由BIER转发方法引起的网络设备的组件上的处理负载。
图1A和1B是本文所描述的示例实现方式100的概述的示图。如图1A和1B中所示出的,多播域可以包括多个网络设备(诸如通过链路互连的比特转发路由器BFR-A、BFR-B、BFR-C、BFR-D、BFR-E和BFR-F)。可以对多播域中的每个BFR分配唯一BFR标识符(BFR-id)。假定BFR-D包括一(1)的BFR-id、零(0)的集标识符(SI)和0001的比特串(例如,其中0:0001标识BFR-D的SI和比特串)。则该SI和比特串可以被用于标识分组要被递送到的出口BFR(BFER)的集合。假定BFR-F包括二(2)的BFR-id、零(0)的SI和0010的比特串(例如,其中0:0010标识BFR-F的SI和比特串)。假定BFR-E包括三(3)的BFR-id、零(0)的SI和0100的比特串(例如,其中0:0100标识BFR-E的SI和比特串)。假定BFR-A包括四(4)的BFR-id、零(0)的SI和1000的比特串(例如,其中0:1000标识BFR-A的SI和比特串)。因此,比特串中的1的放置(例如,从右到左)可以提供到与BFR相关联的BFR-id的映射。例如,0001的比特串可以对应于BFR-id1(例如,BFR-D);0010的比特串可以对应于BFR-id2(例如,BFR-F);0100的比特串可以对应于BFR-id3(例如,BFR-E);并且1000的比特串可以对应于BFR-id4(例如,BFR-A)。
如图1A中所示出的,每个BFR可以利用BIFT,并且每个BIFT可以包括标识针对每个目的地的下一跳的信息。例如,BFR-B(例如,入口BFR)可以利用BIFT转发分组,并且BIFT可以包括用于BFR-id(例如,1、2、3和4)的列、用于转发比特掩码(F-BM)的列和用于邻居BFR(BFR-NBR)的列。特定BFR的邻居BFR可以包括邻近特定BFR并且通过直接链路连接到特定BFR的BFR。F-BM可以包括对应于SI和BFR-NBR的组合的比特掩码。
在一些实现方式中,如图1A中进一步所示出的,BFR-B可以包括具有用于比特串(例如,0000、0001、0011等)的列和用于邻居BFR(BFR-NBR)的列的高速缓存。该高速缓存可以初始地为空,并且BFR-B可以接收包括标识目的地地址的比特串的多播分组,并且可以标识与目的地地址相关联的下一跳或邻居BFR。BFR-B可以利用比特串和标识邻居BFR的信息来填充高速缓存。如图1A中进一步所示出的,假定多播分组到达BFR-B并且包括具有1001的比特串的分组报头。分组报头中的比特串的0001部分可以指示多播分组要被递送到具有1的BFR-id的BFR(例如,BFR-D),并且比特串的1000部分可以指示多播分组要被递送到具有4的BFR-id的BFR(例如,BFR-A)。BFR-B可以利用分组的整个比特串以标识高速缓存中的条目。例如,BFR-B可以标识高速缓存中的指示多播分组的副本要被发送到邻居BFR-A和邻居BFR-C的条目。如图1A中进一步所示出的,根据高速缓存中的条目,可以向BFR-A和BFR-C(例如,以及所提供的BFR-D)转发多播分组的副本。
在一些实现方式中,如图1B中所示出的,每个BFR(例如,BFR-B)可以包括诸如第一(入口)线卡(LC-1)和第二(出口)线卡(LC-2)的组件。BFR-B可以修改BIFT,以包括包含线卡标识符(例如,1、2等)的附加列和用于线卡的转发比特掩码(F-BM-LC)的附加列。如图1B中进一步所示出的,假定多播分组到达BFR-B的入口线卡并且包括具有1001的比特串的分组报头。BFR-B的入口线卡可以利用多播分组的比特串以标识经修改的BIFT中的条目。例如,入口线卡可以确定多播分组的单个副本要被提供给BFR-B的出口线卡,并且可以向出口线卡提供多播分组的副本。出口线卡可以创建要被发送到邻居BFR-A和邻居BFR-C的多播分组的副本。如图1B中进一步所示出的,根据经修改的BIFT中的条目,BFR-B的出口线卡可以向BFR-A和BFR-C转发多播分组的副本。基于比特串0001,BFR-C可以向BFR-D提供多播分组的副本。
本文所描述的系统和/或方法可以将BIER转发方法延伸到网络设备的组件级,以便减少由BIER转发方法引起的网络设备的组件上的处理负载。
图2是在其中可以实现本文所描述的系统和/或方法的示例环境200的示图。如图2中所示出的,环境200可以包括一个或多个网络设备210-1到210-N(N≥1)(在下文中统称为网络设备210,以及单独地称为网络设备210)和网络220。环境200的设备可以经由有线连接、无线连接或者有线和无线连接的组合进行互联。
网络设备210可以包括能够对经由网络220行进(travel)的分组进行接收、发送、处理、路由等的设备。例如,网络设备210可以包括路由器、交换机、网关、调制调解器、防火墙、网络接口控制器(NIC)、集线器、桥接器、光分插复用器(OADM)或另一种类型的网络设备。在一些实现方式中,网络设备210可以包括与接收分组相关联的一个或多个输入端口和与发送分组相关联的一个或多个输出端口。在一些实现方式中,网络设备210可以连接到一个或多个其他网络设备210。在一些实现方式中,网络设备210可以与其他设备(未示出)进行通信,以便处理和/或路由通过网络设备210接收的分组。虽然本文结合BFR将实现方式描述为网络设备210,但是本文所描述的系统和/或方法可以与其他类型的网络设备210(例如,除BFR外)一起被利用。
网络220可以包括一个或多个有线和/或无线网络,其包括网络设备210和/或允许网络设备210进行通信。例如,网络220可以包括局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网络(PSTN))、自组网、内联网、因特网、基于光纤的网络、专用网络、云计算网络和/或这些或其他类型的网络的组合。
图2中所示出的设备和网络中的数目和布置被提供为示例。在实践中,可以存在附加的设备和/或网络、较少的设备和/或网络、不同的设备和/或网络或者与图2中所示的那些设备和/或网络不同布置的设备和/或网络。而且,图2中所示的两个或两个以上设备可以实现在单个设备内,或者图2中所示的单个设备可以实现为多个分布式设备。附加地或者备选地,环境200的设备的集合(例如,一个或多个设备)可以执行描述为由环境200的设备的另一集合执行的一个或多个功能。
图3是网络设备210的示例组件的示图。如图3中所示出的,网络设备210可以包括一个或多个入口线卡305-1到305-B(B≥1)(在下文中统称为入口线卡305,以及单独称为入口线卡305)、交换组件310、一个或多个出口线卡315-1到315-C(C≥1)(在下文中统称为出口线卡315,以及单独称为出口线卡315)以及路由组件320。
入口线卡305可以是针对物理链路的附接点,并且可以是用于诸如分组的输入(income)流量的进入点。入口线卡305可以(诸如通过执行数据链路层封装或解封装)处理输入流量。在一些实现方式中,入口线卡305可以发送和/或接收分组。在一些实现方式中,入口线卡305可以包括输入线卡,该输入线卡包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个接口卡(IFC)、分组转发组件、线卡控制器组件、输入端口、处理器、存储器和/或输入队列。在一些实现方式中,网络设备210可以包括一个或多个入口线卡305。入口线卡305可以使用转发表来执行针对分组的路由查找以确定目的地信息。如果目的地信息指示分组应当经由交换组件310被发送到另一线卡(例如,出口线卡315),则入口线卡305可以在必要的情况下准备向另一线卡的发送的分组,并且可以经由交换组件310向另一线卡发送分组。
交换组件310可以将入口线卡305与出口线卡315互联。在一些实现方式中,交换组件310可以经由一个或多个交叉开关、经由一条或多条总线和/或利用一个或多个共享存储器被实现。在分组最终被调度以用于递送到出口线卡315之前,共享存储器可以用作要存储来自入口线卡305的分组的临时缓冲器。在一些实现方式中,交换组件310可以使得入口线卡305、出口线卡315和/或路由组件320能够通信。
出口线卡315可以是针对物理链路的附接点,并且可以是用于诸如分组的输出(outgo)流量的出口点。出口线卡315可以存储分组并且可以调度用于输出物理链路上发送的分组。出口线卡315可以支持数据链路层封装或者解封装和/或各种高层协议。在一些实现方式中,出口线卡315可以发送分组和/或接收分组。在一些实现方式中,出口线卡315可以包括输出线卡,该输出线卡包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个IFC、分组转发组件、线卡控制器组件、输出端口、处理器、存储器和/或输出队列。在一些实现方式中,网络设备210可以包括一个或多个出口线卡315。出口线卡315可以使用转发表来执行针对分组的路由查找以确定目的地信息。如果目的地信息指示分组应当在物理接口上被发送,则出口线卡315可以通过例如添加任何必要的报头来准备用于传输的分组,并且可以发送分组。
在一些实现方式中,网络设备210可以包括一个或多个出口线卡315。在一些实现方式中,入口线卡305和出口线卡315可以由组件的相同集合实现(例如,输入/输出线卡可以是入口线卡305和出口线卡315的组合)。
路由组件320可以包括一个或多个处理器,诸如一个或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或类似类型的处理组件。处理器以硬件、固件或硬件和软件的组合进行实现。在一些实现方式中,路由组件320可以包括随机存取存储器(RAM)、只读存储器(ROM)和/或存储信息和/或指令的另一类型的动态或静态存储设备(例如,闪速存储器、磁性存储器、光学存储器等)。在一些实现方式中,路由组件320可以与连接到网络设备210的其他设备、网络和/或系统通信,以交换关于网络拓扑的信息。路由组件320可以基于网络拓扑信息来创建路由表,基于路由表来创建转发表,并且将转发表转发到入口线卡305和/或出口线卡315。入口线卡305和/或出口线卡315可以使用转发表来执行针对输入和/或输出分组的路由查找。
图3中所示的组件的数目和布置被提供为示例。在实践中,网络设备210可以包括附加的组件、较少的组件、不同的组件或与图3中所示的那些组件不同布置的组件。附加地或者备选地,网络设备210的组件的集合(例如,一个或多个组件)可以执行描述为由网络设备210的组件的另一集合所执行的一个或多个功能。
图4是用于填充网络设备中的高速缓存和用于基于高速缓存中的信息来转发多播分组的示例过程400的流程图。在一些实现方式中,可以由网络设备210执行图4的一个或多个过程框。在一些实现方式中,可以由另一设备或与网络设备210分离或包括网络设备210的设备组执行图4的一个或多个过程框。在一些实现方式中,可以由网络设备210的一个或多个组件(诸如入口线卡305、出口线卡315等)执行图4的一个或多个过程框。
如图4中所示,过程400可以包括接收具有标识与目的地相关联的目的地地址的信息的多播分组(框410)。例如,多播域可以包括诸如多个BFR的多个网络设备210。在一些实现方式中,多个BFR中的特定BFR(例如,入口BFR)可以接收(例如,在分组报头中)包括标识与多播域中的目的地(例如,其他BFR)相关联的目的地地址的信息的多播分组。在一些实现方式中,每个多播分组可以(例如,在分组报头中)包括对应于特定的BFR集合(例如,其对应于特定比特串)的信息。
如图4中进一步所示出的,过程400可以包括标识与目的地地址相关联的下一跳(框420)。例如,入口BFR可以标识与目的地(例如,其他BFR)相关联的下一跳BFR(例如,邻居BFR)。在一些实现方式中,入口BFR可以包括BIFT,并且BIFT可以包括标识用于每个目的地的下一跳的信息。例如,入口BFR可以利用BIFT转发分组,并且BIFT可以包括用于BFR-id的列、用于转发比特掩码(F-BM)的列以及用于邻居BFR(BFR-NBR)的列。入口BFR的邻居BFR可以包括邻近入口BFR并且通过直接链路连接到入口BFR的BFR。F-BM可以包括对应于SI和BFR-NBR的组合的比特掩码。在一些实现方式中,入口BFR可以针对每个多播分组的分析比特串,并且可以利用BIFT和比特串以标识针对目的地的下一跳。
如图4中进一步所示出的,过程400可以包括利用目的地地址和下一跳的地址来填充高速缓存(框430)。例如,入口BFR可以包括转发数据结构(例如,在本文中被称为“高速缓存”的表、列表、数据库等),其初始为空。在一些实现方式中,入口BFR可以利用目的地地址和标识的下一跳的地址来填充高速缓存。在一些实现方式中,高速缓存可以包括用于BFR-id(例如,比特串)的列和用于与入口BFR相关联的邻居BFR(BFR-NBR)的列。
在一些实现方式中,对于每个多播分组而言,入口BFR可以确定多播分组是否包括与高速缓存的条目中所提供的比特串匹配的比特串。如果多播分组的比特串与高速缓存的条目中所提供的比特串不匹配,则入口BFR可以使用BIER转发方法来转发多播分组,并且可以利用目的地地址和与多播分组相关联的下一跳地址来填充高速缓存。如果多播分组的比特串与高速缓存的条目中所提供的比特串匹配,则如下文所描述的,入口BFR可以使用高速缓存来转发多播分组。在一些实现方式中,高速缓存的条目可以超时并且在预确的时间段之后(例如,在几秒、几分钟、几小时等中)被移除。在一些实现方式中,入口BFR可以存储高速缓存和/或可以将高速缓存编程到用于转发多播分组的数据平面中。
如图4中进一步所示出的,过程400可以包括接收具有标识特定目的地地址的信息的特定多播分组(框440)。例如,入口BFR可以接收包括分组报头的特定多播分组。在一些实现方式中,分组报头可以包括标识多个目的地地址的信息。例如,假定多播域包括与BFR-id1、2、3和4相关联的BFR,并且分组报头包括1110的比特串。这样的比特串可以指示特定多播分组要被递送到与BFR-id2(例如,基于比特串的0010部分)、3(例如,基于比特串的0100部分)和4(例如,基于比特串的1000部分)相关联的BFR。
如图4中进一步所示出的,过程400可以包括基于特定目的地地址和高速缓存,来标识用于特定多播分组的(一个或多个)下一跳(框450)。例如,入口BFR可以分析特定多播分组的分组报头,以便确定特定目的地地址。在一些实现方式中,入口BFR可以(例如,利用散列函数)执行分组报头的散列,以便标识在分组报头中所包含的信息,诸如特定目的地地址。例如,入口BFR可以执行分组报头中的一些或全部的散列以标识比特串。在一些实现方式中,入口BFR可以利用整个比特串来确定特定多播分组的比特串是否匹配高速缓存的条目中所提供的比特串。这样的布置可以使得入口BFR能够执行高速缓存的单个查找,其可以减少入口BFR上的处理负载(例如,其低于由BIER转发方法的单个比特查找引起的处理负载)。
当特定多播分组的比特串与高速缓存的条目中所提供的比特串匹配时,入口BFR可以利用条目确定针对特定多播分组的下一跳。例如,假定入口BFR确定特定多播分组的比特串是1110,并且假定特定多播分组将基于比特串被递送到与BFR-id2、3和4相关联的特定BFR。在这样的示例中,入口BFR可以确定针对来自高速缓存条目中的对应的比特串的特定多播分组的下一跳(例如,与特定BFR相关联的下一跳)。在一些实现方式中,入口BFR可以利用除散列函数之外的另一变换函数,以便标识在分组报头中所包含的信息,诸如校验和、校验位、指纹、随机函数等。
如图4中进一步所示出的,过程400可以包括向所标识的下一跳转发特定多播分组,以用于向与特定目的地地址相关联的特定目的地进行转发(框460)。例如,入口BFR可以向标识的下一跳转发特定多播分组,并且标识的下一跳可以向与分组报头中所提供的特定目的地地址相关联的特定目的地转发特定多播分组。在一些实现方式中,入口BFR可以向不同的标识的下一跳转发特定多播分组的副本。
例如,如果BIFT包括用于向与BFR-id2、3和4相关联的BFR转发特定多播分组的特定条目,则入口BFR可以创建特定多播分组的第一副本,并且可以包括特定多播分组的第一副本的分组报头中的(例如,对应于BFR-id2)0010的比特串。入口BFR可以向第一下一跳提供特定多播分组的第一副本,并且第一下一跳可以利用0010的比特串向与BFR-id2相关联的BFR转发多播分组的第一副本。入口BFR可以创建特定多播分组的第二副本,并且可以包括特定多播分组的第二副本的分组报头中的(例如,对应于BFR-id3)0100的比特串。入口BFR可以向第二下一跳提供特定多播分组的第二副本,并且第二下一跳可以利用0100的比特串向与BFR-id3相关联的BFR转发特定多播分组的第二副本。入口BFR可以创建特定多播分组的第三副本,并且可以包括特定多播分组的第三副本的分组报头中的(例如,与BFR-id4相对应的)1000的比特串。入口BFR可以向给第三下一跳提供特定多播分组的第三副本,并且第三下一跳可以利用1000的比特串向与BFR-id4相关联的BFR转发特定多播分组的第三副本。
在一些实现方式中,在不利用下一跳的情况下(例如,当目的地直接连接到入口BFR时),入口BFR可以向目的地直接提供多播分组的一个或多个副本。
虽然图4示出了过程400的示例框,但是在一些实现方式中,过程400可以包括附加的框、较少的框、不同的框或与图4中所描绘的那些框不同布置的框。附加地或者备选地,可以并行执行过程400的框中的两个或两个以上框。
图5A-5C是关于图4中所示的示例过程400的示例实现方式500的示图。图5A-5C示出了填充诸如BFR的网络设备210中的高速缓存和基于高速缓存转发分组的示例。
如图5A中所示,多播域可以包括多个网络设备210(诸如通过由链路互联的BFR-A(210-A)、BFR-B(210-B)、BFR-C(210-C)、BFR-D(210-D)、BFR-E(210-E)和BFR-F(210-F))。可以对多播域中的每个BFR210分配唯一BFR-id。假定BFR-D包括一(1)的BFR-id、零(0)的SI和0001的比特串;BFR-F包括二(2)的BFR-id、零(0)的SI和0010的比特串;BFR-E包括三(3)的BFR-id、零(0)的SI和0100的比特串;并且BFR-A包括四(4)的BFR-id、零(0)的SI和1000的比特串。虽然对于图5A中的BFR-B和BFR-C而言没有示出这样的信息,但是BFR-B和BFR-C也可以与BFR-id、SI和/或比特串相关联。
如图5A中进一步所示出的,入口BFR(例如,BFR-B)可以包括BIFT505和初始为空的高速缓存510。BIFT505可以包括用于BFR-id的列、用于转发比特掩模(F-BM)的列和用于邻居BFR(BFR-NBR)的列。BFR-B可以接收包括标识与目的地(例如,BFR-A、BFR-D、BFR-E、BFR-F等)相关联的目的地地址的比特串的多播分组515-1到515-4。BFR-B可以利用BIFT505中所提供的信息和BIER转发方法,以向目的地转发多播分组515-1到515-4。例如,BFR-B可以利用BIFT505向BFR-D(例如,对应于比特串0001)转发分组515-1(例如,具有比特串0001);向BFR-F(例如,对应于比特串0010)转发分组515-2(例如,具有比特串0010);向BFR-E(例如,对应于比特串0100)转发分组515-3(例如,具有比特串0100);并且向BFR-A(例如,对应于比特串1000)转发分组515-4(例如,具有比特串1000)。BFR-B可以继续接收具有不同比特串的其他多播分组,并且因此可以转发其他多播分组。
如图5B中所示,BFR-B可以利用BIFT505以利用分组515-1到515-4中所提供的信息(例如,比特串)来填充高速缓存510。例如,BFR-B可以分析分组515-1以标识第一比特串(例如,0001),并且可以利用BIFT505基于第一比特串来确定邻居BFR(例如,BFR-C)。如由参考标记520所指示的,BFR-B可以为第一比特串和邻居BFR-C提供高速缓存510中的条目。BFR-B可以分析分组515-2以标识第二比特串(例如,0010),并且可以利用BIFT505基于第二比特串来确定邻居BFR(例如,BFR-C)。如由参考标记525所指示的,BFR-B可以为第二比特串和邻居BFR-C提供高速缓存510中的条目。BFR-B可以分析分组515-3以标识第三比特串(例如,0100),并且可以利用BIFT505基于第三比特串来确定邻居BFR(例如,BFR-E)。如由参考标记530所指示的,BFR-B可以为第三比特串和邻居BFR-E提供高速缓存510中的条目。BFR-B可以继续该过程,直到如由参考标记535所指示的,BFR-B为第N(N≥1)个比特串(例如,0011)和邻居BFR(例如,BFR-C)提供高速缓存510中的条目。
如图5C中所示,在BFR-B利用条目填充高速缓存510之后,假定BFR-B接收包括有效负载和具有比特串545(例如,0011)的分组报头的多播分组540。0011的比特串545可以指示多播分组540要被递送到具有1(例如,BFR-D,如由比特串545的0001部分所指示的)和2(例如,BFR-F,如由比特串545的0010部分所指示的)的BFR-id的BFR210。BFR-B可以执行多播分组540的散列以标识分组报头的比特串545。BFR-B可以将比特串545与高速缓存510中所提供的比特串进行比较,以便确定高速缓存510中的匹配条目。例如,BFR-B可以执行高速缓存510的单个查找550,以确定比特串545匹配与邻居BFR(例如,BFR-C)相关联的条目。
如图5C中进一步所示,基于高速缓存510中的条目,BFR-B可以创建包括分组报头中的0001的比特串的多播分组540的第一副本555。BFR-B可以向BFR-C转发第一分组副本555,并且BFR-C可以接收第一分组副本555。0001的比特串可以向BFR-C指示第一分组副本555要被转发给具有1的BFR-id的BFR210(例如,BFR-D)。因此,BFR-C可以向BFR-D转发第一分组副本555,并且BFR-D可以接收第一分组副本555。进一步地基于高速缓存510中的条目,BFR-B可以创建包括分组报头中的0010的比特串的多播分组540的第二副本560。BFR-B可以向BFR-C转发第二分组副本560,并且BFR-C可以接收第二分组副本560。0010的比特串可以向BFR-C指示第二分组副本560要被转发给具有2的BFR-id的BFR210(例如,BFR-F)。因此,BFR-C可以向BFR-F转发第二分组副本560,并且BFR-F可以接收第二分组副本560。
如上文所指示的,仅将图5A-5C提供为示例。其他示例是可能的,并且可以与关于5A-5C所描述的不同。
图6是用于修改网络设备的BIFT和用于基于经修改的BIFT中的信息来转发多播分组的示例过程600的流程图。在一些实现方式中,可以由网络设备210执行图6的一个或多个过程框。在一些实现方式中,可以由另一设备或与网络设备210分离或包括网络设备210的设备组执行图6的一个或多个过程框。在一些实现方式中,可以由网络设备210的一个或多个组件执行图6的一个或多个过程框,诸如入口线卡305、出口线卡315等。
如图6中所示,过程600可以包括修改比特索引转发表(BIFT),以包括用于出口线卡的条目和用于出口线卡的转发比特掩码(F-BM)的条目的(框610)。例如,多播域可以包括诸如多个BFR的多个网络设备210。在一些实现方式中,多个BFR的特定BFR(例如,入口BFR)可以包括BIFT,并且BIFT可以包括标识针对每个目的地的下一跳的信息。例如,入口BFR可以利用BIFT转发分组,并且BIFT可以包括用于BFR-id的列、用于转发比特掩码(F-BM)的列以及用于邻居BFR(BFR-NBR)的列。入口BFR的邻居BFR可以包括邻近入口BFR并且由直接链路连接到入口BFR的BFR。F-BM可以包括对应于SI和BFR-NBR的组合的比特掩码。
在一些实现方式中,入口BFR可以包括入口线卡305和出口线卡315。在一些实现方式中,入口BFR的BIFT可以被修改为包括与出口线卡315相关联的条目和与用于出口线卡315的F-BM相关联的条目。例如,入口BFR的BIFT可以被修改为包括包含用于出口线卡315的标识符的列(例如,LC-id列)和用于与出口线卡315相关联的F-BM的列(例如,F-BM-LC列)。在一个示例中,假定特定出口线卡315包括2的标识符并且与两个邻居BFR通信。而且,假定第一邻居BFR与0011的F-BM相关联,并且第二邻居BFR与1000的F-BM相关联。在这样的示例中,入口BFR可以将BIFT修改为包括用于LC-id(例如,2)的条目和将第一邻居BFR和第二邻居BFR组合的F-BM(例如,1011)。在一些实现方式中,入口BFR可以存储经修改的BIFT和/或可以将经修改的BIFT编程到用于转发多播分组的数据平面中。
如图6中进一步所示,过程600可以包括利用入口线卡来接收包括标识目的地地址的信息的多播分组(框620)。例如,入口BFR的入口线卡305可以接收包括分组报头的多播分组。在一些实现方式中,分组报头可以包括标识多个目的地地址的信息。例如,假定多播域包括与BFR-id1、2、3和4相关联的BFR-id,并且分组报头包括1110的比特串。这样的比特串可以指示多播分组要被递送到与BFR-id2(例如,基于比特串的0010部分)、3(例如,基于比特串的0100部分)和4(例如,基于比特串的1000部分)相关联的BFR。
如图6中进一步所示,过程600可以包括基于标识目的地地址和经修改的BIFT的信息来标识用于多播分组的出口线卡(框630)。例如,入口BFR的入口线卡305可以分析多播分组的分组报头,以便标识用于多播分组的出口线卡315。在一些实现方式中,入口BFR的入口线卡305可以(例如,利用散列函数)执行分组报头的散列,以便标识分组报头中所包含的信息(例如,目的地地址)。例如,特定BFR的入口线卡305可以执行分组报头中的一些或全部分组报头的散列以标识1110的比特串。
在一些实现方式中,特定BFR的入口线卡305可以利用比特串和经修改的BIFT来确定多播分组要被递送到与BFR-id2、3和4相关联的BFR。在一些实现方式中,特定BFR的入口线卡305可以利用比特串和经修改的BIFT来确定特定入口线卡315(例如,具有2的LC-id)可以向与BFR-id2、3和4相关联的BFR递送多播分组。在一些实现方式中,入口BFR的入口线卡305可以利用除散列函数外的另一变换函数,以便标识分组报头中所包含的信息,诸如校验和、校验位、指纹、随机函数等。
在图6中进一步所示出的,过程600可以包括向标识的出口线卡提供来自入口线卡的多播分组(框640)。例如,入口BFR的入口线卡305可以向特定出口线卡(例如,具有2的LC-id)提供多播分组。在一些实现方式中,入口BFR的入口线卡305可以创建多播分组的副本,并且可以经由交换组件310向特定出口线卡315转发多播分组的副本。这样的布置可以通过入口BFR的交换组件310来减少流量处理(例如,其小于在没有经修改的BIFT的情况下在BIER转发方法期间引发的流量处理)。
如图6中进一步所示出的,过程600可以包括利用标识的出口线卡来创建对应于目的地地址的多播分组的副本(框650)。例如,入口BFR的特定出口线卡315可以创建对应于目的地地址的多播分组的副本。在一些实现方式中,基于经修改的BIFT,入口BFR的特定出口线卡315可以标识针对多播分组的副本的下一跳。在一些实现方式中,入口BFR的特定出口线卡315可以利用经修改的BIFT,以便标识针对多播分组的副本的下一跳。在一些实现方式中,入口BFR的特定出口线卡315可以利用经修改的BIFT的条目,以标识针对多播分组的副本的下一跳。例如,如果经修改的BIFT包括用于向与BFR-id2、3和4相关联的BFR的特定条目转发多播分组,则入口BFR的特定出口线卡315可以将与特定条目相关联的下一跳标识为针对多播分组的下一跳。
在一些实现方式中,基于经修改的BIFT的条目,入口BFR的特定出口线卡315可以针对目的地地址中的每个目的地地址创建多播分组的副本。例如,如果经修改的BIFT包括用于向与BFR-id2、3和4相关联的BFR的特定条目转发多播分组,则入口BFR的特定出口线卡315可以创建:多播分组的第一副本,其包括对应于与BFR-id2相关联的目的地地址的比特串(例如,0010);多播分组的第二副本,其包括对应于与BFR-id3相关联的目的地地址的比特串(例如,0100);以及多播分组的第三副本,其包括对应于与BFR-id4相关联的目的地地址的比特串(例如,1000)。
如图6中进一步所示出的,过程600可以包括经由出口线卡向与目的地地址相关联的目的地转发多播分组的副本(框660)。例如,入口BFR的特定出口线卡315可以向标识的下一跳转发多播分组的副本,并且标识的下一跳可以向与分组报头中所提供的目的地地址相关联的目的地转发多播分组的副本。
在一些实现方式中,入口BFR的特定出口线卡315可以向不同的标识的下一跳转发多播分组的副本。例如,入口BFR的特定出口线卡315可以向第一下一跳提供多播分组的第一副本,并且第一下一跳可以利用0010的比特串,以向与BFR-id2相关联的BFR转发多播分组的第一副本。入口BFR的特定出口线卡315可以向第二下一跳提供多播分组的第二副本,并且第二下一跳可以利用0100的比特串,以向与BFR-id3相关联的BFR转发多播分组的第二副本。入口BFR的特定出口线卡315可以向第三下一跳提供多播分组的第三副本,并且第三下一跳可以利用1000的比特串,以向与BFR-id4相关联的BFR转发多播分组的第三副本。在一些实现方式中,在不利用下一跳的情况下(例如,当目的地连接到入口BFR时),入口BFR的特定出口线卡315可以向目的地直接提供多播分组的一个或多个副本。
在一些实现方式中,入口BFR的入口线卡305可以确定多播分组要被提供给与入口BFR的第一出口线卡315相关联的第一邻居BFR集合(例如,四个BFR)和与入口BFR的第二出口线卡315相关联的第二邻居BFR集合(例如,六个BFR)。在这样的实现方式中,入口线卡305可以向第一出口线卡315提供多播分组的第一副本,并且可以向第二出口线卡315提供多播分组的第二副本。第一出口线卡315可以创建第一多播分组副本的三个附加的副本,并且可以向第一邻居BFR集合的四个BFR提供多播分组的四个副本。第二出口线卡315可以创建第二多播分组副本的五个附加的副本,并且可以向第二邻居BFR集合的六个BFR提供多播分组的六个副本。
在一些实现方式中,可以通过以下方式来利用入口BFR的经修改的BIFT。对于与比特串相关联的输入分组而言,入口BFR可以基于比特串的最低比特(例如,右侧最远的比特,诸如比特串0001中的1)来执行对经修改的BIFT的查找,以便标识邻居BFR、F-BM、LC-id以及F-BM-LC。如果标识的线卡在入口BFR内(例如,本地线卡),则可以针对比特串的最低比特利用BIER转发方法。如果标识的线卡与外部BFR(例如,远程出口线卡)相关联,则入口BFR可以存储标识的出口线卡并且利用F-BM-LC屏蔽比特串的最低比特。远程出口线卡可以向与远程出口线卡相关联的所有邻居BFR提供多播分组的副本。入口BFR可以针对比特串的所有比特重复该过程。在重复该过程之后,入口BFR可能已经执行多播分组的本地复制,并且可能已经存储向其发送多播分组的远程出口线卡的列表。入口BFR可以将远程线出口卡的列表分割为两个组,并且可以将多播分组复制到两个远程出口线卡(例如,来自每个组的一个远程出口线卡)。每个远程出口线卡可以将多播分组的比特串与比特掩码组合,以获得远程出口线卡和下游线卡负责的比特。
虽然图6示出了过程600的示例框,但是在一些实现方式中,过程600可以包括附加的框、较少的框、不同的框或与图6中所描绘的那些框不同布置的框。附加地或者备选地,可以并行执行过程600的框中的两个或两个以上框。在一些实现方式中,过程400(图4)和过程600(图6)可以组合在诸如BFR的网络设备210内。在一些实现方式中,过程400和/或过程600可以由网络220的一个或多个网络设备210利用。
图7A-7C是700关于图6中所示的示例过程600的示例实现方式700的示图。图7A-7C示出了修改BIFT并且基于经修改的BIFT转发多播分组的示例。
如图7A中所示出的,多播域可以包括诸如BFR-B(210-B)的网络设备210。BFR-B可以包括与线卡标识符(例如,1的LC-id)相关联的入口线卡305-1和与线卡标识符(例如,2的LC-id)相关联的出口线卡315-2。如图7A中进一步所示出的,BFR-B可以与BIFT705相关联,该BIFT705包括用于BFR-id的列、用于转发比特掩码(F-BM)的列和用于邻居BFR(BFR-NBR)的列。BFR-B可以向BIFT705添加用于线卡标识符(LC-id)的条目710和用于与BFR-B的线卡相关联的F-BM的条目715,以便创建经修改的BIFT715。例如,BFR-B可以向BIFT705添加LC-id列和F-BM-LC列,以便创建经修改的BIFT715。
如图7B中所示出的,多播域进一步可以包括多个网络设备210,诸如通过链路互联的BFR-A(210-A)、BFR-B(210-B)、BFR-C(210-C)、BFR-D(210-D)、BFR-E(210-E)以及BFR-F(210-F)。可以对多播域中的每个BFR210分配唯一BFR-id。BFR-D可以包括一(1)的BFR-id、零(0)的SI和0001的比特串;BFR-F可以包括二(2)的BFR-id、零(0)的SI和0010的比特串;BFR-E可以包括三(3)的BFR-id、零(0)的SI和0100的比特串;并且BFR-A可以包括四(4)的BFR-id、零(0)的SI和1000的比特串。虽然对于图7B中的BFR-B和BFR-C而言没有示出这样的信息,但是BFR-B和BFR-C也可以与BFR-id、SI和/或比特串相关联。
如图7B中进一步所示出的,BFR-B可以接收包括有效负载和具有1111的比特串的分组报头的多播分组720。1111的比特串可以指示多播分组720要被递送到具有1的BFR-id的BFR210(例如,BFR-D,如由比特串的0001部分所指示的)、2的BFR-id的BFR210(例如,BFR-F,如由比特串的0001部分所指示的)、3的BFR-id的BFR210(例如,BFR-E,如由比特串的0100部分所指示的)和4的BFR-id的BFR210(例如,BFR-A,如由比特串的1000部分所指示的)。BFR-B可以执行多播分组720的散列以标识分组信息(例如,分组报头的比特串)。
如图7B中进一步所示,BFR-B可以将1111的比特串(例如,如基于多播分组720的散列所标识的)与经修改的BIFT715进行比较,以便标识725为多播分组720提供转发信息的条目。例如,BFR-B可以利用比特串的第一比特(例如,比特串111“1”中的引用比特)来确定多播分组720要被提供给出口线卡315-2(例如,LC-id)。BFR-B可以进一步确定出口线卡315-2与1011的F-BC-LC相关联。因此,BFR-B可以利用比特串的第三比特(例如,比特串1“1”11中的引用比特)来确定多播分组720要被经由入口线卡305-1提供给BFR-E。入口线卡305-1可以向出口线卡315-2提供多播分组720(例如,具有1011的比特串)的单个副本730。
如图7C中所示,基于比特串1111和经修改的BIFT715的比较,BFR-B的出口线卡315-2可以创建包括分组报头中的0001的比特串的多播分组720的第一副本735。BFR-B的出口线卡315-2可以向BFR-C转发第一分组副本735,并且BFR-C可以接收第一分组副本735。0001的比特串可以向BFR-C指示第一分组副本735要被转发到具有1的BFR-id的BFR210(例如,BFR-D)。因此,BFR-C可以向BFR-D转发第一分组副本735,并且BFR-D可以接收第一分组副本735。BFR-B的出口线卡315-2可以创建包括分组报头中的0010的比特串的多播分组720的第二副本740。BFR-B的出口线卡315-2可以向BFR-C转发第二分组副本740,并且BFR-C可以接收第二分组副本740。0010的比特串可以向BFR-C指示第二分组副本740要被转发给具有2的BFR-id的BFR210(例如,BFR-F)。因此,BFR-C可以向BFR-F转发第二分组副本740,并且BFR-F可以接收第二分组副本740。
在一些实现方式中,BFR-B的出口线卡315-2可以创建包括分组报头中的0011的比特串的多播分组720的单个副本。BFR-B的出口线卡315-2可以向BFR-C转发副本,并且BFR-C可以生成多播分布720的两个副本(例如,具有0001的比特串的一个副本和具有0010的比特串的一个副本)。BFR-C可以向BFR-D和BFR-F转发多播分组720的副本。
如图7C中进一步所示出的,BFR-B的出口线卡315-2可以创建包括分组报头中的1000的比特串的多播分组720的第三副本745。BFR-B的出口线卡315-2可以向BFR-A转发第三分组副本745,并且BFR-A可以接收第三分组副本745。由于BFR-A包括1的BFR-id,因此1000的比特串可以向BFR-A指示第三分组副本745要由BFR-A接收。入口线卡305-1可以使得BFR-B创建包括分组报头中的0100的比特串的多播分组720的第四副本750。BFR-B可以向BFR-E转发第四分组副本750,并且BFR-E可以接收第四分组副本750。由于BFR-E包括2的BFR-id,因此0100的比特串可以向BFR-E指示第四分组副本750要由BFR-E接收。
如上文所指示的,仅将图7A-7C提供为示例。其他示例是可能的,并且可以与关于7A-7C所描述的不同。
本文所描述的系统和/或方法可以将BIEF转发方法延伸到网络设备的组件级。该系统和/或方法可以利用使得网络设备的出口组件能够在转发多播分组时分析多播分组的整个比特串的高速缓存。附加地或者备选地,系统和/或方法可以使得网络设备的入口组件能够向出口组件转发多播分组的单个副本,并且出口组件可以转发多播分组的副本。该系统和/或方法可以减少由BIER转发方法引起的网络设备的组件上的工作负载。
前述公开内容提供了图示和描述,但是不旨在是详尽的或者将实现方式限于所公开的精确形式。鉴于以上公开内容,修改和变型是可能的,并且可以从实现方式的实践获得。例如,为了简单起见,虽然在BFR的上下文中描述了本文所描述的系统和/或方法,但是这些系统和/或方法可以同样地应用在其他类型的网络设备的上下文中。
如本文所使用的,术语组件旨在宽广地被解释为硬件、固件和/或硬件和软件的组合。
如本文所使用的,分组可以是指网络分组、帧、数据报、段、分组的分片、帧的分片、数据报的分片或能够经由网络发送的数据的任何其他格式化或者非格式化单元。
将明显的是,本文所描述的系统和/或方法可以以硬件、固件或硬件和软件的组合的不同形式来实现。用于实现这些系统和/或方法的实际专用的控制硬件或软件代码不是对实现方式的限制。因此,在不参考具体软件代码的情况下,本文描述了系统和/或方法的操作和行为——应当理解,软件和硬件可以被设计为基于本文的描述实现系统和/或方法。
即使权利要求中记载了和/或在说明书中公开了特征的特定组合,但是这些组合也不旨在限制可能的实现方式的公开内容。实际上,可以以没有特别地记载在权利要求中和/或公开在说明书中的方式组合这些特征中的许多特征。虽然所附的所列出的每个从属权利要求可以直接地引用仅一个权利要求,但是可能的实现方式的公开内容包括与权利要求集合中的每个其他权利要求组合的每个从属权利要求。
除非如此明确描述,否则本文所使用的元件、行为或者指令不应当被解释为重要的或基本的。而且,如本文所使用的,冠词“一”和“一个”旨在包括一个或多个项目,并且可以与“一个或多个”可互换地使用。而且,如本文所使用的,术语“集合”旨在包括一个或多个项目(例如,相关项目、无关项目、相关项目和无关项目的组合等),并且可以与“一个或多个”可互换地使用。在预期仅一个项目的情况下,使用了术语“一个”或类似的语言。而且,如本文所使用的,术语“具有”、“有”、“含有”等旨在为开放式术语。而且,除非另外明确说明,否则短语“基于”旨在意指“至少部分地基于”。
Claims (20)
1.一种网络设备,包括:
入口线卡;
一个或多个出口线卡;
用于修改转发表以包括与所述一个或多个出口线卡相关联的信息和与用于所述一个或多个出口线卡的掩码相关联的信息的装置;
所述转发表包括与目的地相关联的信息和与针对所述目的地的下一跳相关联的信息,以及
所述掩码指示经由对应的下一跳可达到的目的地;
用于经由所述入口线卡接收包括标识针对多播分组的目的地的信息的所述多播分组的装置;
用于标识所述一个或多个出口线卡中的用于基于标识所述目的地的所述信息并且基于经修改的所述转发表来接收所述多播分组的出口线卡的装置;
用于引起所述入口线卡向标识的所述出口线卡提供所述多播分组的装置;
用于经由标识的所述出口线卡创建所述多播分组的副本的装置;以及
用于经由标识的所述出口线卡向所述目的地中的一些目的地转发所述多播分组的所述副本的装置。
2.根据权利要求1所述的网络设备,包括:
用于存储经修改的所述转发表的装置;以及
用于将经修改的所述转发表编程到用于转发多播分组的数据平面中的装置。
3.根据权利要求1所述的网络设备,其中所述转发表包括与网络中的多个目的地相关联的信息和与针对所述多个目的地的下一跳相关联的信息,
所述多个目的地包括所述目的地。
4.根据权利要求1所述的网络设备,其中所述网络设备与比特索引显式复制(BIER)转发方法相关联。
5.根据权利要求1所述的网络设备,其中用于转发所述多播分组的所述副本的装置包括:
用于标识与经修改的所述转发表相关联并且与所述目的地中的一些目的地相关联的特定下一跳的装置;以及
用于向所述特定下一跳转发所述多播分组的所述副本以许可所述特定下一跳向所述目的地中的一些目的地转发所述多播分组的装置。
6.根据权利要求5所述的网络设备,其中,
用于创建所述多播分组的所述副本的装置包括:用于针对所述特定下一跳中的每个特定下一跳创建所述多播分组的副本的装置;以及
用于向所述特定下一跳转发所述多播分组中的所述副本的装置包括:用于向所述特定下一跳中的对应的一个特定下一跳转发所述多播分组的对应的副本的装置。
7.一种方法,包括:
由网络中提供的网络设备修改转发表,以包括与所述网络设备的一个或多个出口线卡相关联的信息和与用于所述一个或多个出口线卡的掩码相关联的信息;
由所述网络设备的入口线卡接收包括标识针对多播分组的目的地的信息的所述多播分组;
由所述网络设备标识所述一个或多个出口线卡中的用于基于标识所述目的地的所述信息并且基于经修改的所述转发表来接收所述多播分组的出口线卡;
由所述网络设备引起所述入口线卡向标识的所述出口线卡提供所述多播分组的单个副本;
由标识的所述出口线卡创建所述多播分组的副本;以及
由标识的所述出口线卡向所述目的地中的一些目的地转发所述多播分组的所述副本。
8.根据权利要求7所述的方法,包括:
将经修改的所述转发表编程到与所述网络设备相关联并且用于转发多播分组的数据平面中。
9.根据权利要求7所述的方法,其中所述网络设备与比特索引显式复制(BIER)转发方法相关联。
10.根据权利要求7所述的方法,其中转发所述多播分组的所述副本包括:
标识与经修改的所述转发表相关联并且与所述目的地中的一些目的地相关联的特定下一跳;以及
向所述特定下一跳转发所述多播分组的所述副本以许可所述特定下一跳向所述目的地中的一些目的地转发所述多播分组。
11.根据权利要求7所述的方法,其中所述网络设备包括比特转发设备,并且经修改的所述转发表包括经修改的比特索引转发表(BIFT)。
12.根据权利要求7所述的方法,其中所述转发表包括与所述网络中的多个目的地相关联的信息和与针对所述多个目的地的下一跳相关联的信息,
所述多个目的地包括所述目的地。
13.一种与比特索引显式复制(BIER)转发方法相关联的网络设备,所述网络设备包括:
用于接收包括标识目的地的信息的多播分组的装置;
用于标识与所述目的地相关联的下一跳的装置;
用于利用所述目的地和标识的所述下一跳的地址来填充高速缓存的装置;
用于接收包括标识特定目的地的信息的特定多播分组的装置;
用于确定所述特定目的地是否被包括在所述高速缓存中的装置;以及
当所述特定目的地被包括在所述高速缓存中时,所述网络设备包括:
用于标识针对来自所述高速缓存的所述特定目的地的一个或多个下一跳的装置,以及
用于向标识的所述一个或多个下一跳转发所述特定多播分组、以许可标识的所述一个或多个下一跳向所述特定目的地转发所述多播分组的装置。
14.根据权利要求13所述的网络设备,其中当所述特定目的地没有被包括在所述高速缓存中时,所述网络设备包括:
用于标识与所述特定目的地相关联的特定下一跳的装置;以及
用于利用所述特定目的地和标识的所述特定下一跳的地址来填充所述高速缓存的装置。
15.根据权利要求13所述的网络设备,其中用于向标识的所述一个或多个下一跳转发所述特定多播分组的装置包括:
用于针对标识的所述一个或多个下一跳中的每个下一跳创建所述多播分组的副本的装置;以及
用于向标识的所述一个或多个下一跳中的每个下一跳转发所述多播分组的所述副本的装置。
16.根据权利要求13所述的网络设备,包括:
用于存储所述高速缓存的装置;以及
用于将所述高速缓存编程到用于转发多播分组的数据平面中的装置。
17.根据权利要求13所述的网络设备,其中当所述特定目的地没有被包括在所述高速缓存中时,所述网络设备包括:
用于利用所述网络设备中存储的比特索引转发表(BIFT)以标识与所述特定目的地相关联的特定下一跳的装置。
18.一种方法,包括:
由网络中的网络设备接收包括标识所述网络中的目的地的信息的多播分组;
由所述网络设备标识与所述目的地相关联的下一跳;
由过所述网络设备利用所述目的地和标识的所述下一跳的地址来填充高速缓存;
由所述网络设备接收包括标识特定目的地的信息的特定多播分组,
所述特定目的地被包括在所述高速缓存中;
由所述网络设备标识针对来自所述高速缓存的所述特定目的地的一个或多个下一跳;以及
由所述网络设备向标识的所述一个或多个下一跳转发所述特定多播分组,以许可标识的所述一个或多个下一跳向所述特定目的地转发所述多播分组。
19.根据权利要求18所述的方法,其中向标识的所述一个或多个下一跳转发所述特定多播分组包括:
针对标识的所述一个或多个下一跳中的每个下一跳创建所述多播分组的副本;以及
向标识的所述一个或多个下一跳中的每个下一跳转发所述多播分组的所述副本。
20.根据权利要求18所述的方法,其中标识与所述目的地相关联的下一跳包括:
利用所述网络设备中存储的比特索引转发表(BIFT)以标识与所述特定目的地相关联的所述下一跳。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462098501P | 2014-12-31 | 2014-12-31 | |
US62/098,501 | 2014-12-31 | ||
US14/753,313 | 2015-06-29 | ||
US14/753,313 US9705784B2 (en) | 2014-12-31 | 2015-06-29 | Bit index explicit replication (BIER)forwarding for network device components |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105743793A true CN105743793A (zh) | 2016-07-06 |
CN105743793B CN105743793B (zh) | 2019-01-01 |
Family
ID=53785479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510463333.2A Active CN105743793B (zh) | 2014-12-31 | 2015-07-31 | 用于网络设备组件的比特索引显式复制(bier)转发 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9705784B2 (zh) |
EP (1) | EP3041180B1 (zh) |
CN (1) | CN105743793B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018010658A1 (zh) * | 2016-07-13 | 2018-01-18 | 中兴通讯股份有限公司 | 一种位索引显式复制信息传递方法及装置 |
WO2018033113A1 (zh) * | 2016-08-17 | 2018-02-22 | 中兴通讯股份有限公司 | 一种信息传输的方法、设备和系统 |
WO2018072704A1 (zh) * | 2016-10-20 | 2018-04-26 | 中兴通讯股份有限公司 | 报文传输方法、装置、节点和计算机存储介质 |
WO2018171396A1 (zh) * | 2017-03-22 | 2018-09-27 | 中兴通讯股份有限公司 | 一种数据传输方法、装置及系统 |
CN108696438A (zh) * | 2017-04-05 | 2018-10-23 | 中兴通讯股份有限公司 | Bier报文的转发方法及装置 |
CN108965134A (zh) * | 2017-05-23 | 2018-12-07 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
CN110620717A (zh) * | 2018-06-19 | 2019-12-27 | 瞻博网络公司 | 使用比特索引显式复制(bier)为不具有bier能力的网络设备转发多播数据分组 |
US10841111B2 (en) | 2018-06-19 | 2020-11-17 | Juniper Networks, Inc. | Forwarding multicast data packets using bit index explicit replication (BIER) for BIER-incapable network devices |
CN112995091A (zh) * | 2019-12-02 | 2021-06-18 | 中兴通讯股份有限公司 | 数据压缩方法、装置、网络设备及存储介质 |
CN114915589A (zh) * | 2021-02-10 | 2022-08-16 | 华为技术有限公司 | 报文传输方法及装置 |
WO2022227695A1 (zh) * | 2021-04-30 | 2022-11-03 | 华为技术有限公司 | 传输报文的方法、装置及设备 |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9049233B2 (en) | 2012-10-05 | 2015-06-02 | Cisco Technology, Inc. | MPLS segment-routing |
US10374938B1 (en) | 2012-12-27 | 2019-08-06 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10904144B2 (en) | 2012-12-27 | 2021-01-26 | Sitting Man, Llc | Methods, systems, and computer program products for associating a name with a network path |
US10419335B1 (en) | 2012-12-27 | 2019-09-17 | Sitting Man, Llc | Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products |
US10404582B1 (en) | 2012-12-27 | 2019-09-03 | Sitting Man, Llc | Routing methods, systems, and computer program products using an outside-scope indentifier |
US10447575B1 (en) | 2012-12-27 | 2019-10-15 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10587505B1 (en) | 2012-12-27 | 2020-03-10 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10404583B1 (en) | 2012-12-27 | 2019-09-03 | Sitting Man, Llc | Routing methods, systems, and computer program products using multiple outside-scope identifiers |
US10411998B1 (en) | 2012-12-27 | 2019-09-10 | Sitting Man, Llc | Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products |
US10419334B1 (en) | 2012-12-27 | 2019-09-17 | Sitting Man, Llc | Internet protocol routing methods, systems, and computer program products |
US10476787B1 (en) | 2012-12-27 | 2019-11-12 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10411997B1 (en) | 2012-12-27 | 2019-09-10 | Sitting Man, Llc | Routing methods, systems, and computer program products for using a region scoped node identifier |
US10397100B1 (en) | 2012-12-27 | 2019-08-27 | Sitting Man, Llc | Routing methods, systems, and computer program products using a region scoped outside-scope identifier |
US10397101B1 (en) | 2012-12-27 | 2019-08-27 | Sitting Man, Llc | Routing methods, systems, and computer program products for mapping identifiers |
US10212076B1 (en) | 2012-12-27 | 2019-02-19 | Sitting Man, Llc | Routing methods, systems, and computer program products for mapping a node-scope specific identifier |
US9537718B2 (en) | 2013-03-15 | 2017-01-03 | Cisco Technology, Inc. | Segment routing over label distribution protocol |
US10218524B2 (en) | 2013-09-17 | 2019-02-26 | Cisco Technology, Inc. | Bit indexed explicit replication for layer 2 networking |
EP3047604B1 (en) | 2013-09-17 | 2021-03-24 | Cisco Technology, Inc. | Bit indexed explicit replication |
US10461946B2 (en) | 2013-09-17 | 2019-10-29 | Cisco Technology, Inc. | Overlay signaling for bit indexed explicit replication |
US11451474B2 (en) | 2013-09-17 | 2022-09-20 | Cisco Technology, Inc. | Equal cost multi-path with bit indexed explicit replication |
US9806897B2 (en) | 2013-09-17 | 2017-10-31 | Cisco Technology, Inc. | Bit indexed explicit replication forwarding optimization |
US10003494B2 (en) | 2013-09-17 | 2018-06-19 | Cisco Technology, Inc. | Per-prefix LFA FRR with bit indexed explicit replication |
US9544230B2 (en) | 2013-09-17 | 2017-01-10 | Cisco Technology, Inc. | Migration support for bit indexed explicit replication |
US9762488B2 (en) | 2014-03-06 | 2017-09-12 | Cisco Technology, Inc. | Segment routing extension headers |
US9807001B2 (en) | 2014-07-17 | 2017-10-31 | Cisco Technology, Inc. | Segment routing using a remote forwarding adjacency identifier |
US9705784B2 (en) | 2014-12-31 | 2017-07-11 | Juniper Networks, Inc. | Bit index explicit replication (BIER)forwarding for network device components |
US9906378B2 (en) | 2015-01-27 | 2018-02-27 | Cisco Technology, Inc. | Capability aware routing |
US10341221B2 (en) * | 2015-02-26 | 2019-07-02 | Cisco Technology, Inc. | Traffic engineering for bit indexed explicit replication |
US9825862B2 (en) | 2015-08-26 | 2017-11-21 | Barefoot Networks, Inc. | Packet header field extraction |
US9826071B2 (en) * | 2015-08-26 | 2017-11-21 | Barefoot Networks, Inc. | Configuring a switch for extracting packet header fields |
WO2017118879A1 (en) * | 2016-01-07 | 2017-07-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Optimized equal-cost multi-path (ecmp) forwarding decision in bit index explicit replication (bier) |
US10263881B2 (en) | 2016-05-26 | 2019-04-16 | Cisco Technology, Inc. | Enforcing strict shortest path forwarding using strict segment identifiers |
US10135756B2 (en) | 2016-08-30 | 2018-11-20 | Cisco Technology, Inc. | Transparent and efficient multi-destination TCP communications based on bit indexed explicit replication |
US11032197B2 (en) | 2016-09-15 | 2021-06-08 | Cisco Technology, Inc. | Reroute detection in segment routing data plane |
US10630743B2 (en) * | 2016-09-23 | 2020-04-21 | Cisco Technology, Inc. | Unicast media replication fabric using bit indexed explicit replication |
US10637675B2 (en) | 2016-11-09 | 2020-04-28 | Cisco Technology, Inc. | Area-specific broadcasting using bit indexed explicit replication |
US10212069B2 (en) * | 2016-12-13 | 2019-02-19 | Cisco Technology, Inc. | Forwarding of multicast packets in a network |
CN108234311B (zh) * | 2016-12-15 | 2020-11-17 | 中兴通讯股份有限公司 | 一种位索引显式复制信息传递方法及装置 |
US10447496B2 (en) | 2017-03-30 | 2019-10-15 | Cisco Technology, Inc. | Multicast traffic steering using tree identity in bit indexed explicit replication (BIER) |
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 |
CN109246624B (zh) * | 2017-07-11 | 2020-04-03 | 华为技术有限公司 | 一种组播转发方法及相关设备 |
CN109391478B (zh) * | 2017-08-10 | 2021-09-10 | 中兴通讯股份有限公司 | 一种组播业务控制方法和装置、计算机可读存储介质 |
US10484303B2 (en) * | 2017-08-29 | 2019-11-19 | Cisco Technology, Inc. | Replication with dedicated metal deployment in a cloud |
WO2019214589A1 (zh) * | 2018-05-08 | 2019-11-14 | 华为技术有限公司 | 组播数据传输方法、相关装置及系统 |
CN110460522B (zh) | 2018-05-08 | 2021-11-19 | 华为技术有限公司 | 组播数据传输方法、相关装置及系统 |
US11070464B2 (en) * | 2018-10-16 | 2021-07-20 | Juniper Networks, Inc. | Optimized multicast forwarding with a cache |
US10805202B1 (en) | 2019-01-25 | 2020-10-13 | Juniper Networks, Inc. | Control plane compression of next hop information |
EP3994847A4 (en) | 2019-07-02 | 2023-08-02 | CommScope Technologies LLC | FRONTHAUL INTERFACE FOR USE WITH A CLOUD RADIO ACCESS NETWORK |
US11140074B2 (en) | 2019-09-24 | 2021-10-05 | Cisco Technology, Inc. | Communicating packets across multi-domain networks using compact forwarding instructions |
US11658837B2 (en) * | 2020-07-10 | 2023-05-23 | Realtek Semiconductor Corp. | Multicast packet replication method |
WO2022147162A1 (en) * | 2020-12-30 | 2022-07-07 | Futurewei Technologies, Inc. | Bit index explicit replication traffic engineering for broadcast link |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050163115A1 (en) * | 2003-09-18 | 2005-07-28 | Sitaram Dontu | Distributed forwarding in virtual network devices |
CN104158743A (zh) * | 2014-08-22 | 2014-11-19 | 福建星网锐捷网络有限公司 | 分布式路由器的报文跨卡转发方法及装置 |
CN104158736A (zh) * | 2013-05-15 | 2014-11-19 | 华为技术有限公司 | 一种确定下一跳、发布路由信息的方法和装置 |
CN104170333A (zh) * | 2012-03-15 | 2014-11-26 | 阿尔卡特朗讯公司 | 用于快速且大规模的最长前缀匹配的方法和系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7554928B2 (en) * | 2005-04-01 | 2009-06-30 | Cisco Technology, Inc. | Clustering methods for scalable and bandwidth-efficient multicast |
US8325726B2 (en) | 2010-02-09 | 2012-12-04 | Juniper Networks, Inc. | Data structure-less distributed fabric multicast |
US8705551B2 (en) * | 2011-07-27 | 2014-04-22 | Fujitsu Limited | Method and system for management of flood traffic over multiple 0:N link aggregation groups |
US9419895B2 (en) * | 2013-02-25 | 2016-08-16 | Brocade Communications Systems, Inc. | Techniques for customizing forwarding decisions via a hardware lookup result |
US9832031B2 (en) * | 2014-10-24 | 2017-11-28 | Futurewei Technologies, Inc. | Bit index explicit replication forwarding using replication cache |
US9432205B2 (en) * | 2014-11-04 | 2016-08-30 | Telefonaktiebolaget L M Ericsson (Publ) | Explicit block encoding of multicast group membership information with bit index explicit replication (BIER) |
US9705784B2 (en) | 2014-12-31 | 2017-07-11 | Juniper Networks, Inc. | Bit index explicit replication (BIER)forwarding for network device components |
-
2015
- 2015-06-29 US US14/753,313 patent/US9705784B2/en active Active
- 2015-07-28 EP EP15178621.7A patent/EP3041180B1/en active Active
- 2015-07-31 CN CN201510463333.2A patent/CN105743793B/zh active Active
-
2017
- 2017-07-05 US US15/641,804 patent/US10291511B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050163115A1 (en) * | 2003-09-18 | 2005-07-28 | Sitaram Dontu | Distributed forwarding in virtual network devices |
CN104170333A (zh) * | 2012-03-15 | 2014-11-26 | 阿尔卡特朗讯公司 | 用于快速且大规模的最长前缀匹配的方法和系统 |
CN104158736A (zh) * | 2013-05-15 | 2014-11-19 | 华为技术有限公司 | 一种确定下一跳、发布路由信息的方法和装置 |
CN104158743A (zh) * | 2014-08-22 | 2014-11-19 | 福建星网锐捷网络有限公司 | 分布式路由器的报文跨卡转发方法及装置 |
Non-Patent Citations (1)
Title |
---|
WIJNANDS: "Multicast using Bit Index Explicit Replication draft-wijnands-bier-architecture-01", 《IETF》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107623630B (zh) * | 2016-07-13 | 2021-04-06 | 中兴通讯股份有限公司 | 一种位索引显式复制信息传递方法和装置 |
CN107623630A (zh) * | 2016-07-13 | 2018-01-23 | 中兴通讯股份有限公司 | 一种位索引显式复制信息传递方法和装置 |
WO2018010658A1 (zh) * | 2016-07-13 | 2018-01-18 | 中兴通讯股份有限公司 | 一种位索引显式复制信息传递方法及装置 |
WO2018033113A1 (zh) * | 2016-08-17 | 2018-02-22 | 中兴通讯股份有限公司 | 一种信息传输的方法、设备和系统 |
WO2018072704A1 (zh) * | 2016-10-20 | 2018-04-26 | 中兴通讯股份有限公司 | 报文传输方法、装置、节点和计算机存储介质 |
CN107968750A (zh) * | 2016-10-20 | 2018-04-27 | 中兴通讯股份有限公司 | 报文传输方法、装置及节点 |
US11050657B2 (en) | 2016-10-20 | 2021-06-29 | Xi'an Zhongxing New Software Co., Ltd. | Method, device and node for message transmission, and computer storage medium |
CN107968750B (zh) * | 2016-10-20 | 2021-06-15 | 中兴通讯股份有限公司 | 报文传输方法、装置及节点 |
WO2018171396A1 (zh) * | 2017-03-22 | 2018-09-27 | 中兴通讯股份有限公司 | 一种数据传输方法、装置及系统 |
CN108632678A (zh) * | 2017-03-22 | 2018-10-09 | 中兴通讯股份有限公司 | 一种数据传输方法、装置及系统 |
CN108696438A (zh) * | 2017-04-05 | 2018-10-23 | 中兴通讯股份有限公司 | Bier报文的转发方法及装置 |
CN108965134B (zh) * | 2017-05-23 | 2022-04-29 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
CN108965134A (zh) * | 2017-05-23 | 2018-12-07 | 中兴通讯股份有限公司 | 报文转发方法及装置 |
US10841111B2 (en) | 2018-06-19 | 2020-11-17 | Juniper Networks, Inc. | Forwarding multicast data packets using bit index explicit replication (BIER) for BIER-incapable network devices |
CN110620717A (zh) * | 2018-06-19 | 2019-12-27 | 瞻博网络公司 | 使用比特索引显式复制(bier)为不具有bier能力的网络设备转发多播数据分组 |
CN112995091A (zh) * | 2019-12-02 | 2021-06-18 | 中兴通讯股份有限公司 | 数据压缩方法、装置、网络设备及存储介质 |
CN112995091B (zh) * | 2019-12-02 | 2023-06-23 | 中兴通讯股份有限公司 | 数据压缩方法、装置、网络设备及存储介质 |
CN114915589A (zh) * | 2021-02-10 | 2022-08-16 | 华为技术有限公司 | 报文传输方法及装置 |
CN114915589B (zh) * | 2021-02-10 | 2024-06-04 | 华为技术有限公司 | 报文传输方法及装置 |
WO2022227695A1 (zh) * | 2021-04-30 | 2022-11-03 | 华为技术有限公司 | 传输报文的方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
US10291511B2 (en) | 2019-05-14 |
CN105743793B (zh) | 2019-01-01 |
US9705784B2 (en) | 2017-07-11 |
EP3041180A1 (en) | 2016-07-06 |
US20160191372A1 (en) | 2016-06-30 |
EP3041180B1 (en) | 2018-09-12 |
US20170302566A1 (en) | 2017-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105743793A (zh) | 用于网络设备组件的比特索引显式复制(bier)转发 | |
EP3018869B1 (en) | Deterministic and optimized bit index explicit replication (bier) forwarding | |
US10153967B2 (en) | Deterministic and optimized bit index explicit replication (BIER) forwarding | |
US10728176B2 (en) | Ruled-based network traffic interception and distribution scheme | |
CN105191215B (zh) | 用于双向服务链的数据平面学习的方法和装置 | |
CN101421991B (zh) | 针对拒绝服务攻击的硬件过滤支持 | |
CN105245449B (zh) | 通信系统、控制装置、处理规则设置方法、分组传输方法 | |
US9692695B2 (en) | Techniques for aggregating hardware routing resources in a multi-packet processor networking system | |
US9825858B2 (en) | Method to optimize flow-based network function chaining | |
CN106487719A (zh) | 经由分组中继使网络功能外部化的系统和方法 | |
CN106105130A (zh) | 携带熵头的源路由 | |
CN107534613A (zh) | 使用子树标识符的多区域源路由组播 | |
CN107005472A (zh) | 域间服务功能链接 | |
CN1874313A (zh) | 处理数据包的方法和网络设备 | |
CN106464600B (zh) | 用于在第3层网络中提供拥塞通知的系统和方法 | |
CN106302169B (zh) | 确定的且优化的比特索引显式复制(bier)转发 | |
CN106209648A (zh) | 跨虚拟可扩展局域网的组播数据报文转发方法和设备 | |
JP6437694B2 (ja) | パケット転送 | |
CN106063228A (zh) | 利用准确匹配的一致性哈希在硬件负载平衡的应用 | |
CN104052669A (zh) | 用于处理交替配置的最长前缀匹配表的装置和方法 | |
CN103368798B (zh) | 数据传输网络中基于内容的寻址的方法和网络部件 | |
JP6379702B2 (ja) | データ転送システム、データ転送サーバ、データ転送方法、および、プログラム | |
CN105282055A (zh) | 识别网络分组的内部目的地的方法及其装置 | |
CN108259326A (zh) | 路由表更新方法、装置、分配节点以及叶报文转发设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |