0. 先看这“计算机网络一”到底是个啥
如果这几天你正在为期末考焦头烂额、准备考研408的专业课,或者刚把“计算机网络”写进简历却发现自己连三次握手都讲不利索,那这篇东西就是给你写的。
我直接说我的看法:“计算机网络一”这门课,放在整个计算机体系里,属于那种“听着简单、学起来散、考起来刁”的类型。不像数据结构有清晰的代码主线,也不像操作系统有固定的资源管理话题,网络这门课的知识点像一张网(原谅我这个双关),你单独拎任何一个概念出来都好像能懂,但是一旦串起来问,比如“输入一个网址到页面展示中间发生了什么”,大部分人会当场卡壳。
这篇内容我打算按照自己当年复习、后来又带人复习的经验来写,目标很明确:帮你把“计算机网络一”这门课从“背一堆名词”变成“理解一套逻辑”。不管你是期末冲刺、408备考,还是面试前抱佛脚,都可以照着这个思路去搭自己的知识框架。
先说三条最重要的经验,放在最前面:
第一,不要按教材顺序去背,要按“数据从源头到目的地走了一趟什么流程”去学。第二,不要试图记所有协议的每一个字段,考试和面试真正反复考的,永远是那些“为什么这么设计”的问题。第三,做题比看书有用,但做完题之后的复盘比做题本身更有用。
下面我分成几块来讲,都是能直接上手的实操路线。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
1. 这门课的整体架构:别急着背协议,先把地图拼出来
很多人在“计算机网络一”上翻车,不是因为智商不够,而是因为一上来就扎进物理层、数据链路层的细节里,背了一堆“曼彻斯特编码”“CSMA/CD”之后,不知道自己身在何处。这是最致命的学法错误。
1.1 五层模型不是知识清单,而是数据的一条旅行路线
你先把这个画面装进脑子里:你在一台电脑上发了一条微信消息,这条消息要经过哪些处理才能到对面手机上?五层模型就是这条旅行路线上的五个检查站,每一层只干一件事,然后交给下一层。
物理层:把二进制变成信号,在网线、光纤、无线电里传出去,它不关心内容是什么,关心的是“怎么把一个bit从A点弄到B点”。
数据链路层:在同一段物理链路上,把比特组装成“帧”,解决“这一段路上怎么可靠地传数据”的问题。你听到的MAC地址、交换机、差错检测,都是这一层的活儿。
网络层:数据要走出局域网,走向全世界,谁来规划路线?这层干的是“路由”和“寻址”。IP地址就是这一层的门牌号,路由器是这一层的核心设备。
传输层:到了这一步,我们要解决的不再是“数据到没到”,而是“数据到了之后交给哪个应用”,以及“数据有没有丢、有没有乱序、要不要重传”。TCP和UDP的大戏全在这一层。
应用层:直接面对用户,HTTP、DNS、FTP这些我们天天打交道的协议,都在这里。
我为什么强调按“旅行路线”去理解?因为考试题特别喜欢把各层混在一起考,比如问你“交换机、路由器分别工作在哪一层”,如果你只是背了“交换机是二层、路由器是三层”,那遇到“一台三层交换机能不能当路由器用”这种变形题就懵了。但如果你脑子里有那条路线图,你就知道:交换机本质工作在链路层,靠MAC地址转发;路由器工作在网络层,靠IP地址转发。三层交换机就是“在二层转发的基础上加了路由功能”的设备,它当然能做路由的活儿。
1.2 四层模型、五层模型、七层模型,考试到底要哪个
这几乎是每学期必问的问题。谢希仁的教材用的是五层原理体系结构(物理层、数据链路层、网络层、传输层、应用层,把OSI的会话层和表示层并入了应用层),而王道、408考纲用的是五层,但很多题目来源于OSI七层模型(应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)。
我的建议是:以五层为主线去理解,但必须知道七层是把“应用层”拆成了“应用、表示、会话”三层。为什么要拆?因为OSI模型是理想化的设计,它认为“数据格式转换”和“会话管理”应该是独立的模块,但实际互联网(TCP/IP体系)觉得这两个东西没必要单独成层,直接合并了。考试如果问“加密、压缩属于哪一层”,答案是表示层——这在五层模型里没有,但概念题喜欢考。
分层这件事看起来是纯理论,实际上是所有网络问题的分析工具。我复习的时候有个习惯:任何一道不会做的题,先问自己“这题考的是第几层”,一旦定位了层,思路就清晰了。
1.3 核心关键词怎么串起来:给“八股文”搭个骨架
网络面试题里有一堆“八股”,比如TCP三次握手四次挥手、TCP和UDP的区别、HTTP和HTTPS的区别,等等。这些题单个背都能背下来,但面试官稍微深挖一下就露馅。我的方法是用“一个请求的完整生命周期”把这些八股全部串起来。
你输入一个网址,浏览器先查DNS(应用层),找到IP之后,TCP先建立连接(传输层三次握手),然后数据包在网络层封装成IP包(网络层IP协议、路由选择),链路层组装成帧(数据链路层ARP找MAC地址),物理层发出去(物理层编码调制),对方收到之后逐层拆包,最后应用层响应,把网页内容发回来。这一条流程里,HTTP、DNS、TCP、IP、ARP、MAC、路由器、交换机全都有了,而且每一个协议的动机都能说清楚:“为什么要ARP?因为IP地址是逻辑地址,数据在链路上传输时需要的是物理地址。”
这就是我反复说的:不要背八股,要背“故事线”。故事线一旦建立,考题怎么变你都不慌。
2. 各层核心细节:考试和面试真正反复考的那点东西
框架有了,接下来我们把每一层的重点过一遍。这一部分我不打算按教材目录讲,只挑真正常考、常问、常错的内容展开。
2.1 物理层与数据链路层:别因为“基础”就轻视
物理层在考试里占分不多,但它有两个概念老被拿来出选择题:信道容量相关的奈氏准则(Nyquist)和香农公式(Shannon),以及编码方式。
奈氏准则说的是“在无噪声情况下,码元传输速率是有上限的”,它给出了理想低通信道的最高码元速率是 2W(W是带宽)。香农公式说的是“在有噪声情况下,信道容量上限是 C = W log₂(1 + S/N)”,这里S/N是信噪比。考试题最喜欢考的就是“用哪个公式”,判断标准很直接:题目里给了信噪比,用香农;题目说无噪声或只提带宽,用奈氏。还有一个坑:香农公式算出来的是“比特速率上限”,奈氏准则算出来的是“码元速率上限”,如果你再知道一个码元能携带几个比特(比如4个),奈氏和香农要结合着用。
数据链路层则是重头戏。首先要分清楚两个子层,虽然考试不直接考这个术语,但理解逻辑才能做题。
一个是封装成帧和透明传输。帧是什么?就是把网络层下来的数据包,加上头部(目的MAC、源MAC、类型)和尾部(FCS校验序列),形成一个可以在链路上传输的单元。透明传输解决的是“如果数据里出现了和帧边界标记一样的字节怎么办”的问题,解决办法有字节填充(面向字节的PPP)和比特填充(面向比特的HDLC)。
另一个是差错检测。你不需要会手算CRC,但必须知道CRC的思路:发送方把数据当成一个二进制多项式,除以一个生成多项式,把余数附在数据后面;接收方用同样的多项式去除收到的数据,如果余数为0,就认为传输没出错。这个机制只检错不纠错,出错就丢弃,交给上层重传。
以太网这一块,重点是CSMA/CD(载波监听多路访问/碰撞检测)。老题特别喜欢问:“以太网最小帧长度为什么是64字节?”这个背后是有计算的:以太网速率10Mbps,最大电缆长度约2500米,信号传播往返时间约51.2微秒,在这段时间内发送方必须能发送至少 10Mbps × 51.2μs = 512比特 = 64字节。为什么这么设计?因为发送方要保证在发送完整个帧之前能检测到冲突,如果帧太短,发送方已经发完了才收到冲突信号,它就没法确定这次发送到底成不成功。这种“为什么是64字节”的问题,比背一句“因为协议规定”有价值得多,因为面试官一听就知道你懂没懂。
2.2 网络层:IP地址的划分是送分题,也是送命题
网络层是“计算机网络一”里最容易拉开分差的一章。因为这里不仅有协议(IP、ARP、ICMP、路由协议),还有大量“算数题”(子网划分、CIDR、路由聚合)。
先搞定IP地址。IPv4地址是32位,分成了网络号和主机号。老分类(A/B/C类)在现在的实际网络中已经很少直接用,但考试还是爱考。A类第一个字节范围1-126,默认掩码255.0.0.0;B类128-191,默认掩码255.255.0.0;C类192-223,默认掩码255.255.255.0。注意,127网段是环回地址,不属于任何分类。
更重要的CIDR(无分类域间路由),它把“网络前缀+主机号”的表达方式变成“IP地址/前缀长度”。比如 192.168.1.0/26,意思是前26位是网络前缀,后6位是主机号。这种题目的核心操作是:把IP地址转成二进制,和掩码做“与”运算,得到网络地址;主机位全1是广播地址;可用主机数是 2^(主机位数) - 2(去掉网络地址和广播地址)。
子网划分的实战题也很典型:一个单位有C类地址 192.168.1.0/24,要划分成4个子网,每个子网能容纳多少台主机?答案取决于怎么划分,如果是平均划分,主机位要借2位给网络位,掩码变成 /26,每个子网有 2^6 - 2 = 62 台可用主机。但如果四个部门主机数分别是100、50、30、20呢?这就不能用平均划分了,要用变长子网掩码(VLSM):最大的部门先分 /25(128个地址,126可用),剩下 /25 再分 /26、/27、/27。这种题408考过,期末也考,面试偶尔问,一定要亲手算几道。
ARP这个协议很有意思,它解决的问题是“知道了对方的IP地址,怎么知道对方的MAC地址”。工作过程是:主机在局域网里广播一个ARP请求“谁是192.168.1.1?请告诉我你的MAC地址”,目标主机收到后单播回复。每台主机都维护一个ARP缓存表,过一段时间就清掉,因为网络拓扑会变。一个经典填空题是“ARP是第几层协议”——从封装上看,ARP报文直接封装在以太网帧里,不经过IP层,所以它是链路层协议,但它又为IP服务,经常让人纠结。考试一般说它是网络层协议,但你心里要知道它干活的地方在链路层。
路由协议这一块,重点是静态路由和动态路由的区别,以及RIP、OSPF两个动态协议的对比。RIP是基于距离向量的,它只跟邻居交换“到各网络的距离”,跳数最大15,16跳就不可达,适合小型网络。OSPF是基于链路状态的,每个路由器收集全网拓扑,用Dijkstra算法计算最短路径,收敛快,适合大型网络。面试爱问“静态路由和动态路由怎么选”,答案核心是:静态路由稳定、不占带宽、需要管理员手动维护,适合网络拓扑稳定的小型网络;动态路由自动适应拓扑变化,适合大网络,但会占用带宽和路由器CPU资源。
2.3 传输层:TCP是这门课的灵魂,值得多花时间
如果只允许我在“计算机网络一”里认真学一块,我选TCP。不仅因为它是考试重灾区,更因为它背后的每一个设计都是面试官问不完的素材。
先说三次握手。为什么是三次,不是两次也不是四次?核心目的:确保双方的“发送能力”和“接收能力”都正常,并且同步初始序列号。第一次握手,客户端发送SYN(seq=x),服务器收到后知道自己能收、客户端能发;第二次握手,服务器回复SYN+ACK(seq=y, ack=x+1),客户端收到后知道自己能发能收、服务器能发能收;但此时服务器还不知道自己的发送能力是否正常、客户端的接收能力是否正常,所以还需要客户端再回一个ACK。如果用两次,服务器无法确认“客户端能不能收到我的包”,万一第一个SYN重复到达,服务器还会白白建立两个连接。这里能讲出这个逻辑,比单纯背“为了确认序号同步”要更有说服力。
三次握手还有一个衍生考点:SYN Flood攻击。攻击者伪造大量源IP发SYN,服务器回SYN+ACK后等不回ACK,会一直维持半连接队列,耗尽资源。面试会问防御方案,常见的答案有:限制半连接数量、缩短超时时间、SYN Cookie。SYN Cookie的原理是:服务器收到SYN时不分配资源,而是把一些状态信息加密在序列号里回给对方,等收到合法ACK再分配资源。
四次挥手的过程我就不重复了,重点讲两个坑。
第一个坑是TIME_WAIT为什么要等2MSL(最长报文段寿命的2倍)。主动关闭方发出最后一个ACK后不能立刻关闭,要等2MSL,原因有两个:保证最后的ACK如果能被对方收到,对方进入CLOSED状态;如果ACK丢了,对方会重发FIN,主动关闭方还有机会在2MSL内重发ACK。第二个目的是让网络中属于自己的旧报文段全部消失,防止影响下一个使用相同端口的新连接。
第二个坑是“TCP和UDP的区别”这个题怎么答得高一级。普通回答是“TCP可靠、面向连接、字节流;UDP不可靠、无连接、数据报”。但你可以加一句:TCP的“面向字节流”意味着应用程序发送的数据会被TCP拆分成合适的报文段来发,接收方收到的字节流和发送方发送的字节流是一样的,但报文段之间的边界是TCP自己决定的;UDP的“面向数据报”则是应用层给一个报文,UDP原封不动地加个头部就发出去,接收方一次收一个完整的报文。这个区别直接决定了为什么TCP适合传输文件、网页,UDP适合实时音视频、DNS查询这种“要快、丢一点也无所谓”的场景。
TCP的流量控制和拥塞控制也是必考。流量控制用滑动窗口,解决“接收方来得及处理吗”的问题;拥塞控制用四个算法——慢开始、拥塞避免、快重传、快恢复,解决“网络扛得住吗”的问题。两者的核心区别在于:流量控制的窗口大小是接收方通告的(rwnd),拥塞控制的窗口大小是发送方自己维护的(cwnd)。慢开始的拥塞窗口从1个MSS开始,每轮次翻倍,指数增长;到达慢开始门限(ssthresh)后进入拥塞避免,线性增长;一旦出现超时,ssthresh减半,cwnd重置为1;如果是收到3个重复ACK(说明网络还没完全瘫痪,只是丢了一个包),走快重传+快恢复,ssthresh减半,cwnd直接设为新的ssthresh,而不是从1开始。这个机制我大学时背了好几遍都记乱,后来自己画了三张不同情况下的cwnd变化图,才算真的记住。强烈建议你也画一遍。
3. 教材、题库和视频课:不同目标怎么选
“计算机网络一”相关的学习资源非常多,但很多人的问题不是没资源,而是资源选错了,导致越学越乱。我按考试目标和用途给你分类梳理。
3.1 期末考 / 零基础入门:谢希仁《计算机网络》+ 湖科大教书匠
谢希仁的《计算机网络》(第八版)是国内高校用得最广的教材,“计算机网络一”这种课基本就是以它为蓝本。它的优点是语言相对通俗、例子多、层次清楚,适合入门和期末复习。缺点是部分知识点讲得比较浅,尤其是路由协议和TCP细节,想深挖就得结合其他材料。
和这本书配套的视频课,我最推荐湖科大教书匠的系列课。这位老师的课好在哪?把抽象的过程画成了动画,比如TCP三次握手、IP分片,看一遍动态过程比自己盯着书想象要高效得多。对于期末考的同学,我的路线是:先看湖科大教书匠的视频理解概念,再回来看谢希仁教材巩固重点,最后做课后题和往年期末题。关于“湖科大教书匠适合考408吗”这个问题,我的回答是:适合打基础,但不够。408的网络题越来越灵活,连选择题都在考理解,湖科大的课对于建立框架非常好,但深度上需要再用王道来拔高。
3.2 考研408 / 求职面试:王道计算机网络为主,谢希仁为辅
王道这套课是冲着考试去的,它把知识点按考点重新组织,配套习题也是按真题风格来的。如果你目标是408,主线直接用王道是效率最高的选择。看完一章王道视频,做对应习题,错题回到谢希仁那本书查细节。
408的网络部分一共25分左右(选择题+大题),大题经常出综合题,比如“给一个网络拓扑,让你划分IP地址、配置路由表、判断ARP和DNS的流程”,这种题你在王道里会练到很多。我建议把王道计算机网络至少刷两遍:第一遍建立知识框架,第二遍专攻错题和重点题型。
3.3 面试突击:看“八股文”整理 + 动手实验
面试和期末考试最大的区别是:面试官不会给你ABCD选项,他会让你“讲一讲”,还会追问“为什么”。这时候你需要的不只是知识,还有表达结构。我推荐一个方法:把所有高频面试题按“输入网址后发生了什么”这条主线整理成一个个小故事,每个协议的出现都要有原因。这个整理过程本身比背任何面试题都有用。
另外说一句,很多人考研之后觉得网络知识只是应付考试,但实际上去面试后端、运维、网络工程师岗位,计算机网络几乎是必问的。HTTP/1.1与HTTP/2的区别、TCP粘包问题、DNS解析过程、HTTPS握手流程,这些都是面试题中的爆款。所以复习的时候不要只盯着期末范围,要有“这门课以后还要用”的心态。
3.4 这几本教材的区别,一张表说清楚
| 教材 | 特点 | 适合场景 | 需要注意的点 |
|---|---|---|---|
| 谢希仁《计算机网络》第八版 | 国内经典教材,体系完整,语言通俗 | 高校课程学习、期末复习 | 细节深度有限,需配合习题 |
| 计算机网络:自顶向下方法 | 从应用层开始讲,案例多,重视“为什么” | 自学入门、理解网络思维 | 内容组织与国内课纲不一致 |
| 王道计算机网络 | 考点导向,习题质量高 | 考研408、校招笔试 | 纯应试,需要基础教材辅助理解 |
| 深入浅出计算机网络(高军) | 图文并茂,适合直观理解 | 零基础自学 | 覆盖面稍浅,不适合单独应对考试 |
| 计算机网络(第八版)中文版答案相关 | 只适合对答案 | 刷题核对 | 别把答案当教材读 |
注意,如果你的学校指定了第九版或自编教材,以学校范围为准,但核心知识点和下面要说的复习路线是完全通用的。因为“计算机网络一”这种课,万变不离其宗。
4. 实操复习路线:期末两周、408一轮、面试三天,分别怎么打
学网络最怕的就是“看了三章感觉自己懂了,一合上书什么都说不出来”。下面按不同时间目标给出可复制的复习路线。
4.1 期末冲刺两周计划:从零到及格,再到高分
先说明,这个计划的前提是你至少跟着课程听过几节课,不至于完全没见过太陌生的名词。如果真的是零基础裸考,时间加倍。
第1到3天:主攻分层模型、物理层、数据链路层。每天看湖科大教书匠对应章节视频(1.5倍速),再快速过一遍教材对应章节,完成课后选择题。这三天的任务以概念理解为主,不需要背字段,但要能画出五层模型、说出每一层的设备(集线器、交换机、路由器分别在第几层)。
第4到7天:主攻网络层。这是计算题的重灾区,子网划分、CIDR、路由聚合必须保证每天至少亲手算5道。算的时候要养成习惯:先把IP转成二进制,再画竖线表示网络位,最后写网络地址/广播地址/可用IP范围。考试时别心算,这种题步骤分很值钱。
第8到10天:主攻传输层。TCP三次握手、四次挥手、滑动窗口、拥塞控制,每一个都要能不看书画出状态图。建议自己动手把TCP状态转换图画一遍(可以不用画完全部状态,但ESTABLISHED、TIME_WAIT、LAST_ACK、CLOSED这些必须会标)。
第11到13天:主攻应用层(HTTP、DNS、FTP)和应用层以外的杂项(如网络安全基础)。DNS解析过程是高频题,一定要能说清楚“浏览器缓存→系统缓存→本地DNS服务器→根DNS服务器→权威DNS服务器”这条链。
第14天:做两套往年真题,按考试时间限时。做完之后不要只对答案,要把错题对应的知识点写在一张纸上,考前只看这张纸。
4.2 408一轮复习:用王道,但要会“三遍法”
408的网络部分不算难,但它喜欢出跨章节的综合题。一轮复习我推荐“看视频+做题+翻教材”三遍法。
第一遍:1.5倍速看王道视频,边看边在纸上记关键词。注意王道的讲义是简化的,视频里老师补充的“为什么”值得记下来,这往往就是考试时的理解题。
第二遍:做王道对应章节的选择题,错题标记出来。做的时候不要翻书,逼自己想。不会的题先跳过,最后统一看解析。
第三遍:把错题涉及的知识点回到谢希仁或自顶向下那本教材里找到原文段落,精读一遍。这一步很关键,因为网课的碎片化输入会导致你“知道结论,不知道推导”;教材原文能帮你把碎片串起来。
一轮复习的建议用时是3到4周,每天1.5小时左右。如果你只有两周,就把“三遍法”压缩成“两遍”:看视频+直接做错题标记+看错题解析,教材只看错题相关片段。
4.3 面试突击:三天时间怎么临时抱佛脚
如果距离面试只剩三天,我建议你放弃系统性复习,直接背“高频题故事线”。
建立一个文档,标题是“一个请求的旅程”,然后按顺序写:输入网址→DNS解析→TCP三次握手→HTTP请求→服务器处理→TCP/IP封装→路由转发→服务器响应→TCP四次挥手(或HTTP长连接)→浏览器渲染。每到一个环节,把可能被追问的八股写在旁边,比如DNS那里追问“DNS用TCP还是UDP”,TCP那里追问“为什么三次”,HTTP那里追问“GET和POST的区别”。
这个文档其实也是你面试时的“表达地图”。面试官问你任何一个网络问题,你都可以先定位到这条链路上,然后从前后文去回答,这样即使你忘了某个细节,也能说出个逻辑连贯的框架。
4.4 关于“计算机网络实践类课程”的处理建议
有热搜词提到了“计算机网络实践”和“课程设计”,我多说一句。很多学校的网络课除了理论考试,还要求做实验,比如用Cisco Packet Tracer搭一个校园网拓扑、配置VLAN、做静态路由和DHCP。这种实践作业的套路非常固定:
- 先画拓扑图,明确设备(PC、交换机、路由器)的接口和IP规划
- 给PC配IP,给交换机划分VLAN
- 路由器配接口IP,写静态路由或启用RIP/OSPF
- 测试连通性(ping通就算完成80%)
Packet Tracer(思科模拟器)是这类课最常用的工具,建议提前下载好,找个B站的“校园网搭建案例”视频跟着敲一遍命令。做实验时最常见的坑有三个:忘记开启路由器端口(默认是shutdown状态,需要敲no shutdown)、VLAN没划到对应接口、静态路由的下一跳IP写错。这三个坑占了实验报告返工率的八成,你先提前避开。
5. 我踩过的坑和解决思路:从“看到题就懵”到“见题有框架”
最后这部分,是我自己学网络时最真实的经历,希望你能绕开。
5.1 为什么我背了所有概念,做题还是不会
我大二学“计算机网络一”的时候,属于“上课认真记笔记型”,把教材上的黑体字几乎全抄了一遍,但一到做题就原地崩溃。后来我发现问题出在:我记的是“某个协议是什么”,而题目考的是“某个协议为什么出现在这里”。
举个例子。一道选择题:“主机A向主机B发送数据,过程中经过了两个路由器和一台交换机,请问交换机在转发数据时需不需要修改源MAC地址?”我当时选了“需要”,理由是“每次都重新封装数据”?实际上交换机的转发是透明传输,它只查MAC地址表做转发,不修改帧内容。路由器转发时才要把源MAC改成自己出口的MAC、目的MAC改成下一跳的MAC。这类题目如果没有“数据帧每经过一个路由器要重新封装”这个画面感,光靠背知识点真的做不对。
我的调整方法很简单:从此之后,每学完一章,我不看文字笔记,而是自己画一张“这一层的数据格式长什么样,到了下一层怎么变化”的示意图。画不出来,就说明没学透。
5.2 那些年我见过的“答非所问”
另一个典型问题是,不少同学在面试或考试里,把“TCP保证可靠传输的机制有哪些”答成了“TCP和UDP的区别”。这两个问题看着像,但答题角度完全不同。
“TCP保证可靠传输的机制”应该答:校验和、序列号、确认应答、超时重传、流量控制、拥塞控制。每一条最好补一句为什么:序列号用来去重和排序;确认应答和超时重传保证不丢;流量控制和拥塞控制保证不因网络过载而导致丢包。
“TCP和UDP的区别”则应该从连接、可靠性、传输方式、速度、应用场景这几个维度展开。我见过很多人在考场上把这两个问题答混,原因就是背的时候没有区分“这个问题的关键词是什么”。建议你在整理八股时,把问题本身也写上,不要只整理答案。
5.3 实验和抓包:手里过了才算真会
如果你条件允许,我非常推荐用Wireshark抓一次包,自己看一下TCP三次握手的实际报文长什么样。抓包操作特别简单:打开Wireshark,选一个网卡,访问一个网站,然后在过滤器里输入“tcp”,就能看到你所有TCP连接。找一条三次握手的记录,你会看到第一条是SYN,第二条是SYN+ACK,第三条是ACK,并且在报文详细信息里能看到seq和ack的具体数值。
这件事的威力在于:它把书上那些抽象的状态和标记符号变成了你看得见的真实数据。我在带新人时发现,凡是亲手抓过包的人,对TCP的理解深度明显高于只看书的人。哪怕你目前只是应付考试,也建议花15分钟做一次这个实验。
5.4 做题的复盘方法:错题本怎么记才有效
最后说一个所有科目通用的技巧,但网络课尤其适用:错题本不要抄题目,只写“错误原因+正确思路”。
比如一道关于子网掩码的题错了,你写“原因:把主机位的全0地址当成了可用地址;正确思路:网络地址和广播地址不可用”。这样复习的时候一眼就知道自己错在哪。我当时的错题本最后越写越薄,因为很多错误是有共同模式的:要么是“层不分”,要么是“地址算错”,要么是“协议用途记混”。
“计算机网络一”这门课,说难不难,说简单也绝对不简单。但只要你不贪多、不图快、按着“分层主线+故事线理解+动手练习”的路子走,拿到一个对得起自己努力的分数、面试时能讲出个所以然来,是完全做得到的。
