一种报文的流转发方法及报文转发设备与流程

文档序号:11464445阅读:240来源:国知局
本发明属于通信领域,尤其涉及一种报文的流转发方法及报文转发设备。发明背景在路由转发中,为了提升转发性能,使用流表中的流表项来实现报文的加速转发,这种使用流表中的流表项来实现报文的加速转发的方式通常称为流转发,对于一个报文,如果该报文的多元组(tuple)与流表项中的多元组相同,则按该流表项中记录的转发信息进行该报文的转发。举例来说,上述的多元组为五元组(quintuple),五元组可以包括:源网际协议(英文:InternetProtocol,简称:IP)地址,目的IP地址,协议,源端口地址和目的端口地址;上述转发信息可以包括:出接口和下一跳设备的IP地址,下一跳设备的介质访问控制(英文:mediaaccesscontrol,简称:MAC)地址。当报文转发设备接收到某个转发接口接收的报文时,解析该报文得到该报文的五元组,报文转发设备,如路由器,查询流表中是否存在与该报文的五元组匹配的流表项,如不存在与该报文的五元组匹配的流表项,报文转发设备确定还未在流表中建立该五元组对应的流表项,报文转发设备依据基础转发流程进行报文转发。基础转发流程是指通常的包转发(英文:packetforwarding)流程。基础转发流程具体为:报文转发设备依据五元组查询IP路由表获取该报文的下一跳设备的IP地址和出接口,依据下一跳设备的IP地址查询地址解析协议(英文:AddressResolutionProtocol,简称:ARP)表获取下一跳设备的MAC地址,从该出接口转发该报文。上述报文转发设备具体可以为:路由器或其他的具有流转发功能的网络设备,例如无线接入设备。报文转发设备完成该报文的基础转发后,报文转发设备在流表中建立该五元组匹配的流表项,上述流表项包括:五元组和转发信息。报文转发设备后续接收到具有该五元组的其他报文时,由于此时该五元组对应的流表项已经被报文转发设备存储,所以报文转发设备可以依据从流表中查询到的该五元组匹配的流表项进行报文转发,此转发过程为流转发。在进行流转发时,流表中的流表项的出接口仅有一个,即基础转发所查询到的出接口,当该出接口失效时,报文转发设备会更新流表中与该出接口相关的流表项,更新的方式可以为,报文转发设备将报文按基础转发流程转发,将基础转发查询多个表获取的转发信息记录到流表项内以完成流表项的更新。上述多个表可以包括但不限于:IP路由表和ARP表。通常,报文转发设备的出接口的数量有限,而报文转发设备转发的不同五元组的报文的数量非常多,这样导致报文转发设备流表的多个流表项的转发信息中含有同一个出接口,所以,当报文转发设备的一个出接口失效时,就会出现大量流表项同时更新的情况,此时,报文转发设备在此时需要消耗大量的系统资源,也会导致报文转发设备转发性能的大幅降低。技术实现要素:本发明的目的在于提供一种报文的流转发方法,旨在解决现有的技术方案的在主出接口失效时,大量流表项同时更新导致报文转发设备转发性能大幅降低的问题。本发明的第一方面提供一种报文的流转发方法,所述方法包括:接收待转发的报文,在流表中查询所述报文对应的流表项;所述报文对应的流表项包括:主出接口转发信息和备用出接口转发信息;如所述流表项中主出接口转发信息中的主出接口正常,依据所述主出接口转发信息转发报文,如所述主出接口失效,依据所述备用出接口转发信息转发报文。结合第一个方面的报文的流转发方法,在第一个方面的第一种实现方式中,所述如所述流表项中主出接口转发信息的主出接口正常,依据所述主出接口转发信息转发报文,如所述主出接口失效,依据所述备用出接口转发信息转发报文具体包括:依据位置最前的转发信息转发报文,如果所述主出接口正常,则将所述主出接口转发信息入口设置在所述备用出接口转发信息入口之前;如果所述主出接口失效,将所述备用出接口转发信息的入口设置在所述主出接口转发信息的入口之前。结合第一方面或第一个方面的第一种实现方式,在第一个方面的第二种实现方式中,所述方法在将所述报文按所述备用出接口转发信息转发之后还包括:如所述主出接口从失效恢复正常后,依据所述主出接口转发信息转发报文。结合第一方面或第一方面的任一种实现方式,在第一个方面的第三种实现方式中,所述方法在接收到待转发的报文之后还包括:依据所述多元组查询路由表得到IP地址和主出接口,依据所述IP地址得到所述IP地址的备用下一跳设备的IP地址,依据所述主出接口获取所述主出接口的备用出接口,依据所述备用下一跳设备的IP地址查询地址解析协议表得到备用下一跳设备的MAC地址,所述备用出接口转发信息包括:所述备用出接口和备用下一跳设备的MAC地址。本发明的第二方面提供一种报文转发设备,所述报文转发设备包括:接收单元,用于接收待转发的报文;查询单元,用于在流表中查询所述接收单元接收的所述报文对应的流表项;所述报文对应的流表项包括:主出接口转发信息和备用出接口转发信息;转发单元,用于如所述流表项中主出接口转发信息中的主出接口正常,依据所述查询单元查询到的所述流表项的主出接口转发信息转发报文,如所述主出接口失效,依据所述查询单元查询到的所述流表项的备用出接口转发信息转发报文。结合本发明的第二方面的一种报文转发设备,在第二方面的第一种可能实现的方式中,所述转发单元具体包括:转发模块,用于依据位置最前的转发信息转发报文;位置设置模块,用于在所述主出接口正常时,将所述主出接口转发信息入口设置在所述备用出接口转发信息入口之前;在所述主出接口失效时,将所述备用出接口转发信息的入口设置在所述主出接口转发信息的入口之前。结合第二方面或第二方面的第一种可能实现的方式中,在第二方面第二种可能实现的方式中,所述转发单元具体还用于:如所述主出接口从失效恢复正常后,依据所述主出接口转发信息转发报文。结合第二方面或第二方面的任一种实现方式,在第二个方面的第三种实现方式中,所述设备还包括:建立单元,用于在所述接收单元接收到所述待发送的报文后,依据所述多元组查询路由表得到IP地址和主出接口,依据所述IP地址得到所述IP地址的备用下一跳设备的IP地址,依据所述主出接口获取所述主出接口的备用出接口,依据所述备用下一跳设备的IP地址查询地址解析协议表得到备用下一跳设备的MAC地址,所述备用出接口转发信息包括:所述备用出接口和备用下一跳设备的MAC地址。本发明的第三方面,提供一种路由设备,所述路由设备包括:处理器、存储器、通信接口和总线;其中:所述通信接口接收待转发的报文;所述处理器在所述存储器存储的流表中查询所述报文对应的流表项;所述报文对应的流表项包括:主出接口转发信息和备用出接口转发信息;如所述流表项中主出接口转发信息中的主出接口正常,依据所述查询单元查询到的所述流表项的主出接口转发信息转发报文,如所述主出接口失效,依据所述查询单元查询到的所述流表项的备用出接口转发信息转发报文。结合本发明第三方面的路由设备,在第三个方面的第一种实现方式中,所述处理器依据位置最前的转发信息转发报文;在所述主出接口正常时,将所述主出接口转发信息入口设置在所述备用出接口转发信息入口之前;在所述主出接口失效时,将所述备用出接口转发信息的入口设置在所述主出接口转发信息的入口之前。结合第三方面或第三方面的第一种可能实现的方式中,在第三方面第二种可能实现的方式中,所述处理器在所述主出接口从失效恢复正常后,依据所述主出接口转发信息转发报文。结合第三方面或第三方面的任一种实现方式,在第三个方面的第三种实现方式中,处理器依据所述多元组查询路由表得到IP地址和主出接口,依据所述IP地址得到所述IP地址的备用下一跳设备的IP地址,依据所述主出接口获取所述主出接口的备用出接口,依据所述备用下一跳设备的IP地址查询地址解析协议表得到备用下一跳设备的MAC地址,所述备用出接口转发信息包括:所述备用出接口和备用下一跳设备的MAC地址。在本发明实施例中,本发明提供的技术方案提高报文转发设备转发性能的优点。附图简要说明图1是本发明具体实施方式提供的一种报文的流转发方法的流程图;图2是本发明具体实施方式提供的流表项入口示意图;图3是本发明具体实施方式提供的一种报文转发设备的结构图;图4是本发明具体实施方式提供的一种报文转发设备的硬件结构图。实施本发明的方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明具体实施方式提供一种报文的流转发方法,该方法由报文转发设备完成。该方法如图1所示,包括:S11、报文转发设备接收待转发的报文,在流表中查询该报文对应的流表项;上述报文对应的流表项包括:报文的多元组、主出接口转发信息和备用出接口转发信息。上述查询该报文对应的流表项具体可以为:报文转发设备依据该报文的多元组查询流表中与该多元组匹配的流表项。主出接口转发信息为:主出接口和下一跳设备的MAC地址。其中,主出接口为:报文按基础转发流程查询到的出接口,下一跳设备的MAC地址为报文按基础转发流程查询到的MAC地址。备用出接口转发信息为:备用出接口和备用下一跳设备的MAC地址。备用出接口为:厂家或用户预先设定的该主出接口的备用出接口,备用下一跳设备的MAC地址为依据备用下一跳设备的IP地址从APR表查询得到的MAC地址。其中,备用下一跳设备的IP地址为厂家或用户预先设定的IP地址,该IP地址为下一跳设备的备用下一跳设备的IP地址。其中备用出接口与主出接口为不同的出接口,备用下一跳设备是与备用出接口对应的设备。上述主接口转发信息的生成过程可以为:报文转发设备接收到报文后,查询流表中是否存在与该报文的多元组匹配的流表项,如不存在与该报文的多元组匹配的流表项,报文转发设备确定还未在流表中建立该多元组匹配的流表项,报文转发设备依据基础转发流程进行报文转发。报文转发设备在完成报文的基础转发后,在流表中建立该报文多元组匹配的流表项,将报文按基础转发流程查询到的出接口和下一跳设备的MAC地址作为主出接口转发信息存储在该流表项内。上述备用出接口转发信息的生成过程可以为:报文转发设备接收到报文后,查询流表中是否存在与该报文的多元组匹配的流表项,如存在与该报文的多元组匹配的流表项,并且不存在与该报文的多元组匹配的,包括备用出接口转发信息的,流表项,报文转发设备强制该报文按备用基础转发流程转发,在完成备用基础转发流程后,将备用基础转发流程中查询得到的备用出接口和备用下一跳设备的MAC地址作为备用出接口转发信息存储在该流表项内。上述备用基础转发流程具体可以为:报文转发设备依据多元组查询IP路由表获取出接口和下一跳设备的IP地址,然后依据该出接口查询得到用户或厂家配置的该出接口的备用出接口,依据该下一跳设备的IP地址查询得到用户或厂家配置的备用下一跳设备的IP地址,依据备用下一跳设备的IP地址从ARP表中查询得到备用下一跳设备的MAC地址,从该备用出接口转发该报文。S12、如流表项中主出接口转发信息中的主出接口正常,依据主出接口转发信息转发该报文,如该主出接口失效,依据备用出接口转发信息转发该报文。可选的,确定上述主出接口正常或失效的方法具体为:报文转发设备内的以太网物理层(英文:physicallayer,简称PHY)芯片检测该主出接口与下一跳设备的物理链路是否断开,如果报文转发设备内的PHY芯片检测到该主出接口与下一跳设备的物理链路断开,则确定主出接口失效,如报文转发设备内的PHY芯片检测到该主出接口与下一跳设备的物理链路未断开,确定主出接口正常。本发明具体实施方式提供的技术方案在通常流表项内增加了备用出接口转发信息。此时,如果主出接口失效,报文转发设备可以依据备用出接口转发信息转发该报文;此时报文转发设备将报文转发的依据从主出接口转发信息切换到备用出接口转发信息,而不是进行主出接口转发信息的更新,这样就避免了现有技术中大量的流表项同时更新,这样报文转发设备不会在一个很小的时间段更新大批量流表项,即避免了更新峰值的出现,所以本发明具体实施方式提供的方法具有在主出接口失效时,减少系统资源占用率,提高报文转发设备转发效率的优点。可选的,上述方法在S11的在接收到待转发的报文之后还可以包括:依据所述多元组查询路由表得到IP地址和主出接口,依据所述IP地址得到所述IP地址的备用下一跳设备的IP地址,依据所述主出接口获取所述主出接口的备用出接口,依据所述备用下一跳设备的IP地址查询地址解析协议表得到备用下一跳设备的MAC地址,所述备用出接口转发信息包括:所述备用出接口和备用下一跳设备的MAC地址。上述路由表具体可以为:IP路由表,当然在实际应用中,根据应用的网络协议不同,也可以为其他形式的路由表。可选的,实现S12的方式可以为多种,例如:方式A、此方式中,出接口失效的标识方式为:如出接口失效,则将端口状态表(英文:portstatetable,简称:PST)的出接口项的标记修改成失效;当接收到报文时,报文转发设备查询到该报文对应的流表项,获取该流表项的主接口转发信息内的主出接口,查询PST中该主出接口项的标记是否为失效,如PST中该主出接口项的标识为失效,依据备用出接口转发信息转发报文,如PST中该主出接口项的标识为未失效,依据主出接口转发信息转发报文。上述PST具体可以为:标记报文转发设备所有出接口是否失效的表,报文转发设备的所有出接口在PST内均有其对应的出接口项。方式B、此方式中,出接口失效的标识方式为:在主出接口转发信息中增加失效标志位,例如当主出接口正常时,包括该主出接口的主出接口转发信息中失效标志位的值为0,主出接口失效时,包括该主出接口的主出接口转发信息中失效标志位的值为1。当接收到报文时,报文转发设备查询到该报文对应的流表项,获取该流表项的主接口转发信息中失效标志位的值,如主接口转发信息中失效标志位的值为0,依据主出接口转发信息转发报文,如主接口转发信息中失效标志位的值为1,发现主出接口失效,依据备用出接口转发信息转发报文。方式C、此方式中,报文转发设备的流表项中位置最前的转发信息为转发报文所依据的转发信息,上述位置最前的转发信息具体可以为主出接口转发信息或备用出接口转发信息。如果主出接口正常,则报文转发设备将主出接口转发信息入口设置在备用出接口转发信息入口之前。如果主出接口失效,报文转发设备将备用出接口转发信息的入口设置在主出接口转发信息的入口之前,如图2A所示。如果主出接口失效,报文在转发时,就会自动按最前的转发信息即备用出接口转发信息转发。当主出接口恢复后,报文转发设备将流表项的主出接口转发信息的入口放在备用出接口转发信息的入口之前,如图2B所示,这样报文在转发时,就会自动按最前的转发信息,即主出接口转发信息转发报文。可选的,上述方法在S12之后还可以包括:当主出接口从失效恢复正常后,报文转发设备依据主出接口转发信息转发报文。本发明具体实施方式还提供一种报文转发设备,该报文转发设备可以由路由器实现,也可以由网络交换机实现;该报文转发设备如图3所示,包括:接收单元31,用于接收待转发的报文;查询单元32,用于在流表中查询接收单元31接收的所述报文对应的流表项;所述报文对应的流表项包括:主出接口转发信息和备用出接口转发信息;转发单元33,用于如所述流表项中主出接口转发信息中的主出接口正常,依据查询单元32查询到的所述流表项的主出接口转发信息转发报文,如所述主出接口失效,依据查询单元32查询到的所述流表项的备用出接口转发信息转发报文。本发明具体实施方式提供的报文转发设备在通常流表项内增加了备用出接口转发信息。此时,如果主出接口失效,报文转发设备可以依据备用出接口转发信息转发该报文;此时报文转发设备将报文转发的依据从主出接口转发信息切换到备用出接口转发信息,而不是进行主出接口转发信息的更新,这样就避免了现有技术中大量的流表项同时更新,这样报文转发设备不会在一个很小的时间段更新大批量流表项,即避免了更新峰值的出现,所以本发明具体实施方式提供的报文转发设备具有在主出接口失效时,减少系统资源占用率,提高报文转发设备转发效率的优点。可选的,上述转发单元33具体包括:转发模块331,用于依据位置最前的转发信息转发报文;位置设置模块332,用于在所述主出接口正常时,将所述主出接口转发信息入口设置在所述备用出接口转发信息入口之前;在所述主出接口失效时,将所述备用出接口转发信息的入口设置在所述主出接口转发信息的入口之前。可选的,转发单元33具体还用于:如所述主出接口从失效恢复正常后,依据所述主出接口转发信息转发报文。可选的,上述设备还可以包括:建立单元,用于在接收单元401接收到所述待发送的报文后,依据所述多元组查询路由表得到IP地址和主出接口,依据所述IP地址得到所述IP地址的备用下一跳设备的IP地址,依据所述主出接口获取所述主出接口的备用出接口,依据所述备用下一跳设备的IP地址查询地址解析协议表得到备用下一跳设备的MAC地址,所述备用出接口转发信息包括:所述备用出接口和备用下一跳设备的MAC地址。上述各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。本发明具体实施方式还提供一种路由设备,该路由设备具体可以是路由器或网络交换机,所述路由设备的硬件结构图如图4所示,包括:处理器401、存储器402、通信接口403和总线404。处理器401、存储器402、通信接口403通过总线404相互连接;总线404可以是工业标准架构体系(IndustryStandardArchitecture,ISA)总线或外围组件互联(英文:PeripheralComponentInterconnect,简称:PCI)总线等。上述的处理器401可以是通用处理器,包括中央处理器(英文:centralprocessingunit,简称CPU)、网络处理器(英文:networkprocessor,简称NP)等。存储器402,用于存放程序和流表。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令,该程序用于指示处理器401发出计算机操作指令。存储器402可能包含高速随机存储器(英文:random-accessmemory,简称:RAM)存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。通信接口403,用于接收或发送报文。具体地,该通信接口403可以为通信端口,即出接口,该通信端口还包括有PHY芯片,该PHY芯片检测该通信端口与下一跳设备的物理链路是否断开,如果PHY芯片检测到该通信端口与下一跳设备的物理链路断开,则确定通信端口失效,如报文转发设备内的PHY芯片检测到该主出接口与下一跳设备的物理链路未断开,确定通信端口正常。通信接口403接收待转发的报文;处理器401在存储器402存储的流表中查询所述报文对应的流表项;所述报文对应的流表项包括:主出接口转发信息和备用出接口转发信息;如所述流表项中主出接口转发信息中的主出接口正常,依据所述查询单元查询到的所述流表项的主出接口转发信息转发报文,如所述主出接口失效,依据所述查询单元查询到的所述流表项的备用出接口转发信息转发报文。本发明具体实施方式提供的路由设备在通常流表项内增加了备用出接口转发信息。此时,如果主出接口失效,路由设备可以依据备用出接口转发信息转发该报文;此时路由设备将报文转发的依据从主出接口转发信息切换到备用出接口转发信息,而不是进行主出接口转发信息的更新,这样就避免了现有技术中大量的流表项同时更新,这样路由设备不会在一个很小的时间段更新大批量流表项,即避免了更新峰值的出现,所以本发明具体实施方式提供的路由设备具有在主出接口失效时,减少系统资源占用率,提高路由设备转发效率的优点。可选的,处理器401在所述主出接口从失效恢复正常后,依据所述主出接口转发信息转发报文。可选的,处理器401依据位置最前的转发信息转发报文;在所述主出接口正常时,将所述主出接口转发信息入口设置在所述备用出接口转发信息入口之前;在所述主出接口失效时,将所述备用出接口转发信息的入口设置在所述主出接口转发信息的入口之前。可选的,处理器401依据所述多元组查询路由表得到IP地址和主出接口,依据所述IP地址得到所述IP地址的备用下一跳设备的IP地址,依据所述主出接口获取所述主出接口的备用出接口,依据所述备用下一跳设备的IP地址查询地址解析协议表得到备用下一跳设备的MAC地址,所述备用出接口转发信息包括:所述备用出接口和备用下一跳设备的MAC地址。本领域技术人员可以理解,本发明实施例提供的技术方案全部或部分步骤是可以通过程序指令相关的硬件来完成。比如可以通过计算机运行程来完成。该程序可以存储在可读取存储介质,例如,随机存储器、磁盘、光盘等。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的具体实施方式之内所作的等同替换或改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1