VLAN
传统的交换网络经常遇见的一些问题:
1.冲突
2.广播/风暴
数据传输信号,之间也有可能会出现“冲突”。
-弊端:
导致信息丢失/损坏/传输效率降低;
缺点:
容易形成广播风暴
3.无法分割广播域
解决方案:VLAN - virtual local area network
- -解决:
交换机——划分冲突域;
工作原理:
1.形成MAC地址表 : SMAC -- 端口
2.查找MAC地址表 : DMAC -
引入VLAN目的:(为什么学)
在传统的交换网络中,为了隔离冲突域,我们引入了交换机。
交换机的每一个端口都是一个不同的隔离域。
但是交换机无法隔离广播域,
所以,如果网络中有一个恶意的主机发送广播的恶意流量,
那么处于同一个交换网路中的所有设备都会受到影响。
此时,如果我们想进行故障主机的定位或者控制恶意广播流量的
影响范围,是非常困难的。
为了解决这个问题,我们的方案是:隔离广播域。
即将一个大的广播域,通过“技术”分割成很多不同的小广播域。
那么恶意的广播流量,仅仅会被控制在一个有限的范围内,
如此一来,对于故障主机的定位以及恶意流量的影响都可以实现
很好的控制。
这种技术,我们称之为 -- vlan ,virtual lan 虚拟局域网。
VLAN的定义:
VLAN指的是具有同样功能的一些设备所处于一个的广播域/网段;
但是位于同一个 VLAN 中的设备与物理位置没有关系。
即属于同一个 VLAN 的成员主机,可以位于同一个物理位置,
也可以位于不同的物理位置。
所谓的“虚”,指的就是“物理位置的”的“虚拟”。
是相对于“传统的LAN”而言的,在传统的 LAN 中,只有属于同一个物理
范围内的设备,才是属于同一个 LAN 的。
而 VLAN 就是打破了这种物理位置的限制。
在交换机上通过 VLAN 技术,实现广播域的隔离。属于 OSI 2层的技术。
VLAN的作用:
在交换机上划分不同的广播域,
每一个 VLAN 都是属于一个不同的广播域;
【不同的 VLAN 就是属于不同的网段;】
VLAN的配置:
#在交换机;
#配置 VLAN ;
1.创建VLAN
[SW1] vlan 10
[SW1-vlan10]quit
2.配置端口模式
& access - 连接终端设备的接口
即,只要不连接交换机的端口,都可以
配置为 access ; & trunk * hybrid
[SW1] interface gi0/0/1
[SW1-gi0/0/1] port link-type access
3.配置端口属于的 VLAN
[SW1] interface gi0/0/1
[SW1-gi0/0/1] port default vlan 10
4.验证 VLAN配置信息;
display vlan --> 查看交换机上面的VLAN
以及端口对应关系;
display port vlan --> 查看交换机上的端口的模式
以及VLAN对应关系;
注意:
在华为交换机上可以实现 VLAN 的 批量创建:
[SW1] vlan batch 3 5 7 9 -->表示同时创建 vlan 3 5 7 9 ;
可以创建连续的 vlan 号,
也可以创建不连续的 vlan 号;
在华为交换机上为了便于识别不同的 VLAN 的功能,我们可以为每个
VLAN 配置一个描述(名字) :
[SW1] vlan 400
[SW1-vlan 400] description HCNP
display vlan ---> 一直看到最后;
在华为交换机上可以实现端口的批量配置,即使用"port-group“:
[SW1]port-group group-member gi0/0/1 to gi0/0/3
[SW1-portg-roup] port link-type access
[SW1-port-group] port default vlan 10
注意:以上我使用的端口组是属于“临时的端口组”,
另外,还有一种类型的端口组,称之为“永久性端口组”。
1.创建一个端口组;
2.将成员端口加入到该端口组;
3.以后想配置这些端口的时候,直接对“端口组”配置就可以了。
[SW1] port-group a-------------------------------------------------------------------
[SW1-port-group-a]group-member gi0/0/1 to gi 0/0/20
[SW1-port-group-a]port link-type access
[SW1-port-group-a] port default vlan 10
Trunk:干道
为了节省交换机设备之间的互联链路,
我们开发了 Trunk 技术,如此一来,就可以大大的节省设备之间的
连接端口。
可以同时传输多个 VLAN 的数据的链路/端口;
一般应用于交换机与交换机之间的互联链路;
配置命令:
interface gi0/0/24
port link-type trunk -->将端口配置为 Trunk 模式;
port trunk allow-pass vlan all -> 在该端口上允许所有的VLAN 通过; 默认情况下,仅允许VLAN 1;
在使用下面的这个命令之前,我们通过命令:
display vlan 查看, gi0/0/24 仅仅出现在 vlan 1 的后面;
当我们使用了这个命令之后,通过命令:
display vlan 查看, gi0/0/24 出现在所有 vlan 的后面;
验证命令:
display port vlan -> 查看特定端口的状态以及允许的 VLAN 的范围;
display vlan -->可以查看到该 trunk 端口出现在所有的 VLAN 后面;
注意:
为了在交换机之间的 Trunk 链路上区分开不同的 VLAN 的数据,
所以呢,该 Trunk 链路上支持“标签封装协议”
# ISL - inter-switch link ,交换机之间的链路 , 思科私有的;
通过这种协议封装标签的话,需要在原始的数据上前后增加
30个字节;
# 802.1Q - 公有的标准协议,任何的厂商设备都支持的。
通过这种协议封装标签的话,仅仅需要增加 4个字节就可以了。
一般也称之为 : dot1q 。
=================================================================
删除 VLAN :
[SW1] undo vlan 10 -->删除 VLAN 10 以后,曾经属于vlan 10 的端口自动的回归到vlan 1
将端口从 access 配置为 hybrid :
1.首先删除该端口上的“配置 vlan ”的命令;
2.其次直接修改该端口的 link-type ;
将端口从 trunk 配置为 access :
1.首先删除该 trunk 端口上的:port trunk allow-pass vlan all
2.其次配置该端口仅仅允许 VLAN 1 通过:
port trunk allow-pass vlan 1
3.其次直接修改该端口的 link-type ;
注意:
在同一个 trunk 链路上前后使用的“ port trunk allow-pass vlan x "
命令是相互叠加的,不是相互覆盖的;
为了安全着想,在企业中,我们建议,仅仅在交换机之间的 Trunk 链路
上允许”企业中存在的那些 VLAN “。
GVRP : generic vlan register protocol , 通用 vlan 注册 协议;
该协议的作用,就是在不同的交换机之间,自动的同步 VLAN 信息的;
注意:
为了保证整个交换网络的互通,我们必须确保在网络中的所有交换机
拥有”完全相同的 VLAN 数据库“。
并且, GVRP 在华为设备上,默认是关闭的。该协议是”公有标准协议“。
【在思科上实现同样的功能的协议,叫做 VTP,这是思科私有的】
配置:
display gvrp status --> 查看当前交换机上的 GVRP 的运行状态;
1.在系统模式下开启 GVRP 功能:
[SW1] gvrp --->为整个设备开启 GVRP 功能;
2.在交换机之间的互联链路上开启 GVRP ,即在 Trunk 上开启;
[SW1]interface gi0/0/24
[SW1-gi0/0/24] gvrp ---> 在端口上开启 GVRP 功能, 从而该端口就可以正常的发送和接收 GVRP的报文
注意:
GVRP 命令,必须在 Trunk 链路配置。如果是其他类型的链路,该命令
无法输入;
通过 GVRP 学习过来的 VLAN ,称之为 “动态 VLAN ”。
但是在交换机上,无法将一个端口加入到“动态 VLAN ”。
所以,如果我们想使用从其他交换机上学习过来的 VLAN ,
我们就必须得在本地设备上创建一个对应的 VLAN ,即
通过这种方式,将“动态VLAN”变成“静态VLAN”,才可以。
原文地址:http://blog.51cto.com/8149087/2112432