Wiktionary
n. (context computing English) A packet of data passed across a network
Wikipedia
A datagram is a basic transfer unit associated with a packet-switched network. The delivery, arrival time, and order of arrival need not be guaranteed by the network.
Usage examples of "datagram".
There is no error detection or correction using these datagram or broadcast methods.
However, datagram communication allows for communication without having to establish a session.
As with other datagram services, the NetBIOS datagrams are connectionless and unreliable.
The Receive_datagram command also returns the name of the sender, in addition to the actual datagram data.
If NetBIOS receives a datagram, but there are no Receive_datagram commands pending, then the datagram is discarded.
When a broadcast datagram is received by a NetBIOS node, every process that has issued a Receive_Broadcast_datagram command receives the datagram.
If none of these commands are outstanding when the broadcast datagram is received, the datagram is discarded.
Generally, TCP/IP applications use 4 layers: an application protocol such as mail, a protocol such as TCP that provides services need by many applications IP, which provides the basic service of getting datagrams to their destination the protocols needed to manage a specific physical medium, such as Ethernet or a point to point line.
However at some level, information from those connections is broken up into datagrams, and those datagrams are treated by the network as completely separate.
However while those datagrams are in transit, the network doesn't know that there is any connection between them.
It is perfectly possible that datagram 14 will actually arrive before datagram 13.
It is also possible that somewhere in the network, an error will occur, and some datagram won't get through at all.
Technically, datagram is the right word to use when describing TCP/IP.
In most cases a packet simply contains a datagram, so there is very little difference.
TCP (the "transmission control protocol") is responsible for breaking up the message into datagrams, reassembling them at the other end, resending anything that gets lost, and putting things back in the right order.