无线传感器网络--传输层协议目录可靠性要求传递singleofpackets传递blocksofpackets传递streamsofpacketsFocusofthistutorial可靠性方面Coverage&deployment当有事件发生时是否有足够的节点可以监测事件的发生?是否有足够的节点可以精确地测量数据?如何布置这些节点?Informationaccuracy哪些被测量的数据必须被传送到哪里以保证一定的精确性?如何在第一时间内处理那些不精确的测量?Dependabledatatransport一旦确定哪些数据被传送到哪里,如何保证它们准确地到达?Howtodealwithtransmissionerrorsandomissionerrors/congestion?可靠性协议物理层物理层是实现无线网络通信的基石,其可靠性能的优劣直接影响到整个系统的容错能力。物理层主要负责数据的编码调制、解调解码、发送与接收。对于无线传感器网络节点间的通信,为了使得数据能够被可靠地传输或接收,必须要做到高的接收机灵敏度、低的背景噪声及较强的抗干扰能力。可靠性协议链路层数据链路层主要负责数据流的多路选择、数据帧侦测、媒介访问、差错控制,保证了点到点、点到多点的可靠性链接。媒介访问控制为数据传输建立通信链路,并提供对共享媒介的公平、有效的访问。它需要减少或避免媒介中的包冲突。差错控制主要采用自动重发请求(ARQ)和前向纠错(FEC)。可靠性协议网络层建立局部多路径可靠性协议网络层定向洪泛SinkNodeVirtualApertureSenderBA可靠性协议传输层事件汇聚到Sink可靠性协议传输层----从汇聚节点到传感节点的传输PSFQ(PumpSlowly,FetchQuickly)为无线传感器网络的重编程或重新指定任务提供了可靠传输,并提供了到接收端延迟保证。源节点低速向网络注入数据包以避免网络拥塞,接收节点有足够的时间来检测这些数据包是否丢失,假如发生丢失就请求重传。当节点收到的包序号不等于上一个包序号加1,那么就认为有包丢失。这个节点在收到正确的包之前停止继续发送包。可靠性协议传输层----从汇聚节点到传感节点的传输PSFQ重传机制可靠性:术语“可靠的”是涵盖性术语主要指标(稳态的)可用性–probabilitythatasystemisoperationalatanygivenpointintimeAssumption:Systemcanfailandwillrepairitself在时间t的可靠性–Probabilitythatsystemworkscorrectlyduringtheentireinterval[0,t)Assumption:Itworkedcorrectlyatsystemstartt=0相应速度Responsiveness–ProbabilityofmeetingadeadlineEveninpresenceofsome–tobedefined–faults包成功的概率–Probabilitythatapacket(correctly)reachesitsdestinationRelated:packeterrorrate,packetlossrate误码率Biterrorrate–ProbabilityofanincorrectbitChannelmodeldeterminespreciseerrorpatterns可靠性约束无线传感器网络为了可靠的传输数据需要考虑的约束条件:TransmissionerrorsoverawirelesschannelLimitedcomputationalresourcesinaWSNnodeLimitedmemoryLimitedtime(deadlines)Limiteddependabilityofindividualnodes机制:冗余Redundancyinnodes,transmissionForwardandbackwarderrorrecoveryCombinationsarenecessary!可靠的数据传输–背景传输的对象SinglepacketBlockofpacketsStreamofpackets保证水平GuaranteeddeliveryStochasticdelivery有关实体InvolvedentitiesSensor(s)tosinkSinktosensorsSensorstosensors50%delivered限制条件能量SendasfewpacketsaspossibleSendwithlowpower!higherrorratesAvoidretransmissionsShortpackets!weakForwardErrorCorrection(FEC)Balanceenergyconsumptioninnetwork处理功率OnlysimpleFECschemesNocomplicatedalgorithms(coding)存储器StoreaslittledataasbrieflyaspossibleOverview可靠性要求DeliveringsinglepacketsSinglepathMultiplepathsGossiping-basedapproachesMultiplereceiversDeliveringblocksofpacketsDeliveringstreamsofpackets传递单个数据包–主要选择目的接收器是什么?单个接收器?多个接收器?在周围?展开?移动的?哪些路由结构可用?Unicastroutingalongasinglepath?Routingwithmultiplepathsbetweensource/destinationpairs?Noroutingstructureatall–relyonflooding/gossiping?单个包经过单个路径到底单个接收器单个多跳路径可由某一路由协议得到问题:哪个节点监测丢包(使用哪些指示器)?要求重传?执行重传?在单个包传递的时候检测包或信令丢失检测单个包丢失:只有肯定确认positiveacknowledgements(ACK)可行否定Negativeacks(NACK)不可行–接收机通常不知道哪个包应该到底,不能发NACK哪个节点发ACKs(以避免重传)?在每个中间节点,在MAC/link层通常伴随着链路层重传通常有限定的重传次数在目的节点传输层重传问题:定时器选择执行重传链路层确认:邻居节点传输层确认:源节点!端到端的重传Question:Couldanintermediatenodehelpinanend-to-endscheme?Howtodetectneedforretransmissions?Howtoretransmit?Tradeoff:端到端vs.链路层重传场景:单个包,从源到目的节点经过n跳,二进制对称信道(BSCchannel)链路层,端到端重传链路层重传:最大重传的次数是不同的在其范围内仍然不成功就丢弃包!对于好的信道,使用端到端方案;否则使用局部重传1000100001000001e+061e+071e-061e-050.00010.0010.01Biterrorprobabilitypureend-to-endMAC[2]MAC[5]MAC[10]ExpectedenergycostTheBSCisabinarychannel;thatis,itcantransmitonlyoneoftwosymbols(usuallycalled0and1).Thetransmissionisnotperfect,andoccasionallythereceivergetsthewrongbit.Tradeoff:端到端vs.链路层重传相同的场景,条数是变化的BER=0.001ofBSCchannelfixed!链路层重传仅适用于较长的路由1000100001000001e+061e+070510152025Numberofhopspureend-to-endMAC[2]MAC[5]MAC[10]Expectedenergycost多个路径类型:不相交(disjoint)or编织的(braided)使用默认的或可用的多条路径同时发送相同的包发送多余的片段例子:ReInForM多路径:不相交或编织的SourceSinkDisjointpathsPrimarypathSecondarypathSourceSinkBraidedpathsPrimarypath可靠数据传输造成数据包丢失的原因主要有三个方面:无线传感器网络所使用的无线信道较之有线链路有更大的不稳定性以及更高的误码率,很容易受到周围环境噪声的影响造成数据包的丢失。另外在无线传感器网络中,传感器节点的布撒密度非常高,不同节点在发送数据时极易发生信道竞争冲突以及碰撞造成数据包丢失。当无线传感器网络中发生拥塞时,拥塞节点缓冲区溢出造成数据包丢失。接收节点因为数据包到达过快来不及处理造成数据包丢失。差错避免可靠传输ACK确认重传机制数据包冗余传输机制多路径传输机制FEC前向纠错码机制单分组传递:ReliableInformationForwardingusingMultiplePathsinSensorNetworks(ReInForM)ReInForm方法是基于在多条路径上发送数据包的多个拷贝来提高数据包传输可靠性。从数据源节点开始,根据数据传输可靠性、信道质量以及传感器节点到汇聚节点的跳数,确定需要的传输路径数目,以及下一跳节点数目和相应的节点。邻居节点在接收到数据源节点的数据后,将自己视作数据源节点,重复上述数据源节点的选路过程。实现满足可靠要求的数据传输。Example:ReliableInformationForwardingusingMultiplePathsinSensorNetworks(ReInForM)目标:通过多条路径发送数据包来满足传递概率P假设:独立路径,二进制对称信道BSC节点知道本地的包错误率eStep1:源节点决定使用哪些路径Successprobabilityoverasinglepathwithnshops:1-(1-e)nsSuccessprobabilityoverPpaths:1-(1-(1-e)ns)PShouldbe¸rs,solveforP:Notethereisnofloor/ceilinginthisformulaReInForM–ForwardingtoneighborsSourcenodepicksaforwarderclosertodestinationthanitselfRemainingneighbors:P´=P–(1-es)ChooseP´neighborstoadditionallyforwardpacketIfpossible,onlyneighborsclosertodestinationIfnotsufficient,useneighborssamehopdistanceIfnotsufficient,usefurtherawayneighborsSourceDesti-nationForwarderPacketcontainsSource&destinationForwarderidentitySourcepacketerrorrateNumberofpathseachneighborshouldconstruct图ReInform所需传送概率为70%时数据转发举例。(A)图是源节点在链路差错率为0时