4-传输协议.pptx
《4-传输协议.pptx》由会员分享,可在线阅读,更多相关《4-传输协议.pptx(87页珍藏版)》请在冰豆网上搜索。
![4-传输协议.pptx](https://file1.bdocx.com/fileroot1/2023-3/24/0c6aa392-b40f-4e0a-a9e7-0e65cb5c7bc0/0c6aa392-b40f-4e0a-a9e7-0e65cb5c7bc01.gif)
无线传感器网络的传输层协议,主要内容,Internet传输层协议介绍WSN传输层协议概述经典WSN传输层协议可靠传输拥塞控制总结语,传统传输层协议概述,传输层功能位于应用层和网络层之间,为终端主机提供端到端的连接;可靠性(由序列号和确认技术实现)、流量控制(由窗口机制实、。
Internent传输层协议有两种:
TCP和UDP;虽然TCP和UDP都使用相同的网络层协议IP,但是TCP和UDP却为应用层提供完全不同的服务。
AP1,AP3,应用层,传输层,应用层,传输层,端到端通信,用户功能,网络层,数据链路层,物理层,网络层,数据链路层,物理层,通信子网,网络功能,物理介质,物理介质,物理介质,传统传输层协议,传输控制协议TCP:
面向连接的协议,提供可靠传输;有复杂的连接建立和撤销过程;端到端的ACK和重传;端到端的拥塞控制;用户数据报协议UDP:
无连接,无任何可靠性保证;无拥塞控制机制;适合于一次传输小量数据;,TCP协议重传机制,重传机制,带重传功能的肯定确认(positiveacknowledgewithretransmission)接收方正确收到数据后发送ACK;,,时且没有收到ACK,重发分组;在发送下一个分组前要收到ACK。
TCP协议滑动窗口,滑动窗口带重传的肯定确认机制的更复杂变形;它允许发送方在等待一个确认信息之前可以发送多个分组;滑动窗口协议在分组序列中放置一个固定长度的窗口,然后将窗口内的所有分组都发送出去;当发送方收到对窗口内第一个分组的确认信息时,它可以向后滑动并发送下一个分组;随着确认的不断到达,窗口也在不断的向后滑动。
TCP协议可靠性,重传机制:
TCP实体把应用程序划分为合适的数据块,加上TCP报文头,生成数据段;当TCP实体发出数据段后,立即启动计时器,如果源设备在计时器清零后仍然没有收到目的设备的确认报文,重发数据段;当对端TCP实体收到数据,发回一个确认。
端到端校验:
TCP包含一个端到端的校验和字段,检测数据传输过程的任何变化。
如果目的设备收到的数据校验和计算结果有误,TCP将丢弃数据段,源设备在前面所述的计时器清零后重发数据段;排序:
由于TCP数据承载在IP数据包内,而IP提供了无连接的、不可靠的服务,数据包有可能会失序。
TCP提供了重新排序机制,目的设备将收到的数据重新排序,交给应用程序。
流量控制:
TCP连接的每一端都有缓冲窗口。
目的设备只允许源设备发送自己可以接收的数据,防止缓冲区溢出。
TCP支持全双工数据传输,TCP建立连接:
三次握手,第二次:
目的主机收到请求后,如同意连接,则发回一个带有本地机连接序号和源端机连接序号(+1)的确认;第三次:
源端机收到应答后,再向目的主机发送一个带有目的主机连接序号(+1)的确认。
主要内容,Internet传输层协议介绍WSN传输层协议概述经典WSN传输层协议可靠传输拥塞控制总结语,传输协议设计的考虑因素,影响传输协议性能的因素通信模式:
一对一,一对多,多对一等;流量模型:
P2P,80/20,漏斗型等;突发信息/平稳信息等;信息特征时空特征,关联性,大小;网络部署:
大规模/小规模,随机部署/确定部署等;有基础结构/无基础结构;网络拓扑:
扁平结构/分层结构,同构网络/异构网络等;消息丢失原因:
线路不可靠,缓存不够等;节点性能:
存储,通信,计算,能量资源等;应用需求:
可靠,延迟,抖动,顺序等;,WSN传输协议概述相关特性,WSN中传输层应考虑的问题资源受限:
能量、处理、通信、缓存;通信模式:
以数据为中心,没有IP地址多对一,或一对多可靠性:
聚合质量(存在数据冗余性,网络内部数据处理)丢失原因:
无线链路易受干扰,分组丢失可能非拥塞造成;网络拓扑结构相关:
漏斗效应:
整个网络的流量是不均衡的,sink附近易拥塞;公平性:
距离Sink节点的远近不同;应用类型突发事件周期汇报混合型,传输协议设计的考虑因素,影响传输协议性能的因素通信模式:
一对一,一对多,多对一等;流量模型:
P2P,80/20,漏斗型等;突发信息/平稳信息等;信息特征时空特征,关联性,大小;网络部署:
大规模/小规模,随机部署/确定部署等;有基础结构/无基础结构;网络拓扑:
扁平结构/分层结构,同构网络/异构网络等;消息丢失原因:
线路不可靠,缓存不够等;节点性能:
存储,通信,计算,能量资源等;应用需求:
可靠,延迟,抖动,顺序等;,WSN传输协议新的协议,Why已有协议不适合?
TCP和UDP是基于IP地址的协议,而在无线传感器网络中无;首先,TCP协议是面向连接的协议,在发送数据之前,必须先建立连接。
在WSN中,由于数据分组的长度通常很短,相比之下,建立连接的过程反而会带来较大开销。
而UDP协议则是无连接的协议,不提供任何可靠性保证。
其次,TCP协议认为所有分段的丢失都是由拥塞引起的,并且分段丢失将触发基于窗口的流量控制和拥塞控制。
在WSN中,当没有发生拥塞,比特错误导致分组的丢失,如果使用TCP来降低传输速率,对于远离汇聚节点的普通节点很难达到足够的吞吐量;此外,TCP和UDP都是基于一对一的通信模;而无线传感器网络的应用通常是多对一的通信模式。
还有:
TCP采用端到端的拥塞控制方法。
当拥塞发生时,这种端到端的方法会有很长的响应时间,反而会丢弃许多分段。
分段丢弃意味着不必要的能量消耗。
TCP使用端到端的ACK和重传以保证可靠性。
因为发送方在每次数据传输后都需要等待ACK,所以这个方法将导致更低的吞吐量和更长的传输时间。
WSN传输协议概述设计需求,设计传输协议应考虑无线传感器网络的自身特点;WSN中传输层协议的需求最小化能量开销:
传感器节点的能量是有限的,可靠传输协议应到达能量高效,从而延长网络生存周期能量开销;缓存大小:
可靠传输往往需要缓存数据,而节点的缓存空间是有限的,过多的缓存数据会导致缓冲区溢出;鲁棒性:
可靠传输协议应能动态适应网络中有新节点加入或节。
复杂性:
复杂的可靠传输会增加传感器节点的处理开销,从而可能降低吞吐量(资源问题)。
WSN传输协议的特殊考虑,条件不同网络条件:
能量,资源(缓存),无线,数量,网络架构:
无结构,流量模型,信息类型:
时空特性,突发性需求不同,,,,,能量需求,WSN传输协议功能,WSN传输协议功能可靠传输,主要内容,Internet传输层协议介绍WSN传输层协议概述经典WSN传输层协议可靠传输PSFQGARUDARMSTESRT拥塞控制拥塞检测拥塞解除例子:
CODA总结语,WSN可靠传输协议,可靠传输的含义通常意义:
每个消息是可靠传输在WSN中,感知信息存在冗余,关注的是:
事件信息的可靠性影响可靠传输的因素传统有线网络:
缓存溢出,处理能力限制等;WSN:
节点间无线通信质量往往不稳定,从而导致较高的分组丢失率,影响可靠传输。
WSN有两种基本的可靠传输机制:
丢失恢复发送速率调整。
WSN可靠传输协议,丢失恢复丢失恢复过程:
包含丢失检测和丢失重传两个阶段。
丢失检测:
分组的丢失检测通常采用基于序列号的方法,当发现序列号失序时,就表明出现分组丢失丢失重传:
主要采用基于ACK和基于NACK两种策略。
基于ACK的策略,是接收节点对收到的分组向发送节点反馈ACK。
发送节点在定时器超时前未收到接收节点的ACK,就认为分组出现丢失,从而重传分组。
基于NACK的策略,是接收节点发现分组丢失时,向发送节点反馈NACK以请求重传。
丢失恢复两种方式:
逐跳方式是在一跳范围内进行丢失恢复;端到端方式是在源节点和目的节点之间进行丢失恢复。
WSN可靠传输协议,发送速率调整为了达到应用要求的保真度,sink节点需要收到一,定数目的分组。
在满足应用保真度的情况下,可以容忍少量分组的丢失,而不需要每个分组都无丢失地传输。
,,发送速率可以弥补少量数据的丢失,达到期望保真度,从而实现数据的可靠传输。
基于事件的无线传感器网络应用中的可靠传输实现机制。
无线传感器网络传输协议概述分类,按照传输数据流方向SinktoSensor(下行)数据流从Sink节点传输到传感器节点PSFQ协议和GARUDA协议SensortoSink(上行)数据流从传感器节点传输到Sink节点RMST、ESRT、PORT、STCP、RBC协议按照可靠性定义分组可靠性绝对可靠性要求数据在传输过程中不能丢失PSFQ协议事件可靠性相对可靠性则可以容忍一定程度上数据的丢失ESRT、PORT和STCP协议按照支持移动性不支持移动,主要内容,Internet传输层协议介绍WSN传输层协议概述经典WSN传输层协议可靠传输PSFQGARUDARMSTESRT拥塞控制拥塞检测拥塞解除例子:
CODA总结语,PSFQ(PumpSlowly,FetchQuickly),PSFQ可靠传输协议,PSFQ(PumpSlowly,FetchQuickly)分类SinktoSensor设计目标基于WSN传感器节点重编程应用而提出的协议,保证每个节点都能够收到来自sink节点的全部分组。
基本思想将一个消息分割成多个短的分组;逐跳可靠传输;基本过程:
在逐跳传输分组时,上一跳节点以较慢的速率发送分组,下一跳节点发现分组丢失后,立即向上一跳节点请求重传。
三种操作PumpFetchReport,PSFQ传输协议Pump操作,Sink节点每Tmin时间广播一个分组直到所有的分组都发送出去;节点每收到一个分组就检查自己的缓冲区,丢弃重复的分组;如果这个分组是新的分组,则把此分组存储在缓存中,并把TTL值减1。
如果TTL0,t此分组(TmintTmax);,2,1,1,1,t,TminTmax,T,min,Tmax,1,PSFQ传输协议Fetch操作,当接收节点出现序列号空缺接收节点向上一跳节点发送NACK接收节点在未收到重传分组时将不转发任何分组若一直没有收到重传分组,每Tr时间发送一次NACK,TrTmax,(这里体现PumpSlowly,FetchQuickly),NACK只在一跳范围内传播,SEQ=1,节点A,节点B,节点C,节点D,2,1,SEQ=1,SEQ=1,SEQ=2,SEQ=3NACK,1,1,2,SEQ=2,SEQ=2,SEQ=3,SEQ=2,2lost,3,T,r,Recover2,T,r,2,SEQ=3,T,min,Tmax,2,ProactiveFetch,LastsegmentsofafilecangetlostLossdetectionimpossible;nonextsegmentexists!
Solution:
timeouts(again)NodeentersproactivefetchmodeiflastsegmenthasntbeenreceivedandnopackethasbeendeliveredafterTproTimingmustberightTooearly:
wastedcontrolmessagesToolate:
increaseddeliverylatencyfortheentirefileTpro:
Anodewillwaitlongenoughuntilallupstreamnodeshavereceivedallsegments,PSFQ传输协议Report操作,目的当sink需要了解目标节点的状态信息时,“报告”操作可sink作为反馈/监视机制;操作只有最后一跳的节点对sink发送的汇报请求进行立即响应;其它节点把自己的状态信息捎带在汇报分组中;如果汇报分组中没有空间时,节点将新创建一个分组;,PSFQ传输协议评价,目的用于重编程WSN传感器节点的可靠传输协议;主要思想是发送节点以较慢的速率传输消息分组,接收节点在发现分组丢失时可以立即向上一跳节点请求重传;存在问题由于采用基于单纯的NACK的确认机制,PSFQ协议不能发现所有分组都丢失的情况;“放”操作速度较慢,增加分组的传输延时,也浪费了带宽;为了重传分组,逐跳的丢失恢复机制需要较大的缓存空间;,Experimentalresults,Tmax=0.3s,Tr=0.1s10030bytepacketssentExponentialincreaseindelayhappensat11%lossrateorhigher,GARUDA,GARUD传输协议,分类Sink-to-Sensor问题提出如果采用ACK确认机制,网络中会出现ACK风暴(ACKimplosion)问题。
GARUDA采用NACK的重传请求机制,但NACK无法处理单个分组构成的消息丢失或者消息中所有分组都丢失的情况。
主要思想为了解决NACK的缺陷,GARUDA使用WFPWait-for-First-Packet脉冲来确保单个包或第一个包的可靠传输;core的虚拟结构,进行局部指定服务器最优化分配,对丢失的分组进行丢失恢复;可靠的单个/第一个包传输Core节点的瞬间建立阶段丢失修复,GARUD传输协议,可靠的单个/第一个包传输GARUDA采用WFP(WaitforFirstPacket)脉冲确保第一个分组能被所有传感器节点都正确接收;通过第一个分组在网络中的传输,每个节点可以确定距离sink节点的跳数;只有距离sink节点跳数为3的倍数的节点才可能成为core节点。
处于这些跳数的节点当侦听到相同跳数的其它core节点,则选择第一个侦听到的core节点作为自己的core节点,否则选择自己作为core节点。
GARUD传输协议,Core节点选择只有距离sink节点跳数为3的倍数的节点才可能成为core节点处于这些跳数的节点当侦听到相同跳数的其它core节点,则选择第一个侦听到的core节点作为自己的core节点,否则选择自己作为core节点在网络中传输第一个分组之后,每个节点都能确定自己是core节点或非core节点,且每个core节点也知道它的上游core节点。
GARUD传输协议,数据传输和恢复,在网络中传输第一个分组之后,每个节点都知道自己,的上游core节点;后续的分组首先在core节点之间进行传输,然后在core节点与非core节点之间传输;core节点发现分组丢失时,将向上游core节点发送NACK以请求重传;非core节点发现分组丢失时,也将向它知道的core节点发送NACK以请求重传。
GARUD传输协议,GARUDA可以支持四种不同的可靠性(a)可靠传输到所有节点,这也是GARUDA默认的语义;(b)可靠传输到子区域,这是基于地理位置的可靠传输;(c)可靠传输到能够能覆盖整个区域的最少节点,表示冗余感知的传输;(d)可靠传输到网络节点的概率子集,适用于进行不同分辨率查看的应用;,GARUD传输协议评价,评价从本质上看,GARUDA定义的可靠性是选择出期望接收sink节点数据分组的节点集合,但在这个集合中的节点都需要收到sink节点发送的所有分组。
因此,GARUDA保证的仍然是绝对可靠性。
此外,GARUDA采用高能量的WFP脉冲,对传感器节点提出了较高的要求;,ReliableMulti-SegmentTransport(RMST),RMST协议概述,分类:
MotetoSink可靠传输RMSTconsiders3layersMAC、Transport、ApplicationFocusisonMACandTransportAtransportlayerprotocolUsesdiffusionforroutingRMST协议建立在定向扩散基础上,定向扩散构造的增强路径是从源节点到sink节点SelectiveNACK-basedWhenapacketisnotreceivedbeforetheWATCHDOGtimerexpiresProvidesGuaranteeddeliveryofallfragmentsIn-orderdeliverynotguaranteedFragmentation/reassembly,RMST协议的两种工作模式,工作模式缓存模式对应于逐跳的可靠传输源节点到sink节点的传输路径上的每一个节点都需要维护缓存,并且都参与分组丢失检测。
非缓存模式对应于端到端的可靠传输只有源节点和sink节点需要维护缓存,而中间节点不需要维护缓存,分组的丢失检测由sink节点负责。
反向通道RMST协议采用增强路径的反向通道作为NACK的传输路径。
在增强路径建立的过程中,每个节点都会保存上一跳节点的信息,就可以得到一条由sink节点到source节点的反向通道。
这样,每一条加强路径建立的同时,都会有一条相应的反向通道。
反向通道的建立是不需要额外开销的。
反向通道在缓冲模式和非缓冲模式下都是必不可少的。
MACLayerChoices,NoARQAlltransmissionsarebroadcastNoRTS/CTSorACKReliabilitydeferredtoupperlayersBenefits:
nocontroloverhead,noerroneouspathselectionARQalwaysAlltransmissionsareunicastRTS/CTSandACKsusedOnetomanycommunicationdoneviamultipleunicastsBenefits:
packetstravelingonestablishedpathshavehighprobabilityofdeliverySelectiveARQUsebroadcastforonetomanyandunicastforonetooneDataandcontrolpacketstravelingonestablishedpathsareunicastRoutediscoveryusesbroadcast,TransportLayerChoices,EndtoEndSelectiveRequestNACKLossdetectionhappensonlyatsinks(endpoints)Repairrequeststravelonreverse(multihop)pathfromsinkstosourcesHopbyHopSelectiveRequestNACKEachnodealongthepathcachesdataLossdetectionhappensateachnodealongthepathRepairrequestssenttoimmediateneighborsIfdataisntfoundinthecaches,NACKsareforwardedtonexthoptowardssource,ApplicationLayerChoices,EndtoEndPositiveACKSinkrequestsalargedataentitySourcefragmentsdataSinkkeepssendinginterestsuntilallfragmentshavebeenreceivedUsedonlyasabaseline,RMSTDetails,ImplementedasaDiffusionFilterTakesadvantageofDiffusionmechanismsforRoutingPathrecoveryandrepairAddsFragmentation/reassemblymanagementGuaranteeddeliveryReceiversresponsibleforfragmentretransmissionReceiversarentnecessarilyendpointsCachingornoncachingmodedeterminesclassificationofnode,RMSTDetails(contd),NACKstriggeredbySequencenumbergapsWatchdogtimerinspectsfragmentmapperiodicallyforholesthathaveagedfortoolongTransmissiontimeoutsLastfragmentproblemNACKspropagatefromsinkstosourcesUnicasttransmissionNACKisforwardedonlyifsegmentnotfoundinlocalcacheBackchannelrequiredtodeliverNACKstoupstreamneighbors,RMST:
Conclusion,ARQhelpswithunicastcontrolanddatapacketsInhigherrorrateenvironments,routescannotbeestablishedwithoutARQRoutediscoverypacketsshouldntuseARQErroneouspathselectioncanoccurRMSTcombinesaNACKbasedtransportlayerprotocolwithSARQtoachievethebestresultsRMST可以提供Mote-to-Sink的逐跳和端到端的可靠传输,但它不能保证分组的顺序到达,也不能提供任何实时性保证。
RMST依赖于定向扩散路由协议。
同时,RMST基于跨层优化的思想,综合考虑MAC层和传输层,以在丢失率较高的传感器网络中提供可靠性保证RMST认为在MAC层应有选择地使用ARQ,即对于单播传输的数据和控制分组采用ARQ机制,而对于广播传输的路径发现分组就无需ARQ机制。
对于传输层,应采用NACK的确认机制。
RMST采用NACK确认机制,在缓存模式下中间节点由于存储容量的限制可能出现缓冲区溢出。
EventtoSinkReliableTransport(ESRT),可靠传输协议:
ESRT,EventtoSinkReliableTransport(ESRT)Inatypicalsensornetworkapplication,thesinknodeisonlyinterestedinthecollectiveinformationofthesensornodeswithintheregionofaneventandnotinanyindividualsensordata;Event-to-sinkcommunicationDifferentfromtraditionalnotionofend-to-endcommunicationAsensornodethatcansensetheeventEvent!
Asensornodecannotsensetheevent,Sinkwantsreliableeventdetectionwithminimumenergyexpenditure,可靠传输协议:
ESRT,ThebasicassumptionisthatthesinkdoesallthereliabilityevaluationusingparametersthatareapplicationdependentOnesuchp