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

一种报文链终端协议栈构建方法和解析方法、装置及终端与流程

2022-03-01 21:13:54 来源:中国专利 TAG:


1.本发明涉及计算机领域,尤其涉及一种报文链终端协议栈构建方法和解析方法、装置及终端。


背景技术:

2.报文链是北京信息科技大学蒋文保教授研究团队提出的一种网络数据传输的安全手段,遵循以报文链协议标准的网络传输模式成为链式网络传输模式。传统tcp/ip网络传输模式缺乏内生安全机制,一般利用ipsec等附加的安全增强技术解决网络层安全问题,而ipsec需要对传输的报文进行逐包签名和认证,存在效率低下的问题,而链式网络传输模型解决了这一类问题。
3.为了实现对链式网络传输模式的支持,终端主机的网络层报文需要进行修改。然而如何实现对网络层报文的修改和传输,且能够最大限度的使用现有的网络基础设施,避免对骨干网的网络基础设施的修改和更新,并能解决现有网络中存在的弊端和不足之处,成为亟待解决的问题。


技术实现要素:

4.本发明旨在提供一种克服上述问题或者至少部分地解决上述问题的报文链终端协议栈构建方法和解析方法、装置及终端。
5.为达到上述目的,本发明的技术方案具体是这样实现的:
6.本发明的第一个方面提供了一种报文链终端协议栈构建方法,包括:获取报文的报文头的预设格式,其中报文头的预设格式至少包括:源sui、目的sui、报文链最新节点值和序列号,或源sei、目的sei、报文链最新节点值和序列号;源sui为发送方用户标识符或发送方用户标识符进行哈希函数计算后得到的固定长度哈希值;目的sui为接收方用户标识符或接收方用户标识符进行哈希函数计算后得到的固定长度哈希值;源sei为发送方设备标识符或发送方设备标识符进行哈希函数计算后得到的固定长度哈希值;目的sei为接收方设备标识符或接收方设备标识符进行哈希函数计算后得到的固定长度哈希值;构建报文链,所述报文链包括:按照顺序相连的第一节点值、中间节点值和链尾节点值,其中,所述链尾节点值为所述报文链最新的一个节点值,所述报文链随着所述链尾节点值的更新变换不断生长;对当前待发送报文进行哈希计算,得到所述当前待发送报文对应的哈希值,将所述当前待发送报文对应的哈希值与当前链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述链尾节点值,所述当前链尾节点值作为所述中间节点值;所述报文链最新节点值为所述链尾节点值;所述序列号为发送方发送报文序列的顺序编号;将报文链最新节点值和序列号封装在网际层协议数据包之中,构建网际层的报文。
7.其中,在采用ipv4方式时,报文头的预设格式至少包括:源ipv4地址、目的ipv4地址、源sui、目的sui、报文链最新节点值和序列号,或源ipv4地址、目的ipv4地址、源sei、目的sei、报文链最新节点值和序列号;在采用ipv6方式时,报文头的预设格式至少包括:源
ipv6地址、目的ipv6地址、源sui、目的sui、报文链最新节点值和序列号,或源ipv6地址、目的ipv6地址、源sei、目的sei、报文链最新节点值和序列号。
8.其中,方法还包括:对所述报文在应用层和传输层采用tcp/ip方式进行封装;对所述报文在数据链路层和物理层采用tcp/ip方式进行封装。
9.本发明第二个方面提供了一种对上述方法构建的报文的解析方法,包括:接收方将报文链链尾节点与接收到的报文的哈希值拼接后通过哈希函数计算得到报文链最新节点值,比对验证封装在所述接收报文中的报文链最新节点值与所述接收方计算得到的报文链最新节点值;验证通过之后,判断是否需要实名验证发送方身份;如果不需要实名验证发送方身份,则读取数据载荷;如果需要实名验证发送方身份,则查询本地实名缓存表,如果所述本地实名缓存表存在源sui哈希值或源sei哈希值的映射,则获取映射后的源sui或源sei;如果所述本地实名缓存表不存在源sui哈希值或源sei哈希值的映射,则请求认证设备获取映射后的实名源sui或源sei,并存入本地实名缓存表,读取数据载荷。
10.其中,方法还包括:对所述报文在物理层和数据链路层采用tcp/ip方式进行解析;对所述报文在传输层和应用层采用tcp/ip方式进行解析。
11.本发明的第三个方面提供了一种报文链终端协议栈构建装置,包括:获取模块,用于获取报文的报文头的预设格式,其中报文头的预设格式至少包括:源sui、目的sui、报文链最新节点值和序列号,或源sei、目的sei、报文链最新节点值和序列号;所述源sui为发送方用户标识符或发送方用户标识符进行哈希函数计算后得到的固定长度哈希值;所述目的sui为接收方用户标识符或接收方用户标识符进行哈希函数计算后得到的固定长度哈希值;所述源sei为发送方设备标识符或发送方设备标识符进行哈希函数计算后得到的固定长度哈希值;所述目的sei为接收方设备标识符或接收方设备标识符进行哈希函数计算后得到的固定长度哈希值;构建报文链,所述报文链包括:按照顺序相连的第一节点值、中间节点值和链尾节点值,其中,所述链尾节点值为所述报文链最新的一个节点值,所述报文链随着所述链尾节点值的更新变换不断生长;对当前待发送报文进行哈希计算,得到所述当前待发送报文对应的哈希值,将所述当前待发送报文对应的哈希值与当前链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述链尾节点值,所述当前链尾节点值作为所述中间节点值;所述报文链最新节点值为所述链尾节点值;所述序列号为发送方发送报文序列的顺序编号;将报文链最新节点值和序列号封装在网际层协议数据包之中,构建网际层的报文。计算模块,用于对当前待发送报文进行哈希计算,得到当前待发送报文对应的哈希值,将当前待发送报文对应的哈希值与当前链尾节点值进行哈希计算得到新的哈希值,将新的哈希值作为链尾节点值,当前链尾节点值作为中间节点值;用于发送方将报文链链尾节点与要发送的报文的哈希值拼接后通过哈希函数计算得到报文链最新节点值,将报文链最新节点值封装在网际层协议数据包之中,构建网际层的报文。
12.其中,在采用ipv4方式时,所述报文头的预设格式至少包括:源ipv4地址、目的ipv4地址、所述源sui、所述目的sui、所述报文链最新节点值和所述序列号,或源ipv4地址、目的ipv4地址、所述源sei、所述目的sei、所述报文链最新节点值和所述序列号;在采用ipv6方式时,所述报文头的预设格式至少包括:源ipv6地址、目的ipv6地址、所述源sui、所述目的sui、所述报文链最新节点值和所述序列号,或源ipv6地址、目的ipv6地址、所述源sei、所述目的sei、所述报文链最新节点值和所述序列号。
13.其中,装置还包括:封装模块,用于对所述报文在应用层和传输层采用tcp/ip方式进行封装;对所述报文在数据链路层和物理层采用tcp/ip方式进行封装。
14.本发明的第四个方面一种对上述方法构建的报文的解析装置,包括:验证模块,接收方将报文链链尾节点与接收到的报文的哈希值拼接后通过哈希函数计算得到报文链最新节点值,比对验证封装在所述接收报文中的报文链最新节点值与所述接收方计算得到的报文链最新节点值;读取模块,用于在对所述报文链最新节点值进行验证通过之后,判断是否需要实名验证发送方身份;如果不需要实名验证发送方身份,则读取数据载荷;如果需要实名验证发送方身份,则查询本地实名缓存表,如果所述本地实名缓存表存在源sui哈希值或源sei哈希值的映射,则获取映射后的源sui或源sei;如果所述本地实名缓存表不存在源sui哈希值或源sei哈希值的映射,则请求认证设备获取映射后的实名源sui或源sei,并存入本地实名缓存表,读取数据载荷。
15.其中,装置还包括:解析模块,用于对所述报文在物理层和数据链路层采用传统tcp/ip方式进行解析;对所述报文在传输层和应用层采用传统tcp/ip方式进行解析。
16.本发明第五个方面提供了一种报文链终端协议栈的丢包处理机制,包括:
17.比对接收端接收的报文的序列号是否与上一个通过验证的报文满足顺序关系,满足则对报文链最新节点值进行验证,不满足则滞留报文,超过滞留时间则进行丢包处理。
18.一个丢包处理实例为:通信两端a和b正通过链式网络传输模式进行报文通信,a要向b发送序列号为seq1,seq2,

,seqn的报文m1,m2,

,mn,双方构建报文链hc和hc’。当b收到的数据包存在错序到达或丢包的情况,具体位置本次收到的数据包mi的序列号seqi与上一个已经接收并成功通过验证的数据包mj的序列号seqj,满足seqi-seqj≠1,就对序列号为seqj 1的报文mi设置报文超时请求计时,对最新收到的数据包mi设置报文滞留计时,并且报文超时请求计时小于报文滞留计时。同时对收到的每个序列号不满足数值为seqj 1的报文设置报文滞留计时。
19.当b收到序列号为seqj 1的数据包mj 1,则判断封装在报文中的报文链最新节点值是否能够通过验证,如果能够通过验证,则说明报文具有安全性,重置发送终止时延,同时从接收但未成功验证的数据包中获取序列号为seqj 2的数据包mj 2,存在则进行验证处理,否则按同样步骤向a请求数据包mj 2。之后以同样方法按序接收报文序列。
20.本发明第六个方面提供了一种报文链终端协议栈的链式同步机制,包括:
21.比对接收端按序接收的报文携带的报文链最新节点值与接收端构建的报文链最新节点值,若不能通过验证则重新请求报文来完成链式同步;用于比对接收端错序接收的报文携带的报文链最新节点值与接收端构建的报文链最新节点值,若不能通过验证则将此报文与其顺序之后的报文都进行重新请求来完成链式同步。
22.一个链式同步的实例为:接收端收到的数据包m1,m2,

,mn是按序到达,若其中某一个序列号为seqs的报文ms不能通过报文链验证,则需要发送方重新发送报文ms,并在此时对报文设置报文滞留时间。如果在报文滞留时间内能够接收报文ms并能成功验证,则继续验证后续报文;若超过报文滞留时间还未能接收报文ms,则需要将ms以及报文滞留时间内接收的报文都重新请求并验证;
23.或是接收端收到的报文错序到达,具体为本次收到的报文mt的序列号seqt与上一个已经接收并成功通过验证的报文ms的序列号seqs,存在seqt-seqs≠1,则对mt设置报文
滞留时间。如果序号顺序在ms后的报文mr不能通过报文链验证,则重新请求报文mr到超过报文滞留时间时序列号最大的报文mq间的所有报文序列。
24.本发明第七个方面提供了一种报文链的构建装置,包括:构建模块,用于构建报文链,所述报文链包括:按照顺序相连的第一节点值、中间节点值和链尾节点值,其中,所述链尾节点值为所述报文链最新的一个节点值,所述报文链随着所述链尾节点值的更新变换不断生长;计算模块,用于对当前待发送报文进行哈希计算,得到所述当前待发送报文对应的哈希值,将所述当前待发送报文对应的哈希值与当前链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述链尾节点值,所述当前链尾节点值作为所述中间节点值。
25.本发明第八个方面提供了一种用于终端报文的构建装置,包括:存储器,用于存储上述的用于报文链终端协议栈构建方法处理过程的程序代码;处理器,用于执行程序代码。
26.本发明第九个面提供了一种用于存储上述的解析方法处理过程的程序代码;处理器,用于执行程序代码。
27.本发明第十个方面提供了一种报文链终端,包括:上述的报文链终端协议栈构建装置;以及上述的解析装置。
28.由此可见,通过本发明提供的报文链终端协议栈构建和解析方法、装置及终端,对于基于报文链的链式网络传输模式,兼容现有ipv4和ipv6协议结构,实现链式传输模式对于ipv4/6网络协议的兼容,同时对报文链终端主机协议栈进行修改,使终端主机能够在链式网络传输模式下构建真实的网络环境。
附图说明
29.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
30.图1为基于报文链的链式网络传输模型中端到端协议层次示意图;
31.图2为本发明实施例提供的报文链终端协议栈构建方法的流程图;
32.图3为本发明实施例提供的协议栈结构示意图;
33.图4为本发明实施例提供的报文链in ipv4报文头格式示意图;
34.图5为本发明实施例提供的报文链in ipv6报文头格式示意图;
35.图6为本发明实施例提供的报文的原始格式示意图;
36.图7为本发明实施例提供的终端有ip的报文链-in-ip报文封装结构示意图;
37.图8为本发明实施例提供的终端无ip的报文链-in-ip报文封装结构示意图;
38.图9为本发明实施例提供的对如图2所构建的报文的解析方法的流程图;
39.图10为本发明实施例提供的终端协议栈构建装置的结构示意图;
40.图11为本发明实施例提供的解析装置的结构示意图;
41.图12为本发明实施例提供的终端的结构示意图。
具体实施方式
42.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开
的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
43.图1示出了本发明实施例提供的报文链终端协议栈构建方法的流程图,图2为本发明实施例提供的报文链终端协议栈构建方法的流程图,结合图1和图2,本发明实施例提供的报文链终端协议栈构建方法,包括:
44.s1,获取报文的报文头的预设格式,其中报文头的预设格式至少包括:源sui、目的sui、报文链最新节点值和序列号,或源sei、目的sei、报文链最新节点值和序列号;源sui为发送方用户标识符或发送方用户标识符进行哈希函数计算后得到的固定长度哈希值;目的sui为接收方用户标识符或接收方用户标识符进行哈希函数计算后得到的固定长度哈希值;源sei为发送方设备标识符或发送方设备标识符进行哈希函数计算后得到的固定长度哈希值;目的sei为接收方设备标识符或接收方设备标识符进行哈希函数计算后得到的固定长度哈希值;
45.构建报文链,所述报文链包括:按照顺序相连的第一节点值、中间节点值和链尾节点值,其中,所述链尾节点值为所述报文链最新的一个节点值,所述报文链随着所述链尾节点值的更新变换不断生长;对当前待发送报文进行哈希计算,得到所述当前待发送报文对应的哈希值,将所述当前待发送报文对应的哈希值与当前链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述链尾节点值,所述当前链尾节点值作为所述中间节点值;
46.所述报文链最新节点值为所述链尾节点值;所述序列号为发送方发送报文序列的顺序编号;将报文链最新节点值和序列号封装在网际层协议数据包之中,构建网际层的报文。
47.具体地,如图3所示,本发明中传输层和网际层协议之间的接口使用源shi和目的shi来标识,shi即安全用户标识符sui和安全设备标识符sei。其中,sui和sei被写入报文头。终端在报文封装完成后进行网络设备的寻址。其中,sui和sei分别是标识解析系统为接入链式网络传输模型的每个用户分配的一个固定的身份标识符和每个终端设备的一个固定的设备标识符。
48.作为本发明实施例的一个可选实施方式,本发明实施例提供的报文链终端协议栈构建方法还包括:对报文在应用层和传输层采用tcp/ip方式进行封装;对报文在数据链路层和物理层采用tcp/ip方式进行封装。具体地,报文链终端协议栈的应用层和传输层与现有格式一致。报文链终端协议栈的应用层和传输层之间采用现有tcp/ip的源和目的端口号来标识。报文链基于终端的安全主机标识符shi,也即终端用户的安全用户标识符和终端设备的安全设备标识符。数据链路层与物理层与现有tcp/ip格式一致。
49.s2,构建报文链,构建方法参照专利cn202110360263.3(一种报文哈希链的构建方法及装置)进行构建。
50.s3,接收方将报文链链尾节点与接收到的报文的哈希值拼接后通过哈希函数计算得到报文链最新节点值,比对验证封装在所述接收报文中的报文链最新节点值与所述接收方计算得到的报文链最新节点值,验证通过后,判断是否需要实名验证发送方身份;
51.报文链最新节点值在网际层协议数据包之后,构建网际层的报文。
52.由此可见,通过本发明提供的构建方法,对于链式网络传输模型,兼容现有ipv4和ipv6协议结构,实现网际层协议对于ipv4/6网络协议的兼容,同时对终端主机协议栈进行修改,使终端主机能够在链式网络传输模型下构建真实的网络环境。
53.作为本发明实施例的一个可选实施方式,在采用ipv4方式时,报文头的预设格式至少包括:源ipv4地址、目的ipv4地址、源sui、目的sui、报文链最新节点值和序列号,或源ipv4地址、目的ipv4地址、源sei、目的sei、报文链最新节点值和序列号;在采用ipv6方式时,报文头的预设格式至少包括:源ipv6地址、目的ipv6地址、源sui、目的sui、报文链最新节点值和序列号,或源ipv6地址、目的ipv6地址、源sei、目的sei、报文链最新节点值和序列号。
54.为了实现对链式网络传输模型的支持,终端主机的网络层报文需要进行修改。考虑到报文链模型采用了“映射 封装”的方式,数据要在目前部署广泛的ipv4和ipv6网络中传输时,需要将ipv4和ipv6报头封装为新的报文链报头,这样增大了原始报文尺寸。本发明中报文头与ip报文头最大的不同点在于,添加了源和目的安全标识符以及源和目的安全设备标识符,用于验证数据报文发送者的身份合法性;添加报文链最新节点值,用于验证传输报文的完整性和真实性。
55.为了最大限度的使用现有的网络基础设施,避免对骨干网的网络基础设施的修改和更新,并能解决现有网络中存在的弊端和不足之处,本发明基于报文链终端报文的格式,采用报文链-in-ip的封装方式和骨干网传输封装格式两种模式对网际层报文进行封装。
56.1)报文链终端包含ip地址的报文链-in-ip报文封装格式:
57.图4和图5分别表示了报文链-in-ipv4和报文链-in-ipv6的报文头格式。终端主机与其他终端通信所发送的数据报文格式采用图3和图4的形式发出。报文链-in-ipv4/ipv6报文可以和正常的ipv4或者ipv6报文一样在接入网私域和骨干网公域网络中实现路由和转发。
58.本发明中,其中报文头包含以下字段:
59.源sui:sourcesui字段表示源主机用户的安全主机标识符。
60.目的sui:destinationsui字段表示目的主机用户的安全主机标识符。
61.源sei:sourcesei字段表示源主机设备的安全设备标识符。
62.目的sei:destinationsei字段表示目的主机设备的安全设备标识符。
63.报文链最新节点值:packet hash chain字段用于存放数据包报文的哈希值与报文链链尾节点通过哈希函数计算得到的固定长度哈希值。
64.序列号:sequence字段表示传输报文对应顺序排序。
65.2)报文链终端不包含ip地址的报文链传输报文封装格式:
66.如图6所示,报文链终端可以使用这一报文格式在链式传输模型构建的可信网络中通信。在接入网私域中,不使用ipv4和ipv6中的地址定位符,而是采用源和目的sui以及源和目的sei进行身份标识和地址转发。同时,报文头的格式借鉴了ipv6报文头的设计思想,简化了报头格式。
67.其中与报文链-in-ip报文格式有区别的字段为:
68.版本:version字段用于表示报文链协议的版本号。
69.服务类型:servicetype字段用于表示数据包在骨干网路由器转发时所期待的服
务。
70.扩展报头:extendheader字段用于表示第一个扩展报头(如果存在)的类型,或上层pdu(protocoldataunit)中的协议。
71.跳限制:hoplimit字段用于防止数据包在网络中无限地循环,表示数据包在被丢弃前允许通过的最大链路数,当该字段的值减为0时,该数据包会被丢弃。
72.有效载荷长度:payloadlength字段用于表示数据包的有效载荷的长度。
73.保留:reserve字段作为报文头的扩展,用于预留空间。
74.以下,提供两种具体的报文封装方法的流程,但本发明并不局限于此:
75.1、如图7所示,报文链终端包含ip地址的报文链-in-ip报文的封装步骤为:
76.(1)报文链终端对应用层和传输层的封装与现有tcp/ip方法一致。
77.(2)在网际层协议中,源和目的sui是报文链终端自己和接收端的安全主机标识符,将源和目的sui进行哈希函数计算后封装进数据报文中。
78.(3)源和目的sei为发送数据终端设备和接收数据终端设备的安全设备标识符,同样对其进行哈希函数计算后封装进数据报文中。
79.(4)报文链最新节点值为数据包中报文的哈希值与报文链链尾节点值进行哈希函数计算后封装进数据报文中。
80.(5)系列号为当前报文的顺序编号,报文链最新节点值以序列号顺序进行比对验证。
81.(6)在报文链-in-ipv4报文格式中,将“protocol”字段设置为“phc”。在报文链-in-ipv6报文格式中,将“nextheader”字段设置为“phc”。完成如图7的网阶层的数据报文封装。
82.(7)数据链路层与物理层同样与现有tcp/ip方法一致。
83.2、如图8所示,报文链终端不包含ip地址的报文的封装步骤为:
84.(1)报文链终端对应用层和传输层的封装与现有tcp/ip方法一致。
85.(2)“version”字段表示报文链协议的版本号“1”。“servicetype”字段填入数据包在骨干网路由器转发时所期待的服务。“extendheader”字段填入第一个扩展报头的类型或上层pdu中的协议。“hoplimit”字段填入数据包在被丢弃前允许通过的最大链路数。“payloadlength”字段填入数据包的有效载荷的长度。“reserve”字段为预留空间。
86.(3)在网际层协议中,源和目的sui是终端自己和接收端的安全主机标识符,将源和目的sui进行哈希函数计算后封装进数据报文中。
87.(4)源和目的sei为发送数据终端设备和接收数据终端设备的安全设备标识符,同样对其进行哈希函数计算后封装进数据报文中。
88.(5)报文链最新节点值为数据包中报文的哈希值与报文链链尾节点值进行哈希函数计算后封装进数据报文中。
89.(6)系列号为当前报文的顺序编号,报文链最新节点值以序列号顺序进行比对验证。完成如图8的网阶层的数据报文封装。
90.(7)数据链路层与物理层与现有tcp/ip方法一致。数据封装好后发送到认证设备进行转发。
91.本发明实施例提供的对一种报文链终端协议栈的丢包处理机制,包括:
92.比对接收端接收的报文的序列号是否与上一个通过验证的报文满足顺序关系,满足则对报文链最新节点值进行验证,不满足则滞留报文,超过滞留时间则进行丢包处理。
93.一个丢包处理实例为:通信两端a和b正通过链式网络传输模式进行报文通信,a要向b发送序列号为seq1,seq2,

,seqn的报文m1,m2,

,mn,双方构建报文链hc和hc’。当b收到的数据包存在错序到达或丢包的情况,具体位置本次收到的数据包mi的序列号seqi与上一个已经接收并成功通过验证的数据包mj的序列号seqj,满足seqi-seqj≠1,就对序列号为seqj 1的报文mi设置报文超时请求计时,对最新收到的数据包mi设置报文滞留计时,并且报文超时请求计时小于报文滞留计时。同时对收到的每个序列号不满足数值为seqj 1的报文设置报文滞留计时。
94.当b收到序列号为seqj 1的数据包mj 1,则判断封装在报文中的报文链最新节点值是否能够通过验证,如果能够通过验证,则说明报文具有安全性,重置发送终止时延,同时从接收但未成功验证的数据包中获取序列号为seqj 2的数据包mj 2,存在则进行验证处理,否则按同样步骤向a请求数据包mj 2。之后以同样方法按序接收报文序列。
95.本发明实施例提供的对一种报文链终端协议栈的链式同步机制,包括:
96.比对接收端按序接收的报文携带的报文链最新节点值与接收端构建的报文链最新节点值,若不能通过验证则重新请求报文来完成链式同步;用于比对接收端错序接收的报文携带的报文链最新节点值与接收端构建的报文链最新节点值,若不能通过验证则将此报文与其顺序之后的报文都进行重新请求来完成链式同步。
97.一个链式同步的实例为:接收端收到的数据包m1,m2,

,mn是按序到达,若其中某一个序列号为seqs的报文ms不能通过报文链验证,则需要发送方重新发送报文ms,并在此时对报文设置报文滞留时间。如果在报文滞留时间内能够接收报文ms并能成功验证,则继续验证后续报文;若超过报文滞留时间还未能接收报文ms,则需要将ms以及报文滞留时间内接收的报文都重新请求并验证;
98.或是接收端收到的报文错序到达,具体为本次收到的报文mt的序列号seqt与上一个已经接收并成功通过验证的报文ms的序列号seqs,存在seqt-seqs≠1,则对mt设置报文滞留时间。如果序号顺序在ms后的报文mr不能通过报文链验证,则重新请求报文mr到超过报文滞留时间时序列号最大的报文mq间的所有报文序列。
99.图9为本发明实施例提供的对如图2所构建的报文的解析方法的流程图,参见图9,本发明实施例提供的对如图2所构建的报文的解析方法,包括:
100.s4,接收方将报文链链尾节点与接收到的报文的哈希值拼接后通过哈希函数计算得到报文链最新节点值,比对验证封装在所述接收报文中的报文链最新节点值与所述接收方计算得到的报文链最新节点值,实现对报文真实性和安全性的验证。
101.s5,在对报文链最新节点值进行验证通过之后,判断是否需要实名验证发送方身份;
102.s6,如果不需要实名验证发送方身份,则读取数据载荷;
103.s7,如果需要实名验证发送方身份,则查询本地实名缓存表,如果本地实名缓存表存在源sui哈希值或源sei哈希值的映射,则获取映射后的源sui或源sei;如果本地实名缓存表不存在源sui哈希值或源sei哈希值的映射,则请求认证设备获取映射后的实名源sui或源sei,并存入本地实名缓存表,读取数据载荷。
104.具体地,本发明可以进行匿名传输,也可以进行实名传输,在需要进行实名验证时,会验证发送方身份,只有验证发送方身份通过后,才可以读取数据载荷部分。
105.由此可见,通过本发明提供的解析方法,对于基于链式网络传输模型的可信网络,兼容现有ipv4和ipv6协议结构,实现链式网络传输模型对于ipv4/6网络协议的兼容,同时对终端主机协议栈进行修改,使终端主机能够在链式网络传输模型网络结构下构建真实的网络环境。
106.作为本发明实施例的一个可选实施方式,本发明实施例提供的对上述构建的报文的解析方法还包括:对报文在物理层和数据链路层采用tcp/ip方式进行解析;对报文在传输层和应用层采用tcp/ip方式进行解析。
107.以下,提供两种具体的解析方法的流程,但本发明并不局限于此:
108.1、报文链终端包含ip地址的报文链-in-ip报文的解析步骤为:
109.(1)物理层和数据链路层的解析过程与tcp/ip方法一致。
110.(2)在报文链解析中,终端需要判断ipv4“protocol”字段是否为“phc”,ipv6“nextheader”字段是否为“phc”,若不是则说明该数据报文不使用报文链-in-ip解析。
111.(3)终端确认需要使用报文链-in-ip解析后,接收方将报文链链尾节点与接收到的报文的哈希值拼接后通过哈希函数计算得到报文链最新节点值,比对验证封装在所述接收报文中的报文链最新节点值与所述接收方计算得到的报文链最新节点值。
112.(4)终端对报文链最新节点值验证成功后,若需要实名验证发送方身份,首先查询本地实名缓存表,若存在源sui哈希值或源sei哈希值的映射,则获取映射后的源sui或源sei。
113.(5)若本地实名缓存表不存在源sui哈希值或源sei哈希值的映射,则请求认证设备获取映射后的实名源sui或源sei,并存入本地实名缓存表。
114.(6)终端完成以上步骤后,读取数据载荷部分。
115.(7)传输层和应用层的解析过程与现有tcp/ip方法一致,完成数据报文的解析。
116.2、报文链终端不包含ip地址的报文链传输报文的解析步骤为:
117.(1)物理层和数据链路层的解析过程与tcp/ip方法一致。
118.(2)在报文链的报文解析中,接收方将报文链链尾节点与接收到的报文的哈希值拼接后通过哈希函数计算得到报文链最新节点值,比对验证封装在所述接收报文中的报文链最新节点值与所述接收方计算得到的报文链最新节点值。
119.(3)终端对报文链最新节点值认证成功后,若需要实名验证发送方身份,首先查询本地实名缓存表,若存在源sui哈希值或源sei哈希值的映射,则获取映射后的源sui或源sei。
120.(4)若本地实名缓存表不存在源sui哈希值或源sei哈希值的映射,则请求认证设备获取映射后的实名源sui或源sei,并存入本地实名缓存表。
121.(5)终端完成以上步骤后,读取数据报文的数据载荷。
122.(6)传输层和应用层的解析过程与现有tcp/ip方法一致,完成数据报文的解析。
123.图10示出了本发明实施例提供的报文链终端协议栈构建装置的结构示意图,该报文链终端协议栈构建装置应用于上述方法,以下仅对报文链终端协议栈构建装置的结构进行简要说明,其他未尽事宜,请参考上述报文链终端协议栈构建方法的相关说明,在此不再
赘述,参见图10,本发明实施例提供的报文链终端协议栈构建装置,包括:
124.获取模块,用于获取报文的报文头的预设格式,其中报文头的预设格式至少包括:源sui、目的sui、报文链最新节点值和序列号,或源sei、目的sei、报文链最新节点值和序列号;源sui为发送方用户标识符或发送方用户标识符进行哈希函数计算后得到的固定长度哈希值;目的sui为接收方用户标识符或接收方用户标识符进行哈希函数计算后得到的固定长度哈希值;源sei为发送方设备标识符或发送方设备标识符进行哈希函数计算后得到的固定长度哈希值;目的sei为接收方设备标识符或接收方设备标识符进行哈希函数计算后得到的固定长度哈希值;
125.构建报文链,所述报文链包括:按照顺序相连的第一节点值、中间节点值和链尾节点值,其中,所述链尾节点值为所述报文链最新的一个节点值,所述报文链随着所述链尾节点值的更新变换不断生长;对当前待发送报文进行哈希计算,得到所述当前待发送报文对应的哈希值,将所述当前待发送报文对应的哈希值与当前链尾节点值进行哈希计算得到新的哈希值,将所述新的哈希值作为所述链尾节点值,所述当前链尾节点值作为所述中间节点值;
126.所述报文链最新节点值为所述链尾节点值;所述序列号为发送方发送报文序列的顺序编号;将报文链最新节点值和序列号封装在网际层协议数据包之中,构建网际层的报文。
127.构建模块,用于构建报文链,报文链包括:按照顺序相连的第一节点值、中间节点值和链链尾节点值,其中,链尾节点值为报文链最新的一个节点值,报文链随着链尾节点值的更新变换不断生长;
128.计算模块,用于对当前待发送报文进行哈希计算,得到当前待发送报文对应的哈希值,将当前待发送报文对应的哈希值与当前链尾节点值进行哈希计算得到新的哈希值,将新的哈希值作为链尾节点值,当前链尾节点值作为中间节点值;接收方将报文链链尾节点与接收到的报文的哈希值拼接后通过哈希函数计算得到报文链最新节点值,比对验证封装在所述接收报文中的报文链最新节点值与所述接收方计算得到的报文链最新节点值。
129.作为本发明实施例的一个可选实施方式,在采用ipv4方式时,报文头的预设格式至少包括:源ipv4地址、目的ipv4地址、源sui、目的sui、报文链最新节点值和序列号,或源ipv4地址、目的ipv4地址、源sei、目的sei、报文链最新节点值和序列号;在采用ipv6方式时,报文头的预设格式至少包括:源ipv6地址、目的ipv6地址、源sui、目的sui、报文链最新节点值和序列号,或源ipv6地址、目的ipv6地址、源sei、目的sei、报文链最新节点值和序列号。
130.作为本发明实施例的一个可选实施方式,第一节点值包括:新的第一哈希值或者第1个哈希值,其中:第1个哈希值为对第一个待发送报文进行哈希计算得到的第一个报文对应的第1个哈希值;新的第一哈希值为将第1个哈希值进行迭代哈希计算得到的。
131.作为本发明实施例的一个可选实施方式,发送端向接收端发送的报文;或者发送端向接收端发送的报文以及接收端向发送端发送的报文。
132.由此可见,利用本发明实施例提供的报文链的构建装置,可以将所传输报文的哈希值通过迭代哈希,形成一个关于报文序列的报文链。通信双方可以通过报文链来确保报文序列的完整性、真实性和同步性,从而大大提高报文传输的安全性,从而有效提高报文传
输的效率。
133.作为本发明实施例的一个可选实施方式,本发明实施例提供的报文链终端协议栈构建装置还包括:封装模块,用于对报文在应用层和传输层采用tcp/ip方式进行封装;对报文在数据链路层和物理层采用tcp/ip方式进行封装。
134.本发明还提供一种用于终端报文的构建装置,包括:存储器,用于存储上述的用于报文链终端协议栈构建方法处理过程的程序代码;处理器,用于执行程序代码。
135.由此可见,通过本发明提供的构建装置,对于基于报文链的链式网络传输模型的可信网络,兼容现有ipv4和ipv6协议结构,实现链式网络传输模型对于ipv4/6网络协议的兼容,同时对终端主机协议栈进行修改,使终端主机能够在链式网络传输模型网络结构下构建真实的网络环境。
136.图11示出了本发明实施例提供的对上述构建的报文的解析装置的结构示意图,该解析装置应用于上述解析方法,以下仅对该解析装置的结构进行简要说明,其他未尽事宜,请参考上述解析方法中的相关说明,在此不再赘述,参见图11,本发明实施例提供的解析装置,包括:
137.验证模块,用于接收方将报文链链尾节点与接收到的报文的哈希值拼接后通过哈希函数计算得到报文链最新节点值,比对验证封装在所述接收报文中的报文链最新节点值与所述接收方计算得到的报文链最新节点值。
138.读取模块,用于在对报文链最新节点值验证通过之后,判断是否需要实名验证发送方身份;如果不需要实名验证发送方身份,则读取数据载荷;如果需要实名验证发送方身份,则查询本地实名缓存表,如果本地实名缓存表存在源sui哈希值或源sei哈希值的映射,则获取映射后的源sui或源sei;如果本地实名缓存表不存在源sui哈希值或源sei哈希值的映射,则请求认证设备获取映射后的实名源sui或源sei,并存入本地实名缓存表,读取数据载荷
139.作为本发明实施例的一个可选实施方式,本发明实施例提供的解析装置还包括:解析模块,用于对报文在物理层和数据链路层采用传统tcp/ip方式进行解析;对报文在传输层和应用层采用传统tcp/ip方式进行解析。
140.本发明还提供一种用于存储上述的解析方法处理过程的程序代码;处理器,用于执行程序代码。
141.由此可见,通过本发明提供的解析装置,对于基于链式网络传输模型的可信网络,兼容现有ipv4和ipv6协议结构,实现链式网络传输模型对于ipv4/6网络协议的兼容,同时对终端主机协议栈进行修改,使终端主机能够在链式网络传输模型网络结构下构建真实的网络环境。
142.图12示出了本发明实施例提供的报文链终端结构示意图,该终端包括:上述的报文链终端协议栈构建装置;以及上述的解析装置。
143.由此可见,通过本发明提供的终端,对于基于链式网络传输模型的可信网络,兼容现有ipv4和ipv6协议结构,实现链式网络传输模型对于ipv4/6网络协议的兼容,同时对终端主机协议栈进行修改,使终端主机能够在链式网络传输模型网络结构下构建真实的网络环境。
144.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序
产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
145.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
146.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
147.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
148.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
149.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
150.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
151.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

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

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

相关文献