CCNA / CCENT / Network+ Tutorial: TCP, UDP, and the 3-Way Handshake

In this CCNA and CCENT tutorial series, we’ll take a look at the goings-on at the Transport layer of the OSI model.   TCP and UDP get the jobs done here, but they do so in wildly different styles.   It’s imperative to know these differences on exam day!

(It’s also important for Network+ exam success, so please share this page with anyone working on that important certification.  Thank you!)

TCP:

  • Guarantees delivery of segments (the data unit at the Transport layer)
  • Performs error detection and recovery.
  • Performs “windowing.”
  • Is connection-oriented, meaning there’s two-way communication between our devices before the data is actually sent.

UDP:

  • “Best-effort” delivery.
  • No error detection.
  • No windowing.
  • Is connectionless, meaning there’s no communication between hosts before the data is sent – it’s just sent.

That first TCP bullet point might be enough for us to decide to use TCP for everything.  Guaranteed delivery vs. “we’ll do our best.” Why wouldn’t I want guaranteed delivery of every data segment?

There must be a reason to use UDP since our networks use it every minute of every day.  UDP’s “clients” include DHCP, and UDP is used to handle our most delay-sensitive types of network traffic – voice and video.

If TCP is so great, why is UDP so popular?  Keep that question in mind as we have a look at the details of these TCP features, starting with the three-way handshake.

A Three-Way Handshake?

That’s what I said the first time I heard about TCP. How can you have a three-way handshake?  And even if you can have one, why would you want one?

With TCP, there’s work to be done before segment transmission.  The involved devices have to agree on basic parameters of the conversation before the conversation can occur, and this agreement happens during our three-way handshake:

Step 1: The initiator sends a TCP segment with the synchronization (SYN) bit set.   The TCP sequence number, a major part of TCP functions, is the primary value synched.

TCP Three-Way Handshake, Part 1: The SYN

Step 2:  The recipient responds with a TCP segment of its own, this one with the SYN bit set along with the Acknowledgement (ACK) bit set, hence the name SYN/ACK.

TCP Three-Way Handshake, Part 2: SYN/ACK

Step 3:  The initiator then sends an ACK back, acknowledging the receipt of the SYN/ACK, and the three-way handshake is complete.

TCP 3-Way Handshake, Part 3: The ACK

I would illustrate the UDP three-way handshake, but there’s no such thing.   We’ll keep that in mind as we look at another great TCP feature,  TCP Error Detection and Recovery, in the next part of this free CCNA tutorial.

And when you’re done here, check out Chris Bryant’s CCNA YouTube channel and subscribe while you’re there.  A major new series of videos begins in September 2018.  You’ll want to be there!