【TCP建立连接的3次握手和断开连接的4次挥手】

 

 

 

 

 

[标签]: TCP3次握手    TCP建立连接过程    TCP4次挥手    TCP结束连接的过程

 

 

问题详情的描述或方案目标的预期:

两个通信节点需要发送消息,那建立连接和发送数据之后的结束连接,具体过程是怎么样的?

 

 

 

【解决方案】

 

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议,TCP/IP协议不仅仅指的是TCP 和IP两个协议,还包括(但不限于)如下这些:

应用层:Telnet、FTP、SMTP;传输层:UDP、TCP;网络层:ICMP、IP、IGMP;数据链路层:ARP、RARP。

  

TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

建立或者断开连接过程会用到如下6种标示码:

SYN(synchronous建立连接)

ACK(acknowledgement 确认)

PSH(push传送)

FIN(finish结束)

RST(reset重置)

URG(urgent紧急)

Sequence number(顺序号码)

Acknowledge number(确认号码)

  

 ********************************************************************* 

【三次握手过程】

  

第一次握手:客户端发起建立连接请求。发送给服务端报文内容:SYN=1,Sequence Number = X

SYN=1表示告知这是一个建立连接请求报文;Sequence Number = X的意义仅为发送一个信息出去,x可为任意信息。发送该报文后客户端进入SYN_SEND状态,等待确认

  

第二次握手:服务端收到请求、+1确认、发送自己的信息。反发送给客户端报文内容:ACK=1,Sequence Number = X+1,SYN=1,Sequence Number = y

ACK=1意思为这是一个确认信息,Sequence Number = X+1可以理解为看过了,SYN=1我也要发送个东西看你能不能收到,Sequence Number = y我发送的东西是y

  

第三次握手:客户端收到服务器的SYN+ACK报文段,把y+1又发回服务端表示信息收到、看过了。

至此客户端发送了消息服务端确认收到、服务端也发送了消息客户端确认收到。哥俩都准备好了,进入ESTABLISHED状态,开始传输数据。

  

  

 ********************************************************************* 

当客户端和服务器三次握手建立TCP连接以后,数据传送完毕,肯定是要断开TCP连接啊。那对于TCP的断开连接,这里就有了神秘的“四次分手”:

【四次挥手过程】

第一次:机A(可以是客户端或服务端任意一方)给机B发送结束报文:Sequence Number=123456, Acknowledgment Number=654321, FIN=1

Sequence Number=123456表示发送个东西给B看能否收到,FIN=1表这是一个结束报文

第二次:机B收到后给机A返回一个确认收到报文:ACK = 1,Sequence Number=123457 告诉机A收到信息了,知晓并同意其关闭请求

第三次:机B给机A发送结束报文:Sequence Number=y,FIN=1

第四次:机A收到后给机B返回确认报文:Acknowledgment Number=y+1, ACK=1

机B收到机A的ACK报文段以后,就会关闭连接;此时机A等待2MSL后依然没有收到回复,则证明机B已正常关闭,机A也关闭连接。

  

  

总结:

你会发现,两个过程很类似。“我要连接--知道了,我也要连接--知道了”、“我要分手--知道了-我也要分手--知道了”

再归纳一下就是:发送请求--确认--另一方也发送请求--初始方确认。

断开连接多一次是因为可能那时已经没有新发送需求,但是还有数据正在传输还未完成。但是不回复“收到”那初始方就会一直发。所以分两次,收到初始方来消息说[发送完没数据了、请求结束连接]后先回复“已收到、已知晓你没数据了已知晓你准备断开”,等数据传输完后,又发送一次表示[我也没事了,请求结束]。两个人就结束了。

 

 

 

百度一下    谷歌翻译

 

 

 

 

 

 

【书君方案】 简洁、完整、漂亮、记忆深刻

 

 

 

 

 

 

©2022 BLUBN.HonL   京ICP备15053931号   书君   bookfooked.com V1.1