关注IT
关注系统玩家

全面认识VLAN

1   两个预备概念

1.1 冲突域(collision domain)

    一个物理网段(segment),在10M半双工里整个网段是共享的,所有的主机共处在一个冲

突域中,同时也共处于一个广播域里,而在100M以上的全双工交换网络里,每个端口都独立地

为一个冲突域。

1.2  广播域(broadcast domain)

    广播包所能覆盖的区域。在传统的10M半双工以太网里,只有用路由器才能划分不同的广播

域,而在100M以上的交换网络里,广播域不能很明显地看出,只能根据具体配置才能判断。

2   VLAN概述

    Virtual LAN,在一个交换机可建立多个虚拟的桥,每个桥为一个独立的广播域。

2.1  VLAN信息的封装格式

 5649308643

a) 802.1q/802.1p是IEEE的标准,而ISL是Cisco的

b) 由于ISL的TAG头(ISL头长是26+4=30个字节)是加在以太包头外面的,所以它其实已经

是另外一种包的封装格式,这要求所参与的交换机都要支持这一包的封装格;而802.1q的4

个字节的TAG是加在以太包的里而,它没有改变以态帧的格式,只不过是加大的原来以太帧4

个字节,即形成了所谓的Baby Giant,但是802.3ac已经扩展了以太帧的最大长度到

1522,所以这个BabyGiant在缺省下是可以政常传递的,因为有TPID(Tag Protocol ID),

大家都认识这个帧是802.1q帧。以下是802.1q帧:

 1810901082

    从802.1Q TAG 中VID为12位,所以VLAN ID的最大值为4095(2的12次方)

    一般交换机能支持active VLAN 1024个,在Cisco的交换机中如果要用到1006以后的,

应在VTP透明模式下建,另外如果用Cisco的ISL,由于ISL中用10位代表VLAN ID,所以ISL

只支持1024个VLAN。

2.2  Native VLAN

a) 概念

    一个接口缺省时所在的VLAN,即是Native VLAN.一般只有Cisco的设备有此概念,其它厂

商PVID(Port Vlan ID)与之相当。

    Native VLAN只在802.1q中起作用,在isl中无此概念或不受影响。在802.1q中,如果信

息来源于Native VLAN,那么不打TAG,收到的一方接到一个无TAG的帧,也就把它当

Native VLAN的帧进行处理,在做trunk时两端的Native VLAN要相同。

b) 下面是一个有关Native VLAN的例子:

    在Cisco交换机中如果是用动态DTP协议建trunk并且trunk的协议封装类型为802.1q时,

当两边Native VLAN不同时,不能协商成功,但如果是用静态形成trunk,情况又如何呢?

    配置如下:sw1(config-if)#switchport trunk encapsulation dot.1q

                6430342557

    如果按上述的配置,那么VLAN2、VLAN3出去的数据流不能正常通信。SW1的VLAN2 发出的

包,因为是native vlan,所以不打TAG,SW2收到后,发现是无TAG的包,把该包送到VLAN3,

失败;如果从SW1的VLAN3发出的包,SW2收到会正确送给VLAN3,但回包时,因为是从VLAN3

发出的,SW2不把回包打TAG,SW1收到后,发现的无TAG的包,送到VLAN2,失败。

c) 保险起见,也可把Native VLAN打上TAG:

    SW(config)# vlan dot1q tag native       (Cisco交换机)

    G8000(config-if)#tag-pvid                      (BNT交换机)

3   VLAN的扩展

3.1  Protocol VLAN—PVLAN

    VLAN可分为基于端口的即port-based,也可是基于协议的即protocol-based,目前为止,我

们所讲的VLAN都是基于端口的,即数据包从哪个VLAN来、到哪个VLAN去都是基于物理端口,还

有另外一种VLAN即Protocol VLAN,它的VLAN划分是基于协议的,如一个端口进来没有打TAG的

包,出去要打TAG,此时不是按入端口的VLAN属性来加TAG,而按进来包的包头协议类型来去加

TAG,如IP包那么打上VLAN2的TAG,如ICMP包那么打上VLAN3的TAG.

    Protocol-based VLAN 是建立在Port-based基础上的,即当PVLAN不能做出判断时,用port-

based VLAN来划分。

3.2  Private VLAN

2079878107

3.2.1  基本概念

    Private VLAN 在相同的广播域中提供基于二层的隔离。一个Private VLAN 包含二种类型子

VLAN,即Primary VLAN 和Secondary VLAN,其中,Secondary VLAN又分为两种类型,即

isolated和community。在一个Private VLAN 中只能包含一个Primary VLAN,也只能包含一个

isolated 类型Secondary VLAN,但可包含多个community类型Secondary VLAN 。

    如此Private VLAN中的端口也分为三类:promiscuous(在Primary VLAN中),isolated和

community。

    隔离的效果是:任何一个Secondary VLAN中的主机都可和Primary VLAN中的主机通

信;isolated类型的Secondary VLAN中的主机之间不能进行通信;相同community类型的

Secondary VLAN中的主机可以进行通信,不同的community类型的Secondary VLAN中的主机

不能进行通信。

3.2.2  在System x G8000交换机上的实现

 4418653442

VLAN 100做为Primary VLAN,VLAN 200做为Secondary VLAN

a)建VLAN

2603419440

b)设Private VLAN 的类型

9111959696

c)查看Private VLAN 的状态:

6100987478

    以上显示VLAN 100已经成为了Primary VLAN,其Mapped-To VLAN 200(自动生成的); VLAN

200已经成为了Isolated VLAN,其Mapped-To VLAN 100(要手工配置)。

d)测试:

Step 1:  secondary    primary

PC101属于VLAN 100,PC201属于VLAN 200,正常情况下,不同VLAN中的PC是不能通信的,但

现在VLAN 100和VLAN 200属于同一个私有VLAN,且VLAN 100类型是Primary,可与Private

VLAN中的任何成员进行通信:

4236869311

Step 2:  isolated内部之间

尽管端口3、4属于同一人VLAN 200,但VLAN200在Private VLAN中的类型是isolated,所以连接

在端口3、4上的PC201与PC202互不通信。PC201 PING PC202的结果如下:

1197449328

Step 3:  community内部之间

把VLAN 200的类型改为Community

7204001083

PC201 PING PC202的结果如下:

8762523408

此时,由于VLAN 200的类型为Community,同一个Community的主机之间可以通信。

以上是Private VLAN 在G8000上的具体实现。

3.2.3  Dynamic VLAN动态VLAN

a) 根据所连服务器的MAC动态地把端口划入某个VLAN,主要是Cisco为代表,利用VMPS(VLAN

Membership Policy Server),在VMPS上预先建好MAC与VLAN相对应的数据库。

b) 根据登录用户,动态地分配VLAN—802.1X

4  虚拟网络中的VLAN

   vSwitch上的TAG与工作模式

   三种工作模式

4.1 VGT模式

 4868833944

    这种模式需要EST与Guest OS相结合

4.2 EST模式

 5428462333

    这种模式不需要在vSwitch上要任何动动,而物理交换机发到vSwitch来的帧是没有TAG的,

所以只要保持port-group上的VLAN属性为0,即接受任何从物理交换机上来的无TAG的帖即可。

4.3 VST模式

 7773050447

    这种模式下,物理交换机发到vSwitch上的帧是有TAG的,即连接Host/Hypervisor网卡的物

理交换机端口为Tagging口,而vSwitch上要在port-group上打上相应的VLAN TAG,不能再保持

为0,要打上相应的VLAN TAG,否则从物理交换 机带VLAN TAG的包会被vSwitch所丢弃。

    但要注意两点:

    一是如果打上4095的VLAN TAG,那么vSwitch可接收任何有TAG的帧;

    二是要注意native VLAN(PVID),因为缺省情况下从交换机发出的属于PVID VLAN的包是不打

TAG的,所以在vSwitch上有相应VLAN TAG的port-group是不接收的,所以,在交换机发包端口

要用命令tag-pvid或 tag native。

5   VLAN的未来发展

    VLAN在交换网络中发挥了巨大的作用,它能够把一个物理网络划分出多个逻辑上分割独立的广

播域,可以说以太网络离不开VLAN。但是,随着虚拟化、云计算的发展与应用,VLAN也受到了一

定局性,如在多租户的云网络环境中,VLAN的最大数量4095显得不够,虚拟机需要更大范围的大

二层网络等,所以随之出现的、对VLAN颠覆性的技术,如Cisco和VMware 的

VXLAN,IBM DOVE技术等。尽管新的技术的出现,但VLAN会在很长很长的时间内仍然会被广泛

使用、不会被淘汰。

6   练习

6.1 在交换机建、删除VLAN

       G8000(config)#vlan 100

       G8000(config)#no vlan 100

6.2 改变交换机某端口的PVID

       G8000(config-if)#

6.3 把两台服务器连接到一台交换机上,并加入到VLAN 100,测试两台服务器通信正常。

未经允许不得转载:系统玩家 » 全面认识VLAN

分享到:更多 ()
喜欢 0
rancher

评论 抢沙发

评论前必须登录!