Friday, September 16, 2011

Lecture #21 - Asynchronous Transfer Mode (ATM)


ATM is a major traffic carrier used by telecommunication companies. ATM is also the core networking technology used to aggregate and connect ADSL tail circuits to ISPs. ATM provides for virtual circuits and can guarantee Quality of Service (QoS).
Some of the key concepts involved in ATM include:
  • The basic unit of transmission is the cell. A cell is 53 bytes in length - 5 bytes of header and 48 bytes of payload. These small, fixed-format cells can be switched very quickly.
  • ATM networks are based on connection-oriented cell relay - cells are multiplexed onto higher bitrate channels, but there is no timing relationship between individual cells within a particular connection. Cells may be dropped but are never delivered out of order.
  • The telecommunications industry uses ATM as a basis for providing converged services, allowing for the seamless integration of voice (telephony), audio, video-on-demand, video conferencing, video broadcast and data, on the one network.
  • ATM is complex. Even the telcos admit it has many unsolved problems.

ATM Background

  • Designed in early 1990s, when both bandwidth and networking equipment was relatively expensive, and voice and data convergence was a hot topic in the industry.
  • A technology evolved more from the telecommunications industry than the computer/data industry.
  • Designed for high-performance mixed network traffic (voice, data, video, and future media applications).
  • Designed for bursty traffic.
  • Designed to replace all existing analog and digital communication backbone systems.
  • A relatively expensive networking technology, mainly used among tier 1 and tier 2 telcos.
  • Gigabit Ethernet (a much cheaper technology) has replaced ATM on many networks. ATM is Less popular now.
  • Gigabit Ethernet is a natural upgrade path for Fast Ethernet.
  • ATM offers QoS, but QoS issues can simply be overcome by providing a bigger pipe?
"Arguably, ATM is unnecessary if bandwidth is cheap and plentiful, and there is no congestion in the network."
"Experience has also shown that over-provisioning bandwidth does not resolve all QoS issues. Hence Gigabit Ethernet is not expected to replace ATM at this time."


ATM Features

  • Cell based switching technique
  • Fixed-size cells (53-Bytes) - small cells
  • Asynchronous time-division multiplexing (Asyn TDM)
  • Connection oriented
  • Virtual Circuit (VPI VCI)
  • QoS as part of the technology

ATM Speed

  • Originally designed to work over Synchronous Optical Networking (SONET)
  • Expresses in OC (Optical Carrier) levels.
  • OC-3: 155 Mbps (3 x 51.84 Mbps)
  • OC-12: 622 Mbps
  • OC-192: upto 10Gbps bit rate
  • In early 1990s, 155 Mbps was considered very fast.

ATM - Circuit Switching or Packet Switching

  • ATM is a packet switching technology where fixed size small packets are switched efficiently.
  • ATM uses virtual circuits - provides a reliable dedicated path during the whole session of transmission, offering the advantage of circuit switching, i.e. reliable connection, and can guarantee a specific QoS.
  • ATDM - how ATM does multiplexing.
atm_adsl

Advantages

  • Fast switching of small cells
  • Better utilisation than circuit switching
  • No fragmentation problem
  • Reduce jitter (variance in delays)
  • Easier to allocate bandwidths and delays to VCs
  • Easier to implement priorities to traffic
  • Enables traffic management and congestion control
  • Suitable for time-critical information such as voice or video

Disadvantages

  • Extra overhead as IP datagrams are segmented into small cells
  • Expensive technology

ATM Virtual Channels

ATM is connection-oriented and switching is based on the idea of a virtual channel or VC. A virtual channel is set up between a pair of hosts connected to a network of switches:
ATM Virtual Channel
The existence of a VC is based on entries in routing tables in each of the switches (which are really routers), set up at VC establishment time. Each switch compares its table entries to a field in the cell header to decide where the cell is to be sent.

Permanent and Switched Virtual Circuits

  • Permanent Virtual Circuit (PVC): dedicated virtual circuit established for continuous use, and no need for repeated call setup and clearing. Usually preconfigured by a service provider. PVC is similar to a leased line.
  • Switched Virtual Circuit (SVC): setup on a per-call basis and disconnected when the call is terminated. SVC is dynamically established on demand and is torn down when transmission is finished. SVC is similar to a normal PSTN phone line.

ATM - connection-oriented protocol

  • Connection-oriented establishes a session, then delivers a stream of data in the same order as it was sent.
  • Can be a circuit switched connection, or a virtual circuit switched connection in a packet switched network like ATM.
  • Connection-oriented protocols are not necessarily reliable protocols. ATM is an example of a connection-oriented, unreliable protocol.

ATM Virtual Channel Setup

All cells relating to a connection (call, circuit) follow the same path through the network. During call setup, a separate Protocol Connection Identifier is assigned to the connection on each link through the network.
The numeric value of the PCI identifier has only local significance at each link, and changes from one link to another as cells relating to a particular call (or connection) pass through the network.
Associated with each incoming link/port at a switch is a routing table that contains, for each incoming PCI, the corresponding outgoing link/port and the new PCI to be used.
The PCI is made up of two components: the Virtual Path Identifier (VPI) and the Virtual Channel Identifier (VCI). Routing can be on the basis of the value of either, or both, of these subfields.
The VPI can be used where multiple connections are set up between the same pair of hosts. The VCI field is used where connections are not between the same pair of hosts.

ATM VPI/VCI

  • Transmission Path (TP): Physical connection, usually fibers.
  • Virtual Path (VP): Connection between two ATM switches. VPI identifies the cell's next VP to pass through.
  • VC: Virtual Channel/Circuit (VC): VC must first established before any data transfer. VCI identifies the cell's next VC inside the VP.
atm_adsl

ATM and ADSL

  • DSL is an access method for an ATM network, allowing a DSL tail to connect to many ISPs through a wholesale ATM network (e.g. Telstra wholesale).
  • ADSL uses ATM as an intermediate layer between the physical layer and a layer 2 protocol like PPP.
atm_adsl

High Level View of an ADSL / ATM Network

  • ADSL access tails connecting to DSLAMs (Digital Subscriber Line Access Multiplexer).
  • DSLAMs connecting to a Tier 1 telco's ATM backbone network.
  • Tier 1 telco aggregates all the ADSL tails and distributes the traffic to the smaller providers.
atm_adsl

ATM Switching

ATM routes a cell using both the VPI and the VCI.
atm_adsl

ATM Switches

ATM switches are typically built of a network of Banyan switches.
Each element of the switch can either pass a cell straight through or cross the path over. This decision is made directly by the corresponding bit in the cell's destination address (VPI/VCI bits). The first bit controls the first switch, the second bit controls the second switch etc.
Banyan Switch
All ATM switches have two common goals:
  • Switch all cells with as low a discard rate as possible, preferably nil.
  • Never (ever) re-order the cells on a virtual connection.
A problem occurs when two cells arrive at a given time, both destined for the same output. The general solution is:
  1. Pre-sort the cells before feeding them into the Banyan switch (this avoids switching contention) and
  2. Provide a queue on each outgoing line (this avoids "output" contention).

ATM Architecture

  • ATM Switches: reads and updates the cell header information and switches the information cell towards its destination.
  • ATM Endpoints: contains the ATM network interface adaptor to enable data entering or leaving the ATM network to interface to the external world. Examples of these end points include workstations, LAN switches, video codecs and many more items.
  • NNI: Network-to-network interface (between two switches, inside an ATM network).
  • UNI: User-to-network interface (between a user access device and a switch, on the edge of an ATM network).
atm_architecture

ATM Cell Format

ATM Cell Format
GFC
Generic Flow Control, only present in cells passing over the User-Network Interface (UNI). On Network-Network Interfaces (NNI), this is part of the VPI field. GFC provides local function, such as identifying multiple stations that share a single ATM interface. Typically not used and is set to default (binary 0000).
VPI, VCI
See previous slide.
PTI
Payload Type Identifier. MSB (1st bit) indicates data type - (0 = user data, 1 = control data). 2nd bit indicates congestion (0 = no congestion, 1 = congestion). 3rd bit indicates if the cell is the last of the frame (0 = No, 1 = Yes).
CLP
Cell loss priority. 1 = discard the cell under extreme congestions.
HEC
Header Error Correction, or checksum.

The HEC field

Calculates checksum only on the first 4 bytes of the header. HEC can detect and correct a single bit error in these bytes.
The HEC field is an 8-bit CRC checksum of the first 4 bytes (octets) of the header. In fact, it consists of the remainder after the 32 bits have been divided by the magic number 100000111, to which is added the constant 01010101, to make the checksum more resilient where headers contain mostly zeroes.
The checksum covers the header only for speed of computation, and because for many telco applications incorrect data is not catastrophic...
The HEC algorithm is effective where most errors are single bit, which is usually the case for optical fibre.
The HEC comes in handy when multiple cells are supplied to a switch port in strict succession. The protocol provides no way to determine cell boundaries (eg. no FLAG or SOH fields). As bits arrive, the software maintains a 40-bit shift register. If the last 8 bits form a valid HEC checksum of the first 32, then this may be a valid cell boundary. If not, load one more bit and try again until a match is found.

ATM Traffic Control and QoS

  • ATM supports a set of QoS parameters and classes for all ATM services.
  • ATM minimises network complexity while maximising utilisation.

CBR - Constant bit rate

  • a Peak Cell Rate (PCR) is specified, which is constant.
  • for connections that require a static amount of bandwidth that is continuously available during the connection time.
  • for applications such as telephone, video conferencing, interactive Audio, TV.

VBR - Variable bit rate

  • nrt-VBR (non-real time) and rt-VBR (real time).
  • an average cell rate is specified, which can peak at a certain level for a maximum interval before being problematic.
  • for bursty traffic, VoIP, interactive compressed voice/video.

ABR - Available bit rate

  • a minimum guaranteed rate is specified.
  • provides rate-based flow control.
  • depending on the state of congestion in the network, rate controlled by source.
  • used for data traffic such as file transfer and email.

UBR Unspecified bit rate:

  • traffic is allocated to all remaining transmission capacity.
  • for non-real time applications. Delay and delay variations can be tolerated.
  • most TCP/IP applications.

ATM Reference Model

atm_model

ATM Layer

  • Defines cell layout
  • Defines ATM header
  • Establishment and release VC
  • Switching
  • Multiplexing
  • Congestion control
atm_layer

ATM Adaptation Layers (AAL)

  • ATM was designed to replace ALL existing digital and analog telecommunication systems.
  • Therefore ATM must be able to accept ANY type of services from upper layers.
  • AAL is responsible for fragmenting them into small fixed size ATM cells.
  • And to reassembles cells.
  • 5 adaptation layers have been defined.

AAL1 to AAL5

  • AAL1 is used for CBR services such as video and voice from upper layer. Require synchronisation of source and destination.
  • AAL2 is used for VBR services such as compressed video, voice, and fax. Bursty in nature.
  • AAL3/4 support connection-oriented and connectionless data services, replaced by AAL5.
  • AAL5 is for data. Also known as the Simple and Efficient Adaptation Layer (SEAL).

More on ATM AAL

ATM is all things to all people

ATM was designed to replace all existing digital and analog telecommunication systems. In order to do this, the underlying lightweight packet stream had to be adapted to provide a number of different types of service. This was achieved by placing an adaption layer on top of the lightweight packet stream. The adaption layer hides the underlying packet stream and presents an appropriate interface to the higher layer(s). Various adaption layers have been defined, as follows:
  • AAL1 defines a Constant Bit Rate (CBR) stream between the ends of the ATM virtual circuit (VC). AAL1 emulates a traditional phone call. AAL1 steals one byte from the payload field to extend the cell header.
  • AAL2 as for AAL1, except the bit rate can vary. Nevertheless, the ends of the VC still have a fixed timing relationship. This is appropriate for transfer of compressed video. AAL2 steals 3 bytes from the payload field for administration.
  • AAL3/4 originally specified as two distinct adaption layers, this is now a complex specification for a connectionless data service over ATM. Higher layer data packets (up to 64 Kbytes) have 4 bytes each of header and trailer information added, then are diced into ATM cells from which 4 bytes of payload are stolen for admin purposes.
  • AAL5 (designed to replace AAL3/4) accepts data packets of up to 64 Kbytes, adds 8 trailer bytes, then dices this up to fit in ATM cells (without any further headers).

ATM AAL5 and Encapsulation of Internet Data

To send Internet Protocol (IP) datagrams over an ATM service, using AAL5, the data undergoes a complicated encapsulation process:
AAL5 Encapsulation
  • Since AAL5 has no Type field, the IP Datagram is first encapsulated in an 802.2 LLC frame, using connectionless SNAP.
  • The 802.2 LLC frame is placed in an AAL5 Convergence sub-layer frame. It is padded to make the AAL5 frame a multiple of 48 bytes long.
  • The AAL5 Convergence Layer frame is chopped into 48 byte packets by the AAL5 Segmentation and Reassembly Sub-layer.
  • The resulting pieces become the contents of ATM cells.
Here's a closer look at the AAL5 Convergence sub-layer (CS) Protocol Data Unit (PDU):
AAL5 Protocol Data Unit
UU
User-to-User field is not used in AAL5 but is available for higher layer protocols for eg. sequence information.
RFU
Reserved for future use.
Length
The actual length of the data. The payload field is padded to make the total CS PDU a multiple of 48 bytes.
CRC
A standard 32-bit CRC checksum over the entire CS PDU.

LANs over ATM

Where ATM is to be used to form a LAN, fundamental differences between ATM and IP becomes troublesome:
  • IP is connectionless and has provision for broadcasting built in. Everything is carried by IP.
  • ATM is connection oriented (broadcasting is difficult).
  • ATM and IP addressing are incompatible.
A number of different approaches have been proposed to solve these problems:
  • CLIP - Classical IP over ATM
  • LANE - LAN Emulation
  • NHRP - Next Hop Resolution Protocol
  • MPOA - Multi-Protocol over ATM

CLIP - Classical IP over ATM

This is an IETF specification whereby IP treats ATM as another subnetwork to which routers and hosts are attached. In the CLIP model, multiple Logical IP subnetworks (LIS) are overlaid on top of the ATM network. Machines within a LIS can communicate directly using ATM Virtual Channel Connections (VCCs). Machines in different LISs can communicate only through routers, even though direct connections using VCCs may be possible.

LANE - LAN Emulation

This is an ATM Forum (now the Broadband Forum) competitor to CLIP. It is essentially similar, except that where CLIP handles only IP, LANE handles other network level protocols as well.
ATM LAN Emulation (LANE) looks like the following:
LAN Emulation
A virtual circuit can be set up between two hosts connected to the ATM network. However, as in conventional LANs (eg. 802.3/Ethernet), communication is based on first knowing the MAC-level address of the destination.
LES
The LAN Emulation Server supplies network layer to MAC (in this case, ATM) address mappings on request.
BUS
ATM does not support broadcast. The "Broadcast and Unknown Server" accepts higher layer broadcast messages and sends them to all hosts participating in the LANE, one at a time.

NHRP - Next Hop Resolution Protocol

In CLIP LANs, machines in different LISs can communicate only through routers, even though direct connections using VCCs may be possible. LANE appears to be similar.
NHRP uses "Next Hop" clients to initiate connections to "Next Hop" servers. Together, these act to discover an ATM destination address corresponding to an IP address. The originating client then establishes an ATM connection directly to the destination host. Intermediate routers act as both NHRP servers and NHRP clients during call set-up.
NHRP and CLIP compared
CLIP versus NHRP

MPOA - Multi-Protocol over ATM

MPOA was designed by the ATM Forum to provide an internetworking service over ATM. Basically, MPOA integrates LANE and NHRP. MPOA uses LANE to establish layer 2 connections (ie. within the same LIS) and NHRP to establish layer 3 connections (to another LIS).
Short lived connections between a host in one LIS and another host in a different LIS are passed router to router, as for CLIP. ATM virtual circuits are established for longer lived connections.
It is rumoured that this constant setting up and tearing down of ATM virtual circuits stresses the ATM switches. As a result, MPOA does not scale well in a system with many hosts.

IP Switching

A variation on Classical IP over ATM originally introduced by a company called "Ipsilon" (and now various others), who have announced a combination IP router and ATM switch which combines the best of both approaches.
This technique relies on the fact that where Classical IP over ATM is in use, the first cell of an encapsulated datagram will contain (in addition to the 802.2 SNAP headers) the entire IP and TCP (or UDP) headers, presuming minimum length headers.
This allows the ATM switch to make a routing decision (on the basis of the IP destination address) and a stream decision (on the basis of the TCP header) on the basis of the contents of the first cell.
If the ATM switch is also a router (ie. connected to more than one LIS), it can immediately begin sending the cells of a datagram to its destination, instead of waiting for the entire datagram to be accumulated, then forwarded. Thus, datagrams are effectively forwarded through the device at switch speeds, instead of the (usually) slower router speed.

Multi-Protocol Label Switching (MPLS)

The big problem with all the previous approaches is the duplicated network infrastructures (IP and ATM) with their incompatible addressing models and routing techniques.
MPLS routers are intended to integrate layer 2 switching functions with layer 3 addressing. When a layer 3 packet enters an MPLS network, the Label Edge Router (LER) prepends a MPLS label onto the incoming packet, before forwarding it to the next hop Label Switch Router (LSR). The MPLS label is based on the destination IP address and identifies the virtual circuit to be used between adjacent LSRs. When delivered by ATM, the label becomes equivalent to the ATM Virtual Circuit Identifier. The established path, unlike ATM though, is unidirectional.
Like ATM, MPLS is connection-oriented and a path needs to be established through the MPLS network before communication can occur. This is achieved using a Label Distribution Protocol (LDP). Quality of Service (QoS) can also be achieved by using an LDP that supports traffic engineering. Examples are the Constraint-based Label Distribution Protocol (CR-LDP) or the Resource Reservation Protocol - Traffic Engineering (RSVP-TE).
MPLS is an IETF initiative and is defined in RFC3031. For more information on MPLS, refer to this lecture in our companion subject, Internetworking.

Three (Four?) Letter Acronyms (TLAs)

CLIP - Classical IP over ATM
LANE - LAN Emulation
NHRP - Next Hop Resolution Protocol
MPOA - Multi-Protocol Over ATM
MPLS - Multi-Protocol Label Switching
VCC - ATM Virtual Channel Connection
LDP - Label Distribution Protocol LIS - Logical IP subnetwork
LER - Label Edge Router
LSR - Label Switch Router
QoS - Quality of Service
IETF - Internet Engineering Task Force
ATM Forum - The telco's answer to IETF

http://ironbark.bendigo.latrobe.edu.au/subjects/DC/lectures/21/