《大数据时代下的通信需求 TCP传输原理与优化》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:徐永士,王新华编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121266027
  • 页数:262 页
图书介绍:本书共9章。第1章介绍了背景知识及数据链路层,第2章整体介绍了TCP传输的原理与拥塞控制,第3、4章介绍了相关算法分类及主要算法,第5章介绍了相关理论模型,第6章从数据流动的角度逐层介绍了Linux系统如何实现网络协议TCP/IP协议族的各层,第7章具体介绍了如何书写一个拥塞控制模块及Linux系统自带的主要算法,第8章介绍了网络模拟器NS2及其他性能测量工具,第9章介绍了移动网络和软件定义网络SDN。

第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 CSI模型 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

42解决方案分类 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与TCP CUBIC 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