本书采用作者独创的自顶向下方法讲授计算机网络的原理及其协议,即从应用层协议开始沿协议栈向下逐层讲解,让读者从实现、应用的角度明白各层的意义,进而理解计算机网络的工作原理和机制。本书强调应用层范例和应用编程接口,使读者尽快进入每天使用的应用程序环境之中进行学习和“创造”。
......(更多)
James F.Kurose是美国马萨诸塞大学阿默斯特分校杰出的计算机科学教授。他目前担任美国国家科学基金会的副主任,领导计算机和信息科学工程理事会。
Kurose博士在教育领域的活动获得了许多赞誉,其中包括国立技术大学(8次)、马萨诸塞大学和研究生院东北联合会杰出教师奖。他获得了IEEE Taylor Booth 教育奖章,从而确立了他在马萨诸塞共同体信息技术促进会的领导地位。他多次赢得优秀会议论文奖并获得IEEE Infocom成就奖和ACM Sigcomm的时间考验奖。
Kurose博士是《IEEE通信会刊》(IEEE Transactions on Communications)和《IEEE/ACM网络会刊》(IEEE/ACM Transactions on Networking)的前任总编辑。他担任了IEEE Infocom、ACM SIGCOMM、ACM因特网测量会议和ACM SIGMETRICS的技术程序的共同主席。他是IEEE会士(Fellow)和ACM会士。他的研究兴趣包括网络协议和体系结构、网络测量、多媒体通信以及建模和性能评价。他拥有哥伦比亚大学计算机科学的博士学位。
Keith W.Ross是美国纽约大学(NYU)上海分校工程和计算机科学学院院长以及NYU计算机科学和工程系的Leonard J.Shustek首席教授。在此之前,他就职于宾夕法尼亚大学(13年)、Eurecom学院(5年)和理工大学(10年)。他从Tufts大学获得电气工程学士学位,从哥伦比亚大学获得电气工程硕士学位,从密歇根大学获得计算机和控制工程博士学位。Ross也是Wimba公司奠基人和首任CEO,该公司为电子学习研发了在线多媒体应用并于2010年被Blackboard收购。
Ross教授的研究兴趣在隐私、社交网络、对等(P2P)网络、因特网测量、内容分发网和随机建模等方面。他是ACM会士和IEEE会士,获得了Infocom 2009年优秀论文奖,并且获得《多媒体通信》2011年和2008年优秀论文奖(由IEEE通信学会授予)。他担任多个杂志编委和会议程序委员会委员,包括《IEEE/ACM网络会刊》、ACM SIGCOMM、ACM CoNext和ACM因特网测量会议。他还担任联邦贸易委员会P2P文件共享方面的顾问。
陈鸣,南京航空航天大学特聘教授、研究生导师;分别于1982年、1988年在解放军信息工程学院获得学士、硕士学位,于1991年在解放军通信工程学院获得博士学位,1999~2000年为美国哥伦比亚大学访问科学家,现在任中国计算机学会网络与数据通信专委会副主任,是中国通信学会等多个学术团体委员和IEEE会员;长期从事网络测量、分布式系统、未来网络、网络安全等领域研究和教学工作,近期研究兴趣包括无人机网络、软件定义网络、网络功能虚拟化;承担了国家自然科学基金、国家863、国家973子课题等项目;开发的多个网络管理系统和应用系统在多个领域得到广泛应用;撰写网络著作近10本,发表SCI/EI论文几十篇,有国家发明专利10项;获得国家教学成果二等奖1项和省部级科技进步二、三等奖十几项。
......(更多)
译者序
前言
作者简介
第1章 计算机网络和因特网1
1.1 什么是因特网1
1.1.1 具体构成描述1
1.1.2 服务描述4
1.1.3 什么是协议5
1.2 网络边缘6
1.2.1 接入网8
1.2.2 物理媒介13
1.3 网络核心15
1.3.1 分组交换15
1.3.2 电路交换18
1.3.3 网络的网络21
1.4 分组交换网中的时延、丢包和吞吐量24
1.4.1 分组交换网中的时延24
1.4.2 排队时延和丢包26
1.4.3 端到端时延28
1.4.4 计算机网络中的吞吐量29
1.5 协议层次及其服务模型32
1.5.1 分层的体系结构32
1.5.2 封装35
1.6 面对攻击的网络 36
1.7 计算机网络和因特网的历史 39
1.7.1 分组交换的发展:1961~1972 39
1.7.2 专用网络和网络互联:1972~1980 40
1.7.3 网络的激增:1980~1990 41
1.7.4 因特网爆炸:20世纪90年代 42
1.7.5 新发展42
1.8 小结43
课后习题和问题44
复习题44
习题46
Wireshark实验50
人物专访51
第2章 应用层53
2.1 网络应用原理53
2.1.1 网络应用体系结构55
2.1.2 进程通信56
2.1.3 可供应用程序使用的运输服务58
2.1.4 因特网提供的运输服务59
2.1.5 应用层协议62
2.1.6 本书涉及的网络应用62
2.2 Web和HTTP63
2.2.1 HTTP概述63
2.2.2 非持续连接和持续连接64
2.2.3 HTTP报文格式66
2.2.4 用户与服务器的交互:cookie69
2.2.5 Web缓存71
2.2.6 HTTP/274
2.3 因特网中的电子邮件76
2.3.1 SMTP77
2.3.2 邮件报文格式79
2.3.3 邮件访问协议80
2.4 DNS:因特网的目录服务81
2.4.1 DNS提供的服务81
2.4.2 DNS工作机理概述83
2.4.3 DNS记录和报文87
2.5 P2P文件分发90
2.6 视频流和内容分发网95
2.6.1 因特网视频95
2.6.2 HTTP流和DASH96
2.6.3 内容分发网96
2.6.4 学习案例:Netflix和YouTube 100
2.7 套接字编程:生成网络应用102
2.7.1 UDP套接字编程103
2.7.2 TCP套接字编程107
2.8 小结110
课后习题和问题110
复习题110
习题112
套接字编程作业 116
Wireshark实验:HTTP 117
Wireshark实验:DNS 117
人物专访117
第3章 运输层118
3.1 概述和运输层服务118
3.1.1 运输层和网络层的关系119
3.1.2 因特网运输层概述120
3.2 多路复用与多路分解122
3.3 无连接运输:UDP127
3.3.1 UDP报文段结构129
3.3.2 UDP检验和130
3.4 可靠数据传输原理131
3.4.1 构造可靠数据传输协议132
3.4.2 流水线可靠数据传输协议140
3.4.3 回退N步142
3.4.4 选择重传145
3.5 面向连接的运输:TCP149
3.5.1 TCP连接149
3.5.2 TCP报文段结构151
3.5.3 往返时间的估计与超时154
3.5.4 可靠数据传输156
3.5.5 流量控制161
3.5.6 TCP连接管理163
3.6 拥塞控制原理167
3.6.1 拥塞原因与代价168
3.6.2 拥塞控制方法172
3.7 TCP拥塞控制173
3.7.1 经典的TCP拥塞控制173
3.7.2 网络辅助明确拥塞通告和基于时延的拥塞控制180
3.7.3 公平性182
3.8 运输层功能的演化184
3.9 小结186
课后习题和问题187
复习题187
习题189
编程作业196
Wireshark实验:探究TCP196
Wireshark实验:探究UDP196
人物专访196
第4章 网络层:数据平面198
4.1 网络层概述198
4.1.1 转发和路由选择:数据平面和控制平面199
4.1.2 网络服务模型201
4.2 路由器工作原理203
4.2.1 输入端口处理和基于目的地转发205
4.2.2 交换207
4.2.3 输出端口处理209
4.2.4 何处出现排队209
4.2.5 分组调度212
4.3 网际协议:IPv4、寻址、IPv6及其他216
4.3.1 IPv4数据报格式216
4.3.2 IPv4编址218
4.3.3 网络地址转换226
4.3.4 IPv6229
4.4 泛化转发和SDN232
4.4.1 匹配234
4.4.2 操作235
4.4.3 运行中的匹配加操作的OpenFlow例子235
4.5 中间盒237
4.6 小结239
课后习题和问题240
复习题240
习题241
Wireshark实验:IP245
人物专访245
第5章 网络层:控制平面247
5.1 概述247
5.2 路由选择算法249
5.2.1 链路状态路由选择算法251
5.2.2 距离向量路由选择算法254
5.3 因特网中自治系统内部的路由选择:OSPF259
5.4 ISP之间的路由选择:BGP262
5.4.1 BGP的作用262
5.4.2 通告BGP路由信息262
5.4.3 确定好的路由264
5.4.4 IP任播266
5.4.5 路由选择策略267
5.4.6 拼装在一起:在因特网中呈现269
5.5 SDN控制平面270
5.5.1 SDN控制平面:SDN控制器和SDN网络控制应用程序272
5.5.2 OpenFlow协议273
5.5.3 数据平面和控制平面交互的例子274
5.5.4 SDN的过去与未来275
5.6 ICMP:因特网控制报文协议277
5.7 网络管理、SNMP和NETCONF/YANG 279
5.7.1 网络管理框架280
5.7.2 简单网络管理协议和管理信息库281
5.7.3 NETCONF和YANG 284
5.8 小结287
课后习题和问题287
复习题287
习题288
套接字编程作业291
编程作业291
Wireshark实验:ICMP 292
人物专访292
第6章 链路层和局域网294
6.1 链路层概述294
6.1.1 链路层提供的服务296
6.1.2 链路层在何处实现296
6.2 差错检测和纠正技术297
6.2.1 奇偶校验298
6.2.2 检验和方法299
6.2.3 循环冗余检测300
6.3 多路访问链路和协议301
6.3.1 信道划分协议303
6.3.2 随机接入协议304
6.3.3 轮流协议310
6.3.4 DOCSIS:用于电缆因特网接入的链路层协议310
6.4 交换局域网311
6.4.1 链路层寻址和ARP312
6.4.2 以太网317
6.4.3 链路层交换机322
6.4.4 虚拟局域网326
6.5 链路虚拟化:网络作为链路层328
6.6 数据中心网络331
6.6.1 数据中心体系结构331
6.6.2 数据中心网络的发展趋势334
6.7 回顾:Web页面请求的历程336
6.7.1 准备:DHCP、UDP、IP和以太网336
6.7.2 仍在准备:DNS和ARP338
6.7.3 仍在准备:域内路由选择到DNS服务器339
6.7.4 Web客户-服务器交互:TCP和HTTP339
6.8 小结340
课后习题和问题341
复习题341
习题342
Wireshark实验:802.3以太网346
人物专访346
第7章 无线网络和移动网络348
7.1 概述348
7.2 无线链路和网络特征351
7.3 WiFi:802.11无线局域网356
7.3.1 802.11无线局域网体系结构357
7.3.2 802.11 MAC协议359
7.3.3 IEEE 802.11帧363
7.3.4 在相同的IP子网中的移动性365
7.3.5 802.11中的高级特色367
7.3.6 个人域网络:蓝牙368
7.4 蜂窝网络:4G和5G369
7.4.1 4G LTE蜂窝网络:架构和部件370
7.4.2 LTE协议栈375
7.4.3 LTE无线电接入网376
7.4.4 LTE附加功能:网络连接和功率管理376
7.4.5 全球蜂窝网络:网络的网络377
7.4.6 5G蜂窝网络378
7.5 移动性管理原理380
7.5.1 设备移动性:网络层视角380
7.5.2 归属网络和在被访网络漫游381
7.5.3 去往/来自移动设备的直接和间接路由382
7.6 实践中的移动性管理386
7.6.1 4G/5G网络的移动性管理387
7.6.2 移动IP390
7.7 无线和移动性:对高层协议的影响391
7.8 小结393
课后习题和问题393
复习题393
习题394
Wireshark实验:WiFi 396
人物专访396
第8章 计算机网络中的安全398
8.1 什么是网络安全398
8.2 密码学原理400
8.2.1 对称密钥密码体制401
8.2.2 公开密钥加密405
8.3 报文完整性和数字签名409
8.3.1 密码散列函数410
8.3.2 报文鉴别码411
8.3.3 数字签名412
8.4 端点鉴别417
8.5 安全电子邮件419
8.5.1 安全电子邮件概述420
8.5.2 PGP422
8.6 使TCP连接安全:TLS423
8.6.1 宏观描述424
8.6.2 更完整的描述426
8.7 网络层安全性:IPsec和虚拟专用网427
8.7.1 IPsec和虚拟专用网428
8.7.2 AH协议和ESP协议429
8.7.3 安全关联429
8.7.4 IPsec数据报430
8.7.5 IKE:IPsec中的密钥管理433
8.8 实现安全的无线局域网和4G/5G蜂窝网络433
8.8.1 802.11无线局域网中的鉴别和密钥协商434
8.8.2 4G/5G蜂窝网络中的鉴别和密钥协商436
8.9 运行安全性:防火墙和入侵检测系统439
8.9.1 防火墙439
8.9.2 入侵检测系统444
8.10 小结447
课后习题和问题447
复习题447
习题449
Wireshark实验:TLS452
IPsec实验452
人物专访452
参考文献454
......(更多)
因为排队时延随时间变化,所以分组n发送到路由器n的往返时延实际上比分组n+1发送到路由器n+1的往返时延更大。的确,我们在上述例子中观察到了这种现象:到路由器6的时延比到路由器7的时延大。
......(更多)