TCP的连接管理主要面向三个连接阶段,分别是连接建立,传输数据,连接释放。
其中连接的建立和连接释放是两个重要的知识点,分别有两个比较形象的称呼:三次握手和四次握手。
最近正在学习传输层的知识,故借本文对这两个阶段进行简要整理。
首先必须明确的是TCP协议是采用客户/服务器的方式,主动发起连接建立的应用进程称为客户机,被动等待连接建立的应用进程称为服务器。
三次握手
一次连接建立的过程如下:
-
客户机首先向服务器发送一个
TCP请求连接报文
,报文不含应用层数据,比较值得注意的是就是报文首部字段,
SYN = 1, seq = J
;SYN=1表示这是一个请求连接报文,而seq = J 则是表示该报文段的序号,用于确保可靠传输(报文不携带数据但是仍然消耗一个序号)。 -
服务器收到请求连接报文之后,若同意该请求,则为该TCP分配缓存,然后发送一个确认连接报文,其首部的字段分别为:
SYN= 1,seq = K,ACK = 1, ack = J + 1
版权声明:本文为CVSvsvsvsvs原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。