进阶·2021·9 章

计算机网络:自顶向下方法(原书第8版)

Computer Networking: A Top-Down Approach, 8th Edition

从应用到物理层,层层揭开网络的面纱

作者:James F. Kurose, Keith W. Ross·Pearson·ISBN: 978-0136698302

计算机网络领域的经典教材,采用独特的自顶向下方法,从应用层开始逐步深入到物理层。涵盖 HTTP、DNS、TCP/IP、路由算法、WiFi、网络安全等核心主题。第8版新增了 SDN、云计算、物联网等现代内容。已被全球数百所大学用作教材。

为什么读这本书

理解互联网如何工作是每个程序员的必修课。这本书用自顶向下的方法,从你熟悉的 Web 浏览开始,逐步揭示网络协议栈的每一层。读完之后,你会明白 HTTP 请求如何变成电信号,TCP 如何保证可靠传输,路由器如何找到最优路径。

章节导览

01

计算机网络和因特网

1 次阅读

什么是因特网?什么是协议?

本章是全书的导论,通过回答'什么是因特网'和'什么是协议'两个基本问题,建立起计算机网络的宏观视图。你将了解网络边缘(主机、应用)和网络核心(路由器、链路)的区别,以及分组交换与电路交换的本质差异。

因特网组成协议层次网络边缘网络核心分组交换电路交换
关联层级:L4L5L6L7
02

应用层

1 次阅读

网络应用的核心协议

应用层是网络协议栈的最高层,也是程序员最常接触的一层。本章详细讲解 HTTP、FTP、SMTP/POP3、DNS 等核心应用层协议,以及 P2P 文件共享和 Socket 编程基础。

HTTPFTPSMTPDNSP2PSocket编程
关联层级:L6L7
03

传输层

1 次阅读

端到端的可靠传输

传输层是网络协议栈中最关键的一层,它负责在端到端之间提供可靠的数据传输服务。本章深入讲解 TCP 和 UDP 协议,重点分析 TCP 的可靠数据传输机制、流量控制和拥塞控制算法。

UDPTCP可靠数据传输流量控制拥塞控制三次握手
关联层级:L5L6
04

网络层

1 次阅读

数据平面和控制平面

网络层负责将分组从源主机路由到目的主机。本章将网络层分为数据平面(转发)和控制平面(路由)两部分讲解,详细介绍 IP 协议、路由算法(链路状态、距离向量)、以及 BGP 和 OSPF 等实际路由协议。

IP协议IPv4/IPv6路由算法BGPOSPFSDN
关联层级:L4L5
05

链路层

1 次阅读

局域网和数据中心网络

链路层负责在相邻节点之间传输数据。本章讲解差错检测技术(奇偶校验、CRC)、多路访问协议(ALOHA、CSMA)、LAN 技术(以太网、交换机)、以及现代数据中心网络架构。

差错检测以太网交换机VLANMPLS数据中心
关联层级:L3L4
06

无线网络和移动网络

1 次阅读

移动时代的网络

无线网络和移动设备已经成为互联网的主要接入方式。本章讲解无线局域网(WiFi/802.11)、蜂窝网络(4G/5G)、以及移动性管理(移动IP、漫游)。

WiFi802.11蜂窝网络移动IP漫游
关联层级:L3L4
07

多媒体网络

1 次阅读

音频、视频和 QoS

多媒体应用(音频、视频)对网络提出了特殊要求:低延迟、低抖动、高带宽。本章讲解多媒体网络的关键技术:RTP 协议、流媒体服务、QoS 机制、以及 CDN 内容分发网络。

VoIPRTP流媒体QoSDiffServCDN
关联层级:L5L6L7
08

网络安全

1 次阅读

保护网络通信

网络安全是互联网的核心挑战。本章讲解密码学基础(对称加密、公钥加密、数字签名、哈希)、安全协议(SSL/TLS、IPsec、WPA2)、以及网络安全实践(防火墙、IDS、DDoS 防护)。

对称加密公钥加密数字签名SSL/TLSIPsec防火墙
关联层级:L5L6L7
09

网络管理

1 次阅读

监控和配置网络

网络管理是确保网络正常运行的重要环节。本章讲解网络管理的基本概念、SNMP 协议、以及现代网络配置管理(NETCONF/YANG)。

SNMPNETCONFYANG网络监控配置管理
关联层级:L6L7

读书笔记

01

计算机网络和因特网

什么是因特网?什么是协议?

重点内容

  • •因特网的两种描述方式:组成部分(硬件+软件)和服务(基础设施)
  • •协议层次模型:应用层→传输层→网络层→链路层→物理层
  • •分组交换 vs 电路交换:统计复用 vs 预留资源
  • •网络边缘的两种接入方式:面向连接(TCP)和无连接(UDP)
  • •ISP 的层次结构:Tier-1、Tier-2、接入ISP

延伸阅读

  • →RFC 1122 - Requirements for Internet Hosts
  • →《TCP/IP详解 卷1:协议》
02

应用层

网络应用的核心协议

重点内容

  • •HTTP 的演进:HTTP/1.0 → HTTP/1.1(持久连接)→ HTTP/2(多路复用)→ HTTP/3(QUIC)
  • •Cookie 和 Session:HTTP 无状态性的解决方案
  • •DNS 的工作原理:层次化命名、递归查询、迭代查询
  • •P2P 文件共享:BitTorrent 的 choked/interested 机制
  • •Socket 编程:TCP Socket vs UDP Socket 的区别

代码示例

// 简单的 TCP Socket 服务器(Python)
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('0.0.0.0', 8080))
server.listen(5)
while True:
    client, addr = server.accept()
    data = client.recv(1024)
    client.send(b'HTTP/1.1 200 OK\r\n\r\nHello')
    client.close()

实验解读

Wireshark Lab: HTTP - 使用 Wireshark 抓包分析 HTTP 请求/响应报文。Socket Programming Lab - 实现简单的 Web 服务器和 UDP 聊天程序。

延伸阅读

  • →RFC 9110 - HTTP Semantics
  • →RFC 1034/1035 - Domain Names
03

传输层

端到端的可靠传输

重点内容

  • •UDP 的简单性:无连接、不可靠、尽最大努力交付
  • •TCP 的三次握手和四次挥手:为什么需要三次?为什么 TIME_WAIT 等待 2MSL?
  • •可靠数据传输:序号、确认、重传、GBN、SR
  • •流量控制:滑动窗口机制,接收方通告窗口大小
  • •拥塞控制:慢启动、拥塞避免、快重传、快恢复
  • •TCP 的公平性:与 UDP 流的竞争

代码示例

// TCP 拥塞控制的状态转换
// 慢启动:cwnd 指数增长,直到达到 ssthresh
// 拥塞避免:cwnd 线性增长,直到丢包
// 快重传:收到 3 个重复 ACK 立即重传
// 快恢复:cwnd = ssthresh = cwnd/2

实验解读

Wireshark Lab: TCP - 分析 TCP 连接建立、数据传输、连接关闭的完整过程。 congestion control - 使用工具观察 TCP 拥塞窗口的变化。

延伸阅读

  • →RFC 9293 - Transmission Control Protocol (TCP)
  • →RFC 5681 - TCP Congestion Control
  • →《TCP/IP详解 卷1》第21-24章
04

网络层

数据平面和控制平面

重点内容

  • •数据平面 vs 控制平面:转发(本地决策)vs 路由(全局决策)
  • •IPv4 数据报格式:TTL、分片、校验和
  • •NAT 的争议:地址转换的利与弊
  • •路由算法:链路状态(Dijkstra)vs 距离向量(Bellman-Ford)
  • •OSPF:自治系统内部的路由协议
  • •BGP:自治系统之间的路由协议,互联网的路由基石
  • •SDN:控制平面与数据平面分离的新范式

实验解读

Wireshark Lab: IP - 分析 IP 数据报的格式和字段。Traceroute Lab - 使用 traceroute 观察分组经过的路由路径。

延伸阅读

  • →RFC 791 - Internet Protocol
  • →RFC 4271 - A Border Gateway Protocol 4 (BGP-4)
05

链路层

局域网和数据中心网络

重点内容

  • •差错检测:奇偶校验、检验和、CRC 循环冗余校验
  • •多路访问协议:ALOHA、CSMA、CSMA/CD(以太网)、CSMA/CA(WiFi)
  • •以太网帧格式:前导码、目的/源 MAC、类型、数据、FCS
  • •交换机的工作原理:自学习、转发、生成树协议
  • •VLAN:虚拟局域网,逻辑隔离广播域
  • •数据中心网络:叶脊架构、ECMP、BGP in DC

延伸阅读

  • →IEEE 802.3 - Ethernet Standard
  • →RFC 802.1Q - VLAN Tagging
06

无线网络和移动网络

移动时代的网络

重点内容

  • •802.11 WiFi 架构:基础设施模式 vs 自组织模式
  • •802.11 MAC 协议:CSMA/CA、RTS/CTS、ACK
  • •802.11 帧格式:与以太网的差异
  • •蜂窝网络:2G/3G/4G/5G 的演进
  • •移动 IP:家乡代理、转交地址、隧道
  • •移动性管理:切换、漫游、位置更新

延伸阅读

  • →IEEE 802.11 - Wireless LAN Standard
  • →3GPP 5G NR Specification
07

多媒体网络

音频、视频和 QoS

重点内容

  • •多媒体网络的挑战:延迟、抖动、丢包对音视频质量的影响
  • •RTP/RTCP:实时传输协议和控制协议
  • •VoIP:语音 over IP,编码、打包、抖动缓冲
  • •流媒体:DASH(动态自适应流)、HLS
  • •QoS 机制:IntServ(端到端预留)vs DiffServ(逐跳分类)
  • •CDN:内容分发网络,边缘缓存,Akamai/Netflix Open Connect

延伸阅读

  • →RFC 3550 - RTP: A Transport Protocol for Real-Time Applications
08

网络安全

保护网络通信

重点内容

  • •对称加密:DES、AES,密钥分发问题
  • •公钥加密:RSA、Diffie-Hellman 密钥交换
  • •数字签名和证书:CA、X.509、PKI
  • •SSL/TLS:握手协议、记录协议、证书验证
  • •IPsec:AH 和 ESP,隧道模式和传输模式
  • •防火墙和 IDS:包过滤、状态检测、入侵检测
  • •DDoS 攻击与防护:SYN Flood、DNS 放大、Botnet

延伸阅读

  • →RFC 8446 - The Transport Layer Security (TLS) Protocol Version 1.3
  • →RFC 4301 - Security Architecture for the Internet Protocol
09

网络管理

监控和配置网络

重点内容

  • •网络管理的四大功能:配置、故障、性能、安全
  • •SNMP:管理站、代理、MIB、GET/SET/TRAP
  • •NETCONF/YANG:现代网络配置协议
  • •网络监控:流量测量、性能指标、日志分析
  • •自动化运维:Ansible、Puppet、Chef 在网络设备上的应用

延伸阅读

  • →RFC 3410 - Introduction and Applicability Statements for SNMP
  • →RFC 6241 - Network Configuration Protocol (NETCONF)

配套实验

1Wireshark Lab: HTTP
2Wireshark Lab: DNS
3Wireshark Lab: TCP
4Wireshark Lab: UDP
5Wireshark Lab: IP
6Wireshark Lab: Ethernet and ARP
7Socket Programming: UDP
8Socket Programming: TCP
9Ping Lab
10Traceroute Lab

标签

计算机网络TCP/IPHTTP路由网络安全SDN