1.定位:VLAN,即虚拟局域网(Virtual Local Area Network),一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的新兴数据交换技术。VLAN是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。

2.原理:VLAN在以太网帧的基础上增加了VLAN头,用VLAN ID把用户划分为更小的工作组,从而限制不同工作组间的用户互访。VLAN的本质是分割广播域。

标准有:802.10    802.1Q

早期的局域网LAN技术基于总线型结构,它存在以下几个问题:

  • 若某时刻有多个节点同时试图发送消息,则它们将产生冲突。

  • 从任意节点发出的消息都会被发送到其他所有节点,形成广播。

  • 所有主机共享一条传输通道,无法控制网络中的信息安全。

这种网络构成了一个冲突域,网络中计算机数量越多冲突越严重,网络效率越低。同时,该网络也是一个广播域,当网络中发送信息的计算机数量越多时,广播流量将会耗费大量带宽。

因此,传统网络不仅面临冲突域和广播域两大难题,而且无法保障传输信息的安全。

为了扩展传统LAN,以接入更多计算机,同时避免冲突的恶化,出现了网桥和二层交换机,它们能有效隔离冲突域。

网桥和交换机采用交换方式将来自入端口的信息转发到出端口上,克服了共享介质上的访问冲突问题,从而将冲突域缩小到端口级。采用交换机进行组网,通过二层快速交换解决了冲突域问题,但是广播域和信息安全问题依旧存在。

为减少广播,需要在没有互访需求的主机之间进行隔离。路由器是基于IP地址信息来选择路由的,其连接两个网段时可以有效抑制广播报文的转发,但成本较高。因此人们设想在物理局域网上构建多个逻辑局域网,即VLAN。

VLAN技术将广播报文限制在一个VLAN内,使得同一VLAN内的主机之间可以直接相互通信,而不同VLAN间的主机则不能直接通信,提高了网络的安全性。

3.优点:

1)灵活,降低成本:

VLAN技术的出现,使得管理员根据实际应用需求,把同一物理局域网内的不同用户在逻辑上划分成不同的广播域,每一个VLAN都与物理上形成的LAN有着相同的属性。由于它是从逻辑上划分,而不是从物理上划分,

所以同一个VLAN内的各个工作站没有限制在同一个物理范围中,即这些工作站可以在不同物理LAN网段。

2)避免广播风暴,提高带宽利用率

同一个VLAN中的广播只有VLAN中的成员才能听到,而不会传输到其他的VLAN中去,这样可以很好的控制不必要的广播风暴的产生;

3)增强局域网的安全性

网络管理员可以通过配置VLAN之间的路由来全面管理企业内部不同管理单元之间的信息互访,增强网络的安全性。

4.VLAN的帧格式

IEEE 802.1Q标准对传统Ethernet帧格式进行了修改,在源MAC地址字段和协议类型字段之间加入4字节的802.1Q Tag,形成了VLAN的帧格式。

802.1Q Tag包含4个字段,其含义如下:

  • Type

    长度为16比特,表示帧类型。取值为0x8100时表示802.1Q Tag帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。

  • PRI

    Priority,长度为3比特,表示帧的优先级,取值范围为0~7,值越大优先级越高。用于当设备阻塞时,优先发送优先级高的数据帧。

  • CFI

    Canonical Format Indicator,长度为1比特,表示MAC地址是否是经典格式。

  • VID

    VLAN ID,长度为12比特,表示该帧所属的VLAN。

5.Vlan端口类型

1)接入(access)端口

接入端口只能属于某单一一个VLAN,它只能承载某一个VLAN的流量。流量只以本机格式(native formats)接收和发送,不会带有VLAN标记(tagging)。

到达某个访问端口的任何数据,只是简单地被假定属于那个端口所分配的 VLAN。因此,如果某个访问端口接收到带有标记的数据包,比如带有IEEE 802.1Q标记时,那个数据包将只是被丢弃。

因为访问端口不会查看源地址,所以带有标记的流量只能被中继端口转发和接收。

只允许VLAN ID与端口的PVID(端口缺省的VLAN ID)相同的VLAN通过该端口。

如果该端口收到的对端设备发送的帧是untagged(不带VLAN标签),设备将强制加上该端口的PVID。

Access端口发往对端设备的以太网帧永远是untagged的帧。

在帧被转发到连接访问链路的设备之前,交换机要从帧中删除任何有关VLAN的信息。连接到访问链路的设备不能与VLAN外部的设备进行通信,除非数据包是通过路由转发的。

注:可根据用户主机网卡的MAC地址来划分VLAN。其优点是成员移动方便,缺点是需要预先定义所有成员。

2)干道(trunk)端口

trunk端口能够同时承载多个VLAN的信息,可以使单个端口同时成为多个不同VLAN的一部分。trunk端口上通过的帧一般为带Tag的VLAN帧。

注:交换机中配置成VLAN trunk的有效端口模式:dynamic desirable, trunk (on), and nonegotiate.

6..帧标记

帧标识方法独一无二地给每个帧分配一个用户定义的ID,即“VLAN ID”。

工作原理:接收到帧的每台交换机必须首先识别帧标记中的VLAN ID,然后通过查看过滤表中的信息,它就知道该对帧进行哪些处理。如果接收到帧的交换机有另一条中继链路,帧就从中继链路端口上转发出去。

一旦帧到达了由转发/过滤表决定的、与帧  的VLAN ID相匹配的访问链路的出口,交换机就删除VLAN标识。这样,目的设备就可以接收该帧,而无需去理解它们的VLAN标识。

帧标记与VLAN标识有关,当帧正在穿越交换机结构时,交换机使用帧标记来跟踪所有的帧。

对于所有非标记的流量将要穿越的VLAN,中继端口将被分配一个默认的端口VLAN ID(PVID)。这种VLAN也称为本机(native)VLAN,默认时,它始终是VLAN1(但可以改为任何VLAN号)。

类似地,任何带NULL(没有分配的)VLAN ID的标记或非标记流量,都假定属于有端口默认PVID的VLAN(同样,默认时为VLAN1)。其VLAN ID等于外出端口。默认PVID的数据包将作为非标记流量发送,且只能与VLAN1中的主机或设备进行通信。

其他所有的VLAN流量必须用VLAN标记发送,以便在与此标记相对应的特定VLAN中通信。

7.不同类型端口处理帧的过程

1.VLAN的更多相关文章

  1. Configure a VLAN on top of a team with NetworkManager (nmcli) in RHEL7

    SOLUTION VERIFIED September 13 2016 KB1248793 Environment Red Hat Enterprise Linux 7 NetworkManager ...

  2. Configure a bridge interface over a VLAN tagged bonded interface

    SOLUTION VERIFIED February 5 2014 KB340153 Environment Red Hat Enterprise Linux 6 (All Versions) Red ...

  3. Create a bridge using a tagged vlan (8021.q) interface

    SOLUTION VERIFIED April 27 2013 KB26727 Environment Red Hat Enterprise Linux 5 Red Hat Enterprise Li ...

  4. Configure a VLAN (on top of a bond) with NetworkManager (nmcli) in RHEL7

    not on top of a bond Environment Red Hat Enterprise Linux 7 NetworkManager Issue Need an 802.1q VLAN ...

  5. Set up VLAN (802.1q) tagging on a network interface?

    SOLUTION VERIFIED October 13 2015 KB39674 KB741413 environment Red Hat Enterprise Linux 4 Red Hat En ...

  6. Python黑帽编程 3.4 跨越VLAN

    Python黑帽编程 3.4 跨域VLAN VLAN(Virtual Local Area Network),是基于以太网交互技术构建的虚拟网络,既可以将同一物理网络划分成多个VALN,也可以跨越物理 ...

  7. CISCO VLAN ACL

    对于cisco VLAN ACL 首先得定义 standard ACL或 extented ACL用于抓取流量 注意这里的抓取流量不是最终的对流量的操作,而是决定什么样的流量用VLAN ACL 来处理 ...

  8. 创建第二个 vlan network "vlan101" - 每天5分钟玩转 OpenStack(96)

    前面我们创建了 vlan100,并部署了 instance,今天将继续创建第二个 vlan network "vlan101". subnet IP 地址为 172.16.101. ...

  9. 创建第一个 vlan network "vlan100" - 每天5分钟玩转 OpenStack(94)

    上一节我们在 ML2 配置中 enable 了 vlan network,今天将创建 vlan100 并讨论底层网络变化. 打开菜单 Admin -> Networks,点击 “Create N ...

  10. 在 ML2 中配置 Vlan Network- 每天5分钟玩转 OpenStack(93)

    上一节我们学习了 Neutron Vlan Network 的原理,今天讨论如何在 ML2 配置中 enable 它. 首先在 /etc/neutron/plugins/ml2/ml2_conf.in ...

随机推荐

  1. Hive 中的四种排序详解,再也不会混淆用法了

    Hive 中的四种排序 排序操作是一个比较常见的操作,尤其是在数据分析的时候,我们往往需要对数据进行排序,hive 中和排序相关的有四个关键字,今天我们就看一下,它们都是什么作用. 数据准备 下面我们 ...

  2. Rejecting mapping update to [xxx] as the final mapping would have more than 1 type: [xxx, xx]

    说明: 1.elasticsearch 版本 6.3.1 2.在同一个index下创建两个type时报错,信息如下: 在创建第二个type:solr时,先前已经在相同索引下创建了一个type:es [ ...

  3. 避坑 | Java8使用并行流(ParallelStream)注意事项

    示例分析 /** * 避坑 | Java8使用并行流(ParallelStream)注意事项 * * @author WH.L * @date 2020/12/26 17:14 */ public c ...

  4. WPF学习笔记01_XAML之简介

    简介 XAML (发音"zammel" 咋么儿),用于实例化.NET对象的标记语言,主要用于构造WPF的用户界面.类似html标记语言. 通过XAML,程序员可以用代码的方式对界面 ...

  5. Wi-Fi 6 与 5G 相比哪个更快?

    随着 iPhone12 的发布,iOS 系统正式开始拥抱 5G,智能手机全面进入了 5G 时代.伴随着各大运营商的 5G 推广以及相关基站建设的如火如荼,5G 成了大家广泛讨论的热门词汇.这样热门的光 ...

  6. Java 中 Executors.newSingleThreadExecutor() 与Executors.newFixedThreadPool(1)有什么区别

    在研究Executors提供的线程池时自然会想到标题这个问题,既然已经有了newFixedThreadPool,为什么还要存在newSingleThreadExecutor这个方法.难道newFixe ...

  7. Docker学习笔记之搭建Docker私有仓库

    Docker仓库服务器名为Docker注册(registry)服务器.可以使用docker push命令将镜像上传到注册服务器,也可以使用docker pull命令下载服务器的镜像. Docker注册 ...

  8. 【Oracle】win7安装报错

    在WIN7上安装oracle 10g时,提示如下信息: 正在检查操作系统要求... 要求的结果: 5.0,5.1,5.2,6.0 之一 实际结果: 6.1 检查完成.此次检查的总体结果为: 失败 &l ...

  9. druid discard long time none received connection问题解析

    最新项目中用的druid连接数据库遇到一个困扰很久的问题 1 开始用的druid版本是1.1.22版本,由于业务需求,单个连接需要执行很久,理论上不需要用到自动回收,但为了安全,还是加了自动回收,时间 ...

  10. 跨平台导PDF,结合wkhtmltopdf很顺手

    前言 好东西要分享,之前一直在使用wkhtmltopdf进行pdf文件的生成,常用的方式就是先安装wkhtmltopdf,然后在程序中用命令的方式将对应的html生成pdf文件,简单而且方便:但重复的 ...