VLAN-虚拟局域网

是一个将物理的LAN在逻辑上划分成为多个广播域的通信技术,VLAN内的主机间默认可以直接通信,而VLAN间默认不能直接通信,从而将广播报文限制在一个VLAN内,可以隔离广播域

其特点为

  • 限制广播域
  • 增强局域网的安全性
  • 提高了网络的健壮性
  • 灵活构建虚拟工作组
  • VLAN划分灵活,可以基于MAC地址和端口划分

一、VLAN内互访

  • PVID即Port VLAN ID,代表端口的缺省VLAN。交换机从对端设备收到的帧有可能是Untagged的数据帧,但所有以太网帧在交换机中都是以Tagged的形式来被处理和转发的,因此交换机必须给端口收到的Untagged数据帧添加上Tag。为了实现此目的,必须为交换机配置端口的缺省VLAN。当该端口收到Untagged数据帧时,交换机将给它加上该缺省VLAN的VLAN Tag。

  • 1、主机发送数据
    • 源主机再发起通信之前,会将自己的IP与目的主机IP进行比较,如果两者位于同一网段,会获取目的主机的MAC地址,并将其作为目的MAC地址封装进报文
    • 如果两者位于不同网段,源主机会将报文递交给网关,获取网关的MAC地址,并将其作为目的MAC地址封装进报文
  • 2、网络设备内部的交换
    • 如果目的MAC地址+VID匹配自己的MAC表且三层转发标志位置位,则进行三层转发,会根据报文的目的IP地址查找三层转发表项,如果没有找到报文会上送CPU,由CPU查找路由表实现三层转发
    • 如果目的MAC地址+VID匹配自己的MAC表但三层转发标志位未置位,则进行二层交换,会直接将报文根据MAC表出接口发出去
    • 如果MAC地址+VID没有匹配自己的MAC表,则进行二层交换,此时会向所有允许VID通过的接口广播该报文,以获取目的主机的的MAC地址
  • 3、设备之间交互时,VLAN标签的添加和剥离
    • access口:是交换机上用来连接用户主机的端口,它只能连接接入链路,并且只能允许唯一的VLAN ID通过本端口。
      • 如果该端口收到对端设备发送的帧是untagged(不带VLAN标签),交换机将强制加上该端口的PVID。如果该端口收到对端设备发送的帧是tagged(带VLAN标签),交换机会检查该标签内的VLAN ID。当VLAN ID与该端口的PVID相同时,接收该报文。当VLAN ID与该端口的PVID不同时,丢弃该报文。
      • Access端口发送数据帧时,总是先剥离帧的Tag,然后再发送。Access端口发往对端设备
      • 的以太网帧永远是不带标签的帧。
    • trunk口:连接交换机和交换机的链路称为干道链路是交换机上用来和其他交换机连接的端口,它只能连接干道链路。Trunk端口允许多个VLAN的帧(带Tag标记)通过。
      • 当接收到对端设备发送的不带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,发送该报文。
    • hybrid口:是交换机上既可以连接用户主机,又可以连接其他交换机的端口。Hybrid端口既可以连接接入链路又可以连接干道链路。Hybrid端口允许多个VLAN的帧通过,并可以在出端口方向将某些VLAN帧的Tag剥掉。华为设备默认的端口类型是Hybrid。
      • 当接收到对端设备发送的不带Tag的数据帧时,会添加该端口的PVID,如果PVID在允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。当接收到对端设备发送的带Tag的数据帧时,检查VLAN ID是否在允许通过的VLAN ID列表中。如果VLAN ID在接口允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。
      • Hybrid端口发送数据帧时,将检查该接口是否允许该VLAN数据帧通过。如果允许通过,则可以通过命令配置发送时是否携带Tag。
      • 配置port hybrid tagged vlan vlan-id命令后,接口发送该vlan-id的数据帧时,不剥离帧中的VLAN Tag,直接发送。该命令一般配置在连接交换机的端口上。
      • 配置port hybrid untagged vlan vlan-id命令后,接口在发送vlan-id的数据帧时,会将帧中的VLAN Tag剥离掉再发送出去。该命令一般配置在连接主机的端口上。

VLAN配置 

  • 配置access端口
    • 配置端口类型的命令是port link-type <type>,type可以配置为Access,Trunk或Hybrid。需要注意的是,如果查看端口配置时没有发现端口类型信息,说明端口使用了默认的hybrid端口链路类型。当修改端口类型时,必须先恢复端口的默认VLAN配置,使端口属于缺省的VLAN 1。
    • 可以使用两种方法把端口加入到VLAN。
      • 1.第一种方法是进入到VLAN视图,执行port <interface>命令,把端口加入VLAN。
      • 2.第二种方法是进入到接口视图,执行port default vlan <vlan-id>命令,把端口加入VLAN。vlan-id是指端口要加入的VLAN。
  • 配置trunk端口
    • 配置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。只有使用命令porttrunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }允许缺省VLAN数据通过,才能转发缺省VLAN的数据帧。交换机的所有端口默认允许VLAN1的数据通过。
  • 配置hybrid端口
    • 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方式通过该端口。

MUX-VLAN

  • MUX-VLAN提供了一种通过vlan进行网络资源控制的机制。既可以实现VLAN间用户通信,也可以实现VLAN内的用户相互隔离
  • MUX-VLAN=主VLAN+从VLAN,从VLAN又分为隔离型VLAN和互通型VLAN
  • 端口分类:
    • principal port:主VLAN所在端口,可以和MUX内的所有V端口通信
    • separate port:隔离端口,属于隔离VLAN,只能和principal port进行通信,和其他端口完全隔离
    • group port:组端口,属于group vlan,可以和principal port进行通信,在同一组内也可互相通信,但不能和其他组接口或separate port通信
  • 应用实例

华为交换技术VLAN-虚拟局域网

华为交换技术VLAN-虚拟局域网

二、不同VLAN间通信

  • 一、每一个vlan一个物理连接:在路由器上为每个VLAN分配一个单独的接口,并使用一条物理链路连接到二层交换机上。当VLAN间的主机需要通信时,数据会经由路由器进行三层路由,并被转发到目的VLAN内的主机,这样就可以实现VLAN之间的相互通信。

  • 二、单臂路由:在交换机和路由器之间仅使用一条物理链路连接。在交换机上,把连接到路由器的端口配置成Trunk类型的端口,并允许相关VLAN的帧通过。在路由器上需要创建子接口,逻辑上把连接路由器的物理链路分成了多条。

  • 三、三层交换:在三层交换机上配置VLANIF接口来实现VLAN间路由。如果网络上有多个VLAN,则需要给每个VLAN配置一个VLANIF接口,并给每个VLANIF接口配置一个IP地址。用户设置的缺省网关就是三层交换机中VLANIF接口的IP地址。

 

相关文章: