虹科干货|以太网系列FAQ(二):如何用EES记录和识别多个ECU流量?

2024-09-02 15:12

本文主要是介绍虹科干货|以太网系列FAQ(二):如何用EES记录和识别多个ECU流量?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

面对包含众多设备的复杂网络,我们该如何有效地记录流量信息?在捕获到大量数据后,又如何确保每个数据包都能准确地与其生成设备相关联?更关键的是,如何在不改变原有网络路由的前提下实现这些目标?那么,如何利用虹科EES(增强型以太网交换机)来完成这些任务呢?本文将为您详细解答。

虹科EES如何实现流量记录与识别?

请想象有4个ECU在网络中,通讯方式如图1所示,在不改变网络拓扑的前提下记录这些ECU产生的流量。例如,ECU1与ECU2有连接,与ECU3和ECU4没有直接连接。这样在我们引入一个设备来记录流量的时候,必须要确保ECU1只与ECU2有连接,与其他无连接,才能保持正常的网络拓扑。

图1 网络拓扑图

那么我们在网络连接中引入了“间谍设备”——Enhanced Ethernet Switch(EES,增强型以太网交换机),将所有流量镜像到logger中,网络数据包详细流通展示在图2中。

图2 数据包在网络中的流通细节展示

我们将所需功能按照以下几点分别配置,以满足本文开篇罗列的目标。

1、镜像所有数据包

SFP+ A和SFP B+端口都可以提供高达10Gbps的带宽,因此即使端口1到8同时产生1Gbps的流量,SFP仍可以记录到所有。将SFP+A端口用来镜像端口1到6的流量如图3,并使用show mirror功能来可视化数据包在交换机中的镜像情况。

图3 端口镜像显示

2、确定报文的入端口

采用EES的“Double Tagging”or“Q-in-Q”功能使出SFP+ A端口的数据包上打上VLAN Tag。启动Double Tagging后,EES可以与Outer VLAN进行操作。交换机的每个端口都可以配置“Default Vlan Id”,当报文帧流入端口时,如果报文无outer VLAN,报文则被打上设置的Default Vlan Id。网络中的流量不是double tag的,因此所有数据都可以根据其进入的端口被分别打上对应VLAN ID。那么每个端口的Default Vlan Id不同,数据传输过程中就可以识别数据的传入端口。在本文中,我们定义的Default Vlan Id如图4所示,就在EES的端口下方。

图4 VLAN CONFIGURATION

最后,配置SFP+A的VLAN出口策略和VLAN标记:出口策略设置为“allow all”,所有数据包的出口标记设备为“Normalize”。这样即使没有outer VLAN标签进入,也可以带outer VLAN标签进入。图4描述了Double-Tagging配置。

3、限制EES内部转发,维持网络拓扑

如不加额外配置,ECU1的数据将流经交换机直接转发到ECU3和ECU4,所以我们必须要添加规则来定义数据转发方式。交换机中有很多控制路由的工具,由于已经启动了VLAN,所以就直接用它来控制了。

每个端口都有VLAN membership list,列表中指定哪些VLAN ID可以在端口上通过,比如我们可以使用list中权限来限制ECU1(端口1流入)的数据只能发送到ECU2(从端口2流出)。

虹科EES有哪些优势?

虹科增强型以太网交换机

虹科EES作为百兆/千兆车载以太网交换机,支持增强型以太网交换机 (EES) MATEnet 接口,具有强大 AVB/TSN 功能,允许用户通过 SFP+ 连接器连接多达 8 个千兆以太网端口和 2 个 1Gb/10Gb端口,可用于实现VLAN、端口镜像、路由转发或过滤等功能,是车载以太网网关的理想升级选择。

主要优势

1、多个千兆以太网端口,支持MACSEC功能

2、轻松实现对数据流的过滤和控制、为用例配置设备

3、具有强大的定制可能性

4、提供唤醒和睡眠功能

结语

通过利用虹科EES的镜像、Double Tagging和VLAN控制等功能,我们可以高效地记录和识别来自多个ECU的流量数据。这不仅有助于我们了解网络性能,还能为后续的优化工作提供有力支持。若您对以太网交换机VLAN的配置策略有疑问,请回顾上期文章“如何定义EES的VLAN?”。通过结合本期内容,您将更全面地掌握虹科EES的使用技巧。如果您在实际应用中遇到任何问题,欢迎随时联系虹科进行咨询和交流。

这篇关于虹科干货|以太网系列FAQ(二):如何用EES记录和识别多个ECU流量?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130308

相关文章

Java中Switch Case多个条件处理方法举例

《Java中SwitchCase多个条件处理方法举例》Java中switch语句用于根据变量值执行不同代码块,适用于多个条件的处理,:本文主要介绍Java中SwitchCase多个条件处理的相... 目录前言基本语法处理多个条件示例1:合并相同代码的多个case示例2:通过字符串合并多个case进阶用法使用

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1