Documente Academic
Documente Profesional
Documente Cultură
Vuskovic
ATM Networking
CS596
Chapter 1
ATM BASICS
Table of contents:
1.1 OVERVIEW
1.1.1 Why ATM?
1.1.2 Transmission Media
1.1.3 ATM Cells
1.1.4 Statistical TDM
1.1.5 Why the Cell Size is 53 Octets?
1.1.6 ATM Protocol Stack
1.1.7 Virtual Circuits
1.1.8 Guaranteed Quality of Service
1.1.9 LAN Emulation
1.1.10 Circuit Emulation
1.1.11 ATM Interfaces
1.2 PHYSICAL AND ATM LAYERS
1.2.1 Header Structure
1.2.2 Virtual Paths and Virtual Channels
1.2.3 Permanent Virtual Circuits
1.2.4 ATM Switching
1.2.5 Payload Type
1.2.6 ATM Protocol Stack
1.2.7 Cell Loss Priority
1.2.8 Header Error Control
1.2.9 Cell Delineation
1.2.10 Cell Scrambling
1.2.11 Repetitive Checking
1.3 ATM ADAPTATION LAYERS
1.3.1 Service Categories
1.3.2 Traffic Classes
1.3.3 ATM Adaptation Layer
1.3.4 ATM Adaptation Layer
1.3.5 ATM Adaptation Layer
1.3.6 ATM Adaptation Layer
1
2
3/4
5
Copyright C 1998, 1999 by Marko Vuskovic
1-2
OVERVIEW
Why ATM?
To support any type of traffic:
- burtsy data (to multimegabit rates: files, images, multimedia)
- intermittent data (interactive systems, low rate, delay intolerant)
- voice (sustained data rate, 64 kbps)
- video (sustained data rate, multimegabit rates)
To support transactions that use data, voice, and video simultaneously
To provide high bandwidth, which can't be found in other technologies
To provide a uniform architecture for fast LANs and scalable WANs of unrestricted sizes
To provide bandwidth on demand (pay for use)
To support multicast operations (video conferencing)
To provide guaranteed quality of service
To provide a unified approach in network management
LAN
PBX
Router
Terminal/
service
adapter
ATM
1.5 Mbps - 9 Gbps
1-3
OVERVIEW (Cont.)
Speed
OC-129
OC-12
SONET/SDH
ATM
OC-3
45 Mbps
SMDS
1.5 Mbps
ISDN, X.25
FR
64 kbps
10
20
50
100
200
500
1000
1-4
OVERVIEW (Cont.)
500
100
ATM
SMDS
200
X.25
50
FR
20
10
5
2
Circuit switching
1
0.01
0.1
10
100
1000
Throughput [Mbps]
Circuit-switched networks
are not very good for bursty
traffic
[Used from: D. Spohn: "Data Network Design," McGraw-Hill, 1997]
1-5
OVERVIEW (Cont.)
SMDS is designed to
support data only services,
not well suited for voice
X.25
FR
ATM
10
SMDS
1
0.1
0.01
Circuit switching
0.001
0.01
0.1
10
100
1000
Throughput [Mbps]
1-6
OVERVIEW (Cont.)
Transmission Media
The connections between DTEs (ATM interfaces) and ATM switches, as well as the
connections between ATM switches are possible through a variety of transmission media.
ATM Switch
ATM Switch
1-7
OVERVIEW (Cont.)
ATM Cells
One of the main characteristics of ATM are small fixed-size cells (53 octets,
5 octets overhead, 48 octets payload). This gives the following advantages:
predictable delay of cells
can implement cell switching entirely in hardware
smaller packetization delay, better support for voice and video
5 octets
48 octets
Overhead
Payload
Packetization Delay
Its a consequence of not sending the packet before it is filled with data.
125 sec
8 bit samples
1 2 3 4
16 msec
Packetizing 128 samples
Propagation
+ processing delay (= x)
1 2 3 4
8 bit samples
1 2 3
6 msec
Packetizing
48 samples
384 cell payload
1-8
OVERVIEW (Cont.)
Statistical TDM
Second important characteristic of ATM is statistical time division multiplexing (see
Appendix B), also called: asynchronous TDM (which gives rise to the term "ATM").
Source A
A2
A1
Source B
Packet
switching
B1
B2
B2
B1
A1
B1
A2
B2
B2
B1
Cell
switching
A1
A2
1-9
OVERVIEW (Cont.)
Europe
USA & Japan
64 + 32
= 48
2
1-10
OVERVIEW (Cont.)
ATM Protocol Stack
The ATM protocol stack has three layers: AAL (ATM Adaptation Layer), ATM layer, and the
physical layer. This stack doesn't fit exactly into the OSI reference model. For example,
the ATM and AAL layers can't be interpreted as link and network layers respectively.
What comes above the three ATM layers depends on the context of the ATM implementation (such as direct ATM, LAN emulation, IP over ATM, multiple protocol over ATM)
Convergence
Sublayer
(CS)
Segmentation and
Reasembly (SAR)
AAL
(ATM Adaptation
Layer)
Service Specific CS
(SSCS)
Common Part CS
(CPCS)
Slices packets/frames into segments
that can accommodate ATM cells;
adds SAR overhead. Also does
reverse operation: assembles cells
coming from ATM layer into
packets/frames
ATM
Adds cell header and passes cells to
the physical layer. Perform cell switching
and modification of cell headers at ATM
switches.
Physical
Transmission
Convergence
(TC)
Physical Media
Dependent
(PMD)
1-11
OVERVIEW (Cont.)
Each protocol layer/sublayer adds its own header (and trailer) to PDUs coming from the upper
layers and strips the according header/trailer from the PDUs coming from the south part of the
protocol stack. Shown below is the general case of the protocol architecture. Not all adaptation
sublayers are involved in a particular traffic type.
Payload
Trailer
SSCS
Header
header
Payload
Trailer
CPCS SSCS
Header
header header
Payload
Trailer
Higher layers
SSCS
CS
CPCS
AAL
CPCS
trailer
SAR
ATM
TC
PMD
SAR
header
SAR
trailer
SAR
header
SAR
trailer
SAR PDUs
SAR
Cell
header header
SAR
trailer
SAR
Cell
header header
SAR
trailer
48 octets
ATM Cells
Bit stream
11010101111010000111010010101111010101111010101110101010
Copyright C 1999 by Marko Vuskovic
1-12
OVERVIEW (Cont.)
Virtual Circuits
ATM supports three types of switched connections:
Permanent Virtual Circuits (PVC)
Switched Virtual Circuits (SVC)
Soft PVC (SPVC)
(X.25 supports PVC and SVC)
A PVC is programmed by the network administrator and doesn't require additional work
in a communication session. If the connection fails it can't be reestablished (there are no
alternate routes.) An SVC is established each time the connection is needed and terminated there after. Signaling (call setup/call clearing) is a complicated procedure, which
can cause incompatibility among different vendors, but provides rerouting capabilities in
case of the connection failure. A soft PVC is a compromise solution in which the connection between the DTEs and the network are a PVC, while the connection across the net-
ATM network
PVC
DTE
SVC
PVC
DTE
In any case, PVC, SVC, or SPVC, there is no routing during a communication session.
Instead, the cells are switched by simple hardware implemented algorithms, which
eliminates processing delay at ATM network nodes.
1-13
OVERVIEW (Cont.)
Guaranteed Quality of Service
This is the third important characteristic of ATM. The combination of small fixed-size
cells, statistical TDM and virtual curcuits provids a possibility of guaranteed delivery of a
certain traffic type. The traffic type can be defined by the following negotiable QoS parameters:
Cell Delay Variation (CDV)
Cell Transfer Delay (CTD)
Cell Loss Ratio (CLR)
There are other QoS parameters which are not negotiable, but which characterize the
traffic:
PCR - Peak Cell Rate
SCR - Sustainable Cell Rate
MCR - Minimum Cell Rate
CER - Cell Error Rate
CMR - Cell Missinsertion Rate
Required QoS parameters are normally specified by the application.
Small loss of speech
is not critical, but delays
can cause echo
Voice
10-4
File
transfer
10-6
Interactive
data
Web
browsing
10-8
Interactive
video
Broadcast
video
10-10
Maximal CDV
0.1
10
100
1000
10000
[msec]
1-14
OVERVIEW (Cont.)
LAN Emulation
How can an existing LAN, without changes in interfaces, drivers and applications, take advantage of ATM-based WANs (for example: campus backbone)? This is a problem of
interoperability of legacy LANs, which was addressed by the ATM Forum. The solutions is
in LAN Emulation, which consists of a set of standards that enable Ethernet (802.3) and
token rings (802.5) to communicate across an ATM network, taking a full advantage of its
benefits (low latencies, performance, scalability).
Legacy LAN
(802.3)
B
Legacy LAN
(802.5)
ATM Backbone
SVC
LEC
LEC
LAN Emulator Client
(a router)
Host A
LEC
Application
Bridging
TCP/IP
LANE
LLC
LLC
ALL
ATM Switch
MAC
MAC
ATM
ATM
PHY
PHY
PHY
PHY
MAC frames
ATM cells
ATM cells
Host B
LEC
Application
ATM
WAN
Bridging
TCP/IP
LANE
LLC
LLC
ALL
ATM Switch
MAC
MAC
ATM
ATM
PHY
PHY
PHY
PHY
MAC frames
ATM cells
ATM cells
1-15
OVERVIEW (Cont.)
Circuit Emulation
Some legacy devices like classic PBX, video conferencing equipment, and terminal multiplexers are based on TDM circuits, which are all characterized as real-time communication
systems with constant bit rate. Most of these devices use T1, E1, T3 or E3 circuits as private, or leased lines. The Circuit Emulations Service (CES) provides support for transporting TDM traffic across ATM networks, thus enabling the integration of legacy applications
into a new ATM backbone and therefore protecting the existing investments into equipment.
MUX
CODEC
T1/E1
T1/E1
PBX
T1/E1
ATM
Network
T1/E1
T1/E1
PBX
T1/E1
MUX
CODEC
CES-IWF
T1/E1
Egress Switch
Ingress Switch
T1/E1
AAL
AAL
ATM
ATM
PHY
PHY
ATM
Network
T1/E1
User
CES-IWF
T1/E1
T1/E1
1-16
OVERVIEW (Cont.)
ATM Interfaces
Most of the ATM protocols are groupped according to the interface types. There are
three basic interfaces:
UNI - User-Network Interface
(Interface between ATM end users and a private ATM switch,
or between a private ATM switch and the public carrier ATM network)
PNNI - Private Network-Network Interface
(Interface between two switches in the same ATM network)
B-ICI - Broadband (ISDN) Inter-Carrier Interface
(Interface between two public ATM networks)
NOTICE: Sometimes NNI is used instead of PNNI. Strictly, NNI denotes a generic
term: "network node interface", interface between two network nodes.
In addition to the basic interface, there are others like LUNI, FUNI, LNNI, etc.,
which will be discussed later.
Private Network
PBX
UNI
UNI
Router
Public ATM
Carrier Network
UNI
PNNI
UNI
PNNI
Private
ATM switch
PNNI
PNNI
B-ICI
PNNI
Public ATM
Carrier Network
1-17
UNI
4 bits
8 bits
16 bits
3 bits
GFC
VPI
VCI
PT
Generic
Flow Control
Virtual Channel
Identifier
1bit
HEC
Header Error
Control
Payload
Type
Virtual Path
Identifier
8 bits
Cell Loss
Priority
NNI
12 bits
VPI
16 bits
3 bits
VCI
PT
1bit
8 bits
HEC
The header fields and their usage will be discussed in the following sections
1-18
15 Mbps
(CBR)
64 kbps
(CBR, occasional
cell loss is OK)
Virtual Path
Connection
(VPC)
64 kbps
(CBR)
15 Mbps
(CBR)
128 Mbps
(bursty,
no cell loss)
Virtual Channel
Connections
(VCC)
Virtual Channel
Connections
(VCC)
128 Mbps
(bursty)
1-19
Private ATM
network
PVP Tunneling
Private ATM
network
PVP
Public ATM
network
PVP
Private ATM
network
Permanent Virtual
Paths
1-20
1 2
3
TP2
Port 2
Port 1
1
VCIs 2
3
VCIs
VCIs
VPI=12
1
2 VCIs
VPI=6
TP1
VPI=18
VPI=52
TP3
2
1
VPI=33
VPI=8
Input
Port VPI
1
1
2
3
12
52
24
33
VCIs
1
2
ATM switch
VCIs
Port 3
Output
Port VPI
2
3
3
1
61
18
6
8
1-21
ATM switch
VC switch
VCI=223
VCI=454
VPI=33
VPI=12
VPI=24
TP1
VCI=670
VPI=18
VPI=52
VCI=665
VCI=52
TP2
VCI=51
VCI=670
VCI=665
VP switch
Input
Port VPI VCI
1
1
1
1
12
12
52
52
223
454
670
665
Output
Port VPI VCI
2
2
2
2
33
24
18
18
52
51
670
665
1-22
Payload Type
The most significant bit indicates user data or network management cells.
This allows the insertion of management cells into a user's VCC without
disrupting the user's data (inband control).
The middle bit of user data cells is Explicit Forward Congestion Indicator (EFCI)
(similar to FECN - Forward Explicit Congestion Notification in frame relay). EFCI can be
set by a congested node, to notify the destination end system, which may implement an
algorithm for adaptive lowering of the cell rate during congestion periods.
The least significant bit of user data cells is used in ATM Adaptation layer.
PT
0
SDU type 0
SDU type 1
SDU type 0
SDU type 1
segment
end-to-end
Resource management
Congestion not
experienced
Congestion
experienced
OAM
cell
User
Data
Network
Information
1-23
VCI=12 CLP=0
VCI=12 CLP=1
VCI=33 CLP=0
VCI=33 CLP=0
VCI=12 CLP=0
VCI=12 CLP=1
VCI=07 CLP=0
VCI=07 CLP=0
VCI=33 CLP=0
VCI=07 CLP=0
Router
Ingress
switch
Congested
switch
Discarded cells
1-24
Rest of the
header
HEC
Protected by HEC
Payload
A study has shown that among all errors in fiber-optic transmission media, 99.64% of
them are single bit errors. This means that two-bit or three-bit errors are not very likely.
However, it is also known from the experience that the large error bursts have also a high
probability (of course, far less than single bit errors, but far more than two, three or four
bit errors). This fact has influenced the design of the ATM error control mechanism and
the size of the HEC field.
ATM layer uses the Bose-Chadhuri-Hocquenghem (BCH) algorithm which corrects singlebit errors and detects multiple bit errors. The algorithm is based on a combination of the
8-bit CRC scheme (which can detect errors) and Hamming code (which can correct single
bit errors). This combination is based on the redundancy of HEC, which has 8 bits and is
used to protect only 5x8 = 40 bits. The coding theory shows that only 6 bits are necessary to detect and correct a single bit error in a message that has 40 bits. Furthermore,
an extended 8-bit HEC can correct single-bit errors and detect 84% of other errors.
The algorithm computes the HEC value by modulo-two division of the header bit pattern
(with the HEC field initialized to zeroes) by the CRC generator whose polynomial is x8 +
x2 + x + 1. The remainder of the modulo-two division is then OR-ed with 01010101 and
placed into the last octet of the cell header (HEC field). Similar operation is performed at
the receiver's side, where the entire header (including HEC field) is modulo-two divided
by the CRC generator.
The error correction capability greatly diminishes the need for cell discarding, and consequently, the need for cell retransmission.
Copyright C 1999 by Marko Vuskovic
1-25
The working of the HEC algorithm (which uses BCH error coding) can be described by
the following two-state diagram:
No error detected
(pass the cell)
Correction
mode
No error detected
(pass the cell)
Detection
mode
The algorithm starts in "correction mode" state. In detection mode the cells have an opportunity to be corrected (if the error is single-bit). If any error happens, the state is
changed to detection mode, and it stays there as long as errors persist. This is designed
to handle error bursts. It is assumed that the burst has stopped if a valid cell entered the
switch - then the state is changed back to the correction mode.
10-4
10-8
10-12
10-16
10-20
10-24
10-28
10-10
10-9
10-8
10-7
10-6
10-5
1-26
NO MATCH
Supposed to be header
(apply HEC)
40 bits
...
...
...
...
10101000101000111100001011101010011100011100010101010101010101010
Payload
HEC
Rest of
the header
Payload
Supposed to be header
(apply HEC)
NO MATCH
40 bits
...
...
...
...
10101000101000111100001011101010011100011100010101010101010101010
Payload
Payload
HEC
Supposed to be header
(apply HEC)
MATCH !
40 bits
...
...
...
...
10101000101000111100001011101010011100011100010101010101010101010
Payload
HEC
Payload
1-27
Cell Scrambling
What happens if a payload accidentally contains a 40-bit subpattern which satisfies
the HEC? This situation must be not permitted. Therefore the ATM forum has proposed an optional capability of cell scrambling, which looks for a bit pattern within the
payload that satisfies the HEC. If such bit pattern is found, it is modified so that the
match cannot occur within the payload, and that the payload can be easily unscrambled at the receiver's side.
Repetitive Checking
The HEC is not 100% accurate. Therefore the check must be performed several times
successfully on three consecutive cells before the receiver finally can decide that it
has found the right header and is in synchronism. This is called repetitive checking.
A usuall value of repetitions is three times.
3rd successful
HEC match
Jump 48 octets
and check again
Jump 48 octets
and check again
1st successful
HEC match
2 nd successful
HEC match
1-28
The repetitive checking algorithm, which is performed at the receiver's side, can be represented as a three-state diagram. The algorithm starts in "hunt mode" where it moves bitby-bit in search for a valid header. Then it goes to "presync mode" where it continues to
move cell-by-cell, looking for three (in general case ) successful header matches, which is
a condition for synchronism. In "sync mode" the algorithm starts regular error checking
based on the HEC field. If there are more than unsuccessful HEC, the receiver considers
itself to be out of synchronism, and goes back to "hunt mode".
Successful
match
Unsuccessful
match
(move bitwise)
HUNT
Unsuccessful
match
PRE
SYNC
Successful
match
(move times,
cellwise)
th successful
match
th unsuccessful
match
SYNC
1-29
ADAPTATION LAYER
The purpose of the ATM adaptation layer (AAL) is to adapt (converge) the user traffic (applications) to a cell-based network. The user traffic can have various characteristics and
various demands regarding the bandwidth, burstiness, delay tolerance and cell loss tolerance. Therefore there are several different AAL stacks, labeled AAL1, AAL2, AAL3/4 and
AAL5. In order to understand the differences between various AAL types, we must define
first the existing service categories and the traffic classes.
Service Categories
(Here will be given the basic definitions. More details will be discussed in chapter
"Traffic Management"). There are five service categories defined as follows:
Time
The following applications mostly use CBR:
Interactive video (video conferencing)
Interactive audio (telephone call)
Video distribution (TV, distributed classroom)
Audio distribution (radio, audio feed)
Video retrieval (video on demand)
Audio retrieval (audio library)
1-30
PCR
MBS
SCR
Time
SCR - Sustainable Cell Rate (upper edge of average cell rate)
PCR - Pick Cell Rate (Upper limit that the application should never exceed)
MBS - Maximal Burst Size (number of cells which exceed SCR, and which
can be tolerated)
The network allocates resources (bandwidth) according to SCR. The cells that exceed
PCR will be flagged by CLP after MBS. Those cells violate the traffic contract and will
be drooped in case of congestion (see subsection "Cell Loss Priority" in the previous
chapter.)
nrt-VBR - Non real-Time Variable Bit Rate
Used for non-real time applications which are more tolerant of network delays. CDV is
not controlled, cell loss is controlled. Response time critical transaction processing,
such as:
airline reservations
banking transactions
process monitoring
store and forward video
Copyright C 1999 by Marko Vuskovic
1-31
PCR
MCR
Time
PCR - Pick Cell Rate (Upper limit that the application should never exceed)
MCR - Minimal Cell Rate (can be 0)
Typical applications:
Critical Data Transfer (defense information)
Interactive Text/Data/Image Transfer (banking transactions, e-mail, telex, fax)
Text/Data/Image Distribution (newsfeed, weather satellite pictures)
Test/Data/Image Retrieval (file transfer, library browsing)
Aggregate LAN (LAN interconnection, LAN emulation)
Remote Terminal (telnet, telecommuting)
1-32
PCR
Time
Service
Category
Network
Priority
CTD,
CDV
Cell Loss
Burstyness
Bandwidth
Guarantee
CBR
low
low
none
yes
rt-VBR
low
med
small
yes
nrt-VBR
high
med
small
yes
ABR
high
med
high
optional
UBR
high
high
high
no
1-33
Traffic
Class
Class A
Timing relation
between source
and destination
Bit Rate
Class B
Class C
Required
Not required
VBR
CBR
Connection
Mode
Class D
Connectionless
Connection-Oriented
AAL Type
AAL1
AAL2
Example
Application
T-1, E-1
circuit emlation
Packet video,
audio
AAL3/4 or AAL5
FR, X.25
IP, SMDS
1-34
4 x 64
ATM
Switch
4 x 64
1 x 64
2 x 64
ATM
Switch
2 x 64
6 x 64
12 x 64
ATM
Switch
6 x 64
12 x 64
12 x 64
Copyright C 1999 by Marko Vuskovic
1-35
CES Interworking Function (CES-IWF) maps CBR stream into 47-octet PDUs,
without being aware of the frame structure (it doesn't see time slots, channels,
D0s). The mapping implicitly includes signaling and framing bits.
CS
47-octet CS-PDU
47-octet CS-PDU
47-octet CS-PDU
The receiving CS handles the cell delay variation and delivers the CS-PDUs to the
application at the constant bit rate.
Detects lost or missequenced cells
Provides Forward Error Control (FEC) on the AAL1 header and optionally on data
Provides source clock frequency recovery at the receiver
The transmitting CS passes AAL1 header data to SAR sublayer
Passes CS-PDUs to SAR sublayer
SAR
1-octet AAL1
header
3
Sequence
CSI Count
1
Sequence
Number
47 - octet payload
CRC
Sequence Number
Protection
1-36
1-37
CPCS
LI
UUI
HEC
8 bits
User 1
User 2
Pk hdr
Data Packet
3 octets
1-64 octets
CPCS hdr
3 octets
CPCS Payload
47 octets
1 octet
6 bits
OSF
SN
Cell
Header
Pk hdr
User 3
Data Packet
Pk hdr
Data Packet
1-64 octets
3 octets
1-64 octets
CPCS hdr
CPCS Payload
1 octet
47 octets
ATM Payload
CID - Channel Identifier (needed to multiplex several users onto a single VCC)
LI - Length Indicator (needed because the packets have variable length)
UUI - User to User Indication (to identify a particular SSCS layer)
HEC - Header Error Control (protects CPCS packet header)
OSF - Offset Field (Identifies the next CPCS packet header within the CPCS payload)
SN - Sequence Number (Because packets can span max two cells, sequence numbers are 0,1)
P - Parity Bit (protects/corrects SN)
Copyright C 1999 by Marko Vuskovic
1-38
CPCS
1
CPI
Btag
2 octets
2 octets
BAsize
AL
Etag
Length
CPCS Payload
1/2 octet
Padding
CPCS
Trailer
0-3 octets
1/2 octet
SAR
2
44 octets
SAR
SAR
SAR Payload
Trailer
Header
44 octets
SAR
SAR
SAR Payload
Trailer
Header
ST
SN
MID
LI
CRC
10 bits
10 bits
44 octets
SAR
SAR
SAR Payload
Trailer
Header
Segmentation/reasembly
Error detection/control
Sequence integrity
Multiplexing (interleaving)
CPI
- Common Part Indicator (unit of measurement for BAsize, bits or octets)
BAsize - Buffer Allocation Size (size of the CPCS payload)
Btag, Etag - Identical bit patterns, compared at receiving side, if different cell is discarded)
AL
- Alignment field (makes the trailer a full 32 bits field to simplify the receiver design)
Length - length of the CPCS PDU (difference is in padding)
ST
- Segment Type (BOM = beginning of message, COM = cont. of mes., EOM = end of
message, SSM = single segment message)
SN - Sequence Number (used to detect lost SAR PDUs)
MID - Multiplex ID (allows multiplexing of up to 1024 different CPCS PDUs over the same VCC)
LI
- Length Indicator (= 44 for BOM or COM, can be less than 44 in EOM, SSM)
CRC - Protects complete SAR PDU, including header, payload and trailer.
Copyright C 1999 by Marko Vuskovic
1-39
1-40
1-41
CPCS
PAD
UU
CPI
Length
CRC
0-47 octets
CPCS Trailer
SAR
Cell Header
PT