In this video, we examine the Transport Layer of the OSI model.
- Click to share on LinkedIn (Opens in new window)
- Click to share on Reddit (Opens in new window)
- Click to share on Twitter (Opens in new window)
- Click to share on Facebook (Opens in new window)
- Click to share on Pinterest (Opens in new window)
- Click to share on Tumblr (Opens in new window)
- Click to share on Telegram (Opens in new window)
- Click to share on Skype (Opens in new window)
- Click to share on WhatsApp (Opens in new window)
- Click to share on Pocket (Opens in new window)
- Click to print (Opens in new window)
- Click to email a link to a friend (Opens in new window)
11 thoughts on “TCP Versus UDP”
Does UDP perform segmentation? Also in your book it says that “A user of a reliable transport layer service must establish a connection-oriented session with its peer system…” – what about TFTP (connectionless yet reliable), frame relay and ATM VCs (connection oriented yet unreliable)? I am a little confused. Thank you.
Here is a great discussion that will help you – http://stackoverflow.com/questions/17938623/tcp-and-udp-segmentation
TFTP is considered connectionless and UNRELIABLE – even though it works great! 🙂
Could you be so kind to elaborate a bit on the TCP windows size header field?
Sure, remember, TCP cares about the quality of transmissions, as opposed to UDP that is more interested in efficiency. TCP uses what we call a sliding window acknowledgment system. The designers of TCP wanted to make sure that packets sent from a sender would be acknowledged as received by the receiver. If they did this for every packet, however, things would be too slow. So they came up with the sliding window approach for TCP.
Here is a simplified look at the process – the sender keep sliding the window open, so more and more data can be sent before the receiver has to acknowledge it. If the sender starts to overwhelm the receiver, the receiver can indicate this, and the sender can slide the window closed a bit. Note that under this system, it is the receiver that really controls how much data can be sent before requiring an acknowledgment.
There was actually a Windows registry hack that I wrote about years ago (http://www.amazon.com/Windows-Registry-Little-Black-Paraglyph/dp/B008SM4N9Q/ref=sr_1_1?ie=UTF8&qid=1449954841&sr=8-1&keywords=sequeira+registry) that solved a funny problem. The Window could only open so big on Windows systems and they could not take advantage of high speed Internet connections that were starting to appear at the time. Funny to think that back then – high speed was probably something like 256 KBPS. 🙂
Let me ask a follow up question, how does TCP sequence numbers work and how do the relate to the window size?
Jeremy S does a great job here on that – check it out! http://packetlife.net/blog/2010/jun/7/understanding-tcp-sequence-acknowledgment-numbers/
To what level do you need to know TCP for CCENT? 3-way handshake (for both setup and teardown), windowing and ack and seq number come to mind. I’ve been trying to understand seq and ack numbers for a while now but I doesn’t seem to want to click in my brain.
At the CCENT level, you really just need to know about their existence in TCP in order to provide reliability (connection-oriented). Contrast this to UDP of course.
Thanks for the info 😉
It is interesting how many security concerns that TCP presents due to these reliability mechanisms. Here is an example and a look at prevention – https://www.youtube.com/watch?v=AqY3UxXyQTY