高速内容路由的制作方法

文档序号:8367791阅读:175来源:国知局
高速内容路由的制作方法
【技术领域】
[0001]本文公开的各种示例性实施例一般性地涉及计算机网络。
【背景技术】
[0002]因特网已经从互连机器的媒介进化成连接具有内容一一如视频和照片——的设备的媒介。虽然因特网是在多种技术的基础之上开发的,例如经由IP地址的路由信息,鉴于因特网的现状,未来架构可采用替代的机制。很多提案中的一个普遍原则是,这些未来架构以提供的内容为中心,而不是以机器本身为中心。
[0003]内容为中心(content-centric)网络是较新的范式(paradigm),其中以名称而不是以位置请求内容。该范式可以采用基于名称的路由,其中路由器可以基于“内容名称”将流量移动至的目的服务器。这样,对于被移动的内容可以向因特网路由器提供明确的信息。
[0004]基于名称的路由的一个结果是,当IP地址受变量数量的约束且在地理上聚合时,内容名称可以采用几乎任何值,并且可以指向位于任何地方的服务器,不论托管具有相似名称的内容的服务器所处的位置。因此,在基于名称的路由表中的条目数可在数量级上大于IPv4或IPv6路由表。这在高效存储表及使用该表迅速转发流量方面提出了新的挑战。

【发明内容】

[0005]下文介绍了多种实施例的简要总结。在下面的总结中可能作出了一些简化与省略,其意在突出并介绍所述多种示例性实施例的一些方面,但并未限制本发明的范围。将在后面的章节详细描述优选的示例性实施例,所述实施例足以使那些本领域普通技术人员能够实现并使用本发明的思想。
[0006]多种示例性实施例涉及由网络装置执行的用于转发消息的方法,该方法包括:在所述网络设备的第一输入线卡接收将向目的地转发的消息,该消息包括目的地地址;由所述第一输入线卡确定网络设备的第二输入线卡被配置了与所述目的地地址相关的路由信息;基于所述第二输入线卡被配置了与所述目的地地址相关的路由信息的确定,由所述第一输入线卡向所述第二输入线卡发送消息;由第二输入线卡并基于与所述目的地地址相关的路由信息,确定该消息应该经由所述网络设备的第一输出线卡被转发到另一网络设备;基于该消息应经由所述网络设备的第一输出线卡被转发到另一网络设备的确定,由所述第二输入线卡发送消息至第一输出线卡;以及由所述第一输出线卡发送该消息至另一网络设备。
[0007]描述了多种实施例,其中第一输出线卡包括第一输入线卡和第二输入线卡中的一个。
[0008]描述了多种实施例,其中目的地地址为内容名称。
[0009]描述了多种实施例,其中发送所述消息至第二线包括,由第一输入线卡发送消息至第二输入线卡的输入端口。
[0010]描述了多种实施例,其中由第一输入线卡确定网络设备的第二输入线卡被配置为与所述目的地地址相关的路由信息,包括:在目标地址的至少一部分上执行散列函数以生成散列的目的地地址;以及确定所述第二输入线卡的分配的标识符对应于所述散列的目的地地址。
[0011]描述了多种实施例,其中由第一输入线卡存储第一组转发消息,第二输入线卡存储不同于所述第一组转发消息的第二组转发消息。
[0012]多种示例性实施例涉及一种用于转发消息的网络设备,该网络设备包括:被配置以存储路由信息的路由信息库(RIB)存储器;多个线卡;以及处理器,其被配置以:生成线卡表,该线卡表将所述多个线卡中的第一输入线卡与第一标识符关联,并将所述多个线卡中的第二输入线卡与第二标识符关联;基于所述路由信息与所述第一标识符生成第一组转发信息;基于所述路由信息与所述第二标识符生成不同于所述第一组转发信息的第二组转发信息;向第一输入线卡提供所述线卡表和所述第一组转发信息;以及向第二输入线卡提供所述线卡表与所述第二组转发信息。
[0013]描述了多种实施例,其中在基于路由信息和第一标识符生成第一组转发信息中,所述处理器被配置以:基于所述路由信息生成地址前缀和相关的转发信息;对于地址前缀,执行数学运算以生成值;确定该值与第一标识符相匹配;并基于匹配所述第一标识符的值,在所述第一组转发信息中包括所述地址前缀。
[0014]描述了多种实施例,其中处理器被进一步配置以:接收所述第二输入线卡发生故障的指示;生成更新的线卡表,其将所述第一标识符与所述第一输入线卡相关联,并且将所述第二标识符与所述多个线卡中的第一输出线卡相关联;基于所述路由信息与所述第二标识符,生成第三组转发信息;并向所述第一输出线卡提供更新的线卡表和第三组转发信息。
[0015]描述了多种实施例,其中第一输入线卡包括:被配置以存储所述线卡表的第一存储器;和第一处理管理器,其被配置以:接收将向目的地设备转发的消息,该消息包括目的地地址;基于所述第二标识符和所述目的地地址,确定第二输入线卡应该处理该消息;并基于对所述第二输入线卡应该处理该消息的确定,发送该消息到所述第二输入线卡。
[0016]描述了多种实施例,其中第二输入线卡包括:第二处理管理器,其被配置以确定所述第二输入线卡应该处理消息;以及转发模块,其被配置以:确定第一输出线卡应该转发所述消息至另一网络设备,并发送所述消息至第一输出线卡。
[0017]描述了多种实施例,其中第二输入线卡进一步包括被配置以存储缓存表的存储器;并且转发模块为缓存,其被配置以,在确定所述第一输出线卡应该转发所述消息至另一网络设备中:确定所述缓存表存储与目的地地址相关的条目,并确定所述条目标识第一输出线卡。
[0018]描述了多种实施例,其中所述第二输入线卡进一步包括:被配置以存储所述第二组转发信息的散列表存储设备;并且所述转发模块是最长前缀匹配(LPM)块,其被配置以,在确定所述第一输出线卡应将消息转发至另一网络设备中:识别所述第二组转发信息的条目,其对于目的地地址具有最长匹配前缀;并确定该条目标识所述第一输出线卡。
[0019]描述了多种实施例,其中,在识别对于目的地地址具有最长匹配前缀的所述第二组转发信息的条目中,所述LPM块利用分散式布隆滤波器(Bloom filter)集合来确定所述最长匹配前缀的长度。
[0020]多种示例性实施例涉及一种用于转发消息的网络设备,该网络设备包括:第一输入线卡,其存储第一组转发信息;和第二输入线卡,其存储不同于第一组转发信息的第二组转发信息,其中所述第一输入线卡被配置以:接收将被转发的消息,并将所述消息传递至第二输入线卡,并且其中所述第二输入线卡被配置以:基于所述第二组转发信息来转发所述消息。
[0021]描述了多种实施例,其中,第一组转发信息与第二组转发信息存储对内容地址前缀的转发信息。
[0022]描述了多种实施例,其中,所述网络设备包括交换结构并且,在基于所述第二组转发信息的转发消息中,所述第二输入线卡被配置以经由所述交换结构发送消息。
[0023]描述了多种实施例,其中所述第一输入线卡被配置以确定与所述消息相关的目的地地址被分配给所述第二输入线卡。
[0024]描述了多种实施例,其中,在确定与所述消息相关的目的地地址被分配给所述第二输入线卡中,所述第一输入线卡被配置以:基于所述目的地地址的至少一部分生成散列值;基于所述散列值和多个为所述网络设备配置的线卡生成索引;且确定所述索引对应于所述第二输入线卡。
[0025]描述了多种实施例,其中,所述第二组转发信息包括用于多个不同长度的地址前缀的转发信息并且,在基于所述第二组转发信息转发所述消息中,所述第二输入线卡被配置以:提取所述消息的目的地地址;对所述目的地地址施加分散式布隆滤波器集合以确定起始前缀长度;并通过评估至少具有起始前缀长度的地址前缀的转发信息,开始查找所述第二组转发信息。
【附图说明】
[0026]参考附图以便更好地理解多种示例性实施例,其中:
[0027]图1示出了用于路由消息的示例性网络;
[0028]图2示出了用于路由消息的示例性网络设备;
[0029]图3示出了用于存储路由信息的示例性数据安排;
[0030]图4示出了用于提供在线卡间分散(distributing)转发信息的示例性方法;
[0031]图5示出了示例性线卡;
[0032]图6示出了关于线卡的示例性存储器内容;
[0033]图7示出了用于存储缓存数据的示例性数据安排;
[0034]图8示出了用于存储转发信息的示例性数据安排;
[0035]图9示出了用于转发消息的示例性方法,以及;
[0036]图10示出了用于执行最长前缀匹配的示例性方法。
[0037]为便于理解,使用相同的参考数字指定具有实质上相同或相似的结构或实质上相同或相似的功能的元元素。
【具体实施方式】
[0038]如上所述,各种新兴的路由范例提议扩展在因特网和其他网络上用于路由流量的路由表。虽然更大的表可以被更大更快的存储器与更快的处理器所适应,这样的方法可能成本过高(cost-prohibitive)。因此,可能期望一种实现路由解析的方法,所述方法可以在多个硬件实体之间分散(distribut1n)路由
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1