- 通信特点:TCP提供一种1.面向连接的(虚连接)、2.可靠的、3.面向字节流的、4.端到端、5.全双工的通信服务;
- 面向连接:是指TCP的两个应用程序必须在他们可交换数据前,通过相互联系建立一个TCP连接;
- 可靠:可靠有序,不丢不重;
- 面向字节流:TCP协议将程序传递下来的数据视为一连串的无结构的字节流;
- 端到端:端点是指计算机中的程序;
- 全双工:
- 发送缓存:1.准备发送的数据;2.已发送但尚未收到确认的数据。
- 接收缓存:1.按序到达但尚未被应用程序读取的数据;2.没有按序到达的数据。
- 报文格式
- 源端口号:0 ~ 65535;
- 目的端口:0 ~ 65535;
- 序列号:当前发送报文的第一个字节在字节流中的编号;
- 确认号:下次待接收的字节流编号即为本次接收最后一个字节编号+1;
- 头部长度:当前头部长度字段为4位,取值为0~15,8 bit = 1 Byte,4 Byte = 1字,? ? ? 15 * 4 Byte = 60 Byte,算上可变选项可有60字节的TCP首部,其中固定长度20字节,选项为40字节;
- 保留字段;
- 8个控制位
- CWR:拥塞位;
- ECE:
- URG:紧急位,报文段中存在紧急数据,应尽快传送,无需在缓存中排队,配合紧急指针使用;
- ACK:确认位,连接建立后,ACK = 1 ;
- PSH:推送位,接收方应尽快向上提交当前报文段;
- RST:复位位,TCP连接出现重大差错,需重新建立连接时 RST = 1;
- SYN:同步位,连接请求&连接接受,SYN = 1;
- FIN:结束位,释放连接时,FIN = 1;
- 窗口大小:对应接收端窗口能够接收字节的量,详情参考流量控制;
- TCP校验和:
- 紧急指针:
- 选项:最常见的选项字段为MSS(Maximum Segment Size)即“最大段大小”,MSS指定了该选项的发送者在相反方向上希望接收到的报文段的最大值;
- 伪IP头部:?
- 三次握手
- 四次挥手
- 流量控制
- 拥塞控制
- 资源分配
- 应用
|