tcp协议的三次握手和四次挥手

author author     2022-10-25     529

关键词:

TCP协议的三次握手和四次挥手

我们知道,TCP是主机对主机层的传输控制协议,提供可靠的连接服务,需要三次握手建立连接,而终止一个连接要经过四次挥手。

三次握手

第一次握手:客户端申请连接(SYN=1),发送seq=x的数据包,等待服务器确认。
第二次握手:服务器端申请连接(SYN=1),确认收到客户端的申请(ACK=1).;服务器期望下次收到x+1数据包(ack=x+1),发送seq=y的数据包。
第三次握手:客户端确认收到请求(SYN=1),发送服务器期望的数据包(y+1),完成连接。
技术分享图片

四次挥手

第一次挥手:客户端请求断开连接(FIN=1),发送数据(seq=u)。
第二次挥手:确认收到请求(ACK=1),期望收到数据包(ack=u+1),发送数据(seq=v)。
第三次挥手:服务器申请断开连接(FIN=1),确认收到你之前的请求(ACK=1);期望收到数据(ack=u+1),发送数据(seq=w)。
第四次挥手:确认收到请求(ACK=1),发送数据(seq=u+1),断开连接。
技术分享图片

为什么需要三次握手?

   如果不采用“三次握手”,那么只要服务器发出确认,新的连接就建立了。由于现在客户端并没有发出建立连接的请求,因此不会理睬服务器的确认,也不会向服务器发送ACK包,但是服务端确认为新的连接开始了,等待客户端发数据,这样就会白白浪费资源。而经过三次握手,客户端和服务器都有应有答,这样可以确保TCP正确连接。

为什么需要四次挥手?

  在TCP建立连接时,服务器端的SYN和ACK向客户端发送是一次性发送的,而在断开连接的过程中,服务器端向客户端端发送的ACK和FIN是是分两次发送的。因为在服务器端接收到客户端的FIN后,客户端可能还有数据要传输,所以先发送ACK,等客户端处理完自己的事情后就可以发送FIN断开连接了。

为什么四次挥手后有2MSL的时间等待?

   MSL(Maximum Segment Lifetime),最大报文段生存时间,2个MSL是报文段发送和接收的最长时间。假定网络不可靠,那么第四次发送的ACK可能丢失,即服务器端无法收到这个ACK,如果服务器端收不到这个确认ACK,服务器端会定时向客户端重复发送FIN,直到服务器端收到客户端的确认ACK。所以这个2MSL就是用来处理这个可能丢失的ACK的。

tcp协议中的三次握手和四次挥手(图解)

三次握手   四次挥手  查看详情

tcp协议的三次握手和四次挥手

TCP协议的三次握手和四次挥手我们知道,TCP是主机对主机层的传输控制协议,提供可靠的连接服务,需要三次握手建立连接,而终止一个连接要经过四次挥手。三次握手第一次握手:客户端申请连接(SYN=1),发送seq=x的数据包,等... 查看详情

tcp协议tcp的三次握手和四次挥手

文章目录前言TCP连接的三个阶段TCP数据报介绍TCP三次握手(Three-wayHandshake)三次握手的过程握手过程说明为什么需要三次?两次握手会发生什么问题?数据传输TCP四次挥手四次挥手的过程挥手过程说明握手需要三次,为... 查看详情

tcp协议tcp的三次握手和四次挥手

文章目录前言TCP连接的三个阶段TCP数据报介绍TCP三次握手(Three-wayHandshake)三次握手的过程握手过程说明为什么需要三次?两次握手会发生什么问题?数据传输TCP四次挥手四次挥手的过程挥手过程说明握手需要三次,为... 查看详情

tcp协议中的三次握手和四次挥手

 转自:   http://blog.csdn.net/whuslei/article/details/6667471/  建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:  查看详情

tcp协议的三次握手和四次挥手机制

...次握手:seq和acknumber2.四次挥手:FIN和随机数 一、TCP/IP协议TCP/IP协议(Transmissioncontrolprotool/Internetprotool)叫做传输控制/网际协议,又叫做网络通讯协议。这个协议是Internet国际互联网络的基础,TCP/IP协议是网络中使用的基本的... 查看详情

揭秘——tcp的三次握手和四次挥手

1.前言本文以博主在某次前端面试中被问到“什么是TCP协议中的三次握手和四次挥手?”为契机,经过整理教材、百度百科以及他人博客,再结合博主自身的理解,尽可能的以通俗易懂的语言来解释TCP协议中的三次握手和四次挥... 查看详情

tcp的三次握手和四次挥手

TCP(TransmissionControlProtocol) 传输控制协议。是一种面向连接的、可靠的、基于字节流的传输层通信协议。 TCP在传输之前会进行三次沟通,一般称为“三次握手”(Three-WayHandshake),传完数据断开的时候要进行四次沟通,一般... 查看详情

tcp协议中的三次握手和四次挥手

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:  先来看看如何建立连接的。  首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接... 查看详情

tcp协议中的三次握手和四次挥手(图解)

http://blog.csdn.net/whuslei/article/details/6667471/建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连... 查看详情

关于tcp/ip的三次握手和四次挥手解释

TCP协议三次握手过程分析TCP(TransmissionControlProtocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机)ACK(acknowledgement确认)PSH... 查看详情

tcp的三次握手和四次挥手

这篇文章讲的很详细:三次握手和四次挥手 查看详情

tcp协议中的三次握手和四次挥手

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后... 查看详情

tcp的三次握手和四次挥手

    客户端向服务端请求数据的过程中,如果是TCP协议,则需经历TCP的三次握手和四次挥手,其中具体的过程如下:  三次握手    这个过程其实就是确认对方的收发功能是否都正常的功能,形象表示如下:    ... 查看详情

tcp协议的三次握手和四次挥手

三次握手:第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(SynchronizeSequenceNumbers)。第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自... 查看详情

tcp协议中的三次握手和四次挥手

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。【更新于2017.01.04】该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删了,大家可以比较下,对... 查看详情

tcp协议中的三次握手和四次挥手(图解)

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向... 查看详情

tcp协议中的三次握手和四次挥手(图解)

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向... 查看详情