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

一种无线自组网的数据包头压缩及数据传输方法及系统

2022-09-07 15:03:53 来源:中国专利 TAG:


1.本发明涉及无线自组网的数据通信技术,具体涉及一种无线自组网的数据包头压缩及数据传输方法及系统。


背景技术:

2.无线自组网是一种不依赖于固定基础设施的网络,包括节点可随机移动的移动自组网、节点固定的无线网状网、无人机等构成的飞行自组网等,在应急救援、野外通信等方面具有重要的应用价值。这类网络由于节点可能频繁移动、无线链路带宽低、无线通信容易受环境影响,因而在实现高效的网络通信方面存在较大挑战。
3.为了充分利用有限的无线通信资源,过去针对无线链路上的数据包头压缩已经有了一些研究成果,主要是对tcp/ip协议数据包头进行压缩。例如,互联网协议标准化组织相继制定了一系列tcp/ip数据包头压缩的协议标准,包括编号分别为1144、2507、3095、4995、4996、5225、5795、6846的rfc标准,其中3095之后的标准称为rohc标准。rohc协议标准很好地解决了单条无线链路上的ip数据包头压缩问题,例如40字节的ip/udp/rtp数据包头能被压缩成1-3个字节来传输。尽管rohc标准能取得很好的数据包头压缩性能,但它们只适用于单条无线链路。如果在无线自组网络中应用rohc标准,需要网络传输路径上的每一跳路由节点进行数据包头的压缩和解压缩,将会大大增加路由节点的处理开销和数据包的传输延迟,因此有必要设计一种无须路由节点进行压缩和解压缩的数据包头压缩传输方法。
4.针对无线自组网络的数据包头压缩传输方法的研究不多。何晓霜等在2008年提出一个基于aodv的移动自组网报头压缩方法(简称hc-aodv方法),通过扩展aodv路由协议,在路由发现的同时完成rohc报头压缩参数的配置,能够在中间节点不进行压缩和解压缩的条件下,实现压缩数据包在移动自组网通信源端和目的端之间的传输,达到提高信道带宽利用率的目标。但是,hc-aodv方法存在下述问题:(1)由于hc-aodv方法跟aodv路由协议绑定,因而不适应于使用其他路由协议的移动自组网络。(2)hc-aodv方法中的中间节点在转发压缩数据包时,缺少对数据包生存时间域(time-to-live,ttl)的操作,因而一旦网络中存在路由环,数据包就可能在网络中不断“转圈”,增加网络拥堵并浪费网络带宽资源。(3)即使在源端已经有到目的端的路由情况下,hc-aodv方法依然需要源端和目的端之间协商报头压缩参数,而不能立即发送数据包,因而增加了会话第一个数据包的传输延迟。


技术实现要素:

5.本发明要解决的技术问题:针对现有技术的上述问题,提供一种无线自组网的数据包头压缩及数据传输方法及系统。本发明能够在无线自组网络中,在中间节点不进行压缩和解压缩的前提下实现源端和目的端之间压缩数据包的传输,能够适应节点移动带来的链路中断和拓扑变化,实现源端和目的端之间高效的通信。
6.为了解决上述技术问题,本发明采用的技术方案为:
7.一种无线自组网的数据包头压缩及数据传输方法,包括:
8.1)源端为新的会话生成对应的上下文标识cid;
9.2)源端将新的会话的ip数据包采用rohc协议压缩为压缩数据包,并针对每一个压缩数据包,添加源端和目的端的主机标识以及控制域字段ttl,查找路由表确定压缩数据包所需发送的下一跳节点以及出接口,然后将压缩数据包通过出接口发送给下一跳节点;
10.3)下一跳节点接收压缩数据包后,若该下一跳节点为目的端,则将压缩数据包解压缩为ip数据包后发送给ip协议模块处理;若该下一跳节点非目的端,则将压缩数据包的控制域字段ttl增加或减少,若控制域字段ttl等于设定值则丢弃压缩数据包,否则根据压缩数据包的目的端主机标识继续查找路由表,确定压缩数据包所需发送的下一跳节点以及出接口,然后将压缩数据包通过出接口发送给下一跳节点。
11.可选地,步骤1)中源端为新的会话生成对应的上下文标识cid为采用无符号整数表示的源端唯一标识。
12.可选地,步骤2)中添加源端和目的端的主机标识以及控制域字段ttl时,若ip数据包的ip目的地址是无线自组网外部的ip地址,则添加的目的端的主机标识为无线自组网的网关节点的主机标识;若ip数据包的ip目的地址是无线自组网内部节点的ip地址,则添加的目的端的主机标识为ip目的地址对应的主机标识。
13.可选地,所述控制域字段ttl为一个字节的无符号整数。
14.可选地,所述将控制域字段ttl增加或减少具体为将控制域字段ttl减少,所述控制域字段ttl等于设定值是指控制域字段ttl等于0。
15.可选地,步骤3)中下一跳节点接收压缩数据包后的处理步骤包括:
16.3.1)判断压缩数据包的目的端的主机标识、本节点的主机标识两者是否一致,若一致,则判定本节点为目的端,跳转步骤3.2),否则跳转步骤3.3);
17.3.2)将压缩数据包按照rohc协议解压缩出原始的ip数据包,并将原始的ip数据包发送给ip协议模块处理;ip协议模块判断ip数据包的目的地址是否为本节点的ip地址,若为本节点的ip地址,则继续完成后续的ip数据包处理操作;若ip数据包的目的地址为无线自组网以外的ip地址,则判定本节点为无线自组网的网关节点,ip协议模块将按照指定的ip路由处理方式将ip数据包从连接外网的网络接口转发出去;结束并退出;
18.3.3)将压缩数据包中控制域字段ttl的值进行增加或减少,然后判断增加或减少后控制域字段ttl等于预设值是否成立,若成立则丢弃压缩数据包以避免形成路由环路,结束并退出;否则,跳转下一步;
19.3.4)根据压缩数据包的目的端的主机标识,查找路由表确定压缩数据包所需发送的下一跳节点以及出接口,然后将压缩数据包通过所述出接口发送给下一跳节点。
20.可选地,所述主机标识为无线自组网中各个节点的ip地址的主机标识部分,各个节点的ip地址拥有相同的网络前缀,使得主机标识部分的长度相同。
21.此外,本发明还提供一种无线自组网的数据包头压缩及数据传输装置,包括微处理器、存储器以及网络接口,所述微处理器与网络接口以及存储器相连,所述微处理器被编程或配置以执行所述无线自组网的数据包头压缩及数据传输方法的步骤。
22.此外,本发明还提供一种用于应用所述无线自组网的数据包头压缩及数据传输方法的装置,包括位于网络接口和ip协议处理模块之间的数据包头压缩部件,所述数据包头压缩部件包括:
23.rohc包头压缩模块,用于从ip协议模块接收ip数据包,并对包头按照rohc协议进行压缩得到压缩数据包,所述压缩数据包为ir数据包、fo数据包或so数据包;
24.rohc包头解压缩模块,用于将接收的压缩数据包解压缩为ip数据包,并提交给ip协议处理模块继续进行处理;
25.压缩包发送模块,用于给压缩数据包添加源端和目的端的主机标识,以及控制域字段ttl;
26.转发模块,用于通过查找路由表确定压缩数据包所需发送的下一跳节点以及出接口,然后将压缩数据包通过所述出接口发送给下一跳节点;并将来自上一跳节点发送的压缩数据包发送给rohc包头解压缩模块;
27.所述转发模块与网络接口相连,且转发模块和ip协议处理模块之间包含两条数据传输通道,一条数据通道为通过rohc包头解压缩模块,另一条数据通道为由rohc包头压缩模块和压缩包发送模块串联构成。
28.此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,该计算机程序用于被微处理器编程或配置以实施所述无线自组网的数据包头压缩及数据传输方法的步骤。
29.本发明针对无线自组网络中提高无线链路带宽利用率的需求,提出了一个端到端的数据包头压缩传输机制,通过在数据包头添加目的ip地址的主机标识等信息,使得网络中间节点不需要对压缩数据包进行解压缩就能进行转发,解决了压缩数据包多跳传输的问题。和包括hc-aodv在内的现有技术相比,本发明主要具有下述优点:
30.(1)本发明与路由协议独立,可以跟任意一个移动自组网络路由协议一起工作,可用于移动自组网、无线网状网等需要多跳路由的自组织网络。
31.(2)本发明中上下文标识由源节点分配,从而一旦有数据包产生时立刻可以发送,而不需要等待目的端返回可用的上下文标识。
32.(3)本发明在压缩数据包头增加了控制域字段ttl,避免了路由环的影响。
33.(4)本发明将节点的ip地址限定在一个相同网络前缀的范围内,从而在压缩数据包前只需要附带源和目的节点的ip地址的主机标识部分,从而减小了通信开销。
附图说明
34.图1为本发明实施例的基本原理示意图。
35.图2为本发明实施例中采用的无线自组网示例。
36.图3为图2所示节点a的路由表的示意图。
37.图4为本发明实施例中下一跳节点接收压缩数据包后的处理流程图。
38.图5为本发明实施例中添加了源主机标识等信息的数据包的格式示例。
39.图6为本发明实施例中数据包头压缩部件的结构示意图。
具体实施方式
40.如图1所示,本实施例无线自组网的数据包头压缩及数据传输方法包括:
41.1)源端为新的会话生成对应的上下文标识cid;
42.2)源端将新的会话的ip数据包采用rohc协议压缩为压缩数据包,并针对每一个压
缩数据包,添加源端和目的端的主机标识以及控制域字段ttl,查找路由表确定压缩数据包所需发送的下一跳节点以及出接口,然后将压缩数据包通过出接口发送给下一跳节点;
43.3)下一跳节点接收压缩数据包后,若该下一跳节点为目的端,则将压缩数据包解压缩为ip数据包后发送给ip协议模块处理;若该下一跳节点非目的端,则将压缩数据包的控制域字段ttl增加或减少,若控制域字段ttl等于设定值则丢弃压缩数据包,否则根据压缩数据包的目的端主机标识继续查找路由表,确定压缩数据包所需发送的下一跳节点以及出接口,然后将压缩数据包通过出接口发送给下一跳节点。
44.需要说明的是,步骤2)中源端将新的会话的ip数据包采用rohc协议压缩为压缩数据包时,在rohc协议的控制下,通常会话的第一个ip数据包对应的压缩数据包为ir数据包,后续ip数据包对应的压缩数据包可能为ir数据包,也可能为fo数据包或so数据包,但是主要成分为fo数据包或so数据包。
45.无线自组网是指多个通信节点(简称节点)采用无线网络连接构成的无线网络系统,其中每个通信节点有一个或多个无线通信接口,可能是通信的源端或目的端,同时也是路由节点,能够进行数据包的转发。每个通信节点有一个路由表,路由表由无线自组网的某个路由协议产生,例如aodv、olsr、tbrpf等。路由表的每个表项至少包含目的地址、下一跳节点地址和出接口信息。下文将以图2所示无线自组网为例,对本发明进行进一步的详细说明。参见图2,该示例的无线自组网中共有7个节点,每个节点既可以作为通信的源端或目的端,也具有路由转发的功能。每个节点有一个无线网络接口。网络拓扑中节点之间的连线表示节点之间的通信可达性。系统管理员在系统建立时为无线自组网节点的每个网络接口分配一个ip地址,ip地址分为网络前缀和主机标识两部分,同一个无线自组网中节点ip地址的网络前缀相同。示例中,所有节点拥有共同的网络前缀101.1.1.0/24,网络前缀长度为24位。不同节点的主机标识不同,如节点a的主机标识为1,节点b的主机标识为2。
46.本实施例中,步骤1)中源端为新的会话生成对应的上下文标识cid为采用无符号整数表示的源端唯一标识,以用于区别不同的会话。
47.在通信前源端需要获得到目的端的路由信息,其中,查找路由表确定压缩数据包所需发送的下一跳节点以及出接口时,路由表为无线自组网的指定路由协议所产生。图3为本实施例中图2所示节点a的路由表的示意图,例如第一条记录的目的地址为101.1.1.2.下一跳地址为101.1.1.2,出接口为接口1。无线自组网中每个节点有一个路由表,路由表中每个表项包含目的地址或目的节点标识、下一跳节点地址、出接口等信息。路由表由无线自组网的某个路由协议产生,例如aodv、olsr、tbrpf路由协议等,其不构成对本实施例方法的限定。
48.本实施例中,步骤2)中添加源端和目的端的主机标识以及控制域字段ttl时,若ip数据包的ip目的地址是无线自组网外部的ip地址,则添加的目的端的主机标识为无线自组网的网关节点的主机标识;若ip数据包的ip目的地址是无线自组网内部节点的ip地址,则添加的目的端的主机标识为ip目的地址对应的主机标识。无线自组网内部节点与外部网络的通信通过网关节点完成,网关节点即无线路由器,至少拥有一个自组网的无线网络接口(内网接口)和一个连接外部网络的网络接口(外网接口),网关节点被配置的ip地址与无线自组网其他节点的ip地址在同一个网段,即它们具有相同的ip地址前缀。源端使用内网接口的ip地址中的主机标识作为添加到压缩数据包的目的端主机标识。
49.本实施例中,控制域字段ttl为一个字节的无符号整数。
50.本实施例中,将控制域字段ttl增加或减少具体为将控制域字段ttl减少,所述控制域字段ttl等于设定值是指控制域字段ttl等于0。此外,也可以将控制域字段ttl的初始值设置为0,然后采用控制域字段ttl逐调增加的方式,当期等于一个较大的设定值的时候丢弃压缩数据包,其与本实施例中的方法原理相同,故在此不再详细说明。
51.如图4所示,步骤3)中下一跳节点接收压缩数据包后的处理步骤包括:
52.3.1)判断压缩数据包的目的端的主机标识、本节点的主机标识两者是否一致,若一致,则判定本节点为目的端,跳转步骤3.2),否则跳转步骤3.3);
53.3.2)将压缩数据包按照rohc协议解压缩出原始的ip数据包,并将原始的ip数据包发送给ip协议模块处理;ip协议模块判断ip数据包的目的地址是否为本节点的ip地址,若为本节点的ip地址,则继续完成后续的ip数据包处理操作;若ip数据包的目的地址为无线自组网以外的ip地址,则判定本节点为无线自组网的网关节点,ip协议模块将按照指定的ip路由处理方式将ip数据包从连接外网的网络接口转发出去;结束并退出;
54.3.3)判断压缩数据包的类型,若压缩数据包的类型为fo或so数据包,则将压缩数据包中控制域字段ttl的值进行增加或减少,然后增加或减少后控制域字段ttl等于预设值是否成立,若成立则丢弃压缩数据包以避免形成路由环路,结束并退出;否则,跳转下一步;
55.3.4)根据压缩数据包的目的端的主机标识,查找路由表确定压缩数据包所需发送的下一跳节点以及出接口,然后将压缩数据包通过所述出接口发送给下一跳节点。
56.本实施例中,主机标识为无线自组网中各个节点的ip地址的主机标识部分,各个节点的ip地址拥有相同的网络前缀,使得主机标识部分的长度相同。主机标识为无线自组网中各个节点的ip地址的不同部分,各个节点的ip地址中作为主机标识的不同部分的长度相同。
57.参见图2和图4,本实施例无线自组网的数据包头压缩及数据传输方法中,当源端发送会话的第一个ip数据包时,按照rohc协议标准压缩并发送一个ir数据包。ir数据包中包含了与解压缩相关的信息,包括会话的上下文标识、原始的ip数据包信息等。原始的ip数据包信息包含源ip地址、目的ip地址等。ir数据包被交给转发模块4进行处理。当源端或传输路径上中间节点的转发模块4接收到一个ir数据包时,根据ir包中的目的ip地址查找路由表,获得路径上的下一跳和出接口信息。转发模块4将ir包发送给下一跳节点。例如,对源节点a而言,通过查路由表,它获得到目的节点g的路由的下一跳节点地址为101.1.1.2,于是a将ir数据包发送给地址为101.1.1.2的下一跳节点,即节点b。当节点b接收到a发送来的ir数据包后,同样地,它将查询它的路由表,获得到目的节点g的路由的下一跳地址,然后将ir数据包发送给下一跳节点。对路径上其它的中间节点,也将重复相同的过程,直到ir数据包被传送给目的节点g。
58.会话的后续ip数据包则压缩为fo或so数据包,当源端发送fo或so数据包时,在包头前添加源ip地址中的主机标识、目的ip地址中的主机标识和控制域字段ttl域,然后将数据包交给转发模块进行处理。源端设置的控制域字段ttl值为数据包的最大ttl值。当源端或传输路径上中间节点的转发模块收到一个fo或so数据包时,进行如下处理:若节点是传输路径上的中间节点,则将控制域字段ttl的值减1,若控制域字段ttl的值减为0,则将数据包丢弃,结束处理;根据包头前添加的目的ip地址中的主机标识查找路由表,获得当前路径
上的下一跳节点地址,转发模块将压缩数据包发送给下一跳节点。图5是添加了源主机标识等信息的数据包的格式示例,其字段包括:控制域字段ttl、目的节点标识、源节点标识和fs或so数据包。图2的示例中,源节点a的标识为1,目的节点g的标识为7,它们都只需要一个字节。控制域字段ttl域为一个字节的无符号整数,初始时设置为数据包的最大ttl值,例如32或64。图5是添加了源主机标识等信息的数据包的格式示例。图2的示例中,源节点a的标识为1,目的节点g的标识为7,它们都只需要一个字节。图2的示例中,目的ip地址的主机标识为7,由于网络节点有相同的网络前缀,因此可以得到目的ip地址为101.1.1.7,使用目的ip地址可以查询得到对应的路由表项。对源端节点a来说,到101.1.1.7的下一跳地址为101.1.1.2,因此a将压缩数据包发送给地址为101.1.1.2的下一跳节点,即节点b,同时控制域字段ttl的值变为31。同样,节点b收到压缩数据包后,从数据包携带的目的节点标识得到目的ip地址,再根据目的ip地址查路由表获得下一跳节点地址,假设为101.1.1.4,于是b把压缩数据包发送给地址为101.1.1.4的下一跳节点,即节点d,同时控制域字段ttl得到值变为30。类似地,节点d将把压缩数据包发送给节点g,同时控制域字段ttl的值变为29。
59.当目的端接收到ir、fo和so数据包时,按照rohc协议规范进行正常处理。图2的示例中,当目的节点g收到压缩数据包后,g将压缩数据包交给转发模块4处理。转发模块4发现数据包的目的节点就是自己,于是将压缩数据包交给rohc包头解压缩模块2进行处理。包头解压缩后恢复出的原始ip数据包再被ip协议模块处理。
60.综上所述,本实施例方法包括源端为新的会话生成上下文标识cid,将ip数据包采用rohc协议压缩为压缩数据包,具体为ir数据包、fo数据包或so数据包,添加源端和目的端的主机标识,查找路由表发送给下一跳节点;若下一跳节点为目的端则将压缩数据包解压缩为ip数据包后发送给ip协议模块处理,否则,更新控制域字段ttl后若等于设定值则丢弃压缩数据包,否则继续查找路由表发送给下一跳节点。本实施例方法能够在无线自组网络中,在中间节点不进行压缩和解压缩的前提下实现源端和目的端之间压缩数据包的传输,能够适应节点移动带来的链路中断和拓扑变化,实现源端和目的端之间高效的通信,具有可避免路由环的影响、开销小、通用性强的优点。
61.此外,本实施例还提供一种无线自组网的数据包头压缩及数据传输装置,包括微处理器、存储器以及网络接口,所述微处理器与网络接口以及存储器相连,所述微处理器被编程或配置以执行前述无线自组网的数据包头压缩及数据传输方法的步骤。
62.此外,本实施例还提供一种用于应用前述无线自组网的数据包头压缩及数据传输方法的装置,包括位于网络接口和ip协议处理模块之间的数据包头压缩部件,如图6所示,该数据包头压缩部件包括:
63.rohc包头压缩模块,用于从ip协议模块接收ip数据包,并对包头按照rohc协议进行压缩得到压缩数据包,所述压缩数据包为ir数据包、fo数据包或so数据包;
64.rohc包头解压缩模块,用于将接收的压缩数据包解压缩为ip数据包,并提交给ip协议处理模块继续进行处理;
65.压缩包发送模块,用于给压缩数据包添加源端和目的端的主机标识,以及控制域字段ttl,以便于中间节点进行转发;
66.转发模块,用于通过查找路由表确定压缩数据包所需发送的下一跳节点以及出接口,然后将压缩数据包通过所述出接口发送给下一跳节点;并将来自上一跳节点发送的压
缩数据包发送给rohc包头解压缩模块;
67.所述转发模块与网络接口相连,且转发模块和ip协议处理模块之间包含两条数据传输通道,一条数据通道为通过rohc包头解压缩模块,另一条数据通道为由rohc包头压缩模块和压缩包发送模块串联构成。
68.此外,本实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,该计算机程序用于被微处理器编程或配置以实施前述无线自组网的数据包头压缩及数据传输方法的步骤。
69.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
70.以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

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

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

相关文献