一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种报文管理方法、装置、设备及机器可读存储介质与流程

2021-10-20 00:06:00 来源:中国专利 TAG:报文 装置 可读 机器 公开


1.本公开涉及通信技术领域,尤其是涉及一种报文管理方法、装置、设备及机器可读存储介质。


背景技术:

2.fpga(field programmable gate array,现场可编程门阵列)是在pal、gal等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
3.gre(generic routing encapsulation,通用路由封装)是通用路由封装协议,可以对某些网络层协议的数据报进行封装,使这些被封装的数据报能够在ip网络中传输。
4.vpn(virtual private network,虚拟专用网络)的功能是,在公用网络上建立专用网络,进行加密通讯。vpn网关通过对数据包的加密和数据包目标地址的转换实现远程访问。vpn可通过服务器、硬件、软件等多种方式实现。
5.在vpn中广泛使用了各种各样的隧道技术,包括gre隧道。隧道技术包括就是包括数据封装、数据传输和解封装内的全过程。报文进入到fpga,经过解析判定需要做gre加封装并转发出去。加封装的新ip头和原始的ip头经过算法处理选路到下游设备可能不是同一接口出去,那么如何保证gre报文能够快速转发出去并且性能不受影响,是必须要解决的问题。
6.常规的做法是判定是gre加封装报文,fpga直接将报文上送给cpu进行处理,但随之带来的是当流量增加时cpu利用率会升高,并且cpu处理性能低于fpga处理。另一种方法采取仍然在fpga内部处理,将报文gre加封装报文从出口直接输给到入口,在fpga内部转两圈处理后转发出去,这样做的后果fpga整体处理包速率会下降。


技术实现要素:

7.有鉴于此,本公开提供一种报文管理方法、装置及电子设备、机器可读存储介质,以改善上述gre封装转发性能消耗大的问题。
8.具体地技术方案如下:
9.本公开提供了一种报文管理方法,应用于网络设备,所述方法包括:解析待处理报文,判断待处理报文是否需要gre封装;对需要gre封装的待处理报文进行gre封装生成关联的gre报文;查询gre表项,获取所述gre报文关联的标志位,所述标志位用于指示关联的gre报文是否在本地设备转发,根据标志位,本地转发关联的标志位指示本地设备转发的所述gre报文。
10.作为一种技术方案,所述查询gre表项,获取所述gre报文关联的标志位,所述标志位用于指示关联的gre报文是否在本地设备转发,根据标志位,本地转发关联的标志位指示本地设备转发的所述gre报文,包括:对于关联的标志位指示非本地设备转发的gre报文,置位该报文的报文头的标记位,所述置位的标记位用于指示当前gre报文为二次引流gre报
文;转发所述二次引流gre报文,以使目的设备根据查询隧道表项的结果,转发命中出口信息的二次引流gre报文。
11.作为一种技术方案,所述对需要gre封装的待处理报文进行gre封装生成关联的gre报文,包括:查询gre表项,获取所述待处理报文关联的gre信息,根据所述gre信息,对需要gre封装的待处理报文进行gre封装生成关联的gre报文。
12.作为一种技术方案,所述解析待处理报文,判断待处理报文是否需要gre封装,包括:解析待处理报文,根据所述待处理报文关联的出接口,判断待处理报文是否需要gre封装。
13.本公开同时提供了一种报文管理装置,应用于网络设备,所述装置包括:解析模块,用于解析待处理报文,判断待处理报文是否需要gre封装;封装模块,用于对需要gre封装的待处理报文进行gre封装生成关联的gre报文;转发模块,用于查询gre表项,获取所述gre报文关联的标志位,所述标志位用于指示关联的gre报文是否在本地设备转发,根据标志位,本地转发关联的标志位指示本地设备转发的所述gre报文。
14.作为一种技术方案,所述查询gre表项,获取所述gre报文关联的标志位,所述标志位用于指示关联的gre报文是否在本地设备转发,根据标志位,本地转发关联的标志位指示本地设备转发的所述gre报文,包括:对于关联的标志位指示非本地设备转发的gre报文,置位该报文的报文头的标记位,所述置位的标记位用于指示当前gre报文为二次引流gre报文;转发所述二次引流gre报文,以使目的设备根据查询隧道表项的结果,转发命中出口信息的二次引流gre报文。
15.作为一种技术方案,所述对需要gre封装的待处理报文进行gre封装生成关联的gre报文,包括:查询gre表项,获取所述待处理报文关联的gre信息,根据所述gre信息,对需要gre封装的待处理报文进行gre封装生成关联的gre报文。
16.作为一种技术方案,所述解析待处理报文,判断待处理报文是否需要gre封装,包括:解析待处理报文,根据所述待处理报文关联的出接口,判断待处理报文是否需要gre封装。
17.本公开同时提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现前述的报文管理方法。
18.本公开同时提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述的报文管理方法。
19.本公开提供的上述技术方案至少带来了以下有益效果:
20.在为匹配的待处理报文封装成gre报文后,判断该gre报文是否为本地转发,并根据判断结果相应处理,从而实现对于gre报文加封装和二次引流的动作都在一圈中完成,提高了报文的转发性能,也能进行gre加封装报文的转发。
附图说明
21.为了更加清楚地说明本公开实施方式或者现有技术中的技术方案,下面将对本公开实施方式或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述
中的附图仅仅是本公开中记载的一些实施方式,对于本领域普通技术人员来讲,还可以根据本公开实施方式的这些附图获得其他的附图。
22.图1是本公开一种实施方式中的报文管理方法的流程图;
23.图2是本公开一种实施方式中的报文管理装置的结构图;
24.图3是本公开一种实施方式中的电子设备的硬件结构图。
具体实施方式
25.在本公开实施方式使用的术语仅仅是出于描述特定实施方式的目的,而非限制本公开。本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
26.应当理解,尽管在本公开实施方式可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
27.一种技术方案中,报文通过在fpga内部转两圈,查两次会话。当检测报文需要做gre加封装时,将封装后的报文输出到入口重新查询会话,查找对应的出口转发出去。报文转两圈会降低逻辑内部处理中的包速率,性能下降。报文首圈在查找会话时,用的是隧道ip地址,在单隧道情况下,逻辑内部性能下降严重。
28.有鉴于此,本公开提供一种报文管理方法、装置及电子设备、机器可读存储介质,以改善上述gre封装转发性能消耗大的问题。
29.具体地,技术方案如后述。
30.在一种实施方式中,本公开提供了一种报文管理方法,应用于网络设备,所述方法包括:解析待处理报文,判断待处理报文是否需要gre封装;对需要gre封装的待处理报文进行gre封装生成关联的gre报文;查询gre表项,获取所述gre报文关联的标志位,所述标志位用于指示关联的gre报文是否在本地设备转发,根据标志位,本地转发关联的标志位指示本地设备转发的所述gre报文。
31.具体地,如图1,包括以下步骤:
32.步骤s11,解析待处理报文,判断待处理报文是否需要gre封装。
33.步骤s12,对需要gre封装的待处理报文进行gre封装生成关联的gre报文。
34.步骤s13,查询gre表项,获取所述gre报文关联的标志位,根据标志位,本地转发关联的标志位指示本地设备转发的所述gre报文。
35.在为匹配的待处理报文封装成gre报文后,判断该gre报文是否为本地转发,并根据判断结果相应处理,从而实现对于gre报文加封装和二次引流的动作都在一圈中完成,提高了报文的转发性能,也能进行gre加封装报文的转发。
36.在一种实施方式中,所述查询gre表项,获取所述gre报文关联的标志位,所述标志位用于指示关联的gre报文是否在本地设备转发,根据标志位,本地转发关联的标志位指示本地设备转发的所述gre报文,包括:对于关联的标志位指示非本地设备转发的gre报文,置
位该报文的报文头的标记位,所述置位的标记位用于指示当前gre报文为二次引流gre报文;转发所述二次引流gre报文,以使目的设备根据查询隧道表项的结果,转发命中出口信息的二次引流gre报文。
37.在一种实施方式中,所述对需要gre封装的待处理报文进行gre封装生成关联的gre报文,包括:查询gre表项,获取所述待处理报文关联的gre信息,根据所述gre信息,对需要gre封装的待处理报文进行gre封装生成关联的gre报文。
38.在一种实施方式中,所述解析待处理报文,判断待处理报文是否需要gre封装,包括:解析待处理报文,根据所述待处理报文关联的出接口,判断待处理报文是否需要gre封装。
39.在一种实施方式中,gre加封装报文的处理,需要增加两个表项来辅助完成。一是gre表项,根据报文头在gre表项中查表获取加封装的ip头信息和gre信息。另一个是隧道表项,在隧道表项中根据二次引流gre的报文的外层头进行查表,并对查表结果进行key值匹配(源ip、目的ip、协议号),如果匹配正确,则找到出口索引。
40.下面将对本板封装本板转发和本板封装目的板转发两种情况进行详细说明。
41.本地设备处理封装和转发流程:首先对报文进行解析,然后查找出口表判定是否需要做gre加封装;如需要进行加封装,则查找gre表项获取加封装信息和是否在本板转发标记,即标志位;根据获得的加封装信息封装外层ip头和gre头信息;如是本地设备转发则走正常流程,如不是则需修改二层头中以太类型为0x0和置位标记位,表示是二次引流gre报文,然后转发出去。
42.目的设备转发流程:首先对报文进行解析,根据二层头中以太类型是否为0x0和标记位是否置位以判定是否是二次引流gre报文,如是则是二次引流gre报文;根据外层头信息查询隧道表项并判定是否命中,命中则根据获取的出接口信息进行转发。
43.在一种实施方式中,本公开同时提供了一种报文管理装置,如图2,应用于网络设备,所述装置包括:解析模块21,用于解析待处理报文,判断待处理报文是否需要gre封装;封装模块22,用于对需要gre封装的待处理报文进行gre封装生成关联的gre报文;转发模块23,用于查询gre表项,获取所述gre报文关联的标志位,所述标志位用于指示关联的gre报文是否在本地设备转发,根据标志位,本地转发关联的标志位指示本地设备转发的所述gre报文。
44.在一种实施方式中,所述查询gre表项,获取所述gre报文关联的标志位,所述标志位用于指示关联的gre报文是否在本地设备转发,根据标志位,本地转发关联的标志位指示本地设备转发的所述gre报文,包括:对于关联的标志位指示非本地设备转发的gre报文,置位该报文的报文头的标记位,所述置位的标记位用于指示当前gre报文为二次引流gre报文;转发所述二次引流gre报文,以使目的设备根据查询隧道表项的结果,转发命中出口信息的二次引流gre报文。
45.在一种实施方式中,所述对需要gre封装的待处理报文进行gre封装生成关联的gre报文,包括:查询gre表项,获取所述待处理报文关联的gre信息,根据所述gre信息,对需要gre封装的待处理报文进行gre封装生成关联的gre报文。
46.在一种实施方式中,所述解析待处理报文,判断待处理报文是否需要gre封装,包括:解析待处理报文,根据所述待处理报文关联的出接口,判断待处理报文是否需要gre封
装。
47.装置实施方式与对应的方法实施方式相同或相似,在此不再赘述。
48.在一种实施方式中,本公开提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现前述的报文管理方法,从硬件层面而言,硬件架构示意图可以参见图3所示。
49.在一种实施方式中,本公开提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述的报文管理方法。
50.这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radom access memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
51.上述实施方式阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
52.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
53.本领域内的技术人员应明白,本公开的实施方式可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本公开实施方式可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
54.本公开是参照根据本公开实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
55.而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
56.这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机
或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
57.本领域技术人员应明白,本公开的实施方式可提供为方法、系统或计算机程序产品。因此,本公开可以采用完全硬件实施方式、完全软件实施方式、或者结合软件和硬件方面的实施方式的形式。而且,本公开可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
58.以上所述仅为本公开的实施方式而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜