clipboard.png

  • MAC地址总共为48bit,前24bit为各个厂商的唯一标识,后24bit为每个厂商为此网卡提供的唯一的身份标识。

C9DAD69B37634207A5C5AAA97159C541.jpg

  • 目的MAC地址的第一个字节的最后一位,如果是0的话说明这是一个单播地址
  • 如果这一位为1,其它位不同,则表明这是一个组播地址
  • 如果MAC全为1,这说明这是一个广播地址

F4F41386E9D74D08BCC31C82BBBD7DA3.jpg
A4F654BE3D7149C087E2842B6C0890F5.jpg

二层数据帧封装

  • 数据帧封装分为两种帧格式封装,一种为Ethernet II定义格式,一种为IEEE802.3定义格式

注:如何区分数据包使用哪种格式

  • 当数据包的长度大于或等于1536Byte时为Ethernet II协议封装
  • 当数据包的长度小于或等于1500Byte时为IEEE802.3协议封装

BF4662E9409F49E88A0B17A50CE89716.jpg

1 Ethernet II帧格式

Ethernet ii帧格式.png

  • 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校验位

**

2 IEEE802.3帧格式

image.png

  • 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

1.png

如果A主机发送的帧很小,很快完成帧的转发,而两台冲突主机相距很远,在主机A发送的帧传输到B的前一刻,B开始发送帧,这样,当A的帧到达B时,B检测到冲突,于是发送冲突信号,假如在B的冲突信号传输到A之前,A的帧已经发送完毕,那么A将检测不到冲突而误认为已经发送成功,因此必须有最小包长的限制。