搞一下 车载以太网实战 | 01 车载以太网帧结构详解

搞一下 车载以太网实战 | 01 车载以太网帧结构详解前言搞 SOA 搞 AP amp CPAUTOSAR 搞异构 SoC 搞车载以太网 搞车载 OS 等就找搞一下汽车电子 全系内容可在 搞一下汽车电子 后台回复 系列 或进入菜单栏 分享平台 gt 系列分享 本系列请点击 搞一下车载以太网实战 所有系列请点击 汽车电子系列分享 身边的以太网未来已来 汽车以太网势不可挡 Areyouready 我们身边充满了以太网 不管是新势力还是传统的主机厂 都已经在准备或是在更上一层地去做以太网的一些升级 包括电子

前言

身边的以太网

汽车为什么拥抱以太网

汽车以太网 VS 工业以太网

以太网OSI模型

以太网帧结构

以太网的通信交互案例

以太网通信交互案例-二层

下图所示为我们刚才提到的一个Switch的组网,Switch上有四个PHY的接口,每个PHY的接口分别连了一个ECU,每个ECU都有自己的MAC地址,如AA:BB:CC:DD:EE:01等。这四个ECU分成两个VLAN,左边两个ECU在VLAN1中,右边两个ECU是在VLAN2中。

在这里插入图片描述

Switch本身是一个二层转换的设备,它是严格按照要求进行交换的,也就是说,在同一个VLAN(虚拟局域网)里面是可以进行二层通信的,不在同一个VLAN的主机是不能二层通信(如EE:01 与 EE:02 是不能进行通信的),需要注意的是,二层通信本质上是跟IP地址没有关系的。

下图举例说明为什么二层通信跟IP地址没关系,因为二层的通信属于MAC寻址。无非是从一个ECU的MAC到另外一个ECU的MAC进行寻址。

在这里插入图片描述

如前面提到的Switch组网图中,EE:01 ECU想要和EE:03 进行通信,如果有寻到03的MAC地址或者配置了一些静态的MAC表项,那么他们可以直接通过EE:01 连接的PHY,再通过 EE:03 连接的PHY进行通信。

如果EE:01 想和 EE:02 通信,这个时候Switch会查看下帧结构,在帧结构中会有一个VLAN的标签编号,如果识别到 VLAN的编号不在VLAN1里面,报文就不会转发到EE:02的PHY上去。

当ECU的网卡、或者我们电脑的网卡,识别到目的MAC地址,不是自己的地址,或者不是组播,或者不是广播的时候,会直接将它丢弃,不会再往协议栈中发送。这也是为什么二层以太网无法跨VLAN进行通信。

以太网通信交互案例-三层

接下来,我们说一下以太网的三层通信。

三层通信是指跨网或者跨VLAN进行通信时,需要通过路由器或者带有路由功能的设备实现IP报文转发。如下图所示为以太网三层通信的示例。

在这里插入图片描述

上图中,我们可以看到,左边两个ECU的IP地址分别是,192.168.1.10 和 192.168.1.20 。右边的是 192.168.2.10 和 192.168.2.20。上图中,并没有标注子网掩码,所以默认子网掩码是 255.255.255.0。

上述中,192.168.1.x 是一个网段 Network A ,192.168.2.x 是一个网段 Network B。这两个网段之间通过一个路由器进行路由转换。

如下图所示,当192.168.1.10 与 192.168.1.20 进行通信时,是不需要经过路由器的,通过Switch就可以进行通信。他们本身就是在一个局域网里面的,不需要经过路由器进行三层转发,因为他们本身没有跨网段。

但是,当192.168.1.10 (Network A 中的)与 192.168.2.10 (Network B 中的)进行通信时, 192.168.1.10 会将报文发送给它的缺省网关 192.168.1.1,192.168.1.1 收到报文后,它会识别其有一个直连的路由 192.168.2.1,然后便会知道需将报文发送给Network B,这个时候这个报文就会送到192.168.2.10 。返回来类似。

在这里插入图片描述

需要注意的是:不同网段主机无法物理直连进行IP通信,必须借助Router。

以太网通信交互案例- 新浪上网

接下来,我们分享一下,我们的车内,或者电脑是如何上网的。

我们假定的环境是,我们的笔记本要访问新浪的网址。

在这里插入图片描述

具体的步骤如下:

第一步:连接WIFI/网口,获取IP地址,如下图所示。这是一个跨三层的远程通信。

在这里插入图片描述

上图中,我们可以读出以下信息:

网卡是Intel的AC 8260无线网卡。
MAC 地址是:34-F6-4B-CB-0E-E9。
这个地址是通过 DHCP获取的。
分配的IP地址是:192.168.20.60(这是我们电脑跟外界通信的唯一IP,所有的IP报文里面都是封装的这个IP地址。)
子网掩码:255.255.255.0
租约时间是指,这个地址可以用多久
默认网关是指缺省网关,比如说,我不知道是访问新浪,还是百度的时候,路由的时候都是默认扔给这个网关。
DHCP服务是指,IP地址(192.168.20.1)是谁分配的。
DNS服务器主要是做一些域名解析。114.114.114.114 是电信的DNS,8.8.8.8 是谷歌公用的一个DNS服务器。

以上就是上网的第一步获取IP地址,获取到IP地址就决定了上网的一些必备的信息。

第二步:我们上网的时候,会输入新浪的网址,这个网址是一个URL,这时,我们需要请求新浪网址DNS解析,将URL解析成IP地址。需要注意的是,一般大型服务器或者网址,都会对应多个IP地址。目的是为了缓冲服务器的压力,更好地为用户提供体验。

当我们在上述两个DNS服务器上查找新浪的网址时,都会给我们返回当前给我们分配到的新浪服务器的IP地址。

第三步:当拿到DNS解析后IP地址后,我们的电脑就会向这个IP地址发起http或者https的请求。进而访问到新浪网页,并获取相应的资讯内容。







































































































以太网与汽车结合之美

思考

跳转阅读

联系我们




















版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225327.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午9:34
下一篇 2026年3月17日 上午9:34


相关推荐

  • [深度学习] FM & FFM 算法基本原理

    [深度学习] FM & FFM 算法基本原理在推荐系统和计算广告业务中,点击率CTR(click-throughrate)和转化率CVR(conversionrate)是衡量流量转化的两个关键指标。准确的估计CTR、CVR对于提高流量的价值,增加广告及电商收入有重要的指导作用。无论使用什么类型的模型,点击率这个命题可以被归纳到二元分类的问题,我们通过单个个体的特征,计算出对于某个内容,是否点击了,点击了就是1,没点击就是0。对于任何二元分类的问题,最后我们都可以归结到逻辑回归上面。早期的人工特征工程+LR(Logisti…

    2022年5月1日
    68
  • 使用nmap 进行多种安全评估[通俗易懂]

    使用nmap 进行多种安全评估[通俗易懂]本文主要介绍漏洞扫描和渗透测试中会经常遇到的一些漏洞,并且尝试使用namp对这些被扫描工具扫描出来的漏洞进行人工手动验证

    2022年6月11日
    30
  • Integer.intValue_计数函数count怎么用

    Integer.intValue_计数函数count怎么用Java代码 //intcount=((Integer)query.uniqueResult()).intValue();  //改成    intcount=((Number)query.uniqueResult()).intValue();    Java代码  publicintfindCountByYear(Stringcu

    2026年4月18日
    4
  • IntelliJ IDEA 断点调试

    IntelliJ IDEA 断点调试Sharedmemory 是 Windows 特有的一个属性 一般在 Windows 系统下建议使用此设置 内存占用相对较少 调试的时候 在循环里增加条件判断 可以极大的提高效率 心情也能愉悦 恢复程序运行 但如果该断点下面代码还有断点则停在下一个断点上 进入下一步 如果当前行断点是一个方法 则不进入当前方法体内 在断点处右击调出条件断点 可以在满足某个条件下 实施断点 进入下一步 如果当前行断点是一个方法 则进入当前方法体内 进入下一步 如果当前行断点是一个方法 则进入当前方法体内

    2026年3月26日
    1
  • cuDNN安装教程(Windows)「建议收藏」

    cuDNN安装教程(Windows)「建议收藏」简介NVIDIACUDA®深度神经网络库(cuDNN)是一个用于深度神经网络的GPU原始加速库。cuDNN为标准例程(如前向和反后卷积、池化、归一化和激活层)提供了高度调整的实现。世界各地的深度学习研究人员和框架开发人员依靠cuDNN获得高性能GPU加速。它允许他们专注于培训神经网络和开发软件应用程序,而不是花时间在低级别的GPU性能调整上。cuDNN加速广泛使用的深度学习框架,包括Caffe2、Chainer、Keras、MATLAB、MxNet、PaddlePaddle、PyTorch和T

    2022年6月6日
    106
  • python随机数(random)

    python随机数(random)需要导入的库 importrandom 一 随机整数 1 包含上下限 a b random randint a b 在 python 中的 random randint a b 用于生成一个指定范围内的整数 其中参数 a 是下限 参数 b 是上限 生成的随机数 n a lt n lt b 下限必须小于等于上限 大于上限报错 random randint 1 50 随机生成最小值为 1 最大值为 50 的整数 可以等于上下限 random randint 20

    2026年3月20日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号