当前位置: 首页 > news >正文

HCIA-Access V2.5_3_2_VLAN数据转发

802.1Q的转发原则--Access-Link

 

首先看一下Access,对于Access端口来说, 它只属于一个VLAN,它的VLANID等于PVID。

首先看一下接收方向,前面说过交换机内部一定要带标签转发,所以当交换机接收到一个不带tag的数据帧时,会给它打上端口的PVID,如果该数据帧包含tag, 则需要看tag所属的VLAN和端口的PVID是否相同,如果相同则接收,不同则丢弃。

而在发送方向,对Access端口来说,它只能发送VLAN ID跟端口的PVID一致的数据,并且发出去的时候需要剥离掉tag标签,发出普通的以太网帧。

下面有一个例子,

如图这边有两个Access端口,并且端口的PVID都等于10,当该端口收到一个不带tag的数据帧时交换机会给它打上端口的PVID,所以进来之后就变成了一个带tag的数据帧,并且tag等于10,这个tag和这边的tag一致,而发送方向也就是下面当Access端口在往外发的时候,它只发送VLAN ID跟端口的PVID一致的报文,并且在往外发的时候,会剥离掉VLAN 10的标签,发出普通的以太网帧。

802.1Q的转发原则-Trunk-Link

Trunk也分了发送和接收两个方向,接收方向,如果收到的是不带tag的数据帧,会给它打上端口的PVID,但是如果该帧已经包含了标签,那么这个时候需要看一下是不是允许该VLAN通过,如果允许直接透传,如果不允许直接丢弃。而在发送方向Trunk端口会将VLAN ID和PVID作对比,如果相同,则剥离掉VLAN标签进行转发,如果不同,则需要去看一下,是不是允许该VLAN通过,如果允许则透传,如果不允许直接丢弃。

下面的例子:有两个Trunk端口,它们的PVID都等于10,并且设置它们允许VLAN10和VLAN20的报文通过,首先过来了一个不带tag的数据帧,当它经过Trunk端口之后,会给它打上端口的PVID,所以出来之后就变成了带了一下tag10标签的数据帧,接着又来了一个tag等于20的数据帧,那么Trunk端口会查看是否允许该VLAN通过,如果允许则直接过来,刚才也说了,我们是允许 VLAN20通过的,所以VLAN20数据帧是直接接收进来的。而发送发向过来了一个tag等于10的数据帧,由于它的tag等于端口的PVID,所以在往外发的时候是剥离掉VLAN数据,发出普通的以太网帧。而如果过来的是一个tag等于20的数据帧,tag不等于端口的PVID,再往外发的时候是直接透传。

802.1Q的转发原则-Hybird Interface

 Hybird在接收方向跟Trunk是一样的,都是不带tag给你打上端口的PVID,如果带了标签看一下是否允许该VLAN通过,如果允许直接带标签进来。而在发送方向,hybird有两个列表,一个是tag列表,一个是untagged 列表,如果是tag列表,在往外主的时候,是带标签转发,而如果该VLAN属于untaged列表,那么再往外发的时候就不带标签转发。

所以看一个下面的例子,有两个端口Hybird,那么它设置的时候是允许VLAN10和VLAN20通过,并且是untagged通过。

而这个端口2,它的PVID等于20,并且允许VLAN10和VLAN20带标签通过,所以可以看到这个时候过来了一个VLAN10的数据帧,当它经过Hybird端口的时候,往外发送的时候,仍然是带标签转发,同样,过来了一个VLAN20数据帧,由于我们设置的时候它是带标签转发的,所以发出去的时候仍然带的是VLAN20的标签。

而端口1,设置的是VLAN10和VLAN20都在untagged列表中,所以过来了一个tag10和tag20的标签,它们在往外发的进修都是剥离掉VLAN标签,还原出不还标签的数据帧。

http://www.lryc.cn/news/504780.html

相关文章:

  • transformer学习笔记-导航
  • 功能篇:JAVA后端实现跨域配置
  • 防火墙内局域网特殊的Nginx基于stream模块进行四层协议转发模块的监听443 端口并将所有接收转发到目标服务器
  • 【Hive】-- hive 3.1.3 伪分布式部署(单节点)
  • C++ STL 队列queue详细使用教程
  • 【前端】JavaScript 中的 filter() 方法的理论与实践深度解析
  • 【机器学习算法】——决策树之集成学习:Bagging、Adaboost、Xgboost、RandomForest、XGBoost
  • JVM运行时数据区内部结构
  • Navicat for MySQL 查主键、表字段类型、索引
  • 如何在谷歌浏览器中实现自定义主题
  • visual studio 2022 c++使用教程
  • 曝光三要素
  • 01-2 :PyCharm安装配置教程(图文结合-超详细)
  • 类OCSP靶场-Kioptrix系列-Kioptrix Level 1
  • Maven插件打包发布远程Docker镜像
  • VisualStudio vsix插件自动加载
  • Codesoft许可管理
  • Unity3D 3D模型/动画数据压缩详解
  • ffmpeg和ffplay命令行实战手册
  • 基于MobileNet v2模型的口罩实时检测系统实现
  • NEEP-EN2-2023-Section5PartB
  • PostgreSQL17.x数据库备份命令及语法说明
  • Java实现一个带头节点的单链表
  • 【图像配准】方法总结
  • LabVIEW汽车综合参数测量
  • 三相异步电动机没有气压怎么办?
  • 软件工程书籍推荐
  • 验证集和测试集的区别
  • OpenIPC开源FPV之Adaptive-Link天空端代码解析
  • Next.js流量教程:核心 Web Vitals的改善