1. TCP连接上传输的每个字节都被编了号,编号从0~2^32-1中随机获取
2. 序号:报文段中第一个数据字节编号
3. 确认号:希望接收的下一个字节编号(把接收到的最后一个字节的编号+1)
4. 端口号占2字节,(0~65535)
5. 报文格式(每个短线代表一位)
+ - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - +
源端口号 | 目的端口号
+ - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - +
序号
+ - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - +
确认号
+ - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - +
头长 |保留 |控制 | 发送TCP的接收窗口大小
+ - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - +
校验和 | 紧急指针
+ - - - - - - - - + - - - - - - - - + - - - - - - - - + - - - - - - - - +
头部长度:首部长度(以4字节为单位, 20 ~ 60 --> 5~ 15)
控制位依次: URG、ACK、PSH、RST、SYN、FIN(UAPRSF)
紧急指针:报文段中最后一个紧急字节相对于报文段中第一个字节的偏移量
6. TCP校验和是强制性的,UDP的校验和是可选的
7. 校验和为什么要增加伪首部(12字节:源IP+目的IP+8位全0+8位协议号+16位TCP包长度):增加目的IP和协议的校验,防止接收了错误的数据包和使用错误的协议处理数据