Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Outline for This Lecture • • • • Application of e2e over wireless Application Level Framing Integrated Layer Processing Course Project Introduction CS211/Fall 2003 10/06 Application of e2e over wireless • Explanation of proxy-based design in class – Security – Transcoding – TCP CS211/Fall 2003 10/06 Architectural Considerations for a New Generation of Protocols • Protocol function analysis • Application Level Framing • Integrated Layer Processing CS211/Fall 2003 10/06 Three design goals for new protocols • High-speed protocol operations – Greater network capacity gigabit operations • Protocols working with diverse networking technologies – A wider range of networking technologies • Service integration for protocols – Working with different media CS211/Fall 2003 10/06 Structuring Principles for Protocol Architectures Flexible decomposition of the architecture • Protocol architecture: decomposition into functional modules, semantics of individual modules, and syntax used to effect the protocol • It mostly refers to a layered structure, e.g. OSI or Internet TCP/IP layering • Layering may not be the most effective modularity for implementation • Differentiating the architecture of a protocol suite and the engineering of a specific end/relay node • No one-to-one mapping is needed • Flexible decomposition: deferral of engineering decisions to the implementor and avoidance of inessential constraints CS211/Fall 2003 10/06 Comments on layering • Layering is the semantic isolation of functional modules, not a fundamental engineering principle CS211/Fall 2003 10/06 Core functions of Protocols • Core part: Data transfer – Data manipulation: read or modify the data – Transfer control: regulate the data transfer • Other operations – Session initiation – Service location, discovery, etc. CS211/Fall 2003 10/06 Six Data Manipulation Functions Associated with different layers, common overhead • Moving to/from the network – involves serial-to-parallel transformation • Error detection – Checksum etc • Buffering for retransmission – Loss recovery by the sender • Encryption • Moving to/from application address space – User data <-> system address space <->net interface • Presentation formatting – Reformatted into common data representation CS211/Fall 2003 10/06 Transfer control operations • Flow/congestion control • Detecting network transmission failure problems • Acknowledgment – Positive ack, negative ack. – No one is absolute better than the other, depending on the error frequency • Multiplexing • Timestamping • Framing CS211/Fall 2003 10/06 Performance: control vs. manipulation • Minimize correlations of data manipulation and transfer control • Transfer Control steps are not computationally complex – Steps for incoming packets: demultiplexing, error checking, in order checking, compute & send ACK • Data manipulation is computation intensive – More obvious target for overhead reduction – Presentation conversion is a key factor • Up to 97% of the protocol stack overhead • 30 times slower CS211/Fall 2003 10/06 Presentation Processing • Problem: optimize presentation conversion • It is application dependent and specific – Application process is the typical overhead – Application is not prevented from performing presentation conversion as data arrives • Impact of lost and mis-ordered data – Prevents immediate processing as data arrives – Application stops presentation conversion operations – Usual approach for lower layers: insert “synchronization points” in data stream – Extending this idea up through presentation to application CS211/Fall 2003 10/06 Application Level Framing • Given application more control: Application should have the option of dealing with a lost data • Reconstitute the lost data (recompute/buffer by applications) • Ignore the lost data • Application level framing • Application breaks the data into suitable aggregates Application Data Units (ADUs) • Lower layers preserve the ADU frame boundaries • ADU takes place of packet as the unit of manipulation • ADUs become the unit of error recovery • Should be upper bounded: for recovery • Lower bounded: application specified • Question: what about network cannot handle large ADUs? CS211/Fall 2003 10/06 Presentation Conversion Architecture • Sender computes a name for each ADU that permits the receiver to understand its place in the sequence of ADUs produced by the sender • Sender uses a transfer syntax that permits ADU to be processed out of order CS211/Fall 2003 10/06 Applications of ALF • In image transport, multimedia transport protocol designs • ITP from Berkeley and MIT • Explanation of ITP design in class CS211/Fall 2003 10/06 Integrated Layer Processing • Layered engineering is not fundamental • How to implement a layered protocol suite – Layered engineering: Sequential processing through each layer not an efficient engineering – ILP: vertical integration – ILP: performing all the manipulation steps in one or two integrated processing loops, instead of serially CS211/Fall 2003 10/06 More on ILP • Ordering constraint – Data manipulation can only be done after specific control steps, – Data manipulation can only be done once the data unit is in order – Layered multiplexing (extract the data before it can be demultiplexed) • Minimize inter-layer ordering constraints imposed on implementors – Encryption processing Example: entwine the session-specific encryption operations with data link level operations – pipelining of presentation conversion • Drawback of ILP: complex design due to fully customized implementation CS211/Fall 2003 10/06 Application of ILP over wireless • Rethinking of the cross-layer design in wireless protocols • Some examples shown in class CS211/Fall 2003 10/06 Two Steps for an overall structure • Step 1: ADUs are received from the network – Handle misordering of transmission units • Step 2: pass a complete ADU to applications for data manipulations – Handle misordering of complete ADUs • ILP is an engineering principle, to be applied only when useful CS211/Fall 2003 10/06 Summary • Protocol Funcation Analysis – Data manipulation costs more than transfer control operations – Presentation costs more than others combined – It is necessary to keep processing pipeline going to improve implementation efficiency • Application level framing – Application data units are natural pipelining units • Key engineering principle: integrated layer processing – Different functions are next to each other, not “on top of” – Allows applications to process their data incrementally CS211/Fall 2003 10/06