`
angeo2010
  • 浏览: 18053 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

虚拟局域网(VLAN)

 
阅读更多

在一个纯交换式的互联网络中,通过创建虚拟局域网(VLAN)就可以分隔广播域。
VLAN是两个部分各逻辑组合:一是网络用户;二是管理上连接到交换机所定义端口的资源。
默认时,在一个VLAN中的所有主机都不能与另外一个VLAN中的任何主机进行通信,因此,如果想要在VLAN之间通信,那就还需要路由器。
用VLAN来简化网络管理的方式有多种:
1. 通过将某个端口配置到合适的VLAN中,就可以实现网络的添加、移动和改变。
2. 将对安全性要求高的一组用户放入VLAN中,这样,VLAN外部的用户就无法与他们通信。
3. 作为功能上的逻辑用户组,可以认为VLAN独立于他们的无理位置或地理位置。
4. VLAN可以增强网络安全性。
5. VLAN增加了广播域的数量,减小了广播域的范围。
广播控制
每种协议都回产生广播,但他们产生广播的频度取决于下面3项:
1. 协议的类型
2. 运行在互联网络上的应用程序
3. 怎样使用这些服务
安全性
平面网络的安全性问题通常是通过将集线器和交换机一起连接到路由器上来解决,因此,路由器的基本工作就是维护安全性。
由于连接到无理网络的任何人都可以访问位于物理LAN上的网络资源。只要简单的往集线器中插入一个网络分析器,任何人都可以观察到在网络上的任何通信流。用户只需将其工作站插入到现有集线器中,就可以加入某个工作组。因此,根本没有安全性可言。
灵活性和可扩展性
第二层交换机在过滤时只读取帧,他们并不察看网络层的协议,而默认时交换机转发所有的广播。如果创建并实现了VLAN,本质上就可以在第二层创建更小的广播域。
在一个VLAN上的节点所发送的广播,将不会被转发到配置在其他VLAN中的端口。
VLAN成员关系
VLAN通常是由管理员创建的,并由管理员将交换机端口分配到每个VLAN中,这种类型的VLAN称为静态VLAN。将主机设备的硬件地址都分配到一个数据库中,那么,无论什么时候主机插入到交换机中,交换机都可以配置为动态地分配VLAN,这种方式称为动态VLAN。
静态VLAN(Static VLAN)
在创建VLAN时,通常都是创建静态VLAN,静态VLAN也是最安全的。
动态VLAN(Dynamic VLAN)
动态VLAN能够自动决定一个节点的VLAN分配。通过使用智能化的管理软件,就可以启用MAC地址、协议甚至应用程序来创建动态VLAN。
VLAN的识别
当帧通过互联网络进行交换时,交换机必须能够跟踪所有不同类型的帧,而且还要知道怎样对他们进行操作,这取决于硬件地址。根据帧所穿越的链路类型的不同,对帧的处理方式也不同。
在交换式网络中,有两种不同类型的链路:
访问链路: 这种类型的链路只是某个VLAN的一部份,它被称为端口的本机访问。
中继链路: 中继线可以承载多个VLAN。

帧标志
可以将VLAN创建为跨越多台连接在一起的交换机。
VLAN的识别方法
VLAN的识别是指当帧正在穿越交换机结构时,交换机跟踪所有这些帧的方式,它指的是交换机怎样识别哪一个帧属于哪一个VLAN。
交换机间链路 在交换机端口、路由器接口和服务器接口卡上,可以使用ISL路由来中继到服务器。
IEEE 820.1Q 它是由IEEE创建的,作为帧标志的标准方法,它实际上是在帧中插入一个字段,以标识VLAN。

交换机间链路(Inter-Switch Link, ISL)协议
这是一种以太网帧上显示地标志VLAN信息的方法。
通过运行ISL,可以将多台交换机互联起来,并且当数据流在交换机之间的中继链路上传送时,仍然维持VLAN信息。
VLAN中继协议(VLAN Trunk Protocol,VTP)
VTP的基本目标是,跨交换是互联网络管理所有已经配置好的VLAN,并在那个网络上维护其一致性。
VTP提供的一些好处:
1. 在网络中所有的交换机上实现VLAN配置的一致性。
2. 允许VLAN在混合式网络上进行中继
3. VLAN的精确跟踪和监控
4. 将所添加的VLAN动态地报告给VTP域中的所有交换机
5. 添加VLAN时即插即用

VTP的操作模式
有三种不同的操作模式:
1. 服务器(Server) 在VTP域中,至少需要一台服务器,以便在整个域中传播VLAN信息。
2. 客户机(Client) 在客户机模式下,交换机从VTP服务器接收信息,他们也发送和接收更新,但他们不做任何改动。
3. 透明(Transparent) 在透明模式下,交换机不参与VTP域,但他们仍然将通过任何已经配置好的中继链路转发VTP通告。
VTP修剪
VTP提供了一种方式来保留带宽,就是通过配置它来减小广播、组播和其他单播包的数量,这种方式就成为修剪。
VLAN之间的路由
VLAN中的主机处在自己的广播域内,并且可以自由通信。VLAN在OSI模型的第二层创建网络分段,并分割数据流。如果想让主机或任何其他IP设备在VLAN之间通信,就绝对需要第三层设备。

配置VLAN
创建VLAN:
1900下,使用vlan [vlan#] name [name] [vlan#]命令, 如下:
>en
#config t
(config)#hostname 1900
1900(config)#vlan 2 name sales
1900(config)#vlan 3 name marketing
1900(config)#vlan 4 name mis
1900(config)#exit
验证,使用show vlan命令,记住在你没给VLAN分配端口之前,之前做的VLAN是不会起作用的.而且所有的端口默认是处在VLAN1的,VLAN1是管理VLAN.如下:
1900#sh vlan
VLAN Name Status Ports
----------------------------------------------------------------------------
1 default Enable 1-12, AUI, A, B
2 sales Enable
3 marketing Enable
(略)
在2950下创建VLAN,在特权模式下使用vlan database命令,创建命令和1900下的类似,注意结尾使用apply命令.如下:
2950#vlan database
2950(vlan)#vlan 2 name Marketing
VLAN 2 modified:
Name: Marketing
2950(vlan)#vlan 3 name Accounting
VLAN 3 added:
Name: Accounting
2950(vlan)#apply
APPLY complete
2950(vlan)#Ctrl+C
2950#
使用show vlan或者show vlan brief命令验证下:
2950#sh vlan brief
VLAN Name Status Ports
----------------------------------------------------------------------------
1 default active Fa0/1...Fa0/12
2 Marketing active
3 Accounting active
(略)

将交换机端口分配到VLAN中
创建了VLAN,接下来要做的就是给VLAN分配端口.1900下,使用vlan-membership命令1次只能分配1个,可以static或dynamic作为参数,如下:
1900(config)#int e0/2
1900(config-if)#vlan-membership static 2
1900(config)#int e0/4
1900(config-if)#vlan-membership static 3
1900(config)#int e0/5
1900(config-if)#vlan-membership static 4
1900(config-if)#exit
1900(config)#exit
1900#
验证,如下:
1900#sh vlan
VLAN Name Status Ports
----------------------------------------------------------------------------
1 default Enable 1-12, AUI, A, B
2 sales Enable 2
3 marketing Enable 4
(略)
2950下的配置,使用switchport access vlan [vlan#]命令,如下:
2950(config-if)#int f0/2
2950(config-if)#switchport access vlan 2
2950(config-if)#int f0/3
2950(config-if)#switchport access vlan 3
2950(config-if)#int f0/4
2950(config-if)#switchport access vlan 4
2950(config-if)#exit
2950(config)#exit
2950#
验证配置信息,如下:
2950#sh vlan brief
VLAN Name Status Ports
----------------------------------------------------------------------------
1 default active Fa0/1 Fa0/5...Fa0/12
2 Marketing active Fa0/2
3 Accounting active Fa0/3
(略)

配置中继端口

1900只使用动态ISL(DISL)封装方式,在快速以太网配置trunk,在接口配置模式下使用trunk [参数]的命令,如下,将26接口设置为trunk端口:
1900(config)#int f0/26
1900(config-if)#trunk ?
auto Set DISL state to AUTO
desirable Set DISL state to DESIRABLE
nonegotiate Set DISL state to NONEGOTIATE
off Set DISL state to OFF
on Set DISL state to ON 
1900(config-if)#trunk on
设置参数为on即接口将作为永久ISL的trunk端口,可以和和相连的设备协商,并且把连接转换成trunk link
2950下在接口配置模式,使用switchport命令,如下:
2950(config)#int f0/12
2950(config-if)#switchport mode trunk
2950(config-if)#^Z
2950#
验证配置信息:
2950#sh run
(略)
!
interface FastEthernet0/12
switchport mode trunk
no ip address
!

配置VLAN之间的路由
默认时,只是在同一个VLAN中的主机才能彼此通信。要实现VLAN之间的通信,就需要路由器或第三层交换机。
要在FastEthernet端口上支持ISL或802.1Q路由,路由器的接口就需要分成逻辑上的接口,每个VLAN都需要一个逻辑接口。这些接口称为子接口。
默认时不能在1900交换机和2950交换机之间提供中继,理解这一点是很重要的,因为1900交换机只支持ISL路由,而2950交换机只支持820.1Q路由,默认时这两种中继方法是不兼容的。
对于到1900 trunk端口(ISL)的连接,可使用如下命令:
2600#config t
2600(config)#int f0/0.1
2600(config-subif)#encapsulation isl vlan#
要实现到2950交换机(802.1Q)的路由器中继连接,可使用下列命令:
2600(config)#int f0/0.1
2600(config-subif)#encapsulation dot1q vlan#
要理解每个VLAN都是独立的子网,这一颠很重要。

配置VTP
所有的交换机,在默认时都配置为VTP服务器。要配置VTP,首先必须配置你想要使用的VTP域名。
在创建VTP域时,有一些选项,包括设置域名、口令、操作模式和交换机的修建功能。可使用VTP全局配置模式命令来设置所有这些信息。在下面的列兹中,我将交换机设置为VTP server,将VTP域名设置为Cisco,将VTP口令设置为12345:
1900(config)#vtp server
1900(config)#vtp domain Cisco
1900(config)#vtp password 12345
默认时所有的交换机都设置为VTP服务器模式,如果想在交换机上改动任何有关VLAN的信息,都必须在VTP服务器模式下进行。
在2950交换机上配置VTP,同样要首先配置想要使用的域名。同样,一旦在交换机上配置了VTP信息,就需要验证它。可使用VTP全局配置模式命令来设置这些信息。
例子中,把交换机设置为服务器模式,域名设置为SZ_Lab
Switch(config)#vtp mode server
Switch(config)#vtp domain SZ_Lab

配置示例互联网络中的交换
先配置2950C,如下
2950C(config)#enable secret noko
2950C(config)#line con 0
2950C(config-line)#login
2950C(config-line)#password noco
2950C(config-line)#line vty 0 15
2950C(config-line)#login
2950C(config-line)#password noco
2950C(config-line)#banner motd #
2950C
#
2950C(config-line)#exit
2950C(config)#int vlan1
2950C(config-if)#ip address 172.16.10.2 255.255.255.0
2950C(config-if)#no shut
2950C(config-if)#exit
2950C(config)#up default-gateway 172.16.10.1
2950C(config)#^Z
2950C#copy run start
配置2950B,如下:
2950B(config)#enable secret noko
2950B(config)#line con 0
2950B(config-line)#login
2950B(config-line)#password noco
2950B(config-line)#line vty 0 15
2950B(config-line)#login
2950B(config-line)#password noco
2950B(config-line)#banner motd #
2950B
#
2950B(config-line)#exit
2950B(config)#int vlan1
2950B(config-if)#ip address 172.16.10.3 255.255.255.0
2950B(config-if)#no shut
2950B(config-if)#exit
2950B(config)#up default-gateway 172.16.10.1
2950B(config)#^Z
2950B#copy run start
配置trunk,2950B如下:
2950B(config)#int f0/1
2950B(config-if)#switchport mode trunk
2950B(config-if)#int f0/4
2950B(config-if)#switchport mode trunk
2950B(config-if)#int f0/5
2950B(confgi-if)#switchport mode trunk
配置trunk,2950C如下:
2950C(config)#int f0/4
2950C(confgi-if)#switchport mode trunk
2950C(config-if)#int f0/5
2950C(config-if)#switchport mode trunk
验证trunk信息,使用show interface trunk命令.如下:
2950B#sh int trunk
Port Mode Encapsulation Status Native vlan
Fa0/1 on 802.1q trunking 1
Fa0/4 on 802.1q trunking 1
Fa0/5 on 802.1q trunking 1
(略)
之前我们已经对2950B和2950C做了基本配置和trunk端口的配置,接下来应该设置VTP和创建VLAN,并且进行验证.2950C如下:
2950C(config)#vtp mode server
2950C(config)#vtp domain Cisco
2950C(config)#^Z
2950C#vlan database 
2950C(vlan)#vlan 2 name sales
2950C(vlan)#vlan 3 name marketing
2950C(vlan)#apply
2950C(vlan)#^C
2950C#sh vlan brief
(略)
接下来分配端口,把Fa0/2分配给VLAN2,Fa0/3分配给VLAN3,默认所有的端口都处在VLAN1下,配置如下:
2950C(config)#int fa0/2
2950C(config-if)#switchport access vlan2
2950C(config)#int fa0/3
2950C(config-if)#switchport access vlan3
验证信息,注意VLAN1里的Ports栏,如下:
2950C#sh vlan brief
VLAN Name Status Ports
----------------------------------------------------------------------------
1 default active Fa0/1 Fa0/5...Fa0/10
2 sales active Fa0/2
3 marketing active Fa0/3
配置2950B,把它设置成客户模式,2950B从2950C接收VLAN信息,如下:
2950B(config)#vtp mode client
2950B(config)#vtp domain Cisco
2950B(config)#^Z
验证,注意2950B已经从2950C知道了VLAN的信息,如下:
2950B#sh vlan brief
VLAN Name Status Ports
----------------------------------------------------------------------------
1 default active Fa0/1...Fa0/12
2 sales active 
3 marketing active 
但是仍然要给2950B分配端口,如下:
2950B(config)#int fa0/2
2950B(config-if)#switchport access vlan2
2950B(config)#int fa0/3
2950B(config-if)#switchport access vlan3
验证信息,如下:
VLAN Name Status Ports
----------------------------------------------------------------------------
1 default active Fa0/1 Fa0/5...Fa0/12
2 sales active Fa0/2
3 marketing active Fa0/3
到现在,2950C和2950B的配置就算是完成了,经过验证,我们也没发现什么问题,接下来该配置什么呢?当然是配置VLAN间的通信,根据上面的拓扑图,可以知道需要在RouterB上进行配置,如下:
RouterB(config)#hostname Trunkrouter
Trunkrouter(config)#int f0/0
Trunkrouter(config-if)#no ip address
Trunkrouter(config-if)#no shut
创建子接口,并定义封装类型,如下:
Trunkrouter(config-if)#int f0/0.1
Trunkrouter(config-subif)#encapsulation dot1q 1
Trunkrouter(config-subif)#ip address 172.16.10.1 255.255.255.0
Trunkrouter(config-if)#int f0/0.2
Trunkrouter(config-subif)#encapsulation dot1q 2
Trunkrouter(config-subif)#ip address 172.16.20.1 255.255.255.0
Trunkrouter(config-if)#int f0/0.3
Trunkrouter(config-subif)#encapsulation dot1q 3
Trunkrouter(config-subif)#ip address 172.16.30.1 255.255.255.0
Trunkrouter(config-if)#exit
创建子接口,每个接口对应1个VLAN.注意,如果你试图在第一个子接口分配IP地址,将收到错误信息,除非你先定义了封装类型,如下:
Trunkrouter(config-if)#int f0/0.1
Trunkrouter(config-subif)#ip address 172.16.10.1 255.255.255.0
Configuring IP routing on a LAN subinterface is only allowed if that subinterface is already configured as part of an IEEE 802.10, IEEE 802.1Q, or ISL VLAN.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics