虹科干货|以太网系列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中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和