TCP是怎樣工作的
定 價(jià):¥69.8
中 教 價(jià):¥41.18 (5.90折)促銷(xiāo)
庫(kù) 存 數(shù): 7
叢 書(shū) 名:圖靈程序設(shè)計(jì)叢書(shū)
本書(shū)以圖配文,通俗易懂地講解了長(zhǎng)期不會(huì)過(guò)時(shí)的TCP技術(shù)。其中,第1章至第3章講解了TCP的基礎(chǔ)知識(shí),詳細(xì)梳理了TCP的發(fā)展歷程,并以豐富的圖例展示了TCP數(shù)據(jù)傳輸?shù)幕舅悸泛瓦^(guò)程;第4章至第6章著重介紹了TCP中極為重要的擁塞控制技術(shù),通過(guò)圖表、公式和模擬實(shí)驗(yàn)講解了TCP擁塞控制的運(yùn)行機(jī)制和熱門(mén)算法(CUBIC、BBR等);第7章講解了TCP前沿的研究動(dòng)向和今后的發(fā)展方向,涉及5G、物聯(lián)網(wǎng)、數(shù)據(jù)中心、自動(dòng)駕駛等內(nèi)容。本書(shū)理論與實(shí)踐相結(jié)合,在詳細(xì)講解TCP原理后,還引領(lǐng)讀者搭建模擬環(huán)境,使用Wireshark和ns-3等工具模擬TCP的運(yùn)行機(jī)制,觀察擁塞控制算法的執(zhí)行,并輔以偽代碼,幫助讀者全面理解TCP技術(shù)。
1.146張示意圖幫助理解,詳略得當(dāng),為讀懂大部頭開(kāi)路2.詳細(xì)梳理TCP發(fā)展歷程,從變遷中窺見(jiàn)設(shè)計(jì)思路與本質(zhì)3.深入TCP核心技術(shù),重點(diǎn)講解擁塞控制算法(CUBIC、BBR等)4.使用Wireshark和ns-3等搭建模擬環(huán)境,切實(shí)體驗(yàn)算法流程
安永遼真(作者) 2011年畢業(yè)于東京大學(xué)工學(xué)部,2013年碩士畢業(yè)于東京大學(xué)研究生院工學(xué)系,同年入職日本電信電話株式會(huì)社,2016年被派往諾基亞貝爾實(shí)驗(yàn)室進(jìn)修。主要從事計(jì)算機(jī)網(wǎng)絡(luò)模型的研究。 中山悠(作者) 2008年畢業(yè)于東京大學(xué),入職日本電信電話株式會(huì)社,2018年博士畢業(yè)于東京大學(xué)電子信息專(zhuān)業(yè),目前在東京農(nóng)工大學(xué)擔(dān)任副教授,研究移動(dòng)計(jì)算、低延遲網(wǎng)絡(luò)和物聯(lián)網(wǎng)等。 丸田一輝(作者) 2008年畢業(yè)于九州大學(xué),入職日本電信電話株式會(huì)社,2016年博士畢業(yè)于九州大學(xué)信息智能工學(xué)專(zhuān)業(yè),2017年3月成為千葉大學(xué)助教,研究無(wú)線網(wǎng)絡(luò)中的抗干擾技術(shù)。曾獲得日本電子信息通信學(xué)會(huì)(IEICE)論文獎(jiǎng)、日本無(wú)線電通信系統(tǒng)(RCS)研究會(huì)最優(yōu)秀貢獻(xiàn)獎(jiǎng)等。 尹修遠(yuǎn)(譯者) 畢業(yè)于華中科技大學(xué),現(xiàn)從事客戶(hù)端開(kāi)發(fā)工作。曾任職騰訊游戲平臺(tái),從事網(wǎng)絡(luò)加速相關(guān)技術(shù)研發(fā),對(duì)TCP/IP等網(wǎng)絡(luò)技術(shù)有自己獨(dú)到的見(jiàn)解。
第 1章TCP入門(mén)確保傳輸可靠性 11.1 通信與協(xié)議OSI參考模型、TCP/IP和RFC 2OSI參考模型 2TCP/IP 10分層模型下的數(shù)據(jù)格式 12協(xié)議分層結(jié)構(gòu)下的通信過(guò)程 121.2 傳輸層與傳輸可靠性將數(shù)據(jù)無(wú)亂序、無(wú)丟失地發(fā)送給接收方 15傳輸可靠性 15網(wǎng)絡(luò)擁塞 15通信對(duì)網(wǎng)絡(luò)的要求 16傳輸層的職責(zé) 171.3 UDP的基本情況無(wú)連接的簡(jiǎn)單特性 18UDP的基礎(chǔ)知識(shí) 18單播、多播、廣播 19適合UDP的應(yīng)用程序 201.4 TCP的基本情況可靠性的確保與實(shí)時(shí)性 21TCP的基礎(chǔ)知識(shí) 21TCP與UDP的功能與特點(diǎn) 22適合TCP 的應(yīng)用程序 231.5 TCP 的基本功能重傳、順序控制和擁塞控制 23連接管理 24序列號(hào) 24重傳控制 25順序控制 26端口號(hào) 27流量控制 28擁塞控制與擁塞控制算法 29無(wú)線通信與TCP 301.6 面向特定用途的協(xié)議RUDP、W-TCP、SCTP 和DCCP 32RUDP 32W-TCP 33SCTP 36DCCP 371.7 小結(jié) 37第 2章TCP/IP的變遷隨著互聯(lián)網(wǎng)的普及而不斷進(jìn)化的協(xié)議 392.1 TCP 黎明期1968 年1980 年 40阿帕網(wǎng)項(xiàng)目啟動(dòng)(1968 年) 41UNIX 問(wèn)世(1969 年) 44搭建ALOHAnet(1970年) 45TCP 問(wèn)世(1974 年) 46以太網(wǎng)標(biāo)準(zhǔn)公開(kāi)(1980年) 472.2 TCP發(fā)展期1980年1995年 48擁塞崩潰問(wèn)題浮出水面(1980 年) 49引入Nagle 算法(1984 年) 49引入擁塞控制算法(1988 年) 51往互聯(lián)網(wǎng)的遷移與萬(wàn)維網(wǎng)的誕生(1990 年) 522.3 TCP 普及期1995年2006 年 53Windows 95發(fā)售(1995年) 54IPv6投入使用(1999年) 54無(wú)線LAN出現(xiàn)(1999年) 55各式各樣的互聯(lián)網(wǎng)應(yīng)用服務(wù)(2004年2006年) 562.4 TCP擴(kuò)展期21世紀(jì)00年代后半期 57智能手機(jī)普及(2007年) 57云計(jì)算出現(xiàn)(2006年) 58移動(dòng)網(wǎng)絡(luò)的高速化(2010 年、2015年) 59物聯(lián)網(wǎng)的大眾化(2015年) 612.5 小結(jié) 62第3章TCP與數(shù)據(jù)傳輸實(shí)現(xiàn)可靠性與效率的兼顧 653.1 TCP 的數(shù)據(jù)格式數(shù)據(jù)包與首部的格式 66數(shù)據(jù)包格式 66TCP 報(bào)文段 66TCP 首部格式 68UDP 首部格式 723.2 連接管理3次握手 73建立連接 73斷開(kāi)連接 74端口與連接 753.3 流量控制與窗口控制不宜多也不宜少,適當(dāng)?shù)陌l(fā)送量與接收方緩沖區(qū) 76流量控制 76緩存與時(shí)延 77窗口控制 78復(fù)習(xí):流量控制、窗口控制和擁塞控制 793.4 擁塞控制預(yù)測(cè)傳輸量,預(yù)測(cè)自律運(yùn)行且內(nèi)部宛如黑盒的網(wǎng)絡(luò)的內(nèi)部情況 80TCP擁塞控制的基本概念 80慢啟動(dòng) 81擁塞避免 82快速恢復(fù) 843.5 重傳控制高可靠性傳輸?shù)年P(guān)鍵準(zhǔn)確且高效 86高可靠性傳輸所需的重傳控制 86基于重傳計(jì)時(shí)器的超時(shí)控制 87使用重復(fù)ACK 91擁塞避免算法與重傳控制綜合影響下的流程及擁塞窗口大小的變化情況 923.6 TCP 初期的代表性擁塞控制算法Tahoe、Reno、NewReno 和Vegas 93擁塞控制算法的變化 93Tahoe 94Reno 96NewReno 97Vegas 993.7 小結(jié) 101第4章程序員必學(xué)的擁塞控制算法逐漸增長(zhǎng)的通信數(shù)據(jù)量與網(wǎng)絡(luò)的變化 1034.1 擁塞控制的基本理論目的與設(shè)計(jì),計(jì)算公式的基礎(chǔ)知識(shí) 104擁塞控制的目的 104擁塞控制的基本設(shè)計(jì) 105擁塞控制中的有限狀態(tài)機(jī) 107擁塞控制算法示例 1094.2 擁塞控制算法通過(guò)理論 模擬加深理解 111本書(shū)介紹的擁塞控制算法 111NewReno 112Vegas 115Westwood 117HighSpeed 119Scalable 121Veno 123BIC 125H-TCP 127Hybla 129Illinois 130YeAH 1334.3 協(xié)議分析器Wireshark 實(shí)踐入門(mén)擁塞控制算法的觀察A 135什么是Wireshark 135Wireshark 的環(huán)境搭建 135使用Wireshark 進(jìn)行TCP 首部分析 138通過(guò)Wireshark 觀察擁塞控制算法 1414.4 加深理解:網(wǎng)絡(luò)模擬器ns-3 入門(mén)擁塞控制算法的觀察B 149ns-3 的基本情況 149搭建ns-3 環(huán)境 150基于ns-3 的網(wǎng)絡(luò)模擬的基礎(chǔ)知識(shí) 151腳本文件chapter4-base.cc 153使用Python 運(yùn)行模擬器并進(jìn)行分析和可視化 1554.5 小結(jié) 163第5章CUBIC算法通過(guò)三次函數(shù)簡(jiǎn)單地解決問(wèn)題 1675.1 網(wǎng)絡(luò)高速化與TCP擁塞控制長(zhǎng)肥管道帶來(lái)的變化 .168Reno和NewReno 168快速恢復(fù) 168網(wǎng)絡(luò)的高速化與長(zhǎng)肥管道 169端到端之間的三大時(shí)延 170長(zhǎng)肥管道下NewReno的新問(wèn)題 1715.2 基于丟包的擁塞控制以丟包情況為指標(biāo)的一種歷史悠久的方法 173基于丟包的擁塞控制算法的基本情況 174AIMD 控制 174[實(shí)測(cè)]NewReno的擁塞窗口大小的變化情況 176HighSpeed與Scalable 179親和性 183RTT公平性 1845.3 BIC以寬帶、高時(shí)延環(huán)境為前提的算法 186BIC是什么 186增大擁塞窗口大小的兩個(gè)階段 187BIC的擁塞窗口大小的變化情況 188BIC的問(wèn)題 1905.4 CUBIC的機(jī)制使用三次函數(shù)大幅簡(jiǎn)化擁塞窗口大小控制算法 190CUBIC的基本情況 190窗口控制算法的關(guān)鍵點(diǎn) 191CUBIC 的擁塞窗口大小的變化情況 192模擬結(jié)果中展現(xiàn)出來(lái)的高親和性 194模擬結(jié)果中展現(xiàn)出來(lái)的RTT 公平性 194窄帶低時(shí)延環(huán)境下的適應(yīng)性 195CUBIC的問(wèn)題 1975.5 使用偽代碼學(xué)習(xí)CUBIC算法主要的行為與處理過(guò)程 198初始化 198收到ACK時(shí)的行為 199丟包時(shí)的行為 199超時(shí)時(shí)的行為 200主要的函數(shù)與處理 2005.6 小結(jié) 202第6章BBR算法檢測(cè)吞吐量與RTT的值,調(diào)節(jié)數(shù)據(jù)發(fā)送量 2056.1 緩沖區(qū)增大與緩沖區(qū)時(shí)延增大存儲(chǔ)成本下降的影響 206網(wǎng)絡(luò)設(shè)備的緩沖區(qū)增大 206緩沖區(qū)膨脹 207基于丟包的擁塞控制與緩沖區(qū)膨脹的關(guān)系 208緩沖區(qū)增大給CUBIC 帶來(lái)的影響 2106.2 基于延遲的擁塞控制以RTT 為指標(biāo)的算法的基本情況和Vegas示例 2123 種擁塞控制算法和如何結(jié)合環(huán)境選擇算法 212基于延遲的擁塞控制的基本設(shè)計(jì)思路 213Vegas的擁塞窗口大小的變化情況 214過(guò)去的基于延遲控制的問(wèn)題 2156.3 BBR的機(jī)制把控?cái)?shù)據(jù)發(fā)送量與RTT之間的關(guān)系,實(shí)現(xiàn)最大吞吐量 217BBR的基本思路 217BBR的擁塞窗口大小控制機(jī)制 218RTprop的估算 219BtlBw的估算 2206.4 使用偽代碼學(xué)習(xí)BBR算法收到ACK時(shí)和發(fā)送數(shù)據(jù)時(shí) 221收到ACK時(shí) 222發(fā)送數(shù)據(jù)時(shí) 2226.5 BBR的流程模擬實(shí)驗(yàn)中的各種流程 223只有BBR網(wǎng)絡(luò)流時(shí)的表現(xiàn) 223當(dāng)多個(gè)BBR網(wǎng)絡(luò)流同時(shí)存在時(shí) 225與CUBIC的共存 227長(zhǎng)肥管道下的表現(xiàn) 2296.6 小結(jié) 231第7章TCP前沿的研究動(dòng)向應(yīng)用程序和通信環(huán)境一旦變化,TCP也會(huì)變化 2337.1 TCP 周邊環(huán)境的變化3個(gè)視角:通信方式、通信設(shè)備和連接目標(biāo) 234TCP迄今為止的發(fā)展情況 234觀察通信環(huán)境變化的3 個(gè)視角 235通信方式的變化 236通信設(shè)備的多樣化 238連接目標(biāo)的變化 239小結(jié) 2417.2 5G(第5代移動(dòng)通信)移動(dòng)通信的大容量化、多設(shè)備支持、高可靠性與低時(shí)延 241[背景] 5G的應(yīng)用場(chǎng)景與走向?qū)嵱玫囊?guī)劃 242[問(wèn)題] 如何應(yīng)對(duì)嚴(yán)苛的需求條件 244[TCP相關(guān)動(dòng)向A] 毫米波段的處理 245[TCP相關(guān)動(dòng)向B] 多路徑TCP 246[TCP相關(guān)動(dòng)向C] 高清流媒體 2487.3 物聯(lián)網(wǎng)通過(guò)互聯(lián)網(wǎng)控制各種各樣的設(shè)備 249[背景] 多樣的設(shè)備和通信方式 249[問(wèn)題] 處理能力和通信環(huán)境上的制約 252[TCP相關(guān)動(dòng)向] 適配物聯(lián)網(wǎng) 2537.4 數(shù)據(jù)中心大規(guī)模化與各種需求條件并存 254[背景] 云服務(wù)的普及和數(shù)據(jù)中心的大規(guī)模化 254[問(wèn)題] 針對(duì)緩沖區(qū)的互斥的需求條件 256[TCP相關(guān)動(dòng)向] 面向數(shù)據(jù)中心的擁塞控制 2577.5 自動(dòng)駕駛追求高可靠性與低時(shí)延、大容量的通信性能 259[背景] 以普及自動(dòng)駕駛為目的的技術(shù) 259[問(wèn)題] 高速移動(dòng)時(shí)的高可靠性通信 262[與TCP的關(guān)系] 關(guān)于確保可靠性 2637.6 小結(jié) 264