首页
视频
资源
登录
原
VLAN接口类型讲解
3158
人阅读
2022/10/20 12:20
总访问:
2536389
评论:
0
收藏:
0
手机
分类:
网络
![](https://img.tnblog.net/arcimg/hb/71bdfcf14868466aac978e04dc1241f4.png) >#VLAN接口类型讲解 [TOC] ## VLAN简介 tn2>VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。 VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。 以太网是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detection)的共享通讯介质的数据网络通讯 技术。当主机数目较多时会导致冲突严重、广播泛滥、性能显著下降甚至造成网络不可用等问题。通过交换机实现 LAN互连虽然可以解决冲突严重的问题,但仍然不能隔离广播报文和提升网络质量。 在这种情况下出现了VLAN技术,这种技术可以把一个LAN划分成多个逻辑的VLAN,每个VLAN是一个广播域, VLAN内的主机间通信就和在一个LAN内一样,而VLAN间则不能直接互通,这样,广播报文就被限制在一个VLAN内。 ![](https://img.tnblog.net/arcimg/hb/dfe08d280d204b8ab72aaf20e4c656c9.png) tn2>1 -- 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。 2 -- 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。 3 -- 提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。 4 -- 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。 tn>简单讲:就是划分多个虚拟网,通过分组减少发响应包。 ## VLAN 报文与Tag tn2>要使设备能够分辨不同VLAN的报文,需要在报文中添加标识VLAN信息的字段。IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用以标识VLAN信息 普通以太帧: ![](https://img.tnblog.net/arcimg/hb/2cb7b5ec164641948396644bb564f50e.png) tn2>IEEE 802.1Q封装的VLAN数据帧格式: ![](https://img.tnblog.net/arcimg/hb/47907d59e1b64e9da8f2cdd16b5b213b.png) tn2>VLAN标签各字段含义: | 字段 | 长度 | 含义 | 取值 | | ------------ | ------------ | ------------ | ------------ | | TPID | 2Byte | Tag Protocol Identifier(标签协议标识符),表示数据帧类型。 | 表示帧类型,取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。<br/> 各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时, 为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。 | | PRI | 3bit | Priority,表示数据帧的802.1p优先级。 | 取值范围为0~7,值越大优先级越高。当网络阻塞时,设备优先发送优先级高的数据帧。 | | CFI | 1bit | Canonical Format Indicator(标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网。 | CFI取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。在以太网中,CFI的值为0。| | VID | 12bit | VLAN ID,表示该数据帧所属VLAN的编号。 | VLAN ID取值范围是0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是1~4094。 | tn2>简单讲: TPID:标识符(可自定义) PRI:优先级,比如映射。 CFI:标准格式位。 VID:VLAN ID。 ## VLAN-PVID tn2>缺省VLAN又称PVID(Port Default VLAN ID)。设备处理的数据帧都带Tag,当设备收到Untagged帧时,就需要给该帧添加Tag,添加什么Tag,就由接口上的缺省VLAN决定。一个物理端口只能拥有一个PVID,当一个物理端口拥有了一个PVID的时候,必定会拥有和PVID相等的VID,而且在这个VID上,这个物理端口必定是Untagged Port。 PVID的作用只是在交换机从外部接受到可以接受Untagged 数据帧的时候给数据帧添加TAG标记用的,在交换机内部 转发数据的时候PVID不起任何作用。 每个接口都有一个缺省VLAN。缺省情况下,所有接口的缺省VLAN均为VLAN1,但用户可以根据需要进行配置。 1 - 对于Access接口,缺省VLAN就是它允许通过的VLAN,修改缺省VLAN即可更改接口允许通过的VLAN。 2 - 对于Trunk接口和Hybrid接口,一个接口可以允许多个VLAN通过,但是只能有一个缺省VLAN。接口的缺省VLAN和允许通过的VLAN需要分别配置,互不影响。 ![](https://img.tnblog.net/arcimg/hb/718b4bf29d4a4cf2970d31b95fdaebea.png) tn>简单来说:一个口子一个PVID(至于带不带看接口类型) | 接口类型 | 对接收不带Tag的报文处理 | 对接收带Tag的报文处理 | 发送帧处理过程 | | ------------ | ------------ | ------------ | ------------ | | Access接口 | 接收该报文,并打上缺省的VLAN ID。 | 当VLAN ID与缺省VLAN ID相同时,接收该报文。<br/>当VLAN ID与缺省VLAN ID不同时,丢弃该报文。 | 先剥离帧的PVID Tag,然后再发送。 | | Trunk接口 | 打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文。<br/> 打上缺省的VLAN ID,当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文。 | 当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文。<br/> 当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。 | 当VLAN ID与缺省VLAN ID相同,且是该接口允许通过的VLAN ID时,去掉Tag,发送该报文。<br/>当VLAN ID与缺省VLAN ID不同,且是该接口允许通过的VLAN ID时,保持原有Tag,发送该报文。 | | Hybrid接口 | 打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文。<br/> 打上缺省的VLAN ID,当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文。 | 当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文。<br/> 当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。 | 当VLAN ID是该接口允许通过的VLAN ID时,发送该报文。可以通过命令设置发送时是否携带Tag。 | tn2>由上面各类接口添加或剥除VLAN标签的处理过程可见: 当接收到不带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会给数据帧打上VLAN标签,但Trunk接口、Hybrid接口会根据数据帧的VID是否为其允许通过的VLAN来判断是否接收,而Access接口则无条件接收。 当接收到带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会根据数据帧的VID是否为其允许通过的VLAN(Access接口允许通过的VLAN就是缺省VLAN)来判断是否接收。 当发送数据帧时: 1.Access接口直接剥离数据帧中的VLAN标签。 2.Trunk接口只有在数据帧中的VID与接口的PVID相等时才会剥离数据帧中的VLAN标签。 3.Hybrid接口会根据接口上的配置判断是否剥离数据帧中的VLAN标签。 因此,Access接口发出的数据帧肯定不带Tag,Trunk接口发出的数据帧只有一个VLAN的数据帧不带Tag,其他都带VLAN标签,Hybrid接口发出的数据帧可根据需要设置某些VLAN的数据帧带Tag,某些VLAN的数据帧不带Tag。 ## Access 接口 tn2>Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。它只能收发Untagged帧,且只能为Untagged帧添加唯一VLAN的Tag。 >### 交换机接收包 tn2>接口收到不带Tag的帧:接收该帧,并打上该接口PVID的Tag。 (没有PVID就打上PVID到交换机内部。) ![](https://img.tnblog.net/arcimg/hb/e59ff733c84d4362bc7188dd9d301b07.png) tn2>接口收到带PVID的Tag: VLAN ID == PVID ,接收 VLAN ID != PVID ,丢弃 ![](https://img.tnblog.net/arcimg/hb/ef21630bc70c4e4a85af0414882ffc0c.png) >### 交换机发送包 tn2>帧的VLAN ID与接口PVID相同: 把PVID标签去掉,再从接口发出 ![](https://img.tnblog.net/arcimg/hb/9cc869b8f5bd4cef8a02894dc13accf9.png) tn2>帧的VLAN ID与接口PVID不同:禁止将该帧从该接口发出。 ![](https://img.tnblog.net/arcimg/hb/ea2b42ae042041fa8eaa039ada8d2602.png) ## Trunk 接口 tn2>Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。它可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。 >### 交换机接收包 tn2>接口收到不带Tag的帧:该帧打上PVID,当PVID在该接口允许通过的VLAN列表中时接收该帧,反之丢弃该帧。 (打上的pvid要与vlan id一样才能到交换机内部) ![](https://img.tnblog.net/arcimg/hb/0d4c27a8419a439f8c27181d5496e601.png) tn2>接口收到带Tag的帧:当该帧的VLAN ID在该接口允许的VLAN列表中接收该帧,反之丢弃 ![](https://img.tnblog.net/arcimg/hb/30a700b3d1004d20982e82210fa4ef87.png) >### 交换机发送包 tn2>VLAN ID和PVID相同:当该帧的VLAN ID在该接口允许VLAN列表中,则将该Tag剥离,然后发出,如不在允许的VLAN列表中,禁止发出 (VLAN ID == PVID去掉Tag然后发包) ![](https://img.tnblog.net/arcimg/hb/b39cc9dff7f143978631d423849d3319.png) tn2>VLAN ID和PVID不同:当该帧的VLAN ID在该接口允许VLAN列表中,则保留该Tag,然后发出,如不在允许的VLAN列表中,禁止发出 ![](https://img.tnblog.net/arcimg/hb/d182addc8e294155b85796bc871fcf68.png) >### 测试如下 ![](https://img.tnblog.net/arcimg/hb/5bd9aa68afa545a88ec3eaef426d9292.png) ![](https://img.tnblog.net/arcimg/hb/9f3b1c22d1774a66b34f0322356fc628.png) ## Hybrid 接口 tn2>Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器)和网络设备(如Hub),也可用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。它可允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag(即不剥除Tag)某些VLAN的帧不带Tag(即剥除Tag)。 >### 交换机接收包 tn2>接口收到不带Tag的帧:该帧打上PVID,当PVID在该接口允许通过的VLAN列表中时接收该帧,反之丢弃该帧 ![](https://img.tnblog.net/arcimg/hb/efca5aa8b3aa40bdb3c72aceaa5edd6a.png) tn2>接口收到带Tag的帧:当该帧的VLAN ID在该接口允许的VLAN列表中接收该帧,反之丢弃(与PVID无关) ![](https://img.tnblog.net/arcimg/hb/2803e71ae0334a4cab43312b4f5b6046.png) >### 交换机发送包 tn2>VLANID在允许列表中:当管理员配置发送该帧的时候不带Tag,则将Tag删除,然后再发出。(与PVID无关) ![](https://img.tnblog.net/arcimg/hb/0cf4d2d92ee9422ebede0905e8e1a9fc.png) tn2>VLANID在允许列表中:当管理员配置发送该帧的时候带Tag,则保留该Tag,然后再发出。(与PVID无关) ![](https://img.tnblog.net/arcimg/hb/f2714097da674c45852d999ed10ad1b0.png) >### 测试 ![](https://img.tnblog.net/arcimg/hb/cd6785aa32f14574b39a087fa21027b6.png)
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
👈{{preArticle.title}}
👉{{nextArticle.title}}
评价
{{titleitem}}
{{titleitem}}
{{item.content}}
{{titleitem}}
{{titleitem}}
{{item.content}}
尘叶心繁
这一世以无限游戏为使命!
博主信息
排名
6
文章
6
粉丝
16
评论
8
文章类别
.net后台框架
166篇
linux
17篇
linux中cve
1篇
windows中cve
0篇
资源分享
10篇
Win32
3篇
前端
28篇
传说中的c
4篇
Xamarin
9篇
docker
15篇
容器编排
101篇
grpc
4篇
Go
15篇
yaml模板
1篇
理论
2篇
更多
Sqlserver
4篇
云产品
39篇
git
3篇
Unity
1篇
考证
2篇
RabbitMq
23篇
Harbor
1篇
Ansible
8篇
Jenkins
17篇
Vue
1篇
Ids4
18篇
istio
1篇
架构
2篇
网络
7篇
windbg
4篇
AI
18篇
threejs
2篇
人物
1篇
嵌入式
2篇
python
13篇
HuggingFace
8篇
pytorch
9篇
opencv
6篇
最新文章
最新评价
{{item.articleTitle}}
{{item.blogName}}
:
{{item.content}}
关于我们
ICP备案 :
渝ICP备18016597号-1
网站信息:
2018-2024
TNBLOG.NET
技术交流:
群号656732739
联系我们:
contact@tnblog.net
欢迎加群
欢迎加群交流技术