01-车载以太网笔记-总体概述

一. 车载以太网发展历史

自1980年至今,IEEE组织、OPEN Aliance SIG组织、宝马、博通公司等为传统以太网到汽车领域的应用拓展发挥了十分关键的作用,重要里程碑事件记录如下:
1980年,Ethernet 1.0成功发布;
1985年,IEEE 802小组公布802.3协议,推出了基于CSMA/CD的10M以太网技术;
2004年,BMW公司考虑采用博通公司的以太网技术并于2008年在宝马7系上成功量产以太网刷写技术,其中关键点在于博通公司的单对非屏蔽以太网全双工技术,并保证EMC测试全部PASS;
2013年,BroadR-reach技术成功在宝马5系的环视系统中成功量产;
近年来由著名汽车整车厂与供应商组成的OPEN Aliance SIG相继发布了TC8(车载以太网ECU测试规范)以及TC10(车载以太网休眠唤醒规范),同时携手IEEE将车载以太网标砖转化为通用标准。

二、车载以太网总体架构

在这里插入图片描述
在这里插入图片描述
图 车载以太网OSI总体架构

首先针对图中AVNU,IEEE,AUTOSAR以及OPEN Aliance SIG组织做简要介绍,以便能够较为清晰地了解各组织在车载以太网总体架构地主要贡献及主要目标。
AVNU: 致力于推进AVB/TSN时间敏感网络在汽车领域的应用,使以太网成为一种时间确定性的实时网络;
IEEE: 电气与电子工程师协会,其中802.3工作小组致力于推进以太网相关标准的制定与完善;
AUTOSAR: 汽车开放式系统架构组织,致力于实现汽车软硬间之间解耦的标准同时也为车载以太网软件层级作出了相关规范说明;
OPEN Aliance SIG: 为非盈利性的汽车行业和技术联盟,旨在鼓励大规模使用以太网作为车联网标准;
同时,从上图中可以看出标记为“IT”则为传统以太网技术协议规范,而标记为“Automotive”则为车载以太网技术协议规范。
显而易见,除了物理层、UDP-NM、DOIP、SOME/IP、SD这五个模块为车载以太网技术协议规范之外,其余均为传统以太网技术。
在这里插入图片描述
在这里插入图片描述

三、物理层

3.1 总体说明

车载以太网与传统以太网相比,车载以太网仅需要使用1对双绞线,而传统以太网则需要多对,线束较多。
同时,传统以太网一般使用RJ45连接器连接,而车载以太网并未指定特定的连接器,连接方式更为灵活小巧,能够大大减轻线束重量。除此以外,车载以太网物理层需满足车载环境下更为严格的EMC要求,对于非屏蔽双绞线的传输距离可达15m(屏蔽双绞线可达40m)。
虽然车载以太网只采用单对差分电压传输的双绞线,但是100M/s以太网可以通过回音消除技术来实现全双工通信。下面就通过表格形式列举出当前主流的物理层标准:
在这里插入图片描述
表 车载以太网物理层标准

从上表可知,当下主流的车载以太网协议主要为IEEE 100BASE-T1以及IEEE 1000BASE-T1,常规使用可采用100BASE-T1,如果需要更高带宽,可选择1000BASE-T1。
不过因为速率越高,对车载以太网物理层一致性测试就更为严格。
其中以太网所有物理层的功能全部集中在一个称为“PHY”的模块中,它将以太网控制器以及物理介质连接在一起,并且通过一个标准化接口MII连接,同时PHY模块与底层介质通过MDI接口连接,以100BSASE-T1所示,如下图所示:
在这里插入图片描述
图 物理层PHY接口结构图 (来源:Vector)
在这里插入图片描述
物理层PHY:数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口;
数据链路层MAC:提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。
100BASE-T1在物理连接上使用了一对双绞线实现全双工的信息传输,而100BASE-TX则使用了两对双绞线实现全双工,一对用于收,另一对用于发。
100BASE-T1利用所谓的回音消除技术(echo cancellation)实现了在一对双绞线上的全双工通信。
回音消除技术的主要过程:作为发送方的节点将自己要发送的差分电压加载到双绞线上,而作为接收者的节点则将双绞线上的总电压减去自己发出去的电压,做减法得到的结果就是发送节点发送的电压。
车载以太网固定为全双工通信方式,出于对汽车启动时间的考虑而没有引入自动协商机制,此外车载以太网是通过单对非屏蔽或屏蔽电缆连接。

3.2 物理层架构

物理层主要作用:
1)定义硬件接口;
2)定义信号与编码;
3)定义数据与信号之间的转换收发;
物理层基本架构
在这里插入图片描述
主要包括PMD,PMA和PCS。
PMD,介质依赖层,主要职责是转换PMA的数据与实际网络上的信号。发送时,它从PMA读取数据并执行实现该功能所需的必需的低级行编码功能设计的媒介。接收时,它会读取并解释这些内容编码信号,然后将它们转换回位以发送到PMA。
PMA,介质连接层,结余PMA和PCS之间,其中PMD是按照bit串行处理方式,而PCS则是按照数据块处理方式,因此PMA则是起到中间转换的作用,此外还起到数据冲突检测的功能。
PCS,编码子层,主要进行初始编码 ,实现特定于以太网速度和传输介质要求的子层中的一部分。
注:Broad-Reach的PHY只由PCS和PMA子层组成,没有物理媒介相关(PMD)子层。

3.3 物理层控制器的架构

在这里插入图片描述
其中,MDI , Medium Dependent Interface。MII Medium Independent Interface,MIIM主要用于寄存器的配置管理。
我们这里需要注意的是RXD 和TXD都是4个数据。

3.4 物理层编码原理

首先总线上的电平信号有,-1 0 和 1如图:
在这里插入图片描述
数据和电平的编码转换关系有如下表关系:
如数据 000 对应两根线上的电平为 -101 ,
在这里插入图片描述
主要数据到电平转换过程为以下四步:
1.首先从MII接收到数据(4bit 4bit…)
2.接下来分割成(3bit 3bit…)进行处理;
3.根据上表,电平与数据编码的关系,转换为电平信号;
4.将电平信号发到总线。
在这里插入图片描述
一个案例说明以上的转换过程:
在这里插入图片描述
100Mbps 速度的由来:
在微控制器的每个时钟周期中,MII接口到来的数据是4个bit,PHY从MII接口收到数据后,会首先进行一个4B3B的转换,为了匹配25MHz * 4bit = 100Mbit/s的速率,PHY的MII接口时钟周期应该是33.3333M,每次接收3bit,也实现了33.3333M * 3bit = 100Mbit/s的速率。之后PHY要再进行3B2T的操作,将每次接收到的3个bit转化为2个电平值(取值范围是-1,0,1),具体的对应关系如上图中的表所示。3个bit有8种组合(即2的三次方),两个电平值有9种组成(即3的平方),所以后者可以覆盖前者。此时时钟周期仍然是33.333M,但是每个时钟周期中的两个电平就能够表示3个 bit了,所以此时的数据速率仍然是100Mbit/s,每个电平实际上包含了1.5bit信息。最后一步是PAM3,将逻辑的-1,0,1转化为在双绞线上的电压,所以,最终在总线上信号的波特率是66.666MHz,但是它实现了100Mbit/s的通信速率。

四、 数据链路层

数据链路层可细分为LLC(Logic Link Control)以及MAC(Media Access Control)两个层级。此两层级定义与作用如下:
LLC:负责向上层提供服务,管理数据链路通信,链接寻址定义等,与所用物理介质没有关系;
MAC:负责数据帧的封装,总线访问方式,寻址方式以及差错控制等,MAC层的存在则可以使得上层软件与所用物理链路完全隔离,保证了MAC层的统一性;
其中LLC子层的服务与服务在IEEE 802.2 LAN协议中有所定义,MAC层的主要功能作用则在IEEE 802.3中定义,并采用CSMA/CD访问控制方式,一般MAC层协议在俗称的“网卡”中实现。

4.1 MAC控制器架构

在这里插入图片描述
其中比较关键的是MII 和 MIIM 与PHY接口连接。
数据发送,MAC协议会判断当前是否适合发送数据,若能,它会在将要发送的数据上附加一些控制信息,最终使数据以规定的格式到达物理层;
数据接收,它会判断数据是否有错误,如果没有错误的话,它会去掉附加的控制信息发送至LCC(逻辑链路控制)子层。
MIIM接口包括MDIO(控制和管理PHY以获取PHY的状态)和MDC(为MDIO提供时钟)。
MDC由MAC提供,MDIO是一根双向的数据线。用来传送MAC层的控制信息和物理层的状态信息。
MDIO数据与MDC时钟同步,在MDC上升沿有效。

4.2 MAC寻址方式

在我们给别人联系时,我们往往需要知道对方的邮件地址或电话或住址,而以太网通信也是类似。因此需要通信的两个设备,必须具有唯一标识的MAC地址。
MAC地址长度为48bit、6byte,前三个字节是组织标识ID,后三个字节是本地管理ID。
在这里插入图片描述
全局或本地地址U/L:第一个字节的第二位MAC地址的OUI字段(从右数第二低位开始计数)被称为U / L(通用/本地)标志。 设为0时,将MAC地址标记为被普遍管理; 当它是1时,MAC地址是本地管理的。
单播与组播MAC地址I/G:OUI的第一个字节的第一个(最低有效)位MAC地址的字段,称为I / G(个人/组)标志。当这个位设置为0,MAC地址是单个设备,并且消息是单播。设置为1时,表示组地址(多播)。
广播MAC地址:FF-FF-FF-FF-FF-FF
MAC地址作为每个以太网接口的固定地址,一般由供应商出厂就固定下来不可更改。地址长度为6Byte,例如00-17-4F-08-78-88,其中前3个字节为组织编号,如下图所示为MAC地址的寻址方式以及字节定义:
在这里插入图片描述
图 MAC寻址方式(来源:Vector)
如上图所示:前3个字节为组织唯一标识号,由IEEE分配给到网卡生产厂商,其中Byte5/Bit1表示该MAC地址是全球地址还是本地地址,Byte5/Bit 0 用于表示该帧为组播MAC地址,单播地址还是广播地址;
0:单播地址(1对1),普通终端设备接收;
1:组播地址(1对多),仅交换机会接收,普通终端设备不会接收;
48个bit全为1:表示为广播地址,所有设备均会接收;

4.3、以太网帧格式

以太网随着历史发展总共存在5种帧格式,不同的以太帧存在不同的类型及MTU值(最大传输数据长度),且可以在同一物理介质上同时存在。
目前广泛使用的以太网帧格式主要有2种,分别为Ethernet II帧格式与IEEE802.3帧格式。其中车载以太网主要采用Ethernet II帧格式。
完整Ethernet II帧格式
在这里插入图片描述
图 Ethernet II帧格式

完整IEEE802.3帧格式
在这里插入图片描述
如上图进行对比可知,Ethernet II帧格式中的“类型”位置被802.3帧格式的“长度”所替代。上述不同字段的具体含义如下表所示:
在这里插入图片描述
表 以太网帧字段定义说明
特别的,我们可以通过判别“类型/长度”字段来进一步判断当前帧的类型。若该字段值小于等于0x5DC,那么该帧为IEEE 802.3格式,若该字段值大于等于0x600,则该帧为Ethernet II帧格式。
同时需要注意Ethernet II帧格式并没有LLC子层的概念,只有MAC层来处理数据服务等内容,而IEEE 802.3则可以。

MAC帧格式
对于MAC帧格式则是从“目标物理地址”开始至“帧校验”结束为一完整的MAC帧。如下图所示为MAC的完整帧,包括目标物理地址,源物理地址,类型/长度,数据以及帧校验CRC组成。
在这里插入图片描述
特别地,如图中所示,“VLAN Tag”字段可选,当没有VLAN Flag则为Basic MAC帧,当存在该字段时,则为VLAN MAC帧,即MAC帧可分为基本MAC帧(无VLAN)和标记MAC帧(包括VLAN)两种。
其中“类型”字段通常可以为以下几种类型,且该类型列表由IEEE组织来维护,如下表3所示列举了车载以太网领域常用的Ethernet Type:
在这里插入图片描述
表 车载以太网常用类型
MAC VLAN
VLAN作为一种分割广播域的技术手段,能够有效降低网络不必要的开销,全称为虚拟局域网技术。该技术分割广播域的方法有很多种,在此仅简要介绍下基于基于MAC的动态VLAN技术,如下图所示:
在这里插入图片描述
如上图所示,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。
如下图所示则为VLAN Tag的含义说明:
在这里插入图片描述
图 VLAN Tag定义说明 (来源:Vector)
如上图所示,VLAN Tag总共可以分为以下3个部分:
PRI(3Bit):帧优先级,就是通常所说的802.1p;
CFI(1Bit):规范标识符,0为规范格式,用于802.3或Ethernet II以太网帧;
VLAN ID:就是VLAN的标识符ID;

五、网络层

5.1 IP地址

主要作用为,寻址,数据封装,路由。仅以IPV4说明
长度为4byte 32bit,每个字节用dot隔开,用十进制表示。
192.168.0.1,其中加粗的前三个字节192.168.0 表示网络ID,最后一个字节 1表示主机ID
网络ID(网络ID):一定位数,从头开始从最左边的位开始,用于标识主机或位于其他网络接口。 有时也称为网络前缀,甚至只是前缀。
主机ID(主机ID):其余位用于标识 网络上的主机。
IP地址类别:
在这里插入图片描述
A类地址第一字节为网络ID,后三个字节为主机ID,范围是1.0.0.1—126.155.255.254;
B类地址第一二字节为网络ID,后两个字节为主机ID,范围是128.0.0.1—191.255.255.254;
C类地址前三个字节为网络ID,最后一个字节为主机ID,范围是192.0.0.1—223.255.255.254
D类地址:为组播地址
224.0.0.0~224.0.0.255为预留的组播地址(永久组地址),地址224.0.0.0保留不做分配,其它地址供路由协议使用;
224.0.1.0~224.0.1.255是公用组播地址,可以用于Internet;
224.0.2.0~238.255.255.255为用户可用的组播地址(临时组地址),全网范围内有效;
239.0.0.0~239.255.255.255为本地管理组播地址,仅在特定的本地范围内有效。
D类地址的MAC有特殊转换关系:
MAC地址前三位为:01 00 5E
MAC地址后三位为:0x7FFFFF & 组播IP地址
举例来说 组播IP地址 242.147.109.235 对应的MAC地址为:01.00.5E.13.6D.EB

5.2 IP协议

在这里插入图片描述
Version:版本 如4表示IPV4 IPV4:4,IPV6:6
IHL:Internet Header length,Header 长度 没有选项,则一般为5(5x32bit=20B)
DSCP:Differentiated Service 一般没有使用,详细参考RFC
ECN:Explicit Congestion Notification 用于扩展检测丢包
Total length :总长度,header+数据 总长度
Identification :占16位,它是一个计数器,用来产生数据报的标识
Flags:标明是否分片 bit 0: Reserved; must be zerobit 1: Don’t Fragment (DF) bit 2: More Fragments (MF)
Fragment Offset :占12位,指较长的分组在分片后某片在原分组中的相对位置.片偏移以 8 个字节为偏移单位
Time to Live :生存时间,占8位,记为TTL (Time To Live) 数据报在网络中可通过的路由器数的最大值,TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字 RFC 指定,当前值为 64.发送 ICMP 回显应答时经常把 TTL 设为最大值 255
Protocol:占8位,指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程, 1表示为 ICMP 协议, 2表示为 IGMP 协议, 6表示为 TCP 协议, 17表示为 UDP 协议
Header checksum:数据头CRC
Source IP address:源IP地址
Destination IP Address:目标IP地址

5.3 ICMP协议

ICMP:Internet Control Message Protocol 网际控制报文协议
作用:提高 IP 数据报交付成功的机会 用于ping,跟踪路由
在这里插入图片描述
这里的Type如下图所示:
在这里插入图片描述

5.4 ARP协议

ARP:Address Resolution Protocol 地址解析协议
由于上层用的是IP地址,下层用的是MAC地址,ARP协议就是用于解决协议转换的问题。
主要用两种映射方式,一种为直接mapping,一种为动态mapping
以下说明ARP过程:
1)首先查询表中是否有目标地址,若没有则下一步;
2)产生ARP请求帧;
3)广播ARP请求帧;
4)目标方接收ARP请求帧,并处理
5)目标方产生ARP响应帧
6)目标方更新ARP表
7)目标方发送ARP响应帧
8)请求方接收响应帧并处理
9)请求方更新ARP表。
在这里插入图片描述
在这里插入图片描述

六.传输层

传输层的目的在于,控制分段传输大块数据。传输层的协议就是TCP/UDP,这两者协议彼此独立,也可以同时存在,看具体使用场景需求。

6.1 端口与Socket

前面我们提到了IP地址,IP地址一般表示一个ECU级别;
而为了进一步表示一个ECU上的不同软件进程,功能或模块,我们引入端口的概念(port)。
在TCP和UDP中,都包含了16bit的 源地址端口和目标地址端口。
而 IP地址+port = socket。

6.2 TCP

TCP:Transmission Control Protocol 传输控制协议
主要特点,主要是用于可靠的面向连接的传输,在传输数据之前,必须先建立连接,同时确保所有数据按顺序到达客户端,客户端收到数据包后需要给出确认应答,若未确认,则该数据包会进行重传。
协议格式:
在这里插入图片描述
Source Port : 源端口
Destination Port:目标端口
Sequence Number:序列号,用于确保传输顺序;
Acknowledgment Number:应答号 比如当前接收端接收到一个净荷为12byte的数据包,SN为8,则会回复一个确认收到的数据包,如果这个数据包之前的数据也都已经收到了,这个数据包中的ACK Number则设置为12+8=20,表示之前的数据都已经收到了,准备接受SN=20的数据包
data offset:4位包括TCP头大小,指示TCP头的长度,即数据从何处开始。
CWR(Congestion Window Reduce):拥塞窗口减少标志set by sender,用来表明它接收到了设置ECE标志的TCP包;
ECE(ECN Echo):ECN响应标志被用来在TCP3次握手时表明一个TCP端是具备ECN功能的。在数据传输过程中也用来表明接收到的TCP包的IP头部的ECN被设置为11;
URG(Urgent):该标志位置位表示紧急(The urgent pointer) 标志有效。
ACK:取值1代表Acknowledgment Number字段有效,这是一个确认的TCP包,取值0则不是确认包。
PSH(Push):该标志置位时,一般是表示发送端缓存中已经没有待发送的数据,接收端不将该数据进行队列处理,而是尽可能快将数据转由应用处理。
RST(Reset):用于reset相应的TCP连接。通常在发生异常或者错误的时候会触发复位TCP连接。
SYN:同步序列编号(Synchronize Sequence Numbers)有效。该标志仅在三次握手建立TCP连接时有效。
FIN(Finish):No more data from sender。当FIN标志有效的时候我们称呼这个包为FIN包。
Window Size:从Ack Number开始还愿意接收多少byte的数据量,用于TCP的流量控制。
Urgent Pointer:优先指针 指向后面是优先数据的字节,在URG标志设置了时才有效。

TCP建立连接过程
TCP是面向连接的可靠的网络通信,因此要通信双方建立通信连接,必须经过我们常说的“三次握手”才能够开启以太网通信,如下图所示为TCP的“三次握手”连接过程。
在这里插入图片描述
TCP断开连接过程
TCP已经连接的双方如果需要断开,则需要“四次挥手“来完成此过程”,如下图所示:
在这里插入图片描述
TCP协议特点
从上述的TCP建立连接以及断开连接的过程,不难得出TCP是一种面向连接可靠的传输层协议。具体总结有以下一些特点:
面向连接;
仅支持单播传输,点对点方式,不支持多播或者广播方式;
面向字节流;
可靠传输;
提供拥塞控制;
全双工通信;

6.3 UDP协议

UDP全称为用户数据包协议,在网络中与TCP协议一样用来处理数据包,是一种无连接的协议。同时UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。

UDP协议头
如下图所示为UDP 协议头的组成:
在这里插入图片描述
如上图所示,UDP首部为8Byte。
各字段的具体含义如下表所示:
在这里插入图片描述
UDP协议特点
对比TCP协议,UDP具备以下一些特点:
面向无连接,即不需要建立连接便可以直接进行通信;
存在单播,多播,广播的功能;
UDP是面向报文的,UDP的报文报经过IP层不会进行任何拆分或重组;
不可靠性:由于没有像TCP的拥塞控制以及出错自动重传等机制,则会导致发送的报文五宝保证接收方是否收到,因为网络本身就存在诸多的不确定性;

TCP与UDP区别
如下图所示,较为清晰的解释了TCP与UDP两者之间的区别,这让我们选择何种传输层协议提供了判断标准。
在这里插入图片描述
TCP向上层提供面向连接的可靠服务 ,UDP向上层提供无连接不可靠服务;
虽然 UDP 并没有 TCP 传输来的准确,但是也能在很多实时性要求高的地方有所作为;
对数据准确性要求高,速度可以相对较慢的,可以选用TCP。

七、应用层

在车载以太网领域,目前主流涉及到的应用协议主要有UDP-NM,DOIP,Some/IP,SD以及传统以太网需配合支持的ICMP,ARP,DHCP等协议。其中ICMP,ARP,DHCP等协议严格意义上来说不完全算是应用层,主要还是属于TCP/IP协议栈部分,因此准确的说属于传输层与网络层,但为了简化就将其统一划分在应用层。
在这里插入图片描述

7.1 DHCP协议

DHCP的全称是Dynamic Host Configuration Protocol,翻译作动态主机配置协议。它的用途是为网络节点自动配置IP地址。
DHCP是一个局域网应用层协议,使用UDP协议工作,用于在局域网内自动分配IP地址。
该协议基于Client / Server模式工作(Server一般由路由器担任),
•DHCP Server端,使用UDP端口:67 (0x43)
•DHCP Client端,使用UDP端口:68 (0x44)
DHCP的三种机制分配IP地址:
1)自动分配方式(Automatic Allocation),DHCP服务器为客户端指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
2)动态分配方式(Dynamic Allocation),DHCP服务器给客户端指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。
3)手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。
其中我们最常使用的是第二种,即动态分配方式。
UDP 数据包
在这里插入图片描述
OP:
若是 client 送给 server 的封包,设为 1 ,反向为 2。
HTYPE:
硬件类别,Ethernet 为 1。
HLEN:
硬件地址长度,ethernet为6。
HOPS:
若封包需经过 router 传送,每站加 1 ,若在同一网内,为 0。
SECONDS:
Client 端启动时间(秒)。
Transaction ID:
一个随机数,用于客户和服务器之间匹配请求和相应消息。
Flags:
从0-15bits,最左一bit为1时表示server将以广播方式传送封包给 client,其余尚未使用。
ciaddr:
要是 client 端想继续使用之前取得之 IP 地址,则列于这里。
yiaddr:
在 server 送回 client 的 DHCP OFFER 与 DHCPACK封包中,此栏填写分配给 client 的 IP 地址。
siaddr:
若 client 需要通过网络开机,从 server 送出之 DHCP OFFER、DHCPACK、DHCPNACK封包中,此栏填写开机程序代码所在 server 之地址。
giaddr:
若需跨网域进行 DHCP 发放,此栏为 relay agent 的地址,否则为 0。
chaddr:
Client 之硬件地址。(包括6字节MAC和10字节padding)
sname:
Server 之名称字符串,以 0x00 结尾。
file:
若 client 需要通过过网络开机,此栏将指出开机程序名称,稍后以 TFTP 传送。
options:
允许厂商定议选项。每个option项由Type(1字节)、Length(1字节)、Value(长度由Length决定)三部分组成。
在这里插入图片描述
第一步:
DHCP客户端主动发送DHCP Discover包,用来寻找DHCP服务器,其中:
源MAC是自己的MAC地址,目的MAC是FF:FF:FF:FF:FF:FF的广播;
源IP是0.0.0.0(现在还没有IP,就用全0地址),目的IP是255.255.255.255的三层广播地址。
因为此时客户端还不知道DHCP服务器在哪里,所以使用广播来寻找,请求会被广播到整个网段中。

第二步:
DHCP服务器收到客户端发的DHCP Discover之后,会在自己的地址池中拿出一个没有分配的地址以及配套的参数(如:掩码、DNS、网关、域名、租期……),然后以一个DHCP Offer包发送出去。这个DHCP Offer数据包的地址如下:
源MAC是DHCP服务器的MAC,目的MAC是DHCP客户端的MAC地址;
源IP是DHCP服务器的IP,目的IP是即将分配给客户端使用的IP地址。
因为客户端目前还没有IP地址,所以在这个单播IP发送之前,服务器会使用客户端的MAC地址与之通信,如果MAC地址通信失败,那么服务器会使用广播的方式提供(Offer)数据包 。

第三步:
客户端收到这个DHCP Offer后,会再发出一个DHCP Request给服务器来申请这个Offer中包含的地址。此时客户端还没有正式拿到地址,所以还需要向DHCP服务器申请。
这个DHCP Request数据包的地址如下:
这时客户端的源IP还是0.0.0.0,目的IP还是255.255.255.255
源MAC是客户端的MAC,目的MAC是FFFF.FFFF.FFFF广播包

第四步:
服务器收到客户端的请求后,会发出一个DHCP ACK用来确认这个IP地址可以分配给这个客户端。
客户端收到这个DHCP ACK数据包才算正式拿到了这个IP。
在租约内续租的时候,发现( Discovery )和提供(Offer)数据包就变得没有必要了,只需要完成请求和确认两个步骤就可以。

八、Autosar中的以太网协议栈

以下简要说明与以太网相关的Autosar协议栈。
其中LDCOM可以认为类似于COM模块,只是LD表示large data,此外SOAD表示 socket adapter,用于以太网中的socket适配。
当然与DCM相关的底层采用的是DOIP协议。
在这里插入图片描述

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DOIP(Diagnostics over Internet Protocol)是一种用于车辆诊断的通信协议,它使用以太网作为媒介,实现车载网络与诊断设备之间的数据通信。在车载以太网诊断中,边缘节点起到了路由数据的关键角色,因此对边缘节点的路由策略进行分析十分重要。 首先,边缘节点作为车载网络与诊断设备之间的桥梁,需要具备较强的路由功能,以确保数据能够快速准确地传输。因此,在设计边缘节点的路由策略时,需要考虑以下几个因素: 1. 网络拓扑:边缘节点需要了解整个车载网络的拓扑结构,包括各个节点之间的连接方式、节点的位置等信息。这样,边缘节点才能根据实际情况选择最优的数据传输路径。 2. 通信性能:边缘节点应该根据不同节点间的通信性能选择最佳的路由策略。如果有些节点之间的传输速度较快,可以直接通过较短的路径进行通信;而对于通信速度较慢的节点,可以选择通过其他节点进行中转,以提高整体的通信效率。 3. 可靠性:边缘节点的路由策略应考虑网络的可靠性,即当某个节点发生故障时,是否能够自动寻找备用路径。这样可以确保即使某个节点出现问题,车载网络的连通性也能够得到保障。 总之,车载以太网诊断中的边缘节点的路由策略分析需要综合考虑网络拓扑、通信性能和可靠性等因素。只有通过合理的路由策略,才能确保车载网络与诊断设备之间的稳定高效的数据传输。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值