Transcript SAR-PDU
ATM Adaptation Layer (AAL)
• AAL is responsible for adaptation of
information of higher layers to the ATM cells
(in the transmission direction) or adaptation of
ATM cells into the information of the higher
layer (receiver direction).
• AAL is subdivided into two sublayers:
- SAR (Segmentation and Reassembly)
- CS (Convergence Sublayer):
Multiplexing, loss detection, timing recovery,
message identification
ATM Adaptation Layer (AAL)
• AAL provides a variety of services:
Class 1: Circuit Emulation with Constant Bit Rates (CBR).
Voice of 64 kbps Fixed Bit Rate (Voice,Video)
Class 2: Connection-oriented service with Variable Bit Rates
(VBR) and timing between source and destination.
VBR Video & Audio
Class 3: Connection-Oriented Service.
Data Transfer and Signaling ABR Traffic with no timing
Class 4: Connectionless Data Service
SMDS, Ethernet, Internet, Data Traffic, No constraints.
Traffic Classes
A
Timing
Between
Source and
Destination
Bit Rate
Example
C
Yes
1
D
No
Constant
Connection
Mode
AAL
B
Variable
Connection Oriented
Connectionless
2
¾ or 5
¾ or 5
Frame
Relay
IP,
Ethernet
DS1, E1
Packet
N64 Kbps Video, Audio
Emulation (Real Time)
General Structure of AAL
AAL-SAP
Service Access Point
CONVERGENCE SUBLAYER(CS)
AAL
Convergence
Sublayer
(CS)
Primitives
SAR SUBLAYER
Segmentatioin
&
Reassembly
(SAR)
Sublayer
ATM-SAP
• Service Data Unit (SDU) crosses the SAP
• PDU is data unit between peer layers
General Data Unit Naming Convention
AAL-SAP
Convergence
Sublayer(CS)
AAL Interfaces
AAL-SDU
CS-PDU
Header
CS-PDU Payload
CS-PDU
Trailer
CS-PDU
No SAP is defined between CS and SAR
Segmentation
And Reassembly
(SAR) Sublayer
ATM Layer
Cell
Header
Physical Layer
SAR-PDU
Header
SAR-PDU Payload
SAR-PDU
Trailer
AAL
Segmentation
of CS-PDU
SAR-PDU
ATM-SAP
ATM-SDU
Cell information Field
(Cell Payload)
PL-SAP
ATM Cell
Structure of AAL with SSCS and CPCS
AAL-SAP
Common Part
Convergence Sublayer (CPCS)
CS
SSCS-PDU
Primitives
CPCS
CPCS-PDU
Primitives
Segmentation And
Reassembly (SAR)
SAR-PDU Primitives
ATM-SAP
SAR
AAL Common Part (CP)
AAL
Service Specific
Convergence Sublayer (SSCS)
SSCS
AAL-PDU Primitives
AAL Type 1
AAL 1 provides the foll. services to the AAL users:
• Transfer of service date unit with a constant source
bit-rate and their delivery with the same bit rate
- Voice traffic 64kbps: as in N-ISDN to be
transported over an ATM network. This
service is called circuit emulation.
In other words, how TDM type circuits can be
emulated over ATM.
• CBR-Voice; CBR-Video (fixed (constant) bit rate
video)
AAL Type 1
• Transfer
of timing information between source and
destination.
• Transfer of structure information between source
and destination; some users may require to transfer
of structured data, e.g., 8 kHz structured data for
circuit mode device for 64 kbps (N-ISDN).
• Indication of lost or errored information which is
not covered by AAL1, if needed.
AAL Type 1 (Cont.)
The functions listed below may be performed in the AAL in
order to enhance the layer service provided by the ATM
layer:
• Segmentation and reassembly of user information
• Handling of cell delay variation to achieve constant rate
delivery (playout buffer)
• Handling of cell payload assembly delay
• Handling of lost and misinserted cells (SN processing)
Discarded
AAL Type 1 (Cont.)
• Source
clock frequency recovery at the receiver
- 4 bit RTS is transferred by CSI
- handling of timing relation for Asynchronous
transfer (SRTS
Synchronous Residual
Time Stamp)
• Monitoring of AAL-PCI (Protocol Control
PCI
Information) for bit errors
• Handling of AAL-PCI bit errors
SAR-PDU Header
CS-PDU Header
CS-PDU Trailer
AAL Type 1 (Cont.)
• Monitoring
of the user information field for bit
errors and possible corrective action
- FEC maybe performed for high quality
video or audio (124,128 Reed Solomon code)
AAL Type 1 (cont.)
Receiver’s Responsibilities are as follows.
• Examine the CRC and parity bit for error detection.
• Correct single bit errors in SN field. If multiple bit
errors in SN field, then declare invalid.
• Reassemble the CS-PDU in correct sequence using
SN-numbers.
• Discard misinserted CS-PDUs and generate dummy
information for missing CS-PDU.
AAL Type 1 (Cont.)
• Buffer the received CS-PDUs to compensate for cell
delay variation (jitter) to achieve constant rate
delivery. (PLAYOUT Buffer)
• Clock frequency recovery (Handling of timing
relationship for asynchronous circuit transport)
• Monitoring and handling AAL-PCI (Protocol
Control Information) SAR-PDU Header, SAR-PDU
Trailer, CS-PDU Trailer are collectively called
AAL-PCI.
Adaptation Layer Type 1 (AAL1)
STACK
Convergence Sublayer
•
•
Forward Error Correction
No Retransmission
* (124,128) Reed-Solomon Code
* Polynomial undefined
* Corrects 2 errored bytes per row
* Corrects 4 “erasure” bytes (knows
position)
* Uses interleaving
- accepts 124-byte blocks
from user
- appends 4-byte FEC
- writes to matrix “row”
- forwards CS-PDU to SAR
when 47 blocks (rows) have
been written
Segmentation/Re-assembly
Sublayer
- reads matrix “columns”(47bytes)
- effect: interleaving
ATM
FEC in AAL1
R-S Code with 4 byte FEC
Reading
Cell 1
Byte 1
Cell 2
Byte 1
Cell 124
Byte 1
Cell 1
Byte 2
Cell 2
Byte 2
Cell 124
Byte 2
Cell 1
Byte 47
Cell 2
Byte 47
Cell 124
Byte 47
Reed-Solomon Code recovers up to 4 lost cells in a block of 128.
AAL 1
Higher Layers
User Data Bit Stream
AAL-SAP
CS
CPCS-PDU Payload
AAL
H
1B
SAR-PDU
Payload
H
SAR-PDU
Payload
…
H
SAR
SAR-PDU
Payload
47B
48 Bytes
ATM-SAP
ATM
Layer
H
Cell Payload
5B
53 Bytes
H
Cell Payload
…
H
Cell Payload
SAR-PDU of AAL 1
1 Octet
Cell
Header
SN
SNP
4 bits
4 bits
SAR-PDU
Header
47 Octets
SAR-PDU Payload
SAR-PDU (48 Octets)
SN (Sequence Number) for numbering of the SAR-PDUs
SNP (Sequence Number Protection) to protect the SN field
detect lost or
Tomisinserted
cells
(Error Detection &
Correction)
SAR-PDU Header of AAL 1
1 bit
3 bits
3 bits
1 bit
CSI
Sequence
Count
CRC
Even
Parity
G ( x ) x3 x 1
G( x) x
SN Field
3
x 1
SNP Field
CSI Field
• Sequence Count 0, .., 7
• CSI bit used to transfer timing info. or info. about data structure.
• CSI values in cells 1,3,5,7 are inserted as a 4-bit timing value.
• In even numbered cells 0,2,4,6, CSI used to support blocking
of info. from a higher layer.
• If CSI bit is set to 1 in a cell 0,2,4,6, then the first octet of
SAR-PDU payload is a pointer that indicates the start of the next
structured block within the payload of this cell and the next cell,
i.e., 2 cells (0-1, 2-3, 4-5, 6-7) are created as containing a 1-octet pointer
and a 93-octet payload and pointer indicates where in that 93 octet
payload is the first octet of the next block of data.
P & Non-P Formats
AAL-1 CS uses a pointer to delineate the structure boundaries.
Supported by 2 types of CS_PDUs called non-P & P
1 Octet
SN SNP
47 Octets
SAR-PDU Payload (User Data)
Non P-format
SAR-PDU Header
SAR-PDU (48 Octets)
1 Octet
SN SNP
SAR-PDU Header
(CSI = 1)
1 Octet
46 Octets
SAR-PDU Payload
Reserved for Pointer
P-format
Can be used only in
SAR PDUs with even
SN values (because SRT
scheme uses the CSI bits
in SAR PDUs with odd
SN values)
P-Format
Structure
SAR-PDU
Pointer
Header
Field
Reserved Bit
User
Sequence Counter
Data
0,2,4,6
Offset Field
7 Bits
7 Bits are the offset measured in Bytes between the end of the pointer field & start of
the structured block in 93 bytes consisting of remaining 46 bytes in this CS-PDU & 47
Bytes of the next CS-PDU. This offset may range from 0-92.
SN even
uses
1 Octet Pointer field to indicate the offset into the current
payload of the first octet of a n*DSO payload.
Value of n may be as large as 92 in the P-format since pointer is repeated
every other cell when supporting AAL 1.
AAL1
Unstructured Data
Transfer
STD Mode
(Structured Data Transfer)
n x DSO (64kbps) Service
DS1/E1
(1.544Mbps)
DS3/E3
(45Mbps)
including timing
SRTS Method
(4-bit RTS included in CSI Bit !!)
One sent in (1,3,5,7)
(supports an octet structured
n – DSO Service)
CSI bit (in even SN values) for
SDT to convey information about
internal byte alignment structure
of the user data bit stream.
Structured Data Transfer
• Kind of fractional DS1/E1 service where the user only requires
an n*64kbps (DS0) connection where n can be small as 1
and as high as 24 for DS1 (T1) and 30 for E1.
• An n*64 kbps service generates blocks of n bytes which are
carried in P and non-P format CS-PDUs.
• The beginning of a block is pointed to by the pointer in the
1-byte header of the CS-PDU-- > P format.
EXAMPLE: STRUCTURED DATA TRANSFER
1 192
1
192
1
192
1
192
1
192
1
192
1
192
1
192
DS1 Signal
193
175
46=368
CS-PDUs
18
193
165 28
193
147 46
47=376
46=368
SN=1
CSI=0
Non-P-Format
SN=2
CSI=1
P-Format
193
137
47=376
p
SN=0
CSI=1
P-Format
0-1 = 93 Octets
SN=3
CSI=0
Non-P-Format
2-3=93 Octets
Pointer indicates where in that 93 octet payload is the first octet of the next block of data.
No structured boundary, then use dummy offset value of 127.
Unstructured Data Transfer
* The entire DS-1/E1 signal is carried over an ATM network.
• The DS-1 signal is received from user A which is packed
bit-by-bit into the 47-byte non-P format CS-PDU which then
becomes the payload of a SAR-PDU.
EXAMPLE: UNSTRUCTURED DATA TRANSFER
DS1 CIRCUIT EMULATION USING AAL 1
DS1 Signal
bits
1
SRTS CS
RTS
octets
Header
192
1
1
SARPDU
192
192
1
Header
SARPDU
1
Time
47
SARPDU
5
SARPDU
Header
48
5
1
47
octets
Header
Header
octets
1
octets
192
1
192
ATM Cells
SAR-PDUs
SARPDU
Header
48
5
1
47
SARPDU
48
192
Transmitter uses AAL 1 operating in SRTS mode to emulate a DS 1 digital bit stream created by a video
codec. DS1 frame has 193 bit frames that repeat 8000 times per second (192 user data bit + 1 framing bit).
CS computes the RTS every 8 cell times and provides this to the SAR sublayer for insertion in the SAR
header. 193 bit frames are packed into 47 octet SAR-PDUs by SAR layer. SAR then adds the SN, inserts the
data from CS, computes CRC and parity over SAR header and passes 48-octet SAR-PDU to ATM layer.
Handling of Lost and Misinserted Cells in AAL1
•
At the transmitter, CS provides SAR with a Sequence Count Value and
a CSI associated with each SAR-PDU payload. Sequence Count Value
starts with 0, and incremented sequentially and is numbered modulo 8.
•
At the receiver, CS receives Sequence Count, CS indication from SAR,
and check status of Sequence Count and CS indication. CS identifies
SAR-PDU payload sequence SAR-PDU loss, and SAR-PDU misinsertion.
•
CSI is used to transfer timing information and default value of CSI is
“0”. 4 bit RTS is sent in odd-sequence-numbered PDUs (1,3,5,7) in SRTS
approach.
Handling of Lost and Misinserted Cells in AAL1
(Cont.)
Remark:
•
•
For each SAR-PDU, SAR receives a sequence number (SN) value from CS.
•
SAR protects the SN value and CSI against bit errors. It informs the CS when
SN value and the CSI are in error and cannot be corrected.
•
Transmitter computes the CRC value across the 4 bits of SAR-PDU header
and inserts into CRC field. CRC contains the remainder of the division (mod
2) by polynomial
of the product
multiplied by the contents of SN
field.
x3 x 1
x3
•
After completing the above operations, transmitter inserts the even parity bit.
7 bit code word protected.
At the receiver, SAR passes the SN to CS. The CS may use these SNs to detect
lost or misinserted SAR-PDU payloads.
TIMING (CLOCK) RECOVERY TECHNIQUES IN AAL 1
1. Adaptive Clocking in AAL 1
(No Network clock is available).
2. Synchronous Residual Time Stamp
Approach (SRTS)
(Global Network Clock is available)
Adaptive Clocking in AAL 1
Common network reference clock is not available!!!
1. Adaptive Clocking (Receiver)
Network
FIFO
Data
Data
Terminal
Cells PLAYOUT BUFFER
Used for
Transfer
Delay
Variable
Filling
Level
Jitter
Filter
.
Local
Clock
PLL
CONTROL is performed by
continuously measuring the
fill level around its median
position & by using this
measure to drive the PLL
providing the local clock.
Receiver writes received info
field in this buffer.
(Content) Filling level of
the buffer is used to control
the frequency of the local clock.
Receiver
reads info.
with a local
clock.
The content level of the buffer may be maintained within an upper PLL (Phase Lock Loop)
Provides local clock.
limit and lower limit to present buffer overflow and underflow.
Underflow => PLL slowed down
Overflow=> PLL speeded up
Synchronous Residual Time Stamp (SRTS) Approach
BASIC IDEA: Convey a measure of the frequency difference between the reference clock
and source clock. Network reference clock is available, source clock is not syncronized!
Sender
Local Clock
TIMESTAMP
Difference between the local
and network clocks.
NETWORK
Receiver
Common
Network Clock
CSI field
Sequence # field
Local
Clock
Odd # of
segments
Transport this info. in odd numbered
Cells (CSI Field) to destination
Difference
between 2
clocks
(Assumed)
Source Transmitter
• Common Network clock is available
• Source (local) clock is not synchronized with it.
• SRTS method conveys a measure of the frequency difference between the
derived network reference clock and the source (local) clock.
• The derived network reference clock is determined from the frequency of the
network clock divided by some integer.
• Within a time interval of N “source clock cycles” suppose there are M cycles of
the derived “network reference clock”.
• There is a nominal value Mnom (fixed and known for the service) and the actual
value of M may vary anywhere within a certain range (Mmin & Mmax) around this
nominal value Mnom.
• The actual value of M will be the sum of Mnom and a residual part.
• By transmitting the residual part, the receiver has enough info to construct the
source clock.
Tolerance
Source clock
N cycles
Source
Frequency (fs)
T seconds
t
M
nom
Mmin
M nom M max
Derived
Network
Frequency (fnx)
t
y
y
2
4
Residual value M
fs
Sample
&
Hold
1
N
C
t
4 Bit SRTS encoded in
CSI bit for SAR-PDUs
fn
1
fnx
X
Network Reference clock frequency
fn is divided by x such that
1 < fnx/fs < 2
with Sequence
4 Bit
Counter
Numbers 1,3,5,7
• Source clock fs is divided by N to sample the 4-bit counter Ct driven by
the network clock fnx once every N = 3008 = 47 x 8 x 8 bits generated
by the source.
• This sampled counter output 4 bits (residual part) is transmitted as
the SRTS in SAR-PDU.
• It is sent in the CSI bits of SAR-PDUs which have odd SN values.
• The even SAR-PDUs have CSI=0.
• The CSI bits in SAR-PDUs with even SN values are used in SDT.
• The method can accept a frequency tolerance for source frequency of
200 parts per million (ppm).
Ct, x, Mnom, N, fn are available at the destination and the clock
value can be recovered accordingly!!!!
AAL 2
• For low bit rate communications, e.g., for compressed voice traffic.
• Main Idea: multiplex many users within a single ATM VCC, where each
user’s information (SDT) is carried in variable length packets with a
header (3 octets) identifying the user channel with control information.
(kind of variable ATM cell)
Minicell
Header 3 octets
Payload (1-64) octets SDU
• In the minicell header, the field for user identification has 8
bits limiting the number of AAL 2 users sharing a VCC to 256.
• Short and variable length payload.
• User packet multiplexing
WHY AAL 2?
AAL 1 needs not be filled with full 47 bytes. e.g., to
transmit digitized voice at a rate of 1 byte every 125 sec,
filling a cell with 47 bytes means collecting samples for
5.875 msec. If this delay before transmission is
unacceptable, we send partially filled cells waste of
bandwidth!!!
STRUCTURE OF AAL TYPE 2
AAL SAP
Service
Specific
Convergence
Sublayer
(SSCS)
Common
Part
Sublayer
(CPS)
AAL-SDU
SSCS-PDU
Header
User
Packet
SSCS-PDU
Trailer
A
A
L
SSCS-PDU
CPS-SDU
Start
Field
CPS-PDU
Header
CPS-Packet
Header
CS-Packet
Payload
CPS-Packet
CPS Packet
CPSPAD
Packet
CPS-PDU (48 octets)
ATM SAP
ATM
Layer
ATM
Header
ATM Cell Payload
ATM Cell
PHY SAP
A
T
M
• Transfer of Service Data Unit with a Variable Bit Rate
• Transfer of timing information between source and destination
• Indication of lost or errored information which is not covered by AAL 2
CPS-PACKET FORMAT
CID| PPT| LI UUI HEC
CPS-INFO
CPS-Packet Payload
CPS-Packet Header
(Variable length)
(3 octets)
CPS-Packet
(45 octets default
64 octets optimal)
CID: Channel Identifier (8 bits):
•0: Not used
•1: Reserved for Layer Management (AAL2 ANP packets)
•2-7: Reserved
•8-255: ID of SSCS entity (valid CID values to identify channels)
CPS-PACKET FORMAT (Contd)
• CID helps to multiplex multiple AAL2 users/streams
(channels) onto a single VCC (ATM connection).
• Each channel is identified by the CID.
• A channel is bidirectional and has the same CID value.
* CID field supports up to 248 individual users per VCC.
A
B
C
A’
D
B’
D’
AAL2
AAL2
ATM
C’
ATM Network
ATM
PHY
PHY
AAL2 can multiplex several data streams
AAL-SAP
SSCS
SSCS
CID=Z
CID=Y
SSCS
CID=X
CSP
ATM-SAP
Functional model of AAL2 (sender side)
CPS-PACKET FORMAT (Contd)
• Packet Payload Type (2 bits): serves 2 functions:
* When PPT =/ 3, the CPS packet is serving a specific
application, such as carrying voice data, or carrying an
ANP packet.
* When PPT=3, the CPS packet is serving
an AAL network management function associated with
the management of the channel identified in the
CID field.
CPS-PACKET FORMAT (Contd)
* LI: Length Indicator (6 bits)
* LI specifies the number of octets (minus 1) in the variable
length user payload.
* LI Coding: One less than CPS-Packet payload length
CPS-Packet payload length = LP => LI = LP -1
* CPS-INFO: Information (variable size: (min. 1- max. 45 or
64 octets)) 45 means that exactly one CPS packet fits inside
the 48 octet ATM cell payload.
CPS-PACKET FORMAT (Contd)
* UUI: User-to-User Information (5 bits): Allows the functions
of an SSCS to be specific according to a purpose.
UUI serves two purposes:
• To convey specific info transparently between CPS users,
SSCS entities or layer management.
• To distinguish between SSCS entities and layer management
users.
Codepoints: 0-27 SSCS entities
28-29 Future use
30-34 Layer management
CPS-PACKET FORMAT (Ctd)
HEC: Header Error Control (5 bits)
5 bit CRC : Generator Polynomial x5+x2+1
(excluding CPS packet payload and error correction).
Detectable 1 and 2 bit errors.
CPS-PDU FORMAT
Start Field (STF) indicates the position of the first packet
OSF SN P
CPS-PDU Header
CPS-Packet CPS-Packet
PAD
CPS-PDU Payload (47 octets)
CPS-PDU (48 octets)
OSF: Offset Field (6 bits) 6 bit pointer => Position Indication of first
CPS-packet (starting point of the next CPS packet header within the cell)
Values: 0-40: First CPS packet boundary
(0=Next to OSF)
47-63: No CPS packet boundary
SN: Sequence Number (1 bit): mod 2 (value 1 or 0)
P: Parity (1 bit) : Odd parity for STF
PAD: Padding (0-47 octets)
Packets are streamed into
successive payloads
CPS Packet
Cell Period
Pointer in OSF points to find
start of a CPS packet in cell
ATM
First
Header
Packet
Padding: All 0’s
ATM Cell
• OSF identifies the starting point of the next CPS packet header
within the cell.
• If more than one CPS packet is present in a cell, then AAL2 uses
the LI in the CPS packet header to compute the boundary of the
next packet.
EXAMPLE
Rt VBR Sources
CPS Packets
CPS PDUs
SAR
3
1
19
User 1
User 2
User 3
16
16
16
16
3
16
19
STF
3
16
9
1
User 4
User 5
16
3
10
16
3
19
16
…
16
…
18
…
STF
…
ATM
Layer
ATM
Header
48 bytes
ATM
Header
48 bytes
PURPOSE: Accommodation of low bit rate (below 64 kbps) and delay sensitive
applications into ATM networks, e.g., cellular systems.
Requirements: Short Cell Assembly Time and High Efficiency.
PACKET CAN STRADDLE CELLS!!
ATM Cell 1
H
Packet 1
Packet 2
ATM Cell 2
Pac-
H
ket 3 Packet 4
Packe-
AAL Negotiation Procedures (ANP)
• This is the function that provides the dynamic allocation of AAL2
channels on demand.
• This function is carried out by an AAL2 layer management entity
at each side of an AAL 2 link.
• This layer management entity uses the services provided by AAL2
through a SAP for the purpose of transmitting and receiving ANP
messages.
• These messages are carried on a dedicated AAL2 channel with CID=1,
and they control the assignment, removal and status of an AAL2 channel.
• The following types of messages have been defined:
Assignment request, assignment confirm, assignment denied,
removal request, removal confirm, status poll, and status response.
Open Questions:
• Timing mechanisms???
• Error correction schemes?
FEC but with QoS considerations!!