本发明属于信息技术系统中的计算机通信,具体涉及一种分布式动态自组织无线多跳网络的压缩传输方法及装置。
背景技术:
1、随着物联网、智能城市、紧急救援、无人驾驶等领域的快速发展,分布式动态自组织无线多跳网络成为了这些应用不可或缺的技术基础。这类网络允许节点自主建立连接,以实现信息的共享和资源的协作。然而,网络的复杂拓扑结构、长距离通信需求以及节点资源的有限性导致了网络负载和能耗问题,成为制约其进一步发展的主要障碍。
2、众所周知,随着ip化趋势的加深,更多业务数据开始通过以太网报文传输,但其固有的包头开销(至少38个字节)在仅关注业务数据时显得尤为突出。这种开销在有限的无线带宽资源中占据了显著比例,从而促使人们寻求有效的数据报文头压缩技术,以提高空口带宽的利用率并节约宝贵的带宽资源。现有的解决方案,如van jacobson头压缩(vjhc)、ip头压缩(iphc)、压缩rtp (crtp) 和 robust头压缩(rohc) 方案,虽然在有线传输领域取得了一定的成功,但在面对无线多跳网络的特殊需求时存在明显的局限性。特别是,这些技术在无线环境中的可靠性不足和执行复杂度高等问题,限制了它们的应用范围和效率。
技术实现思路
1、本发明要解决的技术问题:针对现有技术的上述问题,提供一种分布式动态自组织无线多跳网络的压缩传输方法及装置,本发明旨在满足在不牺牲数据完整性的前提下最大限度地减少数据传输量,提高数据传输的效率和节能性,以及灵活适应网络环境的变化。
2、为了解决上述技术问题,本发明采用的技术方案为:
3、一种分布式动态自组织无线多跳网络的压缩传输方法,包括针对同一个数据流的网络数据包,基于压缩状态机完成网络数据包中数据流信息content和压缩状态的更新:所述压缩状态机包括初始化和重置状态ir、一级压缩状态fo和二级压缩状态so三个状态,初始化和重置状态ir下,数据流信息content保留全部静态域和动态域信息不变;一级压缩状态fo下,数据流信息content被删除静态域、仅保留完整的动态域信息;二级压缩状态so下,数据流信息content被删除静态域、仅传递动态域的压缩值;在初始化和重置状态ir下,若已连续发送指定数量n1个网络数据包则进入一级压缩状态fo;在一级压缩状态fo下,若已连续发送指定数量n2个网络数据包则进入二级压缩状态so,若超时未发送网络数据包则返回一级压缩状态fo;在入二级压缩状态so下,若检测到网络数据包中的动态域发生变化则进入一级压缩状态fo,若预设的较短超时未发送网络数据包则返回一级压缩状态fo;若预设的较长超时未发送网络数据包则返回初始化和重置状态ir。
4、可选地,所述数据流信息content由源ip地址、目的ip地址、源端口、目的端口和同步信源标识符ssrc五个值决定,五个值完全相同的网络数据包来源于同一个数据流且有相同的数据流信息content。
5、可选地,所述网络数据包为基于 ipv4 的语音业务流的sk_buff数据结构的网络数据包,且该网络数据包中的静态域包括版本、流标记、下一个报头以及源地址、目的地址共五个域;且该网络数据包中的动态域包括优先级和中继点限制共两个域。
6、可选地,所述基于压缩状态机完成网络数据包中数据流信息content和压缩状态的更新前包括:
7、s101,通过虚拟接口接收到来自网络层的网络数据包;
8、s102,判断网络数据包是否可压缩,若不可压缩不做处理直接将报文发送到物理网口上,结束并退出;否则转步骤s103;
9、s103,查找网络数据包的上下文编号cid,所述上下文编号cid用于标识不同的ip数据流且不同的ip数据流分配到唯一的上下文编号cid;如果查找失败,则为网络数据包分配一个未使用的上下文编号cid,并为该上下文编号cid创建一个新的数据流信息content并设置压缩状态为初始化和重置状态ir,所述数据流信息content用于区分数据流且同一个数据流且有相同的数据流信息content;
10、s104,根据找到的上下文编号cid得出网络数据包的数据流信息content和压缩状态。
11、可选地,
12、所述基于压缩状态机完成网络数据包中数据流信息content和压缩状态的更新后包括:
13、s201,对网络数据包的报文头中的动态域使用lsb 算法和w-lsb压缩算法压缩,并将网络数据包的报文头替换为压缩后的报文头;
14、s202,对网络数据包的原分组报头进行校验,并将校验结果填入网络数据包的校验域中;
15、s203,为网络数据包封装以太网头得到以太网数据帧,将以太网数据帧发送到物理网络设备上以通过分布式动态自组织无线多跳网络将以太网数据帧发送到目的节点。
16、可选地,步骤s202中的校验是指crc校验。
17、可选地,还包括在分布式动态自组织无线多跳网络中节点的数据链路层进行数据报文解压处理:
18、s301,将接收到的以太网数据帧去除链路层协议头,得到网络数据包;
19、s302,提取网络数据包中的上下文编号cid,根据上下文编号cid查找对应的数据流信息context;
20、s303,基于解压状态机对网络数据包进行解压处理并更新数据流信息content;解压状态机包括无文景状态nc、静态文景状态sc和全文景状态fc,无文景状态nc为数据流刚开始传递时解压方所处的状态,解压方没有ip信头静态和动态域信息,需要压缩方在ir状态发送包含完整信头的分组;静态文景状态sc指解压方获得了足够的静态域信息,与压缩方的一级压缩状态fo相对应,希望接收到包含完整动态信头的网络数据包;全文景状态fc指解压方获得了足够的静态域信息和动态域的变化规律信息时所处的状态,与压缩方的二级压缩状态so相对应,能够接收压缩方在二级压缩状态so所发送的网络数据包;解压方刚开始工作在无文景状态nc,一旦成功解压一个网络数据包就进入全文景状态fc,在全文景状态fc状态下,当最近指定数量k1个连续网络数据包解压失败时,则解压方转移到静态文景状态sc;在静态文景状态sc下,当成功解压一个网络数据包时,解压方转移到全文景状态fc,当最近指定数量k2个连续网络数据包解压失败的时候,解压方转移到无文景状态nc;
21、s304,对解压后的网络数据包的报文头进行校验,将校验的结果与网络数据包传来的校验域作比较:若相同,则表明解压无误,可传给上层;若不同,则表明解压错误,退出或者请求发送方进行重传处理。
22、此外,本发明还提供一种分布式动态自组织无线多跳网络的压缩传输装置,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行所述分布式动态自组织无线多跳网络的压缩传输方法。
23、此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序/指令,该算机程序/指令被编程或配置以通过处理器执行所述分布式动态自组织无线多跳网络的压缩传输方法。
24、此外,本发明还提供一种计算机程序产品,包括计算机程序/指令,该算机程序/指令被编程或配置以通过处理器执行所述分布式动态自组织无线多跳网络的压缩传输方法。
25、采用本发明可以达到以下技术效果:
26、1、本发明能保障自组织网络功能:通过不改变控制报文,本发明保证了网络的自组织功能,确保了基本的传输畅通和组网速度,不会因为压缩技术的应用而影响到网络的正常工作。
27、2、本发明能够减少传输时延:相比于rohc等需要在每一跳解压缩和再压缩的方法,本发明的一次性压缩与解压缩显著减少了数据在传输过程中的总体时延。
28、3、本发明能够提升网络性能:通过有效的报文头压缩,本发明降低了每个报文的带宽占用,使得网络能够容纳更多的数据传输,从而提升了网络的整体性能和资源利用率。