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

技术编号:19186423 阅读:19 留言:0更新日期:2018-10-17 02:16
本申请提供了一种报文转发方法及装置,涉及报文转发领域,所述方法应用于路由器,路由器包括驱动模块和应用模块,所述方法包括:驱动模块在接收到数据报文后,若检测到数据报文为预设的报文模板描述的目标数据报文,则将数据报文转发给应用模块;应用模块在接收到数据报文后,获取与数据报文对应的转发地址,根据转发地址对数据报文进行封装处理,并将得到的封装数据报文转发给驱动模块;驱动模块在接收到封装数据报文后,根据转发地址转发数据报文。在报文转发过程中,驱动模块转发的数据报文无需经过ETH模块和IP模块,并且,驱动模块转发封装数据报文时无需进行合法性检查,缓解了数据报文的转发速度瓶颈的问题,提高了报文转发效率。

A message forwarding method and device

The present application provides a packet forwarding method and apparatus, relating to the field of packet forwarding, the method is applied to a router, which comprises a driver module and an application module. The method includes: when the driver module receives a data packet, if it detects that the data packet is a target data packet described by a preset packet template After receiving the data packet, the application module obtains the forwarding address corresponding to the data packet, encapsulates the data packet according to the forwarding address, and forwards the encapsulated data packet to the driver module. Forwarding addresses to forward data packets. In the process of packet forwarding, the data packets forwarded by the driver module do not need to pass through ETH module and IP module, and the driver module does not need to check the validity when forwarding the encapsulated data packets, which alleviates the bottleneck problem of data packets forwarding speed and improves the efficiency of packet forwarding.

【技术实现步骤摘要】
一种报文转发方法及装置
本申请涉及远程控制
,具体而言,涉及一种报文转发方法及装置。
技术介绍
路由器设备在接收到数据报文时,可以基于硬件转发该数据报文,也可以基于软件转发该数据报文。路由器设备在基于软件转发报文的方法中,针对需要路由器设备中的应用模块进行处理的报文,传统的报文转发流程需要经过如下模块,具体流程如下:驱动模块(即DRV模块)-以太网模块(即ETH模块)-网络之间互连的协议(InternetProtocol,IP)模块-应用模块-IP模块-ETH模块和DRV模块。在传统的报文转发过程中,各个模块均需要基于自身预先配置的报文特征信息对其他模块传入的报文进行合法性检查,只有在确认其他模块传入的报文合法,才能将报文发送给下一个节点模块。这就会使上述报文转发流程产生报文的转发速度瓶颈的问题,进而导致网络不通畅,从而引起转发效率低下的问题。
技术实现思路
有鉴于此,本申请实施例的目的在于提供一种报文转发方法及装置,驱动模块能够直接与应用模块进行通信,无需经过ETH模块和IP模块,缓解了报文的转发速度瓶颈问题,提高了报文转发效率。第一方面,本申请实施例提供了一种报文转发方法,应用于路由器,所述路由器包括驱动模块和应用模块,所述方法包括:所述驱动模块在接收到数据报文后,若检测到所述数据报文为预设的报文模板描述的目标数据报文,则将所述数据报文转发给所述应用模块;所述应用模块在接收到所述数据报文后,获取与所述数据报文对应的转发地址,根据所述转发地址对所述数据报文进行封装处理,并将得到的封装数据报文转发给所述驱动模块;所述驱动模块在接收到所述封装数据报文后,根据所述转发地址转发所述数据报文。第二方面,本申请实施例还提供了一种报文转发装置,包括:驱动模块,用于在接收到数据报文后,若检测到所述数据报文为预设的报文模板描述的目标数据报文,则将所述数据报文转发给应用模块;应用模块,用于在接收到所述数据报文后,获取与所述数据报文对应的转发地址,根据所述转发地址对所述数据报文进行封装处理,并将得到的封装数据报文转发给所述驱动模块;所述驱动模块,还用于在接收到所述封装数据报文后,根据所述转发地址转发所述数据报文。本申请实施例提供的一种报文转发方法及装置,驱动模块能够直接将应用模块感兴趣的数据报文上送给应用模块,应用模块获取接收到的数据报文的转发地址并基于该转发地址对所述数据报文进行封装,并将得到的封装数据报文直接发送给驱动模块,以便驱动模块直接转发该封装数据报文。上述整个数据报文的转发过程中,驱动模块向应用模块转发的报文无需经过ETH模块和IP模块,同时,驱动模块转发应用模块封装后的报文时也无需进行合法性检查,缓解了报文经过ETH模块和IP模块进行传输以及各模块的合法性检查所带来的数据报文的转发速度瓶颈的问题,极大了提高了报文转发效率。为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本申请实施例所提供的路由器的结构示意图。图2示出了本申请实施例所提供的一种报文转发方法的流程图。图3示出了本申请实施例所提供的另一种报文转发方法的流程图。图4示出了本申请实施例所提供的一种报文转发装置的结构示意图。图5示出了本申请一实施例所提供的计算机设备40的结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。图1为本申请实施例提供的一种路由器的结构示意图,如图1所示,所述路由器包括驱动模块10、应用模块20和接口板30;其中,接口板30上设置有多个接口40。在接口40接收到数据报文后,驱动模块10能够感知到接口40接收到的数据报文,并直接向应用模块20转发该应用模块20感兴趣的数据报文。本申请实施例中,上述应用模块可以为tunnel模块(具体如通用路由协议封装GRE隧道模块),tunnel模块在接收到自己感兴趣的数据报文后,会对该数据报文进行处理,然后将处理后的数据报文直接转发给驱动模块10进行转发。这里的tunnel模块对自己感兴趣的数据报文的处理方式有多种,如检查数据报文中携带的信息是否正确,或者,是以不同于所述数据报文的数据格式的新的数据格式重新封装该数据报文。下面通过实施例描述本申请实施例中的驱动模块10在感知到接口40接收到的数据报文后向应用模块20转发数据报文的流程。如图2所示,为本申请第一实施例提供的一种报文转发方法,应用于路由器,所述路由器包括驱动模块和应用模块,所述方法包括:S101、所述驱动模块在接收到数据报文后,若检测到所述数据报文为预设的报文模板描述的目标数据报文,则将所述数据报文转发给所述应用模块。本申请实施例中,用户首先在应用模块上配置该应用模块感兴趣的目标数据报文的报文模板,该报文模板中存储有至少一个目标数据报文的标准报文特征(这里应用模块感兴趣的目标数据报文即该应用模块能够处理的报文),在所述报文模板配置完成后,将所述报文模板下发给驱动模块。这里,上述标准报文特征包括但不限于以下信息中的一种或多种:五元组信息、偏移量信息和入接口信息。驱动模块在接收到应用模块下发的报文模板后,存储所述报文模板。当驱动模块感知到接口接收到数据报文后,首先基于报文模板判断该数据报文是否应用模块感兴趣的数据报文,若是,则将所述数据报文直接转发给所述应用模块。若不是,驱动模块直接丢弃所述数据报文。比如,应用模块下发的报文模板中的标准报文特征信息可以如下:目的网络之间互连的协议(InternetProtocol,IP)地址:5.5.0.2、协议号:100(根据偏移量完成,比如IP报文偏移30字节为100)和入接口:ten2/0/1。驱动模块在接收到数据报文后,检测该数据报文的入接口信息、目的IP地址和协议号是否分别为ten2/0/1、5.5.0.2和100,若是,则将该数据报文直接上送应用模块。S102、所述应用模块在接收到所述数据报文后,获取与所述数据报文对应的转发地址,根据所述转发地址对所述数据报文进行封装处理,并将得到的封装数据报文转发给所述驱动模块。本申请实施例中,应用模块针对接收到的数据报文的次数不同,获取与所述数据报文对应的转发地址的方式也不同。其中,所述转发地址包括所述目标数据报文的目的物理地址(MediaAccessControl或者MediumAccessControl,MAC)和出接口信息。所述应用模块在接收到所述数据本文档来自技高网...

【技术保护点】
1.一种报文转发方法,其特征在于,应用于路由器,所述路由器包括驱动模块和应用模块,所述方法包括:所述驱动模块在接收到数据报文后,若检测到所述数据报文为预设的报文模板描述的目标数据报文,则将所述数据报文转发给所述应用模块;所述应用模块在接收到所述数据报文后,获取与所述数据报文对应的转发地址,根据所述转发地址对所述数据报文进行封装处理,并将得到的封装数据报文转发给所述驱动模块;所述驱动模块在接收到所述封装数据报文后,根据所述转发地址转发所述数据报文。

【技术特征摘要】
1.一种报文转发方法,其特征在于,应用于路由器,所述路由器包括驱动模块和应用模块,所述方法包括:所述驱动模块在接收到数据报文后,若检测到所述数据报文为预设的报文模板描述的目标数据报文,则将所述数据报文转发给所述应用模块;所述应用模块在接收到所述数据报文后,获取与所述数据报文对应的转发地址,根据所述转发地址对所述数据报文进行封装处理,并将得到的封装数据报文转发给所述驱动模块;所述驱动模块在接收到所述封装数据报文后,根据所述转发地址转发所述数据报文。2.根据权利要求1所述的报文转发方法,其特征在于,所述预设的报文模板中存储有至少一个目标数据报文的标准报文特征以及所述标准报文特征所在的目标字段;所述驱动模块检测所述数据报文为所述预设的报文模块描述的目标数据报文,包括:提取所述数据报文中的目标字段携带的目标报文特征;将所述目标报文特征与所述标准报文特征进行比较,若所述目标报文特征与所述标准报文特征相匹配,则确定所述数据报文为所述预设的报文模板描述的目标数据报文。3.根据权利要求1或2所述的报文转发方法,其特征在于,所述数据报文携带有目的网络之间互连的协议IP地址;所述应用模块获取与所述数据报文对应的转发地址,包括:当检测到所述数据报文为首次接收到的数据报文时,根据所述数据报文的目的IP地址,在预设的转发表项中查找与所述目的IP地址对应的转发地址。4.根据权利要求1或2所述的报文转发方法,其特征在于,所述数据报文携带有入接口信息和目的IP地址;所述应用模块在获取与所述数据报文对应的转发地址之后,还包括:建立所述数据报文的快转转发表项,所述快转转发表项中至少包括所述数据报文的入接口信息、目的IP地址和转发地址;所述应用模块获取与所述数据报文对应的转发地址,还包括:当检测到所述数据报文为非首次接收到的数据报文时,从所述数据报文的入接口信息对应的快转转发表项中,查找与所述数据报文的目的IP地址对应的转发地址。5.根据权利要求4所述的报文转发方法,其特征在于,所述应用模块建立所述数据报文的快转转发表项之后,还包括:当接收到携带...

【专利技术属性】
技术研发人员:徐燕成王伟
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

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

1