MAC帧格式
对于MAC帧格式则是从“目标物理地址”开始至“帧校验”结束为一完整的MAC帧。如下图4所示为MAC的完整帧,包括目标物理地址,源物理地址,类型/长度,数据以及帧校验CRC组成。
图4 MAC完整帧格式特别地,如图中4所示,“ VLAN Tag” 字段可选,当没有VLAN Flag则为Basic MAC帧,当存在该字段时,则为VLAN MAC帧,即MAC帧可分为基本MAC帧(无VLAN)和标记MAC帧(包括VLAN)两种。
其中“ 类型 ”字段通常可以为以下几种类型,且该类型列表由IEEE组织来维护,如下表3所示列举了车载以太网领域常用的Ethernet Type:
表3 车载以太网常用类型MAC寻址方式
MAC地址作为每个以太网接口的固定地址,一般由供应商出厂就固定下来不可更改。地址长度为 6Byte ,例如00-17-4F-08-78-88,其中前3个字节为组织编号,如下图5所示为MAC地址的寻址方式以及字节定义:
图5 MAC寻址方式(来源:Vector)如上图所示:前3个字节为组织唯一标识号,由IEEE分配给到网卡生产厂商,其中Byte5/Bit1表示该MAC地址是全球地址还是本地地址,Byte5/Bit 0 用于表示该帧为组播MAC地址,单播地址还是广播地址;
- 0:单播地址(1对1),普通终端设备接收;
- 1:组播地址(1对多),仅交换机会接收,普通终端设备不会接收;
- 48个bit全为1:表示为广播地址,所有设备均会接收;
MAC VLAN
VLAN作为一种分割广播域的技术手段,能够有效降低网络不必要的开销,全称为 虚拟局域网技术 。该技术分割广播域的方法有很多种,在此仅简要介绍下基于MAC的动态VLAN技术,如下图6所示:
图6 基于MAC的动态VLAN技术(来源 Vector)如上图所示,ECU1与ECU2被划分为属于同一VLAN1,而ECU2与ECU4则被划分为属于同一VLAN2。只需要提前配置好各ECU所属的VLAN即可,基于MAC的VLAN的优点在于即使换了连接端口或者交换机都可以自动重新识别,不需要重复进行配置,主要用于DHCP或者ARP协议发送广播帧的场景。
正如前面所述MAC帧可分为基本MAC帧(无VLAN)和标记MAC帧(包括VLAN)两种,而如果为如果时标记MAC帧,那么就会使用到VLAN Tag,同时“数据”字段的最小长度为不带VLAN标记的46Byte与带VLAN标记的42Byte,因为VLAN Tag占用了4个字节,最大数据长度均为1500Byte。
如下图7所示则为VLAN Tag的含义说明:
图7 VLAN Tag定义说明 (来源:Vector)如上图7所示,VLAN Tag总共可以分为以下3个部分:
- PRI(3Bit): 帧优先级,就是通常所说的802.1p;
- CFI(1Bit): 规范标识符,0为规范格式,用于802.3或Ethernet II以太网帧;
- VLAN ID: 就是VLAN的标识符ID;
网络层
网络层就是IP协议所在的层级,IP协议可以分为IPV4以及IPV6,常用的主要是IPV4,IP协议的主要作用就是基于IP地址转发分包数据。
同时IP也是一种分组交换协议,但是IP却不具备自动重发机制,即使数据没有达到目的地也不会进行重发,所以IP协议属于非可靠性协议。
车载以太网主要使用IPV4协议,同时由于该协议也属于传统以太网范畴,所以不会对该模块做过多细节性阐述。
IPV4协议头
图8 IPV4协议头由上可知, IP首部为20Byte 。
该协议头的各部分解释如下图:
图9 IPV4 协议头信息表IPV6协议头
图10 IPV6 协议头需要注意的是IPv6 数据报文是 IPv4 的 4 倍,IPv6 数据报文主要由两个部分组成:Header(首部)和 Payload(负载)。其中,IPv6 Header 的大小是 IPv4 的 2 倍。该协议头的各部分解释如下图:
图11 IPV6协议信息表
传输层
传输层的协议就是 TCP/UDP ,这两者协议彼此独立,也可以同时存在,看具体使用场景需求。TCP/UDP作为传统以太网的标准协议,在这里同样不做过多展开,仅整体介绍下TCP与UDP的特点及区别。
TCP协议
-
TCP协议头
图12 TCP协议头如下图13所示为TCP协议头的字段解释:
图13 TCP协议头信息表* TCP建立连接过程
TCP是面向连接的可靠的网络通信,因此要通信双方建立通信连接,必须经过我们常说的“ 三次握手 ”才能够开启以太网通信,如下图14所示为TCP的“三次握手”连接过程。
图14 TCP ”三次握手“过程
- TCP断开连接过程
TCP已经连接的双方如果需要断开,则需要 “四次挥手“ 来完成此过程”,如下图15所示:
图15 TCP”四次挥手“过程* TCP协议特点
从上述的TCP建立连接以及断开连接的过程,不难得出TCP是一种面向连接可靠的传输层协议。具体总结有以下一些特点:
- 面向无连接,即不需要建立连接便可以直接进行通信;
- 存在单播,多播,广播的功能;
- UDP是面向报文的,UDP的报文报经过IP层不会进行任何拆分或重组;
- 不可靠性:由于没有像TCP的拥塞控制以及出错自动重传等机制,则会导致发送的报文无法保证接收方是否收到,因为网络本身就存在诸多的不确定性;
UDP协议
UDP全称为用户数据包协议,在网络中与TCP协议一样用来处理数据包,是一种无连接的协议。同时UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
UDP协议头
如下图所示为UDP 协议头的组成:
图16 UDP协议头如上图所示, UDP首部为8Byte 。
各字段的具体含义如下表所示:
图17 UDP协议字段信息表* UDP协议特点
对比TCP协议,UDP具备以下一些特点:
- 面向无连接,即不需要建立连接便可以直接进行通信;
- 存在单播,多播,广播的功能;
- UDP是面向报文的,UDP的报文报经过IP层不会进行任何拆分或重组
- 不可靠性:由于没有像TCP的拥塞控制以及出错自动重传等机制,则会导致发送的报文无法保证接收方是否收到,因为网络本身就存在诸多的不确定性;
TCP与UDP区别
如下图所示,较为清晰的解释了TCP与UDP两者之间的区别,这让我们选择何种传输层协议提供了判断标准。
图18 UDP与TCP区别关系表
- TCP向上层提供面向连接的可靠服务 ,UDP向上层提供无连接不可靠服务;
- 虽然 UDP 并没有 TCP 传输来的准确,但是也能在很多实时性要求高的地方有所作为;
- 对数据准确性要求高,速度可以相对较慢的,可以选用TCP。
应用层
在车载以太网领域,目前主流涉及到的应用协议主要有UDP-NM,DOIP,Some/IP,SD以及传统以太网需配合支持的ICMP,ARP,DHCP等协议。
在本文我不会针对这些协议具体展开,因为每种协议内容不少,后续会专门针对这些应用层协议给大家讲解分享,敬请大家多多关注。
-
IEEE
+关注
关注
7文章
378浏览量
46850 -
Mac
+关注
关注
0文章
1099浏览量
51363 -
宝马
+关注
关注
7文章
748浏览量
32425 -
车载以太网
+关注
关注
18文章
218浏览量
22935
发布评论请先 登录
相关推荐
评论