A datagram is a basic transfer unit associated with a
packet-switched network. Datagrams are typically structured in
header and
payload sections. Datagrams provide a
connectionless communication service across a packet-switched network. The delivery, arrival time, and order of arrival of datagrams need not be guaranteed by the network.
History
In the early 1970s, the term ''datagram'' was created by combining the words ''data'' and ''telegram'' by the
CCITT rapporteur on packet switching,
Halvor Bothner-By. While the word was new, the concept had already a long history.
In 1964,
Paul Baran
Paul Baran (born Pesach Baran ; April 29, 1926 – March 26, 2011) was a Polish-American engineer who was a pioneer in the development of computer networks. He was one of the two independent inventors of packet switching, which is today the do ...
described, in a
RAND Corporation
The RAND Corporation, doing business as RAND, is an American nonprofit global policy think tank, research institute, and public sector consulting firm. RAND engages in research and development (R&D) in several fields and industries. Since the ...
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. Baran wrote: "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". The concept of what we now call a
virtual circuit
A virtual circuit (VC) is a means of transporting data over a data network, based on packet switching and in which a connection is first established across the network between two endpoints. The network, rather than having a fixed data rate reser ...
appears in the design,
although no network was built.
In 1967,
Donald Davies
Donald Watts Davies, (7 June 1924 – 28 May 2000) was a Welsh computer scientist and Internet pioneer who was employed at the UK National Physical Laboratory (NPL).
During 1965-67 he invented modern data communications, including packet s ...
published a seminal article in which he introduced the
''packet'' and ''
packet switching
In telecommunications, packet switching is a method of grouping Data (computing), data into short messages in fixed format, i.e. ''network packet, packets,'' that are transmitted over a digital Telecommunications network, network. Packets consi ...
''. 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. Davies wrote: "we were really rather against the virtual circuit, because we believed that a communication network should only concern itself with packets, and that any protocols involved in assembling these packets should be done end-to-end, between the customers themselves."
In 1970, Lawrence Roberts and Barry D. Wessler published an article about
ARPANET
The Advanced Research Projects Agency Network (ARPANET) was the first wide-area packet-switched network with distributed control and one of the first computer networks to implement the TCP/IP protocol suite. Both technologies became the tec ...
, the first multi-node packet-switching network. An accompanying paper described its switching nodes (the
IMPs) and its packet formats. The network core performed datagram switching as in Baran's and Davies' model, but the service offered to hosts by the network was
connection oriented.
A reliable message transfer service was thus offered to user computers, thus greatly simplifying the network design. This made the ARPANET what would come to be called a
virtual circuit
A virtual circuit (VC) is a means of transporting data over a data network, based on packet switching and in which a connection is first established across the network between two endpoints. The network, rather than having a fixed data rate reser ...
network.
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.
In 1973,
Louis Pouzin
Louis Pouzin (born 20 April 1931) is a French computer scientist and Internet pioneer. He directed the development of the CYCLADES computer network in France the early 1970s, which implemented a novel design for packet communication. He was the ...
presented his design for
CYCLADES
The CYCLADES computer network () was a French research network created in the early 1970s. It was one of the pioneering networks experimenting with the concept of packet switching and, unlike the ARPANET, was explicitly designed to facilitate i ...
, the first large-scale network implementing the pure Davies datagram model.
The CYCLADES team has thus been the first to tackle the highly complex problem of providing user applications a reliable
virtual circuit
A virtual circuit (VC) is a means of transporting data over a data network, based on packet switching and in which a connection is first established across the network between two endpoints. The network, rather than having a fixed data rate reser ...
service while using the
end-to-end principle
The end-to-end principle is a design principle in computer networking that requires application-specific features (such as reliability and security) to be implemented in the communicating end nodes of the network, instead of in the network itse ...
in a network service known to possibly produce non-negligible datagram losses and reordering.
Although Pouzin's concern "in a first stage is not to make breakthrough
icin packet switching technology, but to build a reliable communications tool for Cyclades",
two members of his team,
Hubert Zimmerman and
Gérard Le Lann, made significant contributions to the design of Internet's TCP that
Vint Cerf, its main designer, acknowledged.
In 1981, the Defense Advanced Research Projects Agency (
DARPA
The Defense Advanced Research Projects Agency (DARPA) is a research and development agency of the United States Department of Defense responsible for the development of emerging technologies for use by the military. Originally known as the Adva ...
) issued the first specification the
Internet Protocol
The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.
IP ...
(IP). It introduced a major evolution of the datagram concept: ''
fragmentation.'' With fragmentation, some parts of the global network may use large packet size (typically
local area network
A local area network (LAN) is a computer network that interconnects computers within a limited area such as a residence, campus, or building, and has its network equipment and interconnects locally managed. LANs facilitate the distribution of da ...
s 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
The Internet Engineering Task Force (IETF) is a standards organization for the Internet standard, Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster ...
(IETF) sanctioned the use of the already largely deployed
network address translation
Network address translation (NAT) is a method of mapping an IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic Router (computing), routing device. The te ...
(NAT) whereby each public address can be shared by several private devices. With it, the forthcoming
Internet Address exhaustion was delayed, leaving enough time to introduce
IPv6
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communication protocol, communications protocol that provides an identification and location system for computers on networks and routes traffic ...
, 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
IETF
The Internet Engineering Task Force (IETF) is a standards organization for the Internet standard, Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster ...
upgraded its ''informational'' 1998 RFC 2309 that datagram switching nodes perform
active queue management, to make it a stronger and more detailed ''
best current practice'' recommendation through the publication of RFC 7567. While the initial datagram queueing model was simple to implement and needed no more tuning than queue lengths, support of more sophisticated and parametrized mechanisms were found necessary "to improve and preserve Internet performance" (
RED,
ECN etc.). Further research on the subject was also called for, with a list of identified items.
Definition
The term ''datagram'' is defined as follows:
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.
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.
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
Internet Protocol
The
Internet Protocol
The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.
IP ...
(IP) defines standards for several types of datagrams. The
internet layer
The internet layer is a group of internetworking methods, protocols, and specifications in the Internet protocol suite that are used to transport network packets from the originating host across network boundaries; if necessary, to the desti ...
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
{{Reflist
Units of information
Packets (information technology)