专利名称:一种路由器的报文转发方法
技术领域:
本发明属于网络通信技术领域,尤其涉及一种路由器的报文转发方法。
背景技术:
传统的路由机制中,网络的中间节点到目的节点除按路由协议得到的最优路径外,还存在多条次优路径,但目前只选择最短路径来转发数据报文,网络资源没能得到充分利用。随着因特网的快速发展,由于安全、费用和带宽等因素,路由器需要为某些数据流做负载平衡和策略路由,在路由表中为一些目的网络保存多个下一跳信息,因此路由器的路由表中存在着相当数量的多下一跳路由,目前很多拥塞避免机制就是利用次优路径承担网络中间节点的负载。多下一跳路由的存在是路由表的重要特征之一,它增加了路由查找方案设计的复杂度。具体地,多下一跳路由允许多条路径的并行传输,在最优路径之外建立多条可达路径,每个节点采用多下一跳链路并行转发的路由机制,最终使得在微观上网络各链路的利用率趋向均衡,宏观上使得网络流量在空间上均勻分布,在整体上趋向均衡。针对多下一跳路由的高速查找方案,现有的路由器的报文转发方法是在路由器接收到报文后,通过多级查找的方式确定下一跳并转发报文,实现方式复杂,且在查找中只是从多下一跳地址中利用一定的策略选择一个下一跳,不适合路由器根据查找结果做负载平
发明内容
本发明实施例的目的在于提供一种路由器的报文转发方法,以解决现有方法实现方式复杂,不适合路由器根据查找结果做负载平衡的问题。本发明实施例是这样实现的,一种路由器的报文转发方法,所述方法包括以下步骤由多下一跳路由表项生成多个单下一跳转发表项并存储;接收输入报文,查找存储的多个单下一跳转发表项,按目的IP地址最长匹配原则匹配单下一跳转发表项,并将报文送至对应的出接口。本发明提供的路由器的报文转发方法避免了采用现有的多级查找方式,而将多下一跳路由表项转换成多个单下一跳转发表项,简化了路由器转发报文时的查找过程,实现了路由器数据平面高速查找。
图1是本发明提供的路由器的报文转发方法的流程图;图2是本发明中,多个单下一跳转发表项的示意图;图3是本发明提供的转发表项维护机制的流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图1所示,本发明提供的路由器的报文转发方法包括以下步骤在步骤SlOl中,由多下一跳路由表项生成多个单下一跳转发表项并存储,其中, 多下一跳表项表征了一个目的IP地址与多个下一跳信息之间的关系。在本发明的一个实施例中,由多下一跳路由表项生成多个单下一跳转发表项的步骤可以包括以下步骤针对多下一跳路由表项中的目的IP地址,选取多下一跳路由表项中的可靠下一跳作为最优下一跳,生成最优下一跳转发表项;多下一跳路由表项中的一其它下一跳和最优下一跳对目的IP地址的地址空间进行对分,得到分解的目的IP地址,生成一次优下一跳转发表项;判断已有下一跳中负责报文转发的IP地址空间大小是否相同,是则选取已有下一跳中负责报文转发的IP地址中IP地址前缀的二进制数值最小的下一跳,并由多下一跳路由表项中的当前下一跳与之对分该具有最小IP地址前缀的二进制数值的IP 地址空间,得到分解的目的IP地址,生成另一次优下一跳转发表项,否则选取已有下一跳中负责报文转发的IP地址空间最大的下一跳,并由多下一跳路由表项中的当前下一跳与之对分该最大IP地址空间,得到分解的目的IP地址,生成另一次优下一跳转发表项,以此类推,得到多下一跳路由表项中的全部其它下一跳分别的次优下一跳转发表项。最优下一跳转发表项和全部次优下一跳转发表项共同构成了多个单下一跳转发表项。进一步地,多下一跳路由表项中的一其它下一跳和最优下一跳对目的IP地址的地址空间进行对分的步骤具体地可以为将目的IP地址的地址空间中的低位地址空间作为该其它下一跳的地址空间,将目的IP地址的地址空间中的高位地址空间作为最优下一跳的地址空间。进一步地,由多下一跳路由表项中的当前下一跳与之对分该最大IP地址空间的步骤具体可以为将该最大IP地址空间中的低位地址空间作为当前下一跳的地址空间,将该最大IP地址空间中的高位地址空间作为该最大IP地址空间对应的下一跳的地址空间。其中,最优下一跳转发表项表征了目的IP地址、最优下一跳IP地址、最优下一跳 MAC地址、出接口的对应关系;次优下一跳转发表项表征了相应的分解的目的IP地址、次优下一跳IP地址、次优下一跳MAC地址、出接口的对应关系。如图2是多个单下一跳转发表项的示意图,该多个单下一跳转发表项包括最优下一跳转发表项21和至少一个次优下一跳转发表项22。在步骤S102中,接收输入报文,查找存储的多个单下一跳转发表项,按目的IP地址最长匹配原则匹配单下一跳转发表项,并将报文送至对应的出接口。本发明还提供的转发表项的维护机制,如图3所示,在步骤SlOl之后,还可以包括以下步骤在步骤S301中,运行故障诊断,当出接口出现故障时,删除故障出接口对应的单下一跳转发表项。在步骤S302中,判断删除的单下一跳转发表项是否是最优下一跳对应出接口,是则执行步骤S303,否则执行步骤S305。在步骤S303中,判断是否存在多个下一跳,是则执行步骤S304,否则执行步骤 S305。在步骤S304中,选择一其它下一跳代替最优下一跳对应的单下一跳转发表项,保证报文的正常转发,同时将表项删除信息发送给路由器的主控单元协议模块。在步骤S305中,将表项删除信息发送给路由器的主控单元协议模块,在路由协议收敛后重新下发转发表项。本发明提供的路由器的报文转发方法避免了采用现有的多级查找方式,而将多下一跳路由表项转换成多个单下一跳转发表项,简化了路由器转发报文时的查找过程,实现了路由器数据平面高速查找;另外,由于生成的转发表项是根据下一跳的个数进行近似均勻分解,因此在报文目的IP地址均勻分布的情况下,可以实现负载平衡;再有,由于采用了基于目的IP地址范围的分流机制,可以实现数据流的保序功能。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
权利要求
1.一种路由器的报文转发方法,其特征在于,所述方法包括以下步骤由多下一跳路由表项生成多个单下一跳转发表项并存储;接收输入报文,查找存储的多个单下一跳转发表项,按目的IP地址最长匹配原则匹配单下一跳转发表项,并将报文送至对应的出接口。
2.如权利要求1所述的路由器的报文转发方法,其特征在于,所述由多下一跳路由表项生成多个单下一跳转发表项的步骤包括以下步骤针对多下一跳路由表项中的目的IP地址,选取多下一跳路由表项中的可靠下一跳作为最优下一跳,生成最优下一跳转发表项;多下一跳路由表项中的一其它下一跳和最优下一跳对目的IP地址的地址空间进行对分,得到分解的目的IP地址,生成一次优下一跳转发表项;判断已有下一跳中负责报文转发的IP地址空间大小是否相同,是则选取已有下一跳中负责报文转发的IP地址中IP地址前缀的二进制数值最小的下一跳,并由多下一跳路由表项中的当前下一跳与之对分该具有最小IP地址前缀的二进制数值的IP地址空间,得到分解的目的IP地址,生成另一次优下一跳转发表项,否则选取已有下一跳中负责报文转发的IP地址空间最大的下一跳,并由多下一跳路由表项中的当前下一跳与之对分该最大IP 地址空间,得到分解的目的IP地址,生成另一次优下一跳转发表项。
3.如权利要求2所述的路由器的报文转发方法,其特征在于,所述多下一跳路由表项中的一其它下一跳和最优下一跳对目的IP地址的地址空间进行对分的步骤具体是将目的IP地址的地址空间中的低位地址空间作为该其它下一跳的地址空间,将目的 IP地址的地址空间中的高位地址空间作为最优下一跳的地址空间。
4.如权利要求2所述的路由器的报文转发方法,其特征在于,所述由多下一跳路由表项中的当前下一跳与之对分该最大IP地址空间的步骤具体是将该最大IP地址空间中的低位地址空间作为当前下一跳的地址空间,将该最大IP地址空间中的高位地址空间作为该最大IP地址空间对应的下一跳的地址空间。
5.如权利要求1所述的路由器的报文转发方法,其特征在于,所述由多下一跳路由表项生成多个单下一跳转发表项并存储的步骤之后,还包括以下步骤运行故障诊断,当出接口出现故障时,删除故障出接口对应的单下一跳转发表项;判断删除的单下一跳转发表项是否是最优下一跳对应出接口,是则判断是否存在多个下一跳,如果存在多个下一跳,则选择一其它下一跳代替最优下一跳对应的单下一跳转发表项,保证报文的正常转发,同时将表项删除信息发送给路由器的主控单元协议模块;如果不存在多个下一跳,则将表项删除信息发送给路由器的主控单元协议模块,在路由协议收敛后重新下发转发表项。
6.如权利要求2至5任一项所述的路由器的报文转发方法,其特征在于,所述最优下一跳转发表项表征了目的IP地址、最优下一跳IP地址、最优下一跳MAC地址、出接口的对应关系;所述次优下一跳转发表项表征了相应的分解的目的IP地址、次优下一跳IP地址、次优下一跳MAC地址、出接口的对应关系。
全文摘要
本发明公开了一种路由器的报文转发方法,包括以下步骤由多下一跳路由表项生成多个单下一跳转发表项并存储;接收输入报文,查找存储的多个单下一跳转发表项,按目的IP地址最长匹配原则匹配单下一跳转发表项,并将报文送至对应的出接口。本发明提供的路由器的报文转发方法避免了采用现有的多级查找方式,而将多下一跳路由表项转换成多个单下一跳转发表项,简化了路由器转发报文时的查找过程,实现了路由器数据平面高速查找;另外,由于生成的转发表项是根据下一跳的个数进行近似均匀分解,因此在报文目的IP地址均匀分布的情况下,可以实现负载平衡;再有,由于采用了基于目的IP地址范围的分流机制,可以实现数据流的保序功能。
文档编号H04L12/56GK102355418SQ20111030252
公开日2012年2月15日 申请日期2011年10月8日 优先权日2011年10月8日
发明者于婧, 王军 申请人:大连环宇移动科技有限公司