交换机之trunk access hybrid 以及vlan深入理解

news2025/7/19 16:51:53

服务器开发系列

文章目录

  • 服务器开发系列
  • 一、802.1Q封装VLAN数据帧格式是?
  • 二、Access Trunk Hybrid是什么?
  • 三、Access Trunk Hybrid数据处理流程是什么?
  • 四、示例
  • 五、最简单交换机应用
  • 总结


一、802.1Q封装VLAN数据帧格式是?

IEEE 802.1Q定义了关于支持VLAN特性的交换机的标准规范。分为由标记帧与无标记帧的帧。
有标记帧(Tagged帧):加入了4字节VLAN标签的帧。
无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的帧。
在这里插入图片描述
其中VLAN tag解析如下:
在这里插入图片描述
标签协议识别符(Tag Protocol Identifier, TPID):
一组16位的域其数值被设置在0x8100,以用来辨别某个IEEE 802.1q的帧成为“已被标注的”,而这个域所被标定位置与以太形式/长度与未标签帧的域相同,这是为了用来区别未标签的帧。
优先权代码点(Priority Code Point, PCP):
以一组3比特的域当作IEEE 802.1p优先权的参考,从0(最低)到7(最高),用来对数据流(音频、视频、文件等等)作传输的优先级。
标准格式指示(Canonical Format Indicator, CFI):
1比特的域。若是这个域的值为1,则MAC地址则为非标准格式;若为0,则为标准格式;在以太交换器中他通常默认为0。在以太和令牌环中,CFI用来做为两者的兼容。若帧在以太端中接收数据则CFI的值须设为1,且这个端口不能与未标签的其他端口桥接。
虚拟局域网识别符(VLAN Identifier, VID):
12位的域,用来具体指出帧是属于哪个特定VLAN。值为0时,表示帧不属于任何一个VLAN;此时,802.1q标签代表优先权。12位的值0x000和0xFFF为保留值,其他的值都可用来做为共4094个VLAN的识别符。在桥接器上,VLAN1在管理上做为保留值。这个12位的域可分为两个6比特的域以延伸目的(Destination)与源(Source)之48位地址,18位的三重标记(Triple-Tagging)可和原本的48位相加成为66比特的地址。

VID与PVID之间区别是什么?
PVID和PVID经常出现于二、三层交换机里,由于PVID和VID的设置不合理,造成VLAN划分变得混乱。
PVID是交换机上的概念,说的是进入该端口的报文如果没有打vlan id就按pvid的值打上。
VID是报文上的vlan tag的意思。

VLAN
不同vlan间的主机不能直接通信,需要通过路由器或三层交换机等网络层设备进行转发,设备提供vlan接口实现对报文进行三层转发的功能。
vlan接口是一种三层模式下的虚拟接口,主要用于实现vlan间的三层互通,它不作为物理实体存在于设备上。每个vlan对应一个vlan接口,在为vlan接口配置了ip地址后,该接口即可作为本vlan内网络设备的网关,对需要跨网段的报文进行基于ip地址的三层转发。

基于端口的vlan就是我们平常最常用的划分vlan的方法,将指定端口加入到指定vlan中之后,端口就可以转发指定vlan的报文。

二、Access Trunk Hybrid是什么?

交换机的三种端口类型是哪三种、特点?
以太网端口有三种链路类型: Access、 Hybrid 和Trunk。
■ Access 类型的端口只能属于1个VLAN,一 般用于连接计算机的端口;
■ Trunk 类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;
■ Hybrid 类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。

Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。

三、Access Trunk Hybrid数据处理流程是什么?

交换机接口出入数据处理过程:
在这里插入图片描述

Acess端口收报文:
Acess端口收报文
判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发
如果有则直接丢弃(缺省)
Acess端口发报文:
将报文的VLAN信息剥离,直接发送出去

trunk端口收报文:
Trunk端口收到报文
判断是否有VLAN信息:如果没有,则打上端口的PVID,并进行交换转发
如果有,判断该trunk端口是否允许该VLAN的数据进入:如果可以,则转发,否则丢弃
Trunk端口发报文:
比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接转发

hybrid端口收报文:
Hybrid端口收一个报文
判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid端口是否允许该VLAN的数据进入:
如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只对发送报文时起作用)
Hybrid端口发报文
判断该VLAN在本端口的属性,如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送

在这里插入图片描述

VID与PVID区别
简单的说,VID(VLAN ID)是VLAN的标识,定义其中的端口可以接收发自这个VLAN的包;而PVID(Port VLAN ID)定义这个untag端口可以转发哪个VLAN的包。

四、示例

在这里插入图片描述
1、pc1不能ping通pc2,因为同一交换机内从pc1进入交换机A的access口的数据包被打上了VLAN10的标记,而和pc2相连的access的是VLAN20,从上面总结的2不满足,无法ping通。同理,pc1和pc3也不能ping通。

2、pc2和pc3能互ping通。因为数据包从pc2进入交换机A的access口时,被打上了VLAN20的标记;交换机A与B相连的access口是VLAN20,所以数据包可以从该口发出。发出的时候去掉了VLAN20的标记,到B时,由于没有标记,可以被B的左边的access口接收并打上VLAN10的标记。由于B的右边的access口也属于VLAN10,所以数据包可以从该口出(出的时候去除掉VLAN10的标记,并到达pc3)。

在这里插入图片描述
1、上图中pc1和pc3可以相通,因为数据包从pc1进入A的access口是打上了VLAN10的标记,A的右边trunk口可以接受数据包,并转发到B的trunk口(无论vid是否等于pvid)。而B的acces属于VLAN10所以pc3能收到数据包。
2、同理,pc2和pc6相通

补充学习
学习:三层交换机怎么设置vlan间通信?
https://www.jb51.net/network/450701.html
有三台电脑pc0、pc1、pc2和一台二层交换机相连,二层交换机再和三层交换机相连。其中设置pc0和pc1属于vlan10,pc2属于vlan20
在这里插入图片描述
设置流程如下:
1.先设置pc0和pc1、pc2的ip地址。
2.在交换机Switch0上创建vlan 10和vlan 20。
3.在二层交换机上将F0/1口和f0/2口划分到VLAN 10中。将F0/3口划分到VLAN 20中。
4.在二层交换机上与三层交换机相连的端口(此处为F0/4端口)定义为trunk模式。
5.对于三层交换机先开启它的路由功能。
6.在三层交换机的接口f0/1上创建虚拟接口vlan10和vlan 20。
7.在三层交换机与二层交换机相连的接口f0/1上配置成trunk模式。
8.在pc0上通过cmd去ping pc1和pc2都能连通。

五、最简单交换机应用

1、对于普通用户,我们只要区别交换机上的lan口与wan口,家用交换机由多个lan口,一个wan口组成,将wan口接入到互联网上,lan接入到家中pc,这样,就可以进行局域网通信了。
2、搭建了两个局域网,分别是10.20.30.-/255.255.255.0与10.20.40.-/255.255.255.0,相互之间是网络不通的,为了让局域网10.20.30.-与10.20.40.-通信,可以将两个交换机搭建的局域网的wan口接入到路由器上,即三层设备,既可实现不同局域网之间的通信了。

总结

通过本文的学习应该对Trunk access hybrid有了一定的了解,希望对你有所帮助。

授人以鱼不如授人以渔。如您喜欢,请点赞收藏。

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

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

相关文章

kubernetes中ingress控制器traefik获取真实客户源IP

一.现象 公司kubenetes生产环境使用的ingress控制器是traefik,默认是通过deployment部署的,现在研发上反馈不能获取客户的真实源IP地址,通过x_forward_for获取的IP地址都是kubernetes集群内部的IP地址。 二.解决思路 通过查找traefik的官方…

【雨夜】业务中 自定义异常用 Exception 还是 RuntimeException? 为什么?

今天和同事 聊了下异常 相关的事,整理在此 目前公司中使用的 自定义异常是 extend RuntimeException 目录 思维导图 继承异常 我们在业务开发中 继承异常是extend RuntimeException 还是 Exception呢 一想 这肯定是 RuntimeException 啊,但是这是为什…

kingdee漏洞金蝶云星空存在弱口令漏洞

kingdee漏洞简介 金蝶云星是基于云计算、大数据、社交、人工智能、物联网等前沿技术研发的新一代战略性企业管理软件。金蝶云星空存在弱口令漏洞,攻击者利用该漏洞登录系统后台,获取敏感信息。 CNNVD编号:CNVD-2022-15854危害等级&#xff…

【C++笔试强训】第二十七天

🎇C笔试强训 博客主页:一起去看日落吗分享博主的C刷题日常,大家一起学习博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话:夜色难免微凉,前方必有曙光 🌞。 💦&a…

使用PostMan测试WebService接口

在浏览器中输入 http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl 查看是否启动服务,确保WS地址可用。通过地址获取获取WSDL地址相关参数,并找空间命名,这个位置是固定的,下面会用到,这里是 http://WebXml.c…

62岁腾格尔要开线上演唱会,直播间能否唱《遥远的地方》成焦点

人生六十岁一花甲,著名草原歌手腾格尔,在经历了人生的风风雨雨后,如今已经步入了六十二岁的年龄。虽然已经年过花甲,但是腾格尔老师依旧意气风发,他的个人线上演唱会,也准备在11月19日与大家见面。 在网友的…

【C++布隆过滤器和哈希切分】

目录 1.布隆过滤器概念 2.布隆过滤器优点 3.哈希切分 位图储存的类型只能是整形,有没有储存自定义类型或者是字符串类型的“位图”呢? 1.布隆过滤器概念 步隆过滤器是由布隆(Burton Howard Bloom)在1970年提出的 一种紧凑型的…

从3D ToF到智能座舱系统方案,英飞凌如何赋能未来出行?

当前,全球汽车产业正处于大变革和市场重构的关键时期,智能汽车新时代的大幕已然拉开。 “智能座舱、人机交互已经成为车载信息娱乐系统‘智能化’的新亮点。”英飞凌相关负责人表示。在汽车智能化、网联化、电动化等大趋势下,越来越多的创新…

【C++进阶】map和set——下篇(红黑树的学习以及封装map和set)

🎇C学习历程:入门 博客主页:一起去看日落吗持续分享博主的C学习历程博主的能力有限,出现错误希望大家不吝赐教分享给大家一句我很喜欢的话: 也许你现在做的事情,暂时看不到成果,但不要忘记&…

ggplot2图形简单绘制

文章目录一、所用函数1. sort、rank、order用法2. arrange 用法3. reorder用法4. cumsum 用法5. interaction用法二、散点图三、折线图、直方图、箱线图四、柱状图1. 单一变量 (统计单一变量的属性值分布)2. 单一变量fill (列联表&#xff09…

mybatis详解

学习到现在,作为我们的java萌新来说,是时候来学习一点偷懒的武林秘籍了,今天我给大家介绍的就是在无上秘宝--mybatis持久型框架. 学习一个东西之前,我们得首先了解他的前世今生... 前世:原是Apache的一个开源项目iBatis, 2010年6月这个项目由ApacheSoftware Foundation 迁移到…

SQL注入靶机练习:BUU SQL COURSE 1

SQL注入靶机练习:BUU SQL COURSE 1一、SQL注入知识点二、前置知识三、SQL注入测试的一般步骤四、解题过程一、SQL注入知识点 可参考SQL注入详解 二、前置知识 参考来源:渗透攻防Web篇-深入浅出SQL注入 mysql5.0以上版本中存在一个重要的系统数据…

无敌,全面对标字节跳动2-2:算法与数据结构突击手册(leetcode)

学习是一种基础性的能力。然而,“吾生也有涯,而知也无涯。”,如果学习不注意方法,则会“以有涯随无涯,殆矣”。 学习就像吃饭睡觉一样,是人的一种本能,人人都有学习的能力。我们在刚出生的时候…

某城市道路桥梁设计计算书+cad图纸

第一章 工程概述 41 1.1设计题目 41 1.2 设计资料 42 1.3 桥梁设计的基本要求 42 1.3.1 使用上的要求: 42 1.3.2 经济上的要求: 42 1.3.3 结构和尺寸上的要求: 42 1.3.4 施工上的要求: 42 1.3.5美观上的要求&#xff1…

Aspose.PDF for Java Crack by Xacker

Aspose.PDF for Java 是一个本地库,使开发人员能够将 PDF 处理功能添加到他们的应用程序中。API 可用于构建任何类型的 32 位和 64 位应用程序,以在不使用 Adob​​e Acrobat 的情况下生成或读取、转换和操作 PDF 文件。 Aspose.PDF for Java API 允许执…

嵌入式(驱动开发)(内核内存管理)

一、内核内存管理框架 内核将物理内存等分成N块4KB,称之为一页,每页都用一个struct page来表示,采用伙伴关系算法维护 内核地址空间划分图: 3G~3G896M:低端内存,直接映射 虚拟地址 3G 物理地址 ​ 细…

Disk Drill for Mac v5.0.1043 苹果数据恢复软件

Disk Drill Enterprise for Mac,数据恢复软件,Disk Drill for Mac 解锁钥匙,Disk Drill for Mac序列号,顶尖的Mac数据恢复软件,你需要恢复在Mac OS X中已经删除的文件吗?比如重要商业文档、音乐、图片或者视…

Linux开发工具(5)——git

文章目录git版本控制器git是什么git的操作clone仓库到本地上传本地文件到gitgit版本控制器 git是什么 标题也说了git就是一个版本控制器,版本控制器是用来保存一个文件的历史版本,如果有需要可以进行回溯,也就是取得以前编辑完成的版本。 比…

Flutter基础知识

const 常量构造函数,如果控件是,则前面加;如果常量构造函数包含有非常量构造函数,则不加,内部是的控件单独加 1.Flutter学习网址 Flutter 中文官网 https://flutter.cn/ Flutter 官网:https://flutter.de…

移动WEB开发之流式布局--移动端基础

浏览器现状 PC端常见浏览器 360浏览器、谷歌浏览器、火狐浏览器、QQ浏览器、百度浏览器、搜狗浏览器、IE浏览器。 移动端常见浏览器 UC浏览器,QQ浏览器,欧朋浏览器, 百度手机浏览器,360安全浏览器,谷歌 浏览器&…