Vlan原理和配置

什么是Vlan?

  • VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的局域网在逻辑上划分成多个广播域的技术。通过在交换机上配置VLAN,可以实现在同一个VLAN内的用户可以进行二层互访,而不同VLAN间的用户被二层隔离。这样既能够隔离广播域,又能够提升网络的安全性。

传统以太网

  • 随着主机数量的增加,共享网络中的冲突会越来越严重,交换网络中的广播也会越来越多。
    • 因此,传统局域网不仅面临冲突域太大和广播域太大两大难题,而且无法保障传输信息的安全。
    • 为限制广播域的范围,减少广播流量,需要在没有二层互访需求的主机之间进行隔离。路由器是基于三层IP地址信息来选择路由和转发数据的,其连接两个网段时可以有效抑制广播报文的转发,但成本较高。因此,人们设想在物理局域网上构建多个逻辑局域网,即VLAN。

技术作用格式

  • 控制广播
  • 增强网络安全性
  • 简化网络管理
    在这里插入图片描述

Vlan帧格式

在这里插入图片描述

  1. 通过Tag区分不同VLAN。
  2. 在现有的交换网络环境中,以太网的帧有两种格式:
    • 没有加上VLAN标记的标准以太网帧(untagged frame);有VLAN标记的以太网帧(tagged frame)。
  3. VLAN标签长4个字节,直接添加在以太网帧头中,IEEE802.1Q文档对VLAN标签作出了说明。
    TPID:Tag Protocol Identifier,2字节,固定取值,0x8100,是IEEE定义的新类型,表明这是一个携带802.1Q标签的帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
  4. TCI:Tag Control Information,2字节。帧的控制信息,详细说明如下:
    • Priority:3比特,表示帧的优先级,取值范围为0~7,值越大优先级越高。当交换机阻塞时,优先发送优先级高的数据帧。
    • CFI:Canonical Format Indicator,1比特。CFI表示MAC地址是否是经典格式。CFI为0说明是经典格式,CFI为1表示为非经典格式。用于区分以太网帧、FDDI(Fiber Distributed Digital Interface)帧和令牌环网帧。在以太网中,CFI的值为0。
    • VLAN Identifier:VLAN ID,12比特,在X7系列交换机中,可配置的VLAN ID取值范围为0~4095,但是0和4095在协议中规定为保留的VLAN ID,不能给用户使用。

链路类型

在这里插入图片描述

  1. 用户主机和交换机之间的链路为接入链路,交换机与交换机之间的链路为干道链路
  2. VLAN链路分为两种类型:Access链路和Trunk链路。
    1. 接入链路(Access Link):连接用户主机和交换机的链路称为接入链路。如本例所示,图中主机和交换机之间的链路都是接入链路。
    2. 干道链路(Trunk Link):连接交换机和交换机的链路称为干道链路。如本例所示,图中交换机之间的链路都是干道链路。干道链路上通过的帧一般为带Tag的VLAN帧。

PVID

在这里插入图片描述

  1. PVID表示端口在缺省 (默认) 情况下所属的VLAN。
  2. 缺省情况下,常见交换机每个端口的PVID都是1。
  3. PVID即Port VLAN ID,代表端口的缺省VLAN。交换机从对端设备收到的帧有可能是Untagged的数据帧,但所有以太网帧在交换机中都是以Tagged的形式来被处理和转发的,因此交换机必须给端口收到的Untagged数据帧添加上Tag。为了实现此目的,必须为交换机配置端口的缺省VLAN。当该端口收到Untagged数据帧时,交换机将给它加上该缺省VLAN的VLAN Tag。

端口类型Access

在这里插入图片描述

  • Access端口在收到数据后会添加VLAN Tag,VLAN ID和端口的PVID相同。
  • Access端口在转发数据前会移除VLAN Tag。
  • Access端口是交换机上用来连接用户主机的端口,它只能连接接入链路,并且只能允许唯一的VLAN ID通过本端口。
  • Access端口收发数据帧的规则如下:
    • 如果该端口收到对端设备发送的帧是untagged(不带VLAN标签),交换机将强制加上该端口的PVID。如果该端口收到对端设备发送的帧是tagged(带VLAN标签),交换机会检查该标签内的VLAN ID。当VLAN ID与该端口的PVID相同时,接收该报文。当VLAN ID与该端口的PVID不同时,丢弃该报文。
    • Access端口发送数据帧时,总是先剥离帧的Tag,然后再发送。Access端口发往对端设备的以太网帧永远是不带标签的帧。
    • 在本示例中,交换机的G0/0/1,G0/0/2,G0/0/3端口分别连接三台主机,都配置为Access端口。主机A把数据帧(未加标签)发送到交换机的G0/0/1端口,再由交换机发往其他目的地。收到数据帧之后,交换机根据端口的PVID给数据帧打上VLAN标签10,然后决定从G0/0/3端口转发数据帧。G0/0/3端口的PVID也是10,与VLAN标签中的VLAN ID相同,交换机移除标签,把数据帧发送到主机C。连接主机B的端口的PVID是2,与VLAN10不属于同一个VLAN,因此此端口不会接收到VLAN10的数据帧。

端口类型Trunk

在这里插入图片描述

  • 当Trunk端口收到帧时,如果该帧不包含Tag,将添加上端口的PVID;如果该帧包含Tag,则不改变。
  • 当Trunk端口发送帧时,该帧的VLAN ID在Trunk的允许发送列表中:若与端口的PVID相同时,则剥离Tag发送;若与端口的PVID不同时,则直接发送。
  • Trunk端口是交换机上用来和其他交换机连接的端口,它只能连接干道链路。Trunk端口允许多个VLAN的帧(带Tag标记)通过。
  • Trunk端口收发数据帧的规则如下:
    • 当接收到对端设备发送的不带Tag的数据帧时,会添加该端口的PVID,如果PVID在允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。当接收到对端设备发送的带Tag的数据帧时,检查VLAN ID是否在允许通过的VLAN ID列表中。如果VLAN ID在接口允许通过的VLAN ID列表中,则接收该报文。否则丢弃该报文。
    • 端口发送数据帧时,当VLAN ID与端口的PVID相同,且是该端口允许通过的VLAN ID时,去掉Tag,发送该报文。当VLAN ID与端口的PVID不同,且是该端口允许通过的VLAN ID时,保持原有Tag,发送该报文。
    • 在本示例中,SWA和SWB连接主机的端口为Access端口,PVID如图所示。SWA和SWB互连的端口为Trunk端口,PVID都为1,此Trunk链路允许所有VLAN的流量通过。当SWA转发VLAN1的数据帧时会剥离VLAN标签,然后发送到Trunk链路上。而在转发VLAN20的数据帧时,不剥离VLAN标签直接转发到Trunk链路上。

Vlan 的划分方法

在这里插入图片描述

  • 基于端口的VLAN划分方法在实际中最为常见。
  • VLAN的划分包括如下5种方法:
  1. 基于端口划分:根据交换机的端口编号来划分VLAN。通过为交换机的每个端口配置不同的PVID,来将不同端口划分到VLAN中。初始情况下,X7系列交换机的端口处于VLAN1中。此方法配置简单,但是当主机移动位置时,需要重新配置VLAN。
    基于MAC地址划分:根据主机网卡的MAC地址划分VLAN。此划分方法需要网络管理员提前配置网络中的主机MAC地址和VLAN ID的映射关系。如果交换机收到不带标签的数据帧,会查找之前配置的MAC地址和VLAN映射表,根据数据帧中携带的MAC地址来添加相应的VLAN标签。在使用此方法配置VLAN时,即使主机移动位置也不需要重新配置VLAN。
  2. 基于IP子网划分:交换机在收到不带标签的数据帧时,根据报文携带的IP地址给数据帧添加VLAN标签。
  3. 基于协议划分:根据数据帧的协议类型(或协议族类型)、封装格式来分配VLAN ID。网络管理员需要首先配置协议类型和VLAN ID之间的映射关系。
  4. 基于策略划分:使用几个条件的组合来分配VLAN标签。这些条件包括IP子网、端口和IP地址等。只有当所有条件都匹配时,交换机才为数据帧添加VLAN标签。另外,针对每一条策略都是需要手工配置的。

Vlan 配置

在这里插入图片描述

[SWA]vlan 10
[SWA-vlan10]quit
[SWA]vlan batch 2 to 3
Info: This operation may take a few seconds. Please wait for a moment...done. 

  • 在交换机上划分VLAN时,需要首先创建VLAN。在交换机上执行vlan 命令,创建VLAN。如本例所示,执行vlan 10命令后,就创建了VLAN 10,并进入了VLAN 10视图。
  • VLAN ID的取值范围是1到4094。如需创建多个VLAN,可以在交换机上执行==vlan batch { vlan-id1 [ to vlan-id2 ] }命令,以创建多个连续的VLAN。也可以执行vlan batch { vlan-id1 vlan-id2 }==命令,创建多个不连续的VLAN,VLAN号之间需要有空格。

验证配置

在这里插入图片描述

  1. 创建VLAN后,可以执行display vlan命令验证配置结果。如果不指定任何参数,则该命令将显示所有VLAN的简要信息。
  2. 执行display vlan [ vlan-id [ verbose ] ]命令,可以查看指定VLAN的详细信息,包括VLAN ID、类型、描述、VLAN的状态、VLAN中的端口、以及VLAN中端口的模式等。
  3. 执行display vlan vlan-id statistics命令,可以查看指定VLAN中的流量统计信息。
  4. 执行display vlan summary命令,可以查看系统中所有VLAN的汇总信息。

配置Access端口

在这里插入图片描述

[SWA]interface GigabitEthernet 0/0/5
[SWA-GigabitEthernet0/0/5]port link-type access
[SWA-GigabitEthernet0/0/5]interface GigabitEthernet 0/0/7
[SWA-GigabitEthernet0/0/7]port link-type access
  • 华为X7系列交换机上,默认的端口类型是hybrid。
  • 配置端口类型的命令是port link-type ,type可以配置为Access,Trunk或Hybrid。需要注意的是,如果查看端口配置时没有发现端口类型信息,说明端口使用了默认的hybrid端口链路类型。当修改端口类型时,必须先恢复端口的默认VLAN配置,使端口属于缺省的VLAN 1。

加入端口

[SWA]vlan 2
[SWA-vlan2]port GigabitEthernet 0/0/7
[SWA-vlan2]quit
[SWA]interface GigabitEthernet0/0/5 
[SWA-GigabitEthernet0/0/5]port default vlan 3

  • 可以使用两种方法把端口加入到VLAN。
  1. 第一种方法是进入到VLAN视图,执行port [interface]命令,把端口加入VLAN。
  2. 第二种方法是进入到接口视图,执行port default vlan [vlan-id]命令,把端口加入VLAN。vlan-id是指端口要加入的VLAN。

验证

在这里插入图片描述

  • 执行display vlan命令,可以确认端口是否已经加入到VLAN中。在本示例中,端口GigabitEthernet0/0/5和GigabitEthernet0/0/7分别加入了VLAN 3和VLAN 2。UT表明该端口发送数据帧时,会剥离VLAN标签,即此端口是一个Access端口或不带标签的Hybrid端口。U或D分别表示链路当前是Up状态或Down状态。

配置Trunk

在这里插入图片描述

[SWA-GigabitEthernet0/0/1]port link-type trunk
[SWA-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3
  • 配置Trunk时,应先使用port link-type trunk命令修改端口的类型为Trunk,然后再配置Trunk端口允许哪些VLAN的数据帧通过。执行port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }命令,可以配置端口允许的VLAN,all表示允许所有VLAN的数据帧通过。
  • 执行port trunk pvid vlan vlan-id命令,可以修改Trunk端口的PVID。修改Trunk端口的PVID之后,需要注意:缺省VLAN不一定是端口允许通过的VLAN。只有使用命令port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }允许缺省VLAN数据通过,才能转发缺省VLAN的数据帧。交换机的所有端口默认允许VLAN1的数据通过。
  • 在本示例中,将SWA的G0/0/1端口配置为Trunk端口,该端口PVID默认为1。配置port trunk allow-pass vlan 2 3命令之后,该Trunk允许VLAN 2和VLAN 3的数据流量通过。

验证

在这里插入图片描述

  • 执行display vlan命令可以查看修改后的配置。TG表明该端口在转发对应VLAN的数据帧时,不会剥离标签,直接进行转发,该端口可以是Trunk端口或带标签的Hybrid端口。本示例中,GigabitEthernet0/0/1在转发VLAN 2和VLAN3的流量时,不剥离标签,直接转发。

Hybrid 接口特点

  • 特点
    • 华为交换机接口默认为Hybrid模式
    • 既可以实现Access接口的功能,也可以实现Trunk接口的功能
    • 不借助三层设备即可实现跨VLAN通信和访问控制
    • Hybrid接口相对于Access接口和Trunk接口具有更高的灵活性与可控性
    • Hybrid和Trunk都支持多个VLAN通过并打标签,
    • 此外,Hybrid还允许多个VLAN通过时不打标签
      
  • 作用
    • 流量隔离
    • 流量互通

Hybrid 接口工作原理

  • 接口属性
    • untag列表
      • 只在接口发送数据帧时生效,如果需要发送的数据的VLAN标签在接口的untag列表中,那么将去除标签转发
    • tag列表
      • 已经被标记VLAN的数据经过tag列表审核后将会转发,tag列表中无此VLAN标记将会直接丢弃
    • PVID
      • 用于在接收未标记数据帧时给数据帧打上当前标记的PVID标识,也就是常说的接口属于某个VLAN

Hybrid接口收发数据帧流程

在这里插入图片描述

  • 为交换机接口指定了非PVID1的编号时,一定要将该编号加入该接口的untag列表或者tag列表中,否则无法正常通信。

配置Hybrid接口

在这里插入图片描述

[SWA-GigabitEthernet0/0/1]port link-type hybrid
[SWA-GigabitEthernet0/0/1]port hybrid tagged vlan 2 3 100
[SWA-GigabitEthernet0/0/2]port hybrid pvid vlan 2
[SWA-GigabitEthernet0/0/2]port hybrid untagged vlan 2 100
[SWA-GigabitEthernet0/0/3]port hybrid pvid vlan 3
[SWA-GigabitEthernet0/0/3]port hybrid untagged vlan 3 100

[SWB-GigabitEthernet0/0/1]port link-type hybrid
[SWB-GigabitEthernet0/0/1]port hybrid tagged vlan 2 3 100
[SWB-GigabitEthernet0/0/2]port hybrid pvid vlan 100
[SWB-GigabitEthernet0/0/2]port hybrid untagged vlan 2 3 100

  • port link-type hybrid命令的作用是将端口的类型配置为Hybrid。默认情况下,X7系列交换机的端口类型是Hybrid。因此,只有在把Access口或Trunk口配置成Hybrid时,才需要执行此命令。
  • port hybrid tagged vlan{ { vlan-id1 [ to vlan-id2 ] } | all }命令用来配置允许哪些VLAN的数据帧以Tagged方式通过该端口。
  • port hybrid untagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }命令用来配置允许哪些VLAN的数据帧以Untagged方式通过该端口。
  • 在本示例中,要求主机A和主机B都能访问服务器,但是它们之间不能互相访问。此时通过命令port link-type hybrid配置交换机连接主机和服务器的端口,以及交换机互连的端口都为Hybrid类型。通过命令port hybrid pvid vlan 2配置交换机连接主机A的端口的PVID是2。类似地,连接主机B的端口的PVID是3,连接服务器的端口的PVID是100。
    • 通过在G0/0/1端口下使用命令port hybrid tagged vlan 2 3 100,配置VLAN2,VLAN3和VLAN100的数据帧在通过该端口时都携带标签。在G0/0/2端口下使用命令port hybrid untagged vlan 2 100,配置VLAN2和VLAN100的数据帧在通过该端口时都不携带标签。在G0/0/3端口下使用命令port hybrid untagged vlan 3 100,配置VLAN3和VLAN100的数据帧在通过该端口时都不携带标签。
  • 在SWB上继续进行配置,在G0/0/1端口下使用命令port link-type hybrid配置端口类型为Hybrid。
  • 在G0/0/1端口下使用命令port hybrid tagged vlan 2 3 100,配置VLAN2,VLAN3和VLAN100的数据帧在通过该端口时都携带标签。
  • 在G0/0/2端口下使用命令port hybrid untagged vlan 2 3 100,配置VLAN2,VLAN3和VLAN100的数据帧在通过该端口时都不携带标签。

验证配置

在这里插入图片描述

  • 在SWA上执行display vlan命令,可以查看hybrid端口的配置。在本示例中,GigabitEthernet 0/0/2在发送VLAN2和VLAN100的数据帧时会剥离标签。GigabitEthernet 0/0/3在发送VLAN3和VLAN100的数据帧时会剥离标签。GigabitEthernet 0/0/1允许VLAN 2,VLAN 3和VLAN 100的带标签的数据帧通过。此配置满足了多个VLAN可以访问特定VLAN,而其他VLAN间不允许互相访问的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值