Chapter 3:
ATM Networks
TOPICS
– The ATM header
– The ATM protocol stack
– The physical layer
– ATM switch architectures
– ATM adaptation layers
– IP over ATM
Connection-Oriented Networks - Harry Perros 1
Asynchronous Transfer Mode (ATM)
• The word Asynchronous in ATM is in
contrast to Synchronous Transfer Mode
(STM) that was proposed earlier on, which
was based on the SONET/SDH hierarchy.
• Transfer Mode refers to a telecommunication
technique
Connection-Oriented Networks - Harry Perros 2
1
• ATM was standardized by ITU-T (old CCITT) in
1988 as the transfer mode of B-ISDN
• It can carry a variety of different types of traffic,
such as
– Voice
– Video
– Data
At speeds varying from fractional T1 to 2.4 Gbps
Connection-Oriented Networks - Harry Perros 3
• These different types of traffic have
different Quality-of-Service (QoS)
requirements, such as:
– Packet loss
– End-to-end delay
• ATM, unlike IP networks, can provide each
traffic connection a different type of quality
of service.
Connection-Oriented Networks - Harry Perros 4
2
Some features of ATM
• Connection-oriented packet-switched network
• Fixed cell (packet) size of 48+5 bytes
Header
Payload
5 bytes
48 bytes
• No error protection on a link-by-link
• No flow control on a link-by-link
• Delivers cells in the order in which they were
transmitted
Connection-Oriented Networks - Harry Perros 5
The structure of the ATM cell
UNI cell format NNI cell format
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
1 1
GFC VPI VPI
2 2
VPI VCI VPI VCI
3 VCI 3 VCI
B
y 4 VCI PTI CLP B 4 VCI PTI CLP
t y
e t
5 HEC e 5 HEC
. Information . Information
. payload . payload
. .
53 53
Connection-Oriented Networks - Harry Perros 6
3
Fields in the ATM cell header
• GFC
• Connection identifier: VPI/VCI,
• Payload type indicator (PTI)
• Cell loss priority (CLP)
• Head error control (HEC)
Connection-Oriented Networks - Harry Perros 7
ATM connections
• Identified by the combined fields
– virtual path identification (VPI), and
– virtual channel identification (VCI)
• VPI field:
– 256 virtual paths at the UNI interface, and
– 4096 virtual paths at the NNI interface.
• VCI field:
– a maximum of 65,536 VCIs.
Connection-Oriented Networks - Harry Perros 8
4
• VPI/VCI values have local significance.
That is, they are only valid for a single hop.
• A connection over many hops, is associated
with a different VPI/VCI value on each hop.
• Each switch maintains a switching table.
For each connection, it keeps the incoming
and outgoing VPI/VCI values and the input
and output ports.
Connection-Oriented Networks - Harry Perros 9
Label swapping
C VPI=30
VCI=41
VPI=40 1
VPI=30 VPI=100
VCI=62 ATM VCI=53 4 VCI=53
4 ATM D
A
2
switch 1 switch 2 5
3 VPI=10
30 41 1 30 53 4 VCI=89 30 53 4 100 53 5
40 62 2 10 89 3
1
ATM
switch 3
VPI=50
6
VCI=77
10 89 1 50 77 6
B
Connection-Oriented Networks - Harry Perros 10
5
PVCs and SVCs
• Depending how a connection is set-up, it
may be
– Permanent virtual circuit (PVC)
– Switched Virtual circuit (SVC)
• PVCs are set-up administratively. They
remain up for a long time.
• SVCs are set-up in real-time using ATM
signalling. Their duration is arbitrary.
Connection-Oriented Networks - Harry Perros 11
Payload type Indicator
• PTI Meaning
• 000 User data cell, congestion not experienced, SDU type=0
• 001 User data cell, congestion not experienced, SDU type=1
• 010 User data cell, congestion experienced, SDU type=0
• 011 User data cell, congestion experienced, SDU type=1
• 100 Segment OAM flow-related cell
• 101 End-to-end OAM flow-related cell
• 110 RM cell
• 111 Reserved
Connection-Oriented Networks - Harry Perros 12
6
Head Error Control (HEC)
Multiple bit error detected
(cell discarded
No error detected Correction Detection Error detected
(No action) mode mode (cell discard)
No error detected
Single bit error detected
(correction)
Connection-Oriented Networks - Harry Perros 13
The ATM protocol stack
voice Video Data
ATM adaptation layer
ATM layer
Physical layer
Connection-Oriented Networks - Harry Perros 14
7
The physical layer
• The physical layer transports ATM cells
between two adjacent ATM layers.
• It is subdivided into
– transmission convergence (TC) sublayer
– physical medium-dependent (PMD) sublayer.
Connection-Oriented Networks - Harry Perros 15
The transmission convergence (TC)
sublayer
• HEC cell generation and verification
– Implements the HEC state machine
• Decoupling of cell rate
– Maintains a continuous bit stream by inserting idle cells
• Transmission frame generation and recovery
– Such as SONET frames
• Cell delineation
Connection-Oriented Networks - Harry Perros 16
8
Cell delineation is the extraction of cells from the
bit stream received from the PMD sublayer.
Incorrect
HEC for α cells
hunt Sync
Incorrect
HEC
Correct Correct
HEC HEC for δ cells
Presync
Connection-Oriented Networks - Harry Perros 17
• Physical medium dependent (PMD)
– Timing function
• Used to synchronize the transmitting and receiving
PMD sublayers.
– Encoding/decoding
• PMD may operate on a bit-by-bit basis or using
block coding such as 4B/5B and 8B/10B schemes.
Connection-Oriented Networks - Harry Perros 18
9
ATM physical layer interfaces
• SONET/SDH
• Plesiochronous digital hierarchy (PDH)
• Nx64 Kbps
• Inverse mulitplexing for ATM (IMA)
• asymmetric digital subscriber line (ADSL)
• APON
Connection-Oriented Networks - Harry Perros 19
The ATM layer
• The ATM layer is concerned with the end-
to-end transfer of information, i.e., from the
transmitting end-device to the receiving
end-device.
• Below, we summarize its main features.
Connection-Oriented Networks - Harry Perros 20
10
Connection-oriented packet switching
• The ATM layer is a connection-oriented point-to
point packet-switched network with fixed-size
packets (known as cells).
• A connection is identified by a series of VPI/VCI
labels, as explained above, and it may be point-to-
point or point-to-multipoint.
• Cells are delivered to the destination in the order
in which they were transmitted.
Connection-Oriented Networks - Harry Perros 21
Cell switching in ATM networks
is carried out at the ATM level
Application Application
End-device ATM switch ATM switch End-device
Connection-Oriented Networks - Harry Perros 22
11
No error and flow control
on each hop
• Low probability of a cell getting lost or delivered to the
destination end-device in error.
• The recovery of the data carried by lost or corrupted cells
is expected to be carried out by a higher-level protocol,
such as TCP.
• When TCP/IP runs over ATM, the loss or corruption of the
payload of a single cell results in the retransmission of an
entire TCP PDU.
Connection-Oriented Networks - Harry Perros 23
Addressing
• Each ATM end-device and ATM switch has a unique
ATM address.
• Private and public networks use different ATM
addresses. Public networks use E.164 addresses and
private networks use the OSI NSAP format.
• ATM addresses are different to IP addresses.
Connection-Oriented Networks - Harry Perros 24
12
Quality of service
• Each ATM connection is associated with a
quality-of-service category.
• Each quality-of-service category is associated with
a set of traffic parameters and a set of quality-of-
service parameters.
• The ATM network guarantees the negotiated
quality-of-service for each connection.
Connection-Oriented Networks - Harry Perros 25
Congestion control
• In ATM networks, congestion control
permits the network operator to carry as
much traffic as possible without affecting
the quality of service requested by the users.
• It consists of call admission control and a
policing mechanism.
Connection-Oriented Networks - Harry Perros 26
13
The ATM switch architecture
CPU
Input Output
queues queues
1 1
...
Incoming ... Outgoing
links links
N N
Switch fabric
A generic ATM switch
Connection-Oriented Networks - Harry Perros 27
The shared memory ATM switch
architecture
Shared memory
1 1
...
...
N N
Connection-Oriented Networks - Harry Perros 28
14
• If the speed of transmission on each
incoming and outgoing link is V, then the
switch can keep up at maximum arrival rate,
if the memory's bandwidth is 2NV
• Total memory capacity is B cells
• Each linked list i is associated with a
minimum dedicated space and it is limited
to an upper bound Bi, Bi<B so that ΣBi>B.
Connection-Oriented Networks - Harry Perros 29
Cell loss in a shared memory switch
• Cell loss occurs when a cell arrives at a time when
the shared memory is full, that is it, contains B
cells.
• Cell loss can also occur when a cell with
destination output port i arrives at a time when the
total number of cells queued for this output port is
Bi cells (even if the total number of cells in the
shared memory is less than B.)
Connection-Oriented Networks - Harry Perros 30
15
Non-blocking output buffering switch
• In a non-blocking switch, the switching fabric
does not give rise to internal or external blocking.
• An output buffering switch has buffers only at its
output ports.
output ports
...
...
• A shared memory switch is non-blocking with
output buffering
Connection-Oriented Networks - Harry Perros 31
Scheduling algorithms
• Let us consider a non-blocking switch with output
buffering. Each output buffer holds cells that
belong to different connections.
• Each of these connections is associated with a
quality-of-service category.
• The cells belonging to these connections are
grouped into queues, one per quality-of-service
category, and these queues are served using a
scheduling algorithm.
Connection-Oriented Networks - Harry Perros 32
16
Static priorities
CBR
• Priorities among the
RT-VBR queues
Output
port
• Always serve high
NRT-VBR
From priority queue first,
switch
fabric
then second priority
ABR
queue, etc.
UBR
• Aging
• Purging
Connection-Oriented Networks - Harry Perros 33
Early deadline first (EDF) algorithm
• Each cell is assigned a deadline upon arrival at
the buffer. The scheduler servers the cells
according to their deadlines, so that the one with
the earliest deadline gets served first.
• Cells belonging to delay-sensitive applications,
such as voice or video, can be served first by
assigning them deadlines closer to their arrival
times.
Connection-Oriented Networks - Harry Perros 34
17
The round-robin scheduler
• Each output buffer is organized into a number of
logical queues.
• The scheduler serves one cell from each queue in
a round robin fashion
• Empty queues are skipped
• Weighted round robin scheduling can be used to
serve a different number of cells from each queue
Connection-Oriented Networks - Harry Perros 35
The ATM adaptation layer
• The purpose of AAL is to isolate higher
layers from the specific characteristics of
the ATM layer.
• AAL consists of the
– convergence sublayer, and the
– segmentation-and-reassembly sublayer.
Connection-Oriented Networks - Harry Perros 36
18
The AAL sublayers
SAP
Service Specific
Convergence Convergence Sublayer (SSCS)
Sublayer Common Part
Sublayer (CPS)
Segmentation and Reassembly
SAP
Connection-Oriented Networks - Harry Perros 37
ATM Adaptation Layer 1 (AAL 1)
• This AAL can be used for applications such as:
– circuit emulation services
• It emulates a point-to-point TDM circuit over ATM
– Constant-bit rate audio
• Used to provide an interconnection between two
PBXs over a private or public ATM network
Connection-Oriented Networks - Harry Perros 38
19
The SAR encapsulation for AAL 1
SAR Header payload
SN SNP 47 bytes
CSI Sequence. count CRC-3 Parity
1 bit 3 bits 3 bits 1 bit
Connection-Oriented Networks - Harry Perros 39
The AAL 1 CS functions:
1. Handling of cell variation
– Due to queueing delays, inter-arrival times of cells vary (jitter).
Sender Receiver
cell cell cell cell cell cell
i-1 i i+1 ATM i-1 i i+1
cloud
t t s s
i-1 i i-1 i
Inter-departure gaps Inter-arrival gaps
– CS writes received data into a buffer, and then delivers the
information to the application at constant bit rate.
Connection-Oriented Networks - Harry Perros 40
20
2. Processing of the sequence count
– The sequence count values are processed by CS in
order to detect lost or misinserted cells. Detected
misinserted cells are discarded. In order to maintain
bit count integrity of the AAL user information, it
may be necessary to compensate for lost cells by
inserting dummy SAR-PDU payloads.
3. Forward error correction
– For video and high quality audio forward error
correction may be performed in order to protect
against bit errors. This may be combined with
interleaving of AAL user bits to give a more secure
protection against errors.
Connection-Oriented Networks - Harry Perros 41
4. Transfer of timing information
a. Synchronous residual time stamp (SRTS):
CS conveys to the receiver in the CSI field the
difference between a common clock derived from the
network and the sender’s clock
b. Adaptive clock method:
The receiver writes the received information into a
buffer and reads out from the buffer. If its clock is
fast/slow the occupancy in the buffer will be
below/over the median
Connection-Oriented Networks - Harry Perros 42
21
5. Structured and unstructured data transfers
Two CS-PDU formats have been defined:
a. CS-PDU non-P format:
Constructed from 47 bytes of information
supplied by an AAL user
b. CS-PDU P format:
Constructed from a 1-byte header and 46 bytes
of information supplied by an AAL use.
The header consists of a 7-bit pointer (SDT
pointer) and 1 even bit parity.
Connection-Oriented Networks - Harry Perros 43
Circuit Emulation Services
UNI UNI
IWF IWF
ATM network
A B
CBR CBR
User A User B
• The structured and unstructured data transfers are
used in Circuit Emulation Services (CES), which
emulate a T1/E1 link over ATM.
• CES is implemented in an interworking function
(IWF).
Connection-Oriented Networks - Harry Perros 44
22
• Unstructured service
– The entire DS1/E1 signal is transported by
packing it bit by bit into the 47-byte payload of
a CS-PDU non-P format, which is then carried
by an ATM cell.
47 bytes -> 376 bits -> less than 2 DS-1
frames (193 bits/frame)
Connection-Oriented Networks - Harry Perros 45
• Structured transfers
– It is used to carry fractional T1/E1, i.e. Nx64
Kbps
– Fractional T1/E1 generates blocks of N bytes
every 125 µsec. Such a block of data is referred
to in the standards as a structured block.
– Blocks of N bytes are transported back-to-back
over successive cells using both the CS-PDU
non-P and P formats.
Connection-Oriented Networks - Harry Perros 46
23
• The SDT pointer
– The SDT pointer in the CS-PDU P format is
used to help delineate the boundaries of these
blocks.
– The actual rules as to when to use the SDT
pointer in the P format are somewhat complex.
Connection-Oriented Networks - Harry Perros 47
An example: block size = 20 bytes
Seq, count 0 Seq, count 1 Seq, count 2 Seq, count 3
20 20 6 14 20 13 7 20 20 20 20 7
Seq, count 4 Seq, count 5 Seq, count 6 Seq, count 7
13 20 14 6 20 20 1 19 20 7 13 20 14
Seq, count 0 Seq, count 1 Seq, count 2 Seq, count 3
6 20 20 20 20 7 13 20 14 6 20 20 1
Connection-Oriented Networks - Harry Perros 48
24
ATM Adaptation Layer 2 (AAL 2)
• Defined for delay sensitive applications
with a low bit rate, such as voice and
voiceband traffic (facsimile, modem traffic)
• AAL 2 is used in to interconnect two distant
public or private telephone networks over
an ATM network.
Connection-Oriented Networks - Harry Perros 49
• At the sender, AAL 2 multiplexes several streams
onto the same ATM connection
• At the receiver, it de-multiplexes the date from
the connection to the individual streams.
Connection-Oriented Networks - Harry Perros 50
25
The SSCS and CPS sublayers
• The AAL 2 services are provided by the
convergence sublayer, which is subdivided into
the
– Service Specific Convergence Sublayer (SSCS)
– Common part sublayer (CPS).
Connection-Oriented Networks - Harry Perros 51
Functional model of AAL 2 (sender side)
• Each stream is served by a separate SSCS which is
associated with a CID
AAL-SAP
SSCS
SSCS CID=Z
SSCS CID=Y
CID=X
CPS
ATM-SAP
Connection-Oriented Networks - Harry Perros 52
26
SSCS for AAL 2 trunking
• A specialized SSCS has been developed to
support “ATM trunking using AAL 2 for
narrowband services”.
• It is described in Chapter 12
Connection-Oriented Networks - Harry Perros 53
CPS-packets and CPS-PDUs
• A transmitting SSCS uses a timer to decide
when to pass on the data to CPS.
• Data from an SSCS is packed into a CPS-packet
• CPS-packets from different SSCSs are packed
into a CPS-PDU, which is exactly 48 bytes and
it is carried in an ATM cell
Connection-Oriented Networks - Harry Perros 54
27
Packing CPS-packets into CPS-PDUs
CPS-packets 1 2 3 4 5
CPS-PDUs 1 2 3 3 4 5
ATM cells
Connection-Oriented Networks - Harry Perros 55
The structure of the CPS-packet
and CPS-PDU
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
1 CID 1 P S OSF
N
2 PPT LI
3 HEC UUI
CPS-PDU
payload
CPS-packet
payload
48 PAD
CPS-packet CPS-PDU
Connection-Oriented Networks - Harry Perros 56
28
The CPS-packet fields
• Channel identifier (CID) - 8 bits:
– Identifies a channel. Same value is used for both directions.
– CIDs are allocated using the AAL negotiation procedures (ANP)
• Packet payload type (PPT) - 2 bits:
– Indicates whether it carries voice or network management data
• Length indicator (LI) - 6 bits:
– Default maximum length of the CPS-packet payload is 45 bytes.
• Header error control (HEC) - 5 bits:
– Pattern is: x5+x2+1.
• User-to-user-indication (UUI) - 3 bits:
– Used to transfer information transparently between the peers.
Connection-Oriented Networks - Harry Perros 57
CPS-PDU fields
Offset field (OSF) (6 bits)
• Used to identify the beginning of a CPS-
packet. It points to the first new CPS-packet
in the CPS-PDU payload
• In the absence of a new CPS-packet, it
points to the beginning of the pad
• The value of 47 indicates that there is no
beginning of a CPS-packet in the CPS-PDU.
Connection-Oriented Networks - Harry Perros 58
29
An example
20 48 35 20
20 27 21 26 9 20
#1 #2 #3 #3 #4
#2 padding
OSF =0 OSF=21 OSF=9
Connection-Oriented Networks - Harry Perros 59
ATM adaptation layer 5 (AAL 5)
• Very popular AAL due to its simplicity
• A user-PDU is encapsulated and then broken up to
fragments, each carried by an ATM cell
• AAL 5 consists of
– Convergence sublayer (CS)
• SSCS
• CPS
– Segmentation and reassembly (SAR).
Connection-Oriented Networks - Harry Perros 60
30
CPS
• Provides a non-assured transfer operation.
• User-PDUs of a length up to 65,535 bytes
can be transferred.
• Erroneous CPS-PDUs can be detected at the
receiver’s side. No recovery of an erroneous
CS-PDU takes place. Instead, an indication
is sent to the the higher-level application.
Connection-Oriented Networks - Harry Perros 61
CPS encapsulation
User-PDU Pad CPS-UU Length CRC-32
• Pad: from 0 to 47 bytes, so that the entire CPS-PDU becomes
an integer multiple of 48 bytes. The User-PDU can be up to
65,535 bytes
• CPS User-to-user indication (CPS-UU): 1-byte field
• Common part indicator (CPI): 1-byte field for future use
• Length: 2-byte field gives length of CPS-PDU payload.
• CRC pattern: 4-byte field contains the FCS calculated using
the pattern x +x +x +x +x +x +x +x +x +x +x +x +x +x+1.
32 26 23 22 16 12 11 10 8 7 5 4 2
Connection-Oriented Networks - Harry Perros 62
31
SAR sublayer - transmitter
• SAR segments a CPS-PDU into a sequence
of 48-byte segments.
• No additional encapsulation
• Each segment is carried in the payload of an
ATM cell
• Last cell has its PTI marked with SDU=1.
Connection-Oriented Networks - Harry Perros 63
SAR sublayer - Receiver
• SAR appends payloads of the ATM cell
into a buffer until
1. It encounters an SDU=1 in PTI field
• It checks the CRC and then passes the PDU to the
application above with an indication as to whether
it is correct or not.
2. Buffer is exceeded
• It passed the PDU to the application above with an
indication that buffer was exceeded.
Connection-Oriented Networks - Harry Perros 64
32
Classical IP and ARP over ATM
• This is a technique proposed by IETF for
supporting IP over ATM in a single logical IP
subnet (LIS).
• A LIS is a group of IP hosts that share a common
IP network number and subnet mask, and they all
communicate with each other directly over ATM
connections.
Connection-Oriented Networks - Harry Perros 65
A logical IP subnet (LIS)
Group of host with the same network address We now replace the transport network
and same subnet mask with ATM switches
IP address: [Link]
Connection-Oriented Networks - Harry Perros 66
33
Computer Computer
TCP TCP
IP IP
Classical IP CIP CIP
AAL AAL
ATM ATM
PHY PHY
ATM switch
IP packet IP packet
CS-PDU CS-PDU
SAR SAR
ATM ATM
Connection-Oriented Networks - Harry Perros 67
ATMARP and InATMARP
• A LIS member has both an IP and an ATM
address.
• IP addresses are resolved to ATM addresses using
the ATMARP protocol within the LIS (based on
ARP).
• The inverse ATMARP (InATMARP) protocol is
used to resolve an ATM address to an IP address.
(It is similar to the inverseARP).
Connection-Oriented Networks - Harry Perros 68
34
The ATMARP server
• It maintains a table or a cache of IP and ATM
address mappings
• It learns about the IP and ATM addresses of the
LIS members (IP clients) through the messages
exchanged between ATMARP and the LIS hosts.
• It typically resides on an ATM switch. (An ATM
switch load commonly contains the ATMARP
server as well).
Connection-Oriented Networks - Harry Perros 69
ATMARP messages
• ATMARP_request: Used to request the ATMARP server
the ATM address of a destination IP client.
• ATMARP_reply: Used by the ATMARP server to respond
to an IP client with the destination ATM address.
• InATMARP_request: Sent from the ATMARP server to an
IP client to obtain its IP address.
• InATMARP_reply: This is the response from an IP client
with its IP address.
• ATMARP_NAK: Negative response issued by the
ATMARP server to a requesting IP client.
Connection-Oriented Networks - Harry Perros 70
35
Registration
• An IP client must first register its IP and ATM
addresses with the ATMARP server.
– The client establishes a connection to the ATMARP
server (it knows the ATMARP server’s ATM address).
– It then transmits an ATMARP_request, asking its own
ATM address.
– The ATMARP server checks against duplicate entries
in its table, time stamps the entry, adds it to its table,
and sends an ATMARP_reply. The entry is valid for a
minimum of 20 minutes and has to be refreshed.
Connection-Oriented Networks - Harry Perros 71
Address resolution
• An ATMARP client 1 can communicate with an
ATMARP client 2 immediately if it knows its
ATM address.
• If the destination ATM address is not known,
client 1 invokes the ATMARP process.
– It sends an ATMARP_request to the ATMARP server.
– If the server has the requested address in its table, it
returns an ATMARP_reply.
– Otherwise, it returns an ATMARP_NAK.
Connection-Oriented Networks - Harry Perros 72
36