TCP字段介绍 TCP 数据包的大小

来源: 博客园、阮一峰的网络日 作者:博客园、阮一峰的 2021-09-01 03:40:01

  传输控制协议英文全称为Transmission Control Protocol,缩写为TCP,是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。

  TCP字段介绍

  源端口和目的端口

  各占2个字节,这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接。

  序号(seq)

  占4个字节,是本报文段所发送的数据项目组第一个字节的序号。

  确认序号(ack)

  占4字节,是期望收到对方下次发送的数据的第一个字节的序号。

  数据偏移

  占4比特,表示数据开始的地方离TCP段的起始处有多远。

  保留

  6比特,供以后应用,现在置为0。

  6个标志位比特

  ① URG② ACK③ PSH④ RST⑤ SYN⑥ FIN

  窗口

  TCP通过滑动窗口的概念来进行流量控制。

  检验和

  检验和覆盖了整个TCP报文段:TCP首部和数据。

  紧急指针

  只有当URG标志置1时紧急指针才有效。

  TCP 数据包的大小

  以太网数据包(packet)的大小是固定的,最初是1518字节,后来增加到1522字节。其中, 1500 字节是负载(payload),22字节是头信息(head)。

  IP 数据包在以太网数据包的负载里面,它也有自己的头信息,最少需要20字节,所以 IP 数据包的负载最多为1480字节。

  一条1500字节的信息需要两个 TCP 数据包。HTTP/2 协议的一大改进, 就是压缩 HTTP 协议的头信息,使得一个 HTTP 请求可以放在一个 TCP 数据包里面,而不是分成多个,这样就提高了速度。

  整合自:博客园、阮一峰的网络日志、百度百科

  编辑:jq

0
收藏
0