网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

循环概念与TCP序列号

更新时间:2026年03月27日   作者:spoto   标签(Tag):

TCP是互联网协议套件中的核心协议之一。它通过在数据传输过程中建立发送方与接收方之间的虚拟连接,为应用程序提供可靠且高效的传输层服务。

TCP的工作原理:

  • TCP从应用层持续接收数据。
  • 它将数据分割成易于处理的多个部分,每个部分都包含一系列字节。
  • 每个数据块都会被加上TCP头部,从而形成一个TCP段。

TCP数据包的结构:

  • TCP头部包含诸如源端口、目标端口、序列号等控制信息。
  • TCP选项这些可选字段可以用于实现诸如窗口缩放等功能。
  • 数据正在传输的实际载荷内容。

了解更多关于……的信息TCP

TCP序列号

发送方发送的每个TCP段都包含一部分数据。TCP为数据流中的每一字节分配一个唯一的序列号。这个序列号在数据传输过程中起着至关重要的作用,它有助于对数据进行有效的跟踪和管理。

序列编号的目的

  • 能够唯一地识别每字节的数据。
  • 有助于将数据分割,并在接收端重新组合这些数据。
  • 记录已发送和接收的数据量。
  • 确保数据在到达时顺序混乱的情况下也能被正确排序。
  • 有助于检测和重新传输丢失的数据。

序列号范围与数据限制

  • 在TCP头部中,序列号字段的长度为32位。
  • 可能的值范围是从……开始。

0 到 2³² – 1即/也就是说4,294,967,295).

  • 这并不意味着TCP只能处理4GB的数据。
  • 序列号循环使用功能使得TCP能够在长连接期间继续传输数据,从而克服这一限制。

初始序列号(Initial Sequence Number, ISN):

  • 在连接建立过程中,每个设备都会生成一个随机的初始序列号。
  • 每个通信方向所使用的ISN都是不同的。
  • 这有助于避免冲突,同时确保连接中数据字节的识别具有唯一性和安全性。
TCP

TCP中的“缠绕概念”

TCP使用32位的序列号字段,这意味着序列号的范围是从……开始。0 到 2³² – 1这样,总共就是……4,294,967,296(4GB)独特的序列号。

当所有序列号都被使用后,如果需要继续发送更多数据的话,那么序列号就会从0开始重新计数。这种对序列号的重复使用方式被称为“循环使用”。

例如:如果起始序列号是X,那么TCP会使用从X到2³²–1的数字,之后会回到0,然后再继续使用数字,直到达到X–1。

为什么“Wrap Around”这种方法会有效呢?

虽然序列号会被重复使用,但这并不会造成混淆,因为:

  • 每个TCP数据包都有一个生命周期,即该数据包在网络中可以存在的时长。通常,这个生命周期被设定为180秒。
  • 只要“环绕时间”大于一个数据包的寿命,就不会出现冲突。因为,当这些旧的数据包被重新使用其序列号时,它们早就已经过期了。

循环时间

“循环时间”指的是在一次性使用完所有2³²个序列号时所需要的时间。这个时间取决于序列号被消耗的速度,而序列号被消耗的速度则取决于连接的带宽。

  • 更高的带宽更快的消耗速度更短的周长时间
  • 较低的带宽消费速度较慢更长的环绕时间

“循环时间”∝ 1 / 带宽

如何减少包裹处理的时间

为了缩短包裹完成所需的时间:

  • 增加带宽(每秒传输的数据量更多)
  • 序列号的大小是固定的,为32位,因此无法缩小其大小。

示例/例子

示例1:给定n各位,有多少种可能的序列号呢?

说明:

  • 对于1位二进制数来说,可以表示出2个数字:0、1。
  • 对于2位二进制数来说,可以表示出4种不同的数值:00、01、10、11。
  • 对于3位二进制数来说,可以表示出8种不同的数值:000、001、010、011、100、101、110、111。
  • 对于 n 位来说,可以表示出 2ⁿ 个数,这些数的范围是从 0 到 2ⁿ - 1。

示例2:给定n序列号,需要多少位来表示它们呢?

说明:

让所需的位数数量为x.

我们知道:

2ᵏ = n

在等式的两边都取以2为底的对数:

x = log₂(n)

示例3:带宽 = 1 GBps。那么,一个数据包在传输过程中可以持续存在于网络中,而不需要重复序列号,多长时间呢?

说明:

带宽 = 1 Gbps = 10^9 字节/秒

总序列数 = 2³² = 4,294,967,296

循环时间= 总序列数 / 带宽
= 2³² / 10⁹
= 4,294,967,296 / 1,000,000,000
4.294秒

示例4:GATE-CS-2014-(第3套试题) | 问题65

示例5:GATE CS 2018 | 问题32

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料