1、交换机 supervlan 技术详解2009-11-14 16:36Super VLAN 又称为 VLAN 聚合(VLAN Aggregation),是一种节省 VLAN 接口及 IP 地址的三层 VLAN 技术,其原理是一个 Super VLAN 包含多个 SubVLAN,每个 Sub VLAN 是一个广播域,不同 Sub VLAN 之间二层相互隔离。Super VLAN 可以配置三层接口,Sub VLAN 不能配置三层接口。当 Sub VLAN 内的用户需要进行三层通信时,将使用 Super VLAN 三层接口的 IP 地址作为网关地址,这样多个 Sub VLAN 共用一个 IP 网段,从
2、而节省了 IP 地址资源。为了实现不同 Sub VLAN 间的三层互通及 Sub VLAN 与其他网络的互通,需要在 Super vlan 开启 ARP 代理功能。通过 ARP 代理可以进行 ARP 请求和响应报文的转发与处理,从而实现了二层隔离端口间的三层互通。当设置 vlan 类型为 super vlan 后,该 vlan 接口上的 arp 代理自动开启,无需配置,且不能关闭。super vlan 可以节省 IP 地址,让不同 VLAN 的网关使用同一个 IP,在交换网络环境中引进 Sub VLAN 和 Super VLAN,它们是一种可以实现 IP 地址划分的更加优化的途径。它通常将多个
3、不同的 VLAN 划分至同一 IP 子网,而不是每个 VLAN 单独占用一个子网,然后将整个 IP 子网指定为一个 VLAN 聚合(Super VLAN),它包含整个 IP 子网内的所有 VLAN(Sub VLAN)。而这个 IP 就是 SUPER VLAN 的 IP,它是逻辑上的 VLAN,它是不需要把端口加到这个 VLAN 里的,下面的不同的 VLAN 都可以看做是它的子 VLAN,这些子 VLAN 是物理的, 要加端口才能激活的.只要有一个子 VLAN 是激活的,那么 SUPERVLAN 就是激活的. super vlan 可以实现同一个 VLAN 内的端口间的隔离, 实质上不同的 Su
4、b VLAN 仍保留各自独立的广播域,而一个或多个 Sub VLAN 同属于一个Super VLAN,并且都使用 Super VLAN 的接口地址为默认网关 IP 地址。一旦我们使用 VLAN 聚合功能,就允许客户端在同一子网里使用不同的广播域,但是这些客户端使用的还是同一个路由接口,从而达到增强 IP 地址利用率的目的。可以跟 VLAN 做比较,通常一个 VLAN,一个 IP 子网,即一个广播域,一个路由接口,需要大量的子网,结果是不能有效的利用IP 地址,造成浪费。而 Super VLAN 则把一个子网段分成地址段,即几个广播域,IP 地址和路由接口都不变,至于 Sub VLAN 之间也可
5、以设置是否通讯。使用 Super VLAN 时,Super VLAN 可以定义一个任意 IP 地址,但是没有自己的成员端口,端口都是指定在 Sub VLAN 中。Sub VLAN 作为 Super VLAN的成员,并没有自己的 IP 地址,而是使用 Super VLAN 的 IP 地址作为自己的路由接口地址。通常,客户端都是指定在 Sub VLAN 内,我们可以在子VLAN 中有选择的分配给一些地址段,以避免地址段以外的非法客户端进入网络,前提是这些地址段必须在 Super VLAN 的子网范围内,以便于我们更好的管理 IP 地址,而且假如多个 Sub VLAN 定义了重复的地址段,交换机并不
6、提供错误检查,从而在 Super VLAN 和子 VLAN 的 arp过程中带来错误,这一点尤其要注意。VLAN 聚合是 VLAN 的一项比较独特的功能,在使用中有如下特性:* 若干个小 VLAN(Sub VLAN)同属于一个大 VLAN(Super VLAN)。* Super VLAN 对应 IP 子网地址,所有该 Super VLAN 的 Sub VLAN 都属于该子网。* 同一子网 Super VLAN 中的不同 Sub VLAN 互通需要 Super VLAN 开启 arp-proxy。* 所有广播包和未知流量都局限在 Sub VLAN 内部,不会跨越 Sub VLAN 边界。Sub
7、VLAN 内部的所有流量只在 Sub VLAN 内部交换,这样可以有效的隔离 Sub VLAN 之间的流量。不同的 Sub VLAN 仍保留各自独立的广播域,实现同一子网中的广播的隔离,避免广播风暴的产生实现广播域隔离。* 客户端即主机都放置在 Sub VLAN 内。在 Super VLAN 的路由接口地址范围内,每台主机可以任意设置一个 IP 地址。在 Sub VLAN内的每台主机的子网掩码都是和 Super VLAN 定义的子网掩码相同,并且他们的路由地址即网关就是 Super VLAN 的路由接口地址。* Sub VLAN 之间的所有流量都是通过 Super VLAN 来路由的。例如,在
8、子 VLAN 间不会有 ICMP 重定向产生,因为超 VLAN 为子 VLAN进行了路由。当一个子 VLAN 加入到 Super VLAN 中时,在 IP arp 表中会自动加入一个 arp 表项,这就使得 IP 单播包可以穿越子VLAN。为安全起见,我们可以关闭掉这项功能。* 当 Super VLAN 启用组播路由协议时, Sub VLAN 间的 IP 组播流量将被路由。VLAN 聚合也有它的局限性:* Sub VLAN 不能有其他的路由接口,它的路由只能在 Super VLAN 上进行。* Sub VLAN 不能成为 Super VLAN。* 做为 Super VLAN 不能指定 IP 地
9、址,即路由接口地址。* Super VLAN 不能包含成员端口。* 如果客户机从一个 Sub VLAN 移到另一个 Sub VLAN,必须在客户机和交换机上清除 IP arp 缓存以继续通讯。Super VLAN 在实际应用中的好处:第一,极大节省 IP 地址;第二,极大降低了因 IP 地址变更而带来的工作量。举例:如一个公司有三个部门,一个销售部,有 5 个人,一个技术部,也有 14 个人,一个财务部,有 3 个人,一般情况下部门互相不能访问,每个部门就为一个 VLAN,销售部就至少要配 2*2*2=8 个 IP 地址,技术部就要 2*2*2*2*2=32 个 IP 地址,财务部就至少要配2
10、*2*2=8 个 IP 地址,总计需要 48 个 IP 地址,而实际只有 22 个人,浪费了 26 个 IP 地址。SUPER VLAN 是基于 VLAN 之上的,公司只有 22 个人,只需配 2*2*2*2*2=32 个 IP 地址就可以满足要求。如果销售部又增加了 2 个人,那么销售部的 IP 地址又要增加 2 个,如果要满足 7 个人,就必须给销售部 16 个 IP 地址,同时公司划分 IP 地址又是连续的,所以,销售部 IP 地址一旦变化,势必会引起其他部门 IP地址的重新分配,这个工作是巨大的,但 SUPER VLAN 是基于 VLAN 之上,如果销售部增加新的 IP 地址,只需要在
11、 SUPER 里增加 IP地址给新增加的人员就能达到要求,同时又可以不动其他人员的 IP 地址。华为交换机 Super VLAN 配置一、组网需求: 需要创建 Super VLAN 10 和 Sub VLAN:VLAN 2、VLAN3,端口 1 和端口 2 属于 VLAN2,端口 3 和端口 4 属于 VLAN3,由于 VLAN 之间能够满足二层隔离,现要求 Sub VLAN 两两之间三层互通。三、配置步骤:system-view /进入系统视图H3C vlan 10 /进入 VLAN 视图H3C-vlan10 supervlan /配置当前 VLAN 为 Super VLAN H3C-vla
12、n10 vlan 2 /创建 Sub VLANH3C-vlan2 port ethernet0/1 ethernet0/2 /向 Sub VLAN 中添加以太网端口 。port 命令只适用于将 access 端口加入 sub vlan。如果需要将 trunk 端口和 hybrid 端口加入 sub vlan,只能通过以太网端口视图下的 port trunk permit vlan 和 port hybrid vlan 命令实现H3C-vlan2 vlan 3H3C-vlan3 port ethernet0/3 ethernet0/4H3C-vlan5 vlan 10 /进入 Super VLA
13、N 的 VLAN 视图H3C-vlan10 subvlan 2 3 /创建 Super VLAN 与 Sub VLAN 间的映射关系H3C-vlan10 interface vlan 10 H3C-Vlan-interface10 ip address 10.110.1.1 255.255.255.0 /四、配置关键点:1 一台交换机可以有多个 Super VLAN。2 当配置 VLAN 为 Super VLAN 后,相应的 VLAN 接口和 IP 地址的配置与普通 VLAN 一样。需要注意的是:VLAN 被设置成 Super VLAN 前,不能包含任何以太网端口;被设置为 Super VLA
14、N 后,也不能向其中添加以太网端口。3 当设置 VLAN 类型为 Super VLAN 后,该 VLAN 接口上的 ARP 代理自动开启,无需配置。在 Super VLAN 存在时,其对应的 VLAN接口的 ARP 代理不能关闭。4 配置 Super VLAN 和 Sub VLAN 间的映射关系前, Sub VLAN 必须已经存在。5 在建立了 Sub VLAN 和 Super VLAN 的映射关系后,仍可以向 Sub VLAN 中添加或删除端口。6 每一个 Super VLAN 可以和 127 个 Sub VLAN 建立映射关系。系统最多允许建立 1024 个 Sub VLAN。思科交换机
15、VLAN 配置switch# configure /进入全局配置模式 switch(config)# vlan vlan-id /进入 VLAN 配置模式 switch(config-vlan)# supervlan /打开 SuperVLAN 的功能 switch(config-vlan)# end /回到特权模式缺省情况下,Super VLAN 功能是关闭的,使用 no supervlan 可以关闭已经打开得 supervlan 的功能。配置 Super VLAN 的 Sub VLAN:必须为 SuperVLAN 配置 SubVLAN,该 Super VLAN 才有意义。 可以使用下面的命
16、令来使一个 VLAN 属于 SuperVLAN 的 Sub VLAN。switch# configure /进入配置模式 switch(config)# vlan vlan-id /进入 VLAN 配置模式 switch(config-vlan)# supervlan /设置该 vlan 为 Super VLAN switch(config-vlan)# subvlan vlan-id-list /指定若干个 sub vlan 并把它们加入 super vlan 中。 switch(config-vlan)# exit /退出到全局模式使用 no subvlan vlan-id-list 命令
17、删除 Super VLAN 的 Sub VLAN。设置 Sub VLAN 的地址范围 :用户可以为每个 SubVLAN 配置其地址空间范围,以便设备区分给定的 IP 地址属于哪个 SubVLAN. 同一个 SuperVLAN 下的 SubVLAN 配置的地址空间范围不可以有交叉重叠或者互相包含的关系.全局模式下进行下列配置switch# configure /进入配置模式 switch(config)# vlan vlan-id /进入 vlan 配置模式 switch(config-vlan)# subvlan-address-range start-ip end-ip /设置 Sub VL
18、AN 的地址范围,start-ip 为该 SubVLAN 的 IP 起始地址end-ip 为该 SubVLAN 的 IP 结束地址switch(config-vlan)# proxy-arp enable /使能 proxy-ary 功能 switch(config-vlan)# end / 回到特权模式 switch# show run /验证前面各步骤的配置注意:用户可以通过执行 no subvlan-address-range 删除之前配置设置 Super VLAN 的虚拟接口 当 Sub VLAN 内的用户需要进行三层通信时 ,首先要创建 SuperVLAN 对应的虚拟三层接口进行。使
19、用 SuperVLAN 自身对应的 SVI 作为虚拟接口SVI 是一种和 VLAN 相对应的 3 层口,你只需要给 VLAN 配置一个 IP 地址就成了 SVI 接口。SVI 是一种由多个物理接口组成的 3 层口,用它们连接的计算机构成一个网段,彼此可以共享资源。 请在全局模式下进行下列配置。 switch# configure /进入配置模式 switch(config)# interface vlan vlan-id /进入 SVI 模式 switch(config-vlan)# ip address ip mask /设置虚拟接口的 IP 地址 switch(config-vlan)#
20、end /回到特权模式 switch# show run /验证前面各步骤的配置设置 VLAN 的代理 ARP 功能可以使用下面的命令来设置 VLAN 的代理 ARP 功能,从而允许 SubVLAN 之间互相通信。缺省情况下该功能是打开的。 请在全局模式下进行下列配置。switch# configure /进入配置模式 switch(config)# vlan vlan-id /进入 VLAN 模式 switch(config-vlan)# proxy-arp /打开 VLAN 的 ARP 代理功能 switch(config-vlan)# end /回到特权模式 switch# show run /验证前面各步骤的配置使用 no proxy-arp 关闭 Vlan 的代理 ARP 功能。显示 supervlan 设置 可以使用下面的命令switch# show supervlan /显示 supervlan 配置