October 6, 2003

Download Report

Transcript October 6, 2003

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