车载以太网-数据链路层

文章目录

  • 前言
  • 数据链路层概述
  • MAC(Media Access Control)地址
    • MAC地址的分类
    • MAC地址的工作原理
  • 帧格式
  • VLAN虚拟局域网(Virual Local Area Network)
    • VLAN帧
  • 交换机的作用
  • 总结


前言

接着上一篇车载以太网-物理层,接下来小编带大家认识一下物理层的上一层——数据链路层,完整以太网OSI参考体系模型中分为7层,而在TCP/IP体系模型中分为了5层,如图1所示。数据链路层是属于整个分层中的第二层,站在数据帧的层面上解决了同一网络中的数据传输问题。
车载以太网-数据链路层_第1张图片


数据链路层概述

“数据链路”是指在一段物理线路上存在多个节点,将实现通讯协议的硬件和软件加在链路上,以传输封装好的数据帧。我们熟知的CAN总线是以“广播”的形式发送报文,而以太网发送的报文特点是“点到点”的通讯,这就意味着每条报文的发送都需要知道发给谁,这里便需要引入IP地址的概念,IP地址属于OSI模型的第三层所以我们暂且先不解释;当我们知道了一条报文要发给谁时,我们就需要思考如何才能到那里,这就是MAC地址需要做的事。
举一个简单的例子:假设有一个人(一帧报文)想从城市A到城市B(这就是意味这帧报文携带了一个从哪到哪的信息即IP地址),首先搭乘高铁从城市A出发到城市C,然后再换乘从城市C去往城市B的高铁,这里的城市C相当于链路上的交换机(通常情况下主机与主机都需要连在交换机上进行通讯而非直接通信),城市A的进站口和城市B的出站口相当于网卡,用MAC地址进行标识。

MAC(Media Access Control)地址

MAC地址一般固化在网卡中,不能修改且唯一,用于标识一台主机,所以又称为“物理地址”或者“硬件地址”。MAC地址长度为6byte,前三个字节为“组织唯一标识符”,后三个字节为“本地管理”。其中Byte5的第一个bit位的0和1分别表示:单播地址和组播地址,Byte5的第二个bit位的0和1分别表示:全球统一配置和本地配置。如图2所示。
车载以太网-数据链路层_第2张图片

MAC地址的分类

  1. 广播的MAC地址:每个bit都为1的MAC地址即FF:FF:FF:FF:FF:FF,它的传输目标是所有用户,其只能作用于目标MAC地址而不能作用于源MAC地址,是一种特殊的组播。
  2. 组播MAC地址:Byte5的最低位为1的MAC地址,例如:01:00:00:00:00:01。组播地址可以是自己的组播地址也可是目标地址的组播地址;一个主机可以有一个组播地址也可以有多个组播地址,如图3所示,主机B点拥有多个组播地址。
  3. 单播MAC地址:Byte5的最低位为0的MAC地址,例如:AA:BB:CC:DD:EE:01。其第一字节“AA(1010 1010)”的最低位就为0;单播地址指代一个明确的目的地。
    车载以太网-数据链路层_第3张图片)

MAC地址的工作原理

对照图3所示,MAC地址的工作原理分为3步:
1)厂商为每个主机分配好MAC地址之后,将4个主机接入交换机,其中A主机发送报文,是先由交换机接收;
2)交换机先读取包头中的源MAC地址(即发主机A点的MAC地址),将该MAC地址和端口对应起来添加到交换机内存里的地址表中;
3)然后再读取包头中的目标MAC地址,对照内存里的地址看该MAC地址与哪个端口对应,如果地址表中有该MAC地址的对应端口,则将该数据包直接复制到对应的端口上;如果没有找到,则将该数据帧作为一个广播帧发送到所有的端口(接收到数据的端口除外),对应的MAC地址设备会自动接收该数据帧并进行回应,交换机将接收该帧数据的端口与这个目的MAC地址对应起来放入内存中的地址表中。
当目标地址为自己的组播01:00:00:00:00:01,那么主机B点和主机C点可以收到数据帧;而目标地址为目标组播01:00:00:00:00:02,那么主机B点和主机D点可以收到数据帧。
当目标地址为AA:BB:CC:DD:EE:02,则只有主机B能接收到。

帧格式

如图4所示为数据链路层的帧结构,前8个字节是前导码用于时钟同步即黄颜色部分,红色部分为MAC帧就是接下来详细解释的部分。
车载以太网-数据链路层_第4张图片
MAC帧分为两种,“Ethernet II"和"IEEE802.3",区别在于第13~14Type,当该两个字节大于等于1536(0x0600)时是“Ethernet II"类型;当该两个字小于等于1500(0x05DC)时是"IEEE802.3"类型。见图5所示。
车载以太网-数据链路层_第5张图片
D.MAC:目标地址
S.MAC:源地址
Type:类型,标识上层协议
FCS:帧校验序列
Length:帧包含的数据量必须小于等于1500(0x05DC)
DSAP:目标服务存取点(Destination Service Access Point)
SSAP:源服务存取点(Source Service Access Point)
control:无连接或者面向连接的DLL
Org Code:厂商代码
Type:协议类型

VLAN虚拟局域网(Virual Local Area Network)

虚拟局域网是将一个物理LAN在逻辑上划分为多个广播域的通信技术。
它有如下4个优点,结合图6:

  1. 由于广播域被限制在一个VLAN内,起到了限制广播域,降低网络带宽和终端资源消耗。
  2. 不同VLAN内的报文在传输时相互隔离,一个VLAN内的ECU不能与其他VLAN内的用户直接通信,提高了网络安全。
  3. 故障被限制在一个VLAN中,不会影响其他VLAN的正常工作,提高了网络的健壮性。
  4. 用VLAN可以划分不同的ECU到不同的工作组,灵活构建虚拟工作组。
    车载以太网-数据链路层_第6张图片

VLAN帧

在以太网类型帧中源MAC地址和类型间插入Tag帧,如图7所示。
TPID(Tag Protocol Identifier标签协议标识符):标识数据帧的类型,值0x8100时表示802.1Q帧。
PRI(优先级):标识帧的优先级。
CFI(Canonical Format Indicator标准格式指示符):在以太网环境中该值默认为0。
VLAN ID(VLAN标识符):标识该帧所属的VLAN,有效的VLAN ID范围一般为1~4094。
车载以太网-数据链路层_第7张图片

交换机的作用

简单解释一下什么是交换机?交换机负责连接网络设配和终端设备,如图8所示,交换机上有很多的接口可以连接主机或者路由器构成内部网络,位于模型的第二层(数据链路层),交换机的工作依赖于对MAC地址的识别,然后发送整个数据帧。帧的转发方式有两种,存储转发和直接交换。
车载以太网-数据链路层_第8张图片

总结

总体来说,数据链路层的知识要比物理层的知识多,在这一层我们认识了MAC地址是如何工作的以及VLAN虚拟网络的作用,也了解了一个重要硬件——交换机。仅对上述知识做了简单的介绍,更多的知识将会在下一篇中讲解,敬请期待。

你可能感兴趣的:(网络,汽车,架构)