数据链路层(Ethernet II / 802.3)
原创
数据链路层(Data Link Layer)
是OSI参考模型第二层,位于物理层与网络层之间。在广播式多路访问链路中(局域网),由于可能存在介质争用,它还可以细分成介质访问控制(MAC)子层和逻辑链路控制(LLC)子层,介质访问控制(MAC)子层专职处理介质访问的争用与冲突问题。
作用:
• 在两个网络实体之间提供数据链路连接的创建、维持和释放管理。
• 构成数据链路数据单元(frame:数据帧或帧),并对帧定界、同步、收发顺序的控制。
• 传输过程中的网络流量控制、差错检测和差错控制等方面。
• 只提供导线的一端到另一端(本质是点到点)的数据传输。
• 数据链路层会在 frame 尾端置放检查码(parity,sum,CRC)以检查实质内容,将物理层提供的可能出错的物理连接改造成逻辑上无差错的数据链路,并对物理层的原始数据进行数据封装。
数据链路层中的数据封装是指:封装的数据信息中,包含了地址段和数据段等。
• 地址段含有点对点发送节点和接收节点的地址(如MAC),
• 控制段用来表示数格连接帧的类型,数据段包含实际要传输的数据。
数据链路层的协议:

• 异步传输模式 (ATM)
• 帧中继 (Frame Relay)
• 高级资料链接控制(HDLC)
• 点对点协议(PPP)
• VLAN(IEEE 802.1Q)
• 以太网(Ethernet II / IEEE 802.3)
• Wi-Fi(IEEE 802.11)
Ethernet II
以太 II 帧 (也称作DIX以太网,是以这个设计的主要成员,DEC,Intel和Xerox的名字命名的。)

报文头组成:
它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于标示封装在这个Frame里面数据的类型)
接下来是46--1500 字节的数据,和4字节的帧校验
• DMAC(Destination MAC):是目的MAC地址。DMAC字段长度为6个字节,标识帧的接收者。
• SMAC(Source MAC):是源MAC地址。SMAC字段长度为6个字节,标识帧的发送者。
• Type(类型字段):用于标识数据字段中包含的高层协议,该字段长度为2个字节。
- § 0x0800的帧代表IPv4协议帧;
- § 0806的帧代表ARP协议帧,
- § 0x8100说明这是一个IEEE 802.1Q帧,
- § 0x86DD说明这是一个IPv6帧。
• Data(数据字段):是网络层数据,最小长度必须为46字节以保证帧长至少为64字节,数据字段的最大长度为1500字节。
• FCS(循环冗余校验字段):提供了一种错误检测机制。该字段长度为4个字节。
通过正式的IEEE标准化过程后,在802.3标准中以太类型字段变成了一个(数据)长度字段。(最初的以太包通过包括他们的帧来确定它们的长度,而不是以一个明确的数值。)但是包的接收层仍需知道如何解析包,因此标准要求将IEEE802.2头跟在长度字段后面,定义包的类型。多年之后,802.3x-1997标准,一个802.3标准的后继版本,正式允许两种类型的数据包同时存在。实际上,两种数据包都被广泛使用,而最初的以太数据包在以太局域网中被广泛应用,因为他的简便和低开销。
IEEE 802.3
描述物理层和数据链路层的MAC子层的实现方法,在多种物理媒体上以多种速率采用CSMA/CD访问方式


IEEE802.3帧格式类似于Ethernet_II帧,只是Ethernet_II帧的Type域被802.3帧的Length域取代,并且占用了Data字段的8个字节作为LLC和SNAP字段。
• MAC(MediaAccessControl)媒体访问控制层,该层定义了数据包怎样在介质上进行传输。
• LLC (LogicalLinks Control) 逻辑链路控制层
• Length字段: 定义了Data字段包含的字节数。
• LLC(逻辑链路控制 Logical Link Control):由目的服务访问点DSAP(Destination Service Access Point)、
源服务访问点SSAP(Source Service Access Point)和Control字段组成。
• SNAP(Sub-network Access Protocol):由机构代码(Org Code)和类型(Type)字段组成。
Org code三个字节都为0。Type字段的含义与Ethernet_II帧中的Type字段相同。
• IEEE802.3帧根据DSAP和SSAP字段的取值又可分为以下几类: