小言_互联网的博客

手摸手教会你三次握手和四次挥手

341人阅读  评论(0)

TCP的FLAG标记位的含义:

FIN-结束(结束会话)
SYN-同步(表示开始会话请求)
RST-复位(中断一个连接)
PUSH-推送(数据包立即发送)
ACK-应答
URG-紧急

一、TCP建立连接的过程


TCP通过三次握手建立可靠连接。

TCP是一种可靠的,面向连接的全双工传输层协议。
TCP连接的建立是一个三次握手的过程。如图所示:
第一次: 主机A(通常也称为客户端)发送一个标识了SYN的数据段,表示期望与服务器A建立连接,此数据段的序列号(seq)为a。
第二次: 服务器A回复标识了SYN+ACK的数据段,此数据段的序列号(seq)为b,确认序列号为主机A的序列号加1(a+1),以此作为对主机A的SYN报文的确认。
第三次: 主机A发送一个标识了ACK的数据段,此数据段的序列号(seq)为a+1,确认序列号为服务器A的序列号加1(b+1),以此作为对服务器A的SYN报文段的确认。

二、TCP关闭连接


主机在关闭连接之前,要确认收到来自对方的ACK

TCP支持全双工模式传输数据,这意味着同一时刻两个方向都可以进行数据的传输。在传输数据之前,TCP通过三次握手建立的实际上是两个方向的连接,因此在传输完毕后,两个方向的连接必须都关闭。
TCP连接的建立是一个三次握手的过程,而TCP连接的终止则要经过四次握手。
如图所示:
第一次挥手: 主机A想终止连接,于是发送一个标识了FIN,ACK的数据段,序列号为a,确认序列号为b。
第二次挥手: 服务器A回应一个标识了ACK的数据段,序列号为b,确认序号为a+1,作为对主机A的FIN报文的确认。
第三次挥手: 服务器A想终止连接,于是向主机A发送一个标识了FIN,ACK的数据段,序列号为b,确认序列号为a+1。
第四次挥手: 主机A回应一个标识了ACK的数据段,序列号为a+1,确认序号为b+1,作为对服务器A的FIN报文的确认。
以上四次交互便完成了两个方向连接的关闭。

我是艺博东!欢迎你和我一起讨论,我们下期见。


转载:https://blog.csdn.net/HYD696/article/details/108062233
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场