Commsplace.com Knowledge Base
An Overview of ATMAuthor: Rhys Haden
IntroductionATM 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:
There are also four planes :
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. 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:
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:
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:
The ATM Cell
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 appications 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). 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.
AAL1Synchronisation 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.
AAL2This is not fully defined. It is designed for applications such as packetised video and handles delay jitter, cell loss and cell misinsertion.
AAL3/4The 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:
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.
AAL5You cannot multiplex several connections on one AAL5 connection, each user connection has to have an AAL5 connection. The CPCS PDU is shown below:
In AAL5 there is no overhead from the SAR sublayer, 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. 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.
ATM CommunicationsInitially 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).
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:
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:
The ILMI MIB contains the following:
UNI 3.xThe 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:
The steps to set up an SVC between client 1 and client 2 are detailed below:
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:
There are the following five classes of QoS:
Traffic ManagementThis 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:
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.0In 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:
The following QoS parameters are used:
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.
Classical IP over ATM
RFC 1483This 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 1577RFC 1577 defines the use of only IP and ARP over ATM. It is known as 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 1626RFC 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.
RFC 1755This 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 not 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:
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 ELANAn 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:
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 VCCsThese are for control traffic:
Data VCCsThese are for data traffic between users:
Client Connection to an ELANIntegrated 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:
Client to Client ConnectionClient 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:
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. Reproduced with kind permission - Rhys Haden Please visit Rhys Haden's excellent web site for more information. Rhys Haden's Technical Resource Web Site Copyright © Rhys Haden 1998
|