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