Datagram
A datagram is a basic transfer unit associated with a
History
In the early 1970s, the term datagram was created by combining the words data and telegram by the
While the word was new, the concept had already a long history.In 1964, Paul Baran described, in a RAND Corporation report, a hypothetical military network having to resist a nuclear attack. Small standardized message blocks, bearing source and destination addresses, were stored and forwarded in computer nodes of a highly redundant meshed computer network.[4] "The network user who has called up a virtual connection to an end station and has transmitted messages ... might also view the system as a black box providing an apparent circuit connection".
In 1967, Donald Davies published a seminal article in which he introduced the packet and packet switching.[5] His proposed core network is similar to the one proposed by Paul Baran though developed independently. He assumes that "all users of the network will provide themselves with some kind of error control". His target is a "common-carrier communication network". To support remote access to computer services by user terminals, which at that time were transmitted character by character, he included, at the network periphery, interface computers that convert character flows into packet flows and vice versa.
In 1970, Lawrence Roberts and Barry D. Wessler published an article about
Roberts presented the idea of packet switching to the communication professionals and faced anger and hostility. Before ARPANET was operating, they argued that the router buffers would quickly run out. After the ARPANET was operating, they argued packet switching would never be economic without the government subsidy. Baran faced the same rejection and thus failed to convince the military to construct a packet-switching network.[11]
In 1973,
In 1981, the Defense Advanced Research Projects Agency (DARPA) issued the first specification the Internet Protocol (IP). It introduced a major evolution of the datagram concept: fragmentation.[16] With fragmentation, some parts of the global network may use large packet size (typically local area networks to minimize processing overhead), while some others may impose smaller packet sizes (typically wide area networks to minimize response time). Network nodes may fragment a datagram into several smaller packets.
In 1999, the Internet Engineering Task Force (IETF) sanctioned the use of the already largely deployed network address translation (NAT) whereby each public address can be shared by several private devices.[17] With it, the forthcoming Internet Address exhaustion was delayed, leaving enough time to introduce IPv6, the new generation of Internet Protocol supporting longer addresses. The initial principle of full end to end network transparency to datagrams was for this relaxed: NAT nodes had to manage per-connection states, making them in part connection oriented.
In 2015, the
Definition
The term datagram is defined as follows:[19]
"A self-contained, independent entity of data carrying sufficient information to be routed from the source to the destination computer without reliance on earlier exchanges between this source and destination computer and the transporting network."
— RFC 1594
A datagram needs to be self-contained without reliance on earlier exchanges because there is no connection of fixed duration between the two communicating points as there is, for example, in most voice telephone conversations.[20]
Datagram service is often compared to a mail delivery service; the user only provides the destination address but receives no guarantee of delivery, and no confirmation upon successful receipt. Datagram service is therefore considered unreliable. Datagram service routes datagrams without first creating a predetermined path. Datagram service is therefore considered connectionless. There is also no consideration given to the order in which it and other datagrams are sent or received. In fact, many datagrams in the same group can travel along different paths before reaching the same destination in a different order.[21]
Structure
Each datagram has two components, a header and a data payload. The header contains all the information sufficient for routing from the originating equipment to the destination without relying on prior exchanges between the equipment and the network. Headers may include source and destination addresses as well as type and length fields. The payload is the data to be transported. This process of nesting data payloads in a tagged header is called encapsulation.
Examples
OSI layer | Name |
---|---|
Layer 4 | TCP segment
|
Layer 3 | Network packet |
Layer 2 | Ethernet frame (IEEE 802.3) Wireless LAN frame (IEEE 802.11) |
Layer 1 | Chip (CDMA) |
Internet Protocol
The Internet Protocol (IP) defines standards for several types of datagrams. The internet layer is a datagram service provided by an IP. For example, UDP is run by a datagram service on the internet layer. IP is an entirely connectionless, best effort, unreliable, message delivery service. TCP is a higher-level protocol running on top of IP that provides a reliable connection-oriented service.
See also
- Datagram socket
- Frame (networking)
- Protocol Wars
References
- ^ "The CCITT studies packet switching as part of public data network development".
- .
- ^ "Comment j'ai inventé le Datagramme" (in French). Archived from the original on 2019-02-28.
- ^ "On distributed communications networks" (PDF). Archived from the original (PDF) on 2016-10-26.
- ^ "A digital communication network for computers giving rapid response at remote terminals" (PDF). Archived (PDF) from the original on 2022-10-09.
- S2CID 9343511.
- S2CID 9647377.
- ^ "INTERFACE MESSAGE PROCESSOR Specifications for the Innterconnection of a Host" (PDF). January 2014.
three parameters uniquely specify a connection between source and destination Hosts." "The destination IMP returns a positive acknowledgment for receipt of the message to the source IMP, which in turn passes this acknowledgment to the source Host." "Each link is unidirectional and is controlled by the network so that no more than one message at a time may be sent over it.
- ^ Pelkey, James. "8.4 Transmission Control Protocol (TCP) 1973-1976". Entrepreneurial Capitalism and Innovation: A History of Computer Communications 1968–1988.
Arpanet had its deficiencies, however, for it was neither a true datagram network nor did it provide end-to-end error correction.
- ^ "An Interview with LOUIS POUZIN Conducted by Andrew L. Russell" (PDF). April 2012.
Arpanet was virtual circuit." "essentially a virtual circuit service using internal datagram
- ISBN 978-0-201-11259-7, retrieved 2023-11-30
- ^ a b Pouzen, Louis. "Presentation and major design aspects of the Cyclades network". Archived from the original on September 27, 2007.
- .
- ^ Bennett, Richard (September 2009). "Designed for Change: End-to-End Arguments, Internet Innovation, and the Net Neutrality Debate" (PDF). Information Technology and Innovation Foundation. pp. 7, 11. Retrieved 11 September 2017.
- . NIC 2. INWG 72.
- .
- . Informational.
- .
- .
- ISBN 978-0-13-255317-9.
- .