清华大学计算机网络课程 —— 样本代码仓库
本仓库基于 Kurose & Ross《计算机网络:自顶向下方法》体系构建,提供 17 个可运行 Python 实现,涵盖 12 章、4 大知识领域。Python 是网络编程的最佳语言 — socket/scapy/http.server 标准库让协议实现简洁直观。适合:
- 清华计算机网络课程的学习者
- 408/826 计算机考研复习
- TCP/UDP/HTTP/DNS/路由等协议的动手实践
- 网络/后端方向的面试准备
cn/
├── Hello.py # 仓库入口
│
╔══ Part I: 基础篇 (01-03) — 协议栈/应用层/传输层 ═══════════════════════╗
║ ║
├── 01_introduction/ # 网络基础
│ └── osi_tcpip.py # OSI/TCP-IP模型 + 封装 + 延迟计算
│
├── 02_application/ # 应用层协议
│ ├── http_server.py # HTTP 客户端+服务器
│ └── dns_resolver.py # DNS 解析 & 层级查询
│
├── 03_transport/ # 传输层
│ ├── udp_tcp_socket.py # UDP vs TCP socket 编程对比
│ ├── tcp_reliable.py # TCP 可靠传输 (停等/重传/ACK)
│ └── congestion_control.py # TCP 拥塞控制 (Reno/CUBIC/BBR)
║ ║
╚══════════════════════════════════════════════════════════════════════════╝
╔══ Part II: 网络层 (04-06) — IP/路由/SDN ═══════════════════════════════╗
║ ║
├── 04_network_data/ # IP 数据平面
│ ├── ip_addressing.py # IPv4 地址/子网/NAT
│ └── packet_forwarding.py # 分片/校验和/路由表查找
│
├── 05_network_control/ # 路由控制平面
│ └── routing_algorithms.py # Dijkstra(OSPF) vs DV(RIP) vs BGP
│
├── 06_sdn/ # 软件定义网络
│ └── sdn_openflow.py # OpenFlow 流表 & Controller
║ ║
╚══════════════════════════════════════════════════════════════════════════╝
╔══ Part III: 链路与物理层 (07-09) — MAC/ARP/WiFi/编码 ═══════════════════╗
║ ║
├── 07_link_layer/ # 链路层
│ └── mac_arp.py # ARP 协议 & 缓存 & 欺骗
│
├── 08_wireless/ # 无线网络
│ └── wifi_csma_ca.py # CSMA/CA & 二进制指数退避
│
├── 09_physical/ # 物理层
│ └── encoding_modulation.py # 曼彻斯特/NRZ + Shannon 定理
║ ║
╚══════════════════════════════════════════════════════════════════════════╝
╔══ Part IV: 高级主题 (10-12) — 安全/多媒体/数据中心 ═════════════════════╗
║ ║
├── 10_security/ # 网络安全
│ └── tls_handshake.py # Diffie-Hellman + TLS 1.3 + 证书链
│
├── 11_multimedia/ # 多媒体网络
│ └── streaming_qos.py # DASH自适应流 + QoS分类
│
├── 12_datacenter/ # 数据中心
│ └── cdn_cloud.py # 一致性哈希 + CDN + 负载均衡
║ ║
╚══════════════════════════════════════════════════════════════════════════╝
# 所有文件可直接运行
python3 01_introduction/osi_tcpip.py
# TCP/UDP 演示
python3 03_transport/udp_tcp_socket.py
# HTTP 服务器
python3 02_application/http_server.py| Part | 章节 | 核心内容 | 关键API/概念 |
|---|---|---|---|
| I | 网络基础 | OSI/TCP-IP、封装、延迟 | 四类延迟公式 |
| I | 应用层 | HTTP服务器、DNS解析 | socket, http.server |
| I | 传输层 | UDP vs TCP、可靠传输、拥塞控制 | SOCK_DGRAM, Reno/CUBIC |
| II | IP数据平面 | IPv4/CIDR/子网/NAT/分片 | ipaddress, checksum |
| II | 路由控制 | Dijkstra(OSPF)、DV(RIP)、BGP | 链路状态 vs 距离向量 |
| II | SDN | OpenFlow流表、控制器 | Match-Action 流水线 |
| III | 链路层 | MAC/ARP/ARP欺骗/以太网帧 | ARP缓存, arp -a |
| III | 无线 | CSMA/CA、指数退避、802.11ax | RTS/CTS, WiFi 6 |
| III | 物理层 | Manchester编码、Shannon定理 | 信道容量 C=B·log₂(1+SNR) |
| IV | 安全 | DH密钥交换、TLS 1.3、证书链 | ECDHE, 证书验证 |
| IV | 多媒体 | DASH自适应流、DiffServ QoS | 码率自适应, DSCP |
| IV | 数据中心 | 一致性哈希、CDN、Fat-Tree | 虚拟节点, VXLAN |
- 教材: Kurose & Ross, Computer Networking: A Top-Down Approach, 8th Edition
- 网站: https://gaia.cs.umass.edu/kurose_ross/
- 进阶: Stevens, TCP/IP Illustrated
本仓库由以下 AI 协作完成:
- 代码架构与实现: Claude (Anthropic)
- 推理引擎: DeepSeek V4 Pro (1M 上下文)
所有代码经人工审查确认,AI 工具仅作为生产力辅助。
MIT License