ATM
Introduction
ATM stands for Asynchronous Transfer Mode. Circuit switching commonly requires that packets are set
into position within recurring frames, i.e. synchronous, in time, in step according to application and/or
network clocks. Asynchronous transmission allows cells to be positioned anywhere within the data
stream. ATM currently has speeds of 155Mbps (OC-3 ports), 622Mbps (OC-12 ports), 1.2 Gbps and 2,5 Gbps.
Because the cells are fixed in length (53 octets, or bytes) rather than variable such as an Ethernet frame,
they can be switched in hardware rather than software and this accounts for the higher speeds that
can be attained than Ethernet, Token Ring and FDDI.
ATM is very flexible and allows the transmission of various media types such as voice, video, data files etc.
all taxing the network in different ways, video, for instance can be very susceptible to sudden a slowdown
in network performance as varying speed video is very distracting. ATM allows dedicated circuits with guaranteed
bandwidths and differing requirements to be set up simultaneously. Quality of Service (QoS) can be set up and is decided
at connection stage using parameters such as delay, delay jitter and error rate based on the application and the state of
the
network at the time of connection. Two priorities for traffic are defined; High priority and Low priority. Low priority
traffic will be discarded if there are switch congestion problems. Although ATM is not a broadcast type network,
multicast is supported for applications such as voice and video conferencing.
The ITU-T has adopted ATM as the method
of data transfer in Broadband ISDN (B-ISDN, I.121) because of these capabilities. There is no shared media or contention
based protocols in ATM, each device has 155Mbps all to itself. In ATM you can multiplex 'cell streams' that may be for
completely different applications, the system works in 'connection oriented' mode thereby guaranteeing cell sequencing
for those cells in a particular connection.
Statistical Multiplexing means that ATM will grab any media slot without any prior reservation. Time Division is
when all cells flow across the shared switch fabric either via the 'shared media' method, which is a bus architecture, or
via the 'shared memory' method where cells are multiplexed and de-multiplexed by a memory processor, again a bus
architecture. Space
Division is when the switch provides a multiple paths per port for the cells, a switch matrix.
The three ATM layers are as follows:
ATM Adaptation Layer (AAL) |
Convergence Sublayer (CS) |
|
Segmentation and Reassembly (SAR) |
ATM Layer |
|
Physical Layer |
Transmission Convergence (TC) |
|
Physical Medium-Dependent (PMD) |
There are also four planes :
- Control Plane: for signaling functions in ATM.
- Management Plane: for management functions.
- User Plane: for user applications.
- Plane Management: for management of the other planes.
The Management Plane provides management functions at the ATM layers. The Layer Management
defines Operation Administration and Maintenance (OAM) for each layer and the Plane
Management manages all the ATM Planes. The Control Plane is responsible for the opening and
closing of connections, assignment of VPIs and VCIs and Quality of Service (QoS). The Control Plane
uses the signalling procedures Q.93B for UNI 3.0 and Q.2931 for UNI 3.1. The User Plane
ensures user data transfer over the AALs using flow and error control.
End devices connect to ATM switches via a User to Network Interface (UNI) and communicate via Vitual Circuit
Connections (VCC)
which are defined by a Virtual Path Identifier (VPI) and a Virtual Channel Identifier (VCI). ATM switches
connect to
each other via Network to Network Interfaces (NNI), unless the ATM switch itself is an end device! The VPI/VCI
pairs can
change every time they cross a switch, provided they remain the same at each end of the local link.
The TC converts between the SONET/SDH or DS3 or E3 bitstreams and the cells, whilst the PMD
sets the timing for the bitstream over the physical layer. SONET stands for Synchronous Optical Network and
SDH stands for Synchronous Digital Hierarchy which are worldwide highspeed transmission standards, they are in
fact the same thing
(see the SDH document for more information).
The multiplexing flexibility
of SONET/SDH allows lower speed circuits to be taken off without demultiplexing the other circuits.
The following table lists some of the available transmission rates:
Name |
Rate (Mb/s) |
OC-1 |
51.84 |
OC-3 |
155.52 |
OC-9 |
456.56 |
OC-12 |
622.08 |
OC-18 |
933.12 |
OC-24 |
1244.16 |
OC-36 |
1866.24 |
OC-48 |
2488.32 |
DS3 |
44.736 |
E3 |
34.368 |
E4 |
139.264 |
OC stands for Optical Carrier which is the same as Synchronous Transport Signal (STS), being a signalling
structure. The
most common form of this interface is the OC-3 which is based on the ANSI T1E1.2/94-002R1 to operate on SMF, MMF and
Cat5 UTP.
DS-3 (44.736 Mb/s, T3) is specified by the ATM Forum for interfacing to an ATM network. DS-3 defines a structured
frame as lasting 125 microseconds with each frame carrying 12 ATM cells plus 4 bytes preceeding each cell and
13 or 14 half bytes following the frame. The aim of the half bytes is for the three 12-cell groups to match 375
microseconds thereby
maintaining 125 microseconds clock synchronisation with the STS. The 4 bytes management information and the bit stuffing
means that the actual cell rate for DS-3 is 40.704Mb/s.
Other interfaces used within ATM are:
- 25.6 Mb/s 4B/5B (line rate 32 Mb/s).
- 100 Mb/s 4B/5B used by FDDI (line rate 125Mb/s). No framing occurs just a start of cell indication.
- 155.52 Mb/s 8B/10B matching STS-3 (OC-3) (line rate 194.4Mb/s).
- 622.08 Mb/s (OC-12) is only supported on fibre.
- E3 (34.368 Mb/s) (G.703 and G.804).
- E4 (139.26 Mb/s) (G.703 and G.804).
The ATM Layer sits between the Physical layer and the ATM Adaptation Layer (AAL). It multiplexes
different Virtual Channel Identifiers (VCI), it appends (or subtracts depending on direction of flow) the cell
header performing a CRC on the cell header. It manages VPI and VCIs which are reassigned as the cell crosses a switch.
The ATM-DATA.request primitive indicates the transfer of an ATM Service Data Unit whilst the
ATM-DATA.indication
indicates an arrival.
An ATM connection is a transmission path made up of a number of Virtual Paths each of which contain a number
of Virtual Channels which are set up for the duration of the call. Both a Virtual Path Identifier (VPI)
and a Virtual Channel Identifier (VCI) are required at the interface to simplify routing of the cells through
the path.
A Virtual Channel only exists for the duration of the call, bandwidth is only allocated for that call therefore
it is very efficient.
Virtual Path Connections (VPC) are switched depending on the VPI. Virtual Channel Connections (VCC) are based
on the VPI and VCI values and can be assigned within a VPC. A Permanent Virtual Path (PVP) is set
up manually assigning VCIs to a unique path. A Permanent Virtual Circuit (PVC) is a manually configured circuit whereas
a Switched Virtual Circuit (SVC) dynamically set up and removed when required. The following steps describe
the SVC call setup:
- Connection request by sending station
- The ATM switch Call Admission Control (CAC) verifies that the call can be supported.
- If the call cannot be supported then the call is rejected, otherwise the network requires the receiving station
to verify that it can receive the call.
- If the receiving can receive the call then the SVC is set up otherwise the call request is rejected.
- The VPI/VCIs are setup for the duration of the call.
A service provider typically provides PVCs for the customer. If a PVC has been provisioned, then the customer will be presented
with the circuit on an interface that could be capable of E1, T1, OC-3 etc. with a circuit reference. Also, the provider will
give details of the virtual circuit e.g. VPI = 1, VCI = 31 plus details on the traffic shaping that has been set up
on the provider network.
The traffic shaping details are important because if the client router has been set up incorrectly then sub-optimal traffic
flows will result. An example would be an E1 circuit with a PVC set up to provide a Sustained Cell Rate (SCR) of 960kbps
and a Peak Cell Rate (PCR) of 1920kbps. The provider would also give details of the maximum burst cell size e.g. 100 cells
allowed in any one burst (480 Bytes max burst). In real data flow terms the maximum data flow would be something in the region
of 800kbps (rather than 960kbps due to the cell header). If the customer tried to force the SCR up to 1920kbps on the routers,
then the cells carrying the extra data being pushed down the link would be subjected to having the Cell Loss Priority (CLP) bit
being set. This would result in the extra customer traffic being discarded, leading to upper layer protocols such as TCP
to resend the cells. The throughput could end up deteriorating to something like 300-400kbps in the above example, instead
of 1800kbps which would have been hoped for. If a customer wants to use 1920kbps then they have to negotiate a deal with
the provider to up the SCR to 1920kbps and thereby stop the CLP bits being set.
The ATM Cell
- Generic Flow Control (GFC) - used by the UNI to control flow between the endpoint and the switch.
- Virtual Path Identifier (VPI) - one or more VCIs can be in here.
- Virtual Channel Identifier (VCI) - helps cell transmission within the switch fabric.
- Payload Type Identifier (PTI) - this indicates the type of cell information. The Explicit
Forward Congestion Indicator (EFCI) is also used within the PTI to indicate whether congestion was
experienced. The PTI bit coding for AAL5 is shown below:
PTI Coding |
PTI meaning |
000 |
User data cell, EFCI off, not end of SDU |
001 |
User data cell, EFCI off, end of SDU |
010 |
User data cell, EFCI on, not end of SDU |
011 |
User data cell, EFCI on, end of SDU |
100 |
OAM Segment (F5 flows) |
101 |
OAM End to end (F5 flows) |
110 |
Resource Management |
111 |
Reserved |
- Cell Loss Priority (CLP) - if a cell tries to use the same input or output port on a switch then
the CLP determines which cell to discard. A cell with a CLP of 1 is discarded before a cell with CLP set to
0.
- Header Error Check (HEC) - at the transmission side the HEC sequence is calculated and placed in the HEC.
The receive side checks the HEC and attempts to correct errors.
The User-to-Network Interface (UNI) is the connection between an endpoint such as a workstation or a router
and a switch. The Network-to-Network Interface (NNI) is the connection between switch fabrics.
ATM Adaptation Layer (AAL)
The AAL segments larger packets from Frame Relay, X.25, Ethernet etc. into cells and
back again. In addition it takes care of applications that need Constant Bit Rates (CBR) and Variable
Bit Rates (VBR). The two sublayers within the AAL that perform these functions are the Convergence
Sublayer (CS) and the Segmentation and Reassembly Sublayer (SAR). These are detailed
in the adaptation layer header that sits between the ATM cell header and the payload data.
The CS provides the timing relationships between source and destination for CBRs and VBRs, plus it
provides the correct mode for connection oriented or connectionless services. The Common Part (CP)
works with the SAR and provides management information and the Service Specific (SS) sublayer
is specific to the type of service.
The SAR examines the packets, determines the number of cells required for each packet and creates SAR-PDUs
which are the 48-byte payloads. The 5-byte header is then added to form the ATM cell. The following table
describes the different classes within B-ISDN services:
Class X (used for LANE) and Class Y are user defineable.
AAL1
Synchronisation and delay jitter is handled by AAL1 along with cell loss and wrong cell insertion. Control Information
is added to the CS and the SAR PDUs. AAL 1 adds a byte to the cell tax so if you include the header
there are 47 bytes for the payload. AAL1 is used by Circuit Emulation Services (CES)
because CES requires very low cell transfer delay and very low cell delay variation tolerance.
You can replace T1 and E1 leased lines with a CES circuit and the end devices will not know the
difference.
AAL2
This is not fully defined. It is designed for applications such as packetised video and handles delay jitter,
cell loss and cell misinsertion. AAL 2 could use from 1 to 47 bytes before the payload so this has
a very high cell tax!
AAL3/4
The 48 byte SAR PDU for AAL3/4 is shown below:
The Segment Type (ST) can be one of four; Beginning of Message, Continuation of Message, End of Message
or Single Segment Message. The frames are numbered using the Sequence Number (SN) and the application is
recognised using the Multiplexing ID (MID). LI is the Length Indicator and the CRC the Cyclic Redundancy Check.
AAL3/4 allows the transportation of variable length frames of up to 65,535 bytes.
Below is the Convergence Sublayer (CS) for AAL3/4:
- Common Part Indicator (CPI)
- Beginning Tag (Btag)
- Buffer Allocation Size (BASize)
- Padding (PAD)
- Alignment (AL) - aligns Etag and Lg on 32 octets.
- Ending Tag (Etag)
- Length (Lg)
The CS consists of the Service Specific Convergence Sublayer (SSCS) and the Common Part Convergence Sublayer (CPCS).
The SSCS is to provide extra functionality for the user whilst the CPCS checks for PDU errors. AAL3/4
operates in Message Mode which makes sure that the information passes to the AAL as an entire frame, and
in Streaming Mode where part of the frame can be passed to the AAL and cells sent before the whole frame is
processed.
AAL3/4 uses 4 bytes in the adaptation layer which leaves 44 bytes for the payload.
AAL5
You cannot multiplex several connections on one AAL5 connection, each user connection has to have an AAL5 connection.
The CPCS PDU is shown below:
- Padding (PAD) - aligns the CPCS PDU on 48 octets.
- User-to-User Information (UU) - application related information exchange
- Common Part Identifier (CPI) - reserved, currently unused.
- Length (Lg) - length of the PDU
- Cyclic Redundancy Check (CRC)
In AAL5 there is no overhead from the SAR sublayer (adaptation layer header), the PTI field (set to 1) is used to indicate the end-of-SAR PDU
and the ATM service is relied upon to sequence the cells correctly. This means that all 48 bytes
are available for the payload. AAL5 is sometimes called Simple and Efficient Adaptation
Layer (SEAL) because the SAR sub-layer just accepts the PDU and segments it into 48-octet
SAR PDUs. Because there is no Adaptation layer header, messages cannot be interleaved as they can
with AAL3/4.
Inverse Multiplexing over ATM (IMA)
Multiple physical links can be treated as one logical ATM interface using IMA. ATM has not
been defined for E2 (8Mbps) so IMA gives the opportunity to bridge the gap between E1 and E3 access
speeds by allowing you to bundle together multiple E1 circuits. The extra overhead required
when multiplexing means that the maximum bandwidth available for data on each E1 is 1984kbps.
AAL5 is used for IMA.
ATM Communications
Initially end systems register with the network and obtain their ATM addresses which are used only
for the connection (SVC) setup which occurs next providing the VPI and VCI. After data transfer the VPI/VCI pair are
released for reuse by another call setup.
The ATM address (or Network Service Access Point NSAP) format is as follows:
The prefix is for the switch itself whilst the whole address is for the end system and there are three different
types called Initial Domain Identifiers (IDI).
- Designated Country Code (DCC) which uses the ATM defined country code in which an address is registered.
- International Code Designator (ICD) which uses ATM defined international organisation codes.
- E.164 using ATM defined ISDN numbers and telephone numbers.
The format being used is identified by the Authority and Format Identifier (AFI) using the AFI codes shown.
The Domain Specific Part (DSP) specifies the semantics, the structure and the administrative requirements for
the addresses:
- Administrative Authority (AA) - a value that defines the organisation responsible for administering
the addresses.
- Reserved - filled with zeros.
- Routing Domain (RD) - hierarchical routing inter and intra domains.
- Area - hierarchical routing inter and intra domains.
- End System Identifier (ESI) - unique within an area.
- Selector (SEL) - End systems use this for further identification.
Interim Local Management Interface (ILMI)
Being part of UNI 3.1, ILMI uses the pre-defined Virtual Connection 0/16 (VPI 0/VCI 16) on the UNI to manage
the interfaces between networks (NOT across the whole network) using SNMP. ILMI registers ATM devices
with the switch as follows:
- Address resolution and registration occurs over VC 0/16.
- The ATM prefix is sent to the client.
- The client adds the user part of the address to the network part and sends the whole address to the switch.
- Hellos are sent to check that the VC is active, if 5 hellos go by and there is no activity the SVC is cleared.
The ILMI MIB contains the following:
- System Information
- Physical Layer
- ATM Layer
- VPCs
- VCCs
UNI 3.x
The procedures for UNI signalling are based on a subset of the ISDN Q.2931 signalling protocol and applies
to SVCs. UNI 3.0 and 3.1 are currently in use. UNI 3.0 added traffic control at the Peak Cell Rate (PCR) to
the AAL CS layer and used Q.93B signalling. Modifications to Q.93B signalling encouraged the ATM Forum release UNI 3.1
which allows interoperation between UNI 3.1 and ITU-T Q.93B but uses ITU-T Q.2931 signalling. Q.2931 is based on ISDN Q.931
and Frame Relay Q.933 signalling for mandatory sequencing, consistency verification and the steps to set up and bring down
a user to network connection. UNI 3.0 and UNI 3.1 do not mix.
UNI 3.x signalling uses the following messages:
- SETUP - used by a caller to initiate a connection with an end point. The Call Admission Control (CAC)
function verifies resource availability.
- CALL PROCEEDING - (optional) sent by a network to indicate that the setup request has started.
- CONNECT - the called end point sends this to the network which relays it back to the caller
to indicate acceptance of the call.
- CONNECT ACKNOWLEDGE - the network sends this to the called end point to inform call establishment.
The end point also sends this to the network for symmetric call control procedures.
- STATUS ENQUIRY - sent by a user to ask of the status of a connection.
- STATUS - this is the response reporting any error conditions.
- ADD PARTY - used by the calling party (the root) or a network to a user to add a leaf
(called user)
to a point to multipoint connection.
- ADD PARTY ACKNOWLEDGE - acknowledgement from the called user (or the network).
- ADD PARTY REJECT - rejection of the ADD PARTY message.
- RELEASE - sent either by the user or the network to clear the connection once data transfer has occurred.
- RELEASE COMPLETE - sent either by the user or network in reply to indicate release of resources for a given
connection.
This is sent first by the receiving end point and then by the switch.
- DROP PARTY - clear a party from a point to multipoint.
- DROP PARTY ACKNOWLEDGE
- RESTART
- RESTART ACKNOWLEDGE
The steps to set up an SVC between client 1 and client 2 are detailed below:
- A SETUP is issued by client 1 calling client 2.
- Whilst waiting for client 2 to reply the network issues a CALL PROCEEDING message.
- The network routes the call using the required information elements type, length, protocol message set,
ATM user cell rate, called party number, VPI/VCI, combinations and the class of QoS requested.
- Client 2 accepts the call by sending a CONNECT.
- Both interfaces use the CONNECT ACKNOWLEDGE to indicate an active connection.
There are other information elements that can be included, these optional elements include
broadband bearer capability (e.g. CBR, VBR, UBR, point-to-multipoint etc.),
AAL parameters (e.g. CBR, maximum CPCS SDU size), calling party number, transit
network selection and the end point reference identifier with the end point state number.
For the connection identifier, VCIs 0-15 are reserved by the ITU-T, 0-31 are reserved by the ATM Forum
and 32-65535 can be used by anyone. PVC identifiers 0-255 are available to be used.
Quality of Service (QoS)
The UNI interface uses the following parameters:
- Call Error Ratio - error cells/total number of cells.
- Severely Errored Cell Block Ratio - severely errored blocks/total number of cell blocks.
A sequence of cells transmitted on a connection is a cell
block. A number of errors on a cell block creates a severely errored block.
- Cell Loss Ratio - lost cells/total cells.
- Cell Misinsertion Rate - number of misinserted cells/time interval.
- Cell Transfer Delay - time between a cell leaving the source UNI and reaching the destination UNI.
- Mean Cell Transfer Delay - average delay over a specified number cells (can be over different connections).
- Cell Delay Variation (CDV) - variability in the cell arrive delay. There is 1-point CDV
and 2-point CDV.
There are the following five classes of QoS:
- Class 0 - always guaranteed by the network.
- Class 1 - supports the requirements of Class A service such as Circuit Emulation Services (CES) and
CBR for video or voice etc.
- Class 2 - supports the requirements for Class B service such as VBR video and audio.
- Class 3 - supports the requirements for Class C service such as connection-oriented Frame Relay.
- Class 4 - supports the requirements for Class D service needed in connectionless data transfer such
as IP and SMDS.
Traffic Management
This consists of traffic control and congestion control. Traffic control parameters are
the Peak Cell Rate (PCR), the Sustainable Cell Rate (SCR) and the Burst Tolerance.
The following functions deal with controlling traffic and congestion:
- Network Resource Management
- Call Admission Control (CAC) - acceptance of connections.
- Feedback controls
- Usage Parameter Control (UPC) - control of user traffic
- Priority Control - using the Cell Loss Priority (CLP) bit
- Traffic Shaping - modifying traffic characteristics such as PCR. This is optional
in UNI 3.1.
Selective cell discard works by discarding cells with the CLP bit set to 1 when
congestion occurs. Explicit Forward Congestion Indication (EFCI) uses the PTI field
to indicate congestion. Although the switch may be able to set this, it is not
a fully defined standard so the receiving end may not be able to do anything with it,
such as adaptively reduce the cell rate.
With AAL5, Early Packet Discard can be used whereby all cells for a particular packet
are discarded when one needs to go. This is done by discarding all the cells between
the faulty cell and the cell with the End of Message (EOM) bit set.
UNI 4.0
In UNI 4.0 the leaf can initiate a join whereas in UNI 3.1 the root has to initiate the join.
Also, Available Bit Rate (ABR) signalling procedures are introduced for point-to-point signalling. ATM Anycast
allows ATM users to setup point-to-point connections to an end system that is part of an
ATM Group.
Group addresses can be set up for end-systems, and an end-system can be a member of more than one group. The
AFI field in the ATM address is used to map individual addresses to a group address. A set of servers offering
the same service would use a group address.
A server having a number of ATM connections can just use one ATM address and benefit from the accumulated
bandwidth. This is achieved by using the Proxy Signalling Agent (PSA) that performs signalling on behalf
of others.
Several users on a UNI can use virtual UNIs. Each user has one or more VPCs and these are combined on to
one VPC to the switch by the switch using a translation table to map the user VPCs to the main VPC. Users
have to use VPI=0 and VCI=5 for UNI and VCI=16 for ILMI.
Traffic Management 4.0 has further defined the ATM service architecture, traffic contract and QoS.
End systems negotiate PCR and Minimum Cell Rate (MCR) and dynamic traffic shaping can occur
using Resource Management (RM) Cells. The source station sends a forward RM cell to the destination
station. The destination adds information to determine the cell rate that the destination cannot exceed
sends a backward RM cell to the source. The source can then work out the Available Cell Rate (ACR)
at which it is allowed to send. New ACRs can be negotiated at any time.
There are five service categories in UNI 4.0:
- Constant Bit Rate (CBR) uses the PCR parameter. Emulates a leased line and is used
for voice video and Circuit Emulation Services (CES).
- Real Time Variable Bit Rate (rt-VBR) uses PCR, Sustainable Bit Rate (SBR),
Maximum Burst Size (MBS) and the Maximum Cell Transfer Delay (MaxCTD) to limit delay and
delay variation between end stations. Ideal for real time applications
- Non Real Time VBR (nrt-VBR) is used by applications such as file transfer
since they do not require delay sensitive service. nrt-VBR uses PCR, MBS and SCR.
- Available Bit Rate (ABR) The bit rate can be changed dynamically during the connection using RM cells.
The parameters used are PCR and MCR. This is analogous to Frame Relay CIR.
- Unspecified Bit Rate (UBR) is used by applications not limited by real time constraints. It uses
PCR for indication. This is analogous to Frame Relay with a CIR of zero.
The following QoS parameters are used:
- Peak to Peak Cell Delay Variation (CDV)
- Maximum Cell Transfer Delay (MaxCTD)
- Cell Loss Ratio (CLR)
- Cell Error Ratio (CER)
- Severely Errored Cell Block Ratio (SECBR)
- Cell Misinsertion Rate (CMR)
Interim Inter-switch Signalling Protocol (IISP) uses manually-configured routing tables to allow the
interconnection
of different vendors' ATM switches using SVCs. On a particular link one switch is assigned to be a user side the other
switch a network side (an extension of UNI 3.1). The network side has the responsibility of assigning VPI/VCI pairs
to prevent call collisions (where two ATM switches assign identical VPI/VCIs for a call).
To support LAN Emulation (LANE) (see later), IISP needs to be set up on switches that route call setup messages.
Unique ATM address prefixes need to be assigned to the switches. These prefixes are used for the default
ATM addresses that are assigned at a later stage to LAN Emulation Clients (LEC), LAN Emulation Servers (LES) and
Broadcast and Unknown Servers (BUS). It is a good idea to have a logical method of assigning these addresses
so that you can summarise them and grow them in the future, particularly if you make a transition to PNNI.
This defines multiprotocol encapsulation of connectionless routed and bridged PDUs over ATM.
This is related to RFC 1294 which describes Frame Relay encapsulation over ATM. With
Null Encapsulation the packet makes up the CPCS-SDU in AAL5.
With LLC Encapsulation you can
carry a number of protocols over the same VC. Both LLC1 (unacknowledged connectionless mode) and LLC2
(connection mode) can be used. For a routed protocol the PDU has an 802.2 header, perhaps followed by
a Subnetwork Attachment Point (SNAP) header (802.1a), and this header identifies that a routed protocol
follows. IP can use this method for encapsulation as there is a Network Layer Protocol ID (NLPID)
for IP. For a bridged protocol we use the Protocol Identifier (PID) in the SNAP header to identify
the media.
Virtual Circuit Based Multiplexing encapsulation identifies the protocol being transported by using
the VC connection. Each protocol has to have its own VC connection and no extra information is needed in the
CPCS PDU. For routed protocols the PDUs are carried in the payload of AAL5 CPCS PDU whereas for bridged
protocols the same method as LLC encapsulation is used except that the OUI and PID fields are not required.
RFC 1577 defines the use of only IP and ARP over ATM. This RFC forms the foundation for Classical IP over ATM (CLIP)
It uses the Logical IP Subnet (LIS) which correlates
with a normal IP subnet and its characteristics. RFC 1483 LLC/SNAP encapsulation is used with an MTU size
of 9180 octets ( RFC 1626). An ATMARP server perform address resolution using ATMARP and InATMARP.
Each LIS has one ATMARP server which provides IP to ATM address mapping allowing the client to use the ATM
signalling services to set up a connection. Clients are manually configured with the ATM addresses, the IP addresses
and the address of the ATMARP server. When a station needs to communicate with another station, an ARP request
is sent to the ATMARP server to obtain the ATM address of the destination. The client caches ARP entries for a maximum of
15 minutes whilst an ATMARP server caches entries for a maximum of 20 minutes. The entry is only updated if there
is an InARP_REPLY to an InARP_REQUEST.
RFC 1626 defines the default IP MTU size for AAL5 as 9180 octets, so catering for NFS (8192 octets) and other large
frames handled
by routers. Routers and hosts need to conform to RFC 1191 which defines Path MTU Discovery.
The default size MTU for AAL CPCS-SDU has to be negotiated between the participating devices during connection
setup. The IE parameters involved are the Forward Maximum CPCS-SDU Size and the
Backward Minimum CPCS-SDU Size, the maximum of which is 65536 octets.
This defines the signalling needed to support Classical IP over ATM (CLIP). The ATM ARP server and the clients
can share multiple connections and in this instance call collisions must be prevented, however if multiple VCs are
not allowed, then the end station must wait 10 seconds before retrying on a failure.
UNI 3.1 signalling is used and the IEs that can be included are:
- AAL parameters (AAL5 only)
- ATM Traffic Descriptor
- Broadband Bearer Capability, BCOB-X and BCOB-C.
- Broadband Lower Layer Information (B-LLI) using LLC encapsulation.
- QoS parameters, best effort Class 0.
- Called Station Number
- Calling Station Number
- Calling station subaddress
- Called party subaddress
- Transit Network selection
- SSCS is not used and is set to null
CLIP does not support broadcast and multicast and there is no redundancy option for the ATMARP server, it just
services one LIS. Only UBR (best effort services) are supported under CLIP.
RFC 1754 lays out the outline for Multiprotocol over ATM and includes provision for security, Broadcast and Multicast
support using Multicast Address Resolution Server (MARS), IPv6, RSVP and QoS.
MARS is defined in RFC 2022 and is an extension to
the ATMARP server in RFC 1577. End stations join using
a MARS_JOIN message and leave with a MARS_LEAVE message. A separate MARS is required for each LIS
and the group of stations in a multicast is called a Cluster. The ClusterControlVC is the point to
multipoint connection that notifies the end stations of changes. Whilst not multicasting at layer 3, the MARS keeps
multicast addresses in ARP tables in the format Layer 3 address, ATM address 1, ATM address 2....ATM address n.
An end station queries the MARS for group addresses using MARS_REQUEST and the reply is MARS_MULTI
containing the ATM addresses related to the layer 3 address.
A Multicast Server (MCS) has the end stations connected via point-to-point connections and uses
a point-to-multipoint VC to the destinations within the multicast. A point to multipoint connection
called the ServerControlVC connects the MCS to the MARS(s) and the MCS registers with the MARS
with a MARS_MSERV message and unregister with a MARS_UNSERV message. End systems and MCSs can be
forced to use another MARS by the current MARS issuing a MARS_REDIRECT_MAP message. In addition,
there can be multiple MARSs.
Next Hop Routing Protocol (NHRP)
LAN Emulation (LANE)
LANE is a method used to forward data link traffic over ATM. It maps NSAP addresses to MAC addresses.
Any LAN protocol can travel across an ATM network. Emulated LANs (ELANs) are the wide
area links that extend LANs, an ELAN is created for each LAN or VLAN domain. Only Ethernet 802.3
and Token Ring are supported on LANE.
LANE v.1 looks only at the interaction between the LECs and the servers. The interfaces (LNNI protocols)
will be included in LANE v.2.
The LANE UNI (LUNI) defines the interface protocol set
between the client and the LANE servers. LUNI allows multiple ELANs on the same physical LAN
and uses the well-known circuit 0/5 (VPI/VCI).
The LAN Emulation Client (LEC) is an end station where the LANE protocols run and it can be a LAN switch, a router
or a workstation. The LEC performs address resolution between ATM and non-ATM devices.
When LAN Emulation (LANE) is enabled, one switch assigns all the ELANs to a LEC (LAN Emulation Client) and
the other keeps a database of the LECs in the LES (LAN Emulation Server)
and the LECS (Lan Emulation Configuration Server). The table records all the other
LECs coming into the switch. One VLAN is assigned to each ELAN,
you give the VLAN a name (e.g. VLAN 1) and use the software (e.g. Speedview for Nortel
Networks equipment) to assign this to an ELAN.
So, a LEC can have many ELANs, a LES serves many LECs.
LAN Emulation is required to connect Token Ring and Ethernet networks to ATM. LAN Emulation
allows the ATM network to appear as a broadcast network where hosts can seamlessly send MAC
frames to each other.
Components of an ELAN
An Emulated LAN can be treated as a separate broadcast domain, layer 3 routing must occur
between ELANs. A number of components are required in an ELAN, and these are the following:
- LAN Emulation Client (LEC) - This could be an edge device such as a
LAN switch, station or a router that provides LAN users connection to the ATM network.
The LEC forwards data, resolves addresses and registers its MAC and ATM addresses with
the LES.
- LAN Emulation Configuration Server (LECS) - This contains all the information
about all the ELANs in the domain. It provides the LEC with the ATM address of the LES
on the particular ELAN. The LECS can be a LAN switch or a router and there is only one per ATM switch
domain unless you have redundant server capability.
- LAN Emulation Server (LES) -
All the LECs in the ELAN register their ATM and MAC addresses with the LES.
This manages the stations that make up the ELAN i.e. ELAN membership.
Using LAN Emulation Address Resolution Protocol (LE_ARP) the LES resolves all
MAC addresses to ATM addresses (N.B. this is different from resolving layer 2 to layer 3
addresses). If a station wants to send data to a station on the same ELAN it requests the ATM
address from the LES.
- Broadcast and Unknown Server (BUS) - This has the role of handling broadcasts
and multicasts by setting up point-to-multipoint Virtual Channel Connections. There is
one BUS per ELAN and it is used to handle unknown destinations.
The LES and BUS come in pairs (one pair per ELAN) in LANE 1.0 and are often in one box
although the specification does not require this. LANE 2.0 allows multiple LECs, LESs and BUSs
for resilience. Cisco provides the protocol Simple Server Redundancy Protocol (SSRP)
which provides the capability for redundant servers (BUS, LECS and LES). LANE 2.0 has this built in.
Virtual Circuit Connections (VCC)
These are communication paths between LECs and between servers. There are two groups of VCCs
each with a number of types:
Control VCCs
These are for control traffic:
- Configure Direct - Between LEC and LECS (bidirectional)
- Control Direct - Between LEC and LES (bidirectional point-to-point)
- Control Distribute - Between LEC and LES (unidirectional point-to-multipoint)
Data VCCs
These are for data traffic between users:
- Multicast Send - Between LEC and BUS (bidirectional point-to-point)
- Multicast Forward - Between LEC and BUS (unidirectional point-to-multipoint)
- Data Direct - Data transfer between LECs.
Client Connection to an ELAN
Integrated Local Management Interface (ILMI) uses SNMP type packets and MIB data
structures to allow directly connected ATM devices such as LAN switches and ATM switches
to get the LECS ATM address. The ILMI 'get' and 'getnext' commands are used for obtaining the
information. ILMI uses the well-known circuit 0/16.
A LEC can use ILMI to find the LECS and can work out their own ATM address by examining
the prefix of the ATM NSAP address of the ATM switch. Alternatively, the LECS ATM address
can be statically configured on the LEC or
the well-known PVC 0/17 (VPI/VCI) can also be used by the LEC to find the LECS.
The LEC can also use the ATM Forum fixed address for the LECS provided that it has already
attempted to obtain the address using ILMI first. The main purpose of ILMI is to avoid having
to type in NSAP addresses.
The following steps are followed through when a Lan Emulation Client connects to an ELAN:
- A client needs to obtain the LES address since it needs to register its MAC address
and ATM address with the LES. To do this it contacts the LECS which has the address
of the LES for each ELAN. Contact starts with a LE_CONFIGURE_REQUEST from the LEC
to the LECS. Contacting the LECS can occur via one of three methods:
- Using a predefined ATM address of the LECS
- Using ILMI
- Using the 'well-known' address of the LECS.
- A Configuration Direct VCC is set up to allow the LEC and LECS to communicate.
- The LECS responds with a LE_CONFIGURE_RESPONSE that contains the ATM address
of the LES, the ELAN name and assignment, and the ELAN type and maximum frame size.
- The LEC then connects to the LES using a Bidirectional Control Direct VCC.
- The LEC joins an ELAN by sending a LE_JOIN_REQUEST to the LES. This request
contains the ATM address, the ELAN name, the MAC address and the maximum frame size.
- The LES may check with the LECS to see if the LEC is allowed to join the ELAN, other than that the LECS ceases to
be involved. Although there is a facility for LECS redundancy in LANE v.2 there is no need for load sharing.
- If permission is granted, the LES replies with a LE_JOIN_RESPONSE and adds the address of the LEC to the
Control Distribute VCC which is a point-to-multipoint VCC used by the LES to
send information to all of the LECs in the ELAN.
- Next the LEC needs to find out the address of the BUS so that it can send data to
unknown destinations. To learn this the LEC sends a broadcast LE-ARP. LE_ARP
works in a similar manner to IP ARP except that it is used to resolve MAC addresses to
ATM addresses.
- The LES responds with the ATM address of the BUS.
- The LEC sets up a Multicast Send VCC (point-to-point) with the BUS.
- The BUS sets up a Multicast Forward VCC (point-to-multipoint) to all LECs in the ELAN
thereby emulating the broadcast nature of a LAN.
Client to Client Connection
Client X wants to communicate with client Y and although it knows the MAC address
it does not know the ATM address. The following steps occur:
- To learn the ATM address Client X sends a LE_ARP request to the LES and starts
sending data frames to the BUS.
- If the ATM address of Y is in the LE_ARP table of the LES then the LES sends the ATM
address to X.
- If the ATM address is not in the LE_ARP table then the LES forwards the request
using the point-to-multipoint Control Distribute VCC to all the LECs.
- The BUS sends the initial data frames to all the stations using the
point-to-multipoint Multicast Forward VCC.
- Client Y sends an LE_ARP response back to the LES.
- The LES forwards this response containing the ATM address to X.
- X sets up a Data Direct VCC with Y.
- X sends a Flush message to the BUS so that it stops multicasting the data since this
is no longer necessary. The Flush Request Control Frame and the Flush Response
Control Frame are needed because whilst the LEC is waiting for the Data Direct VCC
to be set up it is sending unicast data to the BUS and when the VCC is setup to the other
LEC there are two paths to this LEC. Frames must be kept in order so the Frame Flush
follows the data to the BUS, once received by the destination LEC it sends a Frame
Flush Response.
Setting up these VCCs manually using PVCs is nigh on impossible without making errors
because PVCs must be configured for all data directs receiving
and transmitting, so SVCs are used in the LANE environment.
Multiprotocol Over ATM (MPOA)
|