TCP/IP
Chapter 2. Network interfaces
2.10 Asynchronous Transfer Mode (ATM)
2.10.2 Classical IP over ATM
• If there is no open VC associated with the table entry, the entry is deleted.
Therefore, if the client does not maintain an open VC to the server, the client must refresh its ATMARP information with the server at least once every 20 minutes. This is done by opening a VC to the server and exchanging the initial InATMARP packets.
The client handles the table updates according to the following:
• When an ATMARP table entry ages, the ATMARP client invalidates this table entry.
• If there is no open VC associated with the invalidated entry, that entry is deleted.
• In the case of an invalidated entry and an open VC, the ATMARP client revalidates the entry prior to transmitting any non-address resolution traffic on that VC. There are two possibilities:
- In the case of a PVC, the client validates the entry by transmitting an InARP_REQUEST and updating the entry on receipt of an
InARP_REPLY.
- In the case of an SVC, the client validates the entry by transmitting an ARP_REQUEST to the ATMARP server and updating the entry on receipt of an ARP_REPLY.
• If a VC with an associated invalidated ATMARP table entry is closed, that table entry is removed.
As mentioned above, every ATM IP client that uses SVCs must know its ATMARP server's ATM address for the particular LIS. This address must be named at every client during customization. There is at present no
well-known ATMARP server address defined.
Chapter 2. Network interfaces 49 Initial deployment of ATM provides a LAN segment replacement for:
• Ethernets, token-rings, or FDDI networks
• Local area backbones between existing (non-ATM) LANs • Dedicated circuits of frame relay PVCs between IP routers
This RFC also describes extensions to the ARP protocol (RFC 826) in order to work over ATM. This is discussed separately in 2.10.1, “Address resolution (ATMARP and InATMARP)” on page 45.
First some ATM basics:
Cells All information (voice, image, video, data, and so on) is transported through the network in very short (48 data bytes plus a 5-byte header) blocks called cells.
Routing Information flow is along paths (called virtual channels) set up as a series of pointers through the network. The cell header contains an identifier that links the cell to the correct path that it will take towards its destination.
Cells on a particular virtual channel always follow the same path through the network and are delivered to the destination in the same order in which they were received.
Hardware-based switching ATM is designed so that simple
hardware-based logic elements may be employed at each node to perform the switching. On a link of 1 Gbps, a new cell arrives and a cell is transmitted every .43 microseconds. There is not a lot of time to decide what to do with an arriving packet.
Virtual Connection (VC) ATM provides a virtual connection switched environment. VC setup can be done on either a permanent virtual connection (PVC) or a dynamic switched virtual connection (SVC) basis. SVC call management is performed via implementations of the Q.93B protocol.
End-user interface The only way for a higher layer protocol to communicate across an ATM network is over the ATM Adaptation Layer (AAL). The function
of this layer is to perform the mapping of protocol data units (PDUs) into the information field of the ATM cell and vice versa. There are four different AAL types defined: AAL1, AAL2, AAL3/4, and AAL5. These AALs offer different services for higher layer protocols. Here are the characteristics of AAL5, which is used for TCP/IP:
• Message mode and streaming mode • Assured delivery
• Non-assured delivery (used by TCP/IP) • Blocking and segmentation of data • Multipoint operation
AAL5 provides the same functions as a LAN at the Medium Access Control (MAC) layer. The AAL type is known by the VC endpoints via the cell setup mechanism and is not carried in the ATM cell header. For PVCs, the AAL type is administratively configured at the endpoints when the connection (circuit) is set up. For SVCs, the AAL type is communicated along the VC path via Q.93B as part of call setup establishment and the endpoints use the signaled information for configuration. ATM switches generally do not care about the AAL type of VCs. The AAL5 format specifies a packet format with a maximum size of 64KB - 1 byte of user data. The primitives, which the higher layer protocol has to use in order to interface with the AAL layer (at the AAL service access point - SAP), are rigorously defined. When a high-layer protocol sends data, that data is processed first by the adaptation layer, then by the ATM layer, and then the physical layer takes over to send the data to the ATM network. The cells are transported by the network and then received on the other side first by the physical layer, then processed by the ATM layer, and then by the receiving AAL. When all this is complete, the information (data) is passed to the
Chapter 2. Network interfaces 51 receiving higher layer protocol. The total function performed by the ATM network has been the non-assured transport (it might have lost some) of information from one side to the other. Looked at from a traditional data processing viewpoint, all the ATM network has done is to replace a physical link connection with another kind of physical connection. All the higher layer network functions must still be performed (for example, IEEE 802.2).
Addressing An ATM Forum endpoint address is either encoded as a 20-byte OSI NSAP-based address (used for private network addressing, three formats possible) or is an E.164 Public UNI address (telephone number style address used for public ATM networks).2
Broadcast, Multicast There are currently no broadcast functions similar to LANs provided. But there is a multicast function available. The ATM term for multicast is point-to-multipoint connection.
2.10.2.1 The Logical IP Subnetwork (LIS)
The term LIS was introduced to map the logical IP structure to the ATM network. In the LIS scenario, each separate administrative entity configures its hosts and routers within a closed logical IP subnetwork (same IP
network/subnet number and address mask). Each LIS operates and
communicates independently of other LISs on the same ATM network. Hosts that are connected to an ATM network communicate directly to other hosts within the same LIS. This implies that all members of a LIS are able to communicate via ATM with all other members in the same LIS. (VC topology is fully meshed.) Communication to hosts outside of the local LIS is provided via an IP router. This router is an ATM endpoint attached to the ATM network that is configured as a member of one or more LISs. This configuration may result in a number of separate LISs operating over the same ATM network.
Hosts of differing IP subnets must communicate via an intermediate IP router, even though it may be possible to open a direct VC between the two IP members over the ATM network.
2 The ATM Forum is a worldwide organization, aimed at promoting ATM within the industry and the end-user community.
The membership includes more than 500 companies representing all sectors of the communications and computer industries, as well as a number of government agencies, research organizations, and users.
2.10.2.2 Multiprotocol encapsulation
If you want to use more than one type of network protocol (IP, IPX, and so on) concurrently over a physical network, you need a method of multiplexing the different protocols. This can be done in the case of ATM either by VC-based multiplexing or LLC encapsulation. If you choose VC-based multiplexing, you have to have a VC for each different protocol between the two hosts. The LLC encapsulation provides the multiplexing function at the LLC layer and
therefore needs only one VC. TCP/IP uses, according to RFC 2225 and 1483, the second method, because this kind of multiplexing was already defined in RFC 1042 for all other LAN types, such as Ethernet, token-ring, and FDDI.
With this definition, IP uses ATM simply as a LAN replacement. All the other benefits ATM has to offer, such as transportation of isochronous traffic, and so on, are not used. There is an IETF working group with the mission of improving the IP implementation and to interface with the ATM Forum in order to represent the interests of the Internet community for future standards.
To be exact, the TCP/IP PDU is encapsulated in an IEEE 802.2 LLC header followed by an IEEE 802.1a SubNetwork Attachment Point (SNAP) header and carried within the payload field of an AAL5 CPCS-PDU (Common Part Convergence Sublayer). The AAL5 CPCS-PDU format is shown in Figure 12.
3376E\3376FAL3 0 8 16 31
/ / / /
CCPS-UU CPI
CRC CPCS-PDU Payload
(up to 64 KB-1)
/ /
Pad (0-47 bytes)/ /
Length
Figure 12. AAL5 CPCS-PDU format
Chapter 2. Network interfaces 53 Where:
CPCS-PDU Payload The CPCS-PDU payload is shown in Figure 13.
Pad The Pad field pads out the CDCS-PDU to fit exactly into the ATM cells.
CPCS-UU The CPCS-UU (User-to-User identification) field is used to transparently transfer CPCS user-to-user information. This field has no function for the encapsulation and can be set to any value.
CPI The Common Part Indicator (CPI) field aligns the CPCS-PDU trailer with 64 bits.
Length The Length field indicates the length, in bytes, of the payload field. The maximum value is 65535, which is 64KB - 1.
CRC The CRC field protects the entire CPCS-PDU, except the CRC field itself.
The payload format for routed IP PDUs is shown in Figure 13.
3376E\3376FAL4 0 8 16 31
/ / / /
OUI cont. PID
LLC IP PDU (up to 64 KB-9)
OUI
Figure 13. CPCS-PDU payload format for IP PDUs
Where:
IP PDU Normal IP datagram, starting with the IP header.
LLC 3-byte LLC header with the format DSAP-SSAP-Ctrl. For IP data it is set to 0xAA-AA-03 to indicate the presence of a SNAP header.
The Ctrl field always has the value 0x03, specifying Unnumbered Information Command PDU.
OUI The 3-byte Organizationally Unique Identifier (OUI) identifies an organization that administers the meaning of the following 2-byte Protocol Identifier (PID). To specify an EtherType in PID, the OUI has to be set to 0x00-00-00.
PID The Protocol Identifier (PID) field specifies the protocol type of the following PDU. For IP datagrams, the assigned EtherType or PID is 0x08-00.
The default MTU size for IP members in an ATM network is discussed in RFC 1626 and defined to be 9180 bytes. The LLC/SNAP header is 8 bytes;
therefore, the default ATM AAL5 PDU size is 9188 bytes. The possible values can be between zero and 65535. You are allowed to change the MTU size but then all members of a LIS must be changed as well in order to have the same value. RFC 1755 recommends that all implementations should support MTU sizes up to and including 64 KB.
The address resolution in an ATM network is defined as an extension of the ARP protocol and is described in 2.10.1, “Address resolution (ATMARP and InATMARP)” on page 45.
There is no mapping from IP broadcast or multicast addresses to ATM broadcast or multicast addresses available. But there are no restrictions for transmitting or receiving IP datagrams specifying any of the four standard IP broadcast address forms as described in RFC 1122. Members, upon
receiving an IP broadcast or IP subnet broadcast for their LIS, must process the packet as if addressed to that station.