计算机网络概述
什么是计算机网络
计算机网络研究的是计算机之间如何可靠地交换数据。从你打开浏览器访问一个网页,到微信发送一条消息,再到全球分布式系统的节点间通信——所有这些都依赖计算机网络。
为什么要学计算机网络
一切分布式系统的基础。 微服务架构、云计算、分布式数据库——所有这些技术的底层都是网络。
面试硬通货。 "TCP 三次握手"、"HTTP 和 HTTPS 的区别"、"DNS 解析过程"——这些问题在几乎所有技术面试中都会出现。
考研 408 核心科目。 分值约 25 分。
核心知识模块
网络体系结构
- OSI 七层模型 vs TCP/IP 四层模型
- 封装与解封装
网络层
- IP 协议:IPv4 报文格式、子网划分、CIDR
- 路由算法:距离向量(RIP)、链路状态(OSPF)、路径向量(BGP)
传输层
- TCP:三次握手、四次挥手、滑动窗口、拥塞控制
- UDP:无连接、不可靠但高效
应用层
- HTTP/HTTPS:请求方法、状态码、Header
- DNS:域名解析过程
怎么学
自顶向下,从你熟悉的部分开始。 推荐《计算机网络:自顶向下方法》。
动手做实验。 用 Wireshark 抓包,看看真实的 TCP 握手、HTTP 请求长什么样。
做 Stanford CS144 实验。 实现一个 TCP/IP 协议栈。
本模块资源
| 资源 | 类型 | 说明 |
|---|---|---|
| Stanford CS144 | 课程 | Stanford 网络课程,实现协议栈 |
| Kurose & Ross | 教材 | 计算机网络:自顶向下方法 |
| 中科大郑烇 | 课程 | 中文讲解,适合系统学习 |