CN100366031C - 一种IPv6传感器网络中支持压缩包并行传输的实现方法 - Google Patents
一种IPv6传感器网络中支持压缩包并行传输的实现方法 Download PDFInfo
- Publication number
- CN100366031C CN100366031C CNB2005100117478A CN200510011747A CN100366031C CN 100366031 C CN100366031 C CN 100366031C CN B2005100117478 A CNB2005100117478 A CN B2005100117478A CN 200510011747 A CN200510011747 A CN 200510011747A CN 100366031 C CN100366031 C CN 100366031C
- Authority
- CN
- China
- Prior art keywords
- route
- address
- route distinguisher
- packet
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 title claims abstract description 28
- 230000006978 adaptation Effects 0.000 claims abstract description 20
- 230000006835 compression Effects 0.000 claims description 15
- 238000007906 compression Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 13
- 230000009191 jumping Effects 0.000 claims 10
- 238000012545 processing Methods 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 2
- 239000012634 fragment Substances 0.000 description 11
- 238000005538 encapsulation Methods 0.000 description 9
- 235000008694 Humulus lupulus Nutrition 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000013467 fragmentation Methods 0.000 description 4
- 238000006062 fragmentation reaction Methods 0.000 description 4
- 230000006837 decompression Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 241000764773 Inna Species 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种IPv6传感器网络中支持压缩包并行传输的实现方法,解决了在使用无线传感器网络通过网状路由传送经过包头压缩的IPv6数据包的模式下,任意两个传感器网络节点间并行传输多数据流的问题。本发明在对适应层的帧格式引入路由标识符域,一个8位的序列号,有一个基于网状拓扑适用于多跳压缩传输的路由算法。发明的效果:适用于低速率、低功耗的无线个域网,针对网状路由,适用于多跳网络,但是没有具体限定路由协议的种类,本发明在RID的生成方法上做了较好的选择,在一个节点的MAC已知的条件下,另一个节点的MAC的低八位与其相同的概率只有1/256,不到0.4%,因此,RID冲突处理的开销非常小。
Description
所属技术领域
本发明涉及一种IPv6传感器网络中支持压缩包并行传输的实现方法,属于计算机网络技术领域。
背景技术
无线传感器网络由大量低功耗、低速率、低成本、高密度的微型节点组成,节点通过自我组织、自我愈合的方式组成网络。利用无线传感器网络可实现数据的采集量化、处理融合和传输应用,无线传感器网络可以部署在家庭、医院、军事、环境监测及工业控制领域,利用各式的传感器去测量温度、湿度、噪声、压力等信号,从而提高人们现有的生活质量和生产效率。
2004年11月IETF正式成立了6LOWPAN工作组,着手制定基于IPv6的无线传感器网络标准,该工作组的工作主要围绕如何将IPv6与IEEE 802.15.4展开,研究基于IPv6的无线个域网的关键问题。由于IEEE 802.15.4标准规范的物理层的最大帧为127字节,而IPv6标准包头是40字节,为了在IEEE 802.15.4上传输IPv6数据包,应该对其包头进行压缩。同时,为了保证经过包头压缩后的数据包如常到达目的节点,压缩包的路由算法尤为重要,它是对包头压缩算法的重要支持。
IETF的6LOWPAN工作组于2005年2月发布了draff-montenegro-lowpan-ipv6-over-802.15.4-02,提出了一种包头压缩方案,同时初步给出支持这种压缩包头的路由算法,该算法使用网状路由,适用于多跳压缩传输。但是不能支持节点间多数据流的并行传输,两个节点间只能同时传输一个数据流。这无疑为无线传感器网络的广泛应用带来了很大限制。
IPv6数据报的MTU是1280字节,但是IEEE 802.15.4标准规范的物理层的最大帧为127字节,加上帧的负载和链路层加密算法的开销,最大开销情况下只留下81字节给上层应用。为了在IEEE 802.15.4标准规范上传送IPv6数据包,该草案在链路层和网络层之间建立一个适应层。在此适应层上进行封装,分片,重装以及实现路由等等。该适应层的最大传输单元大于IPv6的最小传输单元,同时与802.15.4标准规范下留给上层应用的分组大小兼容。
为了建立这个适应层,需要在每个IP数据报前添加一个封装包头。如果整个IP数据报能够在一个适应层分组里面传输,该适应层的帧格式参见表1。
LF(2) | 数据类型(5) | M(1) | IPv6数据包(或最终目的地址包头) |
表1不分片的适应层封装包头格式
域的定义如下:
LF:2比特,这两位的值为0,表示没有分片。
数据类型:5比特,这5位用来表示紧接着的数据的类型。例如,十六进制的1表示IPv6包,十六进制的2表示压缩包等等。
M:1比特,用来表示是否存在最终目的地址域,如果置1,最终目的地址域将出现在IPv6包之前。
如果数据大于一个帧,则适应层进行分片传输,第一个分片的帧格式如表2。
LF(2) | 保留(3) | 数据类型(7) | M(1) | 数据报标签(8) | 数据报大小(11) |
表2第一个分片的封装格式
第二一直到最后一个分片的帧格式如表3。
LF(2) | 数据报偏移(11) | 数据报标签(8) | 数据报大小(11) |
表3第二一直到最后一个分片的封装格式
LF域的定义参照表4。
00 | 不分片 |
01 | 第一个分片 |
10 | 最后一个分片 |
11 | 中间的分片 |
表4 LF域的定义
数据报大小:11比特,用来对整个IP数据报的大小进行编码。
数据类型:7比特,只在第一个分片中出现,用于INNA,具体用法待定。
数据报偏移:11比特,该域只会在第二个及其之后的分片中出现,用来标定偏移量。
数据报标签:8比特,在同一个IP数据报的所有分片中,这个值不变。发送方随着发送数据报的个数增加而增加,当增加到255后返回1。0的值并不使用。
无状态地址自动配置:为了更好的实现压缩,使用了一种IPv6链路本地地址,根据64位的IEEE地址生成一个链路本地地址,如表5,并在本地网络中使用同一个前缀FE80::/64。
10位 54位 64位
1111111010 | 0000000000 | 接口标识符 |
表5链路本地地址生成方法
同时,根据[I-D.ietf-ipv6-2461bis]提供的过程实现单点传送地址到64位IEEE地址的映射。
包头压缩算法设计:这个算法原理如下,压缩的实现源于减少某些不变的量的传输。对那些在包头中一直保持不变的字段信息,只在开始时发送一次,这样就能极大地减小包头的大小。依靠一组编码标识出获得这些压缩信息的方法,再将没有压缩的信息依照约定格式存放在数据报中,就形成了压缩包。在不压缩的域里面,8位的路程段限制域必须在每个压缩包里面传输。
通过一组8位的HC1编码,接收节点可以知道通过何种方法获取被压缩的信息,在传输了一个完整的IPv6包头之后,每个包头可以被压缩到2个字节。如果经过一定的手工设定,甚至可能从第一个包头开始就直接发送压缩包头。
HC1编码如下:
PI:嵌入前缀
PC:压缩前缀(假设共同的本地前缀)
II:嵌入接口地址
IC:省略接口地址(从相应的链路层地址得到接口地址,在网状路由中可以在最终目的地址域里面得到此值)
HC1编码如下:(从0位到7位)
IPv6源地址(位0和1):
00:PI,II
01:PI,IC
10:PC,II
11:PC,IC
IPv6目的地址(位2和3):
00:PI,II
01:PI,IC
10:PC,II
11:PC,IC
优先级和流标签(位4):
0:不压缩,传送完整8位的优先级和20位的流标签
1:优先级和流标签都为0
下一个包头(位5和6):
00:不压缩,传送完整的8位
01:UDP
10:ICMP
11:TCP
HC2编码(位7):
0:没有其他的包头压缩编码位
1:HC1编码后面还有HC2编码等压缩格式,HC2编码用于压缩TCP,
UDP等包头,将来可能实现更进一步的压缩。
IPv6压缩包头帧格式如表6所示。
HC1编码(8) | 紧跟着的不压缩的域值 |
表6 IPv6压缩包头的帧格式
路由设计:包头压缩的确可以节省传输量,但是压缩后的包头没有源地址,目的地址等信息,如何实现路由,让压缩包头后的数据包能够如常传送到目的节点,是实际应用中的关键问题。草案提出使用一种最终目的地址包头来实现网状路由的方法。
最终目的地址包头的帧格式参见表7。
S(1) | 剩余跳数(7) | 最终目的地址(64) |
表7最终目的地址包头
域值定义如下:
S:1比特,该位为0表示目的地址使用IEEE扩展地址。该位为1表示目的地址使用短地址,但目前并不支持短地址。
剩余跳数:7比特,每经过一跳减1,如果该域域值为0,节点丢弃该包。
最终目的地址:64比特,目的节点的链路层地址。目前版本使用IEEE扩展地址,今后可能支持16位短地址。
该方法利用链路本地IPv6地址是用MAC地址生成的原理,当知道目的节点IPv6地址的时候,也知道该目的节点的MAC地址。通过目的节点的MAC地址在路由表中寻找下一跳的路由,可以节省路由表的存储空间,也可以省略中间节点对压缩包头的解压缩。但是草案没有说明具体实现细节,只说明采取网状拓朴的路由方法,并且两个节点间只能同时传输一个数据流。
现有技术方案的缺点:
该草案对在IEEE 802.15.4标准规范上使用IPv6进行了针对性的研究,通过添加适应层实现路由,能够顺利传输压缩包头后的数据包。但是其有一个关键的不足,两个设备在同一个时间段只能够传输一个数据流,相当于只能串行传输数据流。由于采用最终目的地址包头,草案在适应层上实现了路由,但是,仅仅依靠目的节点的MAC地址和从链路层获得的上一跳的MAC地址,不足以区分多个数据流。如图1所示,设备A要通过C中继发送一段数据给设备D,同时设备B要通过C中继一段数据给D,则设备D无法区分这两个数据流,因为从C中继发来的两段数据流都只有压缩后的包头,里面没有源地址、目的地址而只有一组HC1编码和路程段限制域,而两段数据流都是从C节点发送的,链路层中的发送方MAC地址相同。由于常规的路由协议很少支持节点间串行传输数据流,这会给路由协议的设计带来很大问题。串行传输会大大降低整个无线传感器网络运行的效率,从而限制了无线传感器网络的广泛应用。
发明内容
为了克服现有的技术的不足,本发明提供一种IPv6传感器网络中支持压缩包并行传输的实现方法,解决了在使用无线传感器网络通过网状路由传送经过包头压缩的IPv6数据包的模式下,任意两个传感器网络节点间并行传输多数据流的问题。
本发明解决其技术问题所采用的技术方案是:
本发明在IETF草案《在IEEE 802.15.4网络上进行IPv6数据包的传输》(draft-montenegro-lowpan-ipv6-over-802.15.4-02)的基础上对适应层的帧格式引入路由标识符(RID)域,一个8位的序列号,有一个基于网状拓扑适用于多跳压缩传输的路由算法,其路由算法有如下步骤;
步骤1,当某个节点需要发送信息到一个给定的地址,它首先根据该网络的路由协议获得通向该地址的路由;
步骤2,在此路由的相应表项中产生一个路由标识符(RID),这个初始的路由标识符(RID)就是该节点扩展地址(MAC地址)的低八位;
步骤3,进行路由标识符(RID)冲突的判断与检测,将修改后不冲突的路由标识符(RID)信息随着信息包发送出去。
步骤4,节点收到数据包后,检测适应层中‘M’位的值;
步骤5,如果‘M’位的值为0,说明该数据包的目的地址为当前节点,节点接收并处理该数据。
步骤6,如果‘M’位的值为1,检测最终目的地址包头中“剩余跳数”的域值。
步骤7,如果“剩余跳数”为0,丢弃该数据包。
步骤8,如果“剩余跳数”不为0,根据该网络的路由协议获得通向该地址的路由;
步骤9,进行步骤3,循环下去。
步骤5和步骤7是该算法的出口。
发明的效果:本发明基于IEEE 802.15.4标准规范,适用于低速率、低功耗的无线个域网,针对网状路由(mesh routing),适用于多跳网络,但是没有具体限定路由协议的种类,这些设计都为应用于实践铺开了道路。由于没有确定路由协议,需要申明一个本路由算法的前提:任意两个节点之间不会同时存在两个或多个路由。由于无线传感器网络节点的能量有限,存储容量有限,这个前提在实际应用中十分合理。本发明采用草案draft-montenegro-lowpan-ipv6-over-802.15.4-02中提出的IPv6包头压缩算法,通过对适应层的帧格式的改造,创造性地引入RID域值,提出一种更好的路由算法。通过RID的引入,结合本发明的路由算法,任意两个节点间能够并行传输多个数据流,这是原草案提出的路由算法所不能实现的。
在有线网络中,使用源地址、目的地址、源端口、目的端口能够很好地区分每个数据流,但是在能量受限的无线传感器网络中,这样做显然开销太大。引入RID的目的是让目的节点区分开带有压缩包头的不同的数据流,这样节点才能根据HC1编码获得不同数据流的压缩信息,顺利完成解压。增加RID域只占用一个字节,却能够实现节点间多数据流的并行传输,大大提高了无线传感器网络的效率,实现任意两个节点间并行传输多个带有IPv6压缩包头的数据流。
本发明在RID的生成方法上做了较好的选择,在一个节点的MAC已知的条件下,另一个节点的MAC的低八位与其相同的概率只有1/256,不到0.4%,因此,RID冲突处理的开销非常小。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1本发明示例
图2节点发送数据流程图
图3节点接收数据处理流程图
图4源节点的路由表处理流程图
图5中间节点的路由表处理流程图
具体实施方式
实施例:
适应层的设计与实现
修改后,不分片的适应层封装包头格式如表8所示:
LF(2) | 数据类型(5) | M(1) | RID(8) | IPv6数据包(或最终目的地址包头) |
表8修改后不分片的适应层封装包头格式域的定义如下:
RID:router identifier,路由标识符。这是本发明独立创造的。一个8位的序列号,用来区分来自同一个中间节点的多个数据流。每个RID对应着一条路由信息。路由表中目的地址不同的表项可以具有相同的RID。
修改后,第一个分片的封装格式表9。
LF(2) | 保留(3) | 数据类型(7) | M(1) | RID(8) | 数据报标签(8) | 数据报大小(11) |
表9修改后第一个分片的封装格式
第二一直到最后一个分片的格式不变,参见表3。
路由算法的设计与实现
压缩包中没有源地址,目的地址,为了将压缩包如常地发送到目的节点,本发明利用RID信息,通过添加最终目的地址域(见表7),在适应层实现路由。这样的好处之一就是不用对每个压缩包进行解压以提取其IPv6目的地址进行路由选择。由于该域的目的地址是目的节点的MAC地址,因此能够唯一标识一个节点。本方案支持网状路由,具体路由协议可以根据用户需求而定。
路由算法概述
如图2所示,节点需要发送数据,首先根据该网络采用的路由协议获得通向目的地址的路由,当无法找到路由的时候,取消发送。
当找到到达目的节点的路由后,检查目的节点是否当前节点的邻居。如果是邻居节点的话则在数据包中省略最终目的地址包头,向邻居节点发送数据;否则添加最终目的地址包头,将数据发送到路由的下一跳地址。具体过程按图2所述流程处理。
如图3所示,节点收到数据包后,首先检查′M′位,如果′M′位为0,则说明当前节点为数据包的目的节点,接收并处理数据。如果′M′位为1,检测剩余跳数是否为0。如果剩余跳数为0,丢弃该数据包;如果非0,节点通过检测最终目的地址包头,提取目的地址,并根据目的地址在路由表中寻找下一跳的节点;将跳数限制的域值减1。如果目的节点是当前节点的邻居,则修改′M′位为0,删除数据包中的最终目的地址包头,将跳数限制的域值减1,将该数据包转发到下一跳;否则跳数限制的域值减1,将直该数据包接转发到下一跳。具体过程按图3所述流程处理。
RID的产生与冲突处理
参考路由表的结构,每个路由对应着一个“上一跳地址”链表,每个上一跳地址对应着一个RID链表。
某个节点需要发送信息到一个给定的地址,当找到这条通向指定地址的路由后,如果该路由不存在“上一跳地址”为0的表项,(上一跳地址为0说明当前节点为数据的源节点),则为此路由新建一个“上一跳地址”为0的链表表项,同时为该“上一跳地址”新建一个RID链表。该RID链表初始的入口RID就是该节点MAC地址的低八位。然后进行RID冲突检测,将修改后不冲突(如果需要修改的话)的RID信息记录为出口RID,并随着信息包发送出去。
对于路由表中不同的路由,节点不检测它们的出口RID的冲突。也就是说,不同的路由完全可以使用相同的出口RID。
对于路由表中同一个路由的上一跳地址链表,节点负责检测这些不同的上一跳地址之间出口RID信息的冲突。如果后产生的RID出现在该路由的“上一跳地址”的出口RID中,则后产生的路由的RID加1,直到不产生冲突为止。节点修改后的RID既存储在相应的“上一跳地址”的出口RID中,也存储在原来信息包的RID域里,(原RID信息被删除),并随着信息包发送,从而使下一跳的节点不产生冲突。
对于路由表中同一个路由的同一个上一跳地址链表表项对应的同一个RID链表,节点不检测出口RID的冲突,因为此时不同的出口RID标识不同的数据流。
路由表的结构、维护
在802.15.4无线传感器网络中,每个FFD设备都具有路由功能,能够为其他设备中继传输数据。为实现该功能,每个设备都存储一张路由表,格式如表10。
表10路由表的格式
一条路由有一个“上一跳地址”的链表,根据需要里面可以有多个表项,每个上一跳地址都有一个“RID”的链表,根据需要里面也可以有多个表项。但是,一个路由最多分配256个出口RID值,供所有的“上一跳地址”的“RID”链表使用。每个表项会有一定的生存时间,以便释放相应的资源。
该路由表中的目的地址、上一跳地址、下一跳地址都是使用IEEE的64位扩展地址(MAC地址)。根据草案使用的地址配置方案,每个MAC地址都能映射到一个合法的单点传送地址。
作为源节点生成的路由:
如图4所示,源节点需要发送数据包,根据路由协议获取目的地址的路由;如果无法找到路由,取消数据的发送。
当找到到达目的节点的路由后,检查该路由是否有一个上一跳的地址为0的表项,(上一跳地址为0说明当前节点为数据的源节点)。如果有,说明某个RID已经在使用,继续使用该值,将信息包的RID改为目前使用的出口RID值,如果需要修改的话。
否则,新建一个上一跳的地址为0的表项以及其相应的RID表项,记录当前RID(节点扩展地址的低8位)为入口RID,进行RID冲突检测。检查初始的RID是否出现在该路由所有“上一跳地址”表项对应的RID链表的出口RID中。如果冲突,则RID加1,直到不产生冲突为止,当RID没有发生冲突时,记录当前不产生冲突的RID为出口RID。具体如图4所述流程进行处理。
作为中间节点生成的路由:
如图5所示,中间节点收到目的地址非本身的数据包,从MAC层获取该数据包的上一跳地址,根据路由协议获取到达目的地址的路由。
首先检查路由是否存在该“上一跳地址”的链表表项。
如果存在该“上一跳地址”的链表表项,再检查当前路由该“上一跳地址”表项的RID链表的入口RID中是否存在数据包中的RID值。如果存在,说明当前RID正在使用,无须检测,将数据包的RID修改为其RID链表的出口RID值,转发数据包;如果不存在,为该“上一跳地址”建立一个RID链表表项,将当前RID记录为入口RID,进行RID冲突检测。
否则,新建该“上一跳地址”的链表表项以及其对应的RID链表表项,将当前RID记录为入口RID,进行RID冲突检测。
冲突检测:检查当前RID是否出现在该路由所有“上一跳地址”表项对应的RID链表的出口RID中。如果冲突,则RID加1,直到不产生冲突为止。当RID没有发生冲突,记录当前不产生冲突的RID为出口RID。
注:同一个“上一跳地址”链表表项对应的RID链表表项之间的出口RID不用进行冲突检测,因为此时不同的出口RID代表不同的数据流。
802.15.4标准规范是针对低功耗、低速率的无线个域网,出现某个节点为同一个目的节点中继传输256个数据流的概率非常低。再者,设计路由协议的时候可以定义一个存储空间的上界,限定同一个路由的RID表项的总存储空间,以保证这种情况不会发生。
每个路由表项都有一定的生存时间,生存时间到达,路由表自动将其删除,从而减少冲突的机会。
中间节点区分多个数据流的方法
1.目的地址不一样,无论上一跳地址、入口RID是否一样,节点都可以区分多个数据流。
2.目的地址一样,上一跳地址不一样。此时如果入口RID各不相同,则可以直接发送到下一跳,在下一跳的节点中,会出现目的地址,上一跳地址都一样,但是入口RID不一样的情形;如果入口RID与当前路由的出口RID产生冲突,则把后产生的表项的RID加1,直到不存在相同为止,这个修改后的RID保存在该路由对应的出口RID里面,并修改信息包的RID域,写入修改后的RID值,转发到下一跳,从而使下一跳节点收到目的地址,上一跳地址都一样,但是入口RID不一样的信息包。
3.目的地址、上一跳地址都一样的情况下,一个入口RID对应着一个数据流。
目的节点识别多数据流的方法
目的节点接收到多个数据流,按表11所列对数据流进行分类。如果数据流来自不同的邻居,通过邻居节点的MAC地址就可以区分数据流;如果来自同一个邻居,一个入口RID对应一个数据流。
邻居地址 | 收到的RID | 解压后的包头 | 数据 |
表11 目的节点存储结构
节点对应不同的RID分别利用其数据包中的HC1编码解压包头,获得完整的包头信息,顺利接收数据。
Claims (6)
1.一种IPv6传感器网络中支持压缩包并行传输的实现方法,其特征是:对适应层的帧格式引入路由标识符域,它是一个8位的序列号,每个节点拥有一个路由表,其结构为:一条路由有一个“上一跳地址”的链表,根据需要里面可以有多个表项,每个上一跳地址都有一个“路由标识符”的链表,根据需要里面也可以有多个表项,每个“路由标识符”表项中包括“入口路由标识符”和“出口路由标识符”两个域,有一个基于网状拓扑适用于多跳压缩传输的路由算法,该路由算法针对网状路由,它使用的前提为:任意两个节点之间不会同时存在两条或多条路由,路由算法有如下步骤;
步骤1,当某个节点需要发送信息到一个给定的地址,它首先根据该网络的路由协议获得通向该地址的路由;
步骤2,在此路由的相应上一跳地址表项中生成一个路由标识符表项,这个路由标识符表项的入口路由标识符就是该节点扩展地址的低八位;
步骤3,进行路由标识符冲突的判断与检测,将修改后不冲突的出口路由标识符随着信息包发送出去;
步骤4,任意节点收到数据包后,检测适应层中‘M’位的值;
步骤5,如果‘M’位的值为0,说明该数据包的目的地址为当前节点,节点接收并处理该数据;
步骤6,如果‘M’位的值为1,检测最终目的地址包头中“剩余跳数”的域值;
步骤7,如果“剩余跳数”为0,丢弃该数据包;
步骤8,如果“剩余跳数”不为0,根据该网络的路由协议获得通向目的地址的路由;
步骤9,进行步骤3,循环下去;
步骤5和步骤7是该算法的出口;
当源节点向目的节点发送数据时,执行路由算法步骤1至步骤3的内容;当中间节点转发数据时,进入路由算法步骤4至步骤9再到步骤3的跳转过程。
2.根据权利要求1所述的一种IPv6传感器网络中支持压缩包并行传输的实现方法,其特征是:路由标识符域,用来区分来自同一个中间节点的多个数据流,每个路由标识符域对应着一条路由信息,路由表中不同的路由可以具有相同的路由标识符域。
3.根据权利要求1所述的一种IPv6传感器网络中支持压缩包并行传输的实现方法,在路由算法的步骤3中进行路由标识符冲突的判断与检测时,其特征是:节点负责检测路由表中同一条路由的上一跳地址链表内不同的上一跳地址之间出口路由标识符的冲突,保证路由表中任意一条路由的上一跳地址链表内出口路由标识符的唯一性,冲突检测过程:检查后生成的入口路由标识符是否出现在通向目的节点的路由的任意“上一跳地址”表项对应的出口路由标识符中,如果冲突,则入口路由标识符加1,直到不产生冲突为止,当入口路由标识符没有发生冲突时,将这个不产生冲突的入口路由标识符域值存储在相应的“上一跳地址”的出口路由标识符域中,也存储在数据包的路由标识符域里,并随着数据包发送。
4.根据权利要求1所述的一种IPv6传感器网络中支持压缩包并行传输的实现方法,中间节点处理接收到的数据包,进入路由算法步骤4至步骤9再到步骤3的跳转过程时,其特征是:中间节点收到目的地址非本身的数据包,从MAC层获取该数据包的上一跳地址,根据路由协议获取通向目的地址的路由后,首先检查路由是否包含该“上一跳地址”的链表表项,如果包含该“上一跳地址”的链表表项,再检查当前路由该“上一跳地址”表项的路由标识符域链表的入口路由标识符域中是否存在数据包中的路由标识符域值,如果存在,无须检测,将数据包的路由标识符域修改为其路由标识符域链表的出口路由标识符域值,转发数据包,如果不存在,为该“上一跳地址”建立一个路由标识符域链表表项,将接收的数据包中包含的路由标识符域记录为入口路由标识符域,进行路由标识符域冲突检测;否则,新建该“上一跳地址”的链表表项以及其对应的路由标识符域链表表项,将接收的数据包中包含的路由标识符域记录为入口路由标识符域,进行路由标识符域冲突检测,冲突检测结束之后,将数据包的路由标识符域值修改为不冲突的路由标识符域值,转发数据包。
5.根据权利要求1所述的一种IPv6传感器网络中支持压缩包并行传输的实现方法,在路由算法的步骤5中目的节点接收并处理数据时,其特征是:目的节点接收到多个数据流,对数据流进行分类,如果数据流来自不同的邻居,通过邻居节点的MAC地址就可以区分数据流;如果来自同一个邻居,一个入口RID对应一个数据流,节点对应不同的RID分别利用其数据包中的HCl编码解压包头,获得完整的包头信息,顺利接收数据。
6.根据权利要求1所述的一种IPv6传感器网络中支持压缩包并行传输的实现方法,当源节点向目的节点发送数据时,执行路由算法步骤1至步骤3的内容,其特征是:源节点需要发送数据包,根据路由协议获取通向目的节点的路由;如果无法找到路由,取消数据的发送,当找到通向目的节点的路由后,检查该路由是否存在一个上一跳的地址为0的表项,如果存在,说明某个出口路由标识符已经在使用,继续使用该值,将数据包的路由标识符域值改为通向目的节点的路由的上一跳地址为0的表项内的出口路由标识符域值,发送数据包;否则,新建一个上一跳的地址为0的表项以及其相应的路由标识符表项,记录该节点扩展地址的低八位为入口路由标识符,进行路由标识符冲突检测,冲突检测结束之后,将数据包的路由标识符域值修改为通向目的节点的路由的上一跳地址为0的表项内的出口路由标识符域值,发送数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100117478A CN100366031C (zh) | 2005-05-20 | 2005-05-20 | 一种IPv6传感器网络中支持压缩包并行传输的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100117478A CN100366031C (zh) | 2005-05-20 | 2005-05-20 | 一种IPv6传感器网络中支持压缩包并行传输的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1694429A CN1694429A (zh) | 2005-11-09 |
CN100366031C true CN100366031C (zh) | 2008-01-30 |
Family
ID=35353237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100117478A Expired - Fee Related CN100366031C (zh) | 2005-05-20 | 2005-05-20 | 一种IPv6传感器网络中支持压缩包并行传输的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100366031C (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794732B (zh) * | 2005-12-26 | 2010-08-11 | 北京交通大学 | IPv6微型传感路由器协议栈体系结构的实现方法 |
CN101340361B (zh) * | 2007-07-05 | 2012-04-25 | 华为技术有限公司 | 数据包中转限制方法及设备 |
ES2346490T3 (es) * | 2008-03-20 | 2010-10-15 | Alcatel Lucent | Un metodo para transferir datos desde un sensor a traves de una red informatica, dispositivo correspondiente, y producto de programa informatico para el mismo. |
CN100553377C (zh) * | 2008-12-05 | 2009-10-21 | 清华大学 | 一种用于无线传感器网络降低能耗的压缩判决方法 |
CN101515840B (zh) * | 2009-03-09 | 2011-08-03 | 北京交通大学 | 一种多路径并行传输发送的选路方法 |
CN102404789B (zh) * | 2010-09-15 | 2014-07-09 | 华为技术有限公司 | 数据包处理方法、设备及系统 |
CN103152770B (zh) * | 2011-12-07 | 2015-11-04 | 中国移动通信集团广东有限公司 | Ip报头压缩的方法及装置 |
CN102695256B (zh) * | 2012-05-29 | 2016-04-06 | 无锡赛睿科技有限公司 | 一种用于无线传感器网络的并行传输方法及其系统 |
CN102711211B (zh) * | 2012-05-30 | 2014-12-03 | 浙江工业大学 | 一种基于6LoWPAN的无线传感器网络节能数据传递方法 |
US10637768B1 (en) * | 2018-11-02 | 2020-04-28 | Juniper Networks, Inc. | Enabling non-flexible-algorithm routers to participate in flexible-algorithm routing protocols |
CN110719577B (zh) * | 2019-10-08 | 2020-10-02 | 浙江大学 | 一种基于数据帧格式优化和数据压缩的无线数据采集系统 |
CN111147483B (zh) * | 2019-12-25 | 2021-11-12 | 武汉绿色网络信息服务有限责任公司 | 一种对原始网络数据包的有损压缩存储方法和装置 |
CN114039861B (zh) * | 2021-12-20 | 2024-02-06 | 浪潮思科网络科技有限公司 | 一种基于tipc协议改造的链式拓扑感知方法、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1356806A (zh) * | 2001-12-31 | 2002-07-03 | 刘军民 | 实现局域网虚通道传送的数据转发方法 |
CN1457572A (zh) * | 2000-09-26 | 2003-11-19 | 兰代拉·纳特股份公司 | 基于分组的网络中用于移动装置的接入点以及在此类网络中记费的一种方法和系统 |
WO2004019640A1 (de) * | 2002-08-16 | 2004-03-04 | Siemens Aktiengesellschaft | Verfahren zum identifizieren eines kommunikationsendgeräts |
CN1599281A (zh) * | 2003-09-19 | 2005-03-23 | 日本电气株式会社 | 数据传输路径建立方法、无线电通信网络系统和传感器网络系统 |
WO2005039120A2 (en) * | 2003-10-15 | 2005-04-28 | Koninklijke Philips Electronics N.V. | Communication system and anti-collision method |
-
2005
- 2005-05-20 CN CNB2005100117478A patent/CN100366031C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1457572A (zh) * | 2000-09-26 | 2003-11-19 | 兰代拉·纳特股份公司 | 基于分组的网络中用于移动装置的接入点以及在此类网络中记费的一种方法和系统 |
CN1356806A (zh) * | 2001-12-31 | 2002-07-03 | 刘军民 | 实现局域网虚通道传送的数据转发方法 |
WO2004019640A1 (de) * | 2002-08-16 | 2004-03-04 | Siemens Aktiengesellschaft | Verfahren zum identifizieren eines kommunikationsendgeräts |
CN1599281A (zh) * | 2003-09-19 | 2005-03-23 | 日本电气株式会社 | 数据传输路径建立方法、无线电通信网络系统和传感器网络系统 |
WO2005039120A2 (en) * | 2003-10-15 | 2005-04-28 | Koninklijke Philips Electronics N.V. | Communication system and anti-collision method |
Also Published As
Publication number | Publication date |
---|---|
CN1694429A (zh) | 2005-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100366031C (zh) | 一种IPv6传感器网络中支持压缩包并行传输的实现方法 | |
US11109269B2 (en) | Packet forwarding method and apparatus | |
KR101417744B1 (ko) | 인터넷 프로토콜 버전6 기반 저전력 무선네트워크에서이동성 헤더 압축 방법 및 장치 | |
EP2832057B1 (en) | Content centric m2m system | |
CN104506439B (zh) | 一种适用于WIA-PA网络的IPv6报文传输系统及方法 | |
KR101563001B1 (ko) | 인터넷 프로토콜 패킷의 헤더의 압축 방법 및 이를 위한 복수 주소 기반의 네트워크를 구성하는 노드 | |
CN101488975A (zh) | 实现无线传感器网络与IPv6网络全IP通信的系统 | |
Thubert et al. | IPv6 over low-power wireless personal area network (6LoWPAN) routing header | |
CN103841621B (zh) | 一种基于6LoWPAN树型网络的冗余路由方法 | |
KR20140034951A (ko) | 무선 메쉬 네트워크에서 컨텍스트 기반의 IPv6 헤더 압축을 위한 컨텍스트 테이블 관리 방법 | |
Garg et al. | A study on need of adaptation layer in 6LoWPAN protocol stack | |
CN102421162A (zh) | 一种支持IPv6无线传感器网络的混合式路由 | |
US20220182320A1 (en) | Secure data connections in low data rate networks | |
CN111277679A (zh) | 基于LoRaWAN与IPv6协议的无线传感网络通信方法 | |
CN107332752A (zh) | 基于6LoWPAN的长链状无线传感网络系统及其连接方法 | |
CN105991555A (zh) | 基于6LoWPAN的网络连接方法及其系统 | |
CN101651619B (zh) | 一种基于MAC层标签循环移位的ad hoc网络路由方法 | |
CN103152770B (zh) | Ip报头压缩的方法及装置 | |
CN102196058A (zh) | 一种6LoWPAN协议中地址压缩控制表的维护方法 | |
Garg et al. | Comparative study on techniques of IPv6 header compression in 6LoWPAN | |
CN102469174A (zh) | 一种用于传感器网络的数据包头处理方法及网络网关 | |
CN102711211A (zh) | 一种基于6LoWPAN的无线传感器网络节能数据传递方法 | |
CN107070796A (zh) | 一种基于量子隐形传态的自适应rip路由选择协议 | |
CN104168151A (zh) | 一种基于IPv6的通信方法、监测设备、网关及系统 | |
CN101815278B (zh) | 无线Mesh网络的邻居信息维护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080130 Termination date: 20110520 |