ATM
- Asynchronous Transfer Mode
- cells
- adaptation layers
- Virtual Circuits:
virtual channels,
virtual paths,
cell switching,
signaling
- Quality of Service
- ATM LANs
ATM Background
- 1990s, Asynchronous Transfer Mode (as opposed to SONET, Synchronous
Optical Network)
- designed for telephony: real-time plus data,
short- or long-distance, high reliability
- 53-byte cells
- ATM Forum: telcos + networking companies
- UNI (User-Network Interface) between hosts and switches
- NNI (Network-Network Interface) between switches (P-NNI within a
private network)
- in-order delivery, low loss
ATM Cells
- 53 bytes = 424 bits
- cells sent when ready (Asynchronous Transfer Mode)
- 5 byte header + 48 byte payload
- Header (40 bits):
- GFC (4 bits; UNI only),
- VPI (8 bits/UNI, 12 bits/NNI),
- VCI (16),
- Payload Type (3),
- Cell Loss Priority (1),
- Header Error Correction (CRC, 1)
- No sequence numbers (since delivery is guaranteed to be in-order),
no payload CRC, no addresses, no payload length
ATM AAL
- ATM Adaptation Layer interprets the contents of the ATM cells:
- AAL 1: constant-bit-rate (CBR) traffic
- AAL 3/4: data (full service)
- AAL 5: data (simpler)
- AAL Structure:
- Segmentation and Reassembly (cell-level services)
- Convergence (message-level services)
- a Service Data Unit (SDU) is a packet
- AAL is only done by end-systems, not switches
AAL 5: Segmentation and Reassembly
- Segmentation:
- SDU from the higher layer
- add a 4-byte header (which is not used), 0-47 byte pad (to make
multiple of 48 bytes after adding length and CRC), 2-byte length
and 4-byte CRC
- break this into 48-byte payloads
- add 5-byte ATM headers
- send
- Reassembly:
- receive 53-byte cells in order
- check HEC and strip header
- reassemble
- when SDU complete (specified by a bit in the payload type in the
header), check length/CRC, if they match, deliver packet
Virtual Circuits
- like a telephone connection, but more efficient: statistical multiplexing
- a transmission link may carry a number of virtual paths (VPs),
each identified by a different VPI
- a virtual path may carry a number of virtual channels,
each identified by a different VCI
- the combination of (link, VPI, VCI) uniquely identifies
a virtual channel
- virtual paths and virtual channels are virtual circuit: data is
sent end-to-end, but there is no actual physical circuit, as there
might be in an old-fashioned telephone switch
Virtual Circuit Switching
- cell incoming on a link l of a given switch has specific
VPI and VCI values in the header
- the ATM switch has table which maps incoming triples
(l, VPI, VCI) to outgoing triples (l', VPI', VCI')
- if an incoming cell matches an incoming triple, the cell is
sent on the outgoing link, and the header of the outgoing cell has
the specified outgoing VPI, VCI
- to route cells, change VPI to VPI' and VCI to VCI',
and places the cell on l' (to route onto a virtual path, leave VCI unchanged
while changing VPI to VPI')
- multicast is easy -- just list multiple output link/VPI/VCI for
an incoming link/VPI/VCI
- in-class exercise:
given this table, forward cell from link 5, VPI=33, VCI=7
from | from | from | to | to | to |
link | VPI | VCI | link | VPI | VCI |
5 | 33 | 7 | 3 | 3 | 1 |
1 | 3 | * | 2 | 7 | * |
2 | 7 | 3 | 4 | 9 | 7 |
|
Signaling
- Permanent Virtual Circuits (PVCs)
- Switched Virtual Circuits (SVCs):
- Host sends a request (on reserved VPI/VCI) to the switch to which
it is connected
- The switch finds a route, sends the request to next switch
- The final switch sends request to destination
- The destination replies, accepting or rejecting
- Acceptance is only if all switches and destination accept, so
may depend on the amount of resources requested
- In case of rejection, a switch may try alternate routes (crankback)
- Switches must set up the forwarding (VPI, VCI) table
when a successful reply comes back
QoS
- Quality of Service: what the network provides to the connection
- Traffic Descriptor: what the host provides to the network
(traffic contract)
- Service classes:
- Constant bit-rate (CBR)
- Variable bit-rate (VBR): Real-Time (RT), Non-Real-Time(NRT)
- Available bit-rate (ABR)
- Unspecified bit-rate (UBR)
- QoS parameters include maximum Cell Delay Variation (CDV)
and Cell Loss Ratio (CLR)
Traffic Descriptors
- Dual Leaky Bucket, in parallel (any overflow is tagged by Cell
Loss Priority)
- Each Leaky Bucket has:
- maximum sustained rate R (cells/s)
- capacity C (cells)
- Peak rate leaky bucket: PCR (Peak Cell Rate), CDVT (Cell
Delay Variation Tolerance)
- Mean rate leaky bucket: SCR (Sustained Cell Rate), BT (Burst
Tolerance)
ATM LANs
- 20-byte ATM addresses (telephone number superset, hierarchical)
- once connected, transfer (including multicast) is easy
- how to find an ATM address given a higher-level address?
- broadcast every message to everyone in the Virtual LAN (VPN) --
this is LAN emulation, LANE
- configure end systems with the ATM address of an address
server. The server records my addresses when I connect, and
provides translations of others' addresses.
Subsequent transfers occur over a regular ATM connection --
CLassical IP over ATM, CLIP