使用tcp視窗協議時,接收方不必確認每乙個收到的分組。在tcp中,ack是累積的---它們表示接收方已經正確接收到了一直到確認序號減一的所有位元組
滑動視窗實際上是描述接收方tcp緩衝區大小的資料,傳送方根據這個計算自己可以傳送的資料大小。
當接收方確認資料後,這個滑動視窗不斷向右移動。視窗兩個邊沿的相對運動增加或減小了視窗的大小。我們使用三個術語描述視窗左右邊沿的運動:
(1)視窗左邊沿向右邊沿靠近為視窗靠攏。這種現象發生在資料被傳送和確認時。
(2)視窗右邊沿向右移動時將允許傳送更多的資料,我們稱之為視窗張開。這種現象發生在另一端的接受程序讀取已經確認的資料並釋放了tcp接受緩衝區時。
(3)當右邊沿向左移動時,我們稱之為視窗收縮。
對於乙太網而言,預設的4096位元組並不是最理想的大小,將兩個快取增加到16384個位元組可以增加約40%左右的吞吐量。
傳送方使用push標誌通知接收方將所收到的資料全部提交給接受程序。這裡的資料報括與push一起傳送的資料以及tcp之前為接受程序接收的資料
tcp支援一種稱作慢啟動的演算法。該演算法通過觀察到新分組進入網路的速率應該與另一端返回確認的速率相同而進行工作
慢啟動為傳送方的tcp增加了另一種視窗:擁塞視窗,記為cwnd。
當與另一端的主機建立tcp連線時,擁塞視窗被初始化為1個報文段(即另一端通告的報文段大小)。每接收到乙個ack,擁塞視窗就增加乙個報文段。傳送方取擁塞視窗和通告視窗的最小值作為傳送上限。擁塞視窗是傳送方使用的流量控制,而通告視窗是接收方使用的流量控制
TCP互動資料流 成塊資料流
tcp資料流分類 基於tcp的各類解決方案,可以根據資料吞吐量來大致分成兩大類 1 互動資料型別,例如telnet,ssh,這種型別的協議在大多數情況下只是做小流量的資料交換,比如說按一下鍵盤,回顯一些文字等等。2 資料成塊型別,例如ftp,這種型別的協議要求tcp能盡量的運載資料,把資料的吞吐量做...
tcp成塊資料流互動
滑動視窗 滑動視窗協議是允許傳送方傳送多個未被確認的資料分組,每個分組不必等待確認後進行傳送下乙個分組,且接受方通過視窗協議可以對多個分組進行確認,可以加快資料的傳輸。在滑動視窗協議中,ack的確認是可以累積的,可以一次確認多個分組。當接收方確認資料後,這個滑動視窗不時地向右移動。視窗兩個邊沿的相對...
TCP互動資料流與成塊資料流 筆記
tcp互動資料流 對與互動性要求較高的應用採用互動性輸入,一次傳送較少的位元組,當tcp在接受資料時並不急著立即傳送ack 相反,它推遲傳送,以便將ack與需要沿該方向傳送的資料一起傳送 捎帶ack 絕大多數實現採用的時延為200ms,也就是說,tcp將以最大200ms的時延等待是否有資料一起傳送。...