无线网络中跨层信息交互体系结构简介.ppt
无线网络中跨层信息交互体系结构简介,指导教师:葛卫民学生:宋亚东,Why cross-layer?Cross-layer examplesWhy cross-layer architecture?MobileMan architectureECLAIR architectureHow to choose?,Outlines,无线网络的特点,Highly variable of wireless links motion of device surrounding physical environment change interference changecause bursts of packet transmission errorsEnergy constraints when increase transmission range when forward packet for routing,无线网络的特点(cont.),Channel contention hidden station exposed stationcause delay or link failureProblem with TCP unable to distinguish congestion and other loss suffer frequent route failuresTcp performance degrades,Cross-layer(跨层),Application,Transport,Network,Link/Mac,Physical,Application,Transport,Network,Link/Mac,Physical,Horizontal Communication,Vertical Communication,Why cross-layer?Cross-layer examplesWhy cross-layer architecture?MobileMan architectureECLAIR architectureHow to choose?,Outlines,Cross-layer feedback,PhysicalLink/Macchannel condition(e.g.bit-error rate)adapt error control mechanismtransmission range(Link/Mac)adapt transmission powerLink/MacTCPnumber of retransmission(Link)re-estimate retransmission timerQoS requirmens(App)adapt error control mechanism,Cross-layer feedback(cont.),NetworkTCP MobileIP hand-off begin/end manipulate retransmission timerlink layer hand-off events reduce MobileIP hand-off latencyTransportApp packet loss data adapt sending rateLink/Macretrasmission timer adapt error control mechanism,Application channel condition(PHY)adapt sending rateUser required and available throughput adapt the available throughputUserSystem impending disconnection used by TCP to freezing the rtx timer,Cross-layer feedback(cont.),Why cross-layer?Cross-layer examplesWhy cross-layer architecture?MobileMan architectureECLAIR architectureHow to choose?,Outlines,Cross-layer优化的实现,一般方法是需要操作协议栈的哪两层(或几层),就添加代码到这些层中以实现跨层反馈,也就是要修改某层的实现。例如TCP要得到MAC层的hand-off信息,就要在TCP和MAC层中加入额外的代码。加到MAC层的代码提供查询本层内部状态信息的API,加到TCP中的代码则使用这个API获取信息以做出决定如何进行调整。,Problems,降低了该层的执行效率,进而影响throughput,尤其是该层要从多层获得信息时。不具有可移植性,移植到其他OS时,需重写。若在某一层实现多个跨层优化方案时,这些方案有可能相互冲突,难以保证算法的正确性。更新困难。用于跨层反馈的代码和原有代码已经交织在一起。部署新的优化方案困难。,Architectural view,We need Integrate existing optimizations organize them to cooperation without conflict make deploying new ideas easily make deploying optimizations standard get rid of tight coupling of operated layers,Why cross-layer?Cross-layer examplesWhy cross-layer architecture?MobileMan architectureECLAIR architectureHow to choose?,Outlines,Network status(NeSt)architecture,Features:NeSt control cross-layer interactions full compatible with standard realized loose coupling by standardizing access to NeSt,Application,Transport,Network,Link/Mac,Physical,Application,Transport,Network,Link/Mac,Physical,NeSt,NeSt,NeSt overview,NeSt support two types of interaction between protocols:synchronous asynchronousNeSt works with abstractions of data structure and event abstraction is a representation of data and event protocols agree on abstractions NeSt provides shared data in abstract wayProtocols export internal data into NeSt using callback function defined in protocols callback contains codes encoding private data into abstraction,NeSt interfaces,register:()PID,register(),seize(),access(),subscribe(),notify(),monitor(),P,1.Generate PID2.Return PID,Register,NeSt,NeSt interfaces(cont.),seize:(PID,AID,readcallback()result,register(),seize(),access(),subscribe(),notify(),monitor(),1.Verify callback2.Grant or reject seizing,NeSt,P,Seize an abstraction with PID,AID and callback,NeSt interfaces(cont.),register(),seize(),access(),subscribe(),notify(),monitor(),1.Invoke callback for AID2.Apply filter()on AID3.Return filter()result,NeSt,P1,a.access an abstraction with PID,AID and callback,P2,Internal data,b.Abstract internal data in NeSt format,access:(PID,AID,filter()result,NeSt interfaces(cont.),register(),seize(),access(),subscribe(),notify(),monitor(),1.Register subscription(PID,EID),NeSt,P1,Subscribe eventwith PID and EID,P2,b.Notify event with PID,EID and info regarding the occurrence,subscribe:(PID,EID)result,notify:(PID,EID,info)result,1.Check EID on the subscription list2.Deliver the occurrence to matching subscriber,Cache e,NeSt interfaces(cont.),register(),seize(),access(),subscribe(),notify(),1.Verify monitor()2.While(true)2a.Invoke callback for AID 2b.Apply monitor()to AID 2c.If match found notify PID,NeSt,P1,Monitor event with PID,AID and monitor(),P2,Internal data,b.Abstract internal data in NeSt format,monitor:(PID,AID,monitor()result,monitor(),Why cross-layer?Cross-layer examplesWhy cross-layer architecture?MobileMan architectureECLAIR architectureHow to choose?,Outlines,ECLAIR architecture,Application,User,Transport,Network,MAC,PHY,(e.g.TCP),(e.g.IP),(e.g.802.11),(e.g.802.11),UTL,ATL,TTL,NTL,MTL,PTL,OSS,TL=Tuning Layer,Top level view:TL+OSS OSS contains POs TL provide API to PO for interacting with various layers PO takes input from layers and decides optimization action,PO=Protocol Optimizer,OSS=Optimizing SubSystem,The whole cross-layer feedback was a separated system interacting with the protocol stack.Functionality for manipulating protocol data structures was built into TLs,no modifications to existing stack.Event notification:TLs provide facility for POs to register interesting events at a layer.Switch on/off:the whole cross-layer system or individual POs can be easily/dynamically switched on/off.User Tuning layer:UTL allows device user or other external entities to tune device behavior.,ECLAIR features,2 sublayers generic tuning sublayer implementation dependent sublayere.g.TCP implementation in Unix,Linux,NetBSDProvide APIs to POs for registering events.monitor the events,when occurs,notify the PO.e.g.POs register handoff with MobileIP TLPOs APIs(generic sublayer)APIs(implementation specific access sublayer),Tuning Layers(TLs),Tuning Layer APIs:Examples,register()set_application_priority(),register()get_delay_requirement()get_bandwidth_requirement(),get_process_block_head()register()get_recv_wnd()set_recv_wnd()get_tcp_state()set_tcp_state()get_rtt()set_rtt()get_retx_timer()set_retx_timer(),register(),User,Application,MobileIP,TCP,Tuning Layer APIs:Examples(cont.),register()get_active_interface()set_active_interface(),register()get_contention_window()set_contention_window()get_rts_cts_threshold()set_rts_cts_threshold()get_fragmentation_threshold()set_fragmentation_threshold(),register()get_transmit_rate()set_transmit_rate()get_transmit_power()set_transmit_power(),IP,802.11 MAC,802.11 PHY,Executes concurrently with existing protocol stack and doesnt increase stack process overhead.A PO contains a algorithm for a given cross-layer optimization.PO decides optimizing action to be taken based on event occurring at the various layers and the current state of the protocol layer which is to be modified.POs interact with various layers for events,state info and optimizing actions through TLs.,Optimization SubSystem(OSS),Example1:Adaptive TCP PO,OSS,ATCP PO,MITL,TCPTL,TCP,MobileIP,Network info,TCP data structures,IP data structures,Existing stack modules,Cross-layer feedback modules,ECLAIR,MobileIP tuning layer,TCP tuning layer,On event 3,1a,1b,2a,2b,3,4a,4b,5a,5b,e.g.seamless mobility between GPRS and WLANThe MACs of GPRS and 802.11 interfaces are monitored for vertical handoffs.When network changes,active corresponding interface.SPO register with MAC TLs of GPRS and 802.11 for handoff event,when occur,SPO change the active interface at the IP layer using IP Tuning layer.,Example2:Seamless mobility PO,Why cross-layer?Cross-layer examplesWhy cross-layer architecture?MobileMan architectureECLAIR architectureHow to choose?,Outlines,Rapid prototyping:easy development and deployment of new cross-layer feedback algorithm,independent with existing stack.Minimum intrusion:interfacing with existing stack without significant changes to existing stack.Portability:easy porting to multiple system.Efficiency:efficient implementation of cross layer feedback.,Cross-layer feedback architecture design goals,Choose the architecture that fits you!,Remained question,Cross-layer feedbacks conflicts,Example:Adaptive Rate MAC Minimum hop routing like DSDV,DSDV build routing tables by broadcast hello packet,Adaptive Rate MAC broadcast at the base rate,Large transmission range,DSDV choose largest hop,Low signal strength,Low data rate,1 A Cautionary Perspective on Cross Layer Design,2005,2 Cross-layer design optimizations in wireless protocol stacks,2004,3 A Modular Cross-Layer Architecture for Ad Hoc Networks,4 Cross-layer feedback architecture for mobile device protocol stacks,2006,5 Design of a Flexible Cross-layer Interface for Ad hoc Networks,6 ECLAIR:An Efficient Cross-layer Architecture for Wireless Protocol Stacks,2004,参考文献:,Q&A,谢谢!,