TCP中的Silly Window Syndrome(小視窗綜合症)是什麼?


TCP是**傳輸控制協議**,是一種面向連線的協議。它在傳送方和接收方之間提供流量控制和錯誤控制功能。

一種用於資料鏈路層的協議,支援資料幀的可靠和順序傳遞。該協議是滑動視窗協議。

TCP也使用這種滑動視窗機制,幫助傳送方一次傳輸多個幀,然後再接收來自接收方的確認。

TCP將維護適當的資料流。

如果傳送方的資料傳輸速度比接收方的接收速度快,就會出現溢位。這將導致資料丟失。這可以透過TCP來控制,即提供視窗的概念。

由於TCP的實現不當,可能會出現小視窗綜合症。

這將降低效能。由於這個問題,資料傳輸效率低下。

由於這個問題,傳送方視窗可能會縮小到很小的尺寸。

因此,傳輸的資料大小也變得小於TCP報頭。

導致小視窗綜合症的問題

該綜合症可能是由於以下問題引起的:

  • 傳送方視窗重複傳輸一個位元組的資料。

  • 接收方視窗重複接受一個位元組的資料。

讓我們詳細瞭解一下。

傳送方視窗重複傳輸一個位元組的資料

**步驟1** - 如果應用程式只生成一個位元組的資料,TCP將傳輸這個小資料段。

**步驟2** - 應用程式始終生成單個位元組的資料,視窗傳輸它。

**步驟3** - 這是因為傳輸過程變得緩慢且效率低下。這裡傳送方視窗重複傳輸一個位元組的資料。

接收方視窗重複接受一個位元組的資料

**步驟1** - 假設接收方無法處理所有傳入的資料。

**步驟2** - 在這種情況下,接收方會通告一個較小的視窗大小。

**步驟3** - 該過程重複,視窗大小變得太小。

**步驟4** - 因此,接收方反覆通告視窗大小為一個位元組。

**步驟5** - 最終,接收過程變得緩慢且效率低下。

解決方案

下面解釋了上述問題的解決方案

傳送方視窗重複傳輸一個位元組的資料

  • 傳送方必須只在從應用程式接收一個位元組的資料後傳送第一個位元組。

  • 傳送方必須緩衝所有其餘的位元組,直到待處理的位元組得到確認。

收到確認後,傳送方需要在一個TCP段中傳送緩衝的資料。然後傳送方應該再次緩衝資料,直到先前傳送的資料得到確認。

接收方視窗重複接受一個位元組的資料:

  • 接收方不會為一個位元組傳送視窗更新。

  • 接收方必須等到有更多可用空間。

之後,接收方應將視窗大小通告給傳送方。

TCP 將初始擁塞視窗設定為最大分段大小。通告視窗是接收方當時的視窗,有效視窗是當時通告視窗和擁塞視窗中的最小值。

從所有這些解釋中,我們將瞭解關於小視窗綜合症的資訊,這將使資料傳輸效率低下。

更新於:2021年9月15日

4K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.