解釋計算機網路中的TCP服務。


以下是傳輸控制協議 (TCP) 提供給應用層程序的一些服務:

  • 流式傳輸服務。
  • 傳送和接收緩衝區。
  • 位元組和報文段。
  • 全雙工服務
  • 面向連線的服務。
  • 可靠的服務。

下面將詳細解釋所有上述TCP服務。

流式傳輸服務

TCP是一個面向流的協議。它使傳送程序能夠將資料作為位元組流交付,並使接收程序能夠獲取位元組流資料。

TCP建立一個工作環境,使傳送和接收過程透過一個虛擬的“管道”連線起來,如下圖所示。

傳送和接收緩衝區

傳送和接收程序不能以相同的速度產生和接收資料。因此,TCP需要一個緩衝區進行儲存。

每種剖析中使用兩種緩衝區方法,如下所示:

  • 傳送緩衝區
  • 接收緩衝區

可以使用一個1位元組位置的環形陣列來實現緩衝區,如下圖所示。該圖顯示了資料在傳送端單向移動的情況。

緩衝區有三種類型的儲存位置,如下所示:

  • 空閒位置。
  • 包含已傳送但未確認的位元組的位置。這些位元組將保留在緩衝區中,直到收到確認。
  • 包含傳送方TCP將要傳送的位元組的位置。

實際上,由於接收程序速度慢或網路擁塞,TCP可能只發送一部分資料。

接收端的緩衝區分為如下兩個部分:

  • 包含空閒位置的部分。
  • 包含已接收位元組的部分,傳送程序可以消耗這些位元組。

位元組和報文段

緩衝區用於處理資料傳輸速度和資料消耗速度之間的差異。但僅靠緩衝區是不夠的。

作為TCP服務提供商,在將資料傳送到網際網路協議 (IP) 層之前,還需要一個步驟。它需要以資料包的形式傳送資料,而不是作為位元組流傳送。

在傳輸層,TCP將多個位元組分組到一個數據包中,這稱為報文段。每個報文段都會新增一個頭部來進行控制。

報文段封裝在IP資料報中然後傳輸。整個操作對接收過程是透明的。報文段在到達接收端時可能會亂序、丟失或損壞。

下圖顯示瞭如何從緩衝區中的位元組建立報文段。

報文段的大小並不相同。每個報文段可以攜帶數百個位元組。

全雙工服務

TCP提供全雙工服務,資料可以同時雙向流動。每個TCP將擁有傳送緩衝區和接收緩衝區。TCP報文段將雙向傳送。

面向連線的服務

我們已經知道TCP是一個面向連線的協議。當一個程序想要與另一個程序 (程序-2) 通訊 (傳送和接收) 時,操作順序如下:

  • 程序-1的TCP通知程序-2的TCP並獲得其批准。
  • 程序-1的TCP告訴程序-2的TCP雙向交換資料。
  • 完成資料交換後,當雙方的緩衝區為空時,兩個TCP將銷燬它們的緩衝區。

TCP中的連線型別不是物理連線,而是虛擬連線。封裝在IP資料報中的TCP報文段可能會亂序傳送。這些報文段可能會丟失或損壞,可能需要重新發送。每個報文段可能採取不同的路徑到達目的地。

可靠的服務

TCP是一個可靠的傳輸協議。它使用確認機制來檢查資料的安全可靠到達。

更新於:2021年5月4日

20K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告