文章

计算机网络学习大纲

计算机网络学习大纲

计算机网络学习大纲

这份大纲整合了《计算机网络》(第5版,Andrew S. Tanenbaum 著)的经典自底向上(Bottom-Up)体系结构。


第一章:引言 (Chapter 1: Introduction)

  • 1.1 计算机网络的用途
    • 商业应用: 客户端-服务器(Client-Server)模型、资源共享。
    • 家庭应用: 个人通信、对等网络(P2P系统,无固定客户端/服务端)、电子商务(B2C, B2B, G2C, C2C, P2P模式)。
    • 移动用户: 无线与移动计算的组合(移动办公、传感网络等)。
    • 社会问题: 网络中立性(Network neutrality)、数字千年版权法(DMCA)、用户画像与隐私保护、网络钓鱼(Phishing)。
  • 1.2 网络硬件结构(按物理规模分类)
    • 个域网 (PAN): 范围1m,如蓝牙(Bluetooth)互联网络。
    • 局域网 (LAN): 范围10m~1km,无线LAN(IEEE 802.11)与有线交换式以太网(Switched Ethernet)。
    • 城域网 (MAN): 范围10km,如基于有线电视电缆的宽带网络。
    • 广域网 (WAN): 范围100km~1000km,涉及路由器和传输线、企业VPN、ISP(互联网服务提供商)网络。
    • 互联网 (The Internet): 全球级别的网络互连。
  • 1.3 网络软件
    • 协议层次结构: 实体、层、协议、接口的概念(哲学家-翻译-秘书架构类比)。
    • 面向连接与无连接的服务: 6种服务类型(可靠字节流/报文流、不可靠连接、不可靠数据报、有确认的数据报、请求-回复)。
    • 服务原语 (Service Primitives): 建立与断开连接的基本操作(LISTEN, CONNECT, ACCEPT, RECEIVE, SEND, DISCONNECT)。
    • 服务与协议的关系: 服务是由层向上一层提供的接口,协议是同层对等实体间通信的规则。
  • 1.4 参考模型
    • OSI参考模型: 7层结构(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),强调服务、接口、协议的明确区分。
    • TCP/IP参考模型: 4层结构(链路层、互联网层、传输层、应用层)及其核心协议(IP, TCP, UDP等)。
    • 模型对比与批判:
      • 对OSI的批判:“两头大象的启示”(时机糟糕)、糟糕的技术、糟糕的实现、糟糕的政治。
      • 对TCP/IP的批判:未明确区分服务/接口/协议、主机-网络层非真正的一层。
  • 1.5 示例网络
    • ARPANET: 从Baran的分布式交换理念,到IMP子网设计,再到网络的扩张。
    • NSFNET: 美国国家科学基金会骨干网。
    • 当前互联网架构: Tier-1 ISP、IXP对等连接、DSL/Cable/FTTH接入网。
    • 无线与移动网络: 3G移动电话网络(蜂窝设计、切换机制)、无线LAN (802.11基础设施模式与Ad hoc模式)、RFID和传感器网络(多跳拓扑)。
  • 1.6 网络标准化
    • 电信与国际标准: ITU(国际电信联盟)、ISO、IEEE 802委员会(重点区分 802.3, 802.11, 802.15, 802.16 等标准)。
    • 互联网标准: IAB, IETF, RFC文档。
    • 度量单位规范: Milli, Micro, Nano等前缀的严谨定义。

第二章:物理层 (Chapter 2: Physical Layer)

  • 2.1 数据通信的理论基础
    • 傅里叶分析: 带宽受限信号的谐波逼近。
    • 信道最大数据速率:
      • 无噪声信道:奈奎斯特定理(Nyquist’s theorem: Max Rate = 2B log₂V)。
      • 有噪声信道:香农公式(Shannon’s formula: Capacity = B log₂(1+S/N))。
  • 2.2 引导型传输介质 (Guided Media)
    • 磁介质: 物理运送磁带(永远不要低估一辆装满磁带的旅行车的带宽)。
    • 双绞线 (Twisted pairs): Cat 5 UTP等。
    • 同轴电缆 (Coaxial cable)。
    • 电力线 (Power lines)。
    • 光纤 (Fiber optics): 光的折射与全反射原理、红外频段的衰减特性、多模与单模光纤、光源对比(LED vs 半导体激光器)。
  • 2.3 无线传输 (Wireless Transmission)
    • 电磁频谱: 频率分配与监管(ISM和U-NII频段)。
    • 无线电传输: VLF/LF/MF的沿地表传播(地波),HF的电离层反射(天波)。
    • 微波与红外传输。
    • 光传输: 激光通信(受对流气流影响)。
    • 扩频技术: 跳频扩频(FHSS)、直接序列扩频(DSSS)与超宽带(UWB)。
  • 2.4 通信卫星
    • 对地静止卫星 (GEO): L, S, C, Ku, Ka频段与VSAT网络。
    • 中地球轨道 (MEO) 与 低地球轨道卫星 (LEO): 如Iridium(铱星系统,星间中继与地面中继)。
    • 卫星与光纤的对比: 延迟、带宽与覆盖范围。
  • 2.5 数字调制与多路复用
    • 基带传输 (Line codes): NRZ, NRZI, 曼彻斯特编码, 双极性AMI编码、4B/5B时钟恢复映射。
    • 频带传输 (Passband): 调幅(ASK)、调频(FSK)、调相(PSK)、QPSK、QAM-16、QAM-64及格雷码映射。
    • 多路复用技术:
      • 频分复用 (FDM) 与 正交频分复用 (OFDM)。
      • 时分复用 (TDM) 与 保护时间。
      • 码分复用 (CDM/CDMA):芯片序列(Chip sequences)的数学正交计算机制。
  • 2.6 公共交换电话网络 (PSTN)
    • 系统结构: 本地回路(Local loop)、端局、长途局(LATAs, LECs, IXCs的政治经济划分)。
    • 接入技术: 调制解调器(Modem/Codec)、ADSL(离散多音频调制DMT分信道、DSLAM设备)、FTTH(无源光网络PON)。
    • 中继与复用: T1载波(1.544 Mbps)、SONET/SDH架构(OC-1到OC-768速率)、波分复用(WDM)。
    • 交换技术: 电路交换(Circuit Switching)与分组交换(Packet Switching)的原理及延迟时序对比。
  • 2.7 移动电话系统
    • 1G(AMPS:模拟,频率不重用)、2G(GSM架构:124个频段,8时隙TDM,HLR/VLR计费与路由)、3G(UMTS/IMT-2000:支持数据,软切换/Soft handoff机制)。
  • 2.8 有线电视
    • 系统演进(社区天线CATV)、混合光纤同轴(HFC)、电缆频谱分配、Cable Modems机制及与ADSL的对比。

  • 3.1 数据链路层设计问题
    • 网络层服务: 虚拟通信与实际通信,三大服务类型(无确认无连接、有确认无连接、有确认面向连接)。
    • 成帧 (Framing): 分割位流的方法:字节计数法、带字节填充的标志字节(ESC转义)、带位填充的标志位(01111110)、物理层编码违例。
    • 差错控制与流量控制基础。
  • 3.2 差错检测与纠正
    • 纠错码 (FEC): 海明码(Hamming codes,单比特纠错原理)、二进制卷积码(802.11使用)、里德-所罗门码、LDPC(低密度奇偶校验码)。
    • 检错码: 奇偶校验、交织奇偶校验(检测突发错误)、校验和、循环冗余校验(CRCs,多项式模2除法)。
  • 3.3 基本数据链路协议
    • 协议环境定义(C语言 protocol.h 头文件,各种事件与计时器)。
    • 协议 1:乌托邦单工协议(理想状态,无差错无拥塞)。
    • 协议 2:无错信道上的单工停等协议(解决流量控制)。
    • 协议 3:有噪信道上的单工停等协议(ARQ/PAR,加入确认、超时重传与序列号)。
  • 3.4 滑动窗口协议 (Sliding Window Protocols)
    • 基本概念: 窗口机制、捎带确认(Piggybacking)。
    • 协议 4:1位滑动窗口协议(序列号0和1,正常与异常双边同时发送的死锁避免)。
    • 协议 5:退后N帧协议 (Go-Back-N): 累计确认、管道化(Pipelining),接收窗口为1,发生错误丢弃后续所有帧。
    • 协议 6:选择重传协议 (Selective Repeat): 接收方具备缓冲,NAK(否定确认),接收窗口>1,仅重传出错帧。
  • 3.5 示例数据链路协议
    • Packet over SONET: 点对点协议(PPP)的成帧(无编号模式)、链路控制协议(LCP状态机:Dead->Establish->Authenticate->Network->Open)、网络控制协议(NCP)。
    • ADSL中的数据链路层: IP/PPP封装于AAL5再封装于ATM的协议栈映射。

第四章:介质访问控制子层 (Chapter 4: Medium Access Control Sublayer)

  • 4.1 信道分配问题
    • 静态分配的低效性,动态分配的5大基本假设。
  • 4.2 多路访问协议 (Multiple Access Protocols)
    • ALOHA协议: 纯ALOHA(随时发送,碰撞后随机重传)、分隙ALOHA(Slotted ALOHA,吞吐量对比 $S=Ge^{-2G}$ vs $S=Ge^{-G}$)。
    • CSMA (载波侦听多路访问): 1-持续、非持续、p-持续CSMA。
    • CSMA/CD (带冲突检测): 以太网核心,冲突检测槽(2τ)。
    • 无冲突协议: 基本位图协议(Bit-map)、令牌环(Token ring)、二进制倒计数协议(Binary Countdown)。
    • 有限争用协议: 自适应树搜索协议(Adaptive Tree Walk)。
    • 无线LAN协议: 隐藏终端(Hidden terminal)与暴露终端(Exposed terminal)问题,MACA协议(RTS/CTS机制)。
  • 4.3 以太网 (Ethernet)
    • 经典以太网: 总线拓扑、收发器、DIX与IEEE 802.3帧格式对比。
    • 以太网性能: 效率与负载、512位槽时间的关系。
    • 交换式以太网: 集线器(Hub)与交换机(Switch)的冲突域隔离。
    • 高速演进: 快速以太网(100Base-T)、千兆以太网(Gigabit)、万兆以太网(10GbE)的物理层介质与架构演进。
    • IEEE 802.2 逻辑链路控制 (LLC)。
  • 4.4 无线局域网 (802.11/Wi-Fi)
    • 架构与协议栈: 基础设施模式(AP)与Ad-hoc模式,802.11a/b/g/n物理层特性(OFDM, DSSS, MIMO)。
    • MAC子层协议: CSMA/CA(冲突避免)、虚拟信道侦听(NAV,网络分配向量)、可靠性确认(ACK)、帧间间隔(SIFS, PIFS, DIFS, EIFS)。
    • 802.11帧结构: 四个地址字段、帧控制机制。
  • 4.5 宽带无线 (Broadband Wireless)
    • 802.16 (WiMAX): 与802.11和3G架构的对比、协议栈。
    • 物理层与MAC: TDD双工下的OFDMA帧结构、服务类别(CBR, rt-VBR, nrt-VBR, Best-effort)及带宽请求机制。
  • 4.6 蓝牙与RFID
    • 蓝牙 (Bluetooth): Piconet(微微网,主从架构)与Scatternet、协议栈、基础/增强速率数据帧结构。
    • RFID (EPC Gen 2): 阅读器与标签的反向散射(Backscatter)、标签识别层的Query消息格式。
  • 4.7 数据链路层交换 (Switching)
    • 网桥操作原理: 学习网桥(逆向学习算法)、混杂模式。
    • 生成树网桥 (Spanning Tree Bridges): 解决环路广播风暴(引入Radia Perlman的生成树诗歌与算法原理)。
    • 网络互连设备对比: 中继器(物理层)、集线器(物理层)、网桥(链路层)、交换机(链路层)、路由器(网络层)、网关(应用层)。
    • 虚拟局域网 (VLAN): IEEE 802.1Q标准,VLAN标记(Tag)的帧格式,跨交换机的VLAN实现。

第五章:网络层 (Chapter 5: Network Layer)

  • 5.1 网络层设计问题
    • 存储转发分组交换。
    • 提供给传输层的服务(独立于路由技术、隐藏拓扑、统一编址)。
    • 实现方案对比: 数据报网络(无连接,独立路由)与虚电路网络(面向连接,标签交换,抗路由故障能力弱)。
  • 5.2 路由算法 (Routing Algorithms)
    • 基本原理: 最优化原则(汇集树/Sink tree)。
    • 最短路径算法: Dijkstra算法的图论计算步骤。
    • 泛洪 (Flooding)。
    • 距离矢量路由 (Distance Vector): 路由表交换、核心缺陷——计数到无穷(Count-to-Infinity)问题。
    • 链路状态路由 (Link State): OSPF的基础(发现邻居、测算成本、构造/分发LSP、Dijkstra计算)。
    • 层次路由 (Hierarchical Routing): 减少路由表规模。
    • 特殊路由: 广播路由(逆向路径转发 RPF)、多播路由(核心树/Core-based tree)、任播路由(Anycast)。
    • 移动主机路由: 归属代理、外地代理、转交地址(Care-of address)与隧道(Tunneling)。
    • 自组网路由 (Ad Hoc): AODV路由发现与反向/正向路径建立。
  • 5.3 拥塞控制算法 (Congestion Control)
    • 拥塞现象: 吞吐量崩溃(Congestion collapse)。
    • 应对时间尺度: 供应/流量感知路由(慢) -> 准入控制 -> 流量调节 -> 负载丢弃(快)。
    • 流量调节: 显式拥塞通知(ECN)、抑制分组(Choke packets,按源或按跳产生)。
    • 负载丢弃 (Load Shedding): 葡萄酒策略(丢弃旧数据)与牛奶策略(丢弃新数据)。
  • 5.4 服务质量 (QoS)
    • 应用需求: 带宽、延迟、抖动(Jitter)、丢失率。
    • 流量整形 (Traffic Shaping): 漏桶算法(Leaky bucket)与令牌桶算法(Token bucket,允许一定突发)。
    • 分组调度: 公平队列(FQ)、加权公平队列(WFQ)。
    • 准入控制。
    • 综合服务 (IntServ) 与 区分服务 (DiffServ): RSVP资源预留协议;加速转发(Expedited)与确保转发(Assured forwarding)。
  • 5.5 网络互连 (Internetworking)
    • 异构网络互连: 协议差异应对,隧道技术(如IPv6 over IPv4隧道)。
    • 分组分片 (Fragmentation): 透明分片与非透明分片、IPv4的标识/标志/偏移量机制、路径MTU发现。
  • 5.6 互联网中的网络层
    • IPv4 协议: 报头格式解析(TTL, 协议号, 校验和)、选项(严格/松散源路由、记录路由)。
    • IP 地址: 类别化寻址(已过时)、子网划分(Subnetting)、CIDR(无类别域间路由与路由聚合)、最长前缀匹配。
    • NAT (网络地址转换): 内网IP(10.0.0.0/8等)、端口映射穿透防火墙。
    • IPv6 协议: 设计目标(地址空间、精简报头、安全性)、固定报头结构、扩展报头(路由、分片等)、巨型包(Jumbograms)。
    • ICMP: 互联网控制消息协议(目的不可达、超时、回显请求/应答、重定向)。
    • MPLS: 多协议标签交换、FEC、标签插入与剥离。
    • 内部网关协议 (OSPF): AS与区域划分(骨干区域0)、5种报文类型(Hello, LS Update等)。
    • 外部网关协议 (BGP): 路径矢量路由、路由策略(商业约束:对等、客户/转接网络)、路由通告机制。

第六章:传输层 (Chapter 6: Transport Layer)

  • 6.1 传输服务
    • 为应用层提供的抽象,填补网络层不可靠性的鸿沟。
    • 服务原语与嵌套: TPDU嵌于Packet,Packet嵌于Frame。
    • Berkeley Sockets: Socket, Bind, Listen, Accept, Connect, Send, Receive, Close(互联网文件服务器的C语言实现代码逻辑与状态机)。
  • 6.2 传输协议的要素
    • 寻址: 端口号(TSAP)、端点映射与进程服务器。
    • 连接建立: 限制分组寿命、三次握手(解决旧的重复CONNECTION REQUEST和重复ACK导致的混乱)。
    • 连接释放: 不对称与对称释放、两军对垒问题(Two-army problem)、带有超时的四次挥手机制防丢失。
    • 差错与流量控制: 动态缓冲区分配(可变大小/循环缓冲)、避免死锁。
    • 多路复用: 向上复用(多个连接走一个IP端点)与向下复用(逆向复用,一个连接分流到多个网络接口)。
    • 崩溃恢复: 客户端与服务器不同确认与写入策略的组合导致的数据丢失/重复风险。
  • 6.3 拥塞控制机制
    • 理想带宽分配: 最大最小公平性(Max-min fairness)。
    • 调节发送速率: AIMD(加法递增乘法递减控制法则)产生效率与公平的收敛点、显式反馈(XCP)与隐式反馈(TCP的丢包探测)。
  • 6.4 互联网传输协议:UDP
    • UDP基础: 8字节报头(源/目的端口、长度、校验和)、包含IP地址的伪首部(Pseudoheader)。
    • RPC (远程过程调用): 客户端存根(Client stub)、服务器存根、封包/解包机制。
    • RTP (实时传输协议): 头格式(时间戳、序列号、负载类型),置于UDP之上。RTCP用于反馈。流媒体接收端通过缓冲消除抖动(Jitter)。
  • 6.5 互联网传输协议:TCP
    • 服务模型: 面向字节流、知名端口(80, 25等)、全双工。
    • TCP段首部: 序号、确认号、窗口大小、标志位(SYN, ACK, FIN, RST, PSH, URG)。
    • 连接管理: 正常建立与同时打开建立;状态机转换(LISTEN, SYN_SENT, SYN_RCVD, ESTABLISHED, FIN_WAIT, TIME_WAIT 等 11 个状态)。
    • 滑动窗口与流量控制: 窗口更新机制、愚蠢窗口综合征(Silly window syndrome)及其Nagle算法解决方案、Clark算法。
    • 定时器管理: 往RTT测量、Jacobson/Karels的平滑RTT与偏差(RTTVAR)估算、Karn算法。
    • TCP拥塞控制:
      • 慢启动(Slow Start:拥塞窗口呈指数增长)。
      • 拥塞避免(Additive Increase:超过阈值后线性增长)。
      • 快速重传与快速恢复(TCP Tahoe 降至1,TCP Reno 降至一半并快速恢复,锯齿状图像)。
  • 6.6 性能问题与 DTN
    • 性能提升经验法则: 优化CPU重于网络、减少分组数/上下文切换/内存拷贝、避免拥塞与超时。
    • 网络性能测量: 方法论及陷阱(缓存效应等)。
    • 高速网络协议: PAWS(防序号回绕)、定时器轮(Timing wheel)、长胖管道(BDP大)的窗口缩放。
    • DTN (延迟容忍网络): 太空网络与间歇性链路架构、Bundle协议(束层,采用Store-and-forward跨越未连通的区域,主块与负载块结构)。

第七章:应用层 (Chapter 7: Application Layer)

  • 7.1 域名系统 (DNS)
    • 名称空间: 树状结构,通用顶级域(.com, .edu)与国家顶级域。
    • 资源记录 (Resource Records): 核心记录类型(SOA 授权起始,A/AAAA IP映射,MX 邮件交换,NS 域名服务器,CNAME 别名,TXT,PTR)。
    • 名称服务器: 区(Zone)的划分,根名称服务器,解析器的迭代/递归查询流程(10步图解)。
  • 7.2 电子邮件 (Electronic Mail)
    • 架构体系: 用户代理(UA)与消息传输代理(MTA/邮件服务器)。
    • 邮件格式: RFC 5322报头格式(To, Cc, From, Subject等)。
    • MIME (多用途互联网邮件扩展): Content-Type、Transfer-Encoding、多部分消息(Multipart/alternative)。
    • 消息传输 (SMTP): 交互过程(HELO, MAIL FROM, RCPT TO, DATA, QUIT)、扩展指令(AUTH, STARTTLS)。
    • 最终交付: IMAP版本4协议机制与常见命令(FETCH, STORE, SEARCH,对比POP3的优势)。
  • 7.3 万维网 (WWW)
    • 架构概览: URL格式解析、浏览器插件(Plug-in)与辅助应用程序(Helper)。服务器内部多线程/前端调度架构。
    • 静态网页: HTML标签树与版本差异。
    • 动态网页与Web应用:
      • 服务器端脚本(PHP生成)。
      • 客户端脚本(JavaScript操作DOM树)。
      • AJAX技术组合(HTML/CSS展示,DOM操作,XML通信,JS粘合,异步XMLHttpRequest)。
    • HTTP协议:
      • 连接管理:非持久连接、持久连接(Persistent)、流水线技术(Pipelining)。
      • 方法:GET, POST, HEAD, PUT, DELETE等。
      • 状态码:1xx (信息), 2xx (成功), 3xx (重定向), 4xx (客户端错误), 5xx (服务端错误)。
      • 报头与缓存:Cookie机制、条件GET(If-Modified-Since)。
    • 移动 Web: XHTML Basic对小屏幕、低带宽、断续连接的适应。
  • 7.4 流媒体音频与视频 (Streaming Media)
    • 数字音频: 采样、量化(PCM)、听觉阈值与频率掩蔽效应(Masking effect,MP3原理基础)。
    • 数字视频: JPEG有损压缩(RGB转YCbCr,块划分,离散余弦变换DCT,量化表,Zig-Zag扫描,游程/哈夫曼编码)。MPEG帧类型(I帧、P帧、B帧)。
    • 存储媒体流: RTSP(实时流协议:DESCRIBE, SETUP, PLAY, TEARDOWN),媒体播放器的缓存平滑机制,交错传输与奇偶校验包(前向纠错FEC)解决丢包。
    • 实时直播: 组播流与奇偶包交织网络。
  • 7.5 实时会议与 VoIP
    • H.323架构: 终端、网关、网守(Gatekeeper),使用TCP进行呼叫信令(Q.931)与控制(H.245),UDP传输RTP数据,重型且完备。
    • SIP (会话发起协议): 基于文本(类似HTTP),模块化。代理服务器(Proxy)与位置服务器交互、重定向过程(INVITE, ACK, BYE指令)。两者的详细维度对比。
  • 7.6 内容分发 (Content Delivery)
    • 流量特性: 互联网流量的齐普夫分布(Zipf distribution)。
    • 服务器农场与Web代理: 前端负载均衡器、组织内部代理缓存的拓扑。
    • 内容分发网络 (CDN): CDN边缘节点拓扑,利用DNS解析(CNAME记录)实现向客户端“就近”节点的流量重定向。
    • P2P网络 (Peer-to-Peer):
      • BitTorrent协议(种子/Torrent,Tracker服务器,Peer节点交换数据块/Chunks,”Choking/Unchoking”解决搭便车问题)。
      • 分布式哈希表(DHT):Chord路由,标识符圆环映射,Finger Table(指状表)加速节点查找($\log N$ 复杂度)。
本文由作者按照 CC BY 4.0 进行授权