TCP系列-包头格式

image.png

源端口号 (Source Port, 16 bits):源计算机上的应用程序端口(哪个端口发送数据)
目的端口号 (Destination Port, 16 bits):目标计算机的应用端口(哪个端口接收数据)
序号 (Sequence Number, 32 bits):本报文段发送数据的第一个字节的编号。(TCP流式传输,注意是第一个字节的编号,而不是整个数据包的编号)
确认号 (Acknowledgment Number, 32 bits):表示接收方期望收到发送方下一个报文段的第一个字节数据的编号。(也就是下一个接收的字节的序列号加1)
首部长度(Header Length, 4 bits): 确定TCP数据段头部的长度
保留 (Reserved, 4 bits): 4位,目前没有特定用途,为TCP将来的发展预留空间
标志位 (Flags/Control Bits, 8 bits):

  • URG (Urgent): 表示本报文段中发送的数据是否包含紧急数据
  • CWR (Congestion Window Reduce): 拥塞窗口减少标志,用来表明它接收到了设置 ECE 标志的 TCP 包。
  • ECE (ECN Echo): 用来在 TCP 三次握手时表明一个 TCP 端是具备 ECN 功能的
  • ACK (Acknowledgment): 表示前面的确认号字段是否有效
  • PSH (Push): 告诉对方收到该报文段后是否立即把数据推送给上层
  • RST (Reset): 表示是否重置连接
  • SYN (Synchronize): 在建立连接时使用,用来同步序号
  • FIN (Finish): 标记数据是否发送完毕

窗口大小 (Window Size, 16 bits): 它表示从 Ack Number 开始还可以接收多少字节的数据量,也表示当前接收端的接收窗口还有多少剩余空间。该字段可以用于 TCP 的流量控制。
校验和 (Checksum, 16 bits): 它用于确认传输的数据是否有损坏。发送端基于数据内容校验生成一个数值,接收端根据接收的数据校验生成一个值。
紧急指针 (Urgent Pointer, 16 bits):仅当前面的 URG 控制位为 1 时才有意义。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • TCP 报文格式 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接...
    Zero___阅读 1,284评论 0 4
  • 什么是多路复用?什么是多路分解? UDP和TCP最基本的任务是,将两个端系统间IP的交付服务扩展为运行在两个端系统...
    SimpleBK阅读 2,700评论 0 2
  • tcp 报文格式 一 . TCP报文是TCP层传输的数据单元,也叫报文段 1、端口号:用来标识同一台计算机的不同的...
    会理发的店小二阅读 285评论 0 0
  • 读懂了TCP/IP协议,也就基本了解的网络通信原理。本文是参照研究生教材《网络安全原理与应用》里面的内容加上自己实...
    Super超人阅读 22,475评论 1 19
  • TCP 报文段的首部格式 面向字节流、但传送的数据单元却是报文段面向字节流是针对应用层而言报文段则是网络层 一个T...
    知向谁边阅读 643评论 0 0