tcp的互動資料流目錄章節
1.互動式輸入
2.經受時延的確認
3.nagle演算法
4.視窗大小通告
如果按照分組數量計算,約有一半的t c p報文段包含成塊資料(如 f t p、電子郵件和 u s e n e t新聞) ,另一半則包含互動資料(如te l n e t和r l o g i n) 。如果按位元組計算,則成塊資料與互動資料的比例約為 9 0 %和1 0 %。這是因為成塊資料的報文段基本上都是滿長度( f u l l - s i z e d)的(通常為5 1 2位元組的使用者資料) ,而互動資料則小得多(上述研究表明 te l n e t和r l o g i n分組中通常約9 0 %左右的使用者資料小於1 0個位元組) 。
首先來觀察在乙個r l o g i n連線上鍵入乙個互動命令時所產生的資料流。許多 t c p / i p的初學者很吃驚地發現通常每乙個互動按鍵都會產生乙個資料分組,也就是說,每次從客戶傳到伺服器的是乙個位元組的按鍵(而不是每次一行) 。而且,r l o g i n需要遠端系統(伺服器)回顯我們(客戶)鍵入的字元。這樣就會產生4個報文段: (1)來自客戶的互動按鍵;(2)來自伺服器的按鍵確認;(3)來自伺服器的按鍵回顯;( 4)來自客戶的按鍵回顯確認。圖1 9 - 1表示了這個資料流。
然而,我們一般可以將報文段 2和3進行合併—按鍵確認與按鍵回顯一起傳送。下一節將描述這種合併的技術(稱為經受時延的確認) 。
把從b s d i傳送到s r v 4的7個a c k標記為經受時延的a c k。通常t c p在接收到資料時並不立即傳送a c k;相反,它推遲傳送,以便將 a c k與需要沿該方向傳送的資料一起傳送(有時稱這種現象為資料捎帶a c k) 。絕大多數實現採用的時延為200 ms,也就是說,t c p將以最大200 ms的時延等待是否有資料一起傳送。
該演算法要求乙個t c p連線上最多只能有乙個未被確認的未完成的小分組,在該分組的確認到達之前不能傳送其他的小分組。相反, t c p收集這些少量的分組,並在確認到來時以乙個分組的方式發出去。該演算法的優越之處在於它是自適應的:確認到達得越快,資料也就傳送得越快。而在希望減少微小分組數目的低速廣域網上,則會傳送更少的分組 。
在圖1 9 - 4中,我們可以觀察到s l i p通告視窗大小為4 0 9 6位元組,而v a n g o g h通告其視窗大小為8 1 9 2個位元組。該圖中的大多數報文段都包含這兩個值中的乙個。
然而,報文段5通告的視窗大小為4 0 9 5個位元組,這意味著在t c p的緩衝區中仍然有乙個位元組等待應用程式( r l o g i n客戶)讀取。同樣,來自客戶的下乙個報文段宣告其視窗大小為4 0 9 4個位元組,這說明仍有兩個位元組等待讀取。
伺服器通常通告視窗大小為 8 1 9 2個位元組,這是因為伺服器在讀取並回顯接收到的資料之前,其t c p沒有資料傳送。當伺服器已經讀取了來自客戶的輸入後,來自伺服器的資料將被傳送。
然而,在a c k到來時,客戶的t c p總是有資料需要傳送。這是因為它在等待 a c k的過程中快取接收到的字元。當客戶t c p傳送快取的資料時,r l o g i n客戶沒有機會讀取來自伺服器的資料,因此,客戶通告的視窗大小總是小於 4 0 9 6。
tcp ip詳解學習 tcp
1。tcp連線的建立與終止 建立過程 1 客戶端請求建立連線。ack 0 syn 1 sequence number isn client acknowledgement number null options mss 2 服務段確認連線。ack 1 syn 1 sequence number is...
TCP IP隨筆 TCP協議詳解
tcp協議詳解 應用層 訊息 報文包含了將要傳送的完整的資料資訊 傳輸層 資料段 報文段 segment 注 tcp叫tcp報文段,udp叫udp資料報,也有人叫udp段 網路層 分組 資料報 packet 鏈路層 幀 frame 物理層 p pdu bit 位元組流和資料報都是一種資料傳遞方式 t...
TCP IP詳解之TCP的堅持定時器5
tcp的堅持定時器章節目錄 1.乙個例子 2.糊塗視窗綜合症 可以在圖20 3中看到這種情況。當傳送方接收到報文段9時,它開啟被報文段8關閉的視窗並立即開始傳送資料。tcp必須能夠處理開啟此視窗的ack 報文段9 丟失的情況。ack的傳輸並不可靠,也就是說,tcp不對ack報文段進行確認,tcp只確...