全面认识VLAN
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全面认识 VLAN Version 1
1 两个预备概念 1.1 冲突域(collision domain) 一个物理网段(segment),在 10M 半双工里整个网段是共享 的,所有的主机共处在一个冲突域中,同时也共处于一个广播域 里,而在 100M 以上的全双工交换网络里,每个端口都独立地为一 个冲突域。 1.2 广播域(broadcast domain) 广播包所能覆盖的区域。在传统的 10M 半双工以太网里,只有 用路由器才能划分不同的广播域,而在 100M 以上的交换网络里, 广播域不能很明显地看出,只能根据具体配置才能判断。 VLAN 概述 Virtual LAN,在一个交换机可建立多个虚拟的桥,每个桥为一 个独立的广 播域。 2.1 VLAN 信息的封装格式 2
6
PC201 PING PC202 的结果如下:
此时,由于 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 模式
这种模式需要 EST 与 Guest OS 相结合
7
4.2 EST 模式
这种模式不需要在 vSwitch 上要任何动动,而物理交换机发到 vSwitch 来的帧是没有 TAG 的,所以只要保持 port-group 上的 VLAN 属性为 0,即接受任何从物理交换机上来的无 TAG 的帖即 可。 4.3 VST 模式
8
这种模式下,物理交换机发到 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。 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,测试 两台服务器通信正常。 5
3
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 在 IBM G8000 交换机上的实现
2
配置如下:sw1(config-if)#switchport trunk encapsulation dot.1q #switchport mode trunk #switchport trunk native vlan 2 Sw2(config-if)#switchport trunk encapsulation dot.1q #switchport mode trunk #switchport trunk native vlan 3 如果按上述的配置,那么 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,也可是基于协议的即 protocolbased,目前为止,我们所讲的 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
9
Step 2: isolated 内部之间 尽管端口 3、4 属于同一人 VLAN 200,但 VLAN200 在 Private VLAN 中的类型是 isolated,所以连接在端口 3、4 上的 PC201 与 PC202 互不通信。PC201 PING PC202 的结果如下:
Step 3: community 内部之间 把 VLAN 200 的类型改为 Community
4
ຫໍສະໝຸດ Baidu
VLAN 100 做为 Primary VLAN,VLAN 200 做为 Secondary VLAN a)建 VLAN
b)设 Private VLAN 的类型
c)查看 Private VLAN 的状态:
5
以上显示 VLAN 100 已经成为了 Primary VLAN,其 Mapped-To VLAN 200(自动生成的); VLAN 200 已经成为了 Isolated VLAN,其 Mapped-To VLAN 100(要手工配置)。 d)测试: Step 1: secondaryprimary PC101 属于 VLAN 100,PC201 属于 VLAN 200,正常情况下,不同 VLAN 中的 PC 是不能通信的,但现在 VLAN 100 和 VLAN 200 属于 同一个私有 VLAN,且 VLAN 100 类型是 Primary,可与 Private VLAN 中的任何成员进行通信:
从 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,情况又如何呢?
a) 802.1q/802.1p 是 IEEE 的标准,而 ISL 是 Cisco 的
1
b) 由于 ISL 的 TAG 头(ISL 头长是 26+4=30 个字节)是加在以太 包头外面的,所以它其实已经是另外一种包的封装格式,这要求所 参与的交换机都要支持这一包的封装格;而 802.1q 的 4 个字节的 TAG 是加在以太包的里而,它没有改变以态帧的格式,只不过是加 大的原来以太帧 4 个字节,即形成了所谓的 Baby Giant,但是 802.3ac 已经扩展了以太帧的最大长度到 1522,所以这个 Baby Giant 在缺省下是可以政常传递的,因为有 TPID(Tag Protocol ID), 大家都认识这个帧是 802.1q 帧。以下是 802.1q 帧:
1 两个预备概念 1.1 冲突域(collision domain) 一个物理网段(segment),在 10M 半双工里整个网段是共享 的,所有的主机共处在一个冲突域中,同时也共处于一个广播域 里,而在 100M 以上的全双工交换网络里,每个端口都独立地为一 个冲突域。 1.2 广播域(broadcast domain) 广播包所能覆盖的区域。在传统的 10M 半双工以太网里,只有 用路由器才能划分不同的广播域,而在 100M 以上的交换网络里, 广播域不能很明显地看出,只能根据具体配置才能判断。 VLAN 概述 Virtual LAN,在一个交换机可建立多个虚拟的桥,每个桥为一 个独立的广 播域。 2.1 VLAN 信息的封装格式 2
6
PC201 PING PC202 的结果如下:
此时,由于 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 模式
这种模式需要 EST 与 Guest OS 相结合
7
4.2 EST 模式
这种模式不需要在 vSwitch 上要任何动动,而物理交换机发到 vSwitch 来的帧是没有 TAG 的,所以只要保持 port-group 上的 VLAN 属性为 0,即接受任何从物理交换机上来的无 TAG 的帖即 可。 4.3 VST 模式
8
这种模式下,物理交换机发到 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。 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,测试 两台服务器通信正常。 5
3
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 在 IBM G8000 交换机上的实现
2
配置如下:sw1(config-if)#switchport trunk encapsulation dot.1q #switchport mode trunk #switchport trunk native vlan 2 Sw2(config-if)#switchport trunk encapsulation dot.1q #switchport mode trunk #switchport trunk native vlan 3 如果按上述的配置,那么 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,也可是基于协议的即 protocolbased,目前为止,我们所讲的 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
9
Step 2: isolated 内部之间 尽管端口 3、4 属于同一人 VLAN 200,但 VLAN200 在 Private VLAN 中的类型是 isolated,所以连接在端口 3、4 上的 PC201 与 PC202 互不通信。PC201 PING PC202 的结果如下:
Step 3: community 内部之间 把 VLAN 200 的类型改为 Community
4
ຫໍສະໝຸດ Baidu
VLAN 100 做为 Primary VLAN,VLAN 200 做为 Secondary VLAN a)建 VLAN
b)设 Private VLAN 的类型
c)查看 Private VLAN 的状态:
5
以上显示 VLAN 100 已经成为了 Primary VLAN,其 Mapped-To VLAN 200(自动生成的); VLAN 200 已经成为了 Isolated VLAN,其 Mapped-To VLAN 100(要手工配置)。 d)测试: Step 1: secondaryprimary PC101 属于 VLAN 100,PC201 属于 VLAN 200,正常情况下,不同 VLAN 中的 PC 是不能通信的,但现在 VLAN 100 和 VLAN 200 属于 同一个私有 VLAN,且 VLAN 100 类型是 Primary,可与 Private VLAN 中的任何成员进行通信:
从 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,情况又如何呢?
a) 802.1q/802.1p 是 IEEE 的标准,而 ISL 是 Cisco 的
1
b) 由于 ISL 的 TAG 头(ISL 头长是 26+4=30 个字节)是加在以太 包头外面的,所以它其实已经是另外一种包的封装格式,这要求所 参与的交换机都要支持这一包的封装格;而 802.1q 的 4 个字节的 TAG 是加在以太包的里而,它没有改变以态帧的格式,只不过是加 大的原来以太帧 4 个字节,即形成了所谓的 Baby Giant,但是 802.3ac 已经扩展了以太帧的最大长度到 1522,所以这个 Baby Giant 在缺省下是可以政常传递的,因为有 TPID(Tag Protocol ID), 大家都认识这个帧是 802.1q 帧。以下是 802.1q 帧: