TCP is the rock star reliable transportation protocol that pretty much
transports everything that requires reliably delivered data.
Let's take a closer look into TCP.
TCP provides reliable data communication.
The reliability is garnered through three methods.
First is through established sessions, also known as the three‑way handshake.
Essentially,
TCP Sessions will not start communicating until it's established a
session through a three‑way communication method.
Next, TCP performs error recovery and retransmits missing data. In short,
this is accomplished by the sending computer breaking down the data into chunks.
The chunks are then assigned sequence numbers.
The sequence number is a composition of the sequence number plus
the data payload, and if any data is missing,
the receiver yells back and says, hey,
send me this number of data at which point the data will be retransmitted.
The third method for reliable communications is provided via the
mechanism of session termination. Just as sessions were
established through a three‑way handshake,
they're also terminated in a similar fashion. This aids in allowing the
network to close sessions that are no longer needed saving valuable system
resources for connections that actually need it.
Let's take a brief moment to drop to a video and take a high‑level
overview of an actual TCP packet session to get more acquainted with the
module TCP/UDP theory of operation. In this slide, we'll be conducting a
brief overview of an actual TCP session.
Now I want to make something clear.
The individual numbers that you see are actually packets,
but I want you to think of the individual packets as being part
of the session as a whole. In this session,
we can see the source computer of 192.168.1.100 has established a
three‑way handshake in packets 1 through 3 with the destination
address of 192.168.1.1 The three‑way handshake is always
established first on new sessions.
Next,
we can see a ton of data being transmitted between the web server of
192.168.1.1 and these source computer of 192.168.1.100 in packets 4
through 58. Next, we're able to see successful session termination
between packets 63 and 75. Now,
remember session termination should always be the last thing
we see in a properly terminated session.
Now, you may be saying to yourself, Aaron,
we've covered two of the three reliability methods, where's retransmission?
Well, because our network is running so well, there wasn't any.
Now I have generated some traffic to simulate what TCP retransmissions look
like. As we can see, between packets 1 through 18, all of them are
retransmission attempts and this is due to these source computer being
unable to connect with the destination computer.
Now,
if you haven't been able to guess, the session presented is actually an
HTTP web session. Let's navigate to the IP of 182.168.1.1 to see what
Wireshark is actually attempting to decompose.
And there you have it.
The web session is a Layer 2 managed switch.
Now,
please understand, this was just a quick overview of a TCP session
and don't worry if a lot of this doesn't make sense because between
modules TCP/UDP 3 of operation, and TCP/UDP Ready, Set, Action,
we'll decompose a TCP session,
and by the end of those modules, you'll have guarded the knowledge needed to understand TCP.