写在前面
昨天我们把网络的整体框架搭起来了,今天开始真正硬核的内容——物理层和数据链路层。说实话,很多人学到这里就开始犯困了,什么奈奎斯特定理、香农定理、CRC校验,一堆公式看着就头疼。但这两个层是整个网络的根基,搞不懂它们,后面的TCP/IP你学起来就像空中楼阁。我尽量用大白话讲清楚这些概念,配合实际例子和计算题,保证你看完就能上手。

文章目录
一、物理层概述
物理层是OSI模型的最底层,负责在物理介质上传输原始比特流。它不关心比特的含义,只关心怎么把0和1变成信号传出去。
物理层要解决的问题:
- 传输介质用什么?(铜线、光纤、无线电波)
- 信号怎么表示0和1?(编码与调制)
- 传输速率的上限是多少?(奈奎斯特定理、香农定理)
- 多个信号怎么共享一条链路?(信道复用)
二、传输介质
2.1 有线传输介质
| 介质 | 传输距离 | 传输速率 | 抗干扰性 | 成本 | 典型应用 |
|---|---|---|---|---|---|
| 双绞线 | ≤100m | 1Gbps(Cat6) | 一般(有屏蔽层更好) | 低 | 以太网、电话线 |
| 同轴电缆 | ≤500m | 10~100Mbps | 较好 | 中等 | 有线电视、早期以太网 |
| 光纤 | 数十km | 100Gbps+ | 极好(不受电磁干扰) | 高 | 骨干网、数据中心 |
实物照片描述
网线(双绞线)的水晶头:
你天天见的网线,两端那个透明的塑料头就是RJ-45水晶头。它长这样:
- 整体是透明的梯形塑料块,大约2cm长
- 一头是方形的插口,里面有8根金色的小铜片,排列成一排
- 另一头是圆孔,网线从这儿穿进去
- 侧面有个小卡扣,插进电脑或路由器时会"咔嗒"一声锁住
- 8根铜片对应网线里的8根细铜线,颜色通常是橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
生活观察:如果你的网线水晶头卡扣断了,插进去就卡不紧,稍微一动就断网。这时候换根网线就好了。
光纤的接口类型:
光纤看起来是一根细细的透明玻璃丝,但它的接口有好几种:
| 接口类型 | 外观特点 | 应用场景 |
|---|---|---|
| SC | 方形大头,像一把小钥匙,插拔时有"咔嗒"声 | 早期光猫、电信设备 |
| LC | 小方形,比SC小一半,像个小插头 | 服务器、交换机(现在最常用) |
| FC | 圆形,带螺纹,像螺丝一样拧上去 | 通信机房、测试设备 |
| ST | 圆形卡扣式,像BNC接头 | 老设备、工业场景 |
生活观察:你家的光猫上,光纤接口通常是蓝色的SC方头。插的时候对准方向,听到"咔"一声就对了。千万别硬插,光纤里面的玻璃丝很脆弱,断了就得叫师傅来熔接。
Wi-Fi路由器的频段选择:
你家路由器设置里,经常能看到两个选项:
- 2.4GHz:穿墙能力强,覆盖范围广,但速度慢,容易受干扰(微波炉、蓝牙都用这个频段)
- 5GHz:速度快,干扰少,但穿墙能力差,隔一堵墙信号就弱很多
现在的路由器大多是双频合一,自动帮你选择。但如果你打游戏,建议手动连5GHz,延迟更低;如果在卧室离路由器远,连2.4GHz更稳定。
踩坑提醒:很多人以为5GHz一定比2.4GHz好。其实要看场景:5GHz快但覆盖小,2.4GHz慢但覆盖大。如果你的设备离路由器很远,5GHz可能根本没信号,反而2.4GHz能用。
2.2 无线传输介质
| 介质 | 频率范围 | 传输距离 | 传输速率 | 典型应用 |
|---|---|---|---|---|
| Wi-Fi | 2.4/5/6GHz | 室内约50m | 最高9.6Gbps(Wi-Fi 6) | 家庭/企业无线网络 |
| 蓝牙 | 2.4GHz | 约10m | 1~2Mbps(经典)/50Mbps(BLE) | 耳机、智能手表、IoT |
| 微波 | 2~40GHz | 数十km | 数百Mbps | 卫星通信、雷达 |
| 卫星通信 | 多种频段 | 全球覆盖 | 数十Mbps | GPS、卫星电视、偏远地区通信 |
踩坑提醒:很多人以为光纤只是"快一点"而已。实际上光纤和铜线在本质上就不同——光纤用光信号传输,铜线用电信号传输。光信号不受电磁干扰,衰减更小,这才是光纤能长距离高速传输的根本原因。
三、数据交换方式对比
Day1我们简单提过三种交换方式,这里做一个更详细的对比:
| 对比项 | 电路交换 | 报文交换 | 分组交换 |
|---|---|---|---|
| 连接方式 | 面向连接,通信前建立通路 | 无连接 | 无连接(数据报)/面向连接(虚电路) |
| 传输单位 | 比特流(连续) | 整个报文 | 分组(固定或可变长度) |
| 存储转发 | 不需要 | 需要(整个报文) | 需要(每个分组) |
| 传输延迟 | 建立连接有延迟,之后延迟小 | 大(报文大,存储转发慢) | 小(分组小,并行传输) |
| 线路利用率 | 低(独占链路) | 较高 | 最高 |
| 额外开销 | 无额外开销 | 报文头开销小 | 每个分组都有首部开销 |
| 典型应用 | 传统电话网 | 早期电报系统 | 互联网(IP) |
关键理解:分组交换之所以成为互联网的基础,核心优势在于线路利用率高和延迟小。虽然每个分组都有额外首部开销,但比起电路交换的独占链路,这个开销是值得的。
电话类比:传统电话 vs 微信语音
传统电话 = 电路交换(独占线路)
你小时候用的固定电话,打电话的过程是这样的:
- 你拿起电话,拨号
- 电话局帮你建立一条从你到对方的专用线路
- 这条线路在通话期间只给你们两个人用,即使你们都不说话,别人也用不了
- 挂断后,线路才释放
特点:
- 通话质量稳定,不会卡顿
- 但线路利用率低——你们沉默的时候,线路空着浪费
- 就像你包下整个会议室,即使不说话,别人也不能用
微信语音 = 分组交换(数据分包传输)
你现在用的微信语音,过程完全不同:
- 你说话,微信把你的声音切成一个个小数据包
- 每个包独立走,可能走不同的路线
- 网络空闲时多发几个包,网络拥塞时少发几个包
- 多个用户的语音包共享同一条网络链路
特点:
- 线路利用率高,大家共享网络
- 但可能卡顿、延迟,因为包可能丢、可能乱序
- 就像大家共用一个会议室,谁有话说就说,但可能抢话
生活化总结:传统电话是"专线专用",微信语音是"拼车出行"。专线舒服但贵,拼车便宜但可能绕路。互联网选择分组交换,是因为数据通信大多是突发性的(你刷网页时一阵一阵的),分组交换更适合这种场景。
四、信道复用技术
一条物理链路能同时传输多路信号,这就是信道复用。就像一条高速公路划分多条车道一样。
高速公路车道类比
想象一条高速公路,要让尽可能多的车同时通行,有几种方法:
FDM(频分复用)= 不同车道
- 高速公路划分成多条车道:小客车走第一条,大客车走第二条,货车走第三条
- 每条车道同时运行,互不干扰
- 类比:不同用户分配不同的频率段,同时传输
TDM(时分复用)= 分时使用同一条车道
- 只有一条车道,但规定:第1秒只允许小客车走,第2秒只允许大客车走,第3秒只允许货车走
- 大家轮流使用同一条车道,时间片轮转
- 类比:不同用户分配不同的时间片,轮流使用信道
WDM(波分复用)= 不同颜色的光在同一根光纤中
- 想象一条神奇的高速公路,不同颜色的车可以"穿墙"行驶:红车在一层,蓝车在另一层,同一空间内互不干扰
- 这就是光纤中的WDM:不同波长的光在同一根光纤中传输
- 类比:不同用户使用不同波长的光,在同一根光纤中并行传输
CDMA(码分多址)= 不同"语言"的司机在同一车道上开车
- 所有车都在同一条车道上,但每个司机说不同的语言:有的说中文,有的说英文,有的说法语
- 虽然混在一起很吵,但如果你只听中文,其他语言对你来说就是"噪音",你依然能听懂中文
- 类比:不同用户用不同的编码发送数据,接收方用相同的编码解码,其他用户的信号被视为噪声过滤掉
生活化总结:FDM是"各走各的车道",TDM是"轮流走一条车道",WDM是"不同颜色的车穿墙并行",CDMA是"都说不同的语言但各听各的"。
4.1 四种主要复用技术
| 复用技术 | 原理 | 优点 | 缺点 | 典型应用 |
|---|---|---|---|---|
| FDM(频分复用) | 不同用户使用不同频率 | 技术成熟 | 频率资源有限 | 有线电视、广播电台 |
| TDM(时分复用) | 不同用户使用不同时隙 | 效率高,数字信号友好 | 需要严格同步 | 电话网络、2G GSM |
| WDM(波分复用) | 不同用户使用不同光波长 | 带宽极大 | 设备成本高 | 光纤通信骨干网 |
| CDMA(码分多址) | 不同用户使用不同编码 | 抗干扰强,安全性好 | 实现复杂 | 3G移动通信、GPS |
4.2 CDMA原理补充
CDMA的核心思想是:每个用户分配一个唯一的伪随机码,发送数据时用这个码对数据进行编码。接收方用相同的码进行解码,其他用户的信号被视为噪声被过滤掉。
打个比方:CDMA就像在一个大派对上,每个人说不同的语言。虽然很吵,但只要你只听懂中文,英文、法文对你来说就是背景噪音,你依然能听懂中文对话。
五、编码与调制
5.1 编码 vs 调制
- 编码:把数据转换成适合传输的数字信号(基带传输)
- 调制:把数据转换成适合传输的模拟信号(带通传输)
简单说:编码是"数字→数字",调制是"数字→模拟"。
5.2 常见编码方式
| 编码方式 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| NRZ(不归零码) | 高电平=1,低电平=0 | 简单 | 无法自同步,连续0或1无法判断边界 |
| 曼彻斯特编码 | 每个比特中间跳变:高→低=1,低→高=0 | 自同步,以太网常用 | 带宽利用率低(需要2倍带宽) |
| 差分曼彻斯特编码 | 每个比特中间都跳变,比特开始有跳变=0,无跳变=1 | 自同步+抗干扰 | 带宽利用率低 |
踩坑提醒:曼彻斯特编码的"1"和"0"定义在不同教材中可能相反。考试时以教材为准。但核心原理不变——每个比特周期中间都有跳变,这个跳变既表示数据又提供时钟同步。
5.3 常见调制方式
- ASK(幅移键控):改变载波的振幅来表示数据
- FSK(频移键控):改变载波的频率来表示数据
- PSK(相移键控):改变载波的相位来表示数据
- QAM(正交振幅调制):同时改变振幅和相位,效率最高
六、奈奎斯特定理与香农定理
这两个定理是物理层的核心公式,考试必考,务必掌握。
6.1 奈奎斯特定理(无噪声信道)
奈奎斯特定理给出了在理想无噪声信道下的最大数据传输速率:
最大数据速率 = 2W × log₂(V) (bit/s)
其中:
- W = 信道的带宽(Hz)
- V = 每个信号单元能表示的离散值个数(如V=2表示二进制)
举例:某无噪声信道带宽为3000Hz,采用16种不同的信号状态,则最大数据速率 = 2 × 3000 × log₂(16) = 6000 × 4 = 24000 bps = 24 Kbps。
6.2 香农定理(有噪声信道)
香农定理给出了在有噪声信道下的理论最大传输速率(信道容量):
C = W × log₂(1 + S/N) (bit/s)
其中:
- C = 信道容量(bit/s)
- W = 信道带宽(Hz)
- S/N = 信噪比(信号功率/噪声功率)
注意:信噪比通常用分贝(dB)表示:SNR(dB) = 10 × log₁₀(S/N)。所以如果题目给的是dB值,需要先转换:S/N = 10^(SNR(dB)/10)。
举例:某信道带宽为4000Hz,信噪比为30dB,求信道容量。
S/N = 10^(30/10) = 10³ = 1000
C = 4000 × log₂(1 + 1000) = 4000 × log₂(1001) ≈ 4000 × 9.97 ≈ 39880 bps ≈ 39.88 Kbps
踩坑提醒:香农定理给出的是理论极限,实际传输速率不可能超过这个值。而奈奎斯特定理给出的是在无噪声条件下的极限。实际信道的极限取决于这两个定理中较小的那个值。
6.3 两个定理的关系
| 对比项 | 奈奎斯特定理 | 香农定理 |
|---|---|---|
| 适用条件 | 理想无噪声信道 | 有噪声信道 |
| 考虑因素 | 带宽、信号级数 | 带宽、信噪比 |
| 公式 | 2W × log₂(V) | W × log₂(1 + S/N) |
| 意义 | 无噪声下的上限 | 有噪声下的理论极限 |
计算例题1:奈奎斯特定理
题目:
某无噪声信道的带宽为 4kHz,采用 16种 不同的信号状态进行传输,求该信道的最大数据传输速率。
解题步骤:
第一步:明确已知条件
- 带宽 W = 4 kHz = 4000 Hz
- 信号状态数 V = 16
第二步:确定公式
奈奎斯特定理:
最大数据速率 = 2W × log₂(V)
第三步:代入计算
先算 log₂(16):
log₂(16) = log₂(2⁴) = 4
再代入公式:
最大数据速率 = 2 × 4000 × 4
= 8000 × 4
= 32000 bit/s
= 32 Kbps
答案:该信道的最大数据传输速率为 32 Kbps。
理解:信号状态数V=16,意味着每个信号可以表示4个比特(因为2⁴=16)。带宽4kHz意味着每秒有4000个信号周期,奈奎斯特定理说每个周期最多传2个信号(因为采样定理),所以每秒最多传 2×4000=8000 个信号,每个信号4比特,总共 8000×4=32000 bit/s。
计算例题2:香农定理
题目:
某信道的带宽为 3kHz,信噪比为 30dB,求该信道的信道容量。
解题步骤:
第一步:明确已知条件
- 带宽 W = 3 kHz = 3000 Hz
- 信噪比 SNR(dB) = 30 dB
第二步:将dB转换为S/N比值
这是最容易出错的一步!
信噪比的分贝公式:
SNR(dB) = 10 × log₁₀(S/N)
所以:
30 = 10 × log₁₀(S/N)
log₁₀(S/N) = 3
S/N = 10³ = 1000
踩坑提醒:如果题目给的是dB值,一定要先转换成S/N比值!30dB对应的S/N是1000,不是30。这是新手最容易栽跟头的地方。
第三步:确定公式并代入
香农定理:
C = W × log₂(1 + S/N)
代入数值:
C = 3000 × log₂(1 + 1000)
= 3000 × log₂(1001)
计算 log₂(1001):
log₂(1001) = ln(1001) / ln(2) ≈ 6.908 / 0.693 ≈ 9.967
所以:
C ≈ 3000 × 9.967 ≈ 29901 bit/s ≈ 29.9 Kbps
答案:该信道的信道容量约为 29.9 Kbps(约 30 Kbps)。
理解:信噪比越高(信号越强、噪声越弱),信道容量越大。但注意,香农定理给出的是理论极限,实际中由于各种开销,真实速率会比这个值低。
计算例题3:两个定理一起考
题目:
某信道带宽为 10kHz,信噪比为 20dB,若采用 8种 信号状态,求该信道的最大数据传输速率。
解题步骤:
第一步:分别用两个定理计算
奈奎斯特定理(无噪声上限):
W = 10000 Hz, V = 8
log₂(8) = 3
最大速率₁ = 2 × 10000 × 3 = 60000 bit/s = 60 Kbps
香农定理(有噪声极限):
SNR(dB) = 20
dB转S/N:20 = 10 × log₁₀(S/N) → S/N = 10² = 100
C = 10000 × log₂(1 + 100)
= 10000 × log₂(101)
≈ 10000 × 6.658
≈ 66580 bit/s ≈ 66.6 Kbps
第二步:取较小值
奈奎斯特给出 60 Kbps,香农给出 66.6 Kbps。
信道的实际极限取决于两个定理中较小的那个值。
答案:该信道的最大数据传输速率为 60 Kbps(受限于奈奎斯特定理)。
关键理解:奈奎斯特定理限制了"信号状态数"带来的上限,香农定理限制了"噪声"带来的上限。实际信道要同时满足两个限制,所以取较小值。
七、数据链路层概述
数据链路层在物理层之上、网络层之下,负责在相邻节点之间可靠地传输帧。
数据链路层的三个基本问题:
- 成帧:确定帧的边界
- 透明传输:确保帧中的数据不会和帧的边界标记冲突
- 差错检测:检测传输过程中是否产生了比特差错
八、成帧与透明传输
8.1 成帧方式
| 成帧方式 | 原理 | 优缺点 |
|---|---|---|
| 字符计数法 | 帧头用一个字段标明帧的长度 | 简单,但一旦长度字段出错,后续全部错位 |
| 字符填充的首尾定界符法 | 用特殊字符SOH和EOT标记帧的起止 | 可靠,但限制了数据内容 |
| 比特填充的首尾标志法 | 用特殊比特模式01111110标记帧边界 | 灵活,PPP和HDLC使用 |
| 违规编码法 | 利用编码中不使用的信号模式 | 仅适用于特定编码方式 |
8.2 透明传输
透明传输就是让数据链路层对上层来说"透明",不管传输的数据内容是什么,都能正确传输。
以比特填充法为例:发送方在数据中每遇到连续5个"1"就插入一个"0",确保数据中不会出现"01111110"这个帧标志。接收方则相反,每看到连续5个"1"后面的"0"就去掉。
原始数据: 011011111110111110
填充后: 011011111011011111010
↑ ↑
插入的0 插入的0
九、差错检测——CRC校验
9.1 CRC原理
CRC(Cyclic Redundancy Check,循环冗余校验)是数据链路层最常用的差错检测方法。
核心思想:发送方和接收方约定一个生成多项式G(x),发送方用数据多项式除以G(x)得到余数,将余数作为**FCS(帧检验序列)**附加在数据后面发送。接收方收到后做同样的除法,如果余数为0则无差错。
9.2 CRC计算步骤
- 确定生成多项式G(x),假设为 r 阶
- 在数据后面追加 r 个0
- 用追加0后的数据对G(x)做模2除法
- 得到的 r 位余数就是FCS
9.3 CRC计算例题
题目:数据为 1101001,生成多项式为 G(x) = x³ + x + 1(即 1011),求FCS。
解答:
步骤1:G(x) = 1011,阶数 r = 3
步骤2:数据后追加3个0 → 1101001000
步骤3:模2除法
1100001 ← 商
___________
1011 | 1101001000
1011
----
1100
1011
----
1110
1011
----
1010
1011
----
0011 ← 不够除,拉下0
11 ← 拉下0
00 ← 不够除
110
1011
----
011 ← 余数(FCS)
步骤4:FCS = 011
最终发送的帧:1101001 011
验证:接收方收到
1101001011后,用1011做模2除法,余数为0则表示传输正确。
踩坑提醒:CRC计算用的是模2除法,不是普通的除法!模2运算就是异或运算,不进位不借位。很多人第一次做CRC计算题就栽在这里。
CRC手把手计算教程(更详细的步骤)
如果你觉得上面的例题还不够详细,我再带你做一道题,像老师在黑板上一样,一步一步来。
题目:数据为 101001,生成多项式为 G(x) = x³ + x² + 1,求FCS和最终发送的帧。
Step 0:把生成多项式转换成二进制
G(x) = x³ + x² + 1
= 1·x³ + 1·x² + 0·x¹ + 1·x⁰
= 1101
技巧:从最高次幂到0次幂,有该项就写1,没有就写0。x³有→1,x²有→1,x¹没有→0,x⁰有→1,所以是1101。
Step 1:确定阶数 r
G(x) = 1101,最高次幂是3,所以 r = 3。
Step 2:在数据后面追加 r 个0
原始数据:101001
追加3个0:101001000
Step 3:进行模2除法
模2除法的规则:
- 被除数和除数对齐后,相同位得0,不同位得1(这就是异或运算)
- 不涉及进位和借位
- 每次取和除数位数相同的长度进行异或
商:101101
____________
1101 | 101001000 ← 被除数(数据+3个0)
1101 ← 第一步:1010 XOR 1101 = 0111,取后三位+下一位
----
1110 ← 1110 XOR 1101 = 0011,取后三位+下一位
1101
----
0110 ← 0110(前导0不要,取110)不够除,商0,拉下一位
0000 ← 1100 XOR 1101 = 0001,取后三位+下一位
----
1100 ← 1100 XOR 1101 = 0001,取后三位+下一位
1101
----
0010 ← 010(前导0不要)不够除,商0,拉下一位
0000
----
0100 ← 100(前导0不要)不够除,商0
0000
----
100 ← 余数(3位)
等等,上面的计算有点乱,让我重新整理,用更清晰的步骤:
被除数:1 0 1 0 0 1 0 0 0
除数: 1 1 0 1
第1步:取前4位 1010
1010 XOR 1101 = 0111 → 写111(去掉前导0),拉下一位 → 1110
第2步:1110 XOR 1101 = 0011 → 写011(去掉前导0),拉下一位 → 0110
第3步:0110,前导0,商0,取110,拉下一位 → 1100
第4步:1100 XOR 1101 = 0001 → 写001(去掉前导0),拉下一位 → 0010
第5步:0010,前导0,商0,取010,拉下一位 → 0100
第6步:0100,前导0,商0,取100(只有3位,不够4位)
余数 = 100
关键技巧:模2除法就是不断做异或,每次结果去掉前导0,然后拉下一位被除数,直到处理完所有位。最后剩下的就是余数。
Step 4:得到FCS
余数是 100,所以 FCS = 100。
Step 5:构造最终发送的帧
原始数据 + FCS = 101001 100
Step 6:验证(接收方怎么做)
接收方收到 101001100,用同样的除数 1101 做模2除法:
101001100 ÷ 1101
按照同样的步骤计算,最终余数应该为 000
如果余数为0,说明传输正确;如果余数不为0,说明传输出错。
踩坑提醒总结:
- 模2除法不是普通除法!没有进位借位,只有异或
- 生成多项式转二进制时,缺项要补0
- 追加0的个数 = 生成多项式的阶数 = 二进制位数-1
- 最后余数的位数必须等于r,不足前面补0
十、以太网协议
10.1 以太网帧格式(DIX Ethernet V2 / IEEE 802.3)
+--------+--------+--------+--------+--------+--------+--------+
| 前导码 | 帧起始 | 目的MAC | 源MAC | 类型 | 数据 | FCS |
| 8字节 | 定界符 | 6字节 | 6字节 | 2字节 | 46-1500| 4字节 |
| | 1字节 | | | | 字节 | |
+--------+--------+--------+--------+--------+--------+--------+
| 字段 | 长度 | 说明 |
|---|---|---|
| 前导码 | 7字节 | 交替的10101010模式,用于同步 |
| 帧起始定界符(SFD) | 1字节 | 10101011,标志帧开始 |
| 目的MAC地址 | 6字节 | 接收方的物理地址 |
| 源MAC地址 | 6字节 | 发送方的物理地址 |
| 类型/长度 | 2字节 | 标识上层协议类型(如0x0800=IP) |
| 数据 | 46~1500字节 | 上层交付的数据 |
| FCS | 4字节 | CRC-32校验 |
注意:以太网帧的数据部分最小46字节,如果上层交付的数据不足46字节,需要填充到46字节。所以实际数据最小是46字节,最大是1500字节(MTU)。
逐字节解剖以太网帧
咱们像法医解剖一样,一个字节一个字节地拆开这个以太网帧,看看每个字节都是干嘛的。
帧结构总览:
+--------+--------+--------+--------+--------+--------+--------+
| 前导码 | 帧起始 | 目的MAC | 源MAC | 类型 | 数据 | FCS |
| 7字节 | 定界符 | 6字节 | 6字节 | 2字节 | 46-1500| 4字节 |
| | 1字节 | | | | 字节 | |
+--------+--------+--------+--------+--------+--------+--------+
第1-7字节:前导码(Preamble)
内容:10101010 10101010 10101010 10101010 10101010 10101010 10101010
(7个字节,每个字节都是 0xAA)
作用:让接收方的网卡"醒醒",调整时钟,准备接收数据
生活类比:就像上课前老师敲敲黑板"同学们注意了,我要开始讲课了"。前导码就是网卡之间的"敲黑板"。
第8字节:帧起始定界符(SFD, Start Frame Delimiter)
内容:10101011(0xAB)
作用:标志"真正的数据要开始了!"
注意:前导码和SFD共8字节,这是物理层处理的,严格来说不算"以太网帧"的一部分,但通常一起画出来。
第9-14字节:目的MAC地址(6字节)
格式:XX:XX:XX:XX:XX:XX(6个字节,每个字节2位十六进制)
例子:00:1A:2B:3C:4D:5E
作用:"这封信是给谁的"
- 前3个字节(00:1A:2B)是厂商代码,IEEE分配给各个网卡厂商
- 后3个字节(3C:4D:5E)是厂商自己分配的,保证全球唯一
生活类比:就像快递单上的"收件人姓名和电话",告诉网络这个帧应该交给哪个设备。
第15-20字节:源MAC地址(6字节)
格式:和目的MAC一样,6字节
作用:"这封信是谁发的"
生活类比:快递单上的"寄件人信息",方便对方回复或者出问题的时候找源头。
第21-22字节:类型/长度(2字节)
格式:2字节,十六进制表示
例子:0x0800 = 上层是IP协议
0x0806 = 上层是ARP协议
0x8100 = 带VLAN标签的帧
作用:告诉接收方"我里面装的是什么"
生活类比:就像快递包裹上贴的"易碎品"、"生鲜"标签,告诉处理人员里面是什么,该怎么处理。
第23字节开始:数据(46-1500字节)
内容:上层协议的数据(比如IP数据报)
最小长度:46字节(不够要填充)
最大长度:1500字节(MTU,Maximum Transmission Unit)
为什么要最小46字节?
这是CSMA/CD协议的要求!以太网最小帧长是64字节(从目的MAC到FCS),去掉6+6+2+4=18字节的头部尾部,数据部分至少要有46字节。如果上层数据不够46字节,就用0填充。
生活类比:数据就是快递包裹里的"商品本身",是你真正要传的东西。
最后4字节:FCS(Frame Check Sequence)
内容:CRC-32校验值(4字节)
作用:检查帧在传输过程中是否出错
生活类比:就像快递单上的"验货码",收件人收到后核对一下,看看包裹在运输过程中有没有被损坏。
完整帧长度计算:
最小帧长 = 6(目的MAC) + 6(源MAC) + 2(类型) + 46(最小数据) + 4(FCS) = 64字节
最大帧长 = 6 + 6 + 2 + 1500(最大数据) + 4 = 1518字节
踩坑提醒:很多教材说"以太网最小帧长64字节",但这64字节不包括前导码和SFD!如果加上前导码和SFD,最小是72字节。考试时看清楚题目问的是"帧"还是"从目的MAC开始算"。
十一、MAC地址
11.1 MAC地址结构
MAC地址(Media Access Control Address)是数据链路层的地址,也叫物理地址、硬件地址。
- 长度:48位(6字节)
- 通常用十六进制表示:
XX:XX:XX:XX:XX:XX - 全球唯一(理论上)
结构划分:
| 位段 | 长度 | 含义 |
|---|---|---|
| 前24位(OUI) | 3字节 | 组织唯一标识符,由IEEE分配给厂商 |
| 后24位 | 3字节 | 厂商自行分配,保证同一厂商内唯一 |
特殊MAC地址:
- 广播地址:
FF:FF:FF:FF:FF:FF(全1),发给所有设备 - 组播地址:最低字节的最低位为1
- 单播地址:最低字节的最低位为0
踩坑提醒:MAC地址是数据链路层的地址,IP地址是网络层的地址。MAC地址在局域网内有效,IP地址在全球范围内有效。ARP协议就是负责把IP地址转换成MAC地址的。
十二、CSMA/CD vs CSMA/CA
12.1 CSMA/CD(载波监听多路访问/冲突检测)
CSMA/CD用于有线以太网,核心思想是"先听后发,边发边听,冲突停发,随机重发"。
工作流程:
- 先听后发:发送前先监听信道是否空闲
- 边发边听:发送过程中持续监听是否有冲突
- 冲突检测:如果检测到冲突,立即停止发送
- 发送干扰信号:发送48bit的干扰信号(Jam Signal)通知所有站点
- 随机退避:使用截断二进制指数退避算法等待随机时间后重试
截断二进制指数退避算法:
# 伪代码
k = min(冲突次数, 10) # k最大为10
r = random.randint(0, 2^k - 1) # 随机选取r
等待时间 = r × 基本争用期 # 争用期 = 2τ(往返传播时延)
关键参数:争用期(Contention Period)= 2τ,其中τ是单程传播时延。以太网规定争用期为51.2μs。对于10Mbps以太网,在争用期内能发送512bit(64字节),这就是以太网最小帧长为64字节的原因。
会议室开会类比
想象一个会议室,很多人要发言,但没有主持人点名,这时候怎么保证不乱?
CSMA/CD 的会议室版本:
-
先听后发:你想发言前,先听听有没有人在说话。如果有人在说,你就等着;如果没人说,你开始说。
-
边发边听:你说话的时候,耳朵也竖着,听听有没有人和你同时开口。
-
冲突检测:如果发现有人和你同时说话(“冲突"了),你立刻停下,大声喊一声"大家注意,刚才乱了!”(这就是Jam Signal)
-
随机退避:冲突后,每个人心里默数一个随机数(比如"我数到5再发言"),数完再尝试。如果又冲突了,下次数的范围更大(比如数到10、20、40…)
为什么需要最小帧长64字节?
想象你只说了一个字"好",说完才发现有人和你同时说。但因为你说的太短了,等你发现冲突的时候,话已经说完了,来不及停了。
所以规定:每个人每次发言至少要说64个字(最小帧长)。这样在你说完之前,如果有冲突,你一定能发现并及时停下。
为什么无线用CSMA/CA而不是CSMA/CD?
在会议室里,你能听到所有人说话(有线环境)。但在一个大广场上(无线环境),你可能听不到远处的人说话,但你们的声音在听众那里会重叠。这就是"隐蔽站"问题——你检测不到冲突,所以只能想办法"避免"冲突。
12.2 CSMA/CA(载波监听多路访问/冲突避免)
CSMA/CA用于无线网络(Wi-Fi),因为无线环境中很难实现冲突检测("隐蔽站"问题)。
工作流程:
- 先听后发:监听信道是否空闲
- 空闲等待:信道空闲后还需等待DIFS(分布式帧间间隔)
- 随机退避:即使在DIFS后信道空闲,也要随机退避一段时间
- 发送数据:退避结束后发送
- ACK确认:接收方收到后发送ACK确认
RTS/CTS机制(可选):
- 发送方先发RTS(Request to Send)
- 接收方回复CTS(Clear to Send)
- 其他站点收到CTS后知道信道被占用,避免冲突
12.3 CSMA/CD vs CSMA/CA 对比
| 对比项 | CSMA/CD | CSMA/CA |
|---|---|---|
| 适用环境 | 有线以太网 | 无线Wi-Fi(802.11) |
| 冲突处理 | 检测冲突 | 避免冲突 |
| 发送策略 | 边发边听 | 先预约再发送 |
| 确认机制 | 无ACK | 有ACK确认 |
| 隐蔽站问题 | 不存在 | 存在,需RTS/CTS解决 |
| 效率 | 冲突时浪费带宽 | 退避机制减少冲突但增加开销 |
踩坑提醒:面试官经常问"为什么Wi-Fi不用CSMA/CD?“答案核心是:无线环境中存在"隐蔽站"问题,发送方无法检测到所有可能的冲突,所以只能用"冲突避免"而非"冲突检测”。
十三、PPP协议
PPP(Point-to-Point Protocol,点对点协议)是目前使用最广泛的点对点数据链路层协议。
13.1 PPP帧格式
+--------+--------+--------+--------+--------+--------+--------+
| 标志 | 地址 | 控制 | 协议 | 信息 | FCS | 标志 |
| 7E | FF | 03 | 2字节 | ≤1500 | 2字节 | 7E |
| 1字节 | 1字节 | 1字节 | | 字节 | | 1字节 |
+--------+--------+--------+--------+--------+--------+--------+
| 字段 | 说明 |
|---|---|
| 标志(Flag) | 0x7E,帧的起始和结束标志 |
| 地址(Address) | 0xFF,点对点链路不需要地址 |
| 控制(Control) | 0x03,表示无编号帧 |
| 协议(Protocol) | 标识网络层协议(如0x0021=IP) |
| 信息(Information) | 上层数据 |
| FCS | 帧校验序列,CRC校验 |
13.2 PPP的特点
- 简单:不需要MAC地址,不需要CSMA/CD
- 面向字节:以字节为单位进行填充和校验
- 支持多种网络层协议:通过协议字段区分
- 支持身份认证:PAP和CHAP协议
- 透明传输:使用字节填充或比特填充
十四、VLAN原理与802.1Q帧格式
14.1 VLAN(虚拟局域网)
VLAN(Virtual Local Area Network)是在逻辑上将局域网划分为多个虚拟网段的技术。
VLAN的好处:
- 隔离广播域:减少广播流量,提高网络性能
- 安全性:不同VLAN之间无法直接通信
- 灵活性:不受物理位置限制,可以跨交换机划分
- 管理方便:可以按部门、功能等灵活分组
办公楼楼层类比
想象一栋办公楼,有多个楼层:
物理布局:
- 1楼:研发部
- 2楼:市场部
- 3楼:财务部
- 4楼:人事部
没有VLAN的情况:
- 所有人都在同一个"局域网"里,就像一个开放式办公区
- 财务部发的广播消息,全楼所有人都能收到
- 研发部的电脑可以直接访问财务部的服务器,不安全
有了VLAN的情况:
- 把每个楼层划分成独立的VLAN,就像给每个楼层装上独立的门禁系统
- 1楼(研发VLAN)、2楼(市场VLAN)、3楼(财务VLAN)、4楼(人事VLAN)
- 同一楼层(同一VLAN)的人可以自由通信
- 不同楼层(不同VLAN)的人不能直接串门
跨楼层通信怎么办?
如果研发部(1楼)需要访问财务部(3楼)的服务器,怎么办?
- 直接走楼梯?不行,楼层之间有门禁(VLAN隔离)
- 需要坐电梯(三层交换机/路由器)才能互通
- 电梯有权限控制,只有授权的人才能跨楼层
关键理解:VLAN就是给网络加上"虚拟楼层",同一楼层自由通信,不同楼层需要"电梯"(三层设备)才能互通。这样既保证了隔离性,又保留了必要的连通性。
踩坑提醒:很多新手以为VLAN只是"把网络分开",但忽略了不同VLAN之间默认是不通的。如果你配了VLAN后发现两个部门连不上,不要慌,检查一下是不是忘了配置三层交换机或路由器做VLAN间路由。
14.2 802.1Q帧格式
VLAN标签通过在以太网帧中插入一个4字节的802.1Q标签来实现:
+--------+--------+--------+--------+--------+--------+--------+--------+
| 目的MAC | 源MAC | 802.1Q标签 | 类型 | 数据 | FCS |
| 6字节 | 6字节 | 2字节 | 2字节 | 2字节 | 46-1500| 4字节 |
| | | TPID | TCI | | 字节 | |
+--------+--------+--------+--------+--------+--------+--------+
802.1Q标签字段:
- TPID(Tag Protocol Identifier):0x8100,标识这是一个带VLAN标签的帧
- TCI(Tag Control Information):
- Priority(3位):优先级(802.1p)
- DEI(1位):丢弃指示
- VID(12位):VLAN标识符,范围0~4095,其中0和4095保留
踩坑提醒:插入802.1Q标签后,以太网帧的最大长度从1518字节变为1522字节。有些老旧设备可能不支持这种"巨型帧",配置VLAN时要注意设备兼容性。
十五、STP/RSTP生成树协议
15.1 为什么需要STP?
在冗余拓扑中,交换机之间可能形成环路,导致:
- 广播风暴:广播帧在环路中无限循环
- MAC地址表不稳定:同一MAC地址从不同端口收到
- 重复帧:同一帧被多次转发
STP(Spanning Tree Protocol,生成树协议)就是用来解决这个问题的。它通过阻塞某些端口,将环路拓扑变成一个无环的树形结构。
15.2 STP工作原理
- 选举根桥(Root Bridge):Bridge ID最小的交换机成为根桥
- 选举根端口(Root Port):每个非根桥选择到根桥路径成本最小的端口
- 选举指定端口(Designated Port):每个网段选择到根桥路径成本最小的端口
- 阻塞非指定端口:既不是根端口也不是指定端口的端口被阻塞
15.3 RSTP(快速生成树协议)
RSTP是对STP的改进,主要优化:
- 收敛速度快:从STP的3050秒缩短到**13秒**
- 端口角色更细化:增加了替代端口(Alternate Port)和备份端口(Backup Port)
- 主动同步机制:通过Proposal/Agreement机制快速过渡
面试技巧:面试官问STP时,不仅要答出工作原理,还要能说出为什么需要STP(环路问题),以及RSTP相比STP的改进点。这样回答才算完整。
十六、滑动窗口协议
滑动窗口协议是**数据链路层(和传输层)**实现流量控制和可靠传输的核心机制。
16.1 三种滑动窗口协议对比
| 对比项 | 停止等待协议(SW) | 回退N帧协议(GBN) | 选择重传协议(SR) |
|---|---|---|---|
| 发送窗口大小 | 1 | W_T(>1) | W_T(>1) |
| 接收窗口大小 | 1 | 1 | W_R(>1) |
| 发送方式 | 发一帧等一帧确认 | 连续发送多帧 | 连续发送多帧 |
| 确认方式 | 逐帧确认 | 累积确认 | 逐帧确认 |
| 出错处理 | 超时重传该帧 | 超时重传该帧及之后所有帧 | 只重传出错的帧 |
| 信道利用率 | 低 | 较高 | 最高 |
| 接收缓冲区 | 不需要 | 不需要 | 需要(缓存乱序帧) |
| 实现复杂度 | 简单 | 中等 | 复杂 |
16.2 停止等待协议(SW)
最简单的协议:发送方发一帧,等收到ACK后再发下一帧。
发送方: [帧1] ----→ 等待ACK
接收方: ←---- [ACK1]
发送方: [帧2] ----→ 等待ACK
信道利用率计算:
U = T_data / (T_data + T_ack + 2τ)
其中T_data是发送一帧的时间,T_ack是发送ACK的时间,τ是传播时延。
16.3 回退N帧协议(GBN)
发送窗口 > 1,接收窗口 = 1。发送方可以连续发送多个帧,但接收方只能按序接收。
发送方: [帧1] [帧2] [帧3] [帧4] [帧5] ----→
接收方: [ACK1] [ACK2] [ACK3] ←---- (帧4出错)
发送方: 重传 [帧4] [帧5] [帧6] [帧7] ----→
关键点:GBN使用累积确认。接收方发送ACK(n)表示n及之前的帧都已正确接收。如果帧3丢失,即使帧4、5正确到达,接收方也只发ACK(2),发送方收到后会重传帧3及之后的所有帧。
16.4 选择重传协议(SR)
发送窗口 > 1,接收窗口 > 1。接收方可以缓存乱序到达的帧,只重传出错的帧。
发送方: [帧1] [帧2] [帧3] [帧4] [帧5] ----→
接收方: [ACK1] [NACK3] [ACK2] [ACK4] [ACK5] ←----
发送方: 只重传 [帧3] ----→
窗口大小限制:对于SR协议,发送窗口和接收窗口之和不能超过序号空间大小(2^n)。即 W_T + W_R ≤ 2^n。
十七、新手常见误区
学物理层和数据链路层,新手最容易在以下几个概念上栽跟头。我专门整理出来,帮你提前避坑。
误区1:曼彻斯特编码的"1"和"0"定义——不同教材可能相反
错误理解:
- “曼彻斯特编码高到低就是1,低到高就是0”(不一定!)
- 死记一种定义,考试时发现和教材相反
正确理解:
- 曼彻斯特编码的核心是"每个比特中间都有跳变"
- 这个跳变既表示数据,又提供时钟同步
- 至于"高到低是1还是0",不同教材定义可能相反
应对策略:
- 理解原理比死记定义更重要
- 考试时以你用的教材为准
- 如果题目没给图,看上下文推断
踩坑提醒:有些教材定义"高→低=1,低→高=0",有些则相反。但核心原理不变——每个比特周期中间都有跳变。面试时如果被问到,先说明"不同教材定义可能不同",再给出你学的定义。
误区2:奈奎斯特定理 vs 香农定理——适用场景搞混
错误理解:
- “有噪声信道用奈奎斯特定理”(错了!)
- “香农定理只考虑带宽,不考虑信号状态数”(不完全对!)
正确理解:
- 奈奎斯特定理:适用于理想无噪声信道,考虑带宽和信号状态数
- 香农定理:适用于有噪声信道,考虑带宽和信噪比
- 实际信道要同时满足两个定理,取较小值
记忆口诀:
- 奈奎斯特 = “无噪声的理想世界”
- 香农 = “有噪声的现实世界”
- 两个都满足 = “理想不能超越现实”
踩坑提醒:如果题目给了"信噪比"或"dB值",一定要用香农定理!如果没给噪声信息,默认用奈奎斯特定理。如果两个条件都给了,两个都算,取较小值。
误区3:CRC校验能纠错吗?——不能!
错误理解:
- “CRC可以检测错误,也可以纠正错误”(标准CRC不能纠错!)
- “CRC和校验和差不多”(CRC比校验和强多了!)
正确理解:
- 标准CRC只能检错,不能纠错
- 发现错误后,通常的做法是丢弃该帧,请求重传
- CRC的检错能力比简单的奇偶校验、校验和强得多
- 能纠错的是更复杂的编码(如海明码、BCH码),但数据链路层通常不用
生活类比:
- CRC就像快递单上的"验货码",能告诉你"包裹坏了",但不能告诉你"哪里坏了",更不能帮你"修好"
- 发现坏了怎么办?拒收,让卖家重新发一个(重传)
踩坑提醒:面试时如果问"CRC能纠错吗",一定要明确回答"标准CRC只能检错,不能纠错"。如果你说能纠错,面试官会觉得你基础不扎实。
误区4:CSMA/CD 和 CSMA/CA——适用环境搞混
错误理解:
- “CSMA/CD用于Wi-Fi”(反了!)
- “CSMA/CA可以检测冲突”(不能!它是避免冲突,不是检测冲突!)
正确理解:
- CSMA/CD = 有线以太网用,能检测冲突(Detect)
- CSMA/CA = 无线Wi-Fi用,只能避免冲突(Avoid)
为什么无线不能检测冲突?
- 无线环境中存在"隐蔽站问题":A和C都听不到对方,但它们的信号在B处冲突
- 无线信号衰减快,发送方很难在发送的同时检测到远处的冲突
- 所以Wi-Fi只能用"冲突避免"策略:先预约(RTS/CTS),再随机退避
记忆技巧:
- CD = Carrier Detect(载波检测)→ 有线能检测
- CA = Collision Avoid(冲突避免)→ 无线只能避免
踩坑提醒:这是面试高频题!面试官最爱问"为什么Wi-Fi不用CSMA/CD?"标准答案是:1)隐蔽站问题;2)无线信号衰减快,无法可靠检测冲突。答出这两点就稳了。
十八、问题与解答
Q1:为什么以太网最小帧长是64字节?
A:这是由CSMA/CD协议决定的。发送方在发送帧的同时要监听冲突,如果帧太短,发送完了还没检测到冲突(因为信号还没传到最远端再传回来),就无法正确检测冲突。以太网规定争用期为51.2μs,在10Mbps速率下,51.2μs内能发送512bit = 64字节。所以最小帧长64字节是为了保证发送方在发送完之前能检测到所有可能的冲突。
Q2:CRC校验能纠正错误吗?
A:标准CRC只能检测错误,不能纠正错误。如果接收方计算CRC发现余数不为0,说明传输有误,通常的做法是丢弃该帧并请求重传。不过,通过选择合适的生成多项式,CRC是可以具备纠错能力的(BCH码等),但在数据链路层中通常只用CRC做检错,纠错交给上层处理。
Q3:Wi-Fi为什么用CSMA/CA而不是CSMA/CD?
A:主要有两个原因。第一,无线环境中存在隐蔽站问题——两个站点互相听不到对方,但它们的信号在接收方会冲突,发送方无法检测到这种冲突。第二,无线信号衰减快,发送方很难在发送的同时检测到远处的冲突。所以Wi-Fi只能采用"冲突避免"策略,通过RTS/CTS预约信道和随机退避来尽量避免冲突。
十九、面试高频考点汇总
面试题1:请详细说明CSMA/CD的工作原理
参考答案:
CSMA/CD(载波监听多路访问/冲突检测)的工作原理可以概括为"先听后发,边发边听,冲突停发,随机重发"。
具体步骤:
- 发送前先监听信道,如果信道忙则等待
- 信道空闲后开始发送数据,同时持续监听
- 如果检测到冲突(电压异常),立即停止发送
- 发送48bit干扰信号(Jam Signal),确保所有站点都知道发生了冲突
- 使用截断二进制指数退避算法:第k次冲突后,从[0, 2^min(k,10)-1]中随机选一个数r,等待r×51.2μs后重试
- 如果连续16次冲突仍未成功,放弃发送并向上层报告错误
关键参数:争用期2τ=51.2μs,最小帧长64字节,最大重传次数16次。
面试题2:请用CRC计算例题说明校验过程
参考答案:
假设要发送的数据为 1101011011,生成多项式 G(x) = x⁴ + x + 1,即 10011。
步骤:
- G(x) = 10011,阶数 r = 4
- 数据后追加4个0:
11010110110000 - 模2除法:
1100001010
____________
10011 | 11010110110000
10011
-----
10011
10011
-----
00001
00000
-----
00011
00000
-----
00110
00000
-----
01101
00000
-----
11011
10011
-----
10000
10011
-----
0011 ← 余数(FCS)
- FCS =
0011 - 发送的帧:
11010110110011
接收方收到后用 10011 做模2除法,余数为0则传输正确。
面试题3:电路交换、报文交换和分组交换各有什么特点?
参考答案:
电路交换:通信前建立端到端的专用通路,通信期间独占线路。优点是延迟小且稳定、数据按序到达;缺点是线路利用率低,建立连接有开销。适合实时性要求高的通信(如传统电话)。
报文交换:采用存储转发方式,整个报文作为一个整体转发。优点是不需要建立连接,线路利用率较高;缺点是延迟大(因为要存储整个报文),需要大容量存储。适合非实时的大数据传输(如电报)。
分组交换:将报文拆分成小的分组,每个分组独立存储转发。优点是延迟小(分组小)、线路利用率最高、灵活(可走不同路径);缺点是有额外首部开销,分组可能乱序到达。适合互联网这种突发性强的数据通信。
面试题4:VLAN的工作原理是什么?802.1Q标签有什么作用?
参考答案:
VLAN(虚拟局域网)是在交换机上通过软件配置,将物理上的局域网在逻辑上划分为多个广播域的技术。
工作原理:
- 交换机根据端口或MAC地址将设备分配到不同的VLAN
- 同一VLAN内的设备可以互相通信,不同VLAN之间默认隔离
- 跨交换机的VLAN通信需要使用Trunk链路,在帧中插入802.1Q标签
802.1Q标签的作用:
- 标识帧所属的VLAN(VID字段,12位,支持4094个VLAN)
- 支持优先级标记(Priority字段,3位,支持8个优先级)
- TPID字段(0x8100)用于标识这是一个带标签的帧
面试题5:停止等待协议、GBN和SR三种滑动窗口协议的区别?
参考答案:
停止等待协议(SW):发送窗口=1,接收窗口=1。发一帧等一帧ACK,最简单但信道利用率最低。适用于延迟小的链路。
回退N帧协议(GBN):发送窗口>1,接收窗口=1。可以连续发送多帧,使用累积确认。出错时需要重传出错帧及其之后的所有帧。信道利用率较高,但出错时浪费带宽。
选择重传协议(SR):发送窗口>1,接收窗口>1。可以连续发送多帧,使用逐帧确认。出错时只重传出错的帧。信道利用率最高,但实现最复杂,接收方需要缓存乱序帧。窗口大小限制:W_T + W_R ≤ 2^n。
二十、模拟测试题
选择题/填空题
1. 在CSMA/CD中,若第5次发生冲突,发送方将从______个争用期中随机选择一个等待时间。
A. [0, 5] B. [0, 16] C. [0, 31] D. [0, 63]
2. 以太网帧的最小长度是64字节,这是因为( )
A. 数据链路层协议规定 B. 保证CSMA/CD能正确检测冲突
C. MAC地址长度决定 D. 传输介质限制
3. 下列关于CSMA/CD和CSMA/CA的说法正确的是( )
A. CSMA/CD用于无线网络 B. CSMA/CA使用ACK确认机制
C. CSMA/CD不需要监听信道 D. CSMA/CA不需要随机退避
4. CRC校验中,若生成多项式为 x³ + x² + 1,则应在数据后面追加______个0。
5. VLAN标签中VID字段的长度为______位,最多支持______个VLAN。
参考答案
1. C(第5次冲突,k=min(5,10)=5,从[0, 2⁵-1]即[0,31]中选择)
2. B(最小帧长64字节是为了保证在争用期51.2μs内能检测到冲突)
3. B(CSMA/CA使用ACK确认机制,因为无线环境中无法像CSMA/CD那样检测冲突)
4. 3(生成多项式最高阶为3,所以追加3个0)
5. 12位,4094个(12位可表示0~4095,其中0和4095保留,所以可用4094个)
二十一、互动话题
物理层和数据链路层的内容确实比较硬核,你觉得哪个知识点最难啃?是CRC计算、奈奎斯特/香农定理的公式推导,还是CSMA/CD的退避算法?
另外,你在实际工作或学习中有没有遇到过网络底层相关的问题?比如Wi-Fi信号差、网线接口接触不良之类的,欢迎在评论区分享你的经历!
下一期Day3我们将进入网络层,聊IP协议、子网划分、路由算法这些内容,这些是面试中问得最多的知识点之一,千万别错过!
&spm=1001.2101.3001.5002&articleId=161879217&d=1&t=3&u=bfe999e921ce42b69fa1dd2e269bf4e1)

被折叠的 条评论
为什么被折叠?



