TCP报文段的首部格式

本文详细解读了TCP报文段的首部格式,包括源端口、目的端口、序号、确认号、数据偏移、窗口、校验和及各种标志位(如SYN、FIN、RST、ACK、PSH和URG)。了解这些关键组件有助于深入理解TCP协议的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

5.9 TCP报文段的首部格式

文中图片均来自于
https://www.bilibili.com/video/BV1c4411d7jb?p=65&vd_source=61258a05469482a4381c086011c25c18
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P8nFWquE-1658114075105)(D:\markdown文件\计算机网络\计算机网络图片\Snipaste_2022-07-16_15-52-50.png)]

  • 源端口:16比特(2字节),写入源端口号,用来标识 发送该TCP报文段的应用进程

  • 目的端口:16比特(2字节),写入目的端口号,用来标识 接收该TCP报文段的应用进程

  • 序号:32比特(4字节),取值范围[0,232-1],指出本TCP报文段数据载荷的第一个字节的序号

    • TCP报文段由首部和数据载荷组成,数据载荷中每个字节的数据都有序号
    • 序号增大到最后一个后,下一个序号又回到0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EAxgaL9A-1658114075105)(D:\markdown文件\计算机网络\计算机网络图片\Snipaste_2022-07-16_16-02-46.png)]

  • 确认号:32比特(4字节),取值范围[0,232-1],指出 期望收到对方下一个TCP报文段的数据载荷部分的第一个字节的序号,同时也是对之前收到的所有数据的确认。

    • 确认号增大到最后一个后,下一个确认号又回到0
    • 确认标志ACK取值为1时,确认号字段有效;取值为0,确认号字段无效
  • 数据偏移:4比特,该值的单位是4字节。用来指出TCP报文段的首部长度

    • 首部固定长度20字节 所以数据偏移字段的最小值为(0101)
    • 首部最长长度60字节 所以数据偏移字段的最大值为(1111)
    • 例如 数据偏移的二进制(0101)转为十进制为5 则 5*4 Byte = 20字节 通过数据偏移的值 可以算出 TCP报文段的首部长度
    • 当数据偏移的二进制(1111)转为十进制为15 则 15*4 Byte = 60字节
  • 窗口:16比特,该值的单位为 字节。指出发送本报文段的一方的接收窗口

  • 校验和:16比特(2字节),用来检查TCP报文段在传输过程中是否出现了误码

  • ACK:确认标志位

    • 在连接建立后,所有传送的TCP报文段都必须把ACK置1
    • 取值为1时,确认号字段有效,取值为0时确认号字段无效
  • SYN:同步标志位,在TCP连接建立时用来同步序号,表示这是一个连接请求或连接接受报文

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DyFLYHOK-1658114075106)(D:\markdown文件\计算机网络\计算机网络图片\Snipaste_2022-07-16_16-33-04.png)]

  • FIN:终止标志位,用来释放TCP连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pwRPwPSx-1658114075106)(D:\markdown文件\计算机网络\计算机网络图片\Snipaste_2022-07-16_16-34-26.png)]

  • RST:复位标志位用来复位TCP连接
    • RST=1,表明TCP连接出现异常,必须释放连接,然后再重新建立连接
    • RST=1,用来拒绝一个非法的报文段或拒绝打开一个TCP连接
  • PSH:推送标志位,用来实现推送操作
    • 接收方的TCP收到该标志位为1的报文段会尽快上交应用进程,而不必等到接收缓存都填满后再向上交付。
  • URG:紧急标志位,用来实现紧急操作
    • 取值为1时,紧急指针字段有效;取值为0时,紧急指针字段无效
  • 紧急指针:16比特,该值的单位为字节,用来指明紧急数据的长度
    • 当发送方有紧急数据时,可将紧急数据插队到发送缓存的最前面,并立刻封装到一个TCP报文段中进行发送。紧急指针会指出本报文段数据载荷部分包含了多长的紧急数据,紧急数据之后又是普通数据。
  • 选项:增加选项可以增加TCP的功能
  • 填充:由于选项的长度可变,使用填充来确保报文段首部能被4整除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值