报文的处理方法及其装置、电子设备及存储介质制造方法及图纸

技术编号:36561703 阅读:10 留言:0更新日期:2023-02-04 17:17
本发明专利技术公开了一种报文的处理方法及其装置、电子设备及存储介质,其中,该处理方法包括:接收TCP报文,在TCP报文为预设格式报文的情况下,计算报文封装长度,在报文长度大于报文封装长度的情况下,调整报文长度,得到目标报文长度,处理报文长度为目标报文长度的TCP报文。本发明专利技术解决了相关技术中在分布式多层VPN封装下,无法适应调整报文长度,导致VPN设备处理效率较低的技术问题。备处理效率较低的技术问题。备处理效率较低的技术问题。

【技术实现步骤摘要】
报文的处理方法及其装置、电子设备及存储介质


[0001]本专利技术涉及数据处理
,具体而言,涉及一种报文的处理方法及其装置、电子设备及存储介质。

技术介绍

[0002]VPN(虚拟专用网络)是一种在公用网络上建立专用网络,进行加密通讯的技术。隧道技术是用于实现虚拟专用网络(VPN)的一种技术。
[0003]在分布式设备中,为了均衡多个业务设备之间的性能,会把不同VPN处理放在不同设备上进行处理。VPN设备需要对原始报文进行封装,添加额外的封装头部,封装后报文会变长,当需要对报文进行多次VPN封装时,封装后的报文容易超过MTU(Maximum Transmission Unit,即最大传输单元),需要对报文进行分片,严重降低了设备转发性能。
[0004]相关技术中,提出了一种基于IPsec(Internet Protocol Securit,即互联网安全协议)隧道的报文转发方法,可以获取在客户端与服务端之间传输的TCP握手协商报文,然后判断TCP握手协商报文的传输接口是否为IPsec接口,当TCP握手协商报文的传输接口为IPsec接口时,修改TCP握手协商报文的MSS值(Maximum Segment Size,即最大报文长度),并传输修改后的TCP握手协商报文,能够实现基于接口MTU实时动态修改MSS的效果。
[0005]然而,上述报文转发方法只能处理IPSec VPN单层VPN封装,不能适于分布式多层VPN封装场景。
[0006]针对上述的问题,目前尚未提出有效的解决方案。r/>
技术实现思路

[0007]本专利技术实施例提供了一种报文的处理方法及其装置、电子设备及存储介质,以至少解决相关技术中在分布式多层VPN封装下,无法适应调整报文长度,导致VPN设备处理效率较低的技术问题。
[0008]根据本专利技术实施例的一个方面,提供了一种报文的处理方法,包括:接收TCP报文,其中,所述TCP报文携带有报文长度;在所述TCP报文为预设格式报文的情况下,计算报文封装长度;在所述报文长度大于所述报文封装长度的情况下,调整所述报文长度,得到目标报文长度;处理所述报文长度为所述目标报文长度的所述TCP报文。
[0009]可选地,在计算报文封装长度之前,还包括:获取封装信息表,其中,所述封装信息表用于记录每个网络设备的封装信息,所述封装信息至少包括:封装长度、传输单元;确定信息查找表,其中,所述信息查找表用于查找所述网络设备的设备信息,所述设备信息至少包括:路由出接口、路由下一跳。
[0010]可选地,计算报文封装长度的步骤,包括:基于所述TCP报文携带的目的地址查找路由表,得到第一路由结果,其中,所述第一路由结果至少包括:路由出接口和路由下一跳;基于所述第一路由结果查询所述信息查找表,得到与所述第一路由结果中的所述路由出接口以及所述路由下一跳对应的第一层网络设备,其中,所述第一层网络设备封装有下一目
的地址;基于所述封装信息表,确定所述第一层网络设备的所述封装长度和所述传输单元;基于所述下一目的地址查找所述路由表,得到第二路由结果,并基于所述第二路由结果查询所述信息查找表,直到查询到最后一层网络设备,其中,所述第二路由结果至少包括:与下一层网络设备对应的路由出接口和路由下一跳;基于每层网络设备的所述封装长度和所述传输单元,计算所述报文封装长度。
[0011]可选地,基于每个网络设备的所述封装长度和所述传输单元,计算所述报文封装长度的步骤,包括:基于每层网络设备的所述传输单元,确定最小传输单元;确定预设地址头部长度以及预设TCP头部长度;确定多层网络设备封装长度总和;基于所述最小传输单元、所述预设地址头部长度、所述预设TCP头部长度以及所述多层网络设备封装长度总和,计算所述报文封装长度。
[0012]可选地,确定多层网络设备封装长度总和的步骤,包括:获取每层网络设备的所述封装长度;累加每层网络设备的所述封装长度,得到所述多层网络设备封装长度总和。
[0013]可选地,调整所述报文长度,得到目标报文长度的步骤,包括:将当前报文长度依次递减预设长度值,直到预设校验通过,得到所述目标报文长度。
[0014]可选地,预设校验的步骤,包括:基于调整后的报文长度,计算所述TCP报文的校验值;在所述校验值不属于预设阈值范围的情况下,继续调整所述报文长度,直至所述校验值属于所述预设阈值范围,完成对所述报文长度的调整。
[0015]根据本专利技术实施例的另一方面,还提供了一种报文的处理装置,包括:接收单元,用于接收TCP报文,其中,所述TCP报文携带有报文长度;计算单元,用于在所述TCP报文为预设格式报文的情况下,计算报文封装长度;调整单元,用于在所述报文长度大于所述报文封装长度的情况下,调整所述报文长度,得到目标报文长度;处理单元,用于处理所述报文长度为所述目标报文长度的所述TCP报文。
[0016]可选地,所述处理装置还包括:第一获取模块,用于在计算报文封装长度之前,获取封装信息表,其中,所述封装信息表用于记录每个网络设备的封装信息,所述封装信息至少包括:封装长度、传输单元;第一确定模块,用于确定信息查找表,其中,所述信息查找表用于查找所述网络设备的设备信息,所述设备信息至少包括:路由出接口、路由下一跳。
[0017]可选地,所述计算单元包括:第一查找模块,用于基于所述TCP报文携带的目的地址查找路由表,得到第一路由结果,其中,所述第一路由结果至少包括:路由出接口和路由下一跳;第一查询模块,用于基于所述第一路由结果查询所述信息查找表,得到与所述第一路由结果中的所述路由出接口以及所述路由下一跳对应的第一层网络设备,其中,所述第一层网络设备封装有下一目的地址;第二确定模块,用于基于所述封装信息表,确定所述第一层网络设备的所述封装长度和所述传输单元;第二查找模块,用于基于所述下一目的地址查找所述路由表,得到第二路由结果,并基于所述第二路由结果查询所述信息查找表,直到查询到最后一层网络设备,其中,所述第二路由结果至少包括:与下一层网络设备对应的路由出接口和路由下一跳;第一计算模块,用于基于每层网络设备的所述封装长度和所述传输单元,计算所述报文封装长度。
[0018]可选地,所述第一计算模块包括:第一确定子模块,用于基于每层网络设备的所述传输单元,确定最小传输单元;第二确定子模块,用于确定预设地址头部长度以及预设TCP头部长度;第三确定子模块,用于确定多层网络设备封装长度总和;第一计算子模块,用于
基于所述最小传输单元、所述预设地址头部长度、所述预设TCP头部长度以及所述多层网络设备封装长度总和,计算所述报文封装长度。
[0019]可选地,所述第三确定子模块包括:第一获取子模块,用于获取每层网络设备的所述封装长度;第一累加子模块,用于累加每层网络设备的所述封装长度,得到所述多层网络设备封装长度总和。
[0020]可选地,所述调整单元包括:第一递减模块,用于将当前报文长度依次递减预设长度值,直到预设校验通过,得到所述目标报文长度。
...

【技术保护点】

【技术特征摘要】
1.一种报文的处理方法,其特征在于,包括:接收TCP报文,其中,所述TCP报文携带有报文长度;在所述TCP报文为预设格式报文的情况下,计算报文封装长度;在所述报文长度大于所述报文封装长度的情况下,调整所述报文长度,得到目标报文长度;处理所述报文长度为所述目标报文长度的所述TCP报文。2.根据权利要求1所述的处理方法,其特征在于,在计算报文封装长度之前,还包括:获取封装信息表,其中,所述封装信息表用于记录每个网络设备的封装信息,所述封装信息至少包括:封装长度、传输单元;确定信息查找表,其中,所述信息查找表用于查找所述网络设备的设备信息,所述设备信息至少包括:路由出接口、路由下一跳。3.根据权利要求2所述的处理方法,其特征在于,计算报文封装长度的步骤,包括:基于所述TCP报文携带的目的地址查找路由表,得到第一路由结果,其中,所述第一路由结果至少包括:路由出接口和路由下一跳;基于所述第一路由结果查询所述信息查找表,得到与所述第一路由结果中的所述路由出接口以及所述路由下一跳对应的第一层网络设备,其中,所述第一层网络设备封装有下一目的地址;基于所述封装信息表,确定所述第一层网络设备的所述封装长度和所述传输单元;基于所述下一目的地址查找所述路由表,得到第二路由结果,并基于所述第二路由结果查询所述信息查找表,直到查询到最后一层网络设备,其中,所述第二路由结果至少包括:与下一层网络设备对应的路由出接口和路由下一跳;基于每层网络设备的所述封装长度和所述传输单元,计算所述报文封装长度。4.根据权利要求3所述的处理方法,其特征在于,基于每个网络设备的所述封装长度和所述传输单元,计算所述报文封装长度的步骤,包括:基于每层网络设备的所述传输单元,确定最小传输单元;确定预设地址头部长度以及预设TCP头部长度;确定多层网络设备...

【专利技术属性】
技术研发人员:代应浪王笑茹余祖愿曹成王深
申请(专利权)人:山石网科通信技术股份有限公司
类型:发明
国别省市:

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

1