Connected: An Internet Encyclopedia
Datagrams and Streams

Up: Connected: An Internet Encyclopedia
Up: Programmed Instruction Course
Up: Section 3 - The IP Protocol
Prev: Binary Arithmetic
Next: Model of Operation

Datagrams and Streams

Datagrams and Streams It's important to understand the difference between datagrams and streams, since IP is a totally datagram-oriented protocol, though most network operations use streams.


In modern data networking, it is important to distinguish between datagrams and streams.

A stream is what we'd typically think of as a communication channel. Remote logins, file transfers, mail delivery - all use streams. A stream appears to be like a pipeline. It has two endpoints. Data is put in one end and comes out the other. None of the data is duplicated, or discarded, or reorganized in any way. Two streams can be paired together to form a full duplex connection.

A datagram, often called a packet, is much more atomic in nature. It is a small piece of data, often required to be less than a maximum length (typically in the 256 to 2000 byte range). Datagrams are completely self contained. They have a source and a destination, but nothing that could be called a connection. Datagrams have no relationship to any others that came before or after them.

Although most networking communication uses streams, all Internet transfers are in the form of datagrams. Internet streams are actually emulated using datagrams by the TCP Protocol. To diagnose Internet operation, a packet decoder such as TCPdump is used to view individual packets. This, along with a knowledge of TCP operation, enables the Internet engineer to assemble a mental picture of network operation.


Next: Model of Operation

Connected: An Internet Encyclopedia
Datagrams and Streams