As we start to examine the intricacies of the transport layer, it's important to remember one of the most fundamental distinctions between the protocols of the transport layer and the protocols of the application layer; specifically, the distinction between what kinds of interactions each layer is concerned with. The protocols of the application layer are concerned with the communication between business objects. They should only deal with the high-level representations of your application's domain entities, and how those entities move through your system.
Meanwhile, with transport layer protocols, the concern is around atomic network packets, which are used to transmit context-agnostic data packets as well as to establish and negotiate connections.