一种报文快速转发的方法和装置的制造方法

文档序号:8322154阅读:199来源:国知局
一种报文快速转发的方法和装置的制造方法
【技术领域】
[0001]本发明涉及路由转发技术领域,尤其涉及一种报文快速转发的方法和装置。
【背景技术】
[0002]不同网络之间通常使用网络层地址、即IP (Internet Protocol,互联网协议)地址,来进行通信。以路由器为例,当路由器收到一个IP报文后,根据目的地址查找转发表,指导IP报文进行转发,所述转发表即FIB (Forwarding Informat1n Base,转发信息库),路由器通过路由表选择路由,把优选路由下发到FIB表中,通过FIB表指导IP报文转发。FIB表中每条转发表项都指明了要到达某子网或某主机的下一跳IP地址以及出接口。设备收到一个报文后,根据报文的目的地址寻找路由表中与之匹配的路由,然后确定一条最佳路由,同时将报文按照数据链路层上使用的协议进行封装,最后进行报文转发。
[0003]在现实的环境中,路由量可以达到百万级,因此FIB表数量巨大,基于FIB进行转发的效率较低。而一般普通的转发表是使用radix树组织的。Radix树的最坏复杂度是0(log(N)),其中,N表示转发表中的转发表项数量,对IPV4协议(即互联网协议第4版)而言,最坏需要查32次才能找到对应表项;而对IPV6协议(即互联网协议第6版)而言,最坏需要查128次才能找到对应表项。

【发明内容】

[0004]有鉴于此,本发明提供一种数据快速转发的方法和装置,用于提高IP报文转发设备转发数据报文的效率。
[0005]基于本发明实施例的一方面,本发明提供了一种报文快速转发的方法,该方法在IP报文转发设备的内存高速缓存中建立用于快速转发报文的第二转发表,第二转发表基于第一转发表中热点目的网际协议IP地址对应的转发表项构建,该方法包括:
[0006]在接收到报文时,根据报文的目的IP地址在所述第二转发表进行转发表项的匹配,当存在匹配的转发表项时,根据所述第二转发表中匹配的转发表项进行所述报文的转发;
[0007]当不存在匹配的转发表项时,查找所述第一转发表,判断所述第一转发表中是否有匹配的转发表项,并在所述第一转发表中有匹配的转发表项时,根据所述第一转发表中匹配的转发表项进行所述报文的转发。
[0008]进一步地,采用以下方式构建所述第二转发表:
[0009]监控所述第一转发表,确定所述第一转发表中满足第一预设条件的转发表项为所述热点目的IP地址对应的转发表项,并从所述第一转发表中提取所述热点目的IP地址对应的转发表项;
[0010]根据从所述第一转发表中提取的热点目的IP地址对应的转发表项,构建所述第二转发表。
[0011]进一步地,所述第一预设条件为:
[0012]所述第一转发表中的转发表项的命中次数达到预设的第一阈值;或,
[0013]按预设的第一采样率对所述第一转发表中的转发表项进行采样时被选中。
[0014]进一步地,在查找所述第二转发表之前,所述方法还包括:
[0015]在接收到报文时,查找流加速转发表,判断所述流加速转发表中是否有匹配的转发表项,如果有,则根据所述流加速转发表中匹配的转发表项进行所述报文的转发;如果没有,则查找所述第二转发表。
[0016]进一步地,所述方法还包括:根据预设的统计周期对所述第二转发表中的各转发表项的命中次数进行统计,定时遍历所述第二转发表,并根据统计的命中次数对所述第二转发表中的转发表项进行老化处理。
[0017]基于本发明另一方面,本发明还提供一种报文快速转发的装置,所述装置包括:
[0018]第一转发表单元,用于保存第一转发表;
[0019]第二转发表单元,用于基于第一转发表中热点目的网际协议IP地址对应的转发表项构建第二转发表;
[0020]报文转发单元,用于在接收到报文时,根据报文的目的IP地址在所述第二转发表进行转发表项的匹配,当存在匹配的转发表项时,根据所述第二转发表中匹配的转发表项进行所述报文的转发;当不存在匹配的转发表项时,查找所述第一转发表,判断所述第一转发表中是否有匹配的转发表项,并在所述第一转发表中有匹配的转发表项时,根据所述第一转发表中匹配的转发表项进行所述报文的转发。
[0021]进一步地,所述第二转发表单元包括:
[0022]热点监控子单元,用于监控所述第一转发表,确定所述第一转发表中满足第一预设条件的转发表项为所述热点目的IP地址对应的转发表项,并从所述第一转发表中提取所述热点目的IP地址对应的转发表项;
[0023]第二转发表构建子单元,用于根据从所述第一转发表中提取的热点目的IP地址对应的转发表项,构建所述第二转发表。
[0024]进一步地,所述第一预设条件为:
[0025]所述第一转发表中的转发表项的命中次数达到预设的第一阈值;或,
[0026]按预设的第一采样率对所述第一转发表中的转发表项进行采样时被选中。
[0027]进一步地,所述报文转发单元进一步用于,在接收到报文时,查找流加速转发表,判断所述流加速转发表中是否有匹配的转发表项,如果有,则根据所述流加速转发表中匹配的转发表项进行所述报文的转发;如果没有,则查找所述第二转发表。
[0028]进一步地,所述装置还包括:老化处理单元,用于根据预设的统计周期对所述第二转发表中的各转发表项的命中次数进行统计,定时遍历所述第二转发表,并根据统计的命中次数对所述第二转发表中的转发表项进行老化处理。
[0029]本发明实施例提供的一种数据快速转发的方法和装置,通过创建由第一转发表即普通转发表中到达同一目的IP地址的热点转发表项组成的第二转发表,当设备收到报文时,先查找第二转发表,如果能匹配到第二转发表则根据第二转发表进行报文转发,如果不能匹配第二转发表再查找第一转发表,根据第一转发表进行报文转发。通过本发明实施例,能够加速热点目的IP地址的查找,提高到热点目的IP地址新建连接的转发效率,从而提高整体新建连接的转发效率。
【附图说明】
[0030]图1是本发明一种实施方式中数据快速转发方法的流程示意图;
[0031]图2是本发明一种实施方式中第二转发表的内部数据结构示意图;
[0032]图3是本发明另一种实施方式中数据快速转发方法的流程示意图;
[0033]图4是本发明一种实施方式中数据快速转发装置的结构示意图。
【具体实施方式】
[0034]为提升IP报文转发效率,一种方案是基于流的快速转发方案,即采用基于数据流热点,结合高速缓存技术来实现报文的快速转发。在基于流的转发方案中,转发设备(例如物理交换机、路由器等)或虚拟转发实体(例如虚拟机、虚拟交换机或虚拟路由器等)在高速缓存中建立快速转发表,快速转发表使用五元组来标识一条数据流,所述五元组包括:源IP地址、源端口号、目的IP地址、目的端口号、协议号。当一条数据流的第一个报文通过查找普通转发表(如FIB)表项转发后,在高速缓存中生成相应的快速转发表项,该数据流后续报文的转发就可以通过直接查找快速转发表项进行转发。这样便大大缩减了 IP报文的排队流程,减少了报文的转发时间,提高了 IP报文的转发速率。然而,基于流的快速转发只对匹配五元组的同一条数据流起作用,而针对某个热点目的地而言,在访问的连接数很多且大量不同的数据流发往同一目的地址的情况下,当一个新连接建立时,在快速转发表中没有相应的转发表项被建立,还只能通过普通转发表查找,转发效率仍然很低。
[0035]为提高IP报文的转发效率,本发明一实施例提供了一种报文快速转发的方法,该方法中,在高速缓存中建立第二转发表,第二转发表基于现有的普通转发表中热点目的IP地址的转发表项构建的快速转发表,在转发报文时,基于报文的目的地址在第二转发表中进行匹配,从而加速到热点目的IP地址的报文转发速度,提高新建连接的转发效率。该方法流程参考图1的示例,包括:
[0036]步骤101,在接收到报文时,查找所述第二转发表,判断所述第二转发表中是否有匹配的转发表项,在所述第二转发表中有匹配的转发表项时,根据所述第二转发表中匹配的转发表项进行所述报文的转发。
[
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1