1. 为什么人人都该啃一遍计算机网络
1.1 这门课到底在讲什么
到了大二大三,计算机类学生基本都会撞上这门课。热搜上常年挂着一堆"计算机网络期末复习""计算机网络题库""计算机网络第八版答案",说明它确实是挂科率、痛苦指数都排在前列的硬课。可只要熬过去,你会发现它是大学四年里最值得反复读的一门课:操作系统管的是单机怎么用硬件,网络管的是多台机器怎么协作,前者决定你会不会写高效的单机程序,后者决定你会不会设计能跑起来的系统。
从内容上看,这门课研究的核心问题只有一个:数据怎么从一台设备安全、有序地送到另一台设备。看起来是一句话,展开之后就是一座冰山——物理上信号怎么编码,链路层怎么在一条线上把帧送给邻居,网络层怎么从茫茫网络中找出一条路,传输层怎么让两端像面对面一样可靠地收发数据,应用层怎么把这些能力包装成 HTTP、DNS 这类普通人也能感知的功能。每一层都是在给上一层做服务,同时把底下那层的复杂性藏起来。这种"每一层各司其职"的思想,才是你未来阅读理解一切网络产品的基础。
很多人口中的"计算机网络八股文"也就是这些东西。面试官爱问,不是因为它古老,而是因为 TCP、HTTP、DNS 这些协议到今天仍然是互联网的基本零部件。你能把它们的细节讲清楚,说明你真懂系统是怎么协作的,而不是只会在框架里写增删改查。这门课的价值不在于考试多少分,而在于它给你提供了一套理解"系统之间怎么打交道"的通用词汇表。
1.2 为什么408备考、校招面试都和它过不去
热搜词里有一条特别典型:"湖科大教书匠计算机网络适合考408吗"。这说明现在很多人靠视频课熬过这门课,"适合考408吗"本质上是在问两个问题:讲得够不够深?范围对不对?如果能覆盖考点范围,讲得又足够细致,那它就是合格的备考资源。与其纠结某个老师的名气,不如看你自己能不能跟着他的主线把协议栈从头到尾串起来。
408 是计算机统考专业课,计算机网络在其中约占 25 分。别看分值占比不如数据结构高,它的性价比其实很好:概念多、计算量小,只要按主线去理并不难拿。备考时如果只看谢希仁的《计算机网络》会有点吃力,因为 408 的某些考点更接近《计算机网络:自顶向下方法》里的思路,比如 HTTP 报文的字段、TCP 拥塞控制的具体行为、DHCP 的交互细节。我的建议是把谢希仁当框架书通读一遍,配合自顶向下那本去补应用层和传输层的细节,再拿王道题册做查漏,三本搭配效果最好。
面试角度就更直接了。前端要聊 HTTP 缓存和 CDN,后端要聊 TCP 连接管理和负载均衡,运维要聊子网划分和路由策略。岗位不同,但底层知识都是同一套网络协议栈。你简历上写着"熟悉 HTTP"却讲不清三次握手为什么是三次、四次挥手为什么是四次,面试官基本就心里有数了。所以不管你是正在备战考研,还是准备找实习,这门课投入的时间翻十倍都不亏。它会是你所有面试题里最不会白背的一部分。
2. 从零搭起你的网络知识体系框架
2.1 先别死背OSI七层,把它当成送快递
OSI 参考模型七层(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)几乎每个教材开头都会讲,很多人第一反应是背,背完就忘,因为完全没有依托。我建议换一个思路:把它想象成你寄一个快递。
你下单填地址是应用层要做的事;系统把商品按规则打包并贴上说明,是表示层;你和快递员约好当面取件的时间,是会话层——这三层对普通用户来说其实是一体的,所以 TCP/IP 模型把它压成了应用层一层。商品被送到快递网点,网点决定走哪条线路去哪个城市,是网络层;到了目的地城市再通过当地配送站送到小区,是数据链路层;最后快递员敲你门,把包裹从手里递过去,是物理层。整个过程里,每一层只关心自己该做的事:网点不管箱子里装的是毛衣还是书,配送站不管箱子坐的哪班车。这种分层的好处是:任何一层升级替换,不影响其他层。
考试里真正要求掌握的是 TCP/IP 的协议栈,也就是五层模型:物理层、数据链路层、网络层、传输层、应用层。OSI 的会话层、表示层在现实中基本被压缩进了应用层,所以做题时只要记得 OSI 是七层、TCP/IP 是五层(有的书也写四层),对应的协议别放错位置就够了。常有人把 ARP 归到数据链路层还是网络层搞混,多数教材把它放在网络层和链路层的交界处,考试时按你们学校教材为准,别在两个答案之间反复横跳。
2.2 TCP/IP五层协议栈:真实世界里跑协议的样子
把这五层从上往下背一遍:应用层是 HTTP、HTTPS、DNS、DHCP、FTP、SMTP 这些你天天打交道的协议;传输层是 TCP 和 UDP 两个老对头,一个讲究可靠、一个讲究快;网络层是 IP 协议,负责寻址和路由,ICMP 也在这层帮你测连通性;数据链路层是 ARP、以太网协议,负责在同一个局域网内把帧送到下一跳;物理层就是网线、光缆、无线电波这些看得见摸得着的东西。
每一层的协议都有明确的"封包格式"。你发一条请求,应用层先生成数据;到了传输层被套上 TCP 头,里面有源端口、目的端口、序号和确认号——相当于给应用数据加了"寄件人和收件人门牌号";到了网络层加上 IP 头,写上源 IP 和目的 IP,相当于写清"哪个城市哪个区";到了链路层加上以太网头的 MAC 地址,相当于写清"哪栋楼哪个房间"。接收端再一层层剥开这个"套娃",最后把数据交给应用。
我见过太多人学完一整学期,却从没打开 Wireshark 看过真实的数据包。其实你抓一个包就能直观看到这套结构:最外面是以太网帧,往里是 IP 头,再往里的 TCP 头上标着端口号和序号,最里面是应用层的明文内容(如果是 HTTP 的话)。这种"层层封装、层层解析"的过程一旦在屏幕上见过一次,后面所有协议细节都顺理成章了:TCP 为什么需要序号?因为要在乱序到达后还能拼回原顺序。IP 为什么要分片?因为链路层帧的 MTU 是 1500 字节,超了就得断开。以后再看任何网络问题,先问一句:这发生在哪一层?排查思路马上清晰一半。
3. 必须吃透的核心协议细节
3.1 HTTP与HTTPS:一切Web流量的起点
HTTP 是现在最值得摸透的应用层协议。它本质上是一套"请求-响应"的文本约定:客户端发一个请求行(方法、URL、版本号),带上若干头部字段,服务器返回状态行、响应头、响应体。GET 和 POST 的区别不是"能否带参",而是语义:GET 应该是不产生副作用的查询,POST 是提交变更。这个语义直接关系到缓存、CDN、幂等设计——把不该 GET 的请求写成 GET,线上就可能出现缓存错乱或非预期副作用,这是我见过很多初级工程师犯的第一个设计错误。
关于版本,面试爱问 HTTP/1.1 和 HTTP/2 的差别。HTTP/1.1 用文本格式,一个连接上一个时刻只能处理一个请求,靠Connection: keep-alive减少握手开销;HTTP/2 改成二进制分帧,多路复用让一个连接上可以同时跑多个请求,解决了应用层的队头阻塞。但要注意,HTTP/2 依然走 TCP,TCP 的丢包重传还是会拖慢整个连接上的所有流。这也是业界不断折腾 HTTP/3 和 QUIC 的原因:QUIC 基于 UDP,把可靠传输的控制权从内核搬到了用户态,丢包时只重传受影响的流,其他流不受牵连。理解这个演进逻辑,比单纯背版本号差异有用得多。
HTTPS 的本质是给 HTTP 外面套一层 TLS。握手过程中客户端和服务端要协商加密套件、交换证书、生成会话密钥。这里有个高频考点:证书是谁签的、怎么验证的。根证书是操作系统里预置的,浏览器拿到网站证书后用"签发者"向上追溯,直到找到预置的根证书,再校验证书有没有被篡改。这也是为什么你自己搭 HTTPS 服务必须自建 CA 并手动安装根证书,否则任何浏览器都会警告不安全。友情提示:抓 HTTPS 包时如果全是密文看不懂,可以在 Wireshark 里配置 TLS 密钥日志(SSLKEYLOGFILE),设置一次浏览器环境变量,之后就能看到解密后的明文内容,做实验非常方便。
3.2 TCP:可靠传输到底是怎么咬着牙实现的
TCP 面试题的密集程度在计网里基本是核弹级。三次握手为什么不是两次、四次?因为要同时确认双方的发送和接收能力都没问题:第一次握手让服务端知道客户端的发送能力正常,第二次握手让客户端知道服务端的收发能力都正常,第三次握手让服务端确认客户端的接收能力也正常。如果只有两次,服务端无法确认自己发出的包客户端到底收到没有,一旦网络里有个滞后的旧连接请求,就会白白建立一堆无效连接,资源全浪费在"半开连接"上。
可靠传输靠的是三样东西:序号/确认号、超时重传、滑动窗口。发出去的每一个字节都有一个序号,接收方通过确认号告诉发送方"序号之前的数据我都收到了",发送方用一个窗口管理还能发多少数据,超过窗口就得停下来等确认。流量控制就是接收方通过窗口字段告诉发送方"你发慢点,我缓冲区快满了",它的产生原因是两端处理速度不匹配。
拥塞控制则是另一套逻辑:慢开始、拥塞避免、快重传、快恢复。慢开始从 1 个 MSS 开始,每一轮翻倍,涨到慢启动阈值后换成加法增;一旦出现超时,就认为网络拥堵,阈值砍半、重新开始慢开始。收到三个重复 ACK 时走快重传,不必等超时就立刻补发丢失的包,然后进入快恢复,把阈值降一半、拥塞窗口从新阈值开始慢慢涨。这几个状态的变化正是王道题库里最爱考的计算题。搞懂之后你会发现它和开车起步一模一样:先小油门,路况好再加速,看到前面堵了就松油门,别一脚踩死。
四次挥手为什么是四次?因为 TCP 是全双工的,两边都要独立地关闭各自的发送方向。主动方发 FIN 表示"我不想再发了",被动方回 ACK,然后等自己的数据发完再发 FIN,主动方再回 ACK。中间那个TIME_WAIT状态很多人搞不懂,它存在的意义是防止最后一个 ACK 丢失导致对方重发 FIN,所以要等两个最长报文段寿命(通常 2MSL)才彻底关闭。如果面试时你能主动讲出这一步的设计意图,含金量比背出四次挥手要高一个档次。
3.3 UDP、DNS与DHCP:三个总被低估的配角
UDP 常被说成"不可靠",但别嘀咕它。它没有握手、没有序号、没有窗口,代价是丢了不补,换来的是极低的时延。VoIP、视频直播、游戏操作指令全跑在 UDP 上。一个容易被忽略的点是 QUIC 和 HTTP/3:它们用 UDP 承载可靠传输,因为 TCP 的头部和拥塞控制逻辑由内核实现,想改很难;在 UDP 上做可靠传输则可以由应用自由控制,快速迭代算法。热门项目里很多"自研协议",本质上就是"自研一个用 UDP 实现的可靠传输",理解这点,读这类项目源码会轻松得多。
DNS 是另一个几乎每年必考的点。你在浏览器输入域名,第一步是查本地缓存,然后依次问根域名服务器、顶级域名服务器、权威域名服务器。这里有两个容易混淆的名字:递归查询是"你帮我查完告诉我",迭代查询是"我告诉你去哪查,你自己一层层问"。现实里的解析流程通常是本地 DNS 服务器替你做递归,它自己再去根服务器做迭代。另一个考点是 TTL 的意义:它决定记录在缓存里活多久,也直接关系到线上切换 IP 后多久能全局生效。当年我调过一条 TTL=86400 的域名记录,改 IP 后全世界愣是等了一天多才稳定切过去,从那以后我对 TTL 这两个字母有了深刻敬畏。
DHCP 看似不起眼,但局域网全靠它活着。你插上网线发一个 DHCP Discovery 广播,DHCP 服务器提供可用 IP(Offer),你请求占用(Request),服务器确认(ACK)。虽然四个报文名字容易记混,但一个口诀就够了:发现、提供、选择、确认,四个动作的首字母合起来是 DORA。做实验时大家老抓不到 DHCP 包,多半是过滤条件写错了——要按bootp而不是dhcp过滤,因为 Wireshark 沿用老名称。
4. 做实验才是真学会的开始
4.1 Wireshark抓包:别怕,先用浏览器抓个HTTP看
理论讲得再好,不如自己亲眼看一个包。Wireshark 装好后选一个网卡,先用一个 HTTP 网站(注意现在的首页几乎全是 HTTPS,想抓明文 HTTP 可以访问http://example.com这类老站)看整个请求过程。
在 Wireshark 里过滤框填http,刷新页面,你能看到一排 HTTP GET 请求和 200 响应。点开一条,右下角就是那套"套娃"结构:Ethernet II 头、IP 头、TCP 头、HTTP 层。展开 TCP 头看序号和确认号,鼠标悬停还能看到相对序号。我当年第一次看明白 TCP 三次握手的 SYN、SYN+ACK、ACK 三个包时,整个晚自习全耗在上面了,那种"原来课程里的图是长这样的"的冲击感,比看十遍视频都强。
注意一个坑:默认抓包只能看到本机发出和收到的流量,起点是本机视角。想观察局域网里其他设备的流量,需要交换机镜像端口或者中间人手段,那属于网络安全方向了,日常学习先用本机流量就够。另外抓包时建议先设置好捕获过滤器只抓 80/443 端口,不然页面脚本和图片请求会把列表刷得飞快,新手很容易被噪声淹没。
4.2 手搓网络命令:ping、traceroute、nslookup实操
这些命令人人都会敲,但不一定有人敲明白过。ping本质是发 ICMP 回显请求,看目标有没有回应。你可以分别 ping 一个域名和一个 IP 做对比,第一次解析慢是因为走了一次完整 DNS 查询。traceroute(Windows 下是tracert)更直观,它通过设 TTL 为 1、2、3……逐步探测每一跳路由的 IP,能看到你的包从家里路由器到运营商再到目标服务器走了哪些节点。
ping -c 4 example.com traceroute example.com nslookup example.com 8.8.8.8这里值得掌握一个判断网络瓶颈的技巧:如果 ping 网关延迟高,但 ping 回环地址127.0.0.1正常,说明局域网内部有问题;如果 ping 公网 IP 很顺、ping 域名很慢,说明 DNS 解析异常。这种"分段定位"的思路,比背多少命令都值钱。nslookup 则是纯 DNS 工具,输入域名能看到解析结果和 TTL。搭配 Linux/macOS 下的dig还能看完整解析链路,很多面试题里的"域名解析流程"在屏幕上重现一遍,比死记硬背有用得多。我通常会给学员留个作业:分别抓一次 DNS 走 UDP 53 端口、HTTP 走 TCP 80 端口的流量,看看上层协议和端口号是怎么在 Wireshark 里对应起来的。
4.3 Packet Tracer建模一个小型校园网
Packet Tracer 是思科的模拟器,很适合做课程设计,也是很多"计算机网络实验报告"的标准载体。搭一个小型校园网的典型步骤大致是这样:
- 放一台路由器、一台三层交换机、两台二层交换机和若干 PC。
- 给 PC 配 IP、掩码、网关,给交换机划分 VLAN,把不同办公室放在不同广播域里。
- 路由器接交换机的外网口,配置静态路由或 OSPF 让它能把包从一个网段转到另一个。
- 用模拟模式看 PC1 ping PC2 时,包是怎么从交换机到路由器再回来的。
做的时候注意:很多新手第一次配完发现 ping 不通,八成是网关地址配错,或者 PC 和网关不在同一广播域。排查顺序永远是从物理层往上走:接口亮没亮、IP 通不通、路由表对不对。这套排查顺序在真实网络里一样适用,你在模拟器里养成的肌肉记忆,将来上班排障不会慌。
实验报告怎么写才不显糊弄?核心不是展示截图,而是记录"我做了什么、为什么这么做、数据说明了什么"。比如配 VLAN,你写"把 PC1 划分到 VLAN 10"只是流水账;你写"划分 VLAN 后,PC1 和 PC2 不能互访,而 PC1 和 PC3 可以,这说明 VLAN 在二层隔离了广播域",这才是有信息量的实验结论。老师给分看的就是你有没有真正理解你在操作的东西。
4.4 实验报告的加分写法与常见误区
很多人的实验报告是从网上抄的现成答案,我理解期末节奏紧,很难每份都认真写。但建议至少在自己做的实验上认真写一次。一份合格的报告应该包含:实验目的(不是抄教材第一段)、环境拓扑(手画或截图)、关键配置(贴出修改的核心命令,别全贴)、数据抓取(关键报文截图并标注)、结果分析(对比预期和实际,错了也要写为什么错)。
错误记录其实是实验报告里最加分的一部分。比如我当年做交换机生成树实验时,把两根网线同时插到两台交换机上,结果广播风暴一瞬间把整个实验网卡打满,吓得我赶紧拔线。后来在报告里写"由于网络中存在环路导致广播风暴,通过 STP 可避免,这次实验让我理解了 STP 的必要性",老师反而给了好评。所以别怕犯错,怕的是错完还不明白错在哪。另外一个小技巧:截图时把 Wireshark 的过滤条件一并截进去,老师看到你有意识地在过滤而非随手截全屏,印象分会高不少。
5. 期末、408、面试如何高效复习
5.1 期末复习的主线打法
期末复习如果只有两周,主线应该是:先把每层的核心协议和关键机制列成一张表格,再围绕这张表刷题。我一般建议学生第一遍用 1.5 天把所有章节的框架过一遍,再用 3 天集中做题,最后留 1 天专门背通信原理和公式。
| 层 | 核心协议 | 关键机制/考点 |
|---|---|---|
| 应用层 | HTTP, DNS, DHCP, FTP | 请求响应格式、DNS 查询流程、DHCP 四步 |
| 传输层 | TCP, UDP | 三次握手、四次挥手、流量控制、拥塞控制 |
| 网络层 | IP, ICMP, ARP | 子网划分、IP 分片、路由协议、地址解析 |
| 数据链路层 | 以太网, 交换机, VLAN | 帧格式、MAC 地址、CSMA/CD、VLAN 隔离 |
| 物理层 | 网线, 集线器 | 编码方式、速率与带宽关系 |
过完这张表,再拿历年期末题各做两份,基本能有 60 分。再往上提分的关键是计算题:子网划分、IP 地址聚合、CRC 校验、CSMA/CD 最长距离计算、TCP 窗口和拥塞控制过程。这些题套路固定,一旦会了一种,后面都是换数字。我最推荐的方式是把每一类计算题自己先推一遍公式,而不是直接背答案,因为期末考经常小改参数,你只有理解推导过程才不怕变体。
5.2 五道必背经典题(附答题思路)
我整理了面试、期末翻牌率最高的五道题:
三次握手过程及为什么不是两次?答题时要点出"确认双方收发能力"这个核心,顺带说一句防止旧连接请求造成资源浪费。
TCP 和 UDP 的区别及各自应用场景?别只答可靠/不可靠,要举实际协议例子:HTTP 基于 TCP、DNS 查询和直播基于 UDP、QUIC 基于 UDP 实现可靠传输。
从输入一个 URL 到页面展示,中间发生了什么?这是综合题,必须把 DNS 解析、TCP 连接、HTTP 请求、服务器处理、响应、浏览器渲染这一套串下来,中间能带出 HTTP/1.1 连接复用、CDN 命中、缓存命中这些加分点。
IP 地址的分类、私有地址段和子网掩码的作用?记住三类私网段(10/8、172.16/12、192.168/16),能现场做一次子网划分更佳。
拥塞控制和流量控制的区别?流量控制是接收方告诉发送方"你慢点",拥塞控制是网络状态不好时发送方自己主动减速。一个是点对点协作,一个是全局感知,方向完全不同。
每道题都不要满足于背答案,先用自己的话对着镜子讲一遍,讲不顺的地方就是盲区。我辅导过的人里,能把第 3 题讲满两分钟不卡壳的,面试基本都稳了。
5.3 教材怎么选:谢希仁、自顶向下和王道怎么搭配
关于教材,不同人的搜索词已经说明了一切:有人搜"计算机网络谢希仁",有人搜"计算机网络第八版自上而下答案",还有人搜"计算机网络八股文"。我的建议是不同阶段用不同书,别指望一本吃到头。
谢希仁的《计算机网络》是很多高校的指定教材,优点是结构工整、覆盖国内考试常考的全部主干;缺点是应用层相对简略,和真实互联网产品的距离感稍强,做面试准备稍显不解渴。《计算机网络:自顶向下方法》恰好相反,用你熟悉的 Web、Email 场景倒着引入协议,适合面试前补应用层和传输层细节,很多概念讲得比国内教材通俗。王道考研那本严格说是"题册+知识浓缩",不是完整的体系书,适合后期查漏和刷题。
如果必须做减法,我的倾向是:期末复习以谢希仁为主、王道为辅;408 备考以王道为骨架,不会的地方回两本教材补细节;面试突击以自顶向下为主线,搭配 Wireshark 实操。三本书各司其职,比单啃一本效率高得多。至于"第八版答案""电子书"这类搜索词,我不建议因此放弃纸质书——因为网络知识需要来回翻图、做笔记,纸质体验远好于电子版。我自己早年就是在纸质教材上写满了"注意"两个字,复习时才真正感觉到知识在长进。
6. 那些年常见的坑、玄学与避雷指南
6.1 网站提示"检测到异常流量"到底是怎么来的
不少人都撞上过这样一个提示:访问某个网站时弹出一句"我们的系统检测到您的计算机网络中存在异常流量,请稍后重新发送请求"。这东西不是你的电脑被黑了,也不是你的网络真有"异常流量",而是对方服务端的流量防护系统觉得你"不太像个人"。
从技术上说,触发条件通常是这几种:同一出口 IP 在短时间内请求频率过高,比如宿舍几百号人共用同一个公网 IP,有人跑了爬虫就会牵连其他人;请求头信息异常,比如浏览器指纹一致但 User-Agent 不停变化;还有携带的 Cookie 无效、服务端风控规则认为当前会话没有通过验证。服务器返回一个需要 JS 挑战或验证码的中间页,通过了才放行。本质上这是一个网站自我保护的安全机制,理解了它,下次再看到就不会慌。
真正遇到这种提示,别慌,先做三件事:清一下浏览器缓存和 Cookie 再试;关掉各类代理插件再试;换一个网络环境(比如用手机热点)验证是不是该 IP 段的问题。如果换热点立刻好,那大概率是出口 IP 被风控了,等几分钟再回去通常就好。顺带提一句:这类机制是为了拦截异常流量,和网络本身的健康状态没有关系,别误以为是电脑中毒。
6.2 学网络最容易翻车的三个地方
第一是死记 IP 地址结构,却不会做子网划分。很多人能背出 A/B/C 类地址范围,但给他一个 IP 和一个子网掩码,问他这个网段能容纳多少台主机,他就懵了。一定要亲手画几道题,把网络位、主机位、广播地址、可用地址算明白。这个基本功在配置云上 VPC、给公司规划网段时是每天都要用的,不会就是硬伤。
第二是把 HTTP、TCP、IP 三层的事混在一起说。比如把 TCP 四次挥手说成"HTTP 断开连接"、"IP 地址变了所以 TCP 连接断掉",都是分层理解不到位的表现。出问题时先问一句:这是哪一层的问题?判断标准是:没建连就是连接管理问题,连接建了但页面白屏是应用层或 DNS 问题,能 ping 通但网页打不开多半是端口或防火墙问题。
第三是只会用命令,不懂看现象。ping 通和 ping 不通之间还有大量中间状态:请求超时、目标不可达、TTL 超时。每一种都对应不同的网络故障。真到了工作现场,网络故障是千奇百怪的,只有把每一步现象和协议机制对得上,排障才谈得上效率。我见过太多人一遇到不通就重启路由器、拔网线,而不去看ping后的具体报错,结果同一个问题反复折腾了一下午。
6.3 最后给想进阶的人几条建议
学完课程只能算入门。想真吃透网络,我给你三个方向:第一个是抓包,把日常每一个 Web 请求都抓一遍,看看 CDN、缓存、Cookie、重定向这些机制在真实流量里长什么样;第二个是手写小工具,用 Python 的 socket 库或 scapy 库亲手发一个 TCP SYN 包、解析一个 DNS 响应,写过一次的理解深度远超看十遍教材;第三个是研究 HTTP/3 和 QUIC 这类新协议的设计,看看新一代协议怎么解决老 TCP 的痛点,这会让你站在整个行业的最前沿。
另外多说一句:实验过程中如果遇到莫名其妙的"玄学"问题,先怀疑自己,再怀疑设备,最后才怀疑网络。很多时候我们以为的"网络问题",其实是本机防火墙、杀毒软件或者网卡驱动在捣乱。遇到问题先看日志、先抓包、先分段定位,这套方法论比学会任何单个知识点都值钱。
我个人这些年来的体会是:计算机网络是一门越早认真学、越早受益的课。学生时代总觉得它是门需要背的考试课,后来真的被拉去查网关、调防火墙、读一屏又一屏的抓包日志时才后怕,当初要是再认真点该多好。所以如果你正在被这门课折磨,恭喜你,你踩的坑恰好说明你终于开始摸到"计算机系统如何协作"的门道了。把这门课啃下来,后面学分布式、学云计算、学网络安全,都是顺水推舟的事。