ATM Networks: Asynchronous Transfer Mode (ATM)
ATM Networks: Asynchronous Transfer Mode (ATM)
ATM Networks
TOPICS
– The ATM header
– The ATM protocol stack
– The physical layer
– ATM switch architectures
– ATM adaptation layers
– IP over ATM
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
2
Some features of ATM
• Connection-oriented packet-switched network
• Fixed cell (packet) size of 48+5 bytes
Header
Payload
5 bytes 48 bytes
. Information . Information
. payload . payload
. .
53 53
3
Fields in the ATM cell header
• GFC
• Connection identifier: VPI/VCI,
• Payload type indicator (PTI)
• Cell loss priority (CLP)
• Head error control (HEC)
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.
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.
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
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.
• 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
6
Head Error Control (HEC)
ATM layer
Physical layer
7
The physical layer
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
9
ATM physical layer interfaces
• SONET/SDH
• Plesiochronous digital hierarchy (PDH)
• Nx64 Kbps
• Inverse mulitplexing for ATM (IMA)
• asymmetric digital subscriber line (ADSL)
• APON
10
Connection-oriented packet switching
Application Application
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.
Addressing
12
Quality of service
Congestion control
13
The ATM switch architecture
CPU
Input Output
queues queues
1 1
...
Incoming ... Outgoing
links links
N N
Switch fabric
Shared memory
1 1
...
...
N N
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.
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
...
...
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.
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
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
18
The AAL sublayers
SAP
Service Specific
Convergence Convergence Sublayer (SSCS)
Sublayer Common Part
Sublayer (CPS)
SAP
19
The SAR encapsulation for AAL 1
SN SNP 47 bytes
t t s s
i-1 i i-1 i
Inter-departure gaps Inter-arrival gaps
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.
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.
UNI UNI
IWF IWF
ATM network
A B
CBR CBR
User A User B
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.
• 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.
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.
20 20 6 14 20 13 7 20 20 20 20 7
13 20 14 6 20 20 1 19 20 7 13 20 14
6 20 20 20 20 7 13 20 14 6 20 20 1
24
ATM Adaptation Layer 2 (AAL 2)
25
The SSCS and CPS sublayers
AAL-SAP
SSCS
SSCS CID=Z
SSCS CID=Y
CID=X
CPS
ATM-SAP
26
SSCS for AAL 2 trunking
27
Packing CPS-packets into CPS-PDUs
CPS-packets 1 2 3 4 5
CPS-PDUs 1 2 3 3 4 5
ATM cells
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
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.
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.
29
An example
20 48 35 20
20 27 21 26 9 20
#1 #2 #3 #3 #4
#2 padding
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.
CPS encapsulation
User-PDU Pad CPS-UU Length CRC-32
31
SAR sublayer - transmitter
32
Classical IP and ARP over ATM
Group of host with the same network address We now replace the transport network
and same subnet mask with ATM switches
IP address: 193.14.0.0
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
34
The ATMARP server
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
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.
36