跳转至

计算机网络概述

什么是计算机网络

计算机网络研究的是计算机之间如何可靠地交换数据。从你打开浏览器访问一个网页,到微信发送一条消息,再到全球分布式系统的节点间通信——所有这些都依赖计算机网络。

为什么要学计算机网络

一切分布式系统的基础。 微服务架构、云计算、分布式数据库——所有这些技术的底层都是网络。

面试硬通货。 "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 教材 计算机网络:自顶向下方法
中科大郑烇 课程 中文讲解,适合系统学习