报文转发方法及装置制造方法及图纸

技术编号:14740324 阅读:75 留言:0更新日期:2017-03-01 14:39
本申请提供一种报文转发方法及装置,方法包括转发芯片接收报文,在确定报文对应的ARP表项的状态标识为无效标识之后,将报文发送至处理器;处理器从路由表获取报文对应的路由表项,判断路由表项中是否有多条转发路径;若是,则针对每条转发路径,若该条转发路径对应的ARP表项的状态标识为无效标识,则获取对应的MAC地址,并将MAC地址和有效标识添加到ARP表项中,将ARP表项下发至转发芯片;根据预设选路算法从路由表项获取转发路径,并利用对应的ARP表项转发报文。本申请处理器将路由表项的所有转发路径对应的无效ARP表项均更新一次,并下发转发芯片,从而对于数据流量的后续报文转发芯片均可实现转发,节省了处理器资源。

【技术实现步骤摘要】

本申请涉及通信
,尤其涉及一种报文转发方法及装置
技术介绍
网络设备主要用于转发报文,对于数据流量的首个报文,通常包含两个转发环节,第一转发环节是网络设备的转发芯片环节,第二转发环节是网络设备的处理器环节,即在转发芯片中查找路由表,确定转发路径之后,若由该转发路径获取到的ARP(AddressResolutionProtocol,地址解析协议)表项的状态为无效,则将报文上送至处理器,由处理器将报文转发出去。然而,如果该报文查找路由表之后,获取到的路由表项为等价路由表项,由于转发芯片与处理器的转发环节是相对独立的,两者利用的等价路由选路算法可能不同,确定的转发路径不同,例如,等价路由表项包括有出接口A、下一跳A、出接口B、下一跳B,转发芯片环节选择的是出接口A和下一跳A,处理器环节选择的是出接口B和下一跳B,处理器在利用下一跳B获取到对应的MAC(MediaAccessControl,媒体访问控制)地址之后,将该MAC地址添加到出接口B和下一跳B对应的ARP表项中,并将该ARP表项的状态更新为有效,并将该ARP表项下发到转发芯片中。最终导致该数据流量后续的报文均无法由转发芯片转发,需要全部上送至处理器转发,这样即无法实现转发芯片高速转发的效果,也浪费处理器资源。
技术实现思路
有鉴于此,本申请提供一种报文转发方法及装置,以解决现有转发方式无法实现转发芯片高速转发的效果,且浪费处理器资源的问题。根据本申请实施例的第一方面,提供一种报文转发方法,所述方法应用在包括转发芯片和处理器的网络设备上,所述方法包括:所述转发芯片接收报文,并在确定所述报文对应的ARP表项的状态标识为无效标识之后,将所述报文发送至所述处理器;所述处理器在接收到所述报文时,从路由表中获取所述报文对应的路由表项,并判断所述路由表项中是否有多条转发路径;若是,则确定所述路由表项中的所有转发路径,针对每条转发路径,若该条转发路径对应的ARP表项的状态标识为无效标识,则获取所述ARP表项对应的MAC地址,并将所述MAC地址和有效标识添加到所述ARP表项中,并将所述ARP表项下发至所述转发芯片;根据预设选路算法从所述路由表项中获取一条转发路径,并利用该条转发路径对应的ARP表项转发所述报文。根据本申请实施例的第二方面,提供一种报文转发装置,所述装置应用在包括转发芯片和处理器的网络设备上,所述装置包括:应用在所述转发芯片上的接收模块和发送模块,以及应用在所述处理器上的处理模块和转发模块;所述接收模块,用于接收报文;所述发送模块,用于在确定所述报文对应的ARP表项的状态标识为无效标识之后,将所述报文发送至所述处理器;所述处理模块,用于在接收到所述报文时,从路由表中获取所述报文对应的路由表项,并判断所述路由表项中是否有多条转发路径;若是,则确定所述路由表项中的所有转发路径,针对每条转发路径,若该条转发路径对应的ARP表项的状态标识为无效标识,则获取所述ARP表项对应的MAC地址,并将所述MAC地址和有效标识添加到所述ARP表项中,并将所述ARP表项下发至所述转发芯片;所述转发模块,用于根据预设选路算法从所述路由表项中获取一条转发路径,并利用该条转发路径对应的ARP表项转发所述报文。应用本申请实施例,当网络设备的转发芯片在接收到报文,并确定该报文对应的ARP表项的状态标识为无效标识之后,将该报文发送至处理器;然后处理器从路由表中获取该报文对应的路由表项,并判断该路由表项中是否有多条转发路径;若是,则确定该路由表项中的所有转发路径,针对每条转发路径,若该条转发路径对应的ARP表项的状态标识为无效标识,则获取该ARP表项对应的MAC地址,并将该MAC地址和有效标识添加到ARP表项中,并将该ARP表项下发至转发芯片;最后处理器再根据预设选路算法从该路由表项中获取一条转发路径,并利用该条转发路径对应的ARP表项转发该报文。基于上述实现方式,由于处理器在确定路由表项有多条转发路径之后,会将所有转发路径对应的状态标识为无效标识的ARP表项均更新一次,并将更新之后的ARP表项下发至转发芯片,此时,在转发芯片中,该路由表项中所有转发路径对应的ARP表项均是可用的,因此,即使转发芯片中的等价路由选路算法与处理器中的预设选路算法不同,在接收到数据流量的后续报文时,转发芯片也可以实现报文的转发。而不需要将数据流量的后续报文全部上送至处理器转发,实现了报文在转发芯片的高速转发,也节省了处理器资源。附图说明图1为本申请根据一示例性实施例示出的一种报文转发方法的实施例流程图;图2为本申请根据一示例性实施例示出的一种网络设备的硬件结构图;图3为本申请根据一示例性实施例示出的一种报文转发装置的实施例结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。图1为本申请根据一示例性实施例示出的一种报文转发方法的实施例流程图,该实施例应用在包括转发芯片和处理器的网络设备上,该网络设备可以是路由器,也可以是交换机,如图1所示,该实施例包括以下步骤:在本申请实施例中,网络设备的处理器根据路由协议(例如OSPF(OpenShortestPathFirst,开放式最短路径优先)协议)从各个接口上学习路由表项,并将学习到的路由表项记录到路由表中,然后将路由表下发至转发芯片。此外,处理器还会根据该路由表项生成对应的ARP表项,并将该ARP表项下发至转发芯片,此时,该ARP表项在处理器和转发芯片上的状态均为无效,即不可用。只有当转发芯片接收到数据流量的报文,并选中该路由表项时,将报文上送到处理器,处理器才触发ARP协议学习该ARP表项对应的MAC地址,如果学习到MAC地址,则将MAC地址添加到ARP表项中,并更新ARP表项为有效状态,然后处理器利用该ARP表项转发报文,并将ARP表项下发到转发芯片,以使转发芯片在接收到该数据流量的后续报文时,利用该ARP表项转发报文。步骤101:转发芯片接收报文,并在确定该报文对应的ARP表项的状态标识为无效标识之后,将该报文发送至处理器。网络设备从其它网络设备(例如客户端、路由设备等)接收到的报文,先是由转发芯片接收,转发芯片在确定该报文对应的ARP表项的状态标识为无效标识时,表示该报文为本文档来自技高网...
报文转发方法及装置

【技术保护点】
一种报文转发方法,其特征在于,所述方法应用在包括转发芯片和处理器的网络设备上,所述方法包括:所述转发芯片接收报文,并在确定所述报文对应的地址解析协议ARP表项的状态标识为无效标识之后,将所述报文发送至所述处理器;所述处理器在接收到所述报文时,从路由表中获取所述报文对应的路由表项,并判断所述路由表项中是否有多条转发路径;若是,则确定所述路由表项中的所有转发路径,针对每条转发路径,若该条转发路径对应的ARP表项的状态标识为无效标识,则获取所述ARP表项对应的媒体访问控制MAC地址,并将所述MAC地址和有效标识添加到所述ARP表项中,并将所述ARP表项下发至所述转发芯片;根据预设选路算法从所述路由表项中获取一条转发路径,并利用该条转发路径对应的ARP表项转发所述报文。

【技术特征摘要】
1.一种报文转发方法,其特征在于,所述方法应用在包括转发芯片和处理器的网络设备上,所述方法包括:所述转发芯片接收报文,并在确定所述报文对应的地址解析协议ARP表项的状态标识为无效标识之后,将所述报文发送至所述处理器;所述处理器在接收到所述报文时,从路由表中获取所述报文对应的路由表项,并判断所述路由表项中是否有多条转发路径;若是,则确定所述路由表项中的所有转发路径,针对每条转发路径,若该条转发路径对应的ARP表项的状态标识为无效标识,则获取所述ARP表项对应的媒体访问控制MAC地址,并将所述MAC地址和有效标识添加到所述ARP表项中,并将所述ARP表项下发至所述转发芯片;根据预设选路算法从所述路由表项中获取一条转发路径,并利用该条转发路径对应的ARP表项转发所述报文。2.根据权利要求1所述的方法,其特征在于,所述转发芯片确定所述报文对应的ARP表项的状态标识为无效标识的过程,具体包括:所述转发芯片查找路由表中是否存在与所述报文携带的目的地址匹配的路由表项;若存在,则获取对应的路由表项;所述转发芯片根据所述路由表项确定转发路径,并获取所述转发路径对应的ARP表项;若所述ARP表项中的状态标识为无效标识,则确定所述ARP表项的状态为无效。3.根据权利要求1所述的方法,其特征在于,所述处理器判断所述路由表项中是否有多条转发路径之后,所述方法还包括:若所述路由表项中只有一条转发路径,则获取该条转发路径对应的ARP表项;所述处理器获取所述ARP表项对应的MAC地址,并将所述MAC地址和有效标识添加到所述ARP表项中,并利用所述ARP表项转发所述报文,并将所述ARP表项下发至所述转发芯片。4.根据权利要求1或3所述的方法,其特征在于,所述处理器获取所述ARP表项对应的MAC地址的过程,具体包括:所述处理器根据所述ARP表项记录的IP地址以广播方式发送ARP请求;所述处理器接收针对该ARP请求的ARP响应;所述处理器获取所述ARP响应中携带的MAC地址,并将所述MAC地址确定为所述ARP表项对应的MAC地址。5.一种报文转发装置,其特征在于,所述...

【专利技术属性】
技术研发人员:王信大
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:浙江;33

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

1