TCP是怎樣工作的( 簡體 字) | |
作者:[日]安永遼真 中山悠 丸田一輝 | 類別:1. -> 網路與通信 -> 電腦網路 2. -> 程式設計 -> 綜合 |
出版社:人民郵電出版社 | 3dWoo書號: 56244 詢問書籍請說出此書號! 有庫存 NT售價: 350 元 |
出版日:3/1/2023 | |
頁數:265 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787115610744 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第 1章
TCP入門 確保傳輸可靠性 1 1.1 通信與協議 OSI參考模型、TCP/IP和RFC 2 OSI參考模型 2 TCP/IP 10 分層模型下的數據格式 12 協議分層結構下的通信過程 12 1.2 傳輸層與傳輸可靠性 將數據無亂序、無丟失地發送給接收方 15 傳輸可靠性 15 網絡擁塞 15 通信對網絡的要求 16 傳輸層的職責 17 1.3 UDP的基本情況 無連接的簡單特性 18 UDP的基礎知識 18 單播、多播、廣播 19 適合UDP的應用程序 20 1.4 TCP的基本情況 可靠性的確保與實時性 21 TCP的基礎知識 21 TCP與UDP的功能與特點 22 適合TCP 的應用程序 23 1.5 TCP 的基本功能 重傳、順序控制和擁塞控制 23 連接管理 24 序列號 24 重傳控制 25 順序控制 26 端口號 27 流量控制 28 擁塞控制與擁塞控制算法 29 無線通信與TCP 30 1.6 面向特定用途的協議 RUDP、W-TCP、SCTP 和DCCP 32 RUDP 32 W-TCP 33 SCTP 36 DCCP 37 1.7 小結 37 第 2章 TCP/IP的變遷 隨著互聯網的普及而不斷進化的協議 39 2.1 TCP 黎明期 1968 年—1980 年 40 阿帕網項目啟動(1968 年) 41 UNIX 問世(1969 年) 44 搭建ALOHAnet(1970年) 45 TCP 問世(1974 年) 46 以太網標準公開(1980年) 47 2.2 TCP發展期 1980年—1995年 48 擁塞崩潰問題浮出水面(1980 年) 49 引入Nagle 算法(1984 年) 49 引入擁塞控制算法(1988 年) 51 往互聯網的遷移與萬維網的誕生(1990 年) 52 2.3 TCP 普及期 1995年—2006 年 53 Windows 95發售(1995年) 54 IPv6投入使用(1999年) 54 無線LAN出現(1999年) 55 各式各樣的互聯網應用服務(2004年—2006年) 56 2.4 TCP擴展期 21世紀00年代后半期— 57 智能手機普及(2007年) 57 云計算出現(2006年) 58 移動網絡的高速化(2010 年、2015年) 59 物聯網的大眾化(2015年) 61 2.5 小結 62 第3章 TCP與數據傳輸 實現可靠性與效率的兼顧 65 3.1 TCP 的數據格式 數據包與首部的格式 66 數據包格式 66 TCP 報文段 66 TCP 首部格式 68 UDP 首部格式 72 3.2 連接管理 3次握手 73 建立連接 73 斷開連接 74 端口與連接 75 3.3 流量控制與窗口控制 不宜多也不宜少,適當的發送量與接收方緩沖區 76 流量控制 76 緩存與時延 77 窗口控制 78 復習:流量控制、窗口控制和擁塞控制 79 3.4 擁塞控制 預測傳輸量,預測自律運行且內部宛如黑盒的網絡的內部情況 80 TCP擁塞控制的基本概念 80 慢啟動 81 擁塞避免 82 快速恢復 84 3.5 重傳控制 高可靠性傳輸的關鍵——準確且高效 86 高可靠性傳輸所需的重傳控制 86 基于重傳計時器的超時控制 87 使用重復ACK 91 擁塞避免算法與重傳控制綜合影響下的流程及擁塞窗口大小的變化情況 92 3.6 TCP 初期的代表性擁塞控制算法 Tahoe、Reno、NewReno 和Vegas 93 擁塞控制算法的變化 93 Tahoe 94 Reno 96 NewReno 97 Vegas 99 3.7 小結 101 第4章 程序員必學的擁塞控制算法 逐漸增長的通信數據量與網絡的變化 103 4.1 擁塞控制的基本理論 目的與設計,計算公式的基礎知識 104 擁塞控制的目的 104 擁塞控制的基本設計 105 擁塞控制中的有限狀態機 107 擁塞控制算法示例 109 4.2 擁塞控制算法 通過理論× 模擬加深理解 111 本書介紹的擁塞控制算法 111 NewReno 112 Vegas 115 Westwood 117 HighSpeed 119 Scalable 121 Veno 123 BIC 125 H-TCP 127 Hybla 129 Illinois 130 YeAH 133 4.3 協議分析器Wireshark 實踐入門 擁塞控制算法的觀察A 135 什么是Wireshark 135 Wireshark 的環境搭建 135 使用Wireshark 進行TCP 首部分析 138 通過Wireshark 觀察擁塞控制算法 141 4.4 加深理解:網絡模擬器ns-3 入門 擁塞控制算法的觀察B 149 ns-3 的基本情況 149 搭建ns-3 環境 150 基于ns-3 的網絡模擬的基礎知識 151 腳本文件chapter4-base.cc 153 使用Python 運行模擬器并進行分析和可視化 155 4.5 小結 163 第5章 CUBIC算法 通過三次函數簡單地解決問題 167 5.1 網絡高速化與TCP擁塞控制 長肥管道帶來的變化 .168 Reno和NewReno 168 快速恢復 168 網絡的高速化與長肥管道 169 端到端之間的三大時延 170 長肥管道下NewReno的新問題 171 5.2 基于丟包的擁塞控制 以丟包情況為指標的一種歷史悠久的方法 173 基于丟包的擁塞控制算法的基本情況 174 AIMD 控制 174 [實測]NewReno的擁塞窗口大小的變化情況 176 HighSpeed與Scalable 179 親和性 183 RTT公平性 184 5.3 BIC 以寬帶、高時延環境為前提的算法 186 BIC是什么 186 增大擁塞窗口大小的兩個階段 187 BIC的擁塞窗口大小的變化情況 188 BIC的問題 190 5.4 CUBIC的機制 使用三次函數大幅簡化擁塞窗口大小控制算法 190 CUBIC的基本情況 190 窗口控制算法的關鍵點 191 CUBIC 的擁塞窗口大小的變化情況 192 模擬結果中展現出來的高親和性 194 模擬結果中展現出來的RTT 公平性 194 窄帶低時延環境下的適應性 195 CUBIC的問題 197 5.5 使用偽代碼學習CUBIC算法 主要的行為與處理過程 198 初始化 198 收到ACK時的行為 199 丟包時的行為 199 超時時的行為 200 主要的函數與處理 200 5.6 小結 202 第6章 BBR算法 檢測吞吐量與RTT的值,調節數據發送量 205 6.1 緩沖區增大與緩沖區時延增大 存儲成本下降的影響 206 網絡設備的緩沖區增大 206 緩沖區膨脹 207 基于丟包的擁塞控制與緩沖區膨脹的關系 208 緩沖區增大給CUBIC 帶來的影響 210 6.2 基于延遲的擁塞控制 以RTT 為指標的算法的基本情況和Vegas示例 212 3 種擁塞控制算法和如何結合環境選擇算法 212 基于延遲的擁塞控制的基本設計思路 213 Vegas的擁塞窗口大小的變化情況 214 過去的基于延遲控制的問題 215 6.3 BBR的機制 把控數據發送量與RTT之間的關系,實現最大吞吐量 217 BBR的基本思路 217 BBR的擁塞窗口大小控制機制 218 RTprop的估算 219 BtlBw的估算 220 6.4 使用偽代碼學習BBR算法 收到ACK時和發送數據時 221 收到ACK時 222 發送數據時 222 6.5 BBR的流程 模擬實驗中的各種流程 223 只有BBR網絡流時的表現 223 當多個BBR網絡流同時存在時 225 與CUBIC的共存 227 長肥管道下的表現 229 6.6 小結 231 第7章 TCP前沿的研究動向 應用程序和通信環境一旦變化,TCP也會變化 233 7.1 TCP 周邊環境的變化 3個視角:通信方式、通信設備和連接目標 234 TCP迄今為止的發展情況 234 觀察通信環境變化的3 個視角 235 通信方式的變化 236 通信設備的多樣化 238 連接目標的變化 239 小結 241 7.2 5G(第5代移動通信) 移動通信的大容量化、多設備支持、高可靠性與低時延 241 [背景] 5G的應用場景與走向實用的規劃 242 [問題] 如何應對嚴苛的需求條件 244 [TCP相關動向A] 毫米波段的處理 245 [TCP相關動向B] 多路徑TCP 246 [TCP相關動向C] 高清流媒體 248 7.3 物聯網 通過互聯網控制各種各樣的設備 249 [背景] 多樣的設備和通信方式 249 [問題] 處理能力和通信環境上的制約 252 [TCP相關動向] 適配物聯網 253 7.4 數據中心 大規模化與各種需求條件并存 254 [背景] 云服務的普及和數據中心的大規模化 254 [問題] 針對緩沖區的互斥的需求條件 256 [TCP相關動向] 面向數據中心的擁塞控制 257 7.5 自動駕駛 追求高可靠性與低時延、大容量的通信性能 259 [背景] 以普及自動駕駛為目的的技術 259 [問題] 高速移動時的高可靠性通信 262 [與TCP的關系] 關于確保可靠性 263 7.6 小結 264 本書以圖配文,通俗易懂地講解了長期不會過時的TCP技術。其中,第1章至第3章講解了TCP的基礎知識,詳細梳理了TCP的發展歷程,并以豐富的圖例展示了TCP數據傳輸的基本思路和過程;第4章至第6章著重介紹了TCP中極為重要的擁塞控制技術,通過圖表、公式和模擬實驗講解了TCP擁塞控制的運行機制和熱門算法(CUBIC、BBR等);第7章講解了TCP前沿的研究動向和今后的發展方向,涉及5G、物聯網、數據中心、自動駕駛等內容。
本書理論與實踐相結合,在詳細講解TCP原理后,還引領讀者搭建模擬環境,使用Wireshark和ns-3等工具模擬TCP的運行機制,觀察擁塞控制算法的執行,并輔以偽代碼,幫助讀者深入理解TCP技術。 |