CS211/Fall /06 Outline for This Lecture Application of e2e over wireless Application Level Framing Integrated Layer Processing Course Project Introduction
CS211/Fall /06 Application of e2e over wireless Explanation of proxy-based design in class –Security –Transcoding –TCP
CS211/Fall /06 Architectural Considerations for a New Generation of Protocols Protocol function analysis Application Level Framing Integrated Layer Processing
CS211/Fall /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 /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 /06 Comments on layering Layering is the semantic isolation of functional modules, not a fundamental engineering principle
CS211/Fall /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 /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 /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 /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 /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 /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 /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 /06 Applications of ALF In image transport, multimedia transport protocol designs ITP from Berkeley and MIT Explanation of ITP design in class
CS211/Fall /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 /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 /06 Application of ILP over wireless Rethinking of the cross-layer design in wireless protocols Some examples shown in class
CS211/Fall /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 /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