以太网技术

一、以太网是什么?

以太网(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 、分布式系统以及数据库事务冲突处理中。其核心思想是:每次冲突后,等待时间的随机范围按指数增长,以降低再次冲突的概率。

基本流程

  1. 初始化 :冲突计数器 k=0 ,最大冲突次数 k_max 通常为 10(以太网重传上限为 16 次)。

  2. 冲突检测 :若发生冲突,k = k + 1

  3. 计算退避时间: 随机数 r 从区间 [0, 2^min(k,k_max) - 1] 中选取 退避时间 T = r × 基本退避时间(以太网中基本退避时间为 2τ,即 51.2μs)

  4. 重传或放弃 :若 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公里 万兆光纤超长距

补充说明:

  1. 命名规则速率BASE-介质类型

    • 速率:10、100、1000、10G等

    • BASE:基带传输

    • 后缀:T(Twisted pair,双绞线)、SX(Short wavelength,短波多模)、LX(Long wavelength,长波)、SR/LR/ER(Short/Long/Extended Reach)

  2. 双绞线 vs 光纤

    • 双绞线:便宜、方便、100米限制

    • 光纤:快、远、抗干扰、贵、需光模块

  3. 多模 vs 单模

    • 多模:粗芯、短距离(几百米)、光源便宜(LED/VCSEL)

    • 单模:细芯、长距离(几~几十公里)、光源贵(激光)

  4. 应用场景

    • 普通办公/家庭:双绞线 (1000BASE-T)

    • 机房服务器互联:10GBASE-SR (多模光纤)

    • 校区/城域网:1000BASE-LX、10GBASE-LR/ER

六、交换机工作原理

  1. 总线型 (已淘汰)

    所有设备连在一根同轴电缆上,易冲突,故障影响全局。

  2. 星型 (主流)

    设备通过双绞线连接中心交换机。单点故障只影响自己,扩展方便。

  3. 树型

    多级交换机级联,用于大型网络。

交换机是星型网络的核心,它:

  • 维护一个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 标签:门禁卡上的区号,决定你能进哪个办公区

相关推荐
24zhgjx-lxq2 小时前
OSPF的网络类型:NBMA和P2MP
网络·智能路由器·hcip·ensp·ospf
苦逼大学生被编程薄纱2 小时前
Ext 文件系统基础:Linux 存储基石入门(下)
linux·运维·服务器
Lumos_7772 小时前
Linux -- 进程
linux·运维·服务器
Johnstons2 小时前
丢包率不高但应用仍然卡顿?一次基于 tcpdump +RTT抽样的网络性能排障实战
网络·wireshark·php·tcpdump
IpdataCloud3 小时前
IP查询高精度怎么选?8个指标判断是否适合你
网络·网络协议·tcp/ip
聊点儿技术3 小时前
IP风险等级评估是什么?跨境电商业务场景全解析
网络·网络协议·tcp/ip
小此方3 小时前
Re:Linux系统篇(五)指令篇 ·四:shell外壳程序及其工作原理
linux·运维·服务器
其实防守也摸鱼3 小时前
sqlmap下载和安装保姆级教程(附安装包)
linux·运维·服务器·测试工具·渗透测试·攻防·护网行动
herinspace3 小时前
如何解决管家婆辉煌零售POS中显示的原价和售价不一致?
网络·人工智能·学习·excel·语音识别·零售