Transport Layer Topics: TCP, Multiplexing & Sockets

What is the Transport Layer?

Image for post
Image for post

Why do we need reliability?

How do we transfer data reliably over an unreliable channel?

Image for post
Image for post

So what is TCP?

Image for post
Image for post

How do we initiate a Transport Layer Connection and manage data flow?

Image for post
Image for post

Flow Control

Image for post
Image for post
TCP sliding window mechanism — researchgate.net

Network Congestion

Image for post
Image for post
At each ‘hop’ in the network, the packet needs to be processed. The router can only process so much data at once, so it has a buffer for the waiting data. If the buffer over-flows, the data packets are dropped. TCP retransmits the lost data. Since retransmission is inefficient, it shrinks the window to avoid dropping more data in future congestion.

TCP Segment Deep Dive

Image for post
Image for post
Nesting of segments, packets, and frames — Launch School
Image for post
Image for post
Note: This article pertains to IPv4. IPv6 headers don’t include a checksum for TCP because it is implemented at the Transport or Data Link/Link layers.

Why do we care about the source and destination port addresses in the TCP Segment?

Sockets

Image for post
Image for post

Multiplexing & De-Multiplexing

Image for post
Image for post

Why is multiplexing necessary?

Thanks for reading my overview of the Transmission Control Protocol. Leave a comment or post if you have any questions!

Journalist and endlessly curious person. One half of @hatchbeat.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store