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

一种报文处理方法和相关装置与流程

2022-02-19 09:09:01 来源:中国专利 TAG:


1.本技术涉及互联网技术领域,特别是涉及一种报文处理方法和相关装置。


背景技术:

2.隧道技术是一种封装技术,在vpn网络中广泛使用。隧道技术利用一种网络传输协议,将其他乘客协议产生的数据报文封装在它自己的报文中,然后在网络中传输。隧道技术在域名系统中的应用较为广泛,域名系统(domain name system,缩写:dns)是互联网的一项基础服务。dns作为将域名和ip地址相互映射的一个分布式数据库,能够使用户更方便地访问互联网。
3.在相关技术中,dns报文在一些场景下需要通过隧道在不同的dns节点中进行传输,如果用传统隧道技术进行dns报文传输,存在转发数据流量大,占用网络带宽较多的问题。


技术实现要素:

4.为了解决上述技术问题,本技术提供了一种报文处理方法,在传输报文之前可以对待传输报文信息进行压缩,只基于其中的必要传输信息生成压缩报文信息,只需将该压缩报文信息传输给目标报文节点,即可使该目标报文节点能够基于其中的必要传输信息解压得到该待传输报文信息,降低了报文传输时的信息量。
5.本技术实施例公开了如下技术方案:
6.第一方面,本技术实施例公开了一种报文处理方法,所述方法包括:
7.获取待传输报文信息;
8.确定所述待传输报文信息中的必要传输信息和非必要传输信息,所述非必要传输信息为所述待传输报文信息的信息类型对应的固定值信息,和基于所述待传输报文信息中的其它信息所确定的信息,所述必要传输信息包括所述待传输报文信息中除所述非必要传输信息之外的其它信息;
9.根据所述必要传输信息确定所述待传输报文信息对应的压缩报文信息;
10.向所述待传输报文信息对应的目标报文节点传输所述压缩报文信息,使所述目标报文节点基于所述压缩报文信息还原得到所述待传输报文信息。
11.在一种可能的实现方式中,所述方法还包括:
12.确定所述信息类型对应的压缩模板,所述压缩模板用于标识所述信息类型的信息中的各个信息部分是否必须传输;
13.所述确定所述待传输报文信息中的必要传输信息和非必要传输信息,包括:
14.响应于所述待传输报文信息符合所述压缩模板,根据所述压缩模板确定所述待传输报文信息中的必要传输信息和非必要传输信息。
15.在一种可能的实现方式中,所述确定所述待传输报文信息中的必要传输信息和非必要传输信息,包括:
16.响应于所述待传输报文信息不符合所述压缩模板,确定所述待传输报文信息中的封装信息,所述封装信息用于发送所述待传输报文信息;
17.将所述待传输报文信息中除所述封装信息外的信息部分确定为所述待传输报文信息对应的必要传输信息。
18.在一种可能的实现方式中,所述方法还包括:
19.确定所述非必要传输信息中基于所述待传输报文信息中的其它信息所确定的可计算信息;
20.所述根据所述必要传输信息确定所述待传输报文信息对应的压缩报文信息,包括:
21.根据所述可计算信息和所述必要传输信息,确定所述待传输报文信息对应的压缩报文信息。
22.在一种可能的实现方式中,所述根据所述可计算信息和所述必要传输信息,确定所述待传输报文信息对应的压缩报文信息,包括:
23.根据压缩字典,确定所述可计算信息中的不可压缩信息和可压缩信息,所述可压缩信息为在所述压缩字典中具有对应压缩内容的信息,所述不可压缩信息为在所述压缩字典中不具有对应压缩内容的信息;
24.根据所述压缩字典将所述可压缩信息压缩为目标压缩信息;
25.根据所述目标压缩信息、所述不可压缩信息和所述必要传输信息,确定所述待传输报文信息对应的压缩报文信息。
26.在一种可能的实现方式中,所述方法还包括:
27.确定所述压缩报文信息对应的信息内容标识,所述信息内容标识用于标识所述可计算信息中的各个信息部分是否添加到所述压缩报文信息中,以及用于标识所述固定值信息中的各个信息部分是否添加到所述压缩报文信息中;
28.向所述目标报文节点传输所述信息内容标识。
29.在一种可能的实现方式中,所述待传输报文信息为多条待传输报文信息中的任意一条,所述多条待传输报文信息对应于相同的目标报文节点,所述方法还包括:
30.确定所述多条待传输报文信息分别对应的压缩报文信息:
31.将所述多条待传输报文信息分别对应的压缩报文信息进行拼接处理,得到综合报文信息,其中,一条所述综合报文信息对应于一套目标封装信息,所述目标封装信息用于将所述综合报文信息传输至所述目标报文节点;
32.所述向所述待传输报文信息对应的目标报文节点传输所述压缩报文信息,包括:
33.向所述目标报文节点传输所述综合报文信息,使所述目标报文节点基于所述综合报文信息还原得到所述多条待传输报文信息。
34.在一种可能的实现方式中,所述将所述多条待传输报文信息分别对应的压缩报文信息进行拼接处理,得到综合报文信息,包括:
35.确定已拼接压缩报文信息对应的总信息量,以及拼接所用时间;
36.响应于所述总信息量未超过信息量发送阈值,且所述拼接所用时间未超过信息发送时间阈值,获取待拼接的目标压缩报文信息进行信息拼接;
37.在所述目标压缩报文信息拼接完成后,重新执行所述确定已拼接压缩报文信息对
应的总信息量,以及拼接所用时间的步骤;
38.响应于所述总信息量超过所述信息量发送阈值,或所述拼接所用时间超过所述信息发送时间阈值,将已拼接压缩报文信息确定为所述综合报文信息。
39.在一种可能的实现方式中,所述待传输报文信息为dns报文信息。
40.第二方面,本技术实施例公开了一种报文处理装置,所述装置包括获取单元、第一确定单元、第二确定单元和第一传输单元:
41.所述获取单元,用于获取待传输报文信息;
42.所述第一确定单元,用于确定所述待传输报文信息中的必要传输信息和非必要传输信息,所述非必要传输信息为所述待传输报文信息的信息类型对应的固定值信息,和基于所述待传输报文信息中的其它信息所确定的信息,所述必要传输信息包括所述待传输报文信息中除所述非必要传输信息之外的其它信息;
43.所述第二确定单元,用于根据所述必要传输信息确定所述待传输报文信息对应的压缩报文信息;
44.所述第一传输单元,用于向所述待传输报文信息对应的目标报文节点传输所述压缩报文信息,使所述目标报文节点基于所述压缩报文信息还原得到所述待传输报文信息。
45.在一种可能的实现方式中,所述装置还包括第三确定单元:
46.第三确定单元,用于确定所述信息类型对应的压缩模板,所述压缩模板用于标识所述信息类型的信息中的各个信息部分是否必须传输;
47.第一确定单元,具体用于:
48.响应于所述待传输报文信息符合所述压缩模板,根据所述压缩模板确定所述待传输报文信息中的必要传输信息和非必要传输信息。
49.在一种可能的实现方式中,第一确定单元具体用于:
50.响应于所述待传输报文信息不符合所述压缩模板,确定所述待传输报文信息中的封装信息,所述封装信息用于发送所述待传输报文信息;
51.将所述待传输报文信息中除所述封装信息外的信息部分确定为所述待传输报文信息对应的必要传输信息。
52.在一种可能的实现方式中,所述装置还包括第四确定单元:
53.第四确定单元,用于确定所述非必要传输信息中基于所述待传输报文信息中的其它信息所确定的可计算信息;
54.第二确定单元具体用于:
55.根据所述可计算信息和所述必要传输信息,确定所述待传输报文信息对应的压缩报文信息。
56.在一种可能的实现方式中,第二确定单元具体用于:
57.根据压缩字典,确定所述可计算信息中的不可压缩信息和可压缩信息,所述可压缩信息为在所述压缩字典中具有对应压缩内容的信息,所述不可压缩信息为在所述压缩字典中不具有对应压缩内容的信息;
58.根据所述压缩字典将所述可压缩信息压缩为目标压缩信息;
59.根据所述目标压缩信息、所述不可压缩信息和所述必要传输信息,确定所述待传输报文信息对应的压缩报文信息。
60.在一种可能的实现方式中,所述装置还包括第五确定单元和第二传输单元:
61.第五确定单元,用于确定所述压缩报文信息对应的信息内容标识,所述信息内容标识用于标识所述可计算信息中的各个信息部分是否添加到所述压缩报文信息中,以及用于标识所述固定值信息中的各个信息部分是否添加到所述压缩报文信息中;
62.第二传输单元,用于向所述目标报文节点传输所述信息内容标识。
63.在一种可能的实现方式中,所述待传输报文信息为多条待传输报文信息中的任意一条,所述多条待传输报文信息对应于相同的目标报文节点,所述装置还包括第六确定单元和拼接单元:
64.第六确定单元,用于确定所述多条待传输报文信息分别对应的压缩报文信息:
65.拼接单元,用于将所述多条待传输报文信息分别对应的压缩报文信息进行拼接处理,得到综合报文信息,其中,一条所述综合报文信息对应于一套目标封装信息,所述目标封装信息用于将所述综合报文信息传输至所述目标报文节点;
66.第一传输单元具体用于:
67.向所述目标报文节点传输所述综合报文信息,使所述目标报文节点基于所述综合报文信息还原得到所述多条待传输报文信息。
68.在一种可能的实现方式中,拼接单元具体用于:
69.确定已拼接压缩报文信息对应的总信息量,以及拼接所用时间;
70.响应于所述总信息量未超过信息量发送阈值,且所述拼接所用时间未超过信息发送时间阈值,获取待拼接的目标压缩报文信息进行信息拼接;
71.在所述目标压缩报文信息拼接完成后,重新执行所述确定已拼接压缩报文信息对应的总信息量,以及拼接所用时间的步骤;
72.响应于所述总信息量超过所述信息量发送阈值,或所述拼接所用时间超过所述信息发送时间阈值,将已拼接压缩报文信息确定为所述综合报文信息。
73.在一种可能的实现方式中,所述待传输报文信息为dns报文信息。
74.由上述技术方案可以看出,在获取待传输报文信息后,为了降低传输报文时的信息量,可以先确定该待传输报文信息中的必要传输信息和非必要传输信息,该非必要传输信息为该待传输报文信息的信息类型对应的固定值信息,和基于该待传输报文信息中的其它信息所确定的信息,该必要传输信息包括该待传输报文信息中除该非必要传输信息之外的其它信息。由此可见,只需要传输该必要传输信息,接收到该必要传输信息的接收方即可根据该报文信息的信息类型以及该必要传输信息补全其中的非必要传输信息部分。从而,可以根据必要传输信息确定待传输报文信息对应的压缩报文信息,然后向该待传输报文信息对应的目标报文节点传输该压缩报文信息,使该目标报文节点基于该压缩报文信息还原得到该待传输报文信息,降低了报文传输所需的信息量,减少了对网络带宽资源的占用。
附图说明
75.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
76.图1为本技术实施例提供的一种报文处理方法的流程图;
77.图2为本技术实施例提供的一种报文处理方法的示意图;
78.图3为本技术实施例提供的一种报文处理方法的示意图;
79.图4为本技术实施例提供的一种报文处理方法的示意图;
80.图5为本技术实施例提供的一种报文处理方法的示意图;
81.图6为本技术实施例提供的一种报文处理方法的示意图;
82.图7为本技术实施例提供的一种报文处理方法的示意图;
83.图8为本技术实施例提供的一种报文处理方法的示意图;
84.图9为本技术实施例提供的一种报文处理方法的示意图;
85.图10为本技术实施例提供的一种报文处理方法的示意图;
86.图11为本技术实施例提供的一种报文处理方法的示意图;
87.图12为本技术实施例提供的一种报文处理方法的示意图;
88.图13为本技术实施例提供的一种报文处理方法的流程图;
89.图14为本技术实施例提供的一种报文处理方法的流程图;
90.图15为本技术实施例提供的一种报文处理方法的示意图;
91.图16为本技术实施例提供的一种报文处理方法的示意图;
92.图17为本技术实施例提供的一种报文处理方法的示意图;
93.图18为本技术实施例提供的一种报文处理装置的结构框图。
具体实施方式
94.下面结合附图,对本技术的实施例进行描述。
95.报文节点之间的报文传输是网络通信中常见的技术场景,例如,在dns报文的以下情况中需要在dns节点之间进行报文转发:
96.(1)dns资源动态调度:实现当dns节点a服务能力不足时,将dns报文通过隧道转发到服务能力更强的dns节点b,利用节点b的服务资源分担响应服务。
97.(2)dns攻击缓解:当dns节点a受到大流量攻击时,无法处理这部分攻击流量。这时dns节点a将攻击流量部分或全部经隧道转发到抗攻击能力更强的dns节点b,由节点b处理攻击流量,从而缓解节点a抗攻击压力。
98.然而,在传统的隧道技术中,传输报文时会将报文中的全部内容进行传输,这样就会使传输数据量增大,占用大量的网络带宽。
99.为了解决上述技术问题,本技术提供了一种报文处理方法,在传输报文之前可以对待传输报文信息进行压缩,只基于其中的必要传输信息生成压缩报文信息,只需将该压缩报文信息传输给目标报文节点,即可使该目标报文节点能够基于其中的必要传输信息解压得到该待传输报文信息,降低了报文传输时的信息量。
100.可以理解的是,该方法可以应用于处理设备上,该处理设备为能够进行报文处理的处理设备,例如可以为具有报文处理功能的终端设备或服务器。该方法可以通过终端设备或服务器独立执行,也可以应用于终端设备和服务器通信的网络场景,通过终端设备和服务器配合执行。其中,终端设备可以为计算机、手机等设备。服务器可以理解为是应用服务器,也可以为web服务器,在实际部署时,该服务器可以为独立服务器,也可以为集群服务
器。
101.接下来,将结合附图,对本技术实施例提供的一种报文处理方法进行介绍。
102.参见图1,图1为本技术实施例提供的一种报文处理方法的流程图,该方法包括:
103.s101:获取待传输报文信息。
104.该待传输报文信息为需要传输至其他报文节点的报文信息,该待传输报文信息对应的报文节点为目标报文节点,即该待传输报文信息需要发送至该目标报文节点处。
105.s102:确定待传输报文信息中的必要传输信息和非必要传输信息。
106.其中,非必要传输信息为该待传输报文信息的信息类型对应的固定值信息,以及基于该待传输报文信息中的其它信息所确定的信息,该必要传输信息包括该待传输报文信息中除非必要传输信息之外的其它信息,该固定值信息是指该信息类型下所有报文信息都具有的固定值。
107.因此,即使作为接收方的报文节点没有接收到该非必要传输信息,也可以根据该报文信息的信息类型和所接收到的必要传输信息,还原得到该非必要传输信息。由此可见,在进行报文传输时,为了在不影响报文传输效果的同时,降低传输的报文信息量,可以减少对该非必要传输信息的传输。
108.s103:根据必要传输信息确定待传输报文信息对应的压缩报文信息。
109.处理设备可以基于必要传输信息来生成该待传输报文信息对应的压缩报文信息,从而使该压缩报文信息只包括该必要传输信息,降低该压缩报文信息的报文信息量。
110.s104:向待传输报文信息对应的目标报文节点传输压缩报文信息,使目标报文节点基于压缩报文信息还原得到待传输报文信息。
111.在接收到该压缩报文信息后,该目标报文节点可以基于该报文信息的信息类型,确定出该压缩报文信息对应的固定值;以及,可以基于该压缩报文信息,计算出缺失的信息部分,从而可以还原得到该待传输报文信息。
112.由上述技术方案可以看出,在获取待传输报文信息后,为了降低传输报文时的信息量,可以先确定该待传输报文信息中的必要传输信息和非必要传输信息,该非必要传输信息为该待传输报文信息的信息类型对应的固定值信息,和基于该待传输报文信息中的其它信息所确定的信息,该必要传输信息包括该待传输报文信息中除该非必要传输信息之外的其它信息。由此可见,只需要传输该必要传输信息,接收到该必要传输信息的接收方即可根据该报文信息的信息类型以及该必要传输信息补全其中的非必要传输信息部分。从而,可以根据必要传输信息确定待传输报文信息对应的压缩报文信息,然后向该待传输报文信息对应的目标报文节点传输该压缩报文信息,使该目标报文节点基于该压缩报文信息还原得到该待传输报文信息,降低了报文传输所需的信息量,减少了对网络带宽资源的占用。
113.可以理解的是,同一信息类型的报文信息通常具有较为固定的信息部分组成,因此,为了提高压缩报文信息的效率和准确度,在一种可能的实现方式中,在确定报文信息中的必要传输部分和非必要传输部分时,处理设备可以先确定该信息类型对应的压缩模板,该压缩模板用于标识该信息类型的信息中的各个信息部分是否必须传输。
114.处理设备可以确定该待传输报文是否符合该压缩模板,即该待传输报文中的信息分布格式与该压缩模板一致,从而可以基于该压缩模板确定各个信息部分是否必须传输。响应于该待传输报文符合压缩模板,处理设备可以根据该压缩模板确定该待传输报文信息
中的必要传输信息和非必要传输信息,从而只需对照模板即可对该待传输报文信息进行快速压缩,提高报文压缩的效率和准确度。
115.例如,在一种可能的实现方式中,该待传输报文信息可以为dns报文信息,该信息类型对应的压缩模板可以如图2所示。
116.其中,4h、5h、0h、11h、1h信息部分为该信息类型对应的固定值信息,tbc部分代表该信息类型对应的可以通过其它信息计算得到的信息部分,这些信息部分都为非必要传输部分;ip_id、ttl、sip、sport、dnsid信息部分为必要传输信息,dip、dport、flag、qname、t/c、add_rr字段具有多样性,在部分dns报文信息中为固定值,在部分dns报文信息中也可以作为非固定值。在作为固定值时可以视为非必要传输部分,在作为非固定值时可以视为必要传输部分。参见图3,图3展示了通过该压缩模板得到的必要传输信息fp。
117.此外,在一种可能的实现方式中,响应于该待传输报文信息不符合该压缩模板,为了防止其中的必要传输信息在没有准确进行分辨的情况下,在压缩过程中出现丢失的情况,处理设备可以先确定该待传输报文信息中的封装信息,该封装信息用于发送该待传输报文信息,即该封装信息为在向处理设备发送该待传输报文信息所必须添加的信息,通过该封装信息可以使该待传输报文信息在隧道里进行传输。可以理解的是,该封装信息可以视为该信息类型所对应的固定值信息,因此,处理设备可以将该待传输报文信息中除该封装信息外的信息部分确定为该待传输报文信息对应的必要传输信息,从而可能最大程度上避免必要传输信息的遗漏。如图4所示,nc为去掉封装信息的待传输报文信息,处理设备可以在nc信息上添加头部信息t和l生成压缩报文信息。
118.上已述及,该待传输报文信息中包括部分能够基于其他信息所确定的信息,这部分信息可以称为可计算信息,即信息的接收方能够基于得到的必要传输信息计算得到该可计算信息。可以理解的是,接收方在计算该可计算信息时需要耗费一定的计算时间,因此,在一种可能的实现方式中,为了使报文信息能够得到更加高效的处理,平衡发送报文和处理报文所需的资源和时间,处理设备可以先确定该非必要传输信息中基于待传输报文信息中的其它信息所确定的可计算信息,然后根据该可计算信息和必要传输信息,确定该待传输报文信息对应的压缩报文信息,从而可以将这部分可计算信息也发送给目标报文节点,使该目标报文节点无需重新计算其中的信息,节省了报文处理所需的时间;同时,由于固定值信息较为容易获取,不需要经过计算等步骤,因此在不发送该固定值信息的情况下,可以在对报文信息处理效率影响较小的前提下降低报文传输所需的网络带宽。
119.此外,为了进一步降低报文传输的信息量,处理设备可以针对在报文信息中常见的信息内容建议压缩字典,该压缩字典记录有压缩前的信息内容与对应的压缩后的压缩内容,该压缩内容的信息量要远小于压缩前的信息内容。在一种可能的实现方式中,处理设备可以根据压缩字典,确定可计算信息中的不可压缩信息和可压缩信息,其中可压缩信息为在该压缩字典中具有对应压缩内容的信息,不可压缩信息为在该压缩字典中不具有对应压缩内容的信息。处理设备可以根据该压缩字典将该可压缩信息压缩为目标压缩信息,并根据该目标压缩信息、不可压缩信息和必要传输信息,确定该待传输报文信息对应的压缩报文信息。可以理解的是,在一些情况下,部分必要传输信息同样可以进行压缩处理,在本技术实施例中,为了保障必要传输信息传输的准确性,避免在解压过程中出现信息错误,处理设备可以只对可计算信息进行压缩。
120.可以理解的是,由于处理设备并没有将全部的报文信息都发送给目标报文节点,因此,目标报文节点需要查找其中缺失的信息部分进行还原。在一种可能的实现方式中,为了使目标报文节点能够清楚的获知该待传输报文信息中的发送部分和未发送部分,处理设备可以确定该压缩报文信息对应的信息内容标识,该信息内容标识用于标识该可计算信息中的各个信息部分是否添加到该压缩报文信息中,以及可以用于标识该固定值信息中的各个信息部分是否添加到所述压缩报文信息中。处理设备可以向目标报文节点传输该信息内容标识,从而,在基于可计算信息和必要传输信息生成压缩报文信息时,该目标报文节点可以根据该信息内容标识获知该压缩报文信息中具有以及缺失的该待传输报文信息中的信息部分,从而能够做到有针对性的信息还原。
121.例如,如图5所示,图5为一种压缩报文信息的示意图,其中压缩报文信息(packet block,简称pb)包括头部信息t和l,必要传输信息fp以及部分必要传输信息vp(variable part)和信息内容标识bm(bitmap)构成,其中,t和l所包括的信息具体如下:
122.t:1b type标记pb类形,如按dns请求对应的压缩模板压缩报文(t=0)、未压缩报文(t=1)等。
123.l:1~2b length字段,最高bit是字段结束标志,低7bit标记整个pb的byte长度,如图7所示。l包括从t开始,到最后一个非必要传输信息variable part(vp)结束的全部数据。pb较短时(1~2^7)l为1b:最高bit为1,低7bit标记整个pb的byte长度。pb较长时(2^7 1~2^14)l为2b:第一字节最高bit为0,低7bit标记整个pb的byte长度[13:7]。第二字节最高bit为1,低7bit标记整个pb的byte长度[6:0]。l字段的结构如图12所示。
[0124]
在通过图2所示的压缩模板确定出其中的必要传输信息和非必要传输信息后,处理设备可以基于必要传输信息中的常规信息生成fp部分,该常规信息是指每一个dns报文中都具有的必要传输信息。同时,处理设备可以选择其中的可计算信息以及必要传输信息中的非常规信息生成vp部分,该非常规信息是指并不是每一个dns报文中都具有的必要传输信息,例如,当存在上述具有多样性的信息时,若信息为非固定值,则可以视为必要传输信息中的非常规信息来生成相应的vp字段。该bm部分如图6所示。其中,bm信息能够标识每一个vp部分对应的值,若vp部分的bm[x]=1,则说明压缩报文信息中具有这部分vp对应的非必要传输信息;若bm[x]=0,则说明压缩报文信息中不具有这部分vp对应的非必要传输信息。在图6所示的bm信息中,非必要传输信息中的固定值信息,例如dns报文中的默认值等都对应于bm[x]=0,其他可计算信息对应于bm[x]=1。
[0125]
vp部分的结构如图7所示,一个vp中包括指针tk(token)和指针对应的数据data,其中,一个非必要传输信息部分可以对应于一个vp,也可以在信息内容较多时,拆分成多个vp进行传输。其中,tk部分的结构可以如图8所示,mt(more token)字段用于标识当前token所属的vp字段是否结束,即该vp字段是否是同一非必要传输信息中的部分信息;c字段用于标识该data字段是否为字典指针,即该data是否为压缩信息;len字段用于标识data的字节长度,1~64bit。在非必要传输信息没有基于压缩字典进行压缩时,该data字段包含该非必要传输信息的原文信息;在进行压缩时,该data字段包含该费非必要传输信息对应的压缩信息。
[0126]
vp字段内存在部分非必要传输信息被压缩,以及同一非必要传输信息被拆分成多个vp字段的情况,如图9所示,其中vp0为经过压缩处理的非必要传输信息,vp1为原文传输
的非必要传输信息,vp0和vp1为同一非必要传输信息“baidu.com”的两部分,有图可见,通过mt字段可以标识该vp0字段没有结束,且vp0中的data为字典指针,该字典指针可以用于对该data字段进行解压缩。
[0127]
除了能够对单条待传输报文信息进行压缩处理外,针对多条待传输报文信息的场景,处理设备还可以通过多条报文信息之间的组合来进一步降低报文信息传输所需的带宽资源。可以理解的是,为了在隧道中进行传输,报文信息中通常需要添加封装信息,例如为了将待传输报文信息发送到处理设备处,需要在该待传输报文信息中添加对应的封装信息。
[0128]
其中,每一条报文信息在发送时都需要添加对应的封装信息,因此,为了降低传输多条报文信息时占用的带宽资源,处理设备可以将多条待传输报文信息中需要传输的信息内容合并到一条报文信息中,从而只需要添加一次封装信息即可。
[0129]
在一种可能的实现方式中,该待传输报文信息可以为多条待传输报文信息中的任意一条,该多条待传输报文信息对应于相同的目标报文节点,处理设备可以确定多条待传输报文信息分别对应的压缩报文信息,然后将多条待传输报文信息分别对应的压缩报文信息进行拼接处理,得到综合报文信息,其中,一条综合报文信息对应于一套目标封装信息,该目标封装信息用于将该综合报文信息传输至该目标报文节点。
[0130]
处理设备可以向该目标报文节点传输该综合报文信息,使该目标报文节点可以基于该综合报文信息还原得到该多条待传输报文信息。例如,如图10所示,处理设备可以确定出多个原始报文对应的pb信息,然后将这些pb信息进行组合,随后添加上对应于dns隧道传输的目标封装信息fh(frameheader,对应于图中的fram hd)、ip hd和ethhd。其中,ip hd中protocol字段为131,即采用私有ip封装协议。当然,除了非必要传输信息可以进行压缩外,pb部分内的必要传输信息同样可以基于压缩字典等方式进行压缩,此处不作限制。压缩隧道封装fh共8b,分成4部分内容,如图11所示。
[0131]
可以理解的是,报文信息通常都具有一定的时效性,若在接收到报文信息后没有及时将该报文信息发送给对应的接收方,可能会造成报文信息失效等问题。此外,在隧道中传输报文信息时,隧道通常具有一定的信息量传输上限,若一条报文信息的信息量超过该上限则难以在该隧道中进行传输。基于此,在一种可能的实现方式中,处理设备可以先确定信息发送时间阈值和信息量发送阈值,然后确定已拼接压缩报文信息对应的总信息量,以及拼接所用时间。
[0132]
响应于该总信息量未超过信息量发送阈值,且该拼接所用时间未超过信息发送时间阈值,说明已拼接压缩报文信息用时较短,且信息量较少,可以继续进行压缩报文信息拼接的步骤,此时处理设备可以获取待拼接的目标压缩报文信息进行信息拼接。同时,在该目标压缩报文信息拼接完成后,处理设备可以重新执行确定已拼接压缩报文信息对应的总信息量,以及拼接所用时间的步骤。
[0133]
响应于总信息量超过该信息量发送阈值,或拼接所用时间超过信息发送时间阈值,处理设备可以直接将该已拼接压缩报文信息确定为该综合报文信息。基于上述技术方案,处理设备可以在进行报文拼接时实时对已拼接压缩报文信息的信息量和拼接所用时间进行监控,保障该综合报文信息的稳定传输。
[0134]
为了便于理解本技术提供的技术方案,接下来,将结合一种实际应用场景,对本申
请实施例提供的一种报文处理方法进行介绍。
[0135]
参见图13,图13为本技术实施例提供的一种实际应用场景中报文处理方法的流程图。在开始处理后,处理设备首先可以接收待传输报文信息,然后判断待传输报文信息是否为dns报文,若否,则丢弃报文并重新接收下一条报文信息;若是,则去掉其中的二层头(封装信息),并判断剩下的信息部分是否符合压缩模板,若否,则将剩余部分构造为nc字段,添加t和l字段,并判断报文处理是否超时,若否则判断报文长度是否达到mtu,未达到则继续处理下一条报文信息,若超时或报文长度达到mtu则添加封装信息生成压缩报文信息;若是,则根据压缩模板构造必要传输信息fp字段,然后判断剩余的非必要传输信息是否为固定值信息,若是则丢弃,若否则判断该信息是否可以压缩,可压缩的将其压缩后的信息确定为vp字段,不可压缩则直接根据原文信息构建vp字段。处理设备可以判断非固定值字段是否结束,若未结束则继续判断是否可以进行压缩,若结束,则判断报文是否结束,若是则添加t和l字段,然后判断拼装压缩报文信息的总时间是否超过时间阈值,若超过则添加封装信息,结束报文处理并发送;若未超过,则判断已拼装压缩信息的报文长度是否达到信息量阈值mtu,若是则同样添加封装信息结束处理,若否,则可以获取下一跳待传输报文信息进行处理。
[0136]
在接收到经过上文处理的压缩报文信息后,目标报文节点可以如图14所示进行信息恢复。在接收信息后,可以先确定是否为dns隧道转发报文,若是,则去掉封装信息,然后判断是否为压缩信息,若否则直接读取原文,结束此次报文处理;若是压缩信息,则处理设备可以对该信息进行恢复处理。参见图14,处理设备可以先去掉t和l字段,然后判断是否为基于压缩模板进行压缩,若否则原文恢复报文,然后添加二层头并判断报文是否结束;若是基于压缩模板进行压缩,则先恢复固定值信息,然后恢复必要传输信息fp,随后判断是否为可选压缩字段,若是则基于不同的data类型进行相应的恢复,若否则基于bm标识进行相应的恢复。具体如下:
[0137]
如果对应bm位=0,用默认值恢复。
[0138]
如果对应bm位=1,用vp恢复。
[0139]
如果token data中data是原文,用data恢复报文;
[0140]
如果token data中data是字典指针,用data去检索字典,用字典返回值恢复报文;
[0141]
如果含有多个vp,将每个vp恢复报文拼接起来。
[0142]
将vp字段部分压缩例子:qname=baidu.com拆分成2个vp解压缩过程:
[0143]
a.先用字典指针vp0 data去检索字典,用字典返回值baidu恢复qname第一部分;
[0144]
b.再用vp1 data原文恢复qname第二部分:.com;
[0145]
c.将baidu和.com拼接起来,恢复出qname=baidu.com。
[0146]
针对信息中的可计算信息,处理设备可以按照协议定义进行计算和添加。
[0147]
a.ip头里的total length是恢复模板的字节长度。
[0148]
b.ip头添加header checksum:对整个ip头部进行二进制反码求和。
[0149]
c.udp头里的total length是恢复模板中udp头加dns部分的字节长度。
[0150]
d.udp头里添加checksum:对udp伪首部,udp头和udp数据三部分进行二进制反码求和。
[0151]
e.dns部分添加附加资源记录的数量:计算恢复模板中add_rr含有多少个资源记
录。
[0152]
将模板压缩pb恢复出udp格式dns报文信息后,添加二层头,恢复原始dns请求报文模板,如图16所示。二层头中lenth\type=0800h,表示是ipv4报文。
[0153]
对于非模板压缩报文,处理设备可以在nc前添加二层头,恢复原始dns请求报文,如图17所示。二层头中lenth\type要根据nc前4bit(1st_4bits)填充。如果是ipv4报文,即1st_4bits=4,lenth\type=0800h;如果是ipv6报文,即1st_4bits=6,lenth\type=86ddh。
[0154]
针对上述实施例提供的一种报文处理方法,本技术实施例还提供了一种报文处理装置,参见图18,图18为本技术实施例提供的一种报文处理装置1800的结构框图,该装置1800包括获取单元1801、第一确定单元1802、第二确定单元1803和第一传输单元1804:
[0155]
获取单元1801,用于获取待传输报文信息;
[0156]
第一确定单元1802,用于确定所述待传输报文信息中的必要传输信息和非必要传输信息,所述非必要传输信息为所述待传输报文信息的信息类型对应的固定值信息,和基于所述待传输报文信息中的其它信息所确定的信息,所述必要传输信息包括所述待传输报文信息中除所述非必要传输信息之外的其它信息;
[0157]
第二确定单元1803,用于根据所述必要传输信息确定所述待传输报文信息对应的压缩报文信息;
[0158]
第一传输单元1804,用于向所述待传输报文信息对应的目标报文节点传输所述压缩报文信息,使所述目标报文节点基于所述压缩报文信息还原得到所述待传输报文信息。
[0159]
在一种可能的实现方式中,所述装置还包括第三确定单元:
[0160]
第三确定单元,用于确定所述信息类型对应的压缩模板,所述压缩模板用于标识所述信息类型的信息中的各个信息部分是否必须传输;
[0161]
第一确定单元1802,具体用于:
[0162]
响应于所述待传输报文信息符合所述压缩模板,根据所述压缩模板确定所述待传输报文信息中的必要传输信息和非必要传输信息。
[0163]
在一种可能的实现方式中,第一确定单元1802具体用于:
[0164]
响应于所述待传输报文信息不符合所述压缩模板,确定所述待传输报文信息中的封装信息,所述封装信息用于发送所述待传输报文信息;
[0165]
将所述待传输报文信息中除所述封装信息外的信息部分确定为所述待传输报文信息对应的必要传输信息。
[0166]
在一种可能的实现方式中,所述装置还包括第四确定单元:
[0167]
第四确定单元,用于确定所述非必要传输信息中基于所述待传输报文信息中的其它信息所确定的可计算信息;
[0168]
第二确定单元1803具体用于:
[0169]
根据所述可计算信息和所述必要传输信息,确定所述待传输报文信息对应的压缩报文信息。
[0170]
在一种可能的实现方式中,第二确定单元1803具体用于:
[0171]
根据压缩字典,确定所述可计算信息中的不可压缩信息和可压缩信息,所述可压缩信息为在所述压缩字典中具有对应压缩内容的信息,所述不可压缩信息为在所述压缩字
典中不具有对应压缩内容的信息;
[0172]
根据所述压缩字典将所述可压缩信息压缩为目标压缩信息;
[0173]
根据所述目标压缩信息、所述不可压缩信息和所述必要传输信息,确定所述待传输报文信息对应的压缩报文信息。
[0174]
在一种可能的实现方式中,所述装置还包括第五确定单元和第二传输单元:
[0175]
第五确定单元,用于确定所述压缩报文信息对应的信息内容标识,所述信息内容标识用于标识所述可计算信息中的各个信息部分是否添加到所述压缩报文信息中,以及用于标识所述固定值信息中的各个信息部分是否添加到所述压缩报文信息中;
[0176]
第二传输单元,用于向所述目标报文节点传输所述信息内容标识。
[0177]
在一种可能的实现方式中,所述待传输报文信息为多条待传输报文信息中的任意一条,所述多条待传输报文信息对应于相同的目标报文节点,所述装置还包括第六确定单元和拼接单元:
[0178]
第六确定单元,用于确定所述多条待传输报文信息分别对应的压缩报文信息:
[0179]
拼接单元,用于将所述多条待传输报文信息分别对应的压缩报文信息进行拼接处理,得到综合报文信息,其中,一条所述综合报文信息对应于一套目标封装信息,所述目标封装信息用于将所述综合报文信息传输至所述目标报文节点;
[0180]
第一传输单元1804具体用于:
[0181]
向所述目标报文节点传输所述综合报文信息,使所述目标报文节点基于所述综合报文信息还原得到所述多条待传输报文信息。
[0182]
在一种可能的实现方式中,拼接单元具体用于:
[0183]
确定已拼接压缩报文信息对应的总信息量,以及拼接所用时间;
[0184]
响应于所述总信息量未超过信息量发送阈值,且所述拼接所用时间未超过信息发送时间阈值,获取待拼接的目标压缩报文信息进行信息拼接;
[0185]
在所述目标压缩报文信息拼接完成后,重新执行所述确定已拼接压缩报文信息对应的总信息量,以及拼接所用时间的步骤;
[0186]
响应于所述总信息量超过所述信息量发送阈值,或所述拼接所用时间超过所述信息发送时间阈值,将已拼接压缩报文信息确定为所述综合报文信息。
[0187]
在一种可能的实现方式中,所述待传输报文信息为dns报文信息。
[0188]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read

only memory,缩写:rom)、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0189]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络
单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0190]
以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
再多了解一些

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

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

相关文献