01 / 导读
导读
引用
Tanenbaum, A. S., Feamster, N., & Wetherall, D. J. (2020). Computer Networks (6th ed.). Pearson.
章节概要
全书共八章,沿协议栈自下而上展开,末尾是阅读建议和参考文献。出版社把这种写法概括为“由内而外”讲解网络如何工作:每章先阐述关键原理,再用真实的例子加以说明,主要是因特网和无线网络(局域网、宽带无线和蓝牙)。
第 1 章:Introduction(引言)
开篇一章概览计算机网络的用途、网络的类型,以及从局域到全球的网络技术。随后介绍网络实例、网络协议、参考模型、标准化,以及政策、法律和社会问题,最后说明公制单位并概述全书其余部分。
第 2 章:The Physical Layer(物理层)
本章先讲导向传输媒体和无线传输,然后讲频谱的利用方式以及如何把波形变成比特。接着讲公共交换电话网、蜂窝网络、有线电视网络和通信卫星,比较各种接入网络,最后是一节关于物理层的政策。
第 3 章:The Data Link Layer(数据链路层)
第 3 章讨论数据链路层的设计问题、差错检测与纠正、基本数据链路协议、提高效率的方法,以及实际中的数据链路协议。
第 4 章:The Medium Access Control Sublayer(介质访问控制子层)
本章讨论信道分配问题和多路访问协议,然后讲应用这些协议的主要链路技术:以太网、无线局域网、蓝牙和 DOCSIS。最后是数据链路层交换。
第 5 章:The Network Layer(网络层)
网络层一章涵盖设计问题、单个网络内的路由算法、流量管理,以及服务质量与应用体验质量。随后转向网络互连、软件定义网络和因特网中的网络层,并以网络层的政策一节收尾。
第 6 章:The Transport Layer(传输层)
本章先讲传输服务和传输协议的要素,然后讲拥塞控制。因特网传输协议分两部分介绍(UDP;以及 TCP、QUIC 和 BBR),最后是性能监测和容迟网络。
第 7 章:The Application Layer(应用层)
第 7 章涵盖 DNS、电子邮件、万维网、HTTP/2、流式音视频,以及内容分发网络和分布式云服务。
第 8 章:Security(安全)
安全一章从网络安全基础和攻击的核心要素讲起,然后是防火墙和入侵检测系统。接着依次讲密码学(对称密钥算法、公开密钥算法、数字签名、公钥管理)、鉴别协议,以及通信安全、电子邮件安全和 Web 安全,最后讨论社会问题。出版社称,本章在这一版中经过修订,重点放在现代安全原则和做法上。
核心概念
第 1–2 章:引言与物理层
- 参考模型与标准化:用于组织协议的分层模型,以及制定标准的机构。
- 传输与接入网络:比特如何通过有线、无线电、有线电视和卫星传送,包括电话、蜂窝和有线电视接入。
第 3–4 章:数据链路层与 MAC 子层
- 差错检测与纠正:链路如何发现并修复受损的帧。
- 多路访问:多个站点如何共享一条信道,以以太网、无线局域网、蓝牙和 DOCSIS 为例。
- 链路层交换:在局域网之间转发帧。
第 5–6 章:网络层与传输层
- 路由与流量管理:路由算法、拥塞和服务质量。
- 网络互连与软件定义网络:连接多个网络,并把控制与转发分离。
- 拥塞控制与因特网传输协议:UDP、TCP、QUIC 和 BBR。
第 7–8 章:应用层与安全
- Web、邮件、DNS 与内容分发:主要的应用协议和为其提供服务的基础设施。
- 密码学与鉴别:对称与公钥方法、签名和鉴别协议。
- 网络防御:防火墙与入侵检测。
评析
优点
- 清晰的分层结构。 八章沿协议栈从物理层讲到安全,每章名称对应一个层或子层,因此目录本身就是这门学科的地图。第 4 章把介质访问控制子层从数据链路层中分出来,让局域网技术拥有独立的一章。
- 接入技术覆盖面广。 物理层和 MAC 两章合起来列出了电话、蜂窝、有线电视和卫星接入,以及以太网、无线局域网、蓝牙和 DOCSIS,有线与无线链路一并讲授。
- 涵盖较新的协议话题。 目录中包括软件定义网络、应用体验质量、QUIC 与 BBR、HTTP/2,以及内容分发网络和分布式云服务。出版社表示,第六版已更新以反映当前技术。
- 自成一体的安全章。 第 8 章自带密码学、密钥管理和鉴别的讲解,可以单独阅读。
- 关注政策。 第 1 章有一节讨论政策、法律和社会问题,物理层和网络层两章也各以一节政策收尾,使非技术性约束成为这门学科的一部分。
局限
- 应用放在最后。 由于采用自底向上的写法,应用层位于第 7 章。习惯从熟悉的应用学起的读者,可能会觉得前面关于媒体、调制和成帧的章节较抽象;自顶向下的写法正好相反。
- 目录中没有编程主线。 已公布的目录中没有套接字编程或其他动手实践的小节,这一点与以早期应用开发为主线的教材不同。想针对协议编程的读者需要自行补充实验或抓包练习。
- 应用层只有一章。 应用层集中在一章中,共六个小节(DNS、电子邮件、Web、HTTP/2、流媒体、内容分发)。想深入学习该层的应用开发或协议设计的读者,需要另找资料。
在课程中的定位
在本课程的书目中,Tanenbaum、Feamster 和 Wetherall 的这本是自底向上的通用教材。Kurose 和 Ross 的 Computer Networking: A Top-Down Approach 以相反的顺序讲授同样的各层,从应用和套接字开始;两本书最好择一或搭配使用:一本侧重物理层和链路层(本书为之设了完整的一章),另一本便于较早开始网络编程。Forouzan 的 Data Communications and Networking with TCP/IP Protocol Suite 同样自底向上,被介绍为借助插图和例题的入门书,适合希望起步更平缓的读者。Comer 的 The Internet Book 是不涉及数学的概览,适合想在读任何教材之前先了解全貌的人。
Fall 和 Stevens 的 TCP/IP Illustrated, Volume 1 通过分组抓包剖析每个协议,适合在读完本书的传输层和网络层之后阅读。Varghese 和 Xu 的 Network Algorithmics 是讲如何让路由器和终端主机更快的研究生教材,默认读者已学过像本书这样的第一门网络课。
如何使用本书
本书适合计算机和工程专业学生的第一或第二门网络课程,也适合希望从信号到安全全面了解网络如何工作的读者。出版社将其定位为这一学科的入门书,因此不要求预先具备网络知识;一般的计算机背景有助于理解书中的例子。
实用的阅读安排:
- 核心: 按顺序读第 1、3、4、5、6 章,它们覆盖任何网络课程都需要的链路层、网络层和传输层。如果课程从链路层开始,第 2 章可以略读,但其中关于接入网络(蜂窝、有线电视、卫星)的几节,对想了解用户如何接入因特网的读者仍有参考价值。
- 应用与安全: 第 7 章讲学生每天都会接触到的协议;第 8 章可以独立阅读。
- 政策小节: 可作为技术章节旁的简短讨论来读,在偏重技术的课程中也可以跳过。
- 配合正文: 读传输层和应用层章节时,用抓包分析工具捕获流量;并考虑用自己熟悉的语言写一个简单的客户端和服务器,因为目录里没有提供这类练习。书末的阅读建议和参考文献可以指引进一步的资料。
