1. 程式人生 > >TCP中的滑動視窗

TCP中的滑動視窗

.滑動視窗 滑動視窗本質上是描述接受方的TCP資料報緩衝區大小的資料,傳送方根據這個資料來計算自己最多能傳送多長的資料。如果傳送方收到接受方的視窗大小 為0的TCP資料報,那麼傳送方將停止傳送資料,等到接受方傳送視窗大小不為0的資料報的到來。書中的P211和P212很好的解釋了這一點。 關於滑動視窗協議,書上還介紹了三個術語,分別是:
  1. 視窗合攏:當視窗從左邊向右邊靠近的時候,這種現象發生在資料被髮送和確認的時候。
  2. 視窗張開:當視窗的右邊沿向右邊移動的時候,這種現象發生在接受端處理了資料以後。
  3. 視窗收縮:當視窗的右邊沿向左邊移動的時候,這種現象不常發生。
TCP就是用這個視窗,慢慢的從資料的左邊移動到右邊,把處於視窗範圍內的資料傳送出去(但不用傳送所有,只是處於視窗內的資料可以傳送。)。這就 是視窗的意義。圖20-6解釋了這一點。視窗的大小是可以通過socket來制定的,4096並不是最理想的視窗大小,而16384則可以使吞吐量大大的 增加。