TCP 學習筆記3 TCP的互動資料流

2021-10-10 18:30:16 字數 622 閱讀 4490

所謂互動資料流就是指通過互動產生的一些資料量很小的分組,比如客戶端輸出乙個命令,伺服器會對客戶端傳送乙個ack以及該命令的回顯,客戶端再傳送乙個對回顯命令的確認,如果這樣的分組很多,那麼會降低傳效率。

是指tcp在接受到資料時通常不會立即傳送ack,而是會等待一段時間,以便於將ack與需要沿該方向傳送的資料一起傳送。大部分會採用200ms的定時器。

如果這種互動式資料傳送的比較頻繁,可能會在廣域網上產生擁塞的可能。nagle演算法就是為了解決這種情況。

該演算法要求乙個tcp連線上最多只能有乙個未被確認的未完成的小分組,在該分組的確認到達之前不能傳送其他分組。

也就是說必須要等到對端對上一段報文的ack之後,才能傳送下乙個報文,否則收到的來自應用層的資料只能被放入快取區中,等待收到ack傳送。

該演算法的優點在於:在高速網路中,確認到達的越快,資料傳送地也就越快,在低速網路中,確認到達地慢,分組數目也會減小,這樣可以避免擁塞。

有時候我們也可能會需要關閉nagle演算法。比如互動命令必須無時延傳送,或者輸入某個特殊的功能鍵之後,會產生多個字串行,如果開啟了nagle演算法,那麼必須要等到收到第乙個字元的ack之後,其餘的字元才能傳送,但伺服器可能不會立馬傳送對該字元的確認,而是出發經受時延確認演算法,這樣對互動使用者而言,會產生明顯的時延。

3 TCP的資料互動

1.3.tcp成塊資料流 1.4.參考資料 前一章我們介紹了 tcp 連線的建立與釋放,現在來介紹使用 tcp 進行資料傳輸的有關問題。一些有關 tcp 通訊量的研究如 caceres et al.1991 發現,如果按照分組數量計算,約有一半的 tcp 報文段包含成塊資料 如 ftp 電子郵件和 ...

網路程式設計學習筆記3 TCP基礎

在網路通訊中,套接字一定是成對出現的,一端的傳送緩衝區對應對端的接收緩衝區,使用的是同乙個檔案描述符。埠號 在網路中的一台主機上,唯一標識乙個程序 socket 乙個檔案描述符指向乙個套接字,該套接字內部由核心借助兩個緩衝區實現 對於udp來說,來標識 對於tcp來說,來標識,畢竟對於tcp來說,每...

TCP學習筆記

tcp tcp譯為傳輸控制協議,一種面向廣域網的通訊協議 目的 在不可靠的網際網路絡上提供可靠的端到端位元組流 特點 1.基於流方式 2.面向連線 3.可靠通訊方式 4.網路狀況不佳盡量降低系統由於重傳帶來的寬頻開銷 5.通訊連線維護面向通訊的兩個端點,不考慮中間網段和節點 工作方式 一 3次握手建...