简介:《计算机网络》期末复习资料是西安电子科技大学面向计算机及相关专业本科生整理的考前速记与习题解析PDF,适配期末备考与查漏补缺场景。资料以问答形式覆盖课程高频考点,包括计算机网络概述、分组交换、电路交换与报文交换的对比、网络发展四阶段、因特网标准制定流程、internet与Internet的区别、网络分类、主干网与接入网差异,并给出了分组交换时延比较及最优分组长度等典型计算题的推导过程。每个问题均附有简明答案,便于背诵和快速回顾。通过这份单一PDF,学习者可快速搭建知识框架,结合易错点解析深化对三种交换技术、OSI模型背景等重点内容的理解,特别适合期末集中复习或考前冲刺查阅。资源包共1个PDF文件,大小约214KB,轻巧便携,目前已有1420人在CSDN浏览学习。

1. 计算机网络期末复习资料,先想清楚它该帮你解决什么

复习计算机网络这门课,最怕的不是看不懂,而是教材章节太多、协议太碎,看完后面忘前面。这份深圳大学期末复习资料的价值,不在于替你录了一遍网课,而在于把路由算法、拥塞控制、链路层差错检测这些高频考点压缩成可执行的复习路径——尤其是西电的期末题,选择题喜欢考概念辨析,大题一定会出现子网划分或CRC计算这类数值题。做过两年行业培训后我的经验是:先建立整本教材的知识骨架,再针对每章的必考题型做专项训练,比反复翻PDF效率高得多。这里我从备考视角做一次系统梳理,覆盖理论辨析、计算题套路、抓包验证和冲刺自测四个环节。

2. 计算机网络复习主干:分层模型、协议栈与考点对照

西电的计算机网络课程以谢希仁版教材为主线,章节安排基本按“概述→物理层→数据链路层→网络层→传输层→应用层”推进。期末复习的第一件事,是把这张分层图刻进脑子里。常见做法是拿一张A4纸,手动默写每一层的名称、PDU、核心协议与典型设备,默写完再对照复习资料里的知识点清单修正。下面是各层考查重点的对照表,建议直接贴到复习材料首页。

2.1 OSI七层与TCP/IP四层对照,先默写再查漏

2.1.1 分层对照表与记忆锚点
层次 PDU 核心协议/技术 典型设备 期末常考点
物理层 比特 编码、调制、复用 中继器、集线器 奈奎斯特公式、香农公式
数据链路层 帧 Ethernet、PPP、CSMA/CD 交换机、网桥 差错检测、最小帧长
网络层 数据报 IP、ICMP、ARP、OSPF、RIP 路由器 子网划分、路由算法
传输层 报文段 TCP、UDP 四层网关 三次握手、拥塞控制
应用层 报文 HTTP、DNS、FTP、SMTP 无 端口号、域名解析

TCP/IP四层模型把OSI上三层合并为应用层,物理层与链路层合并为网络接口层。这个合并不是简单叠加,而是视角转变:TCP/IP更关注端到端连通性,对底层用什么介质不敏感。答题时如果题目问“TCP/IP协议栈有几层”,按四层回答;问“某协议属于哪一层”,按协议实际工作位置答,不要机械套模型结构。

2.1.2 高频混淆点与辨析方法

期末题最容易设坑的是协议归属。ARP工作在网络层与链路层交界处,它把IP地址解析成MAC地址;ICMP封装在IP数据报里,但它属于网络层协议;ping命令能通只代表ICMP执行正常,不能推断TCP链路完全健康。这类辨析要结合封装顺序来记:HTTP→TCP→IP→Ethernet,数据逐层加头,接收方逐层拆头。复习资料里如果画了封装关系图,值得花时间把它默画两遍,画不出来的格子就是遗忘区。

提示:ARP、ICMP的层次归属各版本教材有微调,以授课PPT的归类为准,复习时先确认考点被划在哪个章节。

2.2 每章核心考点切片,把教材压缩成知识卡片

2.2.1 物理层与链路层的考点切片

物理层计算题集中两个公式。奈奎斯特公式描述无噪声信道下的极限数据率,2W log2 M,M是码元状态数;香农公式描述有噪声信道下的极限数据率,W log2(1+S/N),题干给信噪比分贝值时先换算成功率比值再代入。链路层标志性计算是CSMA/CD的最小帧长,最小帧长=2×单程传播时延×数据率。为什么必须乘以2?因为发送方要检测到最远端的冲突,需要等待信号来回一趟,这个物理约束直接决定了以太网帧长不能小于64字节。

2.2.2 网络层与传输层的考点切片

网络层必须掌握IP数据报分片,片偏移以8字节为单位,原始数据长度除以8取整后才能填入偏移字段。RIP距离向量和OSPF链路状态要能手工推两轮迭代,考场上给一张初始路由表,按Bellman-Ford逐轮更新。传输层的重点是TCP序号与确认号语义,累计确认下确认号表示期望收到的下一个字节序号。UDP不可靠却被音视频流大量使用,原因在实时性,重传引入的延迟对实时音视频不可接受,这个取舍辨析经常出现在简答题里。

2.2.3 应用层考点:从DNS解析到HTTP语义

应用层出题偏记忆,但也有固定套路。DNS解析过程要写清楚递归查询与迭代查询的差异,本地域名服务器的介入时机是考点。HTTP重点在持久连接与非持久连接的RTT开销对比:请求一个含n个对象的网页,非持久连接需要n次连接建立,持久连接只需1次TCP握手就能复用。状态码2xx成功、3xx重定向、4xx客户端错误、5xx服务端错误,选择题经常让判断错误描述。用命令验证网络层TTL行为,也能加深对IP头中生存时间字段的记忆:

# traceroute默认发送UDP探测包,每经过一台路由器TTL减1
# 返回ICMP超时报文后打印该跳地址,-n不做域名反解节省时间
traceroute -n 10.0.0.1

输出的每一跳都对应IP数据报TTL逐跳递减的过程,教材上“报头长度+TTL”字段的抽象描述看到实际数据才有直观印象——TTL不是概念,是一个每次经过路由器都会变化的计数字段。

3. 计算机网络必考计算题:CRC、子网划分与TCP拥塞控制

计算机网络期末试卷的计算题通常占30到40分,题型高度固定。把下面三条路径练熟,考场上基本不需要现场推导公式。这个思路对备考考研科目中的计算机网络同样适用,408统考的计算题风格与本校期末大体一致,只是给出的参数更综合。

计算题类型 核心公式 常见失分点
奈奎斯特 2W log2 M 混淆有无噪声条件
香农 W log2(1+S/N) 分贝与功率比换算
CSMA/CD最小帧长 2τ×数据率 忽略端到端双向时延
CRC 模2除法 余数补0与首一对齐
子网划分 2^主机位-2 全0全1子网是否可用,视教材默认

3.1 CRC循环冗余校验的笔试手算步骤

3.1.1 从生成多项式到校验位

CRC题目一般直接给出生成多项式,比如x^4+x+1,对应二进制生成式10011。最高次为4,说明校验位有4位。发送端把信息位后面补4个0,用模2除法除以生成式,余数就是FCS帧校验序列。关键是要先分清哪一位是信息位、哪一位是校验位。

3.1.2 模2除法的竖式写法

模2除法不借位、不进位,本质上就是异或运算。竖式写法的规范步骤:

  • 被除数是信息位后补n个0,n是生成式的最高次数
  • 每一步取当前余数首位为1的位置对齐生成式做异或
  • 余数位数不足n位时,在高位补0占位
  • 除完全部位后得到的n位余数就是校验码,附加在信息位后

接收端用同一个生成式对完整接收帧做模2除法,最后余数为0则判定无差错。注意CRC只能检测出发送错误,不能定位和纠错,这一限制经常在概念题中考查。

3.1.3 一个完整算例与常见失分点

以信息位1011001、生成式11001为例。生成式最高次为4,先在信息位后补4个0,被除数为10110010000。前5位10110与生成式异或后余01111,拼接下一位得到11110,继续异或得到00111,依次迭代,最后余数结果是0011,也就是校验位。发送帧为10110010011。

失分点常在三处:余数长度不足时忘记在前方补0,某一步余数首位为0时错误地继续做异或,最后把余数直接当校验位而没有补位。建议复习时把竖式的每一步都保留在草稿纸上,算完后再用生成式反推验证。

3.2 子网划分与CIDR聚合

3.2.1 借位数、子网数与可用主机数的换算

子网划分题给一个IP如192.168.10.0/24,要求划分出4个子网。从主机位借2位,掩码从/24变为/26,也就是255.255.255.192。子网数=2^借位数,可用主机数=2^剩余主机位-2。西电期末按教材默认全0子网和全1子网不可用,主机地址需要排除网络地址和广播地址。快速验算:/26的子网可用主机数是62,四个子网占用248个地址,与原网段256个地址的差额恰好是4个网络地址加4个广播地址,加总正好是原网段容量。

可以用ipcalc命令在考前批量验证:

# 用ipcalc打印子网掩码、网络地址、可用主机范围和广播地址
ipcalc 192.168.10.0/26

输出中的四个关键字段与手算结果完全一致,适合用来自测错题。

注意:题目没有明确说“全0和全1子网可用”时,一律按不可用计算;如果题干写了可用,按可用算。

3.2.2 CIDR聚合与最长前缀匹配

路由聚合题给定多个连续网段找共同前缀。传统做法是把所有IP转成二进制找最长公共相同位,考场时间不够时可以用块对齐法。聚合要求目标网段连续,并且起始地址按块大小对齐。路由表里选下一跳时优先匹配最长前缀,也就是前缀更具体的路由排在前面,这个规则贯穿到综合路由题。做题顺序:先删除不包含目标地址的条目,再从剩余条目中挑前缀最长的那一项。

3.3 TCP拥塞控制的窗口变化图

3.3.1 慢启动、拥塞避免与快速重传的判定规则

题干给出一串RTT序号下拥塞窗口的变化,要求推断ssthresh初始值和丢包点。三条规则:

  • 窗口指数增长到ssthresh之前是慢启动阶段
  • 超过ssthresh后每次RTT只加1,是拥塞避免阶段
  • 收到3个重复ACK执行快重传,ssthresh减半
3.3.2 超时与快重传的窗口恢复差异

假定初始拥塞窗口为1,ssthresh初始为16,那么第1到第5轮的窗口分别为1、2、4、8、16。第6轮如果发生超时,ssthresh降为8,拥塞窗口重置为1重新慢启动;如果触发的是快重传,拥塞窗口降为新ssthresh数值并从拥塞避免阶段直接开始,不回退到1。可以用awk快速推演,确认手算结果:

# ssthresh初始=16,慢启动阶段每轮翻倍,超过后线性加1
awk 'BEGIN{cwnd=1;ssthresh=16; for(rtt=1;rtt<=6;rtt++){printf "RTT%d cwnd=%d\n", rtt, cwnd; cwnd=(cwnd<ssthresh)?cwnd*2:cwnd+1}}'

输出应为RTT1到RTT6的窗口值:1、2、4、8、16、17。考场画图时横轴是传输轮次,纵轴是拥塞窗口,慢启动段画指数线,拥塞避免段画斜率1的直线,丢包点只影响后续走势,前面画好的曲线不要回头改动。

4. 用抓包验证协议行为,把背诵题变成看得见的实验

复习TCP状态机时,光看状态转移图很难形成深刻记忆。我一般建议学生先抓一次真实的TCP连接,再回到状态图反推每个状态为什么存在。抓包工具用Wireshark,命令行环境用tcpdump也一样。

4.1 抓取三次握手,把TCP状态机钉在眼前

4.1.1 本机回环发起HTTP请求的最小命令

终端先执行:

# -i lo 监听回环接口,测试不需要真实网卡
# -c 12 抓满12个包自动退出,覆盖握手、数据与挥手的完整会话
sudo tcpdump -i lo -c 12 -w /tmp/tcp_handshake.pcap 'tcp port 8080'

另开一个终端启动本地HTTP服务:

# 在当前目录启动临时HTTP服务,默认监听0.0.0.0:8080
python3 -m http.server 8080
# 发起一次真实请求,触发TCP完整握手
curl http://127.0.0.1:8080/

抓完用Wireshark打开文件,过滤表达式:

tcp.flags.syn == 1 || tcp.flags.ack == 1

能看到三次握手的SYN、SYN+ACK、ACK三条报文按时间顺序排列。报文里的Seq和Ack字段能够和教材中的状态转移图一一对应,确认号和序号的关系会直观得多。

4.1.2 校验和错误与TSO卸载的误报

抓包文件里常看到TCP校验和显示wrong,这不代表网络真实故障。网卡开启TCP Segmentation Offload后,校验和计算被卸载到硬件,Wireshark在软件层无法验证而标记错误。排查方式:

# enp0s3换成实际网卡名,用ip addr命令可以查看当前网卡名
ethtool -k enp0s3 | grep tcp-segmentation-offload

输出显示off,物理机通常不会开启TSO,但虚拟机环境下多数默认开启,所以抓包文件里的这个校验和错误可以忽略。

提示:实验报告里不要把所有抓到的包都截下来,只截握手三条报文加一个数据段即可,老师会习惯性看过滤条件判断你是否真正抓过包。

4.1.3 常用过滤表达式速查
Wireshark 过滤表达式 含义
tcp.flags.syn==1 只显示SYN报文
tcp.analysis.duplicate_ack 重复确认报文
dns.flags.response==1 只显示DNS响应
ip.src==192.168.10.0/26 按子网过滤源地址

4.2 用ARP广播与单播应答验证链路层行为

ARP请求的目标MAC是FF:FF:FF:FF:FF:FF,应答则是单播。教材一句话描述的行为,抓到包后能看到完整交互:

# 等待真实ARP流量,-e参数打印链路层MAC地址
sudo tcpdump -i enp0s3 -e -c 20 arp

对比请求帧与应答帧的目标地址,广播到单播的切换一目了然。如果半天没有输出,可以先ping同网段的一台主机再观察。

4.3 用Dup ACK数据定位拥塞控制痕迹

在持续负载下抓包,如果看到大量TCP Dup ACK,说明链路有乱序或丢包,是快速重传的前兆。抓一段时间再统计:

# 抓10000个带ACK标志的包,按秒聚合并计数,观察尖峰出现的位置
sudo tcpdump -i enp0s3 -tttt -c 10000 'tcp[tcpflags] & tcp-ack != 0' 2>/dev/null | awk '{print $1}' | uniq -c

某秒的次数明显高于前后时,大概率是拥塞窗口收缩后重传引起的突发。复习时把它当作查漏线索,看到Dup ACK就回到教材里温习快重传与快恢复的区别。

5. 冲刺阶段的自测三遍法与易错点核对清单

离考试还剩一周时,不建议再逐页翻PDF。我一般用三遍自测法压缩复习周期。

第一遍按章节顺序做选择题,错题标记后只看所属章节的考点切片,不翻整章正文。第二遍限时60分钟做三套往年试卷的计算题,重点盯CRC竖式、子网划分、拥塞窗口曲线、路由表更新四项。第三遍把所有错题按“概念混淆、公式不熟、题没读懂、计算失误”四类归档,优先解决出现次数最多的类型。

5.1 高频失分点核对表

考点 易错细节 自检方式
主机位/网络位 可用主机地址数忘减2 拿/24网段快速验算
CRC余数 余数不足n位时忘记补0 用生成式反推验证
TCP序号 确认号是期望收到的下一个序号 画时间序列图核对
传播时延/发送时延 两者物理含义混淆 题干给距离用传播时延
IP分片 片偏移单位是8字节 原始长度先除以8取整

5.2 考前最后一个小时的收尾动作

把思维导图的骨架完整默写一遍,从应用层开始,逐步写出HTTP、TCP、IP、Ethernet的封装关系与关键协议名。默写不出来的地方用红笔标注,这是最后一遍查漏。如果默写在15分钟内完成,说明协议栈已经成型,可以进考场。把教材配套的课后题答案和你手里的往年试卷做差异对照,跳过重复题,只做答案不同的题型。期末试题习惯在课后题基础上改数字和拓扑,改的只是参数,解题思路不变。考前最后一天不要再看新题型,回到三次握手、子网掩码、TCP序号这三块必考点做快速验证,把状态转移图和封装顺序默写一遍,比多做一套新题更有价值。

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

更多推荐