TCP协议的三次握手与四次挥手(连接与释放)
一、前言
本篇文章主要是介绍TCP连接的建立以及连接的释放过程,也就是我们常说的“三次握手”和“四次挥手”。
二、简单的知识准备
1. TCP协议的主要特点
TCP是在不可靠的IP层之上实现的可靠的数据传输,它是面向连接的传输层协议,提供全双工通信,数据传输是面向字节流的。
2. TCP报文段
TCP传送的数据单元为报文段,一个TCP报文分为首部和数据两部分,其首部的前20B是固定的。TCP的全部功能体现在其首部的各个字段中,这里大家主要注意下面几个字段的意义即可:
- 序号(seq):指的是本报文段所发送的数据的第一个字节的序号。
- 确认号(ack):表示期待收到对方的下一个报文段的第一个数据字节的序号(seq)。如ack=n+1,那么序号seq=n及之前的数据已经收到,期待收到序号n+1及之后的数据。
- 确认位(ACK)