收藏 分享(赏)

CODA:传感器网络中的拥塞检测与避免.doc

上传人:精品资料 文档编号:11002439 上传时间:2020-01-30 格式:DOC 页数:24 大小:340KB
下载 相关 举报
CODA:传感器网络中的拥塞检测与避免.doc_第1页
第1页 / 共24页
CODA:传感器网络中的拥塞检测与避免.doc_第2页
第2页 / 共24页
CODA:传感器网络中的拥塞检测与避免.doc_第3页
第3页 / 共24页
CODA:传感器网络中的拥塞检测与避免.doc_第4页
第4页 / 共24页
CODA:传感器网络中的拥塞检测与避免.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、CODA:传感器网络中的拥塞检测与避免ChiehYihWanDept. of Electrical EngineeringColumbia UniversityNew York, NY 10027wanee.columbia.eduShane B. EisenmanDept. of Electrical EngineeringColumbia UniversityNew York, NY 10027shaneee.columbia.eduAndrew T. CampbellDept. of Electrical EngineeringColumbia UniversityNew York, N

2、Y 10027campbellee.columbia.edu摘要事件驱动传感器网络在空闲或者轻负载的状态下运作,在响应检测或监视事件时变得活跃。在依赖传感器应用的网络下,事件脉冲的传输可能会导致不同程度的拥塞。拥塞发生在事件发生期的可能性是最大的,并且传输的信息对用户最为重要。为了应对这一挑战,我们为传感器网络提出了一个高效的拥塞控制方案,叫做 CODA(拥塞检测与预防) ,包括三个机制:(i)基于接收端的拥塞检测;(ii)开环逐跳反压;和(iii)闭环多源调整。目前我们使用仿真和实验方法对 CODA 进行详细的设计、实施及评价。我们有两个重要的性能指标对 CODA 在传感应用中的作用进行评估

3、(即能耗和逼真度损耗) 。我们讨论了在基于使用 CSMA 的伯克利 motes 的传感器网络下 CODA 的性能优势及工程实施中出现的问题。仿真结果表明,CODA 显著的提高了数据传输应用的性能,比如通过减少热点进行定向扩散,和在传感应用中通过低保真度损耗减少能耗。我们还证明了 CODA 在许多拥塞情况下能够响应,因此我们相信这些提高网络速度的部署将流行。分类和主题描述C.2.1计算机通信网络:网络协议,无线通信通用条款算法,设计,性能。这项工作的数字或硬件拷贝将免费用于个人或课堂使用,没有商业利益,通知和完整引文在副本的第一页。以其他方式复制、服务器上再版或者重新分配列表需要事先有特定的权限

4、或者收费。SenSys03,2003 年 11 月 5 日-7 日,美国,加州,洛杉矶版权所有: 2003 ACM 1581137079/03/0011 .$5.00.关键词高效能量拥塞控制,无线传感器网络1.引言传感器网络多种多样,覆盖了不同的地理区域,有稀疏或者密集的部署,使用各种能源有限的设备,并执行各种传感应用。传感器的一个应用是报告一个环境突然变化的区域的状态的变化,比如栖息地监测,目标探测,地震,洪水,火灾等。传感器网络一般工作在轻负载状态下,在响应一个检测或监视事件时变得活跃。不同的应用可能会导致巨大的突然的数据脉冲,这些数据必须交付到少数传感应用没有被显著破坏的节点中。虽然传感

5、器网络工作只花费了一小部分事件来处理脉冲,但在此期间所提供的信息却是最重要的。事件脉冲的传输可能会导致传感器网络不同程度的拥塞。用下面简单却现实的模拟场景来说明传输拥塞的问题。图 1 显示了在不同报告速率下等数量的活动信息源传感网络中,数据传播中的拥塞影响。NS-2 的仿真结果众所周知是一个定向扩散方案6的仿真结果,该仿真执行在一个拥有 30 个节点,使用2Mbps 的 IEEE 802.11 MAC,拥有 6 个活跃信息源和 3 个接收端的中等规模传感器网络上。6 个信源是从 30 个节点中随机选取的,3 个接收端则均匀分布在传感器区域。每个信源产生的事件数据包的速度都是相同且固定的,同时接

6、收端在模拟场景 50 秒周期的前 20 秒内的任意时间接收(即广播相应的信息)不同信源的数据。事件和感应包长度分别为 64 和 36 比特。该图说明信息源速率的增加超过一定的网络容量阈值时,拥塞发生的更为频繁,且接收端接收数据包的总的数量会迅速减少。该图显示,即使低到中度信源事件的速率,整个传感器网络仍可以观察到一个大的速率下降过程。例如,在一个信源事件速率为 20事件/s 的网络中,接收端每接收一个数据事件包就会有一个包在传感域被丢弃。被丢弃的包有 MAC 信令,数据事件包本身,和扩散消息包。图 1 所示的丢弃率不仅能反映传感器网络中包丢弃的情况,更重要的是反映传感应用中能源浪费的情况。图

7、1:传感器网络中在接收端接收的作为显示信源速率功能的数据事件包丢弃的总数。X 轴的刻度值越大表示报告率越低。所有在 50s 的模拟情景中丢弃的包都被记作丢弃率的一部分,包括 MAC 信号(例如,RTS/CTS/ACK 和 ARP) ,数据事件,和扩散消息报。根据传感应用的类型,事件脉冲的速率或多或少。一些应用可能只在一个小的区域内传输,产生很小的流量,同时其他的(例如水库、地震)可能在整个传感区内产生较大的流量波动(正如图 1 显示的导致高丢包) 。对此,未来的传感器网络的拥塞控制机制必须能够平衡负载,同时接收端在某一时刻或更长时间的拥塞时,能够努力保证交付信号的扩散(即事件速率)能够被接收。

8、可能会出现一些不同的拥塞状况。首先,在密集部署的传感器产生数据事件将在靠近信源(例如,在一跳或两跳内)的位置创建一个正比于开始脉冲速率的持续的热点。在这种情况下,本地化的快速反应机制能够将信息从拥塞点反压回信源,这点是非常有效的。第二,在稀疏部署传感器产生低数据速率事件时,将在信源与接收端之间的略远于信源任意位置创建虚拟热点。在这种情况下,同时使用本地反压(在热点与中确定的节点之间)和丢包技术的本地热点的快速反应将更为有效。由于暂时性的拥塞,信源节点不会参与反压。第三,稀疏部署传感器产生高数据速率事件时将在传感器区域同时创建临时和永久热点。在最后一种情景下,快速反应组合的动作是为了解决本地临时

9、热点和建立永久热点的所有信源的闭环速率调节,这一点是很必要的。在本文中,我们为传感器网络提出了一个称为 CODA(COngestion Detection and Avoidance)的高效节能的拥塞控制机制,包括以下三个机制:拥塞检测。精确而高效的拥塞检测在无线网络拥塞控制中起着重要作用。CODA 综合运用当前与以往的信道载荷状态信息、当前缓存器缓存信息量来推断每个接收机的精确拥塞检测,开销低。由于传输介质共享,并且相邻的其他设备之间在传输过程中有可能拥塞,因此传感器网络必须知道信道的状态。如果一直通过监听信道来衡量本地负载将造成高能耗。因此,CODA 采用采样技术,在适当的时间监测本地信道

10、,建立精确的估计,以减小能耗。一旦检测到拥塞,则节点运用反压机制向上一相邻节点发送信令。开环、逐跳反压。在 CODA 中,一个节点只要检测到拥塞就广播一条反压消息。反压消息按上行方向朝源节点传递。对于密集网络的脉冲数据事件,反压消息可能直接传递到源节点。节点接收到反压消息后就可以根据本地拥塞策略(如丢包等)降低其发送速率或者丢掉数据包。上行节点接收到反压消息后,根据本地网络状态确定是否需要继续朝上行方向转发该反压消息。闭环、多源调整。在 CODA 中,闭环调整工作时间较慢,能够在发生持续性拥塞时针对单一接收端发送事件包的多个源节点进行拥塞控制。当源节点事件速率小于信道最大理论吞吐量的一定百分比

11、时,源节点自行调整。当超过这一值时,源节点可能发生拥塞,因此触发了闭环拥塞控制,信源只进入接收端调整。在这一点上,信源需要缓慢的不间断的从接收端进行反馈(如 ACK) ,以维持其速率。信源接收到的 ACKs 作为时钟自调机制,允许信源维持其当前速率。如果没有接收到 ACK,则降低信源速率。本文结构如下。第二部分介绍了相关工作。接下来,第三部分讨论了一些用以缓解传感器网络热点,如 MAC 和拥塞检测问题。第四部分详细介绍了 CODA 的反压和速率调节机制。接下来在第五部分通过一个传感器实验测试平台对 CODA 的执行情况进行了评估。在传感应用性能上我们定义了两个性能指标(能耗和失真)来评估 CO

12、DA 的作用。有用 CODA 的设计与现有的数据传播策略是通用的,我们也使用众所周知的传播机制进行评估。第六部分提出了一个使用 NS-2 模拟器进行定向扩散的 CODA 的初步性能评价。最后在第七部分进行了总结并交代了今后的工作。2.相关工作传感器网络的拥塞控制在文献上没有被大程度讨论。拥塞避免技术需要在12中鉴定,同时需要权衡传感器网络的基础设施。Tilak, Abu-Ghazaleh,和 Heinzelman 12显示了提高密度和报告速率对网络性能的影响。虽然作者没有提出任何的拥塞避免机制,但他们注意到任何此类机制都必须通过报告速率进行衔接以满足传感应用的性能或高保真。这是在传感器网络中极

13、为重要的观察。许多现有的数据传输策略613都可以通过配置或修改来响应拥塞。例如定向扩散可以在检测到拥塞时在网络中使用数据缩减技术,比如主动聚合。其他协议比如 PSFQ(Pump Slowly Fetch Quickly 13,一种传感器网络下可靠的传输协议) ,能够适应协议(即调整 pump/fetch 比例)以避免拥塞。然而这些方法涉及到高度专业化的参数调整,精确的拥塞计时,及对协议内部运作的深入理解。拥塞控制机制需要涉及全面的设置,能够最优的约束和满足传感器网络及其新兴应用。这些机制应提供组件的一半设置,在高效拥塞控制下可以插入应用程序或者 MAC。在14中报告了一个传感器网络的载体传感机

14、制的综合研究。作者提出了一种自适应速率控制机制,可以在网络内支持所有节点带宽的公平分配。隐性损耗(即注入网络失败的数据包)用于碰撞信号以调整节点的传输速率。本文的侧重点在于访问控制的公平问题上,而不是拥塞控制。在9中一个事件到接收端可靠传输协议(ESRT)提供了对拥塞控制的支持。ESRT 通过调节传感器报告率以响应网络中检测到的拥塞。本文代表了最新的最全面的传感器网络拥塞控制,其灵感来源于对 Tilak, Abu-Ghazaleh, and Heinzelman 12 的讨论。ESRT监测了本地传感器节点的缓存水平,并在包中设置了一个拥塞通知为,如果缓存溢出,则将包传递给接收端。如果一个接收端

15、接收到了带有拥塞通知设置比特的包,则进行拥塞估计,并以广播的形式通知各源节点,根据其控制信号的功能降低其报告频率。正如9中讨论的一样,接收端必须在高能量下广播控制信号,以确保所有信源都能接收到。这样的信号在存在一些潜在的弊端,特别是在大型的传感器网络。所有正在进行的事件传输都可能因为传往信源的如此高能量的信号而拥塞。另外,9中提到的调节所有信源速率适用于具有相同报告速率传感器网络的均值应用,但不适用于异构数据源。即使是同质信源,ESRT也总是调节所有信源,无论热点发生在传感器区域的任何位置,或者被观察的热点是否影响信源到接收端的路径。我们认为有必要支持异构数据源,并且只有规范这些信源才能应对或

16、者影响这些临时或者持久的拥塞状况。此外,我们认为信源的闭环调节不应使用高能量,逐跳信号不会对正在进行的数据传播产生干扰。许多其他的组织正着眼于传感器网络以外的无线网络的拥塞控制问题。例如,WTCP10通过检测发送端与接收端包分离比例,对无线局域网内的拥塞进行检测和反应。如果无线网络和 hoc 网络检测到拥塞则 SWAN17将强制信源重新调整端到端。对于无线和 hoc 网络中的组播,RALM11采用类似于 TCP 拥塞和错误控制机制。同时多播拥塞控制和无线网络拥塞控制不需要处理传感器网络中能量扩散拥塞检测和避免的问题。3.设计注意事项接下来我们讨论对支持 CODA 设计技术方面的考虑,详细设计将

17、在第四部分。在无线共享介质中,媒体访问控制在管理数据脉冲的性能上起着显著的作用。有一个影响越来越大的用于传感器网络适应型 TDMA 方案,通过定期关闭节点来维持能量。因为TDMA 能够严格控制和调整网络中的传输流量,拥塞控制的需求基本得到缓解。可是在 TDMA广泛应用之前仍有许多问题必须解决,包括同步和调度开销。越来越多的传感器网络使用 CSMA 或其变种进行介质访问。例如,广泛应用的Berkeley motes 5 使用一个简单的 CSMA MAC 作为 TinyOS19平台的一部分。在16作者提出了一个 CSMA 的修改版本叫做 S-MAC,将 TDMA 调节结合了 TCSMA 的基于介质

18、访问的论点却没有严格的时间同步要求。S-MAC 使用虚拟载波监听以避免终端隐藏问题,允许除了发送端和接收端外的节点进入睡眠模式(在 RTS/CTS 交换后 NAV 期间) ,以此节约能源。S-MAC 在支持单一应用的同质化网络中运行良好。当使用 S-MAC 或者基于其他理论的计划时,一旦传入流量超过节点容量并且队列溢出,拥塞仍然会发生。CODA 的设计仍有一些注意事项。接下来,我们讨论了 MAC 和拥塞检测的注意事项。3.1 CSMA 的注意事项3.11 吞吐量问题CODA 采用实践方法,假定 CSMA。CSMA 的理论最大吞吐量近似为1:其中,CSMA的性能很大程度上依赖于,表示无限传播时延

19、和信道空闲检测时延的和。表示时延,单位为秒,C表示原始信道的比特速率,L表示一个数据分组的比特估计数。如果节点可以快速检测到空闲周期,即极小,那 么CSMA 可以提供极高的信道利用率,与网络负载无关。式(1)中给出了一跳范围内CSMA的信道容量。在7中,参考文献指出,一条理想Ad Hoc多跳转发链应该能后达到单跳传输所能达到的吞吐量的25%。就像3.2和4.2部分中讨论的一样,这个结果对于CODA的设计具有重要的指导意义。3.1.2 隐藏终端CSMA在多跳环境中会遇到隐藏终端问题。IEEE 802.11采用虚拟载波监听(VC)即RTS/CTS交互来消除隐藏终端。为了降低采用虚拟载波监听而引入的

20、信令开销,IEEE 802.11传输短分组时不采用RTS/CTS交互。在传感器网络中,由于低占空因数要求和流量特点8,分组通常很短(即几十个字节) 。因此如果每条信息都是用RTS/CTS交互的话,信令开销会很高。此外,传感器节点有一个有限的能源预算,这样做会提高能源成本。通常,在网络负载很轻时,除了源节点和转发节点,其他节点大部分时间都处于静默状态,这时网络的工作负载是很低的。因此隐藏终端引起的丢包很少。在14中,作者表明,一般情况下,即使在终端密集的网络中,当节点发送/转发数据包良好时,终端隐藏存在的概率很低。在S-MAC16中,RTS/CTS交互被用于聚合方式而不是单一数据包,以减少能源成

21、本。总之,就传感器网络而言,正常操作期间,因为开销高而没有必要使用VC。为了防止拥塞,需要设计一种能够满足使用或者不使用VC的机制,要求在正常操作期间开销低,甚至无开销,足够快的解决拥塞问题。在3.2部分,我们将讨论这样一个策略。3.13 链路层ARQ在IEEE802.11 MAC中,将已发送的包保存到发送缓存中,直到接收到其ACK或者到达最大重传次数为止。这个机制提高了链路质量,代价是能耗和储存器空间的增大。可是,能量和储存空间对传感器节点而言是稀有资源,在正常操作下没有必要用于支持链路的可靠性(即由于传感器网络的应用特定性,并非所有数据包都需要严格的可靠性) 。我们相信,在传感器网络协议设

22、计时需要分别考虑可靠性和拥塞控制。对于关键信息交互(如路由信令) ,VC和链路层ARQ作为通信可靠性手段是必须的,但在拥塞期间,VC和链路层ARQ不是必须的。在传感器网络中,由于所分发数据中的固有冗余度,能耗比偶尔数据包丢失更加严重。因此,主要目标功能是能耗最低化。这与TCP相反,丢失的TCP分组总是要恢复的。在设计时,拥塞控制并不直接关心分组的丢失,允许CODA消除与其他控制机制的可靠性之间的相互影响。因此,根据应用,CODA能够与(可以不与)可靠性机制一起使用。3.2 拥塞检测在传感器网络拥塞控制中,精确高效的拥塞检测起着重要的作用。对新的拥塞检测技术的要求是低能耗和计算复杂性低。可能有几

23、项技术。3.2.1 缓存器队列长度在传统数据网络中经常采用队列管理来检测拥塞。但是,由于没有链路层应答(有些应用可能不要求链路层应答,因此为了节能不采用链路层应答) ,所以不能使用缓存器信息缓存量或者队列长度作为拥塞指示。为了进一步说明。利用ns-2仿真一个5节点的简单IEEE 802.11无线网络,如图2。在仿真中,节点1和4各自开始发送CBR分组,占50%信道容量,CBR分组通过节点2分别传给节点3和5。10秒后,其中一个源节点停止发送。可以仿真两次,一次使用VC和链路层ARQ,另一次不使用VC和链路层ARQ。图2:一个简单的5节点的IEEE 802.11无线网络用于说明基于接收节点的拥塞

24、控制图3给出了时间序列轨迹结果,包括信道负载、缓存器信息缓存量以及中间节点2的包交付率。图中可以清楚看到,在两个源节点同时发送的时候,信道负载几乎立即上升到90%,发生拥塞,包交付率从100% 下降到20% 左右。但缓存器信息缓存量在拥塞期间,特别是在关闭VC 仿真期间的事件序列轨迹中增长缓慢。在仿真到5s左右急剧下降,从而提供了虚假的拥塞状态信息。这是因为如果没有链路层ARQ,队列的情况不代表拥塞已经缓解,因为出队列的包可能由于碰撞而没有传递到下一跳。由于检测时延1,CSMA不保证相邻节点间无碰撞传输。图3 采用及不采用VC的信道负载、缓存器占用时间轨迹,和采用VC情况下的包交付轨迹这个简单

25、的模拟结果显示,当链路层ARQ被启用,除了队列为空或即将溢出等极端情况下,缓存器被占用不能准确的反应拥塞。第一种情况传输状态良好,第二种情况信号拥塞严重。换句话手,很难量化拥塞等级或者推断完全基于缓存占用的拥塞。这种双峰型的影响不足以响应,只是粗略的提供了平稳有效的拥塞控制。3.2.2 信道负载在CSMA网络中,传感器直接监听信道,跟踪信道工作时间并计算本地信道负载状态。由于式(1)中的Smax给出了信道的最佳利用,如果一个传感器检测到信道负载到达信道容量的一定比例时,则表示发生碰撞的概率非常高。7信道负载给出了周围网络工作状态的精确信息,是固有的本地拥塞缓解机制。这限制了影响,例如,在从产生

26、高速率流量的稀疏本地信源检测由数据脉冲引起的大规模拥塞时,在节点监听信道消耗相当大的一部分能量。因此,在传感器网络中一直执行该操作是不现实的。在4.1节中,我们提出了一个抽样方案,只在适当的时候激活本地信道监听,从而尽量减低能源成本,同时得到对状况的准确估计。3.2.3 报告速率/逼真度对于在传感器网络中的典型应用6,接收端要求一定的源节点采样速率或报告速率。该速率与具体应用密切相关,并且可以被看做是表示时间逼真度12。这是因为,源节点对于某种现象的报告速率应该足够高,以满足应用所需的精确度。当接收端的包接收率一直低于所要求的报告率,则推断传输路径上可能因拥塞而丢包。相比之下,当ESRT9接收

27、的小于要求的报告率,除非接收端接收到拥塞通知比特设置的包,否则向信源发送信令,要求提高信源的报告速率。这种逼真度测试方法的执行相对于包传输来说需要很长时间,并且要注意:信源与接收端之间的端到端延时。这是其采样速率的自身需求。处理时延一个接收端通常收集多个信源关于同一现象的数据(如数据积累/融合)。为了处理不同信源的数据包因沿不同路径传播到达接收端的不同时延,接收端在得出结论前需要等待一段时间以接收各信源的报告。稳定性为了避免对可能引起抖动的瞬间现象的不必要反应,接收端不应对事件反应过快,因此应该定义一个合适的、时间较长的“观察周期” 。总之,基于报告速率的拥塞检测本来就很慢,并且是端到端的,因

28、此,不能有效的处理传感器网络中的临时热点问题。4 CODA 设计由于出现的拥塞情况不同,热点可以发生在传感器区域的不同位置。这引起了对CODA的开环逐跳反压和闭环多源调整机制的需求。这两中机制在不隔绝时可以很好的相互补充。传感器网络中,不同的节点对速率控制功能的需求不同,这取决于该节点是信源、接收端或者是中间节点。信源知道流量的属性而中间节点不知道。接收端最有条件了解接收信号的真实速率,并且在一些应用中,接收端因为可以执行复杂的启发式算法而成为强大的节点。CODA的目标是在正常状况下降低能耗或者无能耗,但一旦检测出拥塞,则不能足够快得缓解热点周围的拥塞。接下来我们讨论CODA的反压和多源调节机

29、制。4.1 开环逐跳反压反压是发生拥塞后的初步快速控制机制。其主要思想是采用3.2节中提到的各种检测技术进行本地各节点的低开销拥塞检测。一旦检测到拥塞,接收端将向邻节点广播一条抑制信息,通知作出本地调整,从而防止拥塞向下行方向扩撒。节点只要检测到拥塞就会广播反压消息。反压信号朝信源方向传递。对于密集网络的脉冲数据事件,反压很可能直接传递个信源。节点接收到反压信号后就可以根据某些本地拥塞策略(如丢包、AIMD等)降低其发送速率或者直接丢包。上行节点(朝向信源方向)接收到反压消息时,根据其本地网络状态决定是否需要向上传播反压消息。例如,节点接收到反压消息后,根据本地策略可以将其输入数据包丢弃,防止

30、其队列填满而造成拥塞,因为队列溢出不会朝上行方向传播反压消息。但是,由于节点在没有反压信号传播时的本地处理拥塞指示策略,需要闭环拥塞控制机制来处理这种情况下的持续性拥塞。我们使用拥塞深度来表示反压消息在遭遇拥塞前传播通过的转发跳数。路由协议和本地丢包策略可以采用拥塞深度来衡量通过不同路径的能耗。可以使用两种简单的情况:以临时拥塞深度作为路由协议选择较佳路径的指标,从而降低深度拥塞路径的流量。另外,节点可以抑制或者丢弃有关路由协议或者数据转发协议的重要信令消息(如interests6,数据广播3等) ,而不是耦合拥塞控制和路由。这种方法有助于事件流按照透明方式离开拥塞区域和远离热点。对于使用拥塞

31、深度协助路由的进一步研究超出了本文的范围。本文的其余部分将描述CODA的开环控制的主要内容和具体操作。4.1.1 基于接收方的检测正如3.2节提到的,有多个良好的拥塞指示:将要溢出的队列。所测信道负载高于最佳信道利用率的一定比例。这是拥塞的概率指示,通过观测信道负载接近上限的程度来获得。队列长度监视除了极低的处理开销外几乎没有开销,只提供双峰指示。监听信道只测量信道负载或者只获取碰撞检测信令的信息,提供拥塞指示,但是如果持续不停地监听信道则能量开销很高。因此,只在合适的时候激活信道监听,使能耗最低是很关键的。考虑一个传感器网络节点的典型包转发及其常用的无线业务模式。电台只要不在发送状态或者已经

32、关机,则处于监听模式。当检测到信道的载波后,电台切换为接收方式,等待传输前导,然后继续接收包比特流。在将分组转发给下一跳前,CSMA要求电台检测空闲信道,即电台对信道进行监听一段时间。如果在该时间段内信道空闲,则电台切换到发送模式,并且发送包。由于需要在包发送前进行载波监听。所以当节点需要发送包时,不存在额外的信道负载监听和测试开销。基于这一观察,我们得出应在节点缓存器非空的时候在适当的时候激活检测机制。换句话说,根据某些协调策略(如GAF15,SPAN2,S-MAC 协议16等)节点电台可能大部分时间都处于关闭状态,但是,只要需要接收或者发送分组,电台必须至少处于监听模式。图2显示了传感器网

33、络中可能产生热点或者拥塞区域的典型场景。在这个例子中,节点1和4发送CBR流量,消耗50%的信道容量,CBR流量经过节点2分别达到节点3和5。由于信道忙,节点2接收的数据包留在其队列中,最后丢弃。这个简单的例子说明,在拥塞相邻区域内,接收节点(如转发节点2, )的缓存器缓存信息量高或者非空。节点在缓存非空时激活信道负载测试的响应率高,几乎没有开销。当缓存器清空时,信道负载测试自动停止,这说明拥塞缓解,数据流平稳通过相邻区域周围的概率高。根据这些观察,如果节点只在其接收包并需要转发该包时激活信道负载监听,则信道负载测试的额外开销非常低。CODA需要进行信道负载测试的唯一时间就是节点需要发送的时候

34、,并且必须在发送前进行载波监听。4.1.2 最低开销采样监听周期定义为分组时间的整数倍。当一个节点开始监听信道(即有信息需要发送)的时候,要求MAC协议至少对信道监听一个监听周期,以测试信道负载。在一个监听周期内,节点不是连续不停地在退避期间监听,而进行周期性采样,以节约能源,采样之间的间隔期间可以关掉电台。在测试N个连续长度为E的监听周期的信道负载时运用采样方案,采用预先定义的采样速率获取信道状态信息,即在一个侦听周期内信道状态忙活着空闲的时间倍数。然后按照n(在监听周期n期间的信道负载测试结果)的指数平均以及参数计算前N个连续监听周期的信道负载监听结果 ,如式(3) 。如果发送缓存器在n到

35、达N之前变空,那么忽略平均值,将n置为1.数组(N ,E,)提供了一种调整采样方案的方法,以准确测量特定的电台和系统构架的信道负载。在5.2节,我们描述并演示了在由伯克利Rene2传感器组成的传感器网络实验测试平台上这三个参数的调整。4.1.3 消息抑制当所测信道负载大于门限阈值(可以简单的写作Smax ,在之后评价一节中有介绍)时,意味着发生了拥塞。节点广播作为反压信号的抑制消息,同时执行本地拥塞策略。尽管不能保证所有相邻节点都能收到抑制消息,但至少有一些节点能够有一定概率接收到。节点根据信道负载和缓存器信息缓存量检测到拥塞后就广播抑制消息。只要拥塞持续存在,节点就继续广播抑制消息,直到到达

36、预订最大的广播次数为止。抑制消息是开环反压机制的基础,还可以作为按需“Clear To Send”信号,所有其他邻节点(发送节点除外,随机选择的发送节点或者能够分配较多机会给更需要的发送节点)至少可以静默一个包传输时间,从而支持CODA隐含的优先级方法,即可以根据数据类型或者其他参数选择嵌入抑制消息的“已选节点” ,必须给已选节点分配较高的带宽使用优先级。所有节点共享同一数据类型的优先级列表,并且该确定数据类型具有高于其他数据类型的优先级。4.2 闭环多源调整在传感器网络中,如果发生持续性拥塞,则需要维护从单一接收端到多个源节点的拥塞控制。接收端作为1到N控制器对多个源节点起着重要的作用。闭环

37、流控制需要反馈信令,因此相对于简单开环流控制开销更高。我们提出了一个方法,即动态调整与特定数据事件有关的源节点。在正常操作下,各个源节点按照预先确定的速率自行调整(比如基于数据传输协议63) ,不会干预闭环接收节点调整。当信源事件速率(r)小于信道最大理论吞吐量( Smax)一定比例时,源节点自行调整。当源节点事件速率大于该值(rSmax)7,源节点很可能会引起拥塞,从而触发闭环控制。这里的阈值不同于本地拥塞检测使用的阈值,实际上应该更小,这一点在7中有说明。如果大于该阈值,源节点只进入接收节点调整。此时,源节点不断需要接收节点的反馈信息(如ACK)来维持其事件速率(r) 。源节点检测到(rS

38、max)后触发接收节点调整,在其转发给接收节点的事件包中设置调整比特。接收到调整比特被置位的包后,迫使接收节点回送ACK(如接收节点每接收100个事件返回一个ACK) ,以便调整跟特定数据事件有关的所有源节点。按照应用特定方式发送ACK。例如,接收节点只沿着定向扩散6应用需要强化的路径发送ACK。源节点接收到ACK可以作为自行计时机制,以便允许源节点维护当前事件速率(r) 。源节点设置调整比特,希望按照预定的速率接收到接收节点回送的ACK或者在预定周期内接收到接收节点回送的预定数量的ACK,可以接受临时拥塞造成的ACK偶尔丢失。源节点在预定周期内接收到预定数量的ACK,则维持其事件速率(r)

39、。当发生拥塞时,ACK丢失,迫使源节点按照某种速率递减函数(如乘法递减等)下调其事件速率。接收节点也可能根据所观测到的网络状态停止发送ACK。接收节点能够测试其本地信道负载()情况,如果负载过度(Smax) ,则停止向源节点回送ACK。由于接收节点要求一定的事件报告速率,所以当事件报告速率一直低于所需报告速率(即信号逼真度12)时,接收节点也可以采用应用的指定操作。当事件报告速率一直低于所需报告速率时,接收节点推断路径上的事件包由于持续性拥塞而丢失,并且停止给源节点发送ACK。当拥塞被排除后,接收节点又可以重新开始发送ACK,因此,源节点按照某种速率递增函数(如加法递增等)上调其事件速率。由于

40、有些应用的接收节点能力强于传感器,接收节点是数据收集点,所以接收节点能够维护有关特定数据类型的状态信息。通过观察源节点的包流,如果推断发生了拥塞,则接收节点可以直接给源节点发送控制消息,以降低源节点的阈值,迫使源节点以较低的速率(即低于较为重要的观测接收节点)触发接收节点调整。从而提出了一个间接优先权机制,作为闭环拥塞控制的一部分。当源节点事件速率被重置(如通过加固6)而使其小于信道的理论最大吞吐量(Smax) ,然后源节点开始自行调整,但不需要接收节点回送的ACK。这种多模拥塞控制技术为设计高效、低耗、可以在伯克利mote54传感器网络上实现的拥塞控制技术提供了基础,这些将在第5节中讨论。总

41、之,相对于开环拥塞控制,闭环多源调整与应用层的关系更加密切。ESRT9总是采用使用同一速率的信源的高功率调整信令调整所有信源节点。CODA只调整其数据事件造成或者加重拥塞,或者其数据事件被传输路径上的热点所阻止的有关源节点。当源节点请求调整时,CODA没有采用高功率发射的单条控制消息,而是采用逐跳信令传递法来实现调整。5 传感器网络测试平台在这一节中,我们讨论了Rene2 motes 5上使用TinyOS平台19的真实传感器系统在实施CODA的上的初步经验。我们报告的评价结果包括测量值,调整精确信道负载测量的参数和通用数据传播应用的CODA的评价。传感器设备有ATMEL公司4MHz的,低能耗的

42、,8比特微控制器,拥有16K比特的程序储存器,1K比特的数据储存器和32KB的EEPROM作为而至存储。电台是一个单一信道的RF收发器,工作在916MHz并能够在10kbps传输下使用开关键控编码,无线平台通过软件(TinyOS)对传输和比特进行采样。对于我们所有的测试,在Rene2 motes的顶层使用非持续的CSMA MAC。5.1 测量值使用4.1节中描述的CODA的开环控制机制时,必须决定开始申请反压的拥塞阈值,这一点是非常重要的。作出这个决定的第一步是先确定使用电台和MAC协议的信道的最大信道利用率。正如3.1节中式(1)标注的,使用CSMA MAC协议,无线网络中的信道利用率依赖于

43、拥有最大物理分离的节点之间的传播时延,最大物理分离节点仍然受相互之间通信和信道空闲检测时延的干扰。在传感器网络中,最大物理分离通常是数万米或者稍微少一些,这样的传播时延在大多数情况下可以忽略不计。因此,如果信道空闲检测时延可以忽略不计,则CSMA应该提供支持信道负载的几乎100%的信道利用率。可是,在现实中,利用率要少得多,这是由于MAC层上在空闲信道检测时存在时延。我们可以使用式(2)中定义的参数来预测延迟对降低最高信道利用率造成的影响。我们衡量对于Rene2 mote的价值时使用一个简单的实验装置,该装置上包含有两个运行着TinyOS19的mote。嵌入MAC的秒表计时器为测量提供了基础。

44、图4显示了在MAC层接收和发送流量时计时器的位置。当MAC接收到一个网络栈的上层发送的包时,mote A开始观察,当检测到mote B发送的包中含有开始符号时,停止观察。在 mote B MAC中秒表计时器触发点的位置与mote A是相同的,但执行的操作是相反的。它在接收包时开始观察,在传输时停止。图4 MAC层秒表测量安置。TinyOS MAC组件代码下接收和发送状态流量的图。秒表开始/停止的位置标有X。一个单独的测量迭代包括mote A向mote B发送一个包,mote B立即向mote A回送一个包。由于秒表计时器触发点的位置是固有对称的,是与秒表A和秒表B之间差异的一半成正比:超过50

45、次的迭代,我们可以测出Rene2 motes的平均值0.0300.003(有95%的可信度) 。将带入CSMA吞吐量(Smax)的标准表达式式(1) ,我们预测了约71%的最高信道利用率。5.2 信道负载的测量与利用率能够触发反压机制的信道负载阈值必须权衡节能和保真。节能意味着在单位时间内对信道负载的感应减少。可是,信道负载的测量是在单位时间内感应的越多越准确。作为密集和稀疏采样的折中办法,我们使用一个情景,信道负载通过测量长度为E的N段连续时期(在这一时期使用某些固定信道状态采样速率) ,并且通过计算含有参数的指数平均值来表示感应的信道负载。然后问题就变成了处理(N,E,)这三个参数,因此节

46、点的被感应到的信道负载非常接近真实信道负载。为了优化实验,我们使用两个运行着带有CSMA MAC的TinyOS系统的mote。Mote S是一个随机的CBR信源,发送速率为每秒4个包。Mote R是一个接受者,通过使用上一段提到的策略感应信道负载。信道在长度为E的时段每毫秒采样一次,共N个时段。使用该设置,我们测试了N2,3,4,5,E100ms,200ms,300ms,0.75,0.80,0.85,0.90的所有的组合。每个组合(发送1024个包)的时间序列时间指数的平均值超过了256秒。使用这种方法我们发现组合(4,100ms,0.85)在mote R上产生的感应信道负载的平均值最接近通过

47、精确度为0.160.07的mote S计算的真实的信道负载(单位%)平均值。一般情况下,我们发现对这三个参数的检测精度不是很敏感(误差在5%以内) 。因此,不必为每个基于CSMA的新电台进行手动校准。作为今后工作的一部分,我们打算使用Mica2的新一代,其使用与Rene2不同的电台以调查此问题。为了解决同时监听和转发包的节点的更为现实的情况,在之前的实验装置上添加了第三个mote F,所有的mote处于相互的传输范围之内。Mote F在接收到mote S发送过来的包后30到130毫秒的事件间隔内转发该包,并且也使用与mote R使用的(N,E,)参数相同的同一方案感应信道负载。因为存在两个数据

48、包信源(和) ,因此会有信道争夺。Mote R仍然作为参考节点检查mote F感应的信道负载,同时也跟踪mote S和F发送的大量数据包,以计算其交付率。通过mote S发送1024个包,我们测量了数据包的交付率和使用不同信源包速率(即4.5,6.25,7.69,9.09,10,16.67)的信道负载感应的准确性。感应到的信道负载的平均值,与标称信道负载(基于供应负载的严格计算)和真实信道负载(基于MAC层发送的真实的包数量和花费时间计算)在图5中被画出,与信源包速率形成对比。图5 测量信道负载的限制是由决定的。额定负载曲线随信源包速率的增加按照恒定斜率增加,同时测量负载值远小于饱和负载。图5

49、显示了在Rene2 mote上CSMA MAC的依赖性。我们可以从额定信道负载的曲线中看到,当每秒发送高于7.69个包(信源发送速率)时,供应负载大于全部的饱和负载。可是,我们还观察到,不论信源包速率是多少,测量的信道负载的饱和度低于70%。如果我们可以假设数据包冲突和缓存器限制不能显著降低对观测到的信道负载,这种限制预测(正如5.1节所示)将成为一种共识。为了验证这一假设,我们分析了在MAC层和应用层的数据包交付率。我们定义了MAC数据包交付率为mote S和F在MAC层发送,实际上被mote R接收的数据包的百分比。应用数据交付率是由mote S和F的应用层发送的,实际由mote R接收的数据包的百分比。此外,我们定义了MAC发送率为由mote S和F的应用层向下传递,实际上是每个单独mote的MAC层发送出的数据包的百分比。Mote的缓存器限制可以导致自应用层向下的丢包。在我们的Rene2 mote中,我们使用一个包大小的默认缓存器。图6显示了MAC层能够至多将从应用层接收到

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报