【Access、Trunk和Hybrid】

news2024/9/22 3:55:23

概述

  • Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口;
  • Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;
  • Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。
  • Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。

以上全部复制粘贴的,如果您看完觉得懂了,那我建议您做下边的实验试试。

详述

术语说明

PVID:又称缺省VLAN。(所以下面我可能两个都会用,希望你能分得清)这个是针对接口的,每个接口都有一个缺省VLAN,默认是1。
VID:VLAN ID,表示该数据帧所属VLAN的编号。这个是针对VLAN数据帧的,是VLAN Tag中的一小段(12bit)。
接收:主要指交换机从另一台设备(主机、交换机、路由器等)收到的数据帧和交换机内部不同端口接收的数据帧
发送:主要指交换机把数据帧发送给另一台设备(主机、交换机、路由器等)。
小小说明一下(其实一点也不小,这个很重要):交换机内部进行数据帧的转发的时候,全都是带tag的。换句话来讲,交换机内部端口与端口之间只有接收关系,不存在发送关系。(有点抽象,你可能需要细品)

Access

接收规则:

  • 收到untag帧,加上本端口的PVID,进行接收。
  • 收到tag帧,与本端口的PVID进行比较:VID与PVID相同,进行接收;VID与PVID不同,直接丢弃。

发送规则:剥掉tag,进行转发。

Trunk

接收规则:

  • 收到untag帧,加上本端口的PVID,然后判断,数据帧VID是否在本端口的允许转发列表(其实就是tagged列表):如果在,进行接收;如果不在,直接丢弃。
  • 收到tag帧,VID是否在本端口的允许转发列表(其实就是tagged列表):如果在,进行接收;如果不在,直接丢弃。

发送规则:VID是否与本端口的PVID一致:如果一致,剥掉tag,进行转发;如果不一致,带着tag转发。

Hybrid

接收规则:

  • 收到untag帧,加上本端口的PVID,如果在untagged或tagged列表中,进行接收;反之,直接丢弃。
  • 收到tag帧,VID如果在untagged或tagged列表中,进行接收;反之,直接丢弃。

发送规则:如果该数据的VID在untagged列表中,剥离tag,进行转发;如果在tagged列表中,带着tag转发。

实例说明

拓扑图:
华为拓扑图-第 2 页.png
下面的问题可以先自己根据上面的规则推理一下,然后再看,效果更佳。

下面的例子就是为了推理,不要扣协议啥的,理解了就行。

  1. PC1与PC2之间为什么通信不了?(Access接收)
    PC1发送数据帧到达交换机G0/0/1端口(Access端口,PVID为10),接收到的是untag帧,会为数据帧加上本端口的PVID,进行接收。一看是要找PC2的,就转发给G0/0/2端口(Access端口,PVID为20),G0/0/2这时候接收到VID为10的数据帧,由于数据帧的VID和本端的PVID不相同,所以直接丢弃。
  2. PC1与PC3之间为什么能通信?(Access接收+发送和Trunk接收+发送)
    PC1发送数据帧到达交换机G00/0/1端口(Access端口,PVID为10),接收到的是untag帧,会为数据帧加上本端口的PVID,进行接收。一看要找PC3的,就转发个G0/0/6端口,(Trunk端口,allow-pass为 VLAN10 20),G0/0/6这时候接收到VID为10的数据帧,查看是否在允许通过的表项里面,一看允许通过,进行接收。发送的时候会查看本端的PVID(1)和数据帧的VID(10)是否一样,一看不一样,直接发送。到达SW2的G0/0/6端口(Trunk端口,allow-pass为 VLAN10 20),接收到这个带着VID为10的数据帧,判断是否在允许通过的表项里面,一看允许通过,进行接收。一看要发给PC3,就把数据帧转发给G0/0/3端口。G0/0/3端口(Access端口,PVID为10),接收到的是VID为10的数据帧,与本端PVID进行比较,一看相同,进行接收。然后要从G0/0/3端口发送到PC3,直接剥掉标签,进行转发。

下面我语言就稍微简练一些,记不清参数的自己看看上面的图。

  1. PC3可以和PC5进行通信吗?(Hybrid接收+发送)
    (到交换机内部过程同上—省略一百万字)…** 接收**:转发给G0/0/5端口,接收到VID为10的帧,VID在tagged列表中,进行接收。发送给PC5:VID在tagged列表中,带着标签转发。PC5不识别,通信结束。
  2. PC4可以和PC5进行通信吗?(Hybrid接受+发送)
    (到交换机内部过程同上—省略一百万字)… 接收:转发给G0/0/5端口,接收到VID为20的帧,VID在untagged列表中,进行接收。发送给PC5:VID在untagged列表中,带着标签转发。PC5识别,通信结束,了吗?上面的1,2,3由于正反过程一样,所以反方向我没有推理。(绝对不是因为懒)这个咱们反方向推理一下。PC5回应PC4报文,**接收:**G0/0/5收到untag帧,加上本端口的PVID(1),在untagged列表中(默认所有接口都在VLAN1下的untagged列表中,只要你没设PVID就不会变),进行接收。发给G0/0/3端口,接收到VID为1的数据帧,与本端口PVID不相同,因此直接丢弃,通信结束。
  3. 如果SW1的G0/0/6端口的PVID为10,SW2的G0/0/6端口的PVID为20,PC1能和PC3通信吗?PC1能和PC4通信吗?(小小拓展一下下)
    (到交换机内部过程同上—省略一百万字)… **接收:**转发给SW1的G0/0/6端口,接收到VID为10的帧,VID在允许转发列表中,进行接收。VID与本端口PVID一致,剥掉tag,进行转发。SW2的G0/0/6端口接受:收到untag帧,加上本端口的PVID(20),进行接收。如果给PC3,毫无疑问直接丢弃。如果给PC4,则会顺利进行转发。(给Access端口就不分析了哈,这个逆过程类似,也不分析了哈。)

总结

上面的文字是不是看的不耐烦了,其实我是有图的。(嘿嘿)

Access端口

华为拓扑图-第 3 页 (2).png

Trunk端口

华为拓扑图-第 3 页.png

Hybrid端口

华为拓扑图-第 3 页 (1).png

真正的总结

  • 当接收到不带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会给数据帧打上VLAN标签,但Trunk接口、Hybrid接口会根据数据帧的VID是否为其允许通过的VLAN来判断是否接收,而Access接口则无条件接收。
  • 当接收到带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会根据数据帧的VID是否为其允许通过的VLAN(Access接口允许通过的VLAN就是缺省VLAN)来判断是否接收。
  • 当发送数据帧时:
    • Access接口直接剥离数据帧中的VLAN标签。
    • Trunk接口只有在数据帧中的VID与接口的PVID相等时才会剥离数据帧中的VLAN标签。
    • Hybrid接口会根据接口上的配置判断是否剥离数据帧中的VLAN标签。

因此,Access接口发出的数据帧肯定不带Tag,Trunk接口发出的数据帧只有一个VLAN的数据帧不带Tag,其他都带VLAN标签,Hybrid接口发出的数据帧可根据需要设置某些VLAN的数据帧带Tag,某些VLAN的数据帧不带Tag。

上面总结的内容都是摘自华为官方设备文档,所以,掏出文档看看吧。

实验练习

脑子:这么简单,我会了。手:你确定?

实验拓扑

Clip_2024-07-17_19-02-20.png

实验要求

  1. 端口要求根据拓扑图中标识的进行配置。
  2. 实现PC1,PC2和AR1互通。(二层通信)

实验配置及解析

  1. 基础配置,这就不多分析了,懂得都懂,不懂的我也没办法。
# PC配置IP地址,掩码。略。

# SW1基本配置。
vlan batch 10

interface Ethernet0/0/1
 port link-type access
 port default vlan 10

interface Ethernet0/0/21
 port link-type access
 port default vlan 10   
 
# SW2基本配置
vlan batch 20

interface Ethernet0/0/2
 port hybrid pvid vlan 20
 port hybrid untagged vlan 20

interface Ethernet0/0/21
 port link-type access

interface Ethernet0/0/22
 port link-type trunk
 
# SW3基本配置
vlan batch 30

interface Ethernet0/0/22
 port link-type trunk

interface GigabitEthernet0/0/1
 port hybrid pvid vlan 30
 port hybrid tagged vlan 30
 
# AR1基础配置
interface GigabitEthernet0/0/1.30
 # 是不是不懂下面这条命令,巧了不,我也忘了,所以你查查设备手册吧。
 dot1q termination vid 30
 ip address 10.1.10.254 255.255.255.0 
 # 下面这条我也忘了,不好意思。
 arp broadcast enable
  1. PC1和PC2之间进行通信。
    Access的端口特性是发送不带tag的,所以从E0/0/21端口出去的数据是没有标签的。而E0/0/21也是Access端口,E0/0/2是Hybrid端口,且端口PVID是20,所以问题就集中在Access配置什么PVID能使这两个端口正常通信?这猜也猜到了吧,当然配20了。原因:Access端口接收到untag帧,会打上自己的PVID,然后转发给E0/0/2,Hybrid端口接收到tag帧,VID(20)在untagged列表,进行接收。发送的时候由于VID在untagged列表中,剥离tag,进行转发。(逆过程类似,不再阐述。)
# SW2配置
interface Ethernet0/0/21
 port default vlan 20   
  1. PC1和AR1之间进行通信。
    思路和第二问连着,PC1的数据帧经过Access端口后,打上了tag(20),转发给E0/0/22端口,E0/0/22接收到带有tag的数据帧,去查允许转发列表,有VLAN20,进行接收。发送的时候,会比对本端口的PVID,如果一致,就剥离tag,如果不一致,就带着tag进行转发。剥不剥呢?肯定剥的。why?咱们看看路由器这边,路由器可以接收的VLAN30的数据帧(不看手册的你,越来越蒙圈),也就是说,数据帧给G0/0/1端口的时候是需要VID等于30,我们需要做的就是让数据经过两个Trunk端口,需要转变一下VID,熟不熟悉?这不就是实例5吗?所以就不过多讲解。(其实就是懒,嘿嘿。)
# SW2配置
interface Ethernet0/0/22
 port trunk pvid vlan 20
 port trunk allow-pass vlan 20
 
# SW3配置
interface Ethernet0/0/22
 port trunk pvid vlan 30
 port trunk allow-pass vlan 30
  1. PC2和AR1之间进行通信
    完成上面的配置,你会神奇的发现,PC2也能Ping通AR1,不信?你试试。

参考文献

华为官方设备文档
155和150(2023).交换-端口类型.哔哩哔哩.检索于2024年7月17号
写在最后:强烈推荐155和150这位UP主的视频,这位UP总能以最小的图,让你复习最多的知识点。(看着简单,其实是真的不简单!)

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

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

相关文章

Java中的迭代器(Iterator)

Java中的迭代器(Iterator) 1、 迭代器的基本方法2、 迭代器的使用示例3、注意事项4、克隆与序列化5、结论 💖The Begin💖点点关注,收藏不迷路💖 在Java中,迭代器(Iterator&#xff0…

1w字图文带你了解sqlmap,从0到1,WAF绕过,高级用法一文通透

前言 在信息安全领域,SQL注入攻击是一种极为常见且危害严重的安全漏洞。攻击者利用Web应用程序对SQL查询的不当处理,通过注入恶意SQL代码,从而绕过安全措施,非法访问或篡改数据库中的数据。随着网络安全威胁的日益严峻&#xff0…

在学习使用LabVIEW的过程中,需要注意哪些问题?

在学习使用LabVIEW的过程中,需要注意以下问题: 1. 基础知识 图形化编程思维: LabVIEW采用图形化编程方式,与传统的文本编程语言有很大不同,需要适应这种新的编程思维方式。数据流概念: 理解LabVIEW的核心数…

linux进程——概念理解与PCB

前言:本篇讲解Linux进程概念相关内容。 操作系统被称为计算机世界的哲学, 可以见得操作系统的知识并不好理解。 对于这篇进程概念的讲解, 博主认为, 如果没有一些前置知识的话,里面的有些概念并不好理解。 但是如果学习…

【机器学习实战】Datawhale夏令营2:深度学习回顾

#DataWhale夏令营 #ai夏令营 文章目录 1. 深度学习的定义1.1 深度学习&图神经网络1.2 机器学习和深度学习的关系 2. 深度学习的训练流程2.1 数学基础2.1.1 梯度下降法基本原理数学表达步骤学习率 α梯度下降的变体 2.1.2 神经网络与矩阵网络结构表示前向传播激活函数…

人工智能未来发展前景将会怎样?

当我们探讨人工智能未来的发展前景时,可以从多个角度来详细说明其可能的影响和趋势: 技术进步与应用扩展 1.深度学习与机器学习: 进一步优化和算法进展:深度学习已经取得了巨大成就,但仍面临挑战,如对小数…

AI伦理议题:从隐私保护到算法公平

文章目录 🍊1 人工智能兴起背后的伦理及道德风险1.1 算法偏见与歧视1.2 数据隐私侵权1.3 透明度受限1.4 决策失衡1.5 AI生成内容的危险性 🍊2 建构AIGC伦理观:实现人机共创的永续提升2.1 技术手段与伦理预防2.2 即时警告与紧急关停措施2.3 法…

Xcode进行真机测试时总是断连,如何解决?

嗨。大家好,我是兰若姐姐。最近我在用真机进行app自动化测试的时候,经常会遇到xcode和手机断连,每次断连之后需要重新连接,每次断开都会出现以下截图的报错 当这种情况出现时,之前执行的用例就相当于白执行了&#xff…

vue视频、图片自动轮播并伴随进度条

废话不多说直接上代 多余没用的部分自己看着删除 <template><div class"showImg"><el-carousel ref"carousel" trigger"hover" :autoplay"false" class"dimControl" :height"${(currenInnerWith*0.37…

JavaScript:移除元素

这是原题&#xff1a;给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k&#xff0c;要通过此题&#xff0c;您需要执行以下操…

sourcrinlight 4.0 的使用技巧:如何在文件名后省略路径名

如图&#xff1a; 如果路径名很长&#xff0c;将显示不了几个文件名的&#xff0c;会造成一些不便。如何隐藏文件的路径名呢&#xff1f; 选中或取消这个按钮&#xff1a; 就可以了。要想再查看文件路径&#xff0c;鼠标放上去&#xff0c;就会显示了&#xff1a; 谢谢

数据融合工具(11)悬挂点自动检测和修复

一、需求背景 GIS数据通常需要满足拓扑规则&#xff0c;即点、线和面之间的拓扑关系应该正确。 悬挂点是指在地图数据中孤立存在的点&#xff0c;它们不与任何线或面的节点相连接。悬挂点通常是数据中的异常情况&#xff0c;可能是由于数字化或数据编辑错误而导致的。 下图以橙…

【关闭个人数据跨境传输】

现象 &#xff1a;WIN10更新补丁重启就有了这&#xff1b; 解决办法&#xff1a; 第一步&#xff1a;按shiftF10 第二步&#xff1a;按winR 第三步&#xff1a;输入taskmgr&#xff0c;回车 第四步&#xff1a;结束Microsoft账户进程&#xff0c;就可以进入桌面&#xff1…

Android中OkHttp3中超时时间概述

目录 前言connectTimeoutreadTimeoutwriteTimeoutcallTimeoutpingInterval拓展 前言 可以看到&#xff0c;使用还是很简单的。主要相关的有这五个参数&#xff0c;其中我们常用到是就是connectTimeout、readTimeout和writeTimeout。 再看上图&#xff0c;可以看到默认下connec…

matlab小白入门的基本使用

一.基本运算 加&#xff1a;a55 减&#xff1a;a5-2 立方&#xff1a;a2^3 乘&#xff1a;a2*3 ans默认变量名&#xff0c;应答最近依次操作运算结果eps浮点数的相对误差i,j虚数单位&#xff0c;定义-1inf代表无穷大NaN代表不定值&#xff08;不是数字&#xff09;pi圆周率…

【内网安全】横向移动-Wmi-Smb-CME密码喷射

目录 环境介绍域信息收集-横向移动前置判断是不是在域内获取域控主机的内网ip端口扫描内网获取主机密码 域横向移动-WMI-自带&命令&套件&插件1.wmic系统自带&#xff1a;(单执行&#xff1a;即无回显) 2.cscript系统自带&#xff1a;(交互式) 3.wmiexec-impacket&a…

[RuoYi-Vue] - 6. 若依二次开发

文章目录 &#x1f333;1. 模块定制(修改包名)1.1 若依框架修改器1.2 使用示例 &#x1f33f;2. 新建业务模块2.1 新建子模块2.2 版本锁定2.3 添加模块依赖 &#x1f33e;3. 菜品管理开发3.1 准备SQL并导入数据库3.2 配置代码生成信息3.3 下载代码并导入项目 &#x1f343;4. 通…

【Linux】深入了解`rm`命令:删除文件与目录的终极指南

文章目录 一、rm命令概述二、rm命令的基本用法三、rm命令的常用选项1. -i&#xff1a;交互式删除2. -f&#xff1a;强制删除3. -r或-R&#xff1a;递归删除目录4. -v&#xff1a;详细模式 四、rm命令的高级用法1. 结合其他命令使用2. 删除空目录 五、rm命令的注意事项 在Linux操…

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined问题解决

一、系统环境变量中添加tomcatjdk的环境变量声明 1、右击此电脑->属性->高级系统设置 可复制粘贴下面的变量名 CATALINA_HOME 点击path->编辑->新建 可将下面值粘入 %CATALINA_HOME%\bin 2、配置jdk的系统变量 系统变量->新建->如图 可将下面变量名粘入 J…

【java】力扣 H指数

文章目录 题目链接题目描述思路代码 题目链接 274.H指数 题目描述 思路 设置n为citations的长度&#xff0c;也就是发表论文的篇数&#xff0c;h肯定是不能超过n的&#xff0c;所以当有引用次数大于n时&#xff0c;我们要看成n&#xff0c; 要创建一个数组arr&#xff0c;来…