tcp协议连接的建立和释放
一、tcp协议
TCP/IP(传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
(1)tcp的头部结构
- 16位端口号:告知主机该报文是来自哪里,以及传给哪个上层协议或者应用程序(目的端口)。
- 32位序列号:一次TCP通信(从连接建立到断开)过程中某一个传输方向上的字节流的每个字节的编号。
- 32位确认号:用作对另一方发送来的TCP报文段的响应。其值是收到TCP报文段的序号加1。
- 4位头部长度(header length):标识该TCP头部有多少个32bit字(4字节)。因为4位最大能表示15,所以 TCP头部最长是60字节。
- 6位标志位包含如下几项:
URG标志,表示紧急指针(urgent pointer)是否有效。
ACK标志,表示确认号是否有效。我们称携带ACK标志的TCP报文段为确认报文段。
PSH标志,提示接收端应用程序应该立即从TCP接收缓冲区中读走数据,为接收后续数据腾出空间。
RST标志,表示要求对方重新建立连接。我们称携带RST标志的TCP报文段为复位报文段。
SYN标志,表示请求建立一个连接