VLAN的诞生:

最开始网络中只有集线器,没有交换机。但是集线器不分割冲突域,为了减少冲突域,将集线器进行改进为了网桥,网桥是通过CPU进行转发数据的,转发效率不高,并且接口很少。

随着设备的迭代,首先增加了接口的数量,保证在更大的网络环境中可以使用,然后将由CPU转发改变成了通过硬件转发,加快了转发的速率,这样就是最开始的交换机的样式了,就是所有接口都属于一个广播域。但是这样也出现了问题,所有接口都在一个广播域,也就是接入同一个交换机的设备都在一个网段里面,如果有一个广播报文,所有接口就会转发,并且当时链路带宽并不大,这样就会让正常转发的单播报文很难正常转发;同时需要进行分离(比如公司的不同部门)能够直接互访,导致了极大的安全性问题。

为了解决这个问题,设计人员开始思考。VLAN技术的诞生在最开始就是将不同的VLAN绑定在接口上,不同的VLAN代表不同的广播域,这样就可以解决前面的这个问题了:将不同的用户接入不同的接口,进入不同的vlan,也就是在不同的广播域中,让用户接入更加的灵活,且能够做到隔离。

创建一个VLAN其实就是将交换机划分为逻辑上的多个交换机,默认使用的是VLAN 1,我们每创建一个VLAN,就相当于在交换机上又虚拟出了一个交换机。这个交换机上最开始没有接口,如果我们在实际的交换机上将接口允许本vlan的流量通信,那么就相当于在这个VLAN上添加了对应的接口。并且多个交换机上可以设置同一个VLAN,不同交换机的同一个VLAN间可以二层通信,只要中间的链路允许即可。

最开始时,每条链路只允许一个VLAN通信,也就是access链路,但是随着交换机之间需要通信的VLAN的数量不断增加,又出现了问题,如果对每个VLAN都用一条链路,不仅浪费资源而且接口可能不够。这样就诞生了trunk链路,这个链路允许多个VLAN进行通信。这样的话,组网就更加的灵活了,例如同一个部门的人员可以在不同的交换机上接入同一个VLAN进行通信。

根据以上的总结出VLAN特点:

  1. 限制广播域:广播域被限制在一个VLAN内,从而节省了带宽、提高了网络处理能力。
  2. 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能与其它VLAN内的用户直接通信。
  3. 提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
  4. 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。

VLAN帧格式:


IEEE 802.1Q是虚拟桥接局域网的正式标准,对Ethernet帧格式进行了修改,在源MAC地址字段和协议类型字段之间加入4字节的802.1Q Tag。802.1q Tag各字段含义:

  1. TPID:长度为2字节,表示帧类型。取值为0x8100时表示802.1q Tag帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
  2. PRI:Priority,长度为3比特,表示帧的优先级,取值范围为0~7,值越大优先级越高。一般情况下,当交换机部署QoS时,优先发送优先级高的数据帧。
  3. CFI:Canonical Format Indicator,长度为1比特,表示MAC地址是否是经典格式。CFI为0说明是经典格式,CFI为1表示为非经典格式。用于区分以太网帧、FDDI(Fiber Distributed Digital Interface)帧和令牌环网帧。在以太网中,CFI的值为0。
  4. VID:VLAN ID,长度为12比特,表示该帧所属的VLAN。

每台支持802.1Q协议的交换机都可以发送包含VLAN ID的数据包,以指明自己属于哪一个VLAN。因此,在一个VLAN交换网络中,以太网帧有以下两种形式:

  1. 有标记帧(tagged frame):加入了4字节802.1Q Tag的帧。
  2. 无标记帧(untagged frame):原始的、未加入4字节802.1Q Tag的帧。

三类接口:

Access端口是交换机上用来连接用户主机的端口,它只能连接接入链路。有如下特点:
1.仅仅允许唯一的VLAN ID通过本端口,这个VLAN ID与端口的PVID(Port Default VLAN ID,端口缺省的VLAN ID)相同。
2.接收到不带Tag的报文,则为报文打上接口缺省VLAN标签并接收。
3.接收到带Tag的报文,判断此tag代表是否和接口PVID相同,如果相同便接收,否则丢弃。
4.Access端口发往对端设备的以太网帧永远是不带标签的帧。

Trunk端口是交换机上用来和其他交换机连接的端口,它只能连接干道链路。有如下特点:
1.Trunk端口允许多个VLAN的帧(带Tag标记)通过。
2.接收到不带Tag的报文,则为报文打上接口缺省VLAN标签(该vlan被接口允许则接收,否则丢弃)。
3.接收到带Tag的报文,判断此标签代表的vlan是否允许通过,否则丢弃。
4.如果从Trunk端口发送的帧带Tag,且Tag与端口缺省的VLAN ID相同,则交换机会剥掉该帧中的Tag标记。仅在这种情况下,Trunk端口发送的帧不带Tag。
5.如果从Trunk端口发送的帧带Tag,但是与端口缺省的VLAN ID不同,则交换机对该帧不做任何动作,直接发送带Tag的帧。

Hybrid端口是交换机上既可以连接用户主机,又可以连接其他交换机的端口,有如下特点:
1.Hybrid端口既可以连接接入链路又可以连接干道链路。Hybrid端口允许多个VLAN的帧通过,并可以在出端口方向将某些VLAN帧的Tag剥掉。
2.接收到不带Tag的报文,则为报文打上接口缺省VLAN标签(该vlan属于untagged或者tag列表则接收,否则丢弃)。
3.接收到带Tag的报文,判断此标签是否属于untagged或者tag列表,如果在则接收,否则丢弃。
4.如果从Hybrid端口发送的帧带Tag,且Tag与端口的untagged列表匹配,则交换机会剥掉该帧中的Tag标记。
5.如果从Hybrid端口发送的帧带Tag,但Tag与端口的tag列表匹配,则交换机对该帧不做任何动作,直接发送带Tag的帧。

个人理解: 如果通过MAC地址表转化到了出接口,这个出接口一定是允许次VLAN通过的,区别是是否去掉对应的Tag;原因是因为进入了此VLAN的报文会按照此VLAN的MAC地址表转发,而只有加入(允许)此VLAN的接口才会出在在本VLAN的MAC地址表中,所以报文到达出接口一定能够将其转发,而不会和入接口时出现可能丢弃的情况。

总结:

注意点:
1.access配置了pvid,那么access允许通过的vlan列表就只允许其pvid表示的vlan通过了,默认为1。而trunk口和hybrid口,默认的pvid是1,并且默认允许vlan1通的,但是你修改了pvid的话,默认是不会像access口一样允许其pvid的接口通过的,我们需要专门配置允许其通过(对应trunk链路来说就是允许其vlan通过,对应hybrid接口来说,就是配置接口发出相应vlan的帧的时候到底不去掉tag或者是去掉tag)。
2.另外,是trunk接口,允许所有vlan通过其实只会允许2-4094通过,因为1是默认的,如果不允许所有vlan通过,在命令里其实变成了不允许vlan1通过(vlan 1不能删除)。

实验:使用hybird接口完成同网段不同VLAN互访

实验拓扑:

具体配置:

PC1的IP地址:

PC2的IP地址:

Sw1的配置:
vlan batch 10 20
interface Ethernet0/0/1
port hybrid pvid vlan 10 //接口属于vlan10
port hybrid untagged vlan 10 20 //将vlan10和20的数据帧的tag剥离发出
interface Ethernet0/0/2
port link-type trunk
port trunk allow-pass vlan 2 to 4094

Sw2的配置:
vlan batch 10 20
interface Ethernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
interface Ethernet0/0/2
port hybrid pvid vlan 20
port hybrid untagged vlan 10 20

现象:现在使用PC1pingPC2,成功

具体过程分析:

1.PC1首先发送arp报文到sw1,进入接口时打上vlan10的tag,因为是广播报文,从trunk接口泛洪(trunk接口允许vlan 10通过)pvid为1,不剥离标签;
2.然后sw2的trunk接口接收,进行泛洪操作到E0/0/2口,接口配置了剥离vlan10的标签,就会将标签剥离以后发生给PC2;
3.PC2进行回复时,同样的过程,只不过回复的是单播帧,但是也会进行泛洪,原因是因为查对应vlan的mac地址表进行转发,但是vlan20中没有对应的MAC地址(因为arp请求报文过来时交换机已经在学习的MAC地址在vlan10中)。所以依然从trunk口泛洪出去,到达sw1;
4.sw1接收了带有tag20的arp回复包,依然查看MAC地址表,最后选择泛洪。这样就通过了交换机实现了不同vlan,相同网段的通信;

注意:如果在不同的网段,是无法实现的,因为请求的是就是网关的MAC地址,必须使用三层的转发才行。

参考:华为培训资料

VLAN基础、接口类型和实验相关推荐

  1. 2021-12-15 网工基础(十一) VLAN的基本原理、接口类型、Access、Trunk

    VLAN基础 二 VLAN的基本原理 1 以太网二层接口类型 Access接口 交换机上常用来连接用户PC.服务器等终端设备的接口.Access接口所连接的这些设备的网卡往往只收发无标记帧.Acces ...

  2. VLAN 基础实验2:VLAN 应用Hybird接口

    VLAN 基础实验2:VLAN 应用Hybird接口 拓扑图 需求 HR部门,市场部门,可以访问 IT部门 但HR部门不能访问市场部门,各部门的PC 可以互访 配命命令 SW1: un ter mo ...

  3. access下如何配置两个vlan_VLAN实验一:VLAN基础配置及Access接口

    一.题目及其要求: Access接口是交换机上用来连接用户主机的接口.当Access接口从主机收到一个不带VLAN标签的数据帧时,会给该数据加上与PVID一致的VLAN标签(PVID可手动配置,默认是 ...

  4. 【基础】防火墙接口类型全介绍

    物理接口 1) 防火墙支持的接口可以是二层接口或者三层接口 2) 二层接口:portswitch 3) 三层接口:undo portswitch 逻辑接口 1) VT(virtual template ...

  5. lacp可以在access接口吗_【基础】防火墙接口类型全介绍

    物理接口 1) 防火墙支持的接口可以是二层接口或者三层接口 2) 二层接口:portswitch 3) 三层接口:undo portswitch 逻辑接口 1) VT(virtual template ...

  6. VLAN基础VLAN间路由联动OSPF实验

    VLAN 前言以及技术背景 随着网络中计算机的数量越来越多,传统的以太网网络开始面临广播泛滥以及安全性无法保障等各种问题. VLAN(Virtual Local Area Network) 即虚拟局域 ...

  7. 锐捷Vlan基础实验

    目录 实验一 Vlan基础实验 SWA配置 SWB配置 实验二 单臂路由实验 交换机配置 路由器配置 实验一 Vlan基础实验 SWA配置 将G0/0.0/1口配置为Access口,Vid为10 Vl ...

  8. HCIP(华为高级网络安全工程师)(实验九)(VLAN基础实验)

    目录 实验要求 实验思路 实验内容及步骤 1.合理划分网段 2. SW1.SW2.SW3上配置VLAN及各个接口类型的配置 实验验证及结果 1.每台PC通过DHCP获取IP地址的情况 2.PC2可以访 ...

  9. ensp配置access口_eNSP仿真软件之VLAN基础配置及Access接口

    ★Access接口是交换机上用来连接用户主机的接口. 实验内容: 实验步骤: (1)      打开仿真软件eNSP,新建拓扑.根据实验内容建立如下实验拓扑图. (2)      按照如下的编址表对每 ...

  10. typescript利用接口类型声明变量_TypeScript入门指南(基础篇)

       戳蓝字「前端技术优选」关注我们哦! 作者:慕晨同学 原文地址:https://github.com/USTB-musion/fee-skills/issues/19 写在前面 ts是拥有类型系统 ...

最新文章

  1. 同步和串行的区别_[深度思考]·为什么CNN是同步(并行)而RNN是异步(串行)的呢?...
  2. 计算机用户删除 cmd,用命令行删XP中的用户。除administrator外
  3. ASP.NET Core使用Nacos SDK访问阿里云ACM
  4. 华为主题包hwt下载_华为主题 | 黑白人物
  5. HttpServletRequest 需要导入xx包?
  6. python基础5-序列思维脑图
  7. 【Caffe代码解析】Layer网络层
  8. 海康威视工业相机SDK二次开发(VS+Opencv+QT+海康SDK+C++)(二)
  9. 活久见!大四学生发明文言文编程语言,脑洞新奇
  10. matlab谢尔宾斯三角_几何画板教程:谢尔宾斯基三角形的制作
  11. php实现RSA加密解密
  12. Python 文件操作
  13. django批量修改table_django restframework 多对多的批量修改,基于逻辑删
  14. java代理模式总结
  15. c语言的实训报告,C语言实训报告.doc
  16. 操作系统win7与win10的区别介绍
  17. 资本大佬们背后鲜为人知的秘史2
  18. BUAA^AITMCLABLAB3题解
  19. HTML实操-音乐播放器
  20. python协程的作用_python 协程

热门文章

  1. 乳腺癌检测_逻辑回归
  2. 卷积神经网络---文本分类原理及代码
  3. 李宏毅机器学习——深度学习卷积神经网络
  4. 面试题 17.09. 第 k 个数
  5. PyTorch:卷积/padding/pooling api
  6. java运行python3_Python3:如何从python运行java类文件
  7. 奔图打印机显示未连接_国货之“彩” |奔图CP2200DW彩色激光打印机首测
  8. c语言中编译链接机制
  9. 关于sophus模板类需要注意的情况(error: missing template arguments before ‘SO3_R’)
  10. mysql 加密 en_MySQL8.0 的表空间文件加密控制