4 - Transport Layer
Transport Layer
- establishes a reliable communication stream between a pair of systems across an unreliable network by putting sequence numbers in packets, holding packets at the destination until they can be delivered in order, and retransmitting lost packets
The Need for Transport Layer
underlying the transport layer is the network layer which has limitations:
- drop messages
- reorder messages
- deliver duplicate copies of a message
- limit the message to a finite size
- deliver messages after an arbitrarily long delay
the transport layer can provide (but is not necessary):
- guarantees message delivery
- delivers messages in the same order they are sent
- delivers at most one copy of each message
- supports arbitrarily large messages
- supports synchronization between the sender and the receiver
- allows the receiver to apply flow control to the sender
- demultiplexing - supports multiple application processes on each host (port numbers)
Types of Transport/End-to-End Services/Protocols
- simple asynchronous demultiplexing service
- reliable byte-stream service
- request/reply service
- real-time service
, multiple selections available,