原作名: Computer Networking: A Top-Down Approach
作者: [美] James F·Kurose / Keith W. Ross
译者: 陈鸣
出版社: 机械工业出版社
出版时间: 2022-8
本书采用作者独创的自顶向下方法讲授计算机网络的原理及其协议,即从应用层协议开始沿协议栈向下逐层讲解,让读者从实现、应用的角度明白各层的意义,进而理解计算机网络的工作原理和机制。本书强调应用层范例和应用编程接口,使读者尽快进入每天使用的应用程序环境之中进行学习和“创造”。
聚焦因特网。以因特网的体系结构和协议为载体讲授基本的计算机网络概念,这有助于激发学生学习网络基本原理的积极性,并理解原理的实际应用。
重视网络原理。在梳理基础性重要问题的同时,详细介绍解决问题的方法。用因特网将读者引入网络之门后,再结合这些问题及解决方案,读者便可以快速理解相关网络技术。
更新与时俱进。关注网络领域的重要变化,包括4G/5G网络的迅速普及和随之而来的大量移动应用,以及软件定义网络(SDN)的应用及其对网络管理的影响,还增加了对HTTP/2、HTTP/3、CUBIC、QUIC、NETCONF、YANG等新协议的介绍。
适读人群 :高校计算机专业学生,网络技术人员
本书自首次出版以来,持续为计算机网络教学提供新颖的和与时俱进的方法,目前已被译为14种语言,世界上数百所大学采用本书作为教材,几十万学生和从业人员通过本书系统学习计算机网络知识。
James F.Kurose 詹姆斯·F. 库罗斯
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 基思·W. 罗斯
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文件共享方面的顾问。
陈鸣
译者序
前言
作者简介
第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
欢迎阅读《计算机网络:自顶向下方法》的第8版。自从本书的第1版于20多年前出版以来,我们这本书已经被数百所大学和学院采用,被译为14种语言,并被世界上几十万的学生和从业人员使用。我们倾听了许多读者的意见,赞扬之声不绝于耳。
第8版的新颖之处
我们认为本书如此成功的一个重要原因是,它能持续为计算机网络教学提供新颖的和与时俱进的方法。在第8版中我们做了一些改变,但也有一些东西始终保持不变。我们认为不变的那些东西正是本书最为重要的方面:它的自顶向下方法,它对因特网和计算机网络的现代处理方式的关注,它对原理和实践两者的重视,以及它易于理解的风格和引导读者学习计算机网络的方法。这些重要的方面也得到了使用本书的教师和学生的认可。然而,本书第8版还是进行了相当多的修订和更新。
本书较早版本的读者可能注意到自第6版和第7版发行以来,我们加深了对网络层的讨论,将以往包含在一章中的内容扩展为关注“数据平面”的一章(第4章)和关注物理层“控制平面”的一章(第5章)。这一变化是有先见之明的,软件定义网络(SDN)可以说是这几十年来网络领域最为重要和令人兴奋的进展,它已经迅速在实践中得到应用,以至于很难想象在现代计算机网络的介绍中不包括SDN。SDN也使网络管理的实践取得新进展成为可能,我们将在第8版中涉及其先进方法和更深入的细节。正如我们将在第7章中所见,数据平面和控制平面的分离目前已经巧妙地嵌入4G/5G移动蜂窝网络架构中,这对它们的核心网络而言就像一种“全IP”方法。4G/5G网络的迅速普及及其带来的移动应用,无疑是自第7版出版以来我们亲历的最重大的变化。因此我们大幅更新和深化了对这一令人兴奋的领域的讨论。事实上,正在进行的无线网络革命如此重要,以至于我们认为它已经成为入门性网络课程中的关键内容。
除了这些变化,我们也更新了全书的许多小节并增加了新材料,以反映整个网络领域的变化。在某些场景中,我们从前一版本中删除了一些材料,这些删除的材料一如既往地可以在本书的配套网站中找到。
第8版中重要的更新如下。
第8版中删除了有关多媒体网络的第9章。随着时间的流逝,多媒体应用变得更为盛行,我们已经将关于流式视频、分组调度和内容分发网等的材料放入前面的各章中。
授課老師
黃能富
清華大學資訊工程學系 特聘教授
國立清華大學資訊工程系博士 (1986)
研究領域:P2P 影音分享技術, 網路安全,高效能交換器/路徑器,無線網路,光波網路 (WDM)
課程大綱
課程說明 (Course Description)
介紹計算機網路與網際網路,網路應用層 (Application layer),傳輸層通訊協定 (Transport Layer),網路層通訊協定 (Network Layer),資料鏈結層與區域網路 (Link Layer and Local Area Networks) 。
指定用書 (Text Books)
Computer Networking: A Top-Down Approach Featuring the Internet,by James F. Kurose and Keith W. Ross, 4th Edition, Addison Wesley, 2007.
參考書籍 (References)
Computer Networks, 4th Ed., by Andrew S. Tanenbaum, Prentice Hall, 2003.
Computer Networks: A Systems Approach, by Larry L. Peterson & Bruce S. Davie, 3rd Ed., Morgan Kaufmann, 2003.
教學方式 (Teaching Method)
以投影片教學。
教學進度 (Syllabus)
课程试听地址:
計算機網路概論
計算機網路概論
http://ocw.nthu.edu.tw/ocw/index.php?page=course&cid=13&