第 2 章:物理层与数据链路层 —— 信号如何"上路"¶
场景: 两台电脑用一根网线连在一起,它们怎么"对话"?网线里跑的是什么?如果信号传输出错了怎么办?本章从最底层的物理层和数据链路层讲起。
2.1 物理层:比特的"高速公路"¶
核心比喻:物理层就是公路本身
物理层不关心车上装的是什么货(数据内容),也不关心车要开到哪里(路由)。它只关心:路是柏油路还是水泥路(传输介质)、车道有多宽(带宽)、限速多少(传输速率)。
传输介质¶
| 介质类型 | 代表 | 特点 | 典型速率 |
|---|---|---|---|
| 双绞线 | 网线(Cat5e/Cat6) | 便宜、易安装、抗干扰一般 | 100Mbps~10Gbps |
| 同轴电缆 | 有线电视线 | 抗干扰强、带宽高 | 10Mbps~1Gbps |
| 光纤 | 单模/多模光纤 | 带宽极高、抗干扰最强、距离远 | 10Gbps~100Gbps+ |
| 无线 | Wi-Fi、蓝牙 | 灵活、无需布线、易受干扰 | 数十Mbps~数Gbps |
关键概念¶
| 概念 | 含义 | 单位 |
|---|---|---|
| 带宽 | 信道的最大数据传输能力 | bps(比特/秒) |
| 吞吐量 | 实际达到的数据传输速率 | bps |
| 时延 | 数据从源到目的地的时间 | ms(毫秒) |
| 误码率 | 传输错误比特占总比特的比例 | 无量纲 |
带宽 vs 吞吐量
带宽是公路的设计最高时速(理论值),吞吐量是你实际开车的速度(受堵车、路况影响)。实际吞吐量总是小于等于带宽。
2.2 数据链路层:相邻节点的"可靠对话"¶
核心比喻:数据链路层就是相邻两个中转站之间的交接流程
物流中,相邻两个中转站交接包裹时,需要确认:包裹数量对不对?有没有破损?签收单号对不对?
数据链路层在相邻两个网络节点之间做同样的事——把物理层传来的比特流组装成"帧",检查有没有错误,确认对方收到了。
帧的结构¶
┌──────────┬──────────┬──────────┬──────────┬──────────┐
│ 帧头 │ 源MAC地址 │ 目的MAC地址│ 数据 │ 帧尾(FCS)│
│ (前导码) │ (6字节) │ (6字节) │ (46~1500B)│ (4字节) │
└──────────┴──────────┴──────────┴──────────┴──────────┘
| 字段 | 作用 |
|---|---|
| 帧头(前导码) | 同步时钟,告诉接收方"帧来了" |
| 目的 MAC 地址 | 接收方的物理地址(48 位) |
| 源 MAC 地址 | 发送方的物理地址(48 位) |
| 数据 | 上层(网络层)传来的数据包 |
| 帧尾(FCS) | 帧校验序列,用于差错检测 |
MAC 地址¶
MAC(Media Access Control)地址是每个网卡出厂时烧录的全球唯一标识,共 48 位(6 字节),通常用十六进制表示:
00:1A:2B:3C:4D:5E
│ │ │
│ │ └── 设备标识(24位,由制造商分配)
│ └────── 组织唯一标识符 OUI(24位,由 IEEE 分配)
└────────── 单播/组播标志位
2.3 差错控制¶
数据在传输过程中可能出错(0 变成 1,或 1 变成 0)。数据链路层需要检测并处理这些错误。
CRC 循环冗余校验¶
CRC(Cyclic Redundancy Check)是最常用的检错方法:
- 发送方将数据除以一个预定的生成多项式,得到余数
- 将余数附加在数据后面发送
- 接收方用同样的多项式除以收到的数据
- 如果余数为 0,说明传输正确;否则有错误
CRC 能检测什么错误?
- 所有单比特错误
- 所有双比特错误(取决于多项式)
- 所有奇数个比特错误
- 长度小于等于校验位数的突发错误
2.4 CSMA/CD —— 以太网的"交通规则"¶
核心比喻:CSMA/CD 就像在圆桌会议上发言
一群人围坐在圆桌旁,只有一个人能同时发言:
- 先听后说 (CS):想说话前先听听有没有人在说
- 边听边说 (CD):说话的同时也在听,如果发现和别人同时开口了(冲突)
- 冲突停止 :立即停止说话
- 随机等待 :等一段随机时间后再试
这就是 CSMA/CD(载波监听多路访问/冲突检测)的核心思想!
CSMA/CD 工作流程:
1. 载波监听(Carrier Sense)
↓ 信道空闲?
2. 发送数据
↓ 同时监听
3. 检测到冲突?
├── 否 → 发送完成 ✅
└── 是 → 发送干扰信号 → 随机退避 → 回到步骤 1
| 步骤 | 含义 |
|---|---|
| 载波监听 | 发送前先检测信道是否空闲 |
| 多路访问 | 多个站点共享同一信道 |
| 冲突检测 | 发送过程中持续监听,发现冲突立即停止 |
| 退避算法 | 冲突后随机等待一段时间再重试(二进制指数退避) |
2.5 常见考试题型¶
例题 1: MAC 地址的长度是( )位。
A. 32 B. 48 C. 64 D. 128
查看答案
答案:B
MAC 地址长度为 48 位(6 字节),通常用 12 个十六进制数字表示,如 00:1A:2B:3C:4D:5E。
例题 2: 以下关于 CSMA/CD 的描述,正确的是( )。
A. 发送数据前不需要检测信道 B. 检测到冲突后继续发送数据 C. 采用"先听后说、边听边说"的机制 D. 冲突后立即重发数据
查看答案
答案:C
CSMA/CD 的核心是"先听后说"(发送前检测信道)和"边听边说"(发送中检测冲突)。检测到冲突后立即停止发送,随机等待后再重试。
例题 3: 数据链路层的数据传输单元称为( )。
查看答案
答案:帧(Frame)
物理层传输比特(Bit),数据链路层将比特组装成帧(Frame),网络层传输包(Packet),传输层传输段(Segment)。
要点总结¶
- 物理层负责比特流的物理传输,关注传输介质、带宽、时延
- 数据链路层负责相邻节点间的可靠传输,数据单元为帧
- MAC 地址是 48 位的物理地址,全球唯一
- CRC 循环冗余校验用于检测传输错误
- CSMA/CD 是以太网的介质访问控制方法:"先听后说、边听边说、冲突停止、随机等待"
课后练习¶
-
概念辨析 :比较物理层和数据链路层的功能区别,各举一个典型设备。
-
计算练习 :一个 100MB 的文件通过 100Mbps 的链路传输,忽略其他开销,理论最短传输时间是多少?
-
真题演练 :CSMA/CD 中,检测到冲突后采用的退避算法是( )退避算法。
下一章预告: 数据链路层解决了相邻节点的通信。但互联网上有亿万台设备——数据怎么找到千里之外的目标?第 3 章将学习 IP 地址和子网划分——网络层的核心。