transport layer Flashcards
what type of communication does transport layer provides
logical communication
between application processes running on different hosts.
where are Transport-layer protocols implemented
in the end systems (not in network routers)
sequence of transport layer actions
Sender:
* is passed an application layer message
* determines segment header fields values
* creates segment
* passes segment to IP
Receiver:
* extracts application-layer
message
* checks header values
* extracts application layer mesage
* demultiplexes message up to application via socket
transport protocols
TCP (Transmission Control Protocol)
- Reliable data transfer
- connection-oriented
- congestion control
- converts IP’s unreliable service between end systems into a reliable data transport service between processes
- it’s point-to-point (1 sender, 1 receiver) and full-duplex (it always exist a data flux in one direction and also in the other one), no multicasting.
- continue to resend a segment until the receipt of the segment has been acknowledged by the destination.
- maintains connection state in the end systems
- 20 bytes of header overhead
- Used for apps requiring no errors on data transfer.
- A TCP socket is identified by a four-tuple [source IP address, source port number, destination IP address, destination port number]. ( host uses all four values to direct (demultiplex) the segment to the appropriate socket.)
UDP (User Datagram Protocol)
- unreliable
- connecttionless
- takes messages from the application process, attaches source and destination port number fields for the multiplexing/demultiplexing service, adds two other small fields, and passes the resulting segment to the network layer
- 8 byte of packet overhead
- No delay (immediately pass the segment to the network layer)
- Main use: streaming app, DNS
- UDP socket is identified only by a two-tuple [destination IP address, destination port number] ( demultiplexing using destination port number only)
TCP congestion control
vedi slide
multiplexing and demultiplexing
- multiplexing = gathering data chunks at the source host from different sockets, encapsulating them with headers to create segments, and passing the segments to the network layer
- demultiplexing = use header info to deliver received segments to correct socket (Understand if the specific segment has to go to Skype, Netflix or others (WhatsApp
message doesn’t have to arrive on Netflix))
to to these we need source port number field and destination port number field (e.g., HTTP port 80)