是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)
以太 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标准的后继版本,正式允许两种类型的数据包同时存在。实际上,两种数据包都被广泛使用,而最初的以太数据包在以太局域网中被广泛应用,因为他的简便和低开销。
描述物理层和数据链路层的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字段的取值又可分为以下几类:
○ 当DSAP和SSAP都取特定值0xff时,802.3帧就变成了Netware-ETHERNET帧,
用来承载NetWare类型的数据。
○ 当DSAP和SSAP都取特定值0xaa时,802.3帧就变成了ETHERNET_SNAP帧。
ETHERNET_SNAP帧可以用于传输多 种协议。
○ DSAP和SSAP其他的取值均为纯IEEE802.3帧。
802.3帧的长度也是64-1518字节之间
以太网上使用两种标准帧格式。第一种是上世纪80年代初提出的DIX v2格式,即Ethernet II帧格式。Ethernet II后来被IEEE 802标准接纳,并写进了IEEE 802.3x-1997的3.2.6节。第二种是1983年提出的IEEE 802.3格式。这两种格式的主要区别在于Ethernet II格式中包含一个Type字段,标识以太帧处理完成之后将被发送到哪个上层协议进行处理,IEEE 802.3格式中,同样的位置是长度字段。
不同的Type字段值可以用来区别这两种帧的类型,当Type字段值小于等于1500(或者十六进制的0x05DC)时,帧使用的是IEEE 802.3格式。当Type字段值大于等于1536 (或者十六进制的0x0600)时,帧使用的是Ethernet II格式。以太网中大多数的数据帧使用的是Ethernet II格式。
数据链路层基于MAC地址进行帧的传输。
以太网在二层链路上通过MAC地址来唯一标识网络设备,并且实现局域网上网络设备之间的通信。MAC地址也叫物理地址,大多数网卡厂商把MAC地址烧入了网卡的ROM中。发送端使用接收端的MAC地址作为目的地址。以太帧封装完成后会通过物理层转换成比特流在物理介质上传输。
如同每一个人都有一个名字一样,每一台网络设备都用物理地址来标识自己,这个地址就是MAC地址。网络设备的MAC地址是全球唯一的。MAC地址长度为48比特,通常用十六进制表示。
MAC地址由两部分组成:
• 供应商代码: 组织唯一标识符(OUI,Organizationally Unique Identifier),由IEEE统一分配给设备制造商
• 序列号: 后24位序列号是厂商分配给每个产品的唯一数值,由各个厂商自行分配(这里所说的产品可以是网卡或者其他需要MAC地址的设备)。
参考自:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。