環繞概念和 TCP 序列號


什麼是 TCP?

傳輸控制協議 (TCP) 是一種網路通訊協議,允許資料包透過網際網路傳送。

  • TCP 是一種 OSI 傳輸層協議,用於透過支援網路和網際網路傳送和確保訊息傳遞來連線遠端計算機。

  • 傳輸控制協議是網際網路協議套件(有時稱為 TCP/IP 套件)的成員,並且是數字網路通訊中使用最廣泛的協議之一。

  • TCP 主要用於確保不同節點之間的端到端資料交付。

  • TCP 與網際網路協議協同工作,網際網路協議確定遠端節點的邏輯位置,而 TCP 傳輸資料並確保資料到達其預期目的地。

  • TCP 在傳輸資料之前在源節點和目標節點之間建立連線,並在對話完成之前保持連線。

  • TCP 將大量資料分解成較小的資料包,並確保資料完整性在到達目標節點後得以保留。

什麼是序列號?

32 位序列號欄位指定分配給段資料的第一位元組的編號。TCP 是一種用於以流方式傳輸資料的協議。要傳輸的每個位元組都編號以確保連線性。每個參與方在連線建立期間使用隨機數生成器生成初始序列號 (ISN),在每個方向通常是不同的。眾所周知,TCP 序列號為 32 位長。

因此,它具有有限數量的序列號(範圍從 0 到 (232-1) = 4 千兆),這意味著我們將使用唯一的序列號通訊不超過 4GB 的資料。

它有助於分配與透過 TCP 連線傳送的其他資料位元組相容的序列號。每個連線都有自己的 ISN,由裝置分隔。

環繞概念

當存在大量流量時,所有序列號都可能用完。每個資料包的序列號必須唯一;但是,由於它是有限的(4 千兆),因此序列號在某個時刻會被用盡。當可用時,以前使用過的序列號可以根據需要重複使用,這種序列號的重複使用被稱為環繞的概念。

環繞定義為“在所有序列號都用完後,反覆使用序列號,以保持資料傳輸的連續性”。

這使您能夠傳輸越來越多的資料,而不必擔心傳送了多少資料。由於序列號可以重複使用,因此儲存的資料量沒有限制。

何時以及如何使用環繞?

例如,如果我下載一個 4GB+2 位元組的軟體,但可用的序列號只有 4GB,則剩餘的兩個位元組將不會收到序列號。在這種情況下,序列號會被環繞,這意味著它們會根據需要重複使用。隨機初始序列號會影響此環繞。我們可能會首先收到較少的序列號,但是一旦所有序列號都被用完,序列號將重置為 0。

我們將從任何開始使用序列號的地方獲得 232 個序列號。因此,我們可以說 TCP 序列號的環繞概念涉及根據需要迴圈使用序列號。

環繞時間

環繞時間是環繞所需的時間。它表示如果我們從序列號 0(或任何其他數字)開始,我們將經過多長時間再次使用相同的序列號。從開始重複使用相同序列號的時間,或根據需要重複序列號所需的時間,稱為“環繞時間”。

可用序列數和頻寬定義了環繞時間。位(序列號)的使用速率稱為頻寬。消耗速度越快,序列號消耗的速度越快。

$$ \mathrm{環繞時間 =\frac{總序列號}{頻寬}=\frac{232}{頻寬}}$$

如何減少環繞時間?

環繞時間與頻寬成反比,與序列數(資料流速率)成正比。

  • 可用的序列號越多,環繞時間就越長。

  • 環繞時間越長,頻寬越低。

因此,要縮短環繞時間,我們必須:

  • 減少序列號,或

  • 增加可用頻寬(可能)

更新於: 2021 年 10 月 28 日

1K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告