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. Datagrams are completely self contained. They have a source and a destination, but nothing that could be called a connection.