以太网帧
-
MAC地址
-
美国电器和电子工程师协会IEEE -- IEEE802项目;符号IEEE802标准的网卡都必须要有MAC地址;
-
一个制造商在生产制造网卡前必须先向IEEE注册,获取到一个长度24bit(3字节)的厂商代码OUI;制造商在生产网卡过程中会往每块网卡的ROM中烧入一个48bit的固化地址(BIA);前三个字节为OUI,后三个字节由制造商自己确定;不同的网卡BIA地址的后三个字节不能相同;
-
MAC地址分类
-
单播MAC地址,第一个字节最低位是0的MAC地址;标识一块特定的网卡(BIA)
-
组播MAC地址,第一个字节最低为是1的MAC地址;标识一组网卡
-
广播MAC地址,每个比特都是1的MAC地址;标识所有网卡
-
-
以太网帧格式
-
前导码preamble:7字节
-
交替的0和1格式,指示帧的开始并允许发送方和接收方建立位同步;最初引入PRE以允许由于信号延迟而丢失一些位,今天的高速以太网不需要PRE来保护帧位;PRE标志开始传输数据。,并允许接收方在实际帧开始之前锁定数据流
-
-
帧界定起始符SFD:1字节
-
始终设置为 10101011;SFD 表示一帧数据的开始,即目标地址;有时 SFD 被认为是 PRE 的一部分,这就是 Preamble 在许多地方被描述为 8 Bytes 的原因。SFD 警告站点或站点这是同步的最后机会。
-
-
目的MAC地址:6字节
-
包含数据目的地机器的 MAC 地址。
-
MAC地址
-
单播地址:第一个字节最低位为0,表示唯一设备
-
组播地址:第一个字节的最低位为1,同属一组的多个设备
-
广播地址:全1,表示所有设备
-
-
-
源MAC地址:6字节
-
包含源机器的 MAC 地址。由于源地址始终是一个单独的地址(单播),因此第一个字节的最低有效位始终为 0。
-
-
长度/类型:2字节
-
当这两个数据小于1536时,表示以太网数据段的长度,也就是以太网数据段有多少个字节的数据。如果这两个字节的值大于1536,表示该以太网中的数据属于哪个上层协议
-
0x0800-IP协议,0x0806-ARP协议
-
-
DATA:Payload数据46~1500
-
循环冗余校验CRC:4字节
-
该字段包含一个 32 位的数据散列码,它是在目标地址、源地址、长度和数据字段上生成的。如果目的地计算的校验和与发送的校验和值不同,则接收到的数据已损坏。CRC数据校验从以太网帧头开始,不包含前导码和帧起始界定符
-
-
VLAN标记:4字节
-
以太网帧还可以包含一个 VLAN(虚拟局域网)标记,这是一个 4 字节的字段,插入在源地址之后和 EtherType 字段之前。此标记允许网络管理员在逻辑上将一个物理网络分成多个虚拟网络,每个虚拟网络都有自己的 VLAN ID。
-