索引 / 001 ZH-CN
Computer Networks(计算机网络) cover

计算机科学

计算机科学

Computer Networks(计算机网络)

Andrew S. Tanenbaum; Nick Feamster; David J. Wetherall

英文原名: Computer Networks

一部历史悠久的教材,按从物理层到应用层的分层模型,由内而外地解释计算机网络的工作原理。第6版涵盖有线与无线互联网、现代传输协议、内容分发和网络安全,全书以互联网作为贯穿始终的例子。

需要的基础: 具备程序设计入门知识并对操作系统有所了解;信道容量和排队部分会少量用到概率。

难度等级
中级
学术层次
本科
computer networksinternet protocolstcp/ipwirelessnetwork security教科书

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 章可以独立阅读。
  • 政策小节: 可作为技术章节旁的简短讨论来读,在偏重技术的课程中也可以跳过。
  • 配合正文: 读传输层和应用层章节时,用抓包分析工具捕获流量;并考虑用自己熟悉的语言写一个简单的客户端和服务器,因为目录里没有提供这类练习。书末的阅读建议和参考文献可以指引进一步的资料。