《大數據時代下的通信需求——TCP傳輸原理與最佳化》是2015年8月電子工業出版社出版的圖書,作者是徐永士、王新華。
基本介紹
- 中文名:大數據時代下的通信需求——TCP傳輸原理與最佳化
- 作者:徐永士、王新華
- 出版社:電子工業出版社
- 出版時間:2015年8月
- 頁數:272 頁
- 定價:49 元
- 開本:16 開
- ISBN:9787121266027
內容簡介,圖書目錄,
內容簡介
本書內容分為兩部分。上半部分包含第1~5章,偏重介紹相關的算法分類、理論,其中第1章介紹了背景知識及數據鏈路層,第2章整體介紹了TCP傳輸的原理與擁塞控制,第3、4章介紹了相關算法分類及主要算法,第5章介紹了相關理論模型。下半部分包含第6~9章,偏重介紹Linux系統上的具體實現及測量模擬技術,其中第6章從數據流動的角度逐層介紹了Linux系統如何實現網路協定TCP/IP協定族的各層,第7章具體介紹了如何書寫一個擁塞控制模組及Linux系統自帶的主要算法,第8章介紹了網路模擬器NS2及其他性能測量工具,第9章介紹了行動網路和軟體定義網路SDN。
本書側重Linux系統上的TCP網路協定實現,但不限於Linux系統,其他作業系統及智慧型終端系統也可以參考。
圖書目錄
目 錄
第1章 概述 (1)
1.1 快速發展的網際網路 (1)
1.1.1 網際網路的發展規模 (1)
1.1.2 爭相建設的下一代網際網路 (2)
1.1.3 永無止境的頻寬需求 (3)
1.1.4 網路傳輸還需要加速 (3)
1.2 網路互聯的基礎——網路協定 (4)
1.2.1 OSI參考模型與TCP/IP參考模型之爭 (4)
1.2.2 OSI模型 (5)
1.2.3 “阿帕網”(ARPANET)與TCP/IP協定族 (9)
1.2.4 TCP/IP參考模型與協定族組成 (10)
1.2.5 數據鏈路層 (15)
1.3 大數據時代帶來數據傳輸的巨大需求 (23)
1.3.1 大數據時代的到來 (23)
1.3.2 “萬能”的廣域網加速技術 (23)
1.3.3 技術選擇 (25)
第2章 TCP傳輸的原理與擁塞控制 (26)
2.1 TCP傳輸原理 (26)
2.1.1 OSI參考模型和TCP/IP參考模型 (26)
2.1.2 TCP協定簡介 (27)
2.1.3 TCP數據報的傳輸 (27)
2.2 傳輸控制協定TCP有限狀態機模型 (31)
2.2.1 客戶端流程圖 (33)
2.2.2 伺服器端流程圖 (34)
2.3 擁塞控制與AIMD (34)
2.3.1 擁塞的定義與發生的原因 (34)
2.3.2 擁塞控制原理AIMD (35)
2.3.3 現階段的TCP擁塞 (38)
2.4 糊塗視窗綜合症 (39)
2.4.1 傳送端產生的症狀 (40)
2.4.2 接收端產生的症狀 (40)
2.5 其他雜項問題 (41)
第3章 主要的TCP擁塞控制算法 (44)
3.1 概述 (44)
3.1.1 從“第一次”擁塞說算法改進 (44)
3.1.2 “巨觀”的解決方案——傳輸加速 (45)
3.1.3 新的“套用場景” (45)
3.1.4 擁塞成因概述 (46)
3.1.5 擁塞算法設計的基本要求 (47)
3.2 基本概念與術語 (48)
3.3 TCP擁塞控制算法的演進 (49)
3.3.1 早期的TCP實現 (49)
3.3.2 TCP Tahoe (49)
3.3.3 TCP Reno (50)
3.3.4 TCP NewReno (51)
3.3.5 TCP SACK (51)
3.3.6 TCP Vegas (52)
3.3.7 TCP Veno (52)
3.3.8 TCP BIC (54)
3.3.9 TCP CUBIC (54)
3.3.10 FAST TCP (54)
3.3.11 Compound TCP (55)
3.4 討論 (55)
第4章 TCP傳輸加速與主要解決方案 (57)
4.1 TCP傳輸加速概述 (57)
4.2 解決方案分類 (57)
4.2.1 以部署方式分類 (57)
4.2.2 以實施位置分類 (58)
4.2.3 以擁塞反饋信號分類 (60)
4.2.4 基於套用層的改進方案 (61)
4.2.5 典型的隱式擁塞反饋方案 (61)
4.2.6 典型的顯式擁塞反饋方案 (62)
4.2.7 基於頻寬測量的改進 (64)
4.3 主要的擁塞控制算法 (65)
4.3.1 Scalable TCP (65)
4.3.2 High Speed TCP (65)
4.3.3 TCP Vegas (67)
4.3.4 TCP BIC 與TCPCUBIC (69)
4.3.5 小結 (70)
第5章 TCP傳輸性能分析與模型 (72)
5.1 端到端的可靠傳輸 (72)
5.1.1 差錯控制過程 (72)
5.1.2 流量控制機制 (72)
5.2 傳輸時延 (73)
5.2.1 測量方法 (73)
5.2.2 RTT測量的程式實現 (77)
5.3 分析模型 (84)
5.3.1 概述與進展 (84)
5.3.2 分類 (85)
5.3.3 Jacobson管道模型 (86)
5.3.4 TCP吞吐量分析模型 (87)
5.3.5 流體流模型 (89)
5.3.6 其他場景模型 (89)
5.3.7 傳輸速率上限 (90)
5.3.8 仿真實驗 (90)
5.4 性能分析 (91)
5.4.1 鏈路利用率 (91)
5.4.2 公平性 (91)
5.5 Padhye吞吐量模型簡介 (92)
5.5.1 傳送視窗表達式 (92)
5.5.2 吞吐率 (93)
5.5.3 E [W]和E [X]的推導 (93)
5.5.4 E [W]和E [Y]的推導 (94)
5.5.5 丟包機率p (95)
5.5.6 E [A]的推導 (95)
5.5.7 吞吐率表達式 (96)
第6章 Linux網路協定棧 (97)
6.1 網路協定棧與層次結構 (97)
6.1.1 Linux網路協定棧特點 (97)
6.1.2 標準TCP/IP協定與Linux網路協定棧具體設計的對比 (98)
6.2 基本數據結構 (99)
6.2.1 數據包結構 (100)
6.2.2 基本數據結構 (100)
6.3 協定棧的初始化 (117)
6.3.1 sock_init函式 (118)
6.3.2 net_dev_init函式 (121)
6.3.3 inet_init函式 (122)
6.4 Linux系統網路設備驅動程式 (128)
6.4.1 網路驅動程式的結構 (128)
6.4.2 數據包傳送 (128)
6.4.3 數據包接收 (129)
6.5 網路協定層 (131)
6.5.1 數據接收 (131)
6.5.2 數據傳送 (133)
6.6 傳輸層——TCP協定處理 (135)
6.6.1 TCP協定的數據接收 (135)
6.6.2 TCP協定的數據傳送 (138)
6.6.3 擁塞控制的事件處理 (139)
第7章 擁塞控制模組編程實踐 (142)
7.1 擁塞控制模組的調用 (142)
7.1.1 模組的初始化 (142)
7.1.2 主要視窗的計算 (144)
7.1.3 擁塞狀態機 (144)
7.1.4 狀態處理函式 (147)
7.1.5 “成員函式”的調用關係 (148)
7.2 模組編程基礎 (149)
7.2.1 基本數據結構 (149)
7.2.2 核心函式介紹 (151)
7.2.3 編譯 (154)
7.3 主要算法介紹 (154)
7.3.1 BIC算法 (154)
7.3.2 CUBIC算法 (160)
7.3.3 Vegas算法 (168)
7.3.4 High Speed TCP算法 (173)
7.3.5 H-TCP算法 (175)
7.3.6 Scalable TCP算法 (182)
7.3.7 Westwood算法 (183)
7.3.8 Reno算法 (189)
7.3.9 代碼中常見的修飾符 (192)
7.4 用戶態獲取當前擁塞視窗值編程示例 (194)
7.5 實踐舉例 (195)
第8章 仿真與測量 (196)
8.1 網路仿真 (196)
8.1.1 軟體仿真 (196)
8.1.2 ns-2簡介 (197)
8.1.3 OPNET簡介 (223)
8.1.4 硬體模擬 (224)
8.2 性能測量方法 (225)
8.2.1 網路頻寬測量 (226)
8.2.2 網路延遲測量 (234)
第9章 新的數據傳輸場景——研究熱點 (235)
9.1 無線傳輸新場景——行動網路 (235)
9.1.1 移動智慧型終端逐步普及 (235)
9.1.2 需求催生的“新成員” (236)
9.1.3 行動網路的特性 (237)
9.1.4 移動設備操作平台 (243)
9.1.5 主要的研究進展 (245)
9.2 數據中心內部傳輸遇到的新問題——TCP Incast (247)
9.2.1 數據中心的網路架構 (247)
9.2.2 MapReduce新業務與發展 (248)
9.2.3 TCP Incast的發生 (249)
9.2.4 國內外研究現狀 (251)
9.2.5 主要的解決方案介紹 (252)
9.3 網路發展的新趨勢——軟體定義網路SDN與大二層結構 (254)
9.3.1 軟體定義網路 (254)
9.3.2 大二層結構 (254)
9.3.3 虛擬機遷移與數據中心二層網路的變化 (255)
9.3.4 大二層網路需要有多大 (256)
參考文獻 (258)