Advanced Computer Networks CS716 Advanced Computer Networks By Dr. Amir Qayyum 1
Lecture No. 16
Understand different ways to move through network (forwarding) Where we are now … Understand different ways to move through network (forwarding) Read signs at each switch (datagram) Follow a known path (virtual circuit) Carry instructions (source routing) Bridge approach to extending LAN concept
Next Where we are now … Example of a real network (ATM) How switches are built and contention within switches
ATM (Asynchronous Transfer Mode) Defined by ATM Forum (formed in Oct. 1991) Telephone industry (link providers to build networks) Data network industry High speed switching technology: right thing at right place at right time ? ? ?
ATM (Asynchronous Transfer Mode) Common in WANs, can also be used in LANs Competing technology with Ethernet, but areas of application only partially overlap Connection-oriented packet-switched network Virtual-circuit routing Typically implemented on SONET (other physical layers possible)
ATM (Asynchronous Transfer Mode) Signaling (connection setup) Protocol: Q.2931 Discovering routes and allocating resources at switches ATM address format E.164 and NSAP (Network Service Access Point) Different from MAC addresses
ATM Signaling Connection setup called signaling (standard Q.2931) Route discovery, resource resv, QoS, ... Send through network Request setup circuit Send setup frame on setup circuit Establish locally No intermediate switch involvement Requires pre-established virtual path
Fixed length (53 bytes) frames are called cells Cell Switching (ATM) Fixed length (53 bytes) frames are called cells 5-byte (header + 1-byte CRC-8) + 48-byte payload Standard defines 3 layers (5 sublayers) Layers interface to physical media and to higher layers (e.g., encapsulating variable-length frames)
2-level connection hierarchy Cell Switching (ATM) 2-level connection hierarchy Virtual circuits Virtual paths Bundles of virtual circuits Travel along common route Reduces forwarding information
Why Hierarchical Connections ? Simpler ... Setup New virtual circuits follow virtual path route Forwarding Virtual path identifier (VPI) used between switches (smaller forwarding table) VCI used for last hop (to host) Rerouting around failures Change virtual path once vs. 64k virtual circuits
Variable-length Frames … Small data is sent in a minimum-sized packet No need for extraneous padding Large file is sent by breaking it into many maximum-sized packets Low overhead (header to data bytes ratio), increasing bandwidth efficiency Minimize total number of packets sent Minimize per-packet processing
Drawbacks of Fixed-length Frames No optimally good fixed length Higher overhead for large frames Must be fragmented One header per fragment (less efficient) Low utilization for small frames Must be padded
Then Why Fixed-length Frames ? Require simpler hardware … Facilitates the impl of hardware switches Helpful building fast, highly scalable switches Easier to build hardware doing simple job: to process known-length frame Parallelism in processing stages: lots of switches doing same thing in parallel Analogy: processor instruction pipeline with variable-length stages
Better behavior of non-preemptive queues Why Short Frames ? Better behavior of non-preemptive queues Reduced granularity of preemption High-priority frame may wait for max-size frame Long frame (4kB) admits long wait Short frame limits wait Limits end-to-end jitter, or variance in latency
Shorter queues Why Short Frames ? Switches typically store and forward packets Cannot send until full packet arrives Short frames (fragmentation) allows first part to be sent while remainder arrives
Queuing Behavior Examples Consider 4kB vs. 53B frames, 100 Mbps link Preemption: high-priority frame arrives just as switch starts sending low-priority frame 4kB: wait for 4096 x 8 / 100 = 327.68 microseconds 53B: wait for 53 x 8 / 100 = 4.24 us
Queuing Behavior Examples Shorter queues: two chunks (or frames) arrive simultaneously at time 0 4kB: link is idle until all data arrive at time 327.68 us; 8 kB left to send 53B: link nearly fully utilized (waits 4.24us); at time 327.68 microseconds, roughly 4kB left to send
Why 53-byte Frames ? Telephone community wish: carry voice effectively Demands ATM to improves latency for audio data Voice encoded at 64kbps: 8-bit smpl at 8KHz Need full cell’s worth of samples before sending cell 1Kbyte cells -> 125ms per cell (human detectable) 53 byte cells implies 6 ms of data
Compromise: 48 bytes = 32(Europe) + 64(US) / 2 Why 53-byte Frames ? Smaller latency implies no need for echo cancellers Audio reconstruction Expect low rate of cell loss; can interpolate loss (6 ms) Compromise: 48 bytes = 32(Europe) + 64(US) / 2
ATM Cell Format User-Network Interface (UNI) Host-to-switch format GFC: Generic Flow Control (still being defined) VCI/VPI: Virtual Circuit/Path Identifier Type: management, congestion control, AAL5 (later) CLP: Cell Loss Priority HEC: Header Error Check (CRC-8) Network-Network Interface (NNI) Switch-to-switch format GFC becomes part of VPI field 4 8 16 3 1 8 384 (48 bytes) GFC VPI VCI Type CLP HEC(CRC-8) payload
Segmentation and Reassembly Variable-length packets passed to ATM are often larger than 48 bytes May not fit in the ATM payload Fragmentation is required at the source High-level message into low-level packets
Segmentation and Reassembly Destination reassembles the fragments Transforms fragments back into the message ATM name this procedure as Segmentation and Reassembly (SAR)
Segmentation and Reassembly ATM Adaptation Layer (AAL) Application to ATM cell mapping AAL header contains information for reassembly AAL1, AAL2 for applications needing guaranteed rate AAL3/4 designed for variable-length packet data AAL5 is an alternative standard for packet data AAL AAL … … A TM A TM
ATM Layers ATM Adaptation Layer (AAL) ATM Layer Physical layer Convergence Sublayer (CS) supports different application service models Segmentation and Reassembly (SAR) supports variable-length frames ATM Layer Handles virtual circuits, cell header generation, flow control Physical layer Transmission Convergence (TC) handles error detection, framing Physical medium dependent (PMD) sublayer handles encoding AAL CS SAR ATM PHY TC PMD
AAL 3/4 Provides information to allow variable size packets to be sent in fixed-size ATM cells Convergence Sublayer Protocol Data Unit (CS-PDU) CPI: Common Part Indicator (version field) Btag/Etag:beginning and ending tags (same) BAsize: hint on reassembly buffer space to allocate Length: size of whole PDU Segmented into cells: header/trailer + 44-byte data 8 8 16 < 64 KB 0-24 8 8 16 CPI Btag BAsize Pad Etag Length payload
ATM Cell Format for AAL 3/4 40 2 4 10 352 (44 bytes) 6 16 ATM header type seq MID length CRC-10 payload Type (is-start? and is-end? bits) BOM (10): beginning of message COM (00): continuation of message EOM (01): end of message SSM (11): single-segment message SEQ: sequence number (for cell loss/reordering) MID: multiplexing ID (mux onto virtual circuits) Length: number of bytes of PDU in this cell
Encapsulation and Segmentation for AAL3/4 4 bytes < 64 KB 4-7 bytes CS-PDU header CS-PDU trailer User data 44 bytes 44 bytes 44 bytes <44 bytes AAL header AAL trailer ATM header Cell payload Padding
AAL 3/4 Summary Many factors limit the utilization to 83% Only 44 bytes of data in 53 bytes of cell CS-PDU encapsulation further reduces the efficiency (header-to-payload ratio) Partial filling of last cell also impacts the effective utilization Lot of overhead to perform simple function of segmentation and reassembly …
AAL 5 AAL 5 designed as replacement for AAL3/4 No PDU information in ATM header Only uses 1 bit of ATM header to mark end of PDU Does not require additional per-cell headers/trailers No additional layer of multiplexing in a single VC CS-PDU contains data with only 8-byte trailer Uses stronger error correct at PDU level (CRC-32) Protection against lost, corrupt and misordered cells is provided by CS-PDU
AAL 5 CS-PDU CS-PDU Format Cell Format Pad so trailer always falls at the end of ATM cell Length: size of PDU (data only) CRC-32 (detects missing or misordered cells) Cell Format End-of-PDU bit in Type field of ATM header < 64 KB 0 - 47 2 2 32 pad reserved length CRC-32 data
Encapsulation and Segmentation for AAL 5 Padding CS-PDU User data trailer 48 bytes 48 bytes 48 bytes ATM header Cell payload