Vlan技术(Virtual Local Area Network)

1.Vlan作用

  • 隔离广播域:防止网络中的广播包过多,导致网络拥塞,同时也是为了提高网络带宽的利用率。
  • 实现故障隔离:减小网络故障带来的影响,缩小范围后也方便故障的定位和排除。
  • 增强安全性:不同Vlan间的数据通信只能通过三层设备进行,在三层设备上采取安全措施可以防止病毒在局域网内大范围扩散。

2.Vlan的划分方式

可以基于交换机端口的(最常用),基于协议的,基于IP地址的,基于MAC地址的。

3.802.1q帧结构

Vlan技术(Virtual Local Area Network)_第1张图片Vlan技术(Virtual Local Area Network)_第2张图片

 4.交换机端口分类

  • Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口。
  • Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口。
  • Hybrid(华为)类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。

 

      Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时

Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签

  1. 端口的缺省VLAN的概念:Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置; 
      Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。缺省情况下,Hybrid端口和Trunk端口的缺省VLAN为VLAN 1
  2. 当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN的端口(如果设置了端口的缺省VLAN ID)。当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。 
      注:对于华为交换机缺省VLAN被称为“Pvid Vlan”,对于思科交换机缺省VLAN被称为“Native Vlan”交换机。
  3. 交换机接口出入数据处理过程如下: 
      ---Acess端口收报文: 
      收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省) 
      ---Acess端口发报文(从交换机内部往外发送): 
      将报文的VLAN信息剥离,直接发送出去 
      (所以,Access端口可以实现同一交换机上相同VLAN下的主机通信;也可以实现交换机级连时的缺省VLAN1报文交换,但不能实现VLAN透传。) 
      ---trunk端口收报文: 
      收到一个报文,判断是否有VLAN信息:如果有,判断该trunk端口是否允许该 VLAN的数据进入:如果可以则转发,否则丢弃;如果没有VLAN信息则打上端口的PVID,并进行交换转发。 
      ---trunk端口发报文: 
      比较将要发送报文的VLAN信息和端口的PVID,如果不相等则直接发送。如果两者相等则剥离VLAN信息,再发送。 
      (所以,将交换机级连口统统设置为Trunk并允许所有VLAN通过后,VLAN2-VLAN4000直接透传,而VLAN1则因为和Trunk缺省PVID相同,需要通过剥离VLAN信息又添加VLAN信息实现了透传而如果更改Trunk的缺省PVID,则可以实现某一交换机下的VLAN-X和另一交换机下的VLAN-Y通信。) 
        ---hybrid端口收报文: 
      收到一个报文,判断是否有VLAN信息:如果有,则判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只对发送报文时起作用); 
      如果没有则打上端口的PVID,并进行交换转发。 
      ---hybrid端口发报文: 
      一)、判断该VLAN在本端口的属性(show interface 即可看到该端口对哪些VLAN是untag,哪些VLAN是tag) 
      二)、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送。 
      (所以,Hybrid实现了不同VLAN下的主机的通信。) 

5.VLAN的简单配置

     1.创建vlan

  • Switch(config)#vlan vlan-id   //创建vlan
  • Switch(config-vlan)#name vlan-name   //(可选)命名vlan

     2.将交换机端口加入到vlan中

  • Switch(config)#interface interface    //进入端口配置模式
  • Switch(config-if)#switchport mode access   //将端口模式设置为接入端口
  • Switch(config-if)#switchport access vlan vlan-id   //将端口添加到特定vlan中

    3.多个端口添加到同一vlan中(可选)

  • Switch(config)#interface range interface-range   //进入需要添加vlan的一组端口中
  • Switch(config-range-if)#switchport mode access   //将端口模式设置为接入端口
  • Switch(config-range-if)#switchport access vlan-id   //将一组端口划分到指定vlan中

    4.配置Trunk端口及Native VLAN(交换机与交换机之间的接口)

  • Swtich(config)#interface interface   //进入需要配置的端口
  • Switch(config-if)#switchport mode trunk   //将端口的模式配置为trunk
  • Switch(config-fi)#switchport trunk native vlan vlan-id   //配置Trunk的Native VLAN(Trunk两端端口的Native VLAN必须一致

    5.配置VLAN许可列表

  • Swtich(config)#interface interface   //进入需要配置的端口
  • Switch(config-if)#switchport mode trunk   //将端口的模式配置为trunk
  • Switch(config-if)#switchport trunk allowed vlan { all | [add | remove | except] }  vlan-list   //定义Trunk 的VLAN列表

6.VLAN间实现通信

   1.SVI技术(Switch Virtual Interfaces)

实现方法:在三层交换机上为各VLAN创建虚拟VLAN接口(SVI),并为SVI接口配置IP地址,作为各主机的网关地址。

  • Switch(config)#ip routing   //开启路由功能(默认)
  • Switch(config)#vlan vlan-id   //创建vlan  
  • Switch(config)#interface vlan vlan-id   //进入vlan的SVI接口配置模式       注:创建SVI接口后,系统会自动为SVI接口分配一个MAC地址用于接收数据帧
  • Switch(config-if)#ip address ip-address mask   //给SVI接口配置IP地址(网关地址)

   2.单臂路由技术

实现方法:在路由器上为每一个VLAN创建一个子接口,并给子接口配置IP地址,作为各VLAN的网关。同时还需要在各子接口上封装802.1q协议,以便识别相应的VLAN。

    该技术的缺点:需为每一个vlan创建一个子接口,限制了VLAN网络的灵活部署;当创建多个vlan后,vlan间流量都需要通过这个端口转发,容易在物理接口上形成网络瓶颈。

  • Switch(config-if)#switchport mode trunk   //与路由器连接的交换机端口模式配置为Trunk,以便可以收发多个VLAN中的数据帧
  • Router(config)#interface  interface.sub-port   //创建以太网子接口
  • Router(config-subif)#encapasulation dot1q vlan-id   //为子接口封装802.1q协议,并指定接口所属的vlan(先封装再填地址
  • Router(config-subif)#ip  address ip-address mask-address    //为子接口配置IP地址
  • Router(config-subif)#no shutdown    //启用子接口

7.PVLAN(Priviate VLAN)

  • 特点:突破VLAN个数的限制(最大个数只有4094个),节约IP地址(每个VLAN都需要一个子网地址),隔离相同VLAN中网络设备之间的流量。

1.PVLAN的组成:

  • 主VLAN(Primary VLAN):PVLAN的高级VLAN,每个PVLAN中只有一个主VLAN;作用:把流量从混杂端口传送到隔离、团体和同一个VLAN内部的其它主要混杂端口
  • 辅助VLAN(Secondary VLAN):PVLAN的子VLAN,所有辅助VLAN都需要映射的主VLAN上,每台接入设备都连接到辅助VLAN;作用:实现二层网络的隔离。

     辅助VLAN包含两种VLAN类型:

  •   隔离VLAN(Isolated VLAN):同一隔离VLAN中的端口相互不能进行二层通信,一个PVLAN中只有一个隔离VLAN。若要与其它端口通信,则必须穿越混杂端口。
  •   团体VLAN(Community VLAN):同一团体VLAN中的端口可以进行二层通信,但不能与其他团体VLAN中的端口进行二层通信一个PVLAN中可以有多个团体VLAN若要与其它端口通信,则必须穿越混杂端口。

2.PVLAN的2种端口类型:

  • 混杂端口(Promiscuous Port):隶属于“Primary VLAN”,一个混杂端口可以与所有接口通信,包括PVLAN内的隔离和团体端口;混杂端口的功能是在团体和隔离的VLAN端口之间传递流量。通常是连接三层设备或服务器的端口。
  • 主机端口(Host Port):隶属于“Secondary VLAN”,由于“Secondary VLAN”具有两种属性,那么主机端口依“Secondary VLAN”属性的不同也有两种分类:

     主机端口包含的两种分类:

  • 隔离端口(Isolated Port)它与PVLAN内的所有其它端口相分离,除混杂端口外;来源于隔离端口的流量仅仅传送给混杂端口
  • 团体端口(Community Port):一个团体VLAN中的团体端口之间可以相互通信,并且团体端口可以与混杂端口通信。

3.PVLAN的配置:

    1.配置主VLAN和辅助VLAN

  • Switch(config)#vlan id   //进入VLAN配置模式
  • Switch(config-vlan)#private-vlan {community | isolated | primary}    //配置私有VLAN类型    注意:已经配置了的VLAN不能再配置为私有VLAN,且VLAN 1不能配置为私有VLAN

    2.关联辅助VLAN到主VLAN

  • Switch(config)#vlan p_vid   //进入主VLAN的配置模式
  • Switch(config-vlan)#private-vlan association [add | remove]  svlist   //关联辅助VLAN到主VLAN

    3.将辅助VLAN映射到主VLAN的三层接口

  • Switch(config)#interface vlan p_vid   //进入主VLAN的VLAN接口模式
  • Switch(config-if)#private-vlan mapping [add | remove] svlist   //映射辅助VLAN到主VLAN的三层接口
  • Switch(config-if)#ip address ip-address mask   //为主VLAN配置SVI,以便PVLAN中的流量可以进行三层交换

   4.配置主机端口

  • Switch(config)#interface  port-type port   //进入主机端口
  • Switch(config-if)#switchport mode private-vlan host   //配置端口为主机端口
  • Switch(config-if)#switchport private-vlan host-association p_vid  s_vid   //关联主机端口到PVLAN 

   5.配置混杂端口

  • Switch(config)#interface  port-type port   //进入主机端口
  • Switch(config-if)#switchport mode private-vlan promiscuous   //配置端口为主机端口
  • Switch(config-if)#switchport private-vlan mapping p_vid [add | remove]  svlist   //配置混杂端口所在的主VLAN以及关联的辅助VLAN

 

你可能感兴趣的:(Vlan技术(Virtual Local Area Network))