72 ATM NETWORKS
User-PDU CPI Length CRC-32
Pad CPS-UU
Figure 3.21 Encapsulation of a user-PDU.
integer multiple of 48 bytes. The padding is made up of unused bytes that do not convey any information.
• CPS user-to-user indication CPS-UU
: A 1-byte field used to transfer transparently CPS user-to-user information.
• Common part indicator CPI
: A 1-byte field to support future AAL 5 functions. •
Length : A 2-byte field used to indicate the length in bytes of the CPS-PDU payload,
i.e. the user-PDU. The receiver can refer to this field to detect whether any information has been lost or gained.
• CRC-32
: This 4-byte field contains the FCS calculated by the transmitting CPS over the entire contents of the CPS-PDU i.e., the user-PDU, pad, CPS-UU, CPI, and length.
The pattern used is: x
32
+ x
26
+ x
23
+ x
22
+ x
16
+ x
12
+ x
11
+ x
10
+ x
8
+ x
7
+ x
5
+ x
4
+ x
2
+ x +
1. The SAR sublayer fragments a CPS-PDU into a sequence of 48-byte segments, and
each segment is carried in the payload of an ATM cell. The ATM cell that carries the last segment of a CPS-PDU is flagged by setting the SDU-type to 1 in its PTI field see
Table 3.2. Specifically, each ATM cell that carries a segment of a CPS-PDU has its SDU type indication set to 0, except the ATM cell that carries the last segment of the CPS-PDU
whose PTI field contains the indication SDU type = 1.
The receiving SAR appends the payloads of the ATM cells into a buffer, associated with the VCC over which the ATM cells are being transmitted, until it either encounters
an ATM cell with an indication SDU-type = 1 in its PTI field, or the CPS-PDU exceeds the buffer. Upon occurrence of either event, the buffer is passed on to a higher-level
application with an indication as to whether the indication SDU-type = 1 was received or not, and in the case it was received, whether the CRC check was correct or not.
3.8 CLASSICAL IP AND ARP OVER ATM
Classical IP and ARP over ATM is a technique standardized by IETF designed to support
IP over ATM in a single logical IP subnet LIS. A LIS is a group of IP hosts that have the same IP network address, say 192.43.0.0, and the same subnet mask see Figure 3.22a.
Let us assume that the LANs are replaced by three interconnected ATM switches see Figure 3.22b. Each host can communicate directly with any other host in the subnetwork
over an ATM connection. The traditional IP model remains unchanged and the IP router is still used to connect to the outside of the subnet.
The word classical in the classical IP and ARP over ATM scheme refers to the use of ATM in support of the IP protocol stack operating in a LAN environment.
IP packets are encapsulated using the IEEE 802.2 LLCSNAP encapsulation. The pro- tocol used in the payload, such as IP, ARP, Appletalk, and IPX, is indicated in the
LLCSNAP header. An encapsulated packet becomes the payload of an AAL 5 frame. The maximum transfer unit MTU is fixed to 9180 bytes. Adding an 8-byte LLCSNAP
header makes the total at 9188 bytes, which is the defaulted size for an AAL 5 frame.
CLASSICAL IP AND ARP OVER ATM 73
a IP: 192.43.0.0 b
LAN LAN
LAN IP
router IP
router
Figure 3.22 A logical IP subnet LIS.
3.8.1 ATMARP
Each member of the LIS is configured with an IP address and an ATM address. When communicating with another member in the same LIS over ATM, it is necessary to resolve
the IP address of the destination host with its ATM address. IP addresses are resolved to ATM addresses using the ATMARP protocol within the LIS. This protocol is based on
ARP, see Section 6.1.3, and it has been extended to operate over a nonbroadcast unicast ATM network. The inverse ATMARP InATMARP protocol is used to resolve an ATM
address to an IP address. It is based on RARP see Section 6.1.3, but has been extended to support non-broadcast unicast ATM networks.
The ATMARP protocol uses an ATMARP server which can run on an IP host or an IP router and which must be located within the LIS. The LIS members are clients to the
ATMARP server, and are referred to as ATMARP clients. The ATMARP server maintains a table or a cache of IP and ATM address mappings. It learns about the IP and ATM
addresses of ATMARP clients through a registration process described below. At least one ATMARP server must be configured with each LIS. The following ATMARP messages
have been defined.
• ATMARP request
: An ATMARP client sends an ATMARP request to the ATMARP server to obtain the ATM address of a destination ATMARP client. The message contains
the client’s IP and ATM addresses, and the IP address of the destination client. •
ATMARP reply : This message is used by the ATMARP server to respond to an
ATMARP request with the requested ATM address. It contains the IP and ATM addres- ses of both the requesting and the destination clients.
• ATMARP NAK
: Negative response issued by the ATMARP server to an ATMARP request.
• InATMARP request
: Used to request the IP address of a destination. The message con- tains the sender’s IP and ATM addresses and the destination’s ATM address.
• InATMARP reply
: This is the response to an InATMARP request with the destination’s IP address. It contains the IP and ATM addresses of both the sender and the destination.
Registration An ATMARP client must first register its IP and ATM addresses with the ATMARP server.
To do this, the ATMARP protocol must be invoked as follows. Each ATMARP client is
74 ATM NETWORKS
configured with the ATM address of the ATMARP server. After the client establishes a connection to the ATMARP server, it transmits an ATMARP request on that connection.
In the message, it provides its own IP and ATM addresses and it requests the ATM address of itself by providing its own IP address as the destination IP address. The ATMARP
server checks against duplicate entries in its table, time stamps the entry, and adds it to its table. It confirms the registration of the ATMARP client by sending an ATMARP reply.
If a client has more than one IP address within the LIS, then it has to register each IP address with the ATMARP server.
Entries in the table of the ATMARP server are valid for a minimum of 20 minutes. If an entry ages beyond 20 minutes without being updated refreshed, then the entry is
removed from the table. Each ATMARP client is responsible for updating its entry in the ATMARP server’s table at least every fifteen minutes. To do this, the same procedure
for registering with the ATMARP server is used. That is, the ATMARP client sends an ATMARP request to the ATMARP server with the destination IP address set to its own
IP address. The ATMARP server updates the entry and confirms it by responding with an ATMARP reply.
Address resolution Let us assume that ATMARP client 1 wants to communicate with ATMARP client 2.
Assume too that both clients are in the same LIS. If there is already an established con- nection between the two clients, traffic can flow immediately. Otherwise, a connection can
be set up if client 1 knows the ATM address of the destination client 2. If its destination ATM address is not known, client 1 sends an ATMARP request to the ATMARP server.
If the server has the requested address in its table, it returns an ATMARP reply. Other- wise, it returns an ATMARP NAK. Upon receipt of the ATMARP reply, a connection is
established and traffic starts flowing.
An ATMARP client creates an entry in its ATMARP table for every connection PVCs or SVCs that it creates. An entry is valid for a maximum of fifteen minutes. When an
entry has aged, the client must update it. If there is no open connection associated with the entry, then the entry is deleted. If the entry is associated with an open connection,
then the client must update the entry prior to using the connection to transmit data. In the case of a PVC, the client transmits an InATMARP request and updates the entry on
receipt of the InATMARP reply. In the case of an SVC, it transmits an ATMARP request to the ATMARP server, and updates the entry on receipt of the ATMARP reply.
An ATMARP client is also permitted to initiate the above procedure for updating an entry in the table, before the entry has aged.
PROBLEMS
1. Why is there error control for the header and not for the payload of an ATM cell? 2. How long does it take to transmit an ATM cell over a link, when the link is:
a a T1 line? b an OC-3?
c an OC-12? d an OC-24?
e an OC-48? 3. Consider the HEC mechanism. Let p be the probability that a bit is received in error.
PROBLEMS 75
a With what probability a cell is rejected when the HEC state machine is in the correc- tion mode?
b With what probability a cell is rejected when the HEC state machine is in the detec- tion mode?
c Assume that the HEC state machine is in the correction mode. What is the probability that n
successive cells where n 1 will be rejected?
d Assume that the HEC state machine is in the correction mode. What is the probability pn that n successive cells will be accepted, where n
1? Hint: Write down the expression for p1 and p2, and express p3 as a function of p1 and p2. Then write down the
general expression for pn for any n as a function of pn − 1 and pn − 2. 4. Consider the case of an application running over an ATM network. Assume that each packet
generated by the application is carried by n ATM cells, which are transmitted back-to-back. The time to transmit a cell is T and the average time it takes for a cell to traverse the ATM network
and reach the destination is D. When all of the ATM cells belonging to the same packet are received by the destination, their payloads are extracted from the cells and are assembled to
the original packet. Subsequently, the CRC operation is carried out on the reassembled packet. If the CRC check is correct, the packet is released to the application. Otherwise, a negative
acknowledgment is sent back to the source requesting the retransmission of the entire packet. The time it takes to carry out the CRC check is F , and the time it takes for the negative
acknowledgment to reach the source is D. Let p be the probability that the ATM cell is received with erroneous payload.
a What is the probability that all n cells are received correctly?
b What is the probability that exactly m cells are received erroneously, where m n. c Write down the expression for the average time, required to transfer correctly an application
packet to the destination. d Plot the average time against the probability p, assuming that n = 30, D = 20 msec, T = 3
µ sec, and F = 0. Vary p from 0.1 to 0.00001.
e Discuss the results of the above plot in the light of the fact that there is no data link layer in ATM.
5. Consider the AAL 1 structured data transfer scheme. What is the value of the SDT pointer in the second and third cycle, when the structured block size is N bytes, N = 5, 10, 93, 156,
75, 1000. 6. Let us assume that the SDT pointer is not used in the AAL 1 structured data transfer scheme,
i.e. no CS-PDU P format is used within each cycle. Give an example where the receiver might not be able to find the beginning of a structured block.
7. In AAL 2, the receiving CPS retrieves the CPS-packets carried in the payload of a CPS-PDU using the offset field OSF in the header of the CPS-PDU and the LI field in the header of each
CPS-packet carried in the CPS-PDU. The use of the OSF might appear redundant Construct an example where the receiving CPS cannot retrieve the CPS-packets carried in a CPS-PDU by
using only the LI field in each CPS-packet. Assume no cell loss or corrupted ATM payloads.
8. The following CPS-packets have to be transmitted over the same AAL2 connection: CPS-packet 1 20 bytes, CPS-packet 2 48 bytes, CPS-packet 3 35 bytes, and CPS-packet 4 20 bytes.
For simplicity, assume that the length of each of these CPS-packets includes the 3-byte CPS- packet header.
a How many CPS-PDUs are required to carry these four CPS-packets? b What is the value of the OSF field in each CPS-PDU?
9. A voice source is active talkspurt for 400 msec and silent for 600 msec. Let us assume that a voice call is transported over an ATM network via AAL 2. The voice is coded to 32 Kbps
and silent periods are suppressed. Assume that the SSCS has a timer set to 5 msec. That is, each time the timer expires, it sends the data it has gathered to CPS as a CPS-packet. Assume
that the timer begins at the beginning of the busy period. a How long in bytes is each CPS-packet?
b How many CPS-packets are produced in each active period?