- MAC地址总共为48bit,前24bit为各个厂商的唯一标识,后24bit为每个厂商为此网卡提供的唯一的身份标识。
- 目的MAC地址的第一个字节的最后一位,如果是0的话说明这是一个单播地址
- 如果这一位为1,其它位不同,则表明这是一个组播地址
- 如果MAC全为1,这说明这是一个广播地址
二层数据帧封装
- 数据帧封装分为两种帧格式封装,一种为Ethernet II定义格式,一种为IEEE802.3定义格式
注:如何区分数据包使用哪种格式
- 当数据包的长度大于或等于1536Byte时为Ethernet II协议封装
- 当数据包的长度小于或等于1500Byte时为IEEE802.3协议封装
1 Ethernet II帧格式
- 6Byte的目的MAC地址
- 6Byte的源MAC地址
- 2Byte的Type类型(0x0800为IP、0x0806为ARP、0x8847为MPLS)
- 46Byte-1500Byte的Data
- 48Byte的FCS校验
**
- 在Ethernet_II封装数据帧中:
- 数据帧最小为64Byte:
- 46Byte的数据单元+2Byte的Type+6Byte的D_MAC+6Byte的S_MAC+4Byte的FCS校验位
- 数据帧最大为1518Byte:
- 1500Byte的数据单元+2Byte的Type+6Byte的D_MAC+6Byte的S_MAC+4Byte的FCS校验位
- 数据帧最小为64Byte:
2 IEEE802.3帧格式
- 6Byte的目标MAC地址
- 6Byte的源MAC地址
- 2Byte的Length长度表示符
- 3Byte的LLC链路控制子层:
- 1Byte的D.SAP
- 1Byte的S.SAP
- 5Byte的S.NASP
- 3Byte的Org Code
- 2Byte的Type
- 38Byte—1492Byte的Data数据
- 4Byte的FCS校验位
IEEE802.3帧长度值小于等于1500
如果A主机发送的帧很小,很快完成帧的转发,而两台冲突主机相距很远,在主机A发送的帧传输到B的前一刻,B开始发送帧,这样,当A的帧到达B时,B检测到冲突,于是发送冲突信号,假如在B的冲突信号传输到A之前,A的帧已经发送完毕,那么A将检测不到冲突而误认为已经发送成功,因此必须有最小包长的限制。