目录
1.数据链路层概述
2.以太网帧结构
3.MAC地址
4.VLAN的概念
5.MAC与PHY的接口
6.小结
1.数据链路层概述
MAC:Media Access Control,媒体访问控制子层,负责以太网的总线访问机制、物理寻址方式、以太网帧格式等等 LLC:Logical Link Control ,逻辑链路控制子层,主要负责以太网帧的收发,还可以对以太网帧进行错误控制、流控等。
2.以太网帧结构
Preamble/Start of Frame Delimiter:一共8字节(7+1),Preamble固定7个byte(b10101010,0xAA),SFD固定一个byte(b10101011,0xAB);前导字节提供信号边缘,使通信双方的时钟可以彼此同步,SFD之后表示一个MAC帧开始传输; 地址域:每一个MAC帧都包含了两个MAC地址:目的地址、源地址,分别对应接收方地址和发送方地址,每个MAC地址长度为6字节,它是MAC层最关键的概念,就像是门牌号,必须有这些地址才能准确投递,MAC地址后面我们详解,这里先有个概念; 802.1Q tag:作为可选项,用在VLAN领域,后面详解; 长度\类型域:该域包含2个字节,根据数值不同表示的含义也有所不同; 当该值小于等于1500(0x05DC)时,表示后续有效Payload的长度; 当该值大于等于1536(0x0600)时,表示Eternet II帧,如下图: Payload:表示实际数据,例如在该层级数据开头有可能是IP层的Header; CRC:保证数据完整性,参与计算数据包括DA(Destination Address),SA(Source Address), Length/ Type field, Payload,如果CRC校验失败,那么交换机或者MAC就直接丢弃该帧;Interframe Gap:帧间隙(IFG),至少12字节,为接收下一帧做恢复准备。
3.MAC地址
OUI:前3个字节表示组织的唯一标识,需要在IEEE申请购买,大厂会购买多个OUI,例如我现在这台电脑用的Intel网卡,MAC地址前三个字节与IEEE公示的匹配:
Local:后三个字节表示本地管理地址,制造商可以用它给产品分配唯一的MAC地址。
第 0 bit 为I/G为,置 0表示单播地址,即某个设备的MAC地址;置1表示地址字段包含一个组地址,即可以是组播,也可以是广播; 第1 bit 为U/L,置0表示全局管理地址,由IEEE分配;置1,表示本地管理地址,一般是为了加强本地网络管理指定的地址。
广播(Broadcast):想要所有节点都能收到,MAC地址设置为FF:FF:FF:FF:FF:FF; 组播(Multicast):指定多个MAC地址的节点接收消息,首字节设置为0x01; 单播(点对点):指定某个MAC地址节点接收消息,首字节设置为0x00;
4.VLAN的概念
TPID:固定0x8100,表示以太网帧扩展为VLAN Tag TCI:包含PCP(Priority Code Point ,3 bits,帧优先级,值越大优先级越高),DEI(Drop Eligible Indicator,1 bit,表示网络阻塞时该帧可被丢弃),VLAN ID(12bits,从0-4095)
5.以太网节点接口
MII:最初定义的接口,用于10 Mb/s以太网传输,它包含十六根信号和2个控制管理信号(MDC\MDIO),具体信号举例如下(Intel):
RMII:Reduced MII,接口信号数量只需原始MII所需信号数量的一半,接口时钟由MII 25 MHz提高到50 MHz; GMII:Gigabit MII,千兆以太网接口; RGMII:精简GMII,通过更快地传输数据等,使用的信号数量是GMII的一半,支持10\100\1000 Mbps,接口信号如下: