利用高速缓存的优化的多播转发制造技术

技术编号:23938609 阅读:54 留言:0更新日期:2020-04-25 04:08
本公开的实施例涉及利用高速缓存的优化的多播转发。这些技术描述了使用网络设备转发平面中的多级高速缓存来转发多播业务,其中该转发平面用于确定用于在其上转发多播业务的网络设备的一组输出接口。例如,多级高速缓存被配置为存储多播分组的多播标识符和与多播标识符相关联的多播转发信息,诸如多播分组要被发送到其以转发到一组、一个或多个出口网络设备的网络设备的一个或多个出口分组处理器的标识、和/或朝向该组一个或多个出口网络设备中的每个出口网络设备的网络设备的输出接口。多级高速缓存还被配置为存储将要用转发到该组一个或多个出口网络设备的输出多播分组进行封装的相应多播标识符。

Optimized multicast forwarding using cache

【技术实现步骤摘要】
利用高速缓存的优化的多播转发相关申请的交叉引用本申请要求于2018年10月16日提交的美国申请No.16/162,323的权益,其全部内容通过引用并入本文。
本公开涉及计算机网络,并且更具体地涉及在计算机网络内转发分组。
技术介绍
计算机网络是可以交换数据和共享资源的互连计算设备的集合。在诸如以太网等基于分组的网络中,计算设备通过将数据划分为被称为分组的可变长度块来传送数据,这些可变长度块被分别通过网络从源设备路由到目的地设备。目的地设备从分组中提取数据并且将数据组合成其原始形式。某些设备(称为路由器)保持表示网络的拓扑的路由信息。路由器交换路由信息,以便保持通过网络可用的路由的准确表示。“路由”通常可以定义为网络上两个位置之间的路径。在接收到输入数据分组时,路由器检查分组内的信息(通常称为“密钥”)以根据路由信息选择适当的下一跳,分组要向该下一跳转发。路由器可以包括通过内部交换结构互连的一个或多个分组处理器。分组处理器经由接口卡与其他外部设备接收和发送数据。交换结构提供用于在分组处理器之间在路由器内转发数据以便通过网络进行最终传输的内部互连机制。
技术实现思路
通常,本公开描述了用于使用网络设备转发平面中的多级高速缓存来转发多播业务的技术,其中该转发平面用于确定用于在其上转发多播业务的网络设备的一组输出接口。在一些示例中,网络设备包括多个分组处理器,其中网络设备的每个分组处理器包括被配置为存储多播转发信息以改进多播转发的多级高速缓存。在一些示例中,网络的多个网络设备(例如,路由器)可以实现多播转发技术,例如,位索引显式复制(BIER),其中接收器的多播组成员资格状态被保持在分组中而不是在每个多播网络设备的控制平面中。在该示例网络中,多播域(例如,BIER域)的每个出口网络设备与位转发索引相关联,该位转发索引被表示为利用多播分组封装的多播标识符(例如,BIER报头)的位串中的位。当多播域的入口网络设备接收到多播分组时,入口网络设备用多播标识符封装多播分组,该多播标识符指定将要接收多播分组的一组、一个或多个出口网络设备。在多播域的每个中间网络设备处,中间网络设备检查多播标识符的位串,确定多播转发信息,并且将多播分组输出到由多播标识符指定的相应出口网络设备。在一些示例中,中间网络设备(和网络的其他网络设备)可以包括入口分组处理器(本文中另外称为“源分组处理器”),入口分组处理器通过内部交换结构将输入数据转发到一个或多个出口分组处理器(例如,也称为“目的地分组处理器”)以用于通过网络进行最终传输。根据本文中描述的技术,网络设备的每个分组处理器可以包括被配置为存储多播转发信息以优化多播转发的多级高速缓存。作为一个示例实现,多级高速缓存从输入多播分组中导出,并且被配置为存储多播分组的多播标识符以及与多播标识符相关联的多播转发信息,诸如多播分组将要被发送到其以便转发到一组、一个或多个出口网络设备的网络设备的一个或多个出口分组处理器的标识(本文中称为“出口分组处理器标识符”)、和/或朝向该组一个或多个出口网络设备中的每个出口网络设备的网络设备的出口接口。多级高速缓存还被配置为存储将要用转发到该组一个或多个出口网络设备的输出多播分组进行封装的相应多播标识符。以这种方式,当网络设备接收到用与多级高速缓存中的多播标识符匹配的多播标识符封装的多播分组时,网络设备可以从多级高速缓存中确定多播转发信息,而不执行查找其转发平面数据结构。结果,本文中描述的技术可以提供一个或多个技术优点。例如,通过配置多级高速缓存以存储多播转发信息,减少了实现多播转发所需要的硬件指令的数目,从而提高了网络设备的性能。另外,本文中描述的技术消除了需要在转发单元之间发送控制消息以跨越转发单元来同步高速缓存,因为分组处理器自动从输入分组导出高速缓存索引。因此,这些技术可能需要较少的处理资源并且改善了网络设备的操作(例如,分组转发吞吐量)。在一个示例中,一种方法包括通过多播域中的网络设备的多个分组处理器中的分组处理器接收多播分组,多播分组包括指定多播域的一组、一个或多个出口网络设备的多播标识符。该方法还包括由分组处理器响应于确定高速缓存不包括多播标识符而将高速缓存的第一级配置为存储多播标识符作为高速缓存的索引,并且存储以下中的至少一项(1)网络设备的一个或多个出口分组处理器中的对应出口分组处理器标识符,多播标识符指示多播分组将被发送到一个或多个出口分组处理器以用于转发到该组一个或多个出口网络设备,以及(2)用于向由多播标识符指定的该组一个或多个出口网络设备中的对应出口网络设备输出多播分组的所述网络设备的相应输出接口。该方法还包括由分组处理器将第二级高速缓存配置为存储该组一个或多个出口网络设备中的相应出口网络设备的相应多播标识符。在另一示例中,一种网络设备包括存储器;以及与存储器通信的多个分组处理器的入口分组处理器,其中入口分组处理器被配置为:接收多播分组,多播分组包括指定多播域的一组、一个或多个出口网络设备的多播标识符;响应于确定入口分组处理器的高速缓存不包括多播标识符而将入口分组处理器的高速缓存的第一级配置为存储多播标识符作为入口分组处理器的高速缓存的索引,并且存储网络设备的一个或多个出口分组处理器中的对应出口分组处理器标识符,多播标识符指示多播分组将被发送到一个或多个出口分组处理器以用于转发给该组一个或多个出口网络设备;以及将入口分组处理器的第二级缓存配置为存储该组一个或多个出口网络设备中的相应出口网络设备的相应多播标识符。在另一示例中,一种包括多个分组处理器的网络设备的非暂态计算机可读存储介质存储指令,这些指令在被执行时引起网络设备的一个或多个可编程处理器:接收多播分组,多播分组包括指定多播域的一个或多个出口网络设备的多播标识符;响应于确定高速缓存不包括多播标识符而将高速缓存的第一级配置为存储多播标识符作为高速缓存的索引,并且存储以下中的至少一项(1)网络设备的一个或多个出口分组处理器中的对应出口分组处理器标识符,多播分组将被发送到一个或多个出口分组处理器以转发到该组一个或多个出口网络设备,以及(2)用于向由多播标识符指定的该组一个或多个出口网络设备中的对应出口网络设备输出多播分组的网络设备的相应输出接口;以及将第二级高速缓存配置为存储该组一个或多个出口网络设备中的相应出口网络设备的相应多播标识符。在附图和以下描述中阐述了本文中描述的技术的一个或多个示例的细节。根据说明书和附图以及权利要求,本文所述技术的其他特征、目的和优点将很清楚。附图说明图1是示出根据本公开中描述的技术的一个或多个方面配置的示例网络环境的框图;图2是进一步详细示出根据本公开中描述的技术的一个或多个方面配置的示例网络环境的框图;图3是示出根据本公开中描述的技术的一个或多个方面的示例网络设备的框图;图4是进一步详细示出根据本公开中描述的技术的一个或多个方面的图3的网络设备的单元的框图;图5是进一步详细示出根据本公开中描述的技术的一个或多个方面的图本文档来自技高网...

【技术保护点】
1.一种方法,包括:/n由多播域中的网络设备的多个分组处理器中的分组处理器处接收多播分组,所述多播分组包括指定所述多播域的一组、一个或多个出口网络设备的多播标识符;/n由所述分组处理器并且响应于确定高速缓存不包括所述多播标识符来配置所述高速缓存的第一级,以存储所述多播标识符作为所述高速缓存的索引,并且存储以下中的至少一项(1)所述网络设备的一个或多个出口分组处理器中的对应出口分组处理器标识符,所述多播标识符指示所述多播分组将被发送到所述一个或多个出口分组处理器以用于转发到所述一组、一个或多个出口网络设备,以及(2)用于向由所述多播标识符指定的所述一组、一个或多个出口网络设备中的对应出口网络设备输出所述多播分组的所述网络设备的相应输出接口;以及/n由所述分组处理器配置所述高速缓存的第二级以存储所述一组、一个或多个出口网络设备中的所述对应出口网络设备的相应多播标识符。/n

【技术特征摘要】
20181016 US 16/162,3231.一种方法,包括:
由多播域中的网络设备的多个分组处理器中的分组处理器处接收多播分组,所述多播分组包括指定所述多播域的一组、一个或多个出口网络设备的多播标识符;
由所述分组处理器并且响应于确定高速缓存不包括所述多播标识符来配置所述高速缓存的第一级,以存储所述多播标识符作为所述高速缓存的索引,并且存储以下中的至少一项(1)所述网络设备的一个或多个出口分组处理器中的对应出口分组处理器标识符,所述多播标识符指示所述多播分组将被发送到所述一个或多个出口分组处理器以用于转发到所述一组、一个或多个出口网络设备,以及(2)用于向由所述多播标识符指定的所述一组、一个或多个出口网络设备中的对应出口网络设备输出所述多播分组的所述网络设备的相应输出接口;以及
由所述分组处理器配置所述高速缓存的第二级以存储所述一组、一个或多个出口网络设备中的所述对应出口网络设备的相应多播标识符。


2.根据权利要求1所述的方法,其中所述分组处理器包括所述多播分组的入口分组处理器,并且其中所述多播分组包括第一多播分组,所述方法包括:
由所述入口分组处理器接收第二多播分组,所述第二多播分组包括所述多播域的所述一组、一个或多个出口网络设备的所述多播标识符;
由所述入口分组处理器并且基于所述高速缓存的所述第一级的查找来确定所述网络设备的所述一个或多个出口分组处理器,所述第二多播分组将被发送到所述一个或多个出口分组处理器以用于转发到所述一组、一个或多个出口网络设备;以及
由所述入口分组处理器并且向所述一个或多个出口分组处理器中的每个出口分组处理器转发所述第二多播分组的副本。


3.根据权利要求1所述的方法,其中所述分组处理器包括所述多播分组的所述一个或多个出口分组处理器中的出口分组处理器,其中所述多播分组包括第一多播分组,并且其中所述多播标识符包括第一多播标识符,所述方法包括:
由所述出口分组处理器并且从所述网络设备的入口分组处理器接收由所述入口分组处理器接收的第二多播分组的副本,其中所述第二多播分组的所述副本包括用于所述一组、一个或多个出口网络设备的所述第一多播标识符;
由所述出口分组处理器并且基于所述高速缓存的所述第一级的查找来确定所述网络设备的所述相应输出接口,以向由所述第一多播标识符指定的所述一组、一个或多个出口网络设备中的对应出口网络设备输出所述第二多播分组;
由所述出口分组处理器并且基于所述高速缓存的第二级的查找来确定所述一组、一个或多个出口网络设备中的所述对应出口网络设备的相应多播标识符;以及
由所述出口分组处理器并且向所述对应出口网络设备转发所述第二多播分组,所述第二多播分组具有所述多播域的所述一组、一个或多个出口网络设备中的所述对应出口网络设备的具有相应多播标识符。


4.根据权利要求1所述的方法,其中所述多播标识符包括第一多播标识符,其中配置所述高速缓存的所述第一级还包括:
由所述分组处理器并且基于位索引显式复制(BIER)转发表(BIFT)的查找来确定与所述多播标识符的位掩码相关联的一个或多个出口网络设备,其中所述位掩码的每个位对应于网络中的多个出口网络设备中的不同出口网络设备,其中所述一组、一个或多个出口网络设备是所述多个网络设备的子集;
由所述分组处理器并且基于下一跳数据库的查找来确定与关联于所述多播标识符的位掩码的一个或多个网络设备相对应的一个或多个出口分组处理器;以及
由所述分组处理器将所述一个或多个出口分组处理器标识符存储到所述高速缓存的所述第一级。


5.根据权利要求1所述的方法,其中配置所述高速缓存的所述第二级还包括:
由所述分组处理器并且基于位索引显式复制(BIER)转发表(BIFT)的查找来确定与所述多播标识符的位掩码相关联的一个或多个输出位掩码;以及
由所述分组处理器将所述一个或多个输出位掩码存储到所述高速缓存的所述第二级。


6.根据权利要求1、4至5中任一项所述的方法,其中所述多播标识符包括位串,所述位串包括一组、一个或多个位,每个位表示所述多播域的所述一组、一个或多个出口网络设备中的对应出口网络设备。


7.根据权利要求1、4至5中任一项所述的方法,
其中所述多播标识符包括位索引显式复制(BIER)报头。


8.一种网络设备,包括:
存储器;以及
多个分组处理器的入口分组处理器,与所述存储器通信,其中所述入口分组处理器被配置为:
接收多播分组,所述多播分组包括指定多播域的一组、一个或多个出口网络设备的多播标识符;
响应于确定所述入口分组处理器的高速缓存不包括所述多播标识符来配置所述入口分组处理器的高速缓存的第一级,以存储所述多播标识符作为所述入口分组处理器的高速缓存的索引,并且存储所述网络设备的一个或多个出口分组处理器中的对应出口分组处理器标识符,所述多播标识符指示所述多播分组将被发送到所述一个或多个出口分组处理器以用于转发给所述一组、一个或多个出口...

【专利技术属性】
技术研发人员:S·K·古德·加德拉S·科普拉B·辛加拉延S·L·科穆拉
申请(专利权)人:瞻博网络公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1