车载以太网交换机入门基本功(3)—VLAN 转发

news2024/9/20 9:30:35

       在《车载以太网交换机入门基本功(2)》中提到,报文通过携带Tag字段,表明报文所属的VLAN。本文将介绍携带Tag报文在VLAN下的转发过程。而在实际转发过程中,交换机的端口属性起到关键作用。

交换机端口属性

       交换机的端口属性包括三大属性:VID、PVID、Tag/Untag。

  • VID

       端口所属的VLAN。只有处在同一个VLAN下才能通信。当携带特定VID的广播报文发送至交换机时,交换机会查询端口的VID属性,转发到具有同一个VID属性的端口。同一个端口可以同时处在不同VLAN下,即一个端口的VID属性可能有多个;而不同端口也可以在同一个VLAN下,即同个VID下也可能有多个端口。

  • PVID

       Port VLAN ID,端口的入口属性。当不带tag的报文进入交换机时,端口会给报文加上tag,加上的VID是该端口的PVID值。不同于VID属性,一个端口只能有一个PVID属性。PVID属性使得交换机内部的报文都带tag。

  • Tag/Untag

       端口的出口属性,决定了从交换机端口发出的报文是否携带tag。Tag 属性会保留报文的tag,Untag属性会剥除报文的tag。

       报文从进入交换机、转发、从交换机发出的过程中,都受到这三个属性的影响——PVID影响进入过程;VID影响转发过程;而Tag/Untag影响发出过程。

转发过程

       涉及到发送、转发和接收三个过程。下面将着眼于报文在这三个过程中的变化,细致了解VLAN是如何起到限制广播域的作用。

  • 转发

       设备发出的报文分为带tag和不带tag两种,都会发送到交换机上。

       根据报文是否带tag,交换机的处理方式有两种:

  1. 不带tag报文进入交换机时,会根据交换机端口的PVID属性,加上相应的tag,之后按照带tag报文的转发规则进行转发。
  2. 带tag报文进入交换机后,根据tag转发到具有相同VID属性的端口上,从该端口向外转发。
  • 接收

       根据报文tag,从相同VID属性的端口上向外转发。交换机向外转发时,根据端口的Tag/Untag属性,决定向外发送的报文是否携带tag。

       以下图的报文转发为例:首先,不带tag报文进入交换机端口1,端口1根据自身的PVID属性,给报文加上tag;接着,根据报文tag的VID,查询具有相同VID属性的端口(这里是端口2),发给端口2;最后,端口2根据自身的Tag/Untag属性,对报文的tag进行保留/剥除处理,并把报文从端口2发出。

图 携带VLAN的MAC报文格式

       以上的转发过程能够保证同一VLAN下的正常通信,并隔离不同VLAN的通信。看起来无懈可击,但其中存在一个小问题:当端口收到带tag报文,其VID和端口的VID属性不一致时,交换机会采取什么措施吗?答案是:如果没有特殊设置,交换机照收不误。因为在上述VLAN转发过程中,着重关注的是报文“去向何处”,而对于报文是否来自同一VLAN下的设备,并不太在意,这就容易造成“敌我不分”。过多的非同一VLAN下的报文进入交换机,会影响交换机处理效率,导致通信受阻;更甚者,一旦线路被拦截并伪造信息,这些信息无阻碍的进入交换机后,很可能发送到其他设备上,造成无法估量的损失。因此,对进入交换机的报文,应该进行一定的审查,这就是端口过滤功能:进门前先对暗号!

       开启端口过滤功能后,上图的转发过程中,报文从端口1进入交换机的过程发生变化:端口1先提取报文的VID,判断自身的VID属性是否存在该值,如果存在则接收,报文顺利进入交换机;否则丢弃报文。这样确保报文的发送和接收都来自同一VLAN,提高安全性和效率。

       端口过滤功能还可以针对源地址和目的地址进行设置,过滤特定的MAC地址,保证线路的专用性。

       通过VLAN ID、端口属性和端口过滤功能,能够实现广播域的有效限制。但是,当多个报文需要进行转发时,会出现拥塞情况。此时,前文提到的PCP优先级就可以派上用场!在《车载以太网交换机入门基本功(4)》中将详细介绍,这也是该系列的最后一篇,敬请期待!

       经纬恒润作为OPEN联盟会员和AUTOSAR联盟的高级合作伙伴,长期为国内外各大OEM和供应商提供涵盖TCP/IP、SOME/IP、DoIP、AVB、TSN、DDS等技术领域的设计和测试咨询服务,积极研发和探索车载网络前沿技术和工程应用。通过多个项目的实践经验,已建立了高质量、本土化的设计与测试一体化解决方案,为整车网络架构提供可靠支持。

了解更多

       请致电 010-64840808转6115或发邮件至market_dept@hirain.com(联系时请说明来自CSDN)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2056184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机毕业设计选题推荐-地震数据分析与预测-Python爬虫可视化

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

Java语言程序设计——篇十五(2)

🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳&…

如何在C++ QT 程序中集成cef3开源浏览器组件去显示网页?

目录 1、问题描述 2、为什么选择cef3浏览器组件 3、cef3组件的介绍与下载 4、将cef3组件封装成sdk 5、如何使用cef3组件加载web页面 5.1、了解CefApp与CefClient 5.2、初始化与消息循环 5.3、如何创建浏览器 5.4、重载CefClient类 6、在qt客户端集成cef组件 7、最后…

国内外大模型汇总:Open AI大模型、Google大模型、Microsoft大模型、文心一言大模型、通义千问大模型、字节豆包大模型、智普清言大模型

Open AI大模型 特点: 多模态能力:如GPT-4o,能接受文本、音频、图像作为组合输入,并生成任意形式的输出。 情感识别与回应:具备情感识别能力,能根据对话者的情绪做出有感情的回应。 几乎无延迟&#xff…

python中sum是什么意思

在开发语言中,sum函数是求和函数,用于求多个数据的和。而在python中,虽然也是求和函数,但稍微有些差别,sum()传入的参数得是可迭代对象(比如列表就是一个可迭代对象),返回这个被传入…

webflux源码解析(3)-reactor netty

目录 1.连接的状态2.reactor netty中的连接状态3. webflux中的io处理4.总结 为什么webflux在io密集型的场景能有效的提升系统吞吐量呢? 是因为它使用的是响应式编程,使用的是NIO,但这里的响应式、nio到底是怎么样的呢?响应式编程上…

自动化智能立体库验收报告

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 这份文件是一份关于自动化智能立体库的验收报告,它包含了以下几个核心部分: 到货验收表:列出了自动化智能立体…

dubbo:dubbo整合nacos实现服务注册中心、配置中心(二)

文章目录 0. 引言1. nacos简介及安装2. 注册中心实现3. 配置中心实现4. 源码5. 总结 0. 引言 之前我们讲解的是dubbozookeeper体系来实现微服务框架,但相对zookeeper很多企业在使用nacos, 并且nacos和dubbo都是阿里出品,所以具备一些天生的契合性&#…

黑神话:悟空四年前就布局商标,多个名称申请全类!

近日黑神话:悟空上线,预售超4亿元,普推知产商标老杨经检索发现,背后的主体游科互动早在三年前就布局商标,申请了多个核心名称的45类全类的商标。 背后的游科互动名下申请了245件商标,其“黑悟空”是2021年申…

如何通过观测云实现AIOps突破?

在当今信息技术迅猛发展的浪潮中,企业正置身于一个日益复杂化的 IT 环境,并面临着数据量的爆炸性增长。智能运维(AIOps),作为 IT 运维管理领域的革新者,融合了大数据和机器学习技术,致力于对 IT…

全场景——(四)Modbus 通讯协议

文章目录 一、学习Modbus的快速方法1.1 寄存器速记1.2 协议速记 二、初识Modbus2.1 背景2.2 什么是Modbus?2.2.1 Modbus简介2.2.2 Modbus特点2.2.3 Modbus常用术语2.2.4 Modbus事务处理 三、Modbus软件与使用3.1 Modbus软件简介3.2 Modbus Poll(主站设备…

鸿蒙HarmonyOS之使用ArkTs语言实现层级树状目录选择UI

一、实现效果 二、实现步骤 代码示例中用到的颜色、图片等资源可以自行替换设置 1、Index.ets 里面调用 import { CategoryView} from ./CategoryView;//主页面 Entry Component struct Index {State tabsIndex: number 0;build() {...//层级目录ViewCategoryView()...} …

AMD和NVIDIA一起挤牙膏,新显卡性能反而降低

红厂 AMD 因为新品锐龙 9000 CPU,在这两天算是赚足了眼球和关注度。 在两周的延迟后,高端 R9 系列终于是端上来了,R9-9900X 和 R9-9950X,核心规模和最高加速频率与上代保持不变,基础频率略有降低。 国行售价分别为 339…

FFmpeg的入门实践系列一

欢迎诸位来阅读在下的博文~ 在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力! 江山如画,客心如若,欢迎到访,一展风采 文章目录 参考环境本系列的适用人群FFmpeg的简介FFmpeg…

【等保测评】Ngnix模拟测评

一、身份鉴别 a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换; 结果记录:此项不适用,Nginx无独立的登录管理界面,身份鉴别由操作系统层面实现 b)应具有登…

基于linux下的mplayer播放器项目

项目名称:基于MPlayer的C语言控制接口 版本:1.0 1. 项目概述 本项目旨在设计一个基于MPlayer的简单C语言控制接口,提供用户与媒体播放器的交互功能。用户可以通过文本菜单选择不同的操作,如播放、暂停、停止、调整播放速度、跳…

MySql 高阶二(SQL 性能分析)

SQL 性能分析: 查看当前数据库的 增删改查的使用情况 show global status like Com_______;慢查询日志: -- 查看状态 show variables like slow_query_log目前是开启状态。如何开启,编辑my.cnf 文件 添加下面的语句,编辑完成后…

【卡码网C++基础课 1.A+B问题1】

文章目录 题目描述与分析一、C函数基础二、输入输出流三、变量四、写入数据五、输出数据六、尝试第一次提交七、循环输入输出八、延伸 题目描述与分析 题目描述: 你的任务是计算ab。 输入描述: 输入包含一系列的a和b对,通过空格隔开。一对a…

《内生性随机边界模型及 Stata 具体操作步骤》

目录 一、文献综述 二、理论原理 三、实证模型 四、稳健性检验 五、程序代码及解释 一、文献综述 自 Aigner 等(1977)、Meeusen 和 van den Broeck(1977)引入随机前沿模型以来,该模型已有 40 多年的历史。它由确定…

【Qt】Qt窗口 | QStatusBar 状态栏

文章目录 一. 状态栏二. 代码创建&使用状态栏1. 创建状态栏2. 在状态栏中显示实时消息3. 在状态栏中显示控件 一. 状态栏 状态栏是应用程序中输出简要信息的区域,通常位于窗口的底部,用于显示应用程序的状态信息或提供用户与应用程序交互的反馈。一…