TCP基础知识点

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和协议的校验,防止接收了错误的数据包和使用错误的协议处理数据

你可能感兴趣的:(TCP基础知识点)