Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Asynchronous Transfer Mode
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Protocol architecture== To minimize [[queuing delay]] and [[packet delay variation]] (PDV), all ATM cells are the same small size. Reduction of PDV is particularly important when carrying voice traffic, because the conversion of digitized voice into an analog audio signal is an inherently [[real time computing|real-time]] process. The [[codec|decoder]] needs an evenly spaced stream of data items. At the time of the design of ATM, {{nowrap|155 Mbit/s}} [[synchronous digital hierarchy]] with {{nowrap|135 Mbit/s}} payload was considered a fast optical network link, and many [[plesiochronous digital hierarchy]] links in the digital network were considerably slower, ranging from 1.544 to {{nowrap|45 Mbit/s}} in the US, and 2 to {{nowrap|34 Mbit/s}} in Europe. At {{nowrap|155 Mbit/s}}, a typical full-length 1,500 byte [[Ethernet frame]] would take 77.42 [[μs]] to transmit. On a lower-speed {{nowrap|1.544 Mbit/s}} [[T1 line]], the same packet would take up to 7.8 milliseconds. A queuing delay induced by several such data packets might exceed the figure of 7.8 ms several times over. This was considered unacceptable for speech traffic. The design of ATM aimed for a low-jitter network interface. Cells were introduced to provide short queuing delays while continuing to support [[datagram]] traffic. ATM broke up all data packets and voice streams into 48-byte pieces, adding a 5-byte routing header to each one so that they could be reassembled later. Being 1/30th the size reduced cell contention jitter by the same factor of 30. The choice of 48 bytes was political rather than technical.<ref>{{cite book |first=Daniel |last=Stevenson |chapter=Electropolitical Correctness and High-Speed Networking, or, Why ATM Is Like a Nose |isbn=0-306-44486-0 |title=Proceedings of TriCom '93 |date=April 1993 |pages=15–20 |doi=10.1007/978-1-4615-2844-9_2}}</ref><ref>{{cite book |first=Carl |last=Malamud |author-link=Carl Malamud |title=STACKS, Interoperability in Today's Computer Networks |year=1992 |page=78 |isbn=0-13-484080-1 |url=https://archive.org/details/stacksinterroper00carl |quote=After great debate, the committees finally coalesced into two camps: one advocating 32-byte cells, the other advocating 64-byte cells. In the spirit of technical compromise, a 48-byte ATM payload was finally agreed upon.}}</ref> When the [[CCITT]] (now ITU-T) was standardizing ATM, parties from the United States wanted a 64-byte payload because this was felt to be a good compromise between larger payloads optimized for data transmission and shorter payloads optimized for real-time applications like voice. Parties from Europe wanted 32-byte payloads because the small size (4 ms of voice data) would avoid the need for [[echo cancellation]] on domestic voice calls. The United States, due to its larger size, already had echo cancellers widely deployed. Most of the European parties eventually came around to the arguments made by the Americans, but France and a few others held out for a shorter cell length. 48 bytes was chosen as a compromise, despite having all the disadvantages of both proposals and the additional inconvenience of not being a [[power of two]] in size.<ref>{{cite tech report |type=Class notes |title=CS442 Communications and Networking: Miscellaneous Topics |first=Kenrick |last=Mock |publisher=University of Alaska |url=http://cse.uaa.alaska.edu/~afkjm/cs442/handouts/MiscTopics.pdf#page=2 |quote=1989: CCITT compromised and set the payload at 48. Unfortunately, nobody was happy. US didn’t get a power of 2, 5 byte header is 10% overhead. 48 bytes too high and France would need echo cancellers.}}</ref> 5-byte headers were chosen because it was thought that 10% of the payload was the maximum price to pay for routing information.<ref name="bisdn">{{cite tech report |last=Ayanoglu |first=Ender |title=B-ISDN (Broadband Integrated Services Digital Network) |url=http://repositories.cdlib.org/cpcc/2/ |publisher=Center for Pervasive Communications and Computing, UC Irvine |access-date=3 June 2011 |last2=Akar |first2=Nail |date=25 May 2002 }}</ref> ===Cell structure=== An ATM cell consists of a 5-byte header and a 48-byte payload. ATM defines two different cell formats: [[user–network interface]] (UNI) and [[network-to-network interface|network–network interface]] (NNI). Most ATM links use UNI cell format. {| width="100%" |----- | '''Diagram of a UNI ATM cell''' {| style="width: 20em; text-align: left;" border="1" cellpadding="2" cellspacing="0" |----- | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | 7 | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | 4 | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | 3 | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | 0 |----- | colspan="4" rowspan="1" style="background-color: rgb(102, 255, 255); vertical-align: top; text-align: center; white-space: nowrap; width: 10em;" | GFC | colspan="4" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 10em; background-color: rgb(255, 204, 255);" | VPI<br /> |----- | colspan="4" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 10em; background-color: rgb(255, 204, 255);" | VPI<br /> | colspan="4" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 10em; background-color: rgb(255, 255, 153);" | VCI<br /> |----- | colspan="8" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 20em; background-color: rgb(255, 255, 153);" | VCI<br /> |----- | colspan="4" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 10em; background-color: rgb(255, 255, 153);" | VCI | colspan="3" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 7.5em; background-color: rgb(255, 255, 204);" | PT | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em; background-color: rgb(255, 204, 204);" | CLP |----- | colspan="8" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 20em; background-color: rgb(153, 255, 153);" | HEC |----- | colspan="8" rowspan="1" style="background-color: rgb(204, 204, 204); vertical-align: top; text-align: center; white-space: nowrap; width: 20em;" | <br /> <br /> Payload and padding if necessary (48 bytes)<br /> <br /> |} | '''Diagram of an NNI ATM cell''' {| style="width: 20em; text-align: left;" border="1" cellpadding="2" cellspacing="0" |----- | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | 7 | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | 4 | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | 3 | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em;" | 0 |----- | colspan="8" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 20em; background-color: rgb(255, 204, 255);" | VPI<br /> |----- | colspan="4" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 10em; background-color: rgb(255, 204, 255);" | VPI<br /> | colspan="4" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 10em; background-color: rgb(255, 255, 153);" | VCI<br /> |----- | colspan="8" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 20em; background-color: rgb(255, 255, 153);" | VCI<br /> |----- | colspan="4" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 10em; background-color: rgb(255, 255, 153);" | VCI | colspan="3" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 7.5em; background-color: rgb(255, 255, 204);" | PT | style="vertical-align: top; text-align: center; white-space: nowrap; width: 2.5em; background-color: rgb(255, 204, 204);" | CLP |----- | colspan="8" rowspan="1" style="vertical-align: top; text-align: center; white-space: nowrap; width: 20em; background-color: rgb(153, 255, 153);" | HEC |----- | colspan="8" rowspan="1" style="background-color: rgb(204, 204, 204); vertical-align: top; text-align: center; white-space: nowrap; width: 20em;" | <br /> <br /> Payload and padding if necessary (48 bytes)<br /> <br /> |} |} ;GFC :The generic flow control (GFC) field is a 4-bit field that was originally added to support the connection of ATM networks to shared access networks such as a distributed queue dual bus (DQDB) ring. The GFC field was designed to give the User-Network Interface (UNI) 4 bits in which to negotiate multiplexing and flow control among the cells of various ATM connections. However, the use and exact values of the GFC field have not been standardized, and the field is always set to 0000.<ref>{{cite web|title=ATM Cell Structure|date=11 September 2008 |url=https://technet.microsoft.com/en-us/library/cc976978.aspx|access-date=13 June 2017}}</ref> ;VPI :[[Virtual path identifier]] (8 bits UNI, or 12 bits NNI) ;VCI :[[Virtual channel identifier]] (16 bits) ;PT :Payload type (3 bits) ::Bit 3 (msbit): Network management cell. If 0, user data cell and the following apply: ::Bit 2: Explicit forward congestion indication (EFCI); 1 = [[network congestion]] experienced ::Bit 1 (lsbit): ATM user-to-user (AAU) bit. Used by [[AAL5]] to indicate packet boundaries. ;CLP :Cell loss priority (1-bit) ;HEC :[[CRC-based framing|Header error control]] (8-bit CRC, polynomial = X<sup>8</sup> + X<sup>2</sup> + X + 1) ATM uses the PT field to designate various special kinds of cells for [[operations, administration and management]] (OAM) purposes, and to delineate packet boundaries in some [[ATM adaptation layer]]s (AAL). If the [[most significant bit]] (MSB) of the PT field is 0, this is a user data cell, and the other two bits are used to indicate network congestion and as a general-purpose header bit available for ATM adaptation layers. If the MSB is 1, this is a management cell, and the other two bits indicate the type: network management segment, network management end-to-end, resource management, and reserved for future use. Several ATM link protocols use the HEC field to drive a [[CRC-based framing]] algorithm, which allows locating the ATM cells with no overhead beyond what is otherwise needed for header protection. The 8-bit CRC is used to correct single-bit header errors and detect multi-bit header errors. When multi-bit header errors are detected, the current and subsequent cells are dropped until a cell with no header errors is found. A UNI cell reserves the GFC field for a local [[flow control (data)|flow control]] and sub-multiplexing system between users. This was intended to allow several terminals to share a single network connection in the same way that two ISDN phones can share a single basic rate ISDN connection. All four GFC bits must be zero by default. The NNI cell format replicates the UNI format almost exactly, except that the 4-bit GFC field is re-allocated to the VPI field, extending the VPI to 12 bits. Thus, a single NNI ATM interconnection is capable of addressing almost 2<sup>12</sup> VPs of up to almost 2<sup>16</sup> VCs each.{{efn|In practice some of the VP and VC numbers are reserved.}} ===Service types=== ATM supports different types of services via AALs. Standardized AALs include AAL1, AAL2, and AAL5, and the rarely used<ref>{{Cite web|title=A Brief Overview of ATM: Protocol Layers, LAN Emulation, and Traffic Management|url=https://www.cse.wustl.edu/~jain/papers/ftp/atm_tut/index.html|access-date=2021-07-21|website=www.cse.wustl.edu}}</ref> AAL3 and AAL4. AAL1 is used for constant bit rate (CBR) services and circuit emulation. Synchronization is also maintained at AAL1. AAL2 through AAL4 are used for [[variable bitrate]] (VBR) services, and AAL5 for data. Which AAL is in use for a given cell is not encoded in the cell. Instead, it is negotiated by or configured at the endpoints on a per-virtual-connection basis. Following the initial design of ATM, networks have become much faster. A 1500 byte (12000-bit) full-size [[Ethernet frame]] takes only 1.2 μs to transmit on a {{nowrap|10 Gbit/s}} network, reducing the motivation for small cells to reduce jitter due to contention. The increased link speeds by themselves do not eliminate jitter due to queuing. ATM provides a useful ability to carry multiple logical circuits on a single physical or virtual medium, although other techniques exist, such as [[Point-to-Point Protocol#Multiclass PPP|Multi-link PPP]], Ethernet [[VLAN]]s, [[VxLAN]], [[MPLS]], and multi-protocol support over [[SONET]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)