在
tcp進行資料傳輸時
,可以分為成塊資料流和互動資料流兩種
,且處理的
演算法不同.
每乙個互動按鍵都會產生乙個分組,也就是說,每次從客戶傳到伺服器的是乙個位元組的按鍵(而不是每次一行).
報文段2可以和報文段3進行合併—按鍵確認和按鍵回顯一起傳送
按鍵確認和按鍵回顯兩個報文段合併在一起傳送,這種技術叫做經受時延的確認。
通常tcp
在接收到資料時並不立即傳送
ack;相反,
他推遲傳送
,以便將
ack與需要沿該方向傳送的資料一起傳送
(有時稱這種現象為資料捎帶
ack)
絕大多數實現採用的時延為
200ms,
也就是說
,tcp
將以最大
200ms
的時延等待是否有資料一起傳送
.目的:減少網路上的微小分組,降低出現擁塞的可能,但也會增加延時.
nagle演算法要求乙個tcp連線上最多只能有乙個未被確認的未完成的小分組,在該分組的確認到達之前不能傳送其他的小分組.
流程:1,傳送端tcp將從應用程序收到的第一資料塊立即傳送,不管其大小,哪怕只有乙個位元組.
2,傳送端輸出第一塊資料後開始收集資料,並等待確認.
3,確認未到達時,若收集資料打到視窗的一半或乙個mss段,立即傳送.
4,確認到達後,發緩衝區中的資料組成乙個tcp段,然後傳送.
socket api使用者可以使用tcp_nodelay選項來關閉nagle演算法.(比如當小訊息需要無時延傳送時)
slip通告視窗大小為4096位元組
vangogh通告其視窗大小為8192位元組
伺服器通常通告視窗大小為8192位元組,應為伺服器在讀取並回顯接收到的資料之前,其tcp沒有資料傳送
TCP 互動資料流
tcp通訊量如果按分組數量計算,約一半的tcp報文段包含成塊資料 如ftp 電子郵件和usenet新聞 另一半則包含互動資料 如telnet,rlogin 如果按位元組計算,則成塊資料與互動資料的比例約為90 和10 這是因為成塊資料報文段基本上是滿長度的,而互動式資料則小得多。tcp同時處理這兩類...
TCP互動資料流 成塊資料流
tcp資料流分類 基於tcp的各類解決方案,可以根據資料吞吐量來大致分成兩大類 1 互動資料型別,例如telnet,ssh,這種型別的協議在大多數情況下只是做小流量的資料交換,比如說按一下鍵盤,回顯一些文字等等。2 資料成塊型別,例如ftp,這種型別的協議要求tcp能盡量的運載資料,把資料的吞吐量做...
tcp成塊資料流互動
滑動視窗 滑動視窗協議是允許傳送方傳送多個未被確認的資料分組,每個分組不必等待確認後進行傳送下乙個分組,且接受方通過視窗協議可以對多個分組進行確認,可以加快資料的傳輸。在滑動視窗協議中,ack的確認是可以累積的,可以一次確認多個分組。當接收方確認資料後,這個滑動視窗不時地向右移動。視窗兩個邊沿的相對...