CN103687072A - 冲突可侦测的链路层控制方法 - Google Patents

冲突可侦测的链路层控制方法 Download PDF

Info

Publication number
CN103687072A
CN103687072A CN201310744879.6A CN201310744879A CN103687072A CN 103687072 A CN103687072 A CN 103687072A CN 201310744879 A CN201310744879 A CN 201310744879A CN 103687072 A CN103687072 A CN 103687072A
Authority
CN
China
Prior art keywords
node
time
packet
receiving node
sending 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.)
Granted
Application number
CN201310744879.6A
Other languages
English (en)
Other versions
CN103687072B (zh
Inventor
刘代波
刘云浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WUXI QINGHUA INFORMATION SCIENCE AND TECHNOLOGY NATIONAL LABORATORY INTERNET OF THINGS TECHNOLOGY CENTER
Original Assignee
WUXI QINGHUA INFORMATION SCIENCE AND TECHNOLOGY NATIONAL LABORATORY INTERNET OF THINGS TECHNOLOGY CENTER
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WUXI QINGHUA INFORMATION SCIENCE AND TECHNOLOGY NATIONAL LABORATORY INTERNET OF THINGS TECHNOLOGY CENTER filed Critical WUXI QINGHUA INFORMATION SCIENCE AND TECHNOLOGY NATIONAL LABORATORY INTERNET OF THINGS TECHNOLOGY CENTER
Priority to CN201310744879.6A priority Critical patent/CN103687072B/zh
Publication of CN103687072A publication Critical patent/CN103687072A/zh
Application granted granted Critical
Publication of CN103687072B publication Critical patent/CN103687072B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供一种冲突可侦测的链路层控制方法,包括:接收节点广播一个通知报文告知发送节点,并开启一个包含多个时间片的RSVP窗口;通知报文中包含了两个参数:n和m;若发送节点存在待转发的数据包,当收到通知报文后,根据附带的参数n和m计算时间片序列号并从RSVP窗口中选择对应的时间片;并向接收节点回复一个确认帧;在RSVP窗口结束后,接收节点根据接收到每个确认帧的接收时间推测接收到的确认帧的时间片序列号;接着,接收节点向发送节点广播轮询帧,在轮询帧中嵌入推测出的确认帧的时间片序列号;以让发送节点依次轮询地发送数据包。本发明能够有效避免传输冲突。

Description

冲突可侦测的链路层控制方法
技术领域
本发明涉及无线自组织网络与传感器网络领域,具体涉及一种在无线传感网络中由接收方发起的可避免冲突的链路控制层协议。
背景技术
随着通信、传感器制造、嵌入式计算的日益成熟,大规模无线传感器网络技术迅速发展并被广泛应用到环境、国防、医疗、城市管理等诸多领域。典型的无线传感器网络由大量微型传感器节点组成,它们能够在恶劣及危险环境中迅速展开,并通过无线自组成网,不受现有有线网络基础设施的限制。感知的数据通过无线通信的方式汇集到数据处理中心。无线传感器网络使人们在任何时间、地点和环境条件下实时获取大量详实而可靠的信息,体现“计算无处不在”理念。
在无线传感器网络中,节点通常采用电池供电。因此,为了延长网络的运行时间,减小节点的能量消耗非常必要。最常见的方式是使节点运行于节能模式下(duty cycle),周期性地关闭和打开天线设备。节点采集环境信息并组织成数据包通过中继节点转发到sink节点(汇聚结点)。在节能模式下,节点要发送一个数据包有两种方式。一种是由发送者发起的传输方式(sender-initiated),当节点需要发送数据包时重复地发送直到接收者醒来后成功地收到数据包为止。另一种是由接收者发起的传输方式(receiver-initiated),当发送节点需要传输数据包时,等待下一跳节点(接收节点)醒来广播一个通知报文后,再把数据包发送给下一跳节点(接收节点)。前一种传输方式在发送者端的能量消耗大。后一种方式较前一种方式更加节省能量。
但是,由接收者发起的传输方式在网络负载较大时,多个发送节点等待相同的接收节点醒来的概率增大。在这种情况下,信道冲突的概率会大大增加,进而会花费更多的时间去重传数据包,造成能量和信道资源的浪费,降低网络的性能。目前,在这种传输方式的背景下,大量的协议集中于更加节能地传输数据,忽略了网络负载较高的应用场景。在实际的网络中,网络负载是一个动态变化的。当网络中突然汇聚大量的数据包时,这些协议需要花费很大的代价(能耗、时间、网络可靠性等)才能成功投递这些数据包。
发明内容
本发明的目的在于提供一种新的由接收者发起的冲突可侦测的链路层控制方法,可称为CD-MAC链路层控制协议(下文简称为CD-MAC);用于实现无线传感网络中节点高效地访问无线信道,提供更高的网络吞吐量和更节能的工作方式。
本发明采用的技术方案是:
一种冲突可侦测的链路层控制方法,包括:
当发送节点的传输队列中存在待转发的数据包时,保持在活跃状态下侦听接收节点的通知报文;所有的节点周期性地从睡眠状态醒来,若信道空闲,则接收节点立即广播一个通知报文告知所有潜在的准备向其发送数据包的发送节点;并开启一个包含多个时间片的RSVP窗口;通知报文中包含了两个参数:n和m,n表示时间片的数量,为正整数,m是接收节点提供给发送节点计算时间片序列号时使用的辅助参数。
对于任一个发送节点,若该发送节点存在待转发的数据包,当收到通知报文后,根据附带的参数n和m计算时间片序列号并从RSVP窗口中选择对应的时间片;并向接收节点回复一个确认帧。
在RSVP窗口结束后,接收节点根据接收到每个确认帧的接收时间和时间片的时间长度推测接收到的确认帧的时间片序列号。
接着,接收节点向发送节点广播轮询帧,在轮询帧中嵌入推测出的确认帧的时间片序列号;以让发送节点依次轮询地发送数据包,即当发送节点自身计算所得的时间片序列号与发送节点收到的轮询帧中嵌入的时间片序列号相同,则该发送节点发送数据包。
接收节点每收到一个数据包或相隔一个时间间隔没有收到数据包,则会发出下一个轮询帧让后续的发送节点继续发送数据包。
在一轮轮询之后,接收节点使用通知报文来回复前一个数据包已成功接收,同时也开启新一轮RSVP窗口给那些还存在数据包的发送节点新的机会进行传输预约。
进一步地,接收节点对n的选择方法为,n的选择分为两种情况:接收节点醒来时第一次发送通知报文时选择的n和醒来后第二次及以后发送通知报文时选择的n;对于前者,根据网络流量的时间相关性,采用滑动平均来计算,即n=N(old)*(1-a)+a*N(new),其中,N(old)为累积的n的值,N(new)为上一次醒来时发送节点的数量;a取值范围为[0.3~0.5];对于后者,在接收节点醒来后第二次及以后发送通知报文时,每一次把n减1即可。
进一步地,时间片数量的最大值满足:每个时间片大小乘以时间片数量的上限需小于两个连续通知报文之间的时间间隔;时间片数量的最小值取4。
进一步地,对于一个确定的n,接收节点对相应的辅助参数m的选择方法为:
选择的辅助参数m的最优值使得公式(1)的累加值最小;
min m Σ Σ i ≠ j I { π ( S i , m , n ) = π ( S j , m , n ) }
公式(1)中,当π(si,m,n)=π(sj,m,n)为真时,I{π(si,m,n)=π(sj,m,n)}=1,否则I{π(si,m,n)=π(sj,m,n)}=0;π(si,m,n)=Mod(Mod(si,m),n),π(sj,m,n)=Mod(Mod(sj,m),n);
π(si,m,n)=Mod(Mod(si,m),n)表示发送节点Si的节点ID进行两次取模计算,π(sj,m,n)=Mod(Mod(sj,m),n)表示发送节点Sj的节点ID进行两次取模计算;
进一步地,发送节点Si根据附带的参数n和m计算时间片序列号并选择对应的时间片,计算的方法用符号表示为π(si,m,n);具体的计算过程分为两步:Si首先把自己的节点ID映射到集合[1,m]中的一个值;然后把这个值映射到集合[1,n]中的一个值;这两步的映射方法都采用取模操作,如公式(2)所示:
π(si,m,n)=Mod(Mod(si,m),n)(2)
进一步地,接收节点根据接收到确认帧的接收时间和时间片的时间长度推测接收到的确认帧的时间片序列号具体包括:
当发送节点收到通知报文产生FIFOP中断后,各发送节点根据公式π(si,m,n)=Mod(Mod(si,m),n)计算时间片序列号Kf,在等待KfTslot的时间后,(Tslot为时间片的时间长度),把确认帧发送给通知报文的发送者即接收节点;
对于通知报文的发送者即接收节点,在其发出通知报文时,记录当时的发送时间Tp;当接收到确认帧ACK后,记录接收时间为Tr;Tr与Tp之间的最小时间差记为Tbase;根据记录的时间值,通知报文的发送者即接收节点能够推测出接收到的确认帧的时间片序列号Ks;推测方法如公式(3)所示。
Figure BDA0000449759320000031
进一步地,当发送节点在链路层包头设置了批传输位时,发送节点采用批传输方式向接收节点发送数据包。
进一步地,如果接收节点广播通知报文后,没有收到确认帧,则进入睡眠状态;如果接收节点广播通知报文后,只收到一个确认帧,则接收节点不发送轮询帧,发送该确认帧的发送节点在发出确认帧后,从RSVP窗口截止开始等待的时间超过一个设定时间间隔还未收到轮询帧,则立即发送数据包。
本发明的优点:本发明通过利用RSVP窗口的预约机制,时间分集策略,以及数据包轮询的传输方式可以使得多个发送节点有序地发送数据包,有效地避免了传输冲突。
附图说明
图1是CD-MAC的总体工作流程图
图2是时间片数量与冲突概率的仿真关系图
图3是CD-MAC利用的链路层头部的保留位图
图4是批传输示意图
图5是CD-MAC处理数据包丢失的示意图
图6是CD-MAC对单个发送节点的处理示意图
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
本发明的核心原理是:在接收者醒来后发出通知报文(S-probe)后,利用时间分集的思想,所有发送者和接收者临时地进行时间同步,并且把接下来的一段时间划分为若干个等长度的时间片。发送者在不同的时间片给接收者一个回复(确认帧ACK)。根据收到ACK的数量和时间片序列号,接收者可以立即知道发送者的数量,并通过时间片的序列号来区分它们。
(1)协议总体描述
为了更好地了解在由接收者发起的传输方式下的传感节点的工作方式,我们接下来描述传感节点的典型的工作流程,并给出新协议(CD-MAC链路层控制协议)的工作方式。
a)由接收者发起的传输方式:这种工作方式应用于低功耗的传感器网络中,即发送节点周期性地处于活跃状态和睡眠状态。当接收节点醒来后,首先广播一个通知报文以告知周围的发送节点。周围的发送节点按照一定的方式采集数据并加入传输队列。当传输队列中存在待转发的数据包时,发送节点保持在活跃状态下,当收到接收节点醒来后发出的通知报文后,把数据包投递到接收节点。当传输队列为空时,发送节点进入睡眠状态下,按照醒睡周期依次醒来和睡眠。节点的能耗指数(即工作占空比,duty cycle)由累积醒来的时间Tactive和累积睡眠的时间Tsleep确定
Figure BDA0000449759320000041
b)CD-MAC的工作方式:
当发送节点的传输队列中存在待转发的数据包时,保持在活跃状态下侦听接收节点的通知报文(标记为S-probe)。所有的节点周期性地从睡眠状态醒来,若信道空闲,则接收节点立即广播一个通知报文告知所有潜在的准备向其发送数据包的发送节点;接收节点在发出通知报文之后,立即开启一个包含多个时间片的RSVP窗口(即发送者预约窗口);通知报文中包含了两个参数:n和m,n表示时间片的数量,为正整数,m是接收节点提供给发送节点计算时间片序列号时使用的辅助参数。对于任一个发送节点Si(i为正整数),若该发送节点存在待转发的数据包,当收到通知报文后,根据附带的参数n和m计算时间片序列号并从RSVP窗口中选择对应的时间片;并向接收节点回复一个确认帧ACK;以告知接收节点存在某些(至少一个)发送节点正准备向其发送数据包。在整个RSVP窗口结束后,如果接收节点接收到确认帧(一个或多个),它便知道存在发送节点正准备向其发送数据包。值得指出的是,在无线传感网络中,射频芯片(如CC2420)自带的确认帧没有携带发送者的信息。在CD-MAC中,接收者通过推测接收到的确认帧的时间片序列号来标识发送者,也就是说,接收节点根据接收到确认帧ACK的接收时间和时间片的时间长度推测接收到的确认帧的时间片序列号。通过这种时间分集的方法可以使得接收者轻易地区分开多个发送者。接着,在RSVP窗口结束后,接收节点向发送节点广播轮询帧,在轮询帧中嵌入推测出的确认帧的时间片序列号;以让发送节点依次轮询地发送数据包,即当发送节点自身计算所得的时间片序列号与发送节点收到的轮询帧中嵌入的时间片序列号相同,则该发送节点发送数据包;接收节点每收到一个数据包或相隔一个时间间隔没有收到数据包,则会发出下一个轮询帧让后续的发送节点继续发送数据包。在一轮轮询之后,接收节点使用通知报文来回复前一个数据包已成功接收,同时也开启新一轮RSVP窗口给那些还存在数据包的发送节点新的机会进行传输预约。
CD-MAC的工作流程如图1所示。发送节点Si(本例中1≤i≤5)的传输队列中均存在待转发的数据包,它们的接收节点均为R。当R醒来后,它首先广播一个S-probe(通知报文,也叫侦测帧,图1中的C)告知所有发送节点,并开启一个包含8个时间片的RSVP窗口。C报文中包含了两个参数:n和m。其中n表示时间片的数量,m是一个辅助参数,是接收节点提供给发送节点计算时间片序列号时使用的。节点每一次醒来后,可能会发送多个S-probe帧。每一次发送的S-probe携带的参数是不一样的,以解决发送节点选择时间片的冲突问题。当发送节点接收到S-probe后,利用附带的两个参数,通过时间片选择方法计算时间片序列号并从RSVP窗口中选择对应的时间片,并且回复一个确认帧ACK。在RSVP窗口结束后,接收节点统计收到的ACK的数量,并且按照每个ACK的接收时间推测其所属的时间片。如果接收节点在RSVP窗口中没有接收到任何ACK,则进入睡眠状态;如果在RSVP窗口中有收到ACK(如图1中第一个RSVP窗口),则根据每个ACK的时间片序号,通过在轮询帧D-poll中嵌入推测出的确认帧的时间片序列号的方式,依次轮询地让每个发送节点发送数据包。即当发送节点自身计算所得的时间片序列号与发送节点收到的D-poll中的时间片序列号相同,则该发送节点发送数据包。比如,如图1所示,R首先在D-poll中嵌入时间片序列号0让S2发送数据包,接着让S1、S4和S3发送数据包。当接收节点在一定的时间内没有接收到S4的数据包时,它并没有继续发送D-poll让发送节点S4重发数据包,而是把发送数据包的机会让给其它发送节点S3。这是因为CD-MAC不能保证能够完全准确地推测ACK的时间片序号。R每收到一个数据包或相隔一个时间间隔没有收到数据包,将会发出下一个轮询帧让后续的发送节点继续发送数据包。在一轮轮询之后,接收节点使用S-probe来回复前一个数据包已成功接收,同时也开启新一轮RSVP窗口给那些还存在数据包的发送节点一次机会进行传输预约。例如,S4在前一轮的数据传输中失败,在接下来的一轮中,可以继续向接收节点发送数据包。每一轮轮询中,接收节点发出的S-probe中附带的参数可能是不一样的。例如第一轮的时间片数量为8,第二轮的时间片数量变为7。
CD-MAC通过使用传输预约、时间分集、依次轮询的方式避免了在网络数据包突然增多的情况下造成大量的传输冲突,以一种有序的方式高效地让发送节点把数据包传输给接收节点。接下来,下文继续分析接收节点是如何确定S-probe中的参数的,发送节点选择时间片的方法、以及接收节点是如何推测发送节点选择的时间片序列号的。
(2)通知报文参数的确定以及发送节点的时间片选择
通知报文中携带了两个参数:时间片数量n和辅助参数m。所有发送节点依据这两个参数和时间片选择策略来选择一个时间片,使得不同发送节点尽可能地选择不同的时间片以降低冲突的概率。作为一个接收节点,所有潜在的发送节点的信息可以从累积收到的数据包中得到。这些信息存储在一个集合中。
首先,接收节点对n的选择方法为,n的选择分为两种情况:接收节点醒来时第一次发送通知报文时选择的n和醒来后第二次及以后发送通知报文时选择的n;对于前者,根据网络流量的时间相关性,采用滑动平均来计算,即n=N(old)*(1-a)+a*N(new),其中,N(old)为累积的n的值(即接收节点上一次醒来时第一次发送通知报文时计算的n值),N(new)为上一次醒来时发送节点的数量;a取值范围为[0.3~0.5],a的实验最优值为0.4;对于后者,在接收节点醒来后第二次及以后发送通知报文时,每一次把n减1即可。时间片数量的最大值(nmax,仿真实验表明nmax设为20最合理)由系统决定。另外,CD-MAC规定时间片数量的最小值为nmin(系统实现中nmin被设置为4)。
接着,对于一个确定的n,接收节点对相应的辅助参数m的选择方法为:
选择的辅助参数m的最优值应使得公式(1)的累加值最小;
min m Σ Σ i ≠ j I { π ( S i , m , n ) = π ( S j , m , n ) }
公式(1)中,当π(si,m,n)=π(sj,m,n)为真时,I{π(si,m,n)=π(sj,m,n)}=1,否则I{π(si,m,n)=π(sj,m,n)}=0;π(si,m,n)=Mod(Mod(si,m),n),π(sj,m,n)=Mod(Mod(sj,m),n);i,j均为正整数;π(si,m,n)=Mod(Mod(si,m),n)表示发送节点Si的节点ID进行两次取模计算,π(sj,m,n)=Mod(Mod(sj,m),n)表示发送节点Sj的节点ID进行两次取模计算。节点ID在无线传感器网络初始构建时,可以通过路由层的发现报文和节点之间的数据传输等方式得到。公式(1)意味着所有发送节点选择到相同时间片的概率最小所对应的辅助参数m。值得指出的是,所有的这些计算都可以离线完成,在接收节点发送通知报文S-probe的时候,在经过优化的参数对集合中选择一个即可。
最后,对于发送节点,当收到通知报文后,发送节点Si(i为正整数)根据附带的参数n和m计算时间片序列号并选择对应的时间片,计算的方法用符号表示为π(si,m,n)。具体的计算过程分为两步:Si首先把自己的节点ID映射到集合[1,m]中的一个值;然后把这个值映射到集合[1,n]中的一个值;这两步的映射方法都采用取模操作,如公式(2)所示:
π(si,m,n)=Mod(Mod(si,m),n)(2)
采用双重取模的方法是为了在得到更大的自由度(辅助参数m可以随意选取,)的前提下,可以获得更小的时延(时间片n可以取得尽量小)和更小的时间片冲突概率(尽可能使不同的发送节点选择不同的时间片)。
参数选择方法造成时间片冲突的仿真效果如图2所示。在仿真中,节点ID从集合[0,1000]中选择,RSVP窗口的时间片数量n的选择范围为[4,20]。w/m表示通过双重取模的方法选择最优的m,而w/o表示通过单重取模运算直接选择时间片。可以看出,双重取模的方法可以大大降低时间片冲突的概率。当邻居节点数量为5时,双重取模运算方法可以把时间片冲突的概率降低到接近于0。参数选择方法对于静态网络中节点选择不同的时间片是可以从仿真结果中看出的。对于动态网络,这种方法也是非常适合的,当节点新加入到网络中,节点可以通过这种方法选择一个时间片,当接收节点接收到其发出的数据包后,可以进一步优化参数,以保证时间片冲突的概率很低。
(3)接收节点推测接收到的确认帧的时间片序列号的详细说明如下:
对于数据包的接收者,当接收完一个数据包时,会产生一个FIFOP中断(收到数据包中断)。对于数据包的发送者,当发送完一个数据包时,也会产生一个中断。在自由空间中,信号的传输时间可以忽略不计。因此,可以认为通知报文的不同的接收者(即发送节点)会同时产生FIFOP中断。
当发送节点收到通知报文S-probe产生FIFOP中断后,各发送节点根据公式π(si,m,n)=Mod(Mod(si,m),n)计算时间片序列号Kf,在等待KfTslot的时间(Tslot为时间片的时间长度)后,把确认帧ACK发送给通知报文的发送者即接收节点;
对于通知报文的发送者即接收节点,在其发出通知报文S-probe时,记录当时的发送时间Tp;当接收到确认帧ACK后,记录接收时间为Tr;Tr与Tp之间的最小时间差记为Tbase。在基于CC2420射频芯片的TinyOS系统中,Tbase约为2.3ms。根据记录的时间值,通知报文的发送者即接收节点能够推测出接收到的确认帧的时间片序列号Ks;推测方法如公式(3)所示。
Figure BDA0000449759320000071
接着,在RSVP窗口结束后,接收节点向发送节点广播轮询帧D-Poll,在轮询帧中嵌入推测出的确认帧的时间片序列号Ks;以让发送节点依次轮询地发送数据包,即当发送节点自身计算所得的时间片序列号Kf与发送节点收到的轮询帧中的时间片序列号Ks相同,则该发送节点发送数据包。
(4)CD-MAC协议实现的其它问题
a)批传输:当发送节点在链路层包头设置了批传输位时,发送节点采用批传输方式向接收节点发送数据包。
如果发送节点的传输队列中存在多个数据包,CD-MAC提供了批传输策略,当轮到此发送节点传输数据包时,它可以连续地把数据包传输给接收节点。批传输由发送节点发起,当发送节点在链路层包头设置了批传输位时(图3中的frame pending位),接收节点收到此数据包后,将为发送节点再提供一次发送数据包的机会。批传输的示意图见图4,b表示被设置的批传输位,P表示轮询帧D-poll,Data表示数据包,Z表示节点进入睡眠状态。
b)数据包的丢失:当发送节点发出轮询帧D-poll让指定的发送节点发送数据包后,经过一个时间间隔如果没有收到数据包,接收节点将继续发送轮询帧D-poll让后续的发送节点继续发送数据包,而不是继续等待之前的发送节点重发数据包。如图5所示,发送节点S1的数据包在传输过程中丢失,接收节点R在等待了Tpwt的时间后,发送D-poll(P)让发送节点S2发送数据包。S1的数据包将在下一个轮询中发送。
c)没有发送节点或者只有一个发送节点:如果接收节点广播通知报文后,没有收到确认帧,则进入睡眠状态;如果接收节点广播通知报文后,只收到一个确认帧,则接收节点不发送轮询帧,发送该确认帧的发送节点在发出确认帧后,从RSVP窗口截止开始等待的时间超过一个设定时间间隔还未收到轮询帧,则立即发送数据包。
具体的,如果接收节点在RSVP窗口中没有收到确认帧ACK或者仅仅收到一个ACK,接收节点还是采用D-poll去通知发送节点发送数据包,会浪费时间和信道资源。CD-MAC的策略是,如果接收节点广播通知报文后,没有收到确认帧,则进入睡眠状态;如果只收到一个确认帧,则接收节点不发送轮询帧去通知发送节点,当发送节点发出ACK后,从RSVP窗口截止开始等待接收节点的D-poll,如果超过了一定的时间还没有收到轮询帧D-poll,则立即发送数据包。如图6所示,在RSVP窗口内,接收节点R只收到了一个ACK,因此没有利用D-poll通知发送节点S发送数据包。当RSVP窗口截止后,S等待了Tdpt的时间,在没有收到R的D-poll的情况下,发送了自己的数据包。
d)广播数据包:广播包在传感器网络中应用广泛,比如数据分发、重编程等应用程序都要用到广播包。广播包对于网络拓扑维护、时间同步、代码更新等都起到重要作用。广播包的传输方式和前文的普通数据包类似。在广播周期内,节点会保持在活跃状态下。当接收到邻居节点醒来后发出的通知报文后,与普通数据包一样回复一个ACK。然后在等待邻居节点的D-poll轮询报文。当轮到它时,把广播数据包发送出去。
如上所述,在CD-MAC中,通过利用RSVP窗口的预约机制,时间分集策略,以及数据包轮询的传输方式可以使得多个发送节点有序地发送数据包,有效地避免了传输冲突。

Claims (8)

1.一种冲突可侦测的链路层控制方法,其特征在于,包括: 
当发送节点的传输队列中存在待转发的数据包时,保持在活跃状态下侦听接收节点的通知报文;所有的节点周期性地从睡眠状态醒来,若信道空闲,则接收节点立即广播一个通知报文告知所有潜在的准备向其发送数据包的发送节点;并开启一个包含多个时间片的RSVP窗口;通知报文中包含了两个参数:n和m,n表示时间片的数量,为正整数,m是接收节点提供给发送节点计算时间片序列号时使用的辅助参数; 
对于任一个发送节点,若该发送节点存在待转发的数据包,当收到通知报文后,根据附带的参数n和m计算时间片序列号并从RSVP窗口中选择对应的时间片;并向接收节点回复一个确认帧; 
在RSVP窗口结束后,接收节点根据接收到每个确认帧的接收时间和时间片的时间长度推测接收到的确认帧的时间片序列号; 
接着,接收节点向发送节点广播轮询帧,在轮询帧中嵌入推测出的确认帧的时间片序列号;以让发送节点依次轮询地发送数据包,即当发送节点自身计算所得的时间片序列号与发送节点收到的轮询帧中嵌入的时间片序列号相同,则该发送节点发送数据包; 
接收节点每收到一个数据包或相隔一个时间间隔没有收到数据包,则会发出下一个轮询帧让后续的发送节点继续发送数据包; 
在一轮轮询之后,接收节点使用通知报文来回复前一个数据包已成功接收,同时也开启新一轮RSVP窗口给那些还存在数据包的发送节点新的机会进行传输预约。 
2.如权利要求1所述的冲突可侦测的链路层控制方法,其特征在于: 
接收节点对n的选择方法为,n的选择分为两种情况:接收节点醒来时第一次发送通知报文时选择的n和醒来后第二次及以后发送通知报文时选择的n;对于前者,根据网络流量的时间相关性,采用滑动平均来计算,即n=N(old)*(1-a)+a*N(new),其中,N(old)为累积的n的值,N(new)为上一次醒来时发送节点的数量;a取值范围为[0.3~0.5];对于后者,在接收节点醒来后第二次及以后发送通知报文时,每一次把n减1即可。 
3.如权利要求2所述的冲突可侦测的链路层控制方法,其特征在于: 
时间片数量的最大值满足:每个时间片大小乘以时间片数量的上限需小于两个连续通知报文之间的时间间隔;时间片数量的最小值取4。 
4.如权利要求2所述的冲突可侦测的链路层控制方法,其特征在于: 
对于一个确定的n,接收节点对相应的辅助参数m的选择方法为: 
选择的辅助参数m的最优值使得公式(1)的累加值最小; 
公式(1)中,当π(si,m,n)=π(sj,m,n)为真时,I{π(si,m,n)=π(sj,m,n)}=1,否则I{π(si,m,n)=π(sj,m,n)}=0;π(si,m,n)=Mod(Mod(si,m),n),π(sj,m,n)=Mod(Mod(sj,m),n); 
π(si,m,n)=Mod(Mod(si,m),n)表示发送节点Si的节点ID进行两次取模计算,π(sj,m,n)=Mod(Mod(sj,m),n)表示发送节点Sj的节点ID进行两次取模计算。 
5.如权利要求4所述的冲突可侦测的链路层控制方法,其特征在于: 
发送节点Si根据附带的参数n和m计算时间片序列号并选择对应的时间片,计算的方法用符号表示为π(si,m,n);具体的计算过程分为两步:Si首先把自己的节点ID映射到集合[1,m]中的一个值;然后把这个值映射到集合[1,n]中的一个值;这两步的映射方法都采用取模操作,如公式(2)所示: 
π(si,m,n)=Mod(Mod(si,m),n)(2) 。
6.如权利要求5所述的冲突可侦测的链路层控制方法,其特征在于: 
接收节点根据接收到确认帧的接收时间和时间片的时间长度推测接收到的确认帧的时间片序列号具体包括: 
当发送节点收到通知报文产生FIFOP中断后,各发送节点根据公式π(si,m,n)=Mod(Mod(si,m),n)计算时间片序列号Kf,在等待KfTslot的时间后,把确认帧发送给通知报文的发送者即接收节点;Tslot为时间片的时间长度; 
对于通知报文的发送者即接收节点,在其发出通知报文时,记录当时的发送时间Tp;当接收到确认帧ACK后,记录接收时间为Tr;Tr与Tp之间的最小时间差记为Tbase;根据记录的时间值,通知报文的发送者即接收节点能够推测出接收到的确认帧的时间片序列号Ks;推测方法如公式(3)所示。 
7.如权利要求1~6中任一项所述的冲突可侦测的链路层控制方法,其特征在于:当发送节点在链路层包头设置了批传输位时,发送节点采用批传输方式向接收节点发送数据包。 
8.如权利要求1~6中任一项所述的冲突可侦测的链路层控制方法,其特征在于: 
如果接收节点广播通知报文后,没有收到确认帧,则进入睡眠状态; 
如果接收节点广播通知报文后,只收到一个确认帧,则接收节点不发送轮询帧,发送该确认帧的发送节点在发出确认帧后,从RSVP窗口截止开始等待的时间超过一个设定时间间隔还未收到轮询帧,则立即发送数据包。 
CN201310744879.6A 2013-12-30 2013-12-30 冲突可侦测的链路层控制方法 Active CN103687072B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310744879.6A CN103687072B (zh) 2013-12-30 2013-12-30 冲突可侦测的链路层控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310744879.6A CN103687072B (zh) 2013-12-30 2013-12-30 冲突可侦测的链路层控制方法

Publications (2)

Publication Number Publication Date
CN103687072A true CN103687072A (zh) 2014-03-26
CN103687072B CN103687072B (zh) 2016-09-28

Family

ID=50323007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310744879.6A Active CN103687072B (zh) 2013-12-30 2013-12-30 冲突可侦测的链路层控制方法

Country Status (1)

Country Link
CN (1) CN103687072B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107508755A (zh) * 2017-07-29 2017-12-22 北京广利核系统工程有限公司 避免数据冲突的网络通信方法和装置
CN109495796A (zh) * 2018-12-26 2019-03-19 山东有人信息技术有限公司 一种远距离无线电终端控制方法及集中器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020172208A1 (en) * 2001-05-18 2002-11-21 Nokia Corporation Hybrid automatic repeat request (HARQ) scheme with in-sequence delivery of packets
EP1646250A1 (en) * 2003-05-30 2006-04-12 ZTE Corporation The triggering method of radio link layer transmitting window controlling information
CN101848489A (zh) * 2009-03-25 2010-09-29 中兴通讯股份有限公司 Pdu的发送/接收方法和装置
CN101932128A (zh) * 2009-06-25 2010-12-29 大唐移动通信设备有限公司 一种数据链路层的数据收发处理方法及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020172208A1 (en) * 2001-05-18 2002-11-21 Nokia Corporation Hybrid automatic repeat request (HARQ) scheme with in-sequence delivery of packets
EP1646250A1 (en) * 2003-05-30 2006-04-12 ZTE Corporation The triggering method of radio link layer transmitting window controlling information
CN101848489A (zh) * 2009-03-25 2010-09-29 中兴通讯股份有限公司 Pdu的发送/接收方法和装置
CN101932128A (zh) * 2009-06-25 2010-12-29 大唐移动通信设备有限公司 一种数据链路层的数据收发处理方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙勇: "对策论框架下的网络拥塞控制及带宽资源分配", 《山东大学硕士学位论文》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107508755A (zh) * 2017-07-29 2017-12-22 北京广利核系统工程有限公司 避免数据冲突的网络通信方法和装置
CN107508755B (zh) * 2017-07-29 2021-03-12 北京广利核系统工程有限公司 避免数据冲突的网络通信方法和装置
CN109495796A (zh) * 2018-12-26 2019-03-19 山东有人信息技术有限公司 一种远距离无线电终端控制方法及集中器
CN109495796B (zh) * 2018-12-26 2021-11-26 山东有人物联网股份有限公司 一种远距离无线电终端控制方法及集中器

Also Published As

Publication number Publication date
CN103687072B (zh) 2016-09-28

Similar Documents

Publication Publication Date Title
Yang et al. Modeling and performance analysis for duty-cycled MAC protocols with applications to S-MAC and X-MAC
US9980207B2 (en) Delayed response to requesting device
JP6081495B2 (ja) トラフィックインジケーションマッピング後にトリガされる送信のアクセスポイントのためのシステムと方法
CN103906207A (zh) 基于自适应按需唤醒技术的无线传感器网络数据传输方法
CN105979547B (zh) 一种广域物联网的通信方法、节点装置及系统
Sarang et al. Multi-priority based QoS MAC protocol for wireless sensor networks
CN104092523A (zh) 一种无线传感器网络多流竞争场景下的数据传输方法
CN103929284A (zh) 一种无线传感器网络的高可靠传输方法
Liang et al. SW-MAC: A low-latency MAC protocol with adaptive sleeping for wireless sensor networks
Sakib et al. Energy-efficient synchronous MAC protocol based on QoS and multi-priority for wireless sensor networks
CN105208671B (zh) 用于无线传感器网络的高信道利用率h-mac协议的实现方法
CN106878958A (zh) 软件自定义无线网络中基于可调占空比的快速传播方法
CN103687072A (zh) 冲突可侦测的链路层控制方法
Xu et al. Maximizing throughput for low duty-cycled sensor networks
Boukerche et al. MAC transmission protocols for delay-tolerant sensor networks
Tang et al. REA-MAC: A low latency routing-enhanced asynchronous duty-cycle MAC protocol for wireless sensor networks
Leu et al. Improving multi-path congestion control for event-driven wireless sensor networks by using TDMA
Kumberg et al. Improving the performance of the cross-layer wake-up routing protocol T-ROME
Ghrab et al. ECAB: An Efficient Context-Aware multi-hop Broadcasting protocol for wireless sensor networks
Kumar et al. Optimizing duty-cycle for delay and energy bound wsn applications
Ba et al. MoX-MAC: A low power and efficient access delay for mobile wireless sensor networks
Villordo-Jimenez et al. An energy-efficient hash-based MAC protocol for LSN
KR101135518B1 (ko) 무선 센서 네트워크의 데이터 전송방법
Monowar et al. A load-aware energy-efficient and throughput-maximized asynchronous duty cycle MAC for wireless sensor networks
WO2016137367A1 (en) Methods, access point and wireless device for contention-based access on radio channel

Legal Events

Date Code Title Description
PB01 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