虹科干货|以太网系列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

相关文章

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

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

Pytorch微调BERT实现命名实体识别

《Pytorch微调BERT实现命名实体识别》命名实体识别(NER)是自然语言处理(NLP)中的一项关键任务,它涉及识别和分类文本中的关键实体,BERT是一种强大的语言表示模型,在各种NLP任务中显著... 目录环境准备加载预训练BERT模型准备数据集标记与对齐微调 BERT最后总结环境准备在继续之前,确

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定

Python实现合并与拆分多个PDF文档中的指定页

《Python实现合并与拆分多个PDF文档中的指定页》这篇文章主要为大家详细介绍了如何使用Python实现将多个PDF文档中的指定页合并生成新的PDF以及拆分PDF,感兴趣的小伙伴可以参考一下... 安装所需要的库pip install PyPDF2 -i https://pypi.tuna.tsingh

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

Nginx如何进行流量按比例转发

《Nginx如何进行流量按比例转发》Nginx可以借助split_clients指令或通过weight参数以及Lua脚本实现流量按比例转发,下面小编就为大家介绍一下两种方式具体的操作步骤吧... 目录方式一:借助split_clients指令1. 配置split_clients2. 配置后端服务器组3. 配