一、以太网是什么?
以太网(Ethernet)是一种局域网通信标准,规定了设备如何通过有线介质(如网线、光纤)发送和接收数据。它由Xerox、Intel、DEC在1980年代制定,后来标准化为IEEE 802.3系列。
二、为什么需要以太网?
如果没有统一标准,不同厂商的设备可能无法通信。以太网提供了一个低成本、高兼容、易扩展的解决方案,成为局域网的主流技术。
三、核心概念(以太网是如何工作的)
|-------------|-------------------------------|
| MAC地址 | 以太网里怎么标识设备(谁是谁) |
| 以太网帧 | 以太网里数据长什么样(怎么封装) |
| CSMA/CD | 以太网里多个设备怎么共用一条线(半双工时代的规则) |
| 双工模式 | 以太网里能不能同时收发(半双工 vs 全双工) |
1. MAC地址
是什么:网卡的物理地址,出厂时烧录在硬件中,全球唯一。
格式 :16进制,如 00:1A:2B:3C:4D:5E
-
前24位:厂商代码(OUI,由IEEE分配)
-
后24位:设备序列号
作用:在同一个局域网内,根据MAC地址找到目标设备。
三种类型:
-
单播:发往唯一设备(最高字节最低位=0)
-
组播:发往一组设备(最高字节最低位=1)
-
广播 :发往所有设备(
FF-FF-FF-FF-FF-FF)
2. 帧(Frame)
以太网数据传输的基本单位,结构如下:
| | 前导码 | 目标MAC | 源MAC | 类型/长度 | 数据(含填充) | 校验(FCS) | |------|-------|------|-------|-------------|---------| | 8 字节 | 6 字节 | 6 字节 | 2 字节 | 46~1500 字节 | 4 字节 | |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
- 前导码:同步时钟
前 7 个字节是
10101010(交替的 0 和 1),叫做同步码。最后 1 个字节是
10101011(最后两位是 11),叫做帧首定界符 (SFD),表示"真正的帧头从这里开始"。
-
目标/源MAC:接收方和发送方地址
-
类型/长度:指示上层所用协议(告诉网卡:"数据部分送给哪个上层协议处理"。)或数据长度
0x0800→ IPv4
0x0806→ ARP
0x86DD→ IPv6
- 数据:至少46字节,不够则填充
为什么至少 46 字节?
为了保证冲突检测的有效性(最初 CSMA/CD 场景)。
最短帧 = 64 字节。
64 − 18 字节(目标+源+类型+FCS)= 46 字节数据 + 填充。
填充(Padding) :
如果上层数据不足 46 字节,网卡会在后面补
0,直到凑满 46 字节。
- 校验(FCS):检测传输错误,不匹配则丢弃该帧(不回复错误,由上层协议如 TCP 负责重传)
示例:
一个极短的 ARP 请求帧(不含前导码)
目标MAC(广播):FF-FF-FF-FF-FF-FF
源MAC:00:11:22:33:44:55
类型:0x0806(ARP)
数据:ARP 请求(28 字节)
填充:46 − 28 = 18 字节的 0x00
FCS:4 字节计算结果
总大小 = 6 + 6 + 2 + 46 + 4 = 64 字节(以太网允许的最小帧)。
3. CSMA/CD(载波监听多点接入/冲突检测)
这是早期以太网(总线型、同轴电缆)的访问控制方法:
-
先听后说:发送前先监听线路是否空闲
-
边听边说:发送时继续监听是否有冲突
-
冲突则停:一旦发现冲突,立即停止发送,发干扰信号通知所有设备
-
随机等待再重试 :等待一个随机时间后重发,使用二进制指数退避算法(冲突次数越多,等待时间可能越长)
现代交换式以太网(全双工、点对点连接)已基本不再需要CSMA/CD,但作为历史基础仍需了解。
二进制指数退避算法(Binary Exponential Backoff)是一种冲突解决与重试控制机制 ,广泛应用于以太网 CSMA/CD 、无线网络 CSMA/CA 、分布式系统以及数据库事务冲突处理中。其核心思想是:每次冲突后,等待时间的随机范围按指数增长,以降低再次冲突的概率。基本流程
初始化 :冲突计数器 k=0 ,最大冲突次数 k_max 通常为 10(以太网重传上限为 16 次)。
冲突检测 :若发生冲突,k = k + 1。
计算退避时间: 随机数 r 从区间 [0, 2^min(k,k_max) - 1] 中选取 退避时间 T = r × 基本退避时间(以太网中基本退避时间为 2τ,即 51.2μs)
重传或放弃 :若 k > 16,放弃发送并报告错误。
示例 假设以太网中发生第 2 次冲突:
k = min(2, 10) = 2
随机范围 [0, 3]
若 r=2 ,则 T = 2 × 51.2μs = 102.4μs
特点与应用
优点:简单高效,能快速降低冲突概率,适应高负载网络。
缺点:延迟随冲突次数指数增长,可能影响实时性;存在一定不公平性。
应用:以太网冲突重传、Wi-Fi信道竞争、分布式锁重试、数据库事务冲突处理等。
该算法的指数扩展+随机性设计,使其在高并发环境中依然能有效减少冲突,是网络与分布式系统设计中的核心机制。
4. 双工模式
-
半双工:同一时刻只能收或发(像对讲机)。需要CSMA/CD。
-
全双工:可同时收发(像打电话)。无冲突,不需CSMA/CD,带宽翻倍。
四、常见以太网类型(按速率)
| 名称 | 速率 | 介质类型 | 传输距离(典型) | 俗称/说明 |
|---|---|---|---|---|
| 10BASE-T | 10 Mbps | 双绞线(Cat3及以上,RJ45) | 100米 | 标准以太网 |
| 100BASE-TX | 100 Mbps | 双绞线(Cat5及以上,RJ45) | 100米 | 快速以太网 |
| 1000BASE-T | 1 Gbps | 双绞线(Cat5e/Cat6,RJ45) | 100米 | 千兆以太网 |
| 1000BASE-SX | 1 Gbps | 多模光纤(850nm 短波) | 220~550米 | 千兆光纤短距 |
| 1000BASE-LX | 1 Gbps | 单模或多模光纤(1310nm长波) | 多模550米/单模5公里 | 千兆光纤长距 |
| 10GBASE-T | 10 Gbps | 双绞线(Cat6a/Cat7,RJ45) | 100米 | 万兆以太网 |
| 10GBASE-SR | 10 Gbps | 多模光纤(850nm) | 300~400米 | 万兆光纤短距 |
| 10GBASE-LR | 10 Gbps | 单模光纤(1310nm) | 10公里 | 万兆光纤长距 |
| 10GBASE-ER | 10 Gbps | 单模光纤(1550nm) | 40公里 | 万兆光纤超长距 |
补充说明:
-
命名规则 :
速率BASE-介质类型-
速率:10、100、1000、10G等
-
BASE:基带传输
-
后缀:T(Twisted pair,双绞线)、SX(Short wavelength,短波多模)、LX(Long wavelength,长波)、SR/LR/ER(Short/Long/Extended Reach)
-
-
双绞线 vs 光纤:
-
双绞线:便宜、方便、100米限制
-
光纤:快、远、抗干扰、贵、需光模块
-
-
多模 vs 单模:
-
多模:粗芯、短距离(几百米)、光源便宜(LED/VCSEL)
-
单模:细芯、长距离(几~几十公里)、光源贵(激光)
-
-
应用场景:
-
普通办公/家庭:双绞线 (1000BASE-T)
-
机房服务器互联:10GBASE-SR (多模光纤)
-
校区/城域网:1000BASE-LX、10GBASE-LR/ER
-
六、交换机工作原理
总线型 (已淘汰)
所有设备连在一根同轴电缆上,易冲突,故障影响全局。
星型 (主流)
设备通过双绞线连接中心交换机。单点故障只影响自己,扩展方便。
树型
多级交换机级联,用于大型网络。
交换机是星型网络的核心,它:
-
维护一个MAC地址表(端口 ↔ MAC地址)
-
学习:收到帧后,记录源MAC和入端口
-
转发:根据目标MAC查找表,找到端口就只发往该端口(单播),找不到则广播到所有端口(除接收口)
-
过滤:同一端口上的两个设备通信,不会发到其他端口
七、虚拟局域网(VLAN)
VLAN允许在同一交换机上逻辑隔离成多个独立广播域。例如,把端口1-10划为VLAN 10(技术部),11-20划为VLAN 20(市场部)。这样:
-
不同VLAN间不能直接通信(需路由器)
-
广播只在本VLAN内传播
-
提高安全性和性能
配置VLAN时,交换机端口可设为:
Access端口
-
进出这个端口的数据帧不带VLAN标签
-
因为这个端口只属于一个VLAN,所以交换机知道:从这进来的数据属于哪个VLAN,往这出去的数据也只需要直接发送,不用贴标签
-
用途:连接终端设备(电脑、打印机、服务器),因为这些设备看不懂VLAN标签
Trunk端口
-
进出这个端口的数据帧带VLAN标签(802.1Q标签)
-
因为这个端口同时属于多个VLAN,所以必须靠标签来区分:当前这个数据到底属于哪个VLAN
-
用途:连接另一台交换机(或路由器),让一根线能同时跑多个VLAN的数据
VLAN 和以太网的关系:
VLAN(虚拟局域网)是建立在以太网之上的一种逻辑隔离技术,而不是替代以太网。可以这样理解:
以太网:物理上的局域网标准,规定了设备怎么连接、怎么发帧
VLAN:在以太网框架内,把一个物理网络切成多个逻辑上独立的"虚拟以太网"
1. VLAN 仍然使用以太网帧
VLAN 没有创造新的帧格式,而是在标准以太网帧里插入一个 VLAN 标签(802.1Q 标准):
目标MAC 源MAC VLAN标签(4字节) 类型/长度 数据 FCS VLAN 标签包含:
VLAN ID(12位):取值范围 1~4094,标识属于哪个虚拟局域网
优先级(3位):QoS 用
2. VLAN 解决了以太网的两个固有问题
以太网原生问题 VLAN 的解决方案 广播域太大:一个广播会发给所有设备 每个 VLAN 是一个独立广播域,广播只在 VLAN 内 无法精细隔离:只要在同一交换机就能互通 不同 VLAN 间默认隔离,必须通过路由器才能通信
以太网:一栋大楼(物理网络)
VLAN:用隔断把大楼分成多个独立办公区(逻辑隔离)
VLAN 标签:门禁卡上的区号,决定你能进哪个办公区