详解TCP连接的“三次握手”与“四次握手”

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 握手包跑包

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

握手握手握手

三次握手(Three-Way Handshake)是TCP连接建立的过程。它确保了连接的可靠性和连贯性。以下是对三次握手过程的通俗解释:

假设客户端是男孩,服务器是女孩。我们可以用他们之间的交往来说明三次握手的过程:

  1. 第一次握手:男孩给女孩写了一封信,表达了他的爱意并邀请女孩交往。男孩等待女孩的回复。

  2. 第二次握手:女孩收到男孩的信后,感到高兴并回信表示同意交往。女孩等待男孩的回复。

  3. 第三次握手:男孩收到女孩的回信后,确认女孩愿意和他交往。男孩再次回信表示感谢和爱意。

通过这三次握手,男孩和女孩都确认了彼此的意愿,并建立了稳定的交流通道。

为什么需要进行第三次握手呢?这是为了防止服务器端开启无用的连接,减少服务器开销,并避免已失效的连接请求报文段突然传送到服务器端引发错误。

在传输过程中,如果客户端发起的连接请求丢失,客户端会重新发送请求。如果没有第三次握手告知服务器端客户端已收到数据,服务器端就无法知道客户端是否接收到了数据。这可能导致服务器端开启多个无效的连接,浪费资源。

此外,有时已失效的客户端请求信息可能会传输到服务器端,服务器端会错误地认为这是有效的请求并进行处理。通过第三次握手,可以及时发现连接创建失败的情况,关闭服务器端的端口,减少服务器开销和错误请求的发生。

TCP的四次挥手(Four-Way Wavehand)是连接的释放过程。以下是对四次挥手过程的详细解释:

  1. 第一次挥手:男孩决定和女孩分手,写了一封信告诉女孩。女孩收到信后,愤怒地回信表示同意分手,并要求男孩来取回自己的东西。

  2. 第二次挥手:男孩收到女孩的回信后,知道女孩同意分手并整理好了他的东西。男孩回信表示理解,并告知女孩他会去取回东西。

  3. 第三次挥手:男孩去女孩那里取回东西,并再次写信感谢女孩。

  4. 第四次挥手:女孩收到男孩的信后,知道男孩已取回东西,表示理解和结束。

通过这四次挥手,男孩和女孩彻底分手,并确认彼此已经完成了分手过程。

为什么建立连接时只需要三次握手,而释放连接时需要四次挥手呢?

这是因为在建立连接时,服务器端发送的确认报文(ACK)和同意建立连接的报文(SYN)是在同一次握手中传输的,所以只需要三次握手。

而在释放连接时,FIN释放连接报文和ACK确认接收报文是分别由第二次和第三次握手传输的,所以需要四次挥手。

这就是为什么建立连接是三次握手,而释放连接是四次挥手的原因。

赞(0)