ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

计算机网络链路层复习指南:CRC、CSMA/CD、ARP与VLAN核心考点串讲

2026/10/6 13:03:50 拓冰建站 浏览量
计算机网络链路层复习指南:CRC、CSMA/CD、ARP与VLAN核心考点串讲 期末考试前把《计算机网络自顶向下方法》第5章翻到Part Two很多人会突然发现自己对链路层的理解是散的。差错检测、CSMA/CD、ARP、交换机自学习、VLAN每一块单独看都说得清合到一张卷子上就理不顺。这篇文章就是把第5章后半程重新按考试逻辑排一遍重点CRC怎么算不会丢分CSMA/CD的退避怎么推导ARP帧里六个地址怎么不写混交换机泛洪和VLAN隔离考的是什么。目标是让正在备考期末或408的同学用一个晚上把Part Two串成一整条线。1. 先给Part Two画一张“考点地图”这块究竟在讲什么1.1 从OSI Layer 2的抽象视图说起链路层OSI Layer 2在绝大多数教科书里被画成一个夹在物理层和网络层之间的转接层。自顶向下方法第5章把这条链路抽象成一段从发送端到接收端可能经过多台交换机的传输路径每个相邻节点之间有一条“链路”在跑链路上传输的是帧。复习时一定要先建立这个抽象视图网络层把数据报交给链路层封装成帧帧的头部携带目标MAC地址和类型字段帧尾通常还有负责校验的FCS字段物理层在下面把比特变成信号交换机在中间根据MAC地址转发帧。这一整套过程就是很多资料里说的“链路层抽象视图”。它强调的不是某一条线缆而是从主机A到主机B的整个传输路径上每一跳都需要重新封装、重新寻址、重新校验。这也是为什么Part Two后面讲交换机、讲VLAN时你会反复用到“帧”这个概念。期末题里常出现一个很基础的送分题判断“帧”和“数据报”分别在哪个层被处理。答案就是数据报在网络层帧在链路层。如果这个基础卡住后面所有交换机和ARP题目都会跟着乱。1.2 三套教材的Part Two对照知识点一样排序不一样很多同学会同时买自顶向下、谢希仁的《计算机网络》和王道考研辅导书翻到链路层时发现章节标题对不上先慌一下。其实三套书的知识点几乎是同一批只是叙事顺序不同自顶向下方法从一条具体链路出发先讲差错检测再讲多路访问协议最后讲以太网、交换机、ARP和VLAN整体走“链路抽象、局域网、互联设备”的路线。谢希仁版先抛数据链路层的三个基本问题——封装成帧、透明传输、差错检测再把多路访问控制、以太网、扩展以太网这些内容依次铺开概念更偏通信原理。王道考研偏考点式归纳把CSMA/CD的计算、MAC帧格式、交换机自学习、VLAN的划分整理成结论适合冲刺阶段快速过。期末复习时我建议以学校指定教材为主干另外两套只用来查漏补缺。比如自顶向下对ARP的“六个地址”讲得比较清楚谢希仁对透明传输和PPP讲得更细王道则把“最小帧长2倍端到端时延×数据传输速率”这类公式直接总结好了。你用哪个版本当主教材不关键关键是把这张表里的知识点全部打勾核心考点自顶向下安排谢希仁安排王道安排差错检测CRC、校验和、海明码第5章前半到中段第3章基本问题部分第3章链路层功能多路访问协议与CSMA/CD第5章中段第3章介质访问控制第3章介质访问控制以太网帧格式与MAC地址第5章后段第3章以太网第3章局域网ARP地址解析第5章后段第3章ARP第3章ARP交换机自学习、VLAN第5章后段第3章扩展以太网第3章交换机与VLAN1.3 期末考这一部分到底考什么基于我翻过的几年期末试卷Part Two的分数通常落在四个方面第一是计算题比如CRC生成多项式计算、最小帧长计算、争用期计算第二是综合分析题给你一个网络拓扑要求你写出A给B发数据时帧的源/目的MAC和IP第三是概念辨析题考察冲突域和广播域、交换机与集线器的区别第四是开放型小问比如“为什么以太网要限制最小帧长”“为什么交换机能够隔离冲突域”。把这四条主线抓住再去看湖科大教书匠这类动画讲解视频会觉得顺很多。湖科大教书匠的优势在于把CSMA/CD碰撞过程和ARP请求过程做成了动画很适合把静止的书本概念动态化。不过视频只负责“看懂”最终落笔得分还是要靠自己做一遍计算和画一遍拓扑。2. 差错检测的“考试手感”CRC怎么算对、算得快2.1 模2除法与生成多项式CRC是期末计算题里性价比最高的一题套路固定但很多同学挂在同一个地方用普通除法思维做模2除法。模2除法可以理解为“按位异或没有进位也没有借位”。例如用生成多项式G(x)x³x²1对应的二进制除数就是1101。现在要发送的数据M101001因为生成多项式最高次是3所以在数据末尾补3个0得到101001000然后用它模2除以1101最终余数位数不足3位时高位补0得到的就是FCS。具体计算过程可以这样走取被除数前4位1010与1101做异或1010 XOR 1101 0111去掉最高位的0得到有效余数111从被除数取下一位0补到余数末尾得到11101110 XOR 1101 0011去掉最高位的0有效余数为11从被除数再取下一位0补到末尾得到110110不足4位首位是0所以这一位商0继续从被除数取下一位0得到11001100 XOR 1101 0001最终余数有效值就是1因为FCS要补满3位所以余数写成001。发送端发送的帧就是101001001。接收端收到后用整个帧101001001继续模2除以1101如果余数为0认为传输无差错。这个“接收端再除一次”的逻辑是选择题常考的点选项喜欢混淆成“接收端用FCS除以生成多项式”或“接收端只校验数据字段”。2.2 三种差错检测机制别只看名字区别期末喜欢把校验和、CRC、海明码三者放在一起考而且经常出成“下列说法正确的是”。你要记住的核心差异是检测机制使用位置检测能力是否可纠错考试常见考法校验和IP、TCP、UDP头部弱主要检突发性较弱的错误否计算反码和CRC以太网帧、PPP帧、很多数据链路层协议强适合检突发错误否只能检错计算FCS余数、判断能否检错海明码教科书例题内存纠错等场景能定位错误位置是可纠正1位错计算校验位个数、逐位纠正很多同学记成“CRC能纠错”这是不对的。CRC只检错海明码才纠错。另外要注意术语嵌套关系FCS是帧尾的“帧检验序列”它是一种格式上的字段CRC是一种具体的差错检测算法。FCS字段里的值通常由CRC算出来但“FCS”和“CRC”不是同一个概念。选择题如果写“以太网帧尾的FCS就是CRC算法”这话严格说是有问题的正确的是“以太网帧尾的FCS字段存放的是CRC计算结果”。2.3 一个总被忽略的细节FCS放在帧尾是有原因的复习时我一度不理解为什么IP头部的校验和放在头部而链路层的校验放在帧尾后来做实验才想明白链路层的帧是一边接收一边处理的接收方从帧头开始解析MAC地址和类型字段如果校验字段放最前面就得先缓存整帧才能判断这样既增加时延又浪费缓存。把FCS放在帧尾接收方可以先收完数据部分硬件边收边算收完立刻比对帧尾的余数整个过程是流水线式的。这个细节不需要你写代码验证但理解了它就顺便理解了为什么CRC能用“追加余数”的方式完成检错——发送方也是边发边算数据发完后再把余数补发出去而不是先算完再发整帧。3. 多路访问协议CSMA/CD的算法题是送分题但很容易白丢分3.1 为什么有线用CD、无线用CA多路访问协议这一节期末最喜欢问“为什么以太网采用CSMA/CD而802.11无线局域网采用CSMA/CA”。回答的起点是冲突检测能力不同。在有线的同轴电缆和双绞线环境里节点可以做到“边发送边监听”发送信号的同时把线上的信号和本地信号做对比如果发现不一致就知道发生冲突了于是立刻停止发送。这个能力叫冲突检测缩写CD。而在无线环境里发送节点很难同时监听信道因为无线信号衰减快、隐蔽终端等问题发送方根本不知道自己发出的信号是否和其他节点撞在一起。无线网卡通常做的是“先听再发、随机退避、发完等确认”也就是冲突避免CA。如果发完以后没收到接收方的ACK就认为可能冲突了再退避重传。考试还经常给一张拓扑图问哪个节点能听到谁。这时候要记住隐藏终端问题A能听到BB能听到C但A听不到C所以A和C同时给B发数据就可能在B处冲突。无线协议里用RTS/CTS预约机制来解决这个机制的名字本身也是考点。3.2 二进制指数退避步骤和单位都要写完整CSMA/CD的计算题通常分成两类一类给传播时延或总线长度求最小帧长另一类给冲突次数求重传等待时隙的范围。前一类是公式题后一类是送分题。第二类的标准逻辑是每冲突一次网络中的节点就从0到(2^n - 1)之间随机选一个整数Kn是重传次数然后等待K个“512比特时间”。这里有两个容易丢分的地方第一个是重传次数的取值规律。第1次冲突时n1取值范围是0到1第2次冲突n2取值范围0到3第3次冲突n3取值范围0到7直到n10后取值范围固定为0到1023。题目问“第3次重传”还是“再传第3次”时要看清题目数的是冲突次数还是重传次数。第二个是单位换算。512比特时间不是一个固定的秒数它等于争用期也就是2倍的端到端传播时延。如果题目给的是总线长度2km、信号传播速率2×10⁸ m/s单程时延就是10μs争用期20μs。在10Mbps以太网上512比特时间 512bit ÷ 10Mbps 51.2μs。很多同学直接写“等待K×512bit”没有换算成秒计算题就被扣了过程分。举个例子某站点发送帧时发生了3次冲突第3次冲突后它选择的K5它需要等待的时间就是5×51.2μs256μs。如果题目还问平均等待时间那就取这轮K取值的平均值比如第3次冲突K从0到7中均匀选取平均K(07)/23.5平均等待178.6μs。3.3 最小帧长公式为什么是2倍时延乘速率最小帧长这个知识点我建议用“一个矛盾”来记。发送端在发送过程中如果检测到冲突会停止发送但一个帧如果太短发送端可能已经把整个帧发完了冲突信号还没传回来发送端就会误以为发送成功。所以以太网必须规定一个最小帧长保证发送端在发完这个帧之前最远端冲突的信号能够传回来。最小帧长 争用期 × 数据传输速率 2 × 单程端到端时延 × 数据传输速率。以太网标准里的经典数字是64字节。在10Mbps下发送64字节需要(64×8)/10Mbps 51.2μs这正好和512比特时间对应。这也是很多题目搞得神神秘秘的“51.2μs”的由来。考场上如果忘记公式用这个思路现场推一遍也能推出来问题在于你要记住“2倍”从哪里来冲突信号要从冲突点传到发送端最远情况是信号从发送端到总线最远端再折返回来时间就是两个单程时延。4. 链路层寻址与ARP把一个“看到IP就能通信”的直觉改成“靠MAC逐跳转发”4.1 同一个局域网内ARP请求为什么是广播我见过太多同学在这里栽跟头问“A给B发数据帧的目的MAC地址是多少”直接填B的IP地址。这就是没理解MAC地址和IP地址的分工。IP地址解决的是“数据报最终要去哪里”它在网络层保持不变只要源和目的不换整个传输过程中IP头部的源IP和目的IP就不变MAC地址解决的是“下一跳具体交给哪个设备”它在链路层每一跳都可能变化。交换机不认识IP地址它只认帧里的MAC地址。当A要和同一个网段的B通信时A的IP层已经知道B的IP地址但链路层还不知道B的MAC地址。于是A发送一个ARP请求帧帧头里源MAC填自己目的MAC填广播地址FF:FF:FF:FF:FF:FF请求内容翻译过来就是“谁持有IP地址192.168.1.2把你的MAC告诉我”。这个请求被交换机泛洪到整个广播域B收到后认出是在问自己就单播回一个ARP应答把自己的MAC地址告诉A。期末卷子上最喜欢让你填这张表字段ARP请求帧A发ARP应答帧B发帧的源MACA的MACB的MAC帧的目的MACFF:FF:FF:FF:FF:FFA的MAC请求/应答内源IPA的IPB的IP请求/应答内目的IPB的IPA的IP把这张表默写清楚选择题怎么改都不怕。4.2 跨网段时帧的目的MAC是网关的MAC很多人卡在“A访问公网服务器为什么帧的目的MAC不是服务器的MAC”。核心原因是你和服务器根本不在同一个二层广播域中间隔着路由器以太网帧不可能从你的网卡一路传过去。A的做法是先判断目的IP和自己不在同一子网然后查自己的路由表发现默认网关是192.168.1.1。于是A把数据报交给网关这一跳的帧封装成这样源MAC A的MAC目的MAC 网关MAC而IP头部的源IP A的IP目的IP 服务器的IP保持不动。也就是说“帧的目的MAC会逐跳改变IP头里的目的IP始终不变”。这句话基本是必考的填空。顺带提一下代理ARP。有些老网络里主机没有配置默认网关会用一个“代理ARP”把跨网段流量伪装成局域网内通信路由器收到A询问某IP的ARP请求后代替目标主机应答自己的MAC。考试主要靠概念判断知道它“由路由器代答”就够了。可考性不高但部分学校喜欢用来区分基础概念。4.3 亲手抓一次ARP包比背十遍更管用复习到ARP时我建议花十分钟做一个实验用Wireshark抓包然后在命令行里清空ARP缓存再执行一条ping局域网内另一个IP地址的命令。你会看到第一条抓到的包是ARP广播请求操作码字段值为1紧接着收到ARP单播应答操作码字段值为2再之后才出现ICMP回显请求和回显应答。头歌这类实验平台上的实训题本质也是让你理解这个过程。做的时候别直接去抄答案先手动把请求帧的源/目的MAC写一遍再思考应答帧为什么是单播。很多平台的填空题会故意把“目的MAC”和“目的IP”放在一起概念不清的人填反了一题就把整道实验分丢了。5. 交换机与VLAN从“冲突域碎片化”到“广播域人工隔离”5.1 交换机的自学习表转发、泛洪、丢弃三选一交换机比集线器聪明聪明的地方在于它会维护一张MAC地址表。这张表不是管理员配的是交换机自己“偷听”源MAC地址学来的。假设交换机只有两个端口端口1连着A端口2连着B。A第一次给B发帧帧进入端口1交换机先学习源MAC是A它出现在端口1于是把A-MAC记录到表里。然后查表目的B的MAC不在表中交换机不知道B在哪个端口就对除了端口1之外的所有端口泛洪。这个帧到达端口2处的BB收到后回帧源MAC是B交换机再次学习B在端口2。以后A再发帧给B交换机查表发现B对应端口2就不再泛洪只从端口2转发。有个经典判断是交换机对未知目的MAC的帧采取什么动作答案是“泛洪”不是“丢弃”也不是“只向源端口回”。如果目的MAC对应的输出端口和输入端口是同一个端口比如B和A连着同一个端口下的集线器交换机应该“丢弃”因为帧不需要转发到其他端口。这三种动作——“转发、泛洪、丢弃”——是交换机的核心选择题。5.2 二层环路与“异常流量”的真实对应关系这里我想分享一个真实巡检中遇到的案例也正好解释为什么监测系统会报告“网络中存在异常流量”。办公室有十几台电脑、三台交换机某天网速突然卡死监控端显示广播帧数量暴涨。排查下来发现有人为了多接设备用一根网线把交换机A和交换机B的两个普通端口之间又接了一条线形成了一个物理上的二层环路。环路形成后会发生什么假设某台电脑发了一个广播帧交换机A泛洪帧从多个口同时出来一部分到达交换机BB又把帧泛洪回交换机AA沿着环路再转发给其他口如此反复广播帧就像被困在环里反复增殖。每一台交换机的MAC地址表也会被震荡学习一会以为某MAC在口1一会又以为在口2导致单播帧也被反复泛洪。用系统视角看就是“异常流量”。解决办法不是拔掉全部网线而是先把监控端显示的广播速率降下来找到成环的那比特网线拔掉一条就能恢复。生产环境里更正规的做法是启用STP生成树协议让交换机自动阻断冗余链路。考场上遇到“广播风暴的原因”最常见的三个选项是广播帧没有TTL、二层环路、交换机泛洪行为。把它们串起来理解广播帧到不了网络层没有TTL限制所以在二层环路里会被交换机无限泛洪最终耗尽带宽。这正是交换机“隔离广播域”能力的盲区也是下面VLAN要解决的问题。5.3 VLAN与Trunk端口广播域怎么“画”出来VLAN虚拟局域网最直观的作用是把一台物理交换机在逻辑上切分成多个广播域。划分前所有端口属于同一个广播域任意一台主机发广播全交换机都能收到划分后VLAN 10的广播只在VLAN 10的端口间传VLAN 20的主机完全看不到。期末画图题经常给你8台电脑和一台24口交换机要求把A组、B组隔开并问两个VLAN之间能否直接通信。答案是不能VLAN隔离了广播域和数据转发两个VLAN之间的通信必须经过路由器或三层交换机。跨交换机实现VLAN时就会用到Trunk端口。Access口只属于某一个VLAN进出的帧不带VLAN标签Trunk口在交换机之间同时承载多个VLAN的流量需要通过802.1Q标准在以太网帧头的源MAC地址后面插入4字节的VLAN标签其中2字节的TPID固定为0x8100另外2字节包含12位的VLAN ID。考试时如果遇到“给帧格式加标签”的题记住TAG插在源MAC和类型/长度字段之间不能插在帧头最前面也不能加在帧尾。这个位置判断题每年都有人错。5.4 冲突域与广播域的数量统计方法交换机和集线器的对比是期末雷打不动的题型。它想要你背下这句结论集线器既不隔离冲突域也不隔离广播域交换机隔离冲突域但不隔离广播域路由器既隔离冲突域也隔离广播域。题目通常会画一个拓扑一台集线器连着几台电脑上面再接一台交换机交换机再接一台路由器问整个网络里有几个冲突域、几个广播域。拿分口诀是“数广播域看路由器数冲突域看交换机端口”。具体来说广播域以路由器为边界路由器有几个端口就通常把拓扑分成几个广播域交换机不分割广播域。冲突域以交换机端口为边界一个交换机端口下如果只接一台主机那这一个端口就是一个冲突域如果端口下还挂着一台集线器那么这台集线器上的所有主机都在同一个冲突域里。考试画图题把这个层次分清楚基本不会错。6. 期末最后三天的复习组合什么要看、什么要刷、什么可以放弃6.1 我的“视频 刷题 动手验证”组合Part Two的知识点零散最后三天不适合一页一页重新看书。我用过一个比较高效的组合第一天看湖科大教书匠关于以太网和交换机的动画重点看CSMA/CD冲突过程、ARP请求应答、交换机自学习三个动画每个控制在20分钟左右。看完在A4纸上默写以太网帧结构一遍。第二天做题库重点刷CRC计算、最小帧长计算、ARP地址填写、VLAN概念选择题。这一天的目的是暴露问题不用追求正确率。第三天把所有错题分类计算类错题重算一遍地址类错题把“六个地址”表格重默三遍概念类错题回到课本对应小节把原话读一遍。如果你有头歌这类实验平台的任务第三天顺手做掉。做题时先把答案手算或手写出来再填到系统里。很多实训题会随机调参数直接抄别人的答案往往对不上手动算一遍反而稳定拿分。6.2 整理一份常见选择题陷阱清单我把这章里最容易错的选项收集在下面考前扫一眼能救很多分陷阱描述正确理解“CRC算法能够纠正错误”CRC只能检错海明码才能纠正1位错“ARP请求是单播应答是广播”反过来请求广播应答单播“路由器隔离冲突域但不隔离广播域”路由器既隔离冲突域也隔离广播域交换机只隔离冲突域“集线器比交换机更智能”集线器是物理层设备只能转发信号“交换机对已知单播帧也泛洪”已知目的MAC时只转发到对应端口只有未知目的才泛洪“最小帧长单程时延×速率”记得乘2是往返时延“VLAN之间的通信由交换机直接完成”VLAN隔离广播域跨VLAN通信必须经过路由器或三层交换机“FCS和CRC是一回事”FCS是字段CRC是算法FCS值来自CRC计算6.3 最后说点个人体会我复习这一章时最有用的一个动作是在考试前一天把书合上在白纸上把“A向B发送数据的完整流程”画了一遍A发现B不在同一子网查ARP缓存没有就发广播请求交换机学习源MAC后泛洪B应答交换机学习A封装帧源MAC是A、目的MAC是网关MACIP头里源IP和目的IP保持不变网关收到帧后拆到网络层再查路由表决定下一跳。画完这张流程图Part Two的前后逻辑就全部打通了。链路层Part Two之所以让人头疼是因为它不像TCP那样有一条“连接—传输—释放”的故事线而是一堆机制被揉在一起差错检测、介质访问、地址解析、转发隔离。考试不会问你“这章讲了什么”只会把机制拆成一个个具体的帧和数字。所以复习的时候别背章节标题去背帧、背公式、背地址表。把那几样关键内容默写清楚这部分的分数比想象中容易拿。