2020
以太网数据帧、MAC
YuLong XiaoZhan
玉 龙 小 栈
以太网链路传输的数据包称做以太帧,或者以太网数据帧。在以太网中,网络访问层的软件必须把数据转换成能够通过网络适配器硬件进行传输的格式。二层交换机设备维护CAM表,而CAM表中存放的是MAC地址。今天给大家介绍一下以太网数据帧格式和MAC地址格式。
以太网数据帧
- 以太网II帧格式
- 802.3帧格式
- 作用:
- 将上层数据进行二层封装,在通信过程中要求数据必须封装成帧才能够被物理层转成bit(0,1),放在物理板卡上发送出去。
- 两种帧的区别
- 作用:
- 802.3要比ETH II传输数据更加可靠(802.3增加了LLC,SNMP控制字段)
- 802.3帧格式一般用于二层控制协议的封装,如:STP,GVRP,LACP,IS-IS。
- 格式:
- ETH II中S.MAC后为Type字段,802.3中S.MAC后为Length字段。
- 字段取值ETH II type字段的取值大>1536,802.3Length字段的取值大小<1500
- 承载数据量(data)ETH II >820.3
- 作用:
- 常见的ETH II帧Type取值
- 1、0x0800 表示该帧的上层封装的是IP协议
- 2、0x0806 表示该帧的上层封装的是ARP协议
- 3、0x86DD表示该帧的上层封装的是IPv6协议
- 4、0x8847(单)、8848(组)表示该帧的上层封装的是MPLS协议
- 5、0x8864表示该帧的上层封装的是PPPoE协议
- 6、0x8809表示帧的上层封装的是LACP协议
二层MAC地址
- 定义:
- 所有遵循IEEE802标准的网卡都必须要有一个MAC地址(Serial,E1.POS.SDH除外,这类接口都不是封装802协议),而所谓的以太网卡就是指遵循IEEE802协议的网络接口卡(网卡)
- MAC构成
- MAC地址一共6byte,48bit,由两部分组成名分别是供应商代码和序列号。其中前24位代表该供应商代码,由IEEE管理和分配。后24位由厂商自行分配。
- MAC地址表示方式
- 通过16进制来表示,一般通过(-)每2个或4个16进制为一组,例如:0012-1414-15A2;00-12-14-14-15-A2
- MAC地址分类
- 单播MAC
- 1to1通信,MAC地址第八位为0,表示单播。任何物理网卡出厂时MAC地址以及被烧录到网卡内,不能修改,且一定是单播MAC
- 组播MAC
- 1to多通信, MAC地址第八位为1,表示组播。组播MAC是一个虚拟MAC地址。不存在物理介质之上,一般用于特定协议监听通信的地址。
- 广播MAC
- 泛洪MAC地址全FF(同一个广播域内没有范围限制),一般用于协议寻址功能(如ARP)。
- 单播MAC
MAC Q&A
- 厂商生产的网卡烧录的MAC地址是否会重复,如果重复了会有什么问题?
- OUI IEEE分配给厂商,厂商可用为后24Bit,即能够分配的MAC为2^24=16,777,216,远远不够满足实际需要,所以MAC可能会出现重复的情况。
- 由于数据封装成帧需要封装MAC地址,当数据帧被路由器转发到其他广播域时会对数据帧中的源目MAC地址进行重复封装,所以只要重复的MAC地址不在同一个广播域就不会出现问题。
特定MAC地址
常见组播MAC
- 二层协议用到的二层MAC
- STP 0180-c200-0000
- ISIS Level-1 0180-c200-0014
- ISIS Level-2 0180-c200-0015
- 三层协议用到的二层MAC
- 0100-5E00-0005 OSPF
- 0100-5E00-0006 OSPF DR
- 0100-5E00-0009 RIP
- 0100-5E00-000D PIM
- 0100-5E00-0012 VRRP
- 0100-5E00-0016 IGMPv3
- 特殊单播MAC
- 0000-5E00-01XX VRRPv2 虚拟MAC
- 0000-5E00-02XX VRRPv3 虚拟MAC
- XX代表VRRP Vid,V2支持IPv4,V3支持IPv6