vlan access, trunk, hybrid (tagged/untagged) 笔记

news2024/9/24 1:22:18

vlan 接口和配置

PVID(port vlan ID)

定义 pvid 主要目的:

  1. 当交换机接口收到没有 vlan tag 标签的包时,接口会将定义的 pvid 作为当前包的 vlan id。
  2. 当对映 pvid vlan 的包,通过当前交换机接口发出时,接口会将包的 pvid 剥离,还原成一个不带 vlan tag 的包发出。

默认情况下,很多设备 PVID 为 1。

PVID 在 trunk 和 hybrid 情况下,并不是默认就可以允许通过 port 的。

access:

一般连接 PC,主要处理单独一个 vlan。

PVID

access 口只允许一个 vlan id 通过, access 口不会配置 PVID。access 口配置的 default vlan id,功能类似于 PVID。

收包:

access port 收到一个包后:

  1. 检查这个包带不带 vlan tag。
  2. 如果进入接口的包带 vlan tag。
    a 如果带 vlan tag,且 vlan tag 为 PVID,则 接收。
    b 如果带 vlan tag,但是 vlan tag 不是 PVID,则 drop。
  3. 如果包不带 vlan tag。
    a 不带 vlan tag,给包打上 access 口的 default vlan id,然后 接收。

发包:

access port 发包:
检查包的 vlan tag。

  1. 如果需要发的包 vlan tag 是 access 口 default vlan, 则剥去 vlan tag,然后 发出。
  2. 如果包的 vlan tag 不是 access 口 default vlan,则丢弃。

trunk:

一般用于交换机互联,主要处理多个 vlan。
trunk 口可以配置多个 allow-pass vlan 和 一个 PVID。
如果想让接口顺利的接受和发送带有 PVID 的包。trunk 口 allow-pass vlan 中需要加入 PVID 的 vlan 号。(收包和发包都必须将 PVID 写入 allow-pass vlan 中)

PVID(port vlan ID)

trunk port 只允许定义一个 PVID。
当一个 trunk port 收到不带 vlan tag 的包时,这个包被 port 接收后会打上 PIVD。
从这个 trunk port 发送出去的包,如果包打有这个 port PVID 时,包在被发送出去前,port 会将包的 PVID tag 剥离后发出。

收包:

trunk 口收到一个包:
1.检查这个包带不带 vlan tag。
2. 包不带 vlan tag,会将包打上当前 PVID tag,接收处理(前提时 trunk port allow PVID vlan pass)。
3. 包带有 vlan tag,比对当前 port 上的 allow-pass vlan 配置,如果允许 allow pass vlan 中有当前包的 vlan tag 则接受,否则 drop。

发包:

trunk 口发送一个包:

  1. 检查这个包所带的 vlan 号。
  2. 如果这个包所带的 vlan 号和当前 trunk port 的 PVID一致(前提时 trunk port allow PVID vlan pass),则将包的 vlan tag 剥离后,发送出去。
  3. 如果这个包所带的 vlan 号不是当前 trunk port 的 PVID,则会比较当前 port 配置的 allow pass vlan。当前包的 vlan 在 allow pass vlan 中,则将 vlan 包原封不动发出。如果不在,则 drop。

hybrid:

可以用于连接 PC 或者交换机。可以当作 access 或者 trunk 口,也可以处理多个未知的 vlan。hybrid 口可以通过定义port tagged/untagged 来控制 port “发包”时,是否给包打上 vlan tag。

PVID(port vlan ID)

和 trunk port 类似。PVID 不管是 tagged 还是 untagged 必须定义在 hybrid port 上。

矛盾的配置:
如果在 port 上定义的 PVID 10(发出的包不带 vlan 10 tag),同时在 port 上定义 tagged vlan 10(发出的包带 vlan 10 tag)。
那么 hybrid port 发出的 vlan 10 包,是不带 vlan 10 tag 的。(貌似 PVID 优先级更高)

tagged/untagged

tagged 和 untagged 只是针对 port 发包。
发包时:如果发现 vlan 是 untagged,则将包的 vlan id 剥离后发出。如果发现 vlan 是 tagged,则将包原封不动发出。

port 在接收包时候,会看参照 port 上配置了tagged 和 untagged 的vlan 集合。接收包的 vlan id 在此集合中的,允许通过。(验证过)

收包:

当一个 hybrid 口收到一个包:

  1. 看包带不带 vlan tag。
  2. 如果不带 vlan tag,且 hybrid 的 PVID 在 port 的 tagged/untagged vlan 中有定义,那么就将 包 打上 PVID 接受。
  3. 如果带有 vlan tag,看包的 vlan id 在此 port 上有没有定义 tagged/untagged vlan,如果定义了对映 tagged 或者 untagged vlan则接受。没有则 drop。

发包:

当一个 hybrid 口发送一个包:

  1. 看包的 vlan tag 是否属于 PVID。(这里不考虑包是否有 tag,如果没有 tag,hybrid port drop )
  2. 如果属于 PVID,且 PVID 在 port 上有定义对映的 tagged/untagged vlan。这个时候不管 port 定义的是 tagged 还是untagged vlan,接口会将 PVID 从包中剥离发送出去。(比如上面描述的矛盾的情况)
  3. 如果不属于 PVID,且在 port 上有定义对映的 tagged/untagged vlan。则更具 tagged 或者 untagged 标识,将对映的 vlan id 打上或者剥离,再将包发送出去。
  4. 如果这个包的 vlan id 不再任何 tagged/untagged vlan 中,则丢弃。

其他

一台机器上可以配置多个不同的 access、trunk,hybrid 接口。
不同机器的 hybrid 口和trunk 口可以互联,如下图,
pc1 192.168.10.1 和 pc4 和 pc5 互相 ping 通。

PC>ping 192.168.10.3

Ping 192.168.10.3: 32 data bytes, Press Ctrl_C to break
From 192.168.10.3: bytes=32 seq=1 ttl=128 time=63 ms
From 192.168.10.3: bytes=32 seq=2 ttl=128 time=47 ms
From 192.168.10.3: bytes=32 seq=3 ttl=128 time=62 ms
From 192.168.10.3: bytes=32 seq=4 ttl=128 time=63 ms
From 192.168.10.3: bytes=32 seq=5 ttl=128 time=63 ms

--- 192.168.10.3 ping statistics ---
  5 packet(s) transmitted
  5 packet(s) received
  0.00% packet loss
  round-trip min/avg/max = 47/59/63 ms

PC>ping 192.168.10.4

Ping 192.168.10.4: 32 data bytes, Press Ctrl_C to break
From 192.168.10.4: bytes=32 seq=1 ttl=128 time=47 ms
From 192.168.10.4: bytes=32 seq=2 ttl=128 time=62 ms
From 192.168.10.4: bytes=32 seq=3 ttl=128 time=78 ms
From 192.168.10.4: bytes=32 seq=4 ttl=128 time=79 ms
From 192.168.10.4: bytes=32 seq=5 ttl=128 time=78 ms

--- 192.168.10.4 ping statistics ---
  5 packet(s) transmitted
  5 packet(s) received
  0.00% packet loss
  round-trip min/avg/max = 47/68/79 ms

在这里插入图片描述

** LSW1 **

[LSW1]display current-configuration interface Ethernet 0/0/1
#
interface Ethernet0/0/1
 port link-type access
 port default vlan 10
#
return

[LSW1]display current-configuration interface Ethernet 0/0/3
#
interface Ethernet0/0/3
 port hybrid tagged vlan 10
#
return

** LSW2 **

[LSW2]display current-configuration interface Ethernet 0/0/3
#
interface Ethernet0/0/3
 port link-type trunk
 port trunk allow-pass vlan 10
#
return
[LSW2]display current-configuration interface Ethernet 0/0/2
#
interface Ethernet0/0/2
 port link-type access
 port default vlan 10
#
return
[LSW2]display current-configuration interface Ethernet 0/0/1
#
interface Ethernet0/0/1
 port hybrid pvid vlan 10
 port hybrid untagged vlan 10
#
return

参考:
https://support.huawei.com/enterprise/zh/doc/EDOC1100127233/f9b8a34a

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

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

相关文章

ADSelfService Plus:保护密码安全的最佳解决方案

密码安全是当今数字时代中至关重要的话题。随着互联网和信息技术的迅速发展,我们的生活变得越来越数字化,密码已成为我们生活中不可或缺的一部分。然而,随着各种网络威胁和黑客攻击不断增加,保护我们的密码变得越来越重要。 密码安…

测试工程师刚入职如何快速熟悉需求并输出测试用例?

刚入职第一天,早上办完入职,下午就就分配了测试任务,2个模块13条短信验证,2天内输出测试用例(xmind输出功能点,excel书写业务流)。测试负责人给我们快速讲了一下业务,在这过程中大概…

openssl/bn.h: No such file or directory

报错截图 解决方法 ubuntu apt install libssl-dev -y centos yum install openssl-devel -y

echarts实现多层环图(复制粘贴即可)

data里面参数配置: // 多重环图optionCircle: {tooltip: {show: false,trigger: item,formatter: "{a} : {c} ({d}%)"},color: [#3AB1EB, #D48B6A, #5B41C8, #FE7E02],legend: {orient: horizontal,itemWidth: 30, // 图例标记的图形宽度。itemHeight…

从产品和运营的角度聊聊,如何有效吸引与引导用户注册转化?

从产品和运营的角度聊聊 如何有效吸引与引导用户注册转化? 正文共:4360字 23图 预计阅读时间:11分钟 1 如何进行改版,找找思路? 前段时间在做公司的网站改版策划,此前接触的都是一些ToB的解决方案提供商…

Jmeter脚本录制:抓取IOS手机请求包

现在移动端的项目越来越多,今天给大家介绍一下,在IOS下Jmeter如何抓包。 1、电脑连上wifi 2、Jmeter中配置“HTTP代理服务器” 1)启动Jmeter;2)“测试计划”中添加“线程组”;3)“测试计划”中添加“HTTP代理服务器”&#xff…

【算法很美】多维数组和字符串篇打卡(第三天)

文章目录 子矩阵的最大累加和整体代码 矩阵运算-乘法整体代码 检测字符串是否有重复字符整体代码 反转字符串整体代码 变形词整体代码 替换字符串中的空格整体代码 子矩阵的最大累加和 整体代码 package 每日算法学习打卡.算法打卡.七月份.七月三十一号;import java.util.Arra…

nginx配置访问本机文件夹里的静态资源404

在nginx中配置了location访问一直404 location /web/user/ { alias /home/user/wlds/user/;index index.html;try_files $uri $uri/ /index.html 404;} 看日志发现Permission denied 因为是直接使用的yum安装的二进制包nginx,nginx.conf文件首行是user nginx;所以没…

【DRAM存储器三】内存颗粒内部结构

👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 参考资料:《镁光DDR4数据手册》 目录 DDR4颗粒的内部结构 …

[SSM]Spring6整合JUnit5与集成MyBatis3.5

目录 十七、Spring6整合JUnit5 17.1Spring对JUnit4的支持 17.2Spring对JUnit5的支持 十八、Spring6集成MyBatis3.5 18.1实现步骤 18.2具体实现 18.3spring配置文件的import 十七、Spring6整合JUnit5 17.1Spring对JUnit4的支持 准备工作&#xff1a; <dependencies&…

python——案例四:判断字符串中的元素组成

案例四&#xff1a;判断字符串中的元素组成str"Hello World! 666" print(str.isalnum()) #判读所有的字符都是数字或者是字母 print(str.isalpha()) #判读所有的字符都是字母 print(str.isdigit()) #判读所有的字符都是数字 print(str.islower()) #判读所有的字符都是…

从 0 到 1!得物如何打造通用大模型训练和推理平台

1.背景 近期&#xff0c;GPT 大模型的发布给自然语言处理&#xff08;NLP&#xff09;领域带来了令人震撼的体验。随着这一事件的发生&#xff0c;一系列开源大模型也迅速崛起。依据一些评估机构的评估&#xff0c;这些开源模型大模型的表现也相当不错。一些大模型的评测情况可…

【Linux取经路】进度条小程序

文章目录 一、预备知识1.1 回车换行1.2 缓冲区 二、倒计时2.1 注意事项 三、进度条3.1 源代码3.2 代码分析3.2 实际使用场景 一、预备知识 1.1 回车换行 一般意义上的回车换行是两个独立的独立的动作&#xff0c;而C语言中的\n则同时完成了回车和换行的工作。回车是将光标移动…

接口压测实践——压力测试常见参数解释说明

使用场景​ 对指定接口进行性能测试时&#xff0c;一些常见参数解释说明。 一键并发​ 可以通过下载最新版的 Apipost 客户端实现单接口的高性能一键并发压测&#xff0c;如下图所示 注意&#xff1a;请勿设置太大的并发量或者循环次数&#xff0c;这有可能导致直接将被压服…

实时协作:团队效率倍增的关键

实时协作是指团队在当前时刻共同完成项目的能力。无论是否使用技术&#xff0c;都能实现这一点。然而&#xff0c;随着远程工作的盛行&#xff0c;安全的协作工具被用来让团队成员在项目和一般业务之间保持联系和同步。 传统协作与实时协作的区别 两种类型的协作最明显的区别…

JPEG有损图像压缩编码器(附源码)

概述 一个基本由自己实现的JPEG有损图像压缩编码器&#xff0c;基于JFIF&#xff08;JPEG文件交换格式&#xff09;标准&#xff1a; 色彩空间转换&#xff08;RGB to YUV&#xff09;色度抽样&#xff08;采样因子4:2:0&#xff09;MCU分块&#xff08;16x16的最小编码单元&…

抄写Linux源码(Day1:获取并运行 Linux0.11)

Day1&#xff1a;获取并运行 Linux0.11 参考资料&#xff1a;https://zhuanlan.zhihu.com/p/438577225 这是我参考的一个别人写的 Linux0.11 解读&#xff1a;https://github.com/dibingfa/flash-linux0.11-talk 我获取 Linux-0.11 源码的链接&#xff1a;https://github.com/…

最适合新手的Java项目/SpringBoot+SSM项目《苍穹外卖》/项目实战、笔记(超详细、新手)[持续更新……]

小知识 软件设计中提到的UI设计中的UI是什么意思&#xff1f; 在软件设计中&#xff0c;UI设计中的UI是User Interface的简称&#xff0c;即用户界面。UI设计是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计可以让软件变得有个性有品位&#xff0c;同时让操作…

实例讲解:通过三个案例搞懂tcp的那些冷门知识

最近在做数据库相关的事情&#xff0c;碰到了很多TCP相关的问题&#xff0c;新的场景新的挑战&#xff0c;有很多之前并没有掌握透彻的点&#xff0c;大大开了一把眼界&#xff0c;选了几个案例分享一下。 案例一&#xff1a;TCP中并不是所有的RST都有效 背景知识 在TCP协议…