Now.
I certainly could have had this discussion with you during the TCP verse UDP discussion, but I decided
to make it a separate video because well, why the heck not?
Shorter videos tend to be better than longer ones, right?
All right.
Let's take a look at this three way handshake.
Now, think about it for a minute.
Why is this even happening?
I mean, after all, if this is the potential for security attack, why do we even have it?
Well, we have to remember that TCP transmission control protocol is all about sending information reliably.
This is the transport layer protocol that's going to ensure reliable communications.
As part of that, it is what we call connection oriented.
So a client and a server are going to agree to form a TCP communications channel.
Remember the upper layer above the session layer above the transport layer could be helping with sessions
and communications as well.
But this is an important step.
The TCP three way handshake to make a connection at the transport layer for that reliable communications.
Remember also that one of the things we don't like about this is the additional overhead.
That's why we have the user datagram protocol or UDP.
We can kind of think of this as that phone call like a sin being.
Hello.
And then the other person saying yes, hello.
That's the send acknowledgement and then goodbye.
Is that final act?
You know, thinking of it like a phone call.
There's those messages that make the session work.
And I shouldn't say goodbye because we're not saying goodbye at all in this conversation, are we?
If it were a phone call, it would go more like this.
Hello?
Yes, hello.
Oh, hi, John.
Hey, that's great.
This is John.
Blah, blah, blah.
And then they start having their conversation.
So the sin and then the sin ach response and then the ACH response.
These are the three steps of that three way handshake.
Like I said, this is great.
This gives us the potential for an attack surface.
You want an easy example of that?
Yeah.
There used to be a very common denial of service attack against TCP speakers.
That was called a sin flood attack.
What a simple idea.
What a simple attack.
I could have come up with this on my own.
I probably even could have written Python code that would carry out this attack.
It's so simple.
All you would do is flood false sin requests at a server.
Right.
Just keep firing different workstations, wanting to establish a TCP connection with the server and
then never complete them.
So you see how it's a denial of service.
The poor server is going, yes.
Here's your snack.
Yes, here's your snack.
And it can't do anything else but respond with the syntax.
Notice the acknowledgements from the client never come.
So all of its resources are consumed trying to deal with the sin flood.
Why is this not a big deal anymore?
Why am I not teaching you an entire chapter of this course on the sin flood attack?
Well, it's because all of our devices, modern devices, have built in intelligence to guard against
sin flood attacks.
They were so common that the base configurations of network equipment now guard against a device falling
victim to a sin flood attack.
Now, keep in mind, I am by no way suggesting that you don't ever have to worry about a sin flood attack.
That's not at all what I'm saying.
I'm just saying you don't get as much talk about the sin flood type of an attack these days because
it's impossible against most modern systems.
But I hope you did find this discussion of the TCP three way handshake very valuable.
It is critical that you know about this process, of course.