ATM is a complex network technology, developed by both telephone companies ( Telecom) and computer communication companies ( Datacom). The complexity is partly caused by the need for compromises and extra options to support the wishes of both Telecom and Datacom companies. The hope of both is that eventually a global public ATM network will exist like the current Internet. The Global ATM Internet would support both telephone calls and data transmissions using the same basic ATM protocol.
ATM networks are based on virtual connections over a high-bandwidth medium. Despite the complexity, ATM is attracting a lot of interest, because it offers efficient use of high bandwidth, high reliability and Quality of Service (QoS) guarantees. ATM is the network technology chosen for Broadband Integrated Services Digital Network ( B-ISDN).
In the next sections, the most important aspects of ATM are pointed out. These aspects make ATM a fundamentally different technology as compared to Ethernet, FDDI and similar ``Layer 2'' technologies.
Many good introductions to ATM exist. Good starting points are the articles [AA95] and [GK95]. The first reference in particular with respect to Internetworking and ATM. For a more detailed discussion of the problems of ATM Traffic Management and Congestion Control a look at Jain's article [RJ96] may be helpful.
ATM is a connection oriented network technology. The connections are not physical end-to-end connections like with telephone networks, but they are virtual connections. This means that, like with telephone connections, a connection must be setup before any data can be transferred between the end-points of the connection. After the connection has been used and is no longer needed, it is terminated (``hanging up the phone'').
ATM connections have properties which describe the kind of traffic carried over the connection and the way it is treated by the network. These properties (Traffic Descriptors, QoS parameters, etc.) are negotiated at connection setup time between the calling party, the ATM network and the called party.
As can be expected from a complex network technology, ATM itself consists of a number of layers. In Figure a simplified view of the internal ATM protocol stack is shown on the left and an even more simplified view of this model on the right. The last model is used in figures later in this chapter to indicate the ATM services without going into too much detail.
Figure: Simplified protocol stack view of the ATM Bearer Service
The ATM protocol stack is best described from the bottom up, starting with the Physical Layer.
For the transportation of ATM Cells across physical point to point connections (``the wires''), Synchronous Digital Hierarchy (SDH) and Synchronous Optical NETwork (SONET) protocols are most commonly used. SDH and SONET are very similar protocols, SDH is used mostly in Europe, SONET more in the USA. Physical layer standards are defined by the ATM Forum.
ATM Cells are packaged into the lower layer SONET/SDH frames. At 155 Mbit/s, 45 ATM Cells fit into one frame. Every 125 s, a SONET/SDH frame is sent onto the network, whether it is full or not.
The wires used by these protocols are typically optical fibers or Unshielded Twisted Pair (UTP) copper cables.
ATM has a fixed transmission unit, called the ``Cell''. Each Cell is 53 octets, of which 5 octets are used for the ATM header and the remaining 48 octets can be used for data transport (this part is call the Payload or Service Data Unit (SDU)). The header can be this small, because instead of the destination ATM address, only the information that is needed locally for data forwarding is included in each Cell. This information consists of a Virtual Path Identifier ( VPI) and Virtual Channel Identifier ( VCI) and other administrative data. More on the use of these Virtual Channels and Paths in Section .
When an ATM connection is set up, the calling party specifies what kind of traffic the connection intends to use and what QoS it expects from the network. This information is put in the traffic descriptor and the QoS parameter respectively and then both are passed as part of the connection setup request to the network, along with other parameters like the destination address. The parameters are carried in Information Elements in the signalling messages. The Information Elements are:
After the connection with a certain Service Category has been setup, the ATM client and the ATM network have a traffic contract associated with the connection. If the users of the connection attempt to use too much resources of the network, i.e. exceed the traffic contract parameters, the network may drop cells or use other means within the capabilities of the network to keep the contract. Traffic parameters can be re-negotiated while the connection is still in use. For more information about the information elements used in the signalling messages, please see the UNI specifications [UNI31] and [UNI40].
When for example a nrt-VBR connection with a certain PCR, MBS and SCR has been setup, the connection users do not constantly supply ATM Cells at the PCR. The network may allocate more bandwidth on a link than the sum of all Peak Cell Rates of the VCC that go through that link. This is called statistical multiplexing. Statistical, because it uses statistics to calculate the chance that all connections need to use their connection at PCR at the the same time. The assumption is that with enough simultaneous connections open and as long as the traffic is not related to each other, the link's bandwidth usage can be described by statistical methods. For more information on statistical multiplexing, please see the article by Bae and Suda [BS91] or a more recent PhD thesis by Murphy [JM96].
While at the ATM level, traffic in all service categories can be transported, higher layers may want more specific services, better suited to the kind of traffic produced by those layers. E.g. not all B-ISDN users need a timing relation between the sending and receiving entities. For this purpose, the ATM Adaptation Layers have been defined. When new kinds of traffic are recognized, a new AAL can be defined for it, while the ATM layer remains unchanged.
For the purpose of transporting connectionless traffic as produced by the IP layer, AAL5 is best suited. Although AAL5 is not generally considered to be a Class D service category, it is chosen for the low amount of overhead in the AAL5 PDU and the simplicity of its implementation [AA95, note *10*,]. Usually IP is carried over a connection with service class ABR or UBR, but nrt-VBR would be suitable as well.
The AAL takes care of the Segmentation into, and Re-assembly of the ATM Cells. Additionally, an AAL may check for cell-loss, timing or data errors and perform multiplexing of higher layer data streams into a single ATM Virtual Channel Connection.
Adaptation Layer 5 is the most commonly used AAL, it provides an unguaranteed connection oriented transport of variable-length frames with error detection. The user data frames can be up to 65,535 bytes, which gets segmented into 48 byte chunks, after adding AAL 5 control information and padding. These chunks are sent as payload in the ATM Cells. Both CLIP and LANE use AAL 5 to transport their protocol frames across the ATM network.
For the setup, modification and release of the connections and other signalling between the ATM network (the ATM switches) and the ATM end nodes, signalling entities are defined. These entities use the special Signalling ATM Adaptation Layer ( SAAL), to encapsulate their signalling data in ATM Cells. Since signalling is used to set up Switched Virtual Connections(SVCs, see Section ), a Permanent Virtual Connection, identified by VPI=0 and VCI=5, is used for exchanging signalling information.
Later on, we will see the ATM control and user plane used as a single service provider. The combination of the signalling and transmission services will be called the `` ATM Bearer Service'' (see the simplified stack on the right in Figure ). It will provide the service of setting up a connection (the VCC), transmitting data in AAL packets over the ATM VCCs and closing down the connection.
ATM networks consist of ATM switches connected by point-to-point ATM links (see Figure ). ATM hosts are connected to the local switches. There are two types of ATM Networks; the Private Network and the Public Network.
The ATM nodes (hosts or switches) use the Public User-Network Interface (Public UNI) protocol. When hosts are connected to a local switch the Private UNI is used. Switches within a private network use the P-NNI (Private Network-Network Interface or Private Network-Node Interface). Switches within the public network do not use the P-NNI, but eventually a derivation of it will probably be used there as well. For the implementation of an IP multicast capability, the Private UNI at the ATM host side is most important.
Figure: ATM network structure
ATM, being a connection oriented network technology, provides its service users with the possibility of setting up a Virtual Channel Connection ( VCC) with a certain traffic contract. The VCC is a direct connection between the end-points (to the protocol layer above the ATM Transport Layer) across the ATM network. Once this connection is set up, a VCC is identified at the end-points by a Virtual Path Identifier (VPI) and Virtual Channel Identifier (VCI).
Figure: Connection terminology for the ATM Transport service provider
The ATM transport layer itself is built up of two layers; Virtual Channel and Virtual Path. At the service interface of the Virtual Path Service Provider a Virtual Path Connection (VPC) can be setup (with traffic and QoS parameters), identified by a VPI. A VPC can carry multiple VCCs, which have the same VPI but different VCIs.
In general, ATM hosts are connected to each other via ATM switches, as can be seen in Figure . A VCC between two ATM hosts goes through one or more switches in the network. The VPI/VCI combination that identifies the VCC at the end-points has only local significance. The switches translate either only the VPI (a VP-switch) or both the VPI and the VCI (a VC switch). The section of a VPC between two VP Switching Entities is called a Virtual Path Link (VPL). The section of a VCC between two VC Switching Entities is called a Virtual Channel Link (VCL). The VCI retains its significance through a VP switch, so VCLs are carried through VP switches. A decomposition of a VCC in VPLs and VCLs is shown in Figure , the point where a VPI or VCI gets translated is shown with an arrow. Note that the Virtual Channel Connections terminate at the service interface of the ATM Transport service provider.
ATM switches have `` cross-connect tables'' to translate the VPI/VCI connection (or rather, link) identifiers in the incoming ATM Cells to VPI/VCI combinations in outgoing ATM Cells. This translation can be done in hardware once a connection has been setup and should be much quicker than the IP routing mechanism.
The cross-connect tables can be filled by the network management or by signalling protocols. A connection set up by management is called a permanent connection. This can be either a Permanent Virtual Path Connection ( PVPC) if only VP switching entity's cross-connect table is configured, or a Permanent Virtual Channel Connection if the VC switching entity's cross-connect table is configured. When signalling is used to setup a VPC or a VCC, the connection is called Switched VPC (SVPC) or Switched VCC (SVCC) to signify that it was a connection established through signalling commands, rather than by management interference. The connections themselves, permanent or switched, are exactly the same, regardless of how they have been established.
This concept of using (virtual) connections for communications is very different from the way IP packets are sent and routed. When implementing IP on top of ATM, the IP entity does not care if the VCC transporting its packets is released when it is not used, the when and how of opening and closing of connections for communications is a matter of optimization. For a more detailed discussion of , please see Heijenk's PhD thesis [GH95].
ATM users communicate using virtual connections, identified by a VPI/VCI pair, during the data transport phase. In order to setup a connection, the switches need some way to identify the called party, so the routing protocols can find a route to it during the connection setup phase. ATM addresses have been defined, so the signalling entities can address an ATM end-point to their peer signalling entities in the ATM network. These addresses are modeled after the OSI Network Service Access Point (NSAP), as defined in ISO 8348 and ITU-T X.213 (See also IETF RFC 1629 [NSAP94]). In Figure the three types of ATM addresses are shown. The Data Country Codes (DCC) are specified in ISO 3166. The International Code Designator (ICD) is maintained by the British Standards Institute. The E.164 format is the ISDN number format. All three formats are 20 octets long (as specified in [NSAP94]).
The address consists of 3 parts, the Authority and Format Identifier (AFI), the Initial Domain Identifier (IDI) and the Domain Specific Part (DSP). The AFI part determines the rest of the address interpretation. The DSP consists of a High Order DSP (HO-DSP), an End-System Identifier (ESI) and the selector byte ( SEL). The SEL-part is never used by the routing algorithms, which means that each ATM end-point can use 256 different ATM addresses.
Figure: ATM address formats
ATM end-points are not configured with a complete ATM address, the address is built up at initialisation time across the UNI. For this purpose the Interim Local Management Interface (ILMI) is used to perform address registration procedures. The ATM end-point supplies the ESI and the SEL part of the address as ``user part'', the ATM network supplies the rest of the fields as ``network prefix''.
More on ATM addresses can be found in the ATM Forum UNI 3.1 specification [UNI31, p.159,] and the UNI 4.0 signalling specification [UNI40, p.31,].
As an example, the Dutch ATM community has chosen to use the DCC ATM address format. The AFI value associated with DCC is "39" (encoded in Binary Coded Decimal). The DCC for the Netherlands is 528, which is padded to give 528F(h) as IDI. The DSP part in the Netherlands is split up into the following elements:
|CFI||Country Format Identifier||1 nibble|
|CDI||Country Domain Identifier||3 nibbles|
|SFI||SURFnet Format Identifier||1 nibble|
|SDI||SURFnet Domain Identifier||3 octets|
|ASDI||Additional SURFnet Domain Identifier||1 nibble|
|SDA||Site Defined Area||4 octets|
|ESI||End Station Identifier||6 octets|
(A nibble is 4 bits, half an octet)
For all systems at the University of Twente, the DSP starts with the following:
The rest of the address is maintained within the organisation (CIV and Departments). At the University of Twente, the SDA field is split into three parts, two octets for the Department and/or Network Identifier, one octet for the Network Identifier and one octet for an ATM switch Identifier. For the ESI part, a unique identifier must be used. The Ethernet MAC address is often used for this purpose. The SEL byte is 00 by default and can be used for addressing within the ATM end node. As an example, Figure shows the ATM end-point address my computer would get when it is connected to the ATM network of the Department.
Figure: An ATM end-point address for my machine
The User Network Interface is used by ATM hosts to communicate with ATM networks and by private ATM networks to communicate with public ATM networks. All aspects of the User-Network Interface, from the lowest physical details to the signalling messages exchanged above ATM level, are specified in the ATM standards documentation of UNI 3.1 [UNI31]. The signalling part of the UNI has been updated in version 4.0 [UNI40].
UNI 3.1 specifies a number of capabilities that are supported by ``Phase 1'' signalling. These capabilities include support for point-to-point connections and point-to-multipoint connections. It also provides protocol support for the basic signalling functions to establish, maintain and release these connections.
Point-to-multipoint VCC support is limited to unidirectional VCCs (the return path is defined to have zero bandwidth, PCR=0) from the root to the leaves of the multicast tree. Only the root may add and remove leaves, which causes the use of ATM multicast to be difficult to scale up in number of leaves. This is because the root node must handle more requests to be joined and exchange connection messages with the network to add and remove leaves. The root node is the bottleneck in the add/leave procedure.
In UNI 4.0 the point-to-multipoint connection signalling is extended to support Leaf Initiated Join, either with or without root-node intervention. Especially the latter would make ATM point-to-multipoint connections significantly more scalable. Also new in UNI 4.0 is an `` Any-cast'' service to setup a point-to-point connection to any one of a group of ATM end-points. This last feature would allow load sharing and redundant services without bothering ATM clients with connection failures.
In the UNI 3.1 and UNI 4.0 signalling specifications, no support for multipoint-to-multipoint connections is defined. In the signalling specification of UNI 3.1, two possible solutions to this problem are given. To support multipoint-to-multipoint connections, a Multicast Server (MCS) can be defined. The MCS connects to all recipients using a point-to-multipoint connection. The senders connect to the MCS using a point-to-point connection when they want to transmit to the members of the multicast group. Alternatively, all sending ATM end-points can set up point-to-multipoint connections to all receiving end-points.