TCP 建立及关闭过程详解 一、TCP 协议简介 TCP,全称 Transfer Control Protocol,中文名为传输控制协议,它工作在 OSI 的传输层,提供面向连接的可靠传输服务
TCP 的工作主要是建立连接,然后从应用层程序中接收数据并进行传输
TCP 采用虚电路连接方式进行工作,在发送数据前它需要在发送方和接收方建立一个连接,数据在发送出去后,发送方会等待接收方给出一个确认性的应答,否则发送方将认为此数据丢失,并重新发送此数据
可以从以下几个方面对 TCP 协议进行分析: 1
TCP 报头:TCP 报头总长最小为 20 个字节,其报头结构如下图(图 1)所示; 比特 0 比特 15 比特 16 比特 31 源端口(16) 目的端口(16) 序列号(32) 确认号(32) 报头长度(4) 保留(6) 连接标记(6) 窗口(16) 校验和(16) 紧急(16) 选项(0 或 32) 数据(可变) 2
TCP 连接建立:TCP 的连接建立过程又称为 TCP 三次握手
首先发送方主机向接收方主机发起一个建立连接的同步(SYN)请求;接收方主机在收到这个请求后向送方主机回复一个同步/确认(SYN/ACK)应答;发送方主机收到此包后再向接收方主机发送一个确认(ACK),此时 TCP 连接成功建立; 3
TCP 连接关闭:发送方主机和目的主机建立TCP连接并完成数据传输后,会发送一个将结束标记置 1 的数据包,以关闭这个 TCP 连接,并同时释放该连接占用的缓冲区空间; 4
TCP 重置:TCP 允许在传输的过程中突然中断连接,这称为 TCP 重置; 5
TCP 数据排序和确认:TCP 是一种可靠传输的协议,它在传输的过程中使用序列号和确认号来跟踪数据的接收情况; 6
TCP 重传:在 TCP 的传输过程中,如果在重传超时时间内没有收到接收方主机对某数据包的确认回