Ethernet Protocol以太网协议
文章目录
- Ethernet Protocol以太网协议
- 理论知识
- 基本概念
- 以太网帧结构
- Ethernet II 和 IEEE 802.3(原始) 帧的关键区别:
- 常见问题
- 抓包理解
- 示例一:ssh连接时的抓包情况
- 示例二:ping 的抓包情况
Ethernet Protocol以太网协议
以太网协议(Ethernet Protocol)是一种广泛应用于局域网(LAN)
的通信标准,定义了数据如何在物理介质上传输以及设备如何通过共享网络介质进行通信。以下是其核心要点
理论知识
基本概念
-
OSI模型位置:主要工作在数据链路层(
Layer 2
)和物理层(Layer 1
)。 -
核心功能:通过帧(
Frame
)格式在设备间传输数据,解决寻址、冲突检测等问题。
以太网帧结构
IEEE 802.3
标准格式
字段 | 长度(字节) | 说明 |
---|---|---|
前导码 | 7 | 同步时钟信号,固定为0xAA(10101010),用于同步发送方和接收方的时钟。 |
帧起始定界符 | 1 | 标记帧的开始,固定为0xAB。 |
目的MAC地址 | 6 | 目标设备的物理地址(如00:1A:2B:3C:4D:5E)。 |
源MAC地址 | 6 | 发送方的物理地址。 |
长度/类型 | 2 | 帧长度(IEEE 802.3)或上层协议类型(例如0x0800表示IPv4)。 |
数据(Payload) | 46-1500 | 有效载荷(如IP数据包)。如果数据不足46字节,需要填充至最小长度。 |
帧校验序列(FCS) | 4 | CRC校验值,用于检测传输错误。 |
Ethernet II
帧格式
字段 | 长度(字节) | 说明 |
---|---|---|
前导码 | 7 | 同步时钟信号(0xAA)。 |
帧起始定界符(SFD) | 1 | 帧开始标志(0xAB)。 |
目的MAC地址 | 6 | 目标设备的物理地址。 |
源MAC地址 | 6 | 发送方物理地址。 |
类型(Type) | 2 | 关键区别:标识上层协议(如0x0800=IPv4,0x0806=ARP)。 |
数据(Payload) | 46-1500 | 有效载荷(如IP数据包)。 |
FCS(帧校验序列) | 4 | CRC校验值。 |
- 各字段的详细作用:
-
前导码:这是用来同步发送方和接收方的时钟信号,确保设备可以准确地解码数据帧中的信息。它通常由0xAA组成,形成一系列的10101010的比特模式。
-
帧起始定界符:这个字段表示帧的开始,它标志着数据部分的起始,确保接收方知道何时开始解析接收到的数据。
-
目的MAC地址:这是目标设备的物理地址,每个网络设备都有一个唯一的MAC地址,接收方根据这个地址决定是否处理当前帧。
-
源MAC地址:这是发送设备的物理地址,接收方可以通过这个地址来知道数据的来源。
-
长度/类型:这个字段的意义在于表示帧的长度或上层协议的类型。它的值可以表示不同类型的协议:
- 在IEEE 802.3标准中,它表示数据部分的字节数(即帧的长度)。
- 在Ethernet II框架中,它指示数据帧中包含的上层协议类型(例如,0x0800表示IPv4协议,0x0806表示ARP协议)。
-
数据(Payload):这是数据帧中最重要的部分,包含了实际传输的有效数据。最小长度是46字节(如果实际数据小于46字节,必须填充),最大长度是1500字节,超出部分可能需要通过其他协议进行分段。
-
帧校验序列(FCS):这是4个字节的循环冗余校验(CRC)值,用来检测数据是否在传输过程中出现了错误。接收方会计算接收到的数据的CRC值并与FCS进行比对,如果不匹配,说明数据传输过程中出现了错误。
-
Ethernet II 和 IEEE 802.3(原始) 帧的关键区别:
特性 | Ethernet II | IEEE 802.3(原始) |
---|---|---|
类型/长度字段 | Type(标识上层协议) | Length(数据字段长度,≤1500) |
适用场景 | 现代网络(如TCP/IP) | 早期网络(需LLC子层解析协议) |
协议标识 | 直接通过Type字段指明 | 需依赖LLC(逻辑链路控制)头 |
常见类型值 | 0x0800(IPv4)、0x86DD(IPv6) | 长度值≤1500(如0x005E=94字节) |
- Ethernet II 帧使用 Type 字段来标识上层协议类型,如IPv4(0x0800)或IPv6(0x86DD),因此它非常适用于现代网络协议(如TCP/IP)。
- IEEE 802.3 帧的 Length 字段表示数据字段的长度,且它需要通过 LLC(逻辑链路控制) 子层来解析上层协议。
常见问题
-
MTU
(最大传输单元):以太网默认1500字节(Payload),超过需分片。 -
MAC vs. IP:MAC是物理地址,IP是逻辑地址;ARP协议负责两者映射。
-
MAC地址详解
抓包理解
使用Wireshark
抓包本地虚拟机网卡数据进行观察
示例一:ssh连接时的抓包情况
- 可以捕捉到目标MAC地址和源MAC地址
- 可以捕捉到上层协议
IPV4
- 工具会忽略前导码,帧起始定界符和FCS(帧校验序列)
示例二:ping 的抓包情况
- ARP 缓存可能包含通过 ping 或其他通信记录的网络设备MAC地址。测试前先清除
#清空命令:
sudo ip -s -s neigh flush all # 清空所有ARP缓存条目
- 首次与广播发出
- 拿到目标MAC地址后,可以单播形式通信