☰
计算机网络原理04741备考指南:分层模型、TCP/IP与核心考点全梳理
2026/10/18 23:52:14 网站建设 项目流程

1. 04741这门课到底在考什么:先搭起全局框架

说句实话,计算机网络原理这门课(就是代码04741那门)在自学考试里属于那种"看起来不难、背起来想哭、考起来到处是坑"的科目。很多人一开始抱着"网络不就是上网吗"的心态翻开教材,结果第一章就被各种协议、分层模型、PDU、MAC地址、IP地址砸得晕头转向。我当年备考时也走过不少弯路,后来把整本书的知识点重新梳理了一遍,才发现这门课其实有一条非常清晰的主线——只要把主线抓住,后面的所有细节都能挂上去,考试复习的效率至少能翻一倍。

这门课的核心目标,是让你理解计算机网络"是怎么工作的",而不是让你去记一堆孤立的名词解释。它考察的能力有三块:一是对网络体系结构的整体认知,二是对每一层核心协议工作机制的理解,三是运用这些知识解决实际问题的计算和分析能力。从历年真题的分布来看,分值占比最高的几个模块分别是:OSI/RM与TCP/IP体系结构、IP地址与子网划分、TCP协议的可靠传输与拥塞控制、数据链路层的差错控制,以及应用层的典型协议(HTTP、DNS、FTP、电子邮件相关协议等)。

所以在开始逐章背诵之前,我强烈建议你先做一件事:把教材目录从头到尾翻一遍,然后用一张纸画出"从应用层发出请求到对端收到响应"的完整路径图。比如你在浏览器输入一个网址,数据是怎么一步步被打包、加上各层头部、变成比特流在链路上传输,再到对端逐层解包的。这一步做完,整门课的骨架就立起来了,后面学任何一层都是在往骨架上面添肉,不会越学越乱。

这篇文章我就按我自己备考时的梳理思路,把04741的核心知识点做一次系统性的拆解。我不会照着教材目录念经,而是按"考试怎么考、知识点怎么串联、哪些地方最容易丢分"来组织,配合一些常考的例题和易混淆概念的对比。无论你是刚开始接触这门课,还是已经复习到后半段想查漏补缺,这篇梳理都能帮你把零散的知识点串成一张网。

2. 体系结构与分层模型:整门课的"脊椎骨",必须烂熟于心

2.1 OSI参考模型和TCP/IP模型到底差在哪

计算机网络原理的第一道坎,就是两套体系结构:国际标准化组织提出的OSI参考模型(七层)和实际使用的TCP/IP模型(四层或五层)。很多人在这一步就开始犯迷糊,因为不同教材画出来的图还不一样:有的画四层,有的画五层,考试时一旦问"某功能属于哪一层",答案就分不清了。

先说一下OSI的七层,从上到下依次是:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。TCP/IP模型如果按四层来算,是:应用层、传输层、网际层、网络接口层;如果按五层来算,通常是把网络接口层拆成数据链路层和物理层。自学考试04741的教材和真题,绝大多数情况下采用五层模型的表述,也就是:应用层、传输层、网络层、数据链路层、物理层。这个细节很重要,答题时你按五层来说,和三层、四层的说法相比,得分点覆盖更完整。

两套模型的核心差异,我总结成一句话:OSI是"理想化的理论框架",TCP/IP是"现实中的工业标准"。OSI把网络功能拆得特别细,表示层负责数据格式转换、加密解密,会话层负责建立和管理会话,但在实际互联网中这些功能往往被合并在应用层里实现。TCP/IP没有严格区分表示层和会话层,而是统一交给应用层处理。考试常考的一个点就是"各层的PDU名称",即协议数据单元在不同层的叫法——物理层叫比特流,数据链路层叫帧,网络层叫分组(或IP数据报),传输层叫报文段(TCP叫段、UDP叫数据报),应用层叫报文。这个知识点几乎每年都出现,背下来就是送分题。

2.2 各层的主要功能与典型设备、协议对照

这一块是选择题和简答题的高频地带,考法通常是"给出一个设备或协议,问它工作在哪个层",或者反过来"给出层次,让你列举该层的典型协议"。我把最常考的对应关系整理成一张表,建议你考前反复默写:

层次核心功能典型设备典型协议/技术
应用层为应用程序提供网络服务接口计算机上的应用软件HTTP、HTTPS、FTP、DNS、SMTP、POP3、Telnet
传输层端到端的可靠传输、流量控制、拥塞控制、复用分用网关(四层负载均衡)TCP、UDP
网络层逻辑寻址、路由选择、分组转发路由器、三层交换机IP、ICMP、ARP、RIP、OSPF、BGP
数据链路层物理寻址(MAC)、成帧、差错检测、介质访问控制交换机、网桥、网卡Ethernet、PPP、HDLC、CSMA/CD
物理层比特流的透明传输、定义电气与机械特性中继器、集线器编码技术、调制技术、复用技术

这里有一个特别容易踩的坑:集线器是物理层设备,交换机是数据链路层设备,路由器是网络层设备。很多人把交换机和集线器都归为"网络连接设备",一混就混错了。原因其实很好记:集线器只是把收到的比特信号原样广播出去,不关心帧的内容,所以它是物理层的;交换机会根据MAC地址进行帧的转发和过滤,所以它是数据链路层的;路由器根据IP地址进行路由选择和分组转发,所以它是网络层的。记不住的时候就想一句话——"集线器转发比特,交换机转发帧,路由器转发分组"。

另外再补充一个细节,ARP协议虽然用来把IP地址解析成MAC地址,但在OSI体系中它被归为网络层(也有教材说是数据链路层和网络层之间的辅助协议),考试按网络层答最稳妥。ICMP协议(ping命令就是基于它实现的)同样属于网络层,别因为它在应用层上跑就误认为是应用层协议。

2.3 数据封装与解封装的过程是理解全书的钥匙

数据封装(encapsulation)是理解网络通信最关键的一个动态过程,也是很多简答题和综合题的底层逻辑。用户在应用层产生一段数据(报文),向下传到传输层时,TCP或UDP会加上自己的头部(包含源端口、目的端口等),形成报文段;到网络层再封装一个IP头部(包含源IP、目的IP),形成IP数据报;到数据链路层再封装帧头和帧尾(包含源MAC、目的MAC和帧校验序列FCS),形成帧;最后物理层把帧转换成比特流发送到介质上。接收方则做完全相反的操作,逐层去掉头部,最终把原始数据交给应用程序。

我在复习时习惯自己动手画这个"俄罗斯套娃"的过程,把每层加的头部画成一个小方块,标清楚里面最重要的几个字段。画过两三遍之后,很多题瞬间就通了——比如问你"在传输过程中,IP地址和MAC地址分别在什么时候变化",就能很容易理解:IP地址在端到端传输中基本保持不变(除非经过NAT),而MAC地址在每个链路段的转发过程中都会改变,因为每一跳链路的源和目的都不同。这个细节在路由器转发分组的题目里特别常考。

还有一个高频考点是各层的"地址"概念:物理层没有地址概念,数据链路层用MAC地址(48位,前24位是厂商编号,后24位是设备序列号),网络层用IP地址(IPv4是32位),传输层用端口号(16位,范围0~65535)。分清这四种标识符各自的作用范围,是解决"谁在哪一层找谁"这类题目的前提。

3. 物理层与数据链路层:传输的"地基"和"纠错员"

3.1 物理层的编码、调制与复用,记住关键公式就行

物理层在考试中的占比不算高,但它有几个固定的"算数考点",拿分很轻松。第一个是奈奎斯特准则和香农公式。奈奎斯特准则算的是无噪声信道下的极限数据传输速率:C = 2W·log₂V(比特/秒),其中W是信道带宽(单位Hz),V是信号电平的种数。香农公式算的是有噪声信道下的极限数据传输速率:C = W·log₂(1 + S/N),其中S/N是信噪比,注意信噪比题目里通常给的是分贝值,要先用公式 S/N(dB) = 10·lg(S/N) 转换成数值再代入。

我举个例子帮你记住这两个公式的区别:比如一条带宽为3000Hz的信道,信噪比是30dB。先用转换公式算出S/N = 10³ = 1000,然后代入香农公式 C = 3000·log₂(1+1000) ≈ 3000×9.97 ≈ 29910 bps。考试时如果题目没有给电平种数,就直接用香农公式;如果给了V和带宽、又没说噪声,就用奈奎斯特准则。很多人在这一步换算分贝时出错,我建议你考前专门练几道这种题,把"dB转倍数"练成肌肉记忆。

第二个常考点是复用技术。频分复用FDM、时分复用TDM、统计时分复用STDM、波分复用WDM,这几个概念要能区分。考试喜欢考的是:TDM是"固定分配时隙,不管有没有数据都要占用",所以浪费带宽;STDM是"按需分配时隙",效率更高;FDM是把不同频率分配给不同用户,大家同时在线但各自用各自的频段;WDM本质上就是光纤上的频分复用,波长不同而已。另外码分复用CDMA也偶尔出现,记住它的核心特点:多个用户共享同一频段,靠不同码片序列区分,且码片序列相互正交。

3.2 数据链路层的三个基本功:封装成帧、差错检测、可靠传输

数据链路层在04741里的重要性远高于物理层,因为它涉及差错控制和流量控制两大块高频考点。首先是封装成帧,考点是帧定界方法:字节计数法、字符填充法、比特填充法(零比特填充)。PPP协议用的就是字节填充加零比特填充的组合,HDLC协议用零比特填充——连续传5个1后插入一个0,防止数据中出现和帧标志符(01111110)相同的比特组合。这个"逢五零填充"的规则,简答题考过很多次,必须能默写出来。

其次是差错检测,主要掌握两种:奇偶校验码和CRC循环冗余校验。奇偶校验只能检测奇数个比特错误,能力很弱,考试一般只考概念。CRC是重头戏,考法通常是给你一个数据串和一个生成多项式,让你算CRC校验码。计算步骤是:先在数据串后面补生成多项式最高次数个0,然后用这个新串除以生成多项式对应的二进制数(模2除法,即异或运算),得到的余数就是CRC校验码,最后把余数拼到原数据后面一起发送。模2除法里没有借位,加减法都是异或,这一点容易和普通除法混淆,实际做几道题就熟了。

第三个是可靠传输机制,这也是简答题和综合题的最爱。背靠背的三个协议必须分清:停止-等待协议(发送一帧等确认,收到确认再发下一帧)、后退N帧协议GBN(发送窗口大于1,出错了就回退重传出错帧及其之后的所有帧)、选择重传协议SR(只重传出错的帧)。考试喜欢让你算信道利用率和吞吐率,比如停止-等待协议的数据传输速率 = 数据帧长度 ÷ (发送时间 + 往返传播时间 + 确认帧发送时间)。这类题的套路是先算出单个帧的发送时延、传播时延,再代入公式。

3.3 CSMA/CD和以太网:背熟争用期、最短帧长和退避算法

以太网的介质访问控制协议CSMA/CD(载波监听多路访问/冲突检测)几乎是每年必考,而且喜欢出计算题。核心逻辑是"先听后发、边发边听、冲突停发、随机重发"。要掌握几个关键数值和公式:

  • 争用期(冲突窗口)= 2 × 端到端传播时延,也就是说从发送开始,到2倍传播时延的这段时间内都可能检测到冲突。
  • 最短帧长 = 争用期 × 数据传输速率。10Mbps以太网的最短帧长是64字节(512比特),争用期就是512比特时间。这个64字节的数值经常直接作为常识考。
  • 截断二进制指数退避算法:发生冲突后,从[0, 2^n - 1]中随机取一个数r(n是冲突次数,n≤10),然后等待 r × 争用期 的时间再重发。n超过16次仍冲突就丢弃该帧并向上层报错。

我当年复习时总记混"最短帧长和争用期的关系",后来我用一句话自创记忆法:"争用期是你判断是否撞车的时间窗口,最短帧长是确保窗口内能发现撞车的最小体型"。如果帧太短,发完了还没到争用期,冲突发生了也检测不到,所以才要规定最小长度。用这个逻辑去理解64字节的规定,比死记硬背管用很多。

4. 网络层:IP地址、子网划分与路由协议,占分最重的一块

4.1 IPv4地址结构与子网划分,必须练到手起刀落

网络层是04741里分值最高、题型最多的一章,其中子网划分基本每年必出大题,一旦算错,后面的分全丢了,所以这一块值得花最多的时间反复练习。

IPv4地址是32位的,用点分十进制表示,分为A、B、C、D、E五类。A类第一字节范围1~126,默认掩码255.0.0.0;B类128~191,默认掩码255.255.0.0;C类192~223,默认掩码255.255.255.0。还要知道几个特殊地址:127.0.0.1是回环地址,主机号全0是网络地址,主机号全1是广播地址,169.254.x.x是自动配置地址(DHCP失败时用)。这些特殊地址在选择题里反复出现。

子网划分的核心运算分三步。第一步,把IP地址和子网掩码都转成二进制;第二步,对IP地址和掩码做"与"运算(1和1得1,其他都得0),得到的结果就是网络地址;第三步,根据掩码中1的个数确定子网范围,主机位全0是子网地址,全1是该子网的广播地址。举个例子:IP地址192.168.10.35,子网掩码255.255.255.224。掩码最后一段224对应二进制11100000,说明前27位是网络位、后5位是主机位。把35转成二进制是00100011,与11100000做与运算得到00100000,即32,所以该主机所在的子网是192.168.10.32,可用主机地址范围是192.168.10.33到192.168.10.62(63是广播地址,因为00111111全1),可用主机数量是2⁵ - 2 = 30个。

再补充一个高频考点:CIDR无类域间路由,写法是"IP地址/前缀长度",比如192.168.10.0/27。考试会让你做路由聚合(路由汇总),把多个连续子网合并成一个,方法是找到这些子网的最长公共前缀,前缀长度就是聚合后掩码的位数。比如192.168.10.0/24、192.168.11.0/24、192.168.12.0/24、192.168.13.0/24这四条路由,公共前缀是192.168.0.0/22,即202.168.0.0的前22位。这类题只要理解了"公共前缀"四个字,其实不难,但每年都有大量考生把边界算错,我建议用"把最后一个不同的字节展开成二进制"的方法来核对。

4.2 路由协议的三兄弟:RIP、OSPF、BGP,各管一段

路由协议的选择题和简答题也是高频。先把三兄弟的适用范围记清楚:RIP是内部网关协议,基于距离向量算法,以跳数作为度量,最大跳数15,适合小型网络;OSPF也是内部网关协议,基于链路状态算法,以带宽等作为代价,收敛速度快,适合中大型网络;BGP是外部网关协议,用于不同自治系统AS之间的路由,基于路径向量算法,考察的是可达性而非最优路径。

我在复习时最喜欢用类比来记这三个协议:RIP就像一个"只听邻居转述"的人,每个人都告诉邻居"我能到哪儿、要走几步",信息靠跳数逐跳传递,所以它不知道全网的完整拓扑,也容易产生路由环路(要用毒性逆转、水平分割来防);OSPF则像"每个人都掌握全网地图"的人,路由器之间通过洪泛交换链路状态信息,每台路由器都自己算出全网最短路径树,所以没有环路问题、收敛快;BGP更像"各大快递公司之间的合作协议",它不管快递在你公司内部怎么送,只管两个公司之间在哪个网点交接包裹,所以它关心的是AS间的可达路径和策略。

考试还常考RIP的更新机制:每30秒广播一次完整路由表,距离相等时等价负载均衡,收到新路由后如果下一跳相同则无条件更新,如果不同则比较距离、取较小者。我见过不少真题在简答题里让你描述RIP路由信息更新规则,这几个条件必须逐条写全。

4.3 ARP、ICMP、NAT和IPv6:网络层的"辅助选手"

除了IP协议本身,网络层还有几个辅助协议需要掌握。ARP协议用来把IP地址解析成MAC地址,它的工作机制是:主机先查自己的ARP缓存表,没有就广播ARP请求("谁的IP是x.x.x.x,请把你的MAC地址告诉我"),目标主机单播回ARP应答,发送方收到后缓存起来。这个"先广播后单播"的动作常考。ICMP协议用于差错报告和网络诊断,ping命令发送的是ICMP回显请求和回显应答报文,Traceroute利用的是ICMP超时差错报告报文。

NAT(网络地址转换)和NAPT(网络地址端口转换)也是常考点。NAT做的是IP地址的映射,NAPT则把内网主机的"IP+端口"映射到公网"IP+端口",让多个内网主机共用一个公网地址。应用层协议FTP在NAT环境中有个著名的坑——它的数据连接是动态协商端口的,所以传统NAT下FTP经常出问题,需要ALG(应用层网关)来辅助,这个知识点偶尔会以选择题形式出现。

IPv6的内容近几年在真题中出现频率明显上升,重点记住:IPv6地址长度128位,用冒号十六进制表示,支持零压缩(连续零段用::表示,但只能压缩一次),取消了广播地址,改用组播和任播,不需要NAT就能做到端到端全球寻址。IPv4向IPv6的过渡技术有双栈技术、隧道技术和翻译技术,各是什么含义要能说清楚。

5. 传输层:TCP和UDP的灵魂对比,可靠传输与拥塞控制全拆解

5.1 TCP与UDP:不只是"可靠"和"不可靠"的区别

传输层在04741里的地位和网络层并列,是简答题和综合题的重灾区。TCP和UDP的对比是送分题,但很多人的答案不完整。除了最基本的"TCP面向连接、可靠、面向字节流、有流量控制和拥塞控制;UDP无连接、不可靠、面向报文、没有拥塞控制"之外,还应该补充:TCP只支持单播,UDP支持单播、组播和广播;TCP头部最小20字节,UDP头部固定8字节;TCP有确认机制、重传机制、按序交付,UDP不保证按序到达。端口方面要记住一些固定端口:HTTP用80、HTTPS用443、DNS用53(TCP和UDP都可用)、FTP的控制连接用21、TFTP用69、SMTP用25、POP3用110、Telnet用23。这些端口号每年选择题必出一个,必须背熟。

TCP建立连接的三次握手和释放连接的四次挥手,是简答题和判断题的常客。三次握手的要点:客户端先发SYN=1、seq=x的报文段,服务器回SYN=1、ACK=1、seq=y、ack=x+1,客户端再回ACK=1、seq=x+1、ack=y+1,连接建立。为什么必须是三次而不是两次?因为要防止已失效的连接请求突然又到达服务器,导致服务器建立空连接浪费资源。四次挥手的要点:主动关闭方发FIN,被动方回ACK,然后被动方再发FIN,主动方回ACK,等待2MSL后连接才彻底关闭。这里的2MSL(两倍最大报文段生存时间)是为了确保最后一个ACK能到达对方,同时让旧报文段在网络中自然消失。

5.2 TCP可靠传输的四大机制:确认、重传、流量控制、拥塞控制

TCP的可靠传输机制是必考大题的素材库。首当其冲的是滑动窗口协议,TCP的发送窗口由接收方通告的接收窗口rwnd和拥塞窗口cwnd共同决定,实际发送窗口 = min(rwnd, cwnd)。第二个是超时重传和冗余ACK,发送方在超时计时器到期后未收到确认就重传,或者收到三个连续的重复ACK就快速重传。

流量控制和拥塞控制经常有人混为一谈,我在复习时总结了一句区分口诀:"流量控制管的是'你吃不吃得下',拥塞控制管的是'路上堵不堵'"。流量控制用接收窗口rwnd告诉发送方"我的接收缓存还剩多少",防止发送方把接收方淹没;拥塞控制是发送方自己探测网络负载,判断网络是否拥塞。考试最常考的拥塞控制算法有四个:慢开始(cwnd从1开始,每轮翻倍,指数增长)、拥塞避免(cwnd线性增长,每轮加1)、快重传(收到3个重复ACK立即重传)、快恢复(把慢开始门限ssthresh降为当前cwnd的一半,然后从新的ssthresh开始做拥塞避免)。这里有个细节经常出题:慢开始的"慢"不是增长慢,而是初始值小;以及拥塞窗口是"按收到确认的轮次"增长的,不考虑单个ACK的累计确认。

我建议把拥塞控制画成一张"cwnd随时间变化"的折线图来复习,标出哪个阶段是慢开始、哪个阶段是拥塞避免、哪里发生超时后ssthresh变为一半、哪里发生三个重复ACK后进入快恢复。画过这张图,选择题里那种"当前cwnd是16,发生超时后ssthresh和cwnd各是多少"的题,基本就不会错了。

5.3 TCP报文段头部字段的"重点扫描"

TCP头部虽然理论上要掌握20字节的标准字段,但考试真正高频的字段就那么几个:序号seq(字节流中第一个字节的编号)、确认号ack(期望收到对方下一个报文段的序号,注意ack是"期望的下一个序号",不是已确认的最后一个序号)、SYN(同步标志)、FIN(释放连接)、ACK(确认有效)、窗口大小(接收方通告的rwnd)。有一个经典陷阱题:问"如果收到一个TCP报文段,序号为100,确认号为300,载荷100字节,则接收方期望的下一个报文段的首字节序号是多少?"答案是200还是301要看是发送方还是接收方视角,这类题需要在草稿纸上把序号和确认号的关系画清楚再答,千万不要心算。

5.4 UDP的典型应用场景

UDP虽然被很多人认为是"考试配角",但它的应用场景这块每年都有分:DNS查询(用UDP 53,因为查询响应都很短,不需要连接开销)、DHCP动态主机配置(用UDP 67/68)、TFTP简单文件传输(用UDP 69)、RTP实时传输协议(音视频流)、SNMP网络管理(用UDP 161/162)。记住这些的意义在于,论述题里如果问"为什么直播视频用UDP而不用TCP",你要能答出:TCP的拥塞控制和重传机制会导致延迟增大,视频流允许偶尔丢包但不允许卡顿,所以UDP更合适。

6. 应用层协议串讲:DNS、HTTP、FTP与电子邮件,一个故事全记住

6.1 DNS域名解析:把网址变成IP的神秘翻译官

应用层在04741里占比中等,但DNS和HTTP是重复出现的大热门。DNS的核心考点是层次结构:根域名服务器、顶级域名服务器(如.com、.cn)、权威域名服务器(如某个单位自己的域名服务器),以及本地域名服务器。域名解析有两种方式:递归查询和迭代查询。我推荐用"你在公司问人"的类比来记:递归查询是"你问主管,主管帮你层层追问,最后把答案带回来给你";迭代查询是"你问主管,主管告诉你'你自己去问经理',你再去找经理,经理说'你自己去问总监'",你自己跑完全程。

解析流程的完整描述一般这样写:主机先把查询发给本地域名服务器,本地服务器先查自己的缓存,如果没有,就向根服务器发起迭代查询,根服务器返回顶级域服务器地址,本地服务器再向顶级域服务器查询,顶级域返回权威服务器地址,最后本地服务器向权威服务器查询,得到IP后返回给主机并缓存。选择题经常问"谁发起递归查询、谁负责迭代",答案是主机的请求是递归的,本地域名服务器向根及以上发起的查询是迭代的(本地服务器替主机递归,自己却迭代)。

DNS还有一个考点:它同时使用TCP和UDP的53端口,但普通查询用UDP,区域传送(主从服务器同步数据)用TCP——因为区域传送的数据量大,需要可靠传输。

6.2 HTTP协议家族:请求方法、状态码、持久连接的演化

HTTP的考点集中在几个方向。第一是HTTP的工作过程:基于请求/响应模型,默认端口80,使用TCP作为传输层协议。第二是请求方法:GET(获取资源)、POST(提交实体)、HEAD(只获取响应头部)这几个最常考,PUT、DELETE、OPTIONS也有小概率出现。第三是状态码分类:1xx信息、2xx成功(200 OK最常见)、3xx重定向(301永久重定向、302临时重定向)、4xx客户端错误(404找不到、403禁止访问)、5xx服务器错误(500内部错误、503服务不可用)。状态码的背法我建议按"1开头继续、2开头成功、3开头换地方、4开头你错了、5开头我错了"来记。

第四是HTTP版本的演进:HTTP/1.0是非持久连接,每个对象都要新建TCP连接;HTTP/1.1默认持久连接(Keep-Alive),一个TCP连接可以传送多个对象,还引入了流水线机制;HTTP/2实现了多路复用、头部压缩、二进制分帧。真题偶尔会问你"HTTP/1.1相比HTTP/1.0的主要改进",答出持久连接、流水线、Host字段、断点续传支持这几个点就能拿分。另外HTTPS是HTTP加上TLS/SSL,默认端口443,这个对比也是选择题常客。

6.3 FTP与电子邮件:两个"老熟人"的细节别忘了

FTP的考点很固定:它使用两个并行TCP连接——控制连接(21端口,传输命令)和数据连接(20端口,传输文件数据),控制连接在整个会话期间保持,数据连接在每次传输时新建。FTP的主动模式(PORT)和被动模式(PASV)的区别偶尔会考:主动模式由服务器发起数据连接,被动模式由客户端发起数据连接。NAT环境下的FTP问题就在我们之前提到的ALG知识点里。

电子邮件的协议串是:发送邮件用SMTP(简单邮件传输协议,25端口,推协议),接收邮件用POP3(110端口)或IMAP(143端口),邮件格式用MIME(多用途互联网邮件扩展,解决SMTP只支持ASCII文本的问题)。这里常考的点是:SMTP负责把邮件从客户端推到邮件服务器,也负责邮件服务器之间的转发;POP3/IMAP负责把邮件从服务器拉到客户端。三者的"推"和"拉"方向不能搞混,很多人在这里丢分。如果题目问"某用户用浏览器查看邮件",那么涉及的协议还包括HTTP,这是Web Mail的模式。

7. 必考计算题的通用套路:把"送分题"变成真正的分数

7.1 时延计算的"三兄弟":发送时延、传播时延、往返时间

04741里的计算题,说穿了就那么几类,我把它们总结成一套"通用工具箱",考前把这些公式练熟,考场上的计算题基本都能拿下。第一类是时延计算,包括发送时延(传输时延)= 数据帧长度 ÷ 信道带宽,传播时延 = 信道长度 ÷ 信号传播速率(电磁波在铜缆/光纤中大约2×10⁸ m/s),以及排队时延和处理时延(一般题目不会深究,默认忽略)。总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延。注意单位的统一:带宽单位是bps(比特/秒),数据长度单位是比特,不要把字节和比特弄混,这是计算题第一大坑。

7.2 信道利用率和吞吐率:停止-等待协议与滑动窗口协议的计算

第二类是信道利用率的计算。停止-等待协议的信道利用率公式是 U = 发送时间 ÷ (发送时间 + 传播时延×2 + 确认帧发送时间)。如果题目给了传播时延和帧长、带宽,先算出每部分时间,再代公式。滑动窗口协议的信道利用率则是 U = 发送窗口大小 × 发送时间 ÷ (发送时间 + 往返传播时延)。举个例子:带宽1Mbps,帧长1000比特,传播时延50ms,停止-等待协议的信道利用率是多少?发送时间 = 1000/10⁶ = 1ms,RTT = 100ms,所以 U = 1/(1+100) ≈ 0.99%。做完这道题你会发现停止-等待协议效率有多低,这就是为什么要引入滑动窗口。

为了帮助记忆,我把计算题里最常考的公式和易错点整理如下:

场景公式/关键点易错点
奈奎斯特准则C = 2W·log₂VV是电平种数,不是码元数
香农公式C = W·log₂(1+S/N)信噪比分贝要换算成数值
CRC校验模2除法求余数除法是异或,无借位
最短帧长2×传播时延×带宽注意单位换算
子网划分网络位定子网,主机位全0/全1分别给子网地址和广播地址可用主机数要减2
停止-等待利用率发送时间/(发送时间+2×传播时延)别忘确认帧时间
TCP拥塞控制超时把ssthresh减半、cwnd归1;快恢复cwnd设为ssthresh慢开始是从1开始

还有一个经典考点是"数据传输速率的极限和实际吞吐率"的区别。香农公式算出来的是极限值,实际系统不可能达到,真实吞吐率还要看窗口大小、确认机制和丢包重传率。真题如果问"某网络最大吞吐率是多少",通常给窗口大小W和RTT,答案是 吞吐率 ≤ W×帧长 ÷ RTT。这类题多用"带宽延迟积"的思路——链路中最多能容纳的比特数 = 带宽 × 往返时延,窗口大小至少要等于带宽延迟积,才能让信道始终有数据在传,这是理解TCP窗口设置的根本逻辑。

8. 考前冲刺:把高频考点串成"一张网",避开最常见的丢分点

8.1 高频考点自测清单:先检验再看书

临近考试时,我习惯用一份"考点自测清单"来自查,方法很简单:只看清单上的问题,不看答案,如果能用口头语言流畅地讲出要点,就说明这部分过关了。我把备考期间整理的清单分享出来,你可以按这个列表逐项过:

  • OSI七层和TCP/IP五层的对应关系?各层PDU的名称?各层典型设备?
  • 奈奎斯特准则和香农公式的适用条件和计算步骤?
  • CRC校验的模2除法整个过程能不能手算出来?
  • CSMA/CD的工作流程、争用期、最短帧长的关系?
  • 停止-等待、GBN、SR三种协议的窗口机制和效率差异?
  • IP地址分类、子网划分、CIDR聚合三步走?
  • RIP和OSPF的算法、度量、防环机制的区别?
  • TCP三次握手和四次挥手的过程和原因?
  • TCP流量控制和拥塞控制的区别?慢开始、拥塞避免、快重传、快恢复各自的触发条件?
  • DNS递归与迭代查询的完整过程?
  • HTTP状态码分类?FTP的双连接模型?SMTP/POP3/IMAP的分工?

每一条如果能不看书写出至少三句话,才算过关。如果哪条卡住了,就回到对应的章节重点补,而不是从头到尾把书翻一遍——复习到后期,效率最重要。

8.2 简答题的"踩分点"写法:分条、分点、带协议名

04741的简答题给分是按点给的,阅卷时踩点得分,所以答题方式直接影响分数。我的经验是:简答题一定分条作答,每条先写结论再写解释,能带协议名或字段名就尽量带。举个例子,问"TCP是如何实现可靠传输的",如果你只写"TCP有确认机制",只能拿一分;如果你写"①确认机制:接收方收到数据后返回ACK确认号;②超时重传:发送方启动计时器,超时未收到ACK就重传;③滑动窗口:通过序号和确认号实现按序交付;④流量控制:接收方通过rwnd限制发送速率;⑤拥塞控制:通过慢开始、拥塞避免、快重传、快恢复适应网络状态",五条踩分点就全了。

还有一个小技巧:简答题里涉及"过程"的题(比如三次握手、ARP工作过程、DNS解析流程),一定要按"第一步、第二步、第三步"的时序写,并且在关键步骤里写明关键字段(比如SYN、ACK、seq、ack的值)。平时练习时,把真题的参考答案抄一遍,研究它怎么用最少的字命中得分点,比自己瞎写十遍管用。

8.3 我个人踩过的三个坑,希望你绕开

第一个坑是混淆"数据报"和"报文段"。我在一次模拟考里把网络层的PDU写成了"报文段",正确答案是"分组/IP数据报"。这个错误非常低级,但因为很多教材在不同章节用词不统一,导致我记混了。考前的自查清单里专门加上"每层PDU名称"这一条,亲测有效。

第二个坑是子网划分时忘了扣除广播地址和网络地址。计算可用主机数时,2^n - 2的"减2"很容易漏。尤其是题目问"这个子网最多能容纳多少台主机",答案是30的题我见过有人答32,这不是不会算,而是粗心。我的习惯是每道子网题做完都回查一遍:子网地址、广播地址、首可用地址、末可用地址,四个值全部标出来,绝不心算。

第三个坑是TCP拥塞控制和流量控制的触发条件记反。流量控制是接收方通过rwnd字段主动通告的,拥塞控制是发送方自己通过超时或重复ACK判断的。考试题里如果出现"接收方缓存溢出",那是流量控制问题;出现"网络丢包率上升",那是拥塞控制问题。把这个判断逻辑刻在脑子里,选择题连蒙带排除都能对一半以上。

8.4 最后分享一个"串联记忆法"

整门课的知识点很多,如果一段段孤立地背,忘得特别快。我备考时的做法是"用一次完整的网络访问把所有协议串起来":你在浏览器里输入 www.example.com 并按下回车——首先,DNS解析(应用层,UDP)把域名变成IP;然后,浏览器与服务器建立TCP连接(传输层,三次握手);接着,HTTP请求被封装成报文段、IP数据报、帧(层层封装);数据经过路由器转发(网络层,查路由表、ARP解析下一跳MAC);服务器收到后逐层解封装,返回HTTP响应(状态码200);如果传输过程中丢包,TCP的确认重传机制悄悄地把数据补回来;视频聊天时,UDP和RTP保证低延迟。把这条链路完整讲一遍,等于把整本书的百分之七十都复习到了。

我到现在都很怀念那段备考的日子,说白了这门课学的不是"怎么上网",而是一套理解一切网络现象的思维框架。你现在觉得那些协议、字段、公式又多又乱,但只要你把分层的"脊椎骨"立起来,把TCP、IP两个"主角"的工作机制吃透,剩下的都是往里填充的细节。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询