敬业的IT人 >> 考试认证 >> Cisco认证 >> CCNA中文笔记4-Virtual LANs(VLANs)

CCNA中文笔记4-Virtual LANs(VLANs)

敬业的IT人 互联网 佚名 2008-1-8 20:16:45

 

Chapter7 Virtual LANs(VLANs)
VLAN Basics

如何在1个交换性的网络里,分割广播域呢?答案是创建VLAN.VLAN是连接到定义好了的switch的端口的网络用户和资源的逻辑分组.给不同的子网分配不同的端口,就可以创建更小的广播域.默认情况下,在某个VLAN中的主机是不可以与其他VLAN通信的,除非你使用router来创建VLAN间的通信

VLAN的一些特点:
1.网络的增加,移动和改变,只需要在适当的VLAN中配置合适的端口
2.安全,因为不同VLAN的用户不能互相通信,除非依靠router来做VLAN间的通信
3.因为VLAN可以被认为是按功能划分的逻辑分组,所以VLAN和物理位置,地理位置无关
4.VLAN增加安全性
5.VLAN增加广播域的数量,而减小广播域的大小

Broadcast Control

每种协议都会有广播的现象发生,至于发生不频率,次数,一般由以下几点决定:
1.协议类型
2.在网络上运行的应用程序
3.这些服务如何的被使用

Security

安全性是VLAN的1大特点,不同VLAN的用户不能互相通信,除非依靠router来做VLAN间的通信

Flexibility and Scalability

VLAN的灵活性和可扩展性:
1.可以不管物理位置如何,把适当的端口分配到适当的 VLAN中就可以了.可以把VLAN理解成下面的样子,如图:
http://bbs.**********.com/UploadFil...91446370092.jpg
2.当VLAN增加的太大以后,你可以划分更多的VLAN,来减少广播消耗掉更多带宽的影响,在VLAN中的用户越少,被广播影响的就越少
来比较下下面2个图,明显可以发现,图2,即VLAN的具有更高的灵活性和可扩展性,如下:
http://bbs.**********.com/UploadFil...91521144367.jpg
http://bbs.**********.com/UploadFil...15132887548.jpg

VLAN Memberships

手动由管理员分配端口划分的VLAN叫静态VLAN(static VLAN);使用智能管理软件,动态划分VLAN的叫动态VLAN(dynamic VLAN)

Static VLANs

静态VLAN:静态VLAN安全性较高,手动划分端口给VLAN,和设备的物理位置没什么关系.而且,每个VLAN中的主机必须拥有正确的IP地址信息,如VLAN2配置为172.16.20.0/24

Dynamic VLANs

动态VLAN:使用智能管理软件,可以基于MAC地址,协议,甚至应用程序来动态创建VLAN.Cisco设备管理员可以使用VLAN管理策略服务器(VLAN Management Policy Server,VMPS)的服务来建立个MAC地址数据库,来根据这个动态创建VLAN,VMPS数据库把MAC地址映射VLAN上

Identifying VLANs

当帧在网络中被交换,switches根据类型对其跟踪,加上根据硬件地址来判断如何对它们进行操作.有1点要记住的是:在不同类型的连接中,帧被处理的方式也不一样

交换环境中的2种连接类型:
1.access links:指的是只属于一个VLAN,且仅向该VLAN转发数据帧的端口,也叫做native VLAN.switches把帧发送到access-link设备之前,移去任何的VLAN信息.而且access-link设备不能与VLAN外通信,除非数据包被路由
2.trunk links:指的是能够转发多个不同VLAN的通信的端口.trunk link必须使用100Mbps以上的端口来进行点对点连接,1次最多可以携带1005个VLAN信息.trunk link使你的单独的1个端口同时成为数个VLAN的端口,这样可以不需要层3设备.当你在switches之间使用了trunk link,多个VLAN的信息将从这个连接上通过;如果在你switches之间没有使用trunk link而使用一般的连接,那么只有VLAN1的信息通过这个连接被互相传递.VLAN1默认作为管理VLAN

Frame Tagging

frame tagging:帧的鉴别方法.当帧到达每个switch,首先先检查VLAN ID,然后决定如何对帧进行处理.当帧到达和VLAN ID所匹配的access link的时候,switch移去VLAN标识符

VLAN Identification Method

VLAN标识符:在交换机的trunk link上,可以通过对数据帧附加VLAN信息,构建跨越多台交换机的VLAN.附加VLAN信息的方法,最具有代表性的有:
1.Inter-Switch Link(ISL):属于Cisco私有,只能在快速和千兆以太网连接中使用,ISL路由可以使用在switch的断端口,router的接口和服务器接口卡等
2.IEEE 802.1Q:俗称dot 1 Q.由IEEE创建,所以在Cisco和非Cisco设备之间,就不能使用ISL必须使用802.1Q.802.1Q所附加的VLAN识别信息,位于数据帧中的源MAC地址与类型字段之间.基于IEEE802.1Q附加的VLAN信息,就像在传递物品时附加的标签
当然ISL和802.1Q的主要目的是提供VLAN间通信

Inter-Switch Link(ISL) Protocol

ISL:ISL运作在层2,I

SL是1种外部标签处理过程,所以原始的数据帧不被改变,ISL在数据帧头部加上26字节长的ISL头部信息,在数据帧尾部加上4字节的FCS字段进行CRC运算,所以只有支持ISL的设备才能对它进行读取,最大程度1522字节.当帧被传送到access link时,ISL封装信息将被移去

使用trunk link在多个VLAN中行走,比使用router连接的好处是:减少延时间

VLAN Trunking Protocol(VTP)

VTP也是Cisco创建的,但是现在已经不为Cisco所私有.VTP的主要目的是在1个交换性的环境中管理所有配置好的VLAN使所有的VLAN保持一致性VTP允许增加,删除和重命名VLAN,然后这些修改后的信息传播到整个VTP域里的所有switches上

VTP的一些优点:
1.保持VLAN信息的连续性
2.精确跟踪和监视VLAN
3.动态报告增加了的VLAN信息给VTP域中所有switch
4.可以使用即插即用(plug-and-play)的方法增加VLAN
5.可以在混合型网络中进行trunk link,比如以太网到ATM LANE,FDDI等

在你使用VTP管理VLAN之前,必须先创建个VTP服务器(VTP server),所有要共享VLAN信息的服务器必须使用相同的域名.而且,假如你把某个switch和其他的switch配置在1个VTP域里,这个switch就只能和这个VTP域里的switch共享VLAN信息.其实,如果你只有1个VLAN,就不需要使用VTP了.VTP信息通过trunk端口进行发送和接收.可以给VTP配置密码,但是要记住的是,所有的switch必须配置相同的密码

switch通告VTP管理域信息,加上版本号和已知VLAN配置参数信息.还有种叫做透明VTP模式(transparent VTP mode),在这种模式里,你可以给switch配置成通过trunk端口转发VTP信息,但是不接受VTP更新信息来更新它自己的VTP数据库

switch通过VTP通告检测到增加的VLAN,然后把新增加的VLAN和已有的联结在一起共享信息.新的更新信息在之前的版本号上加1

VTP Modes of Operation

在VTP域里操作的3种模式:
1.服务器模式(server mode):所有Catalyst switches的默认设置,1个VTP域里必须至少要有1个服务器用来传播VLAN信息,对VTP信息的改变必须在服务器模式下操作.配置保存在NVRAM里
2.客户机模式(client mode):在这种模式下,switches从VTP服务器接受信息,而且它们也发送和接收更新,但是它们不能做任何改变.在VTP服务器通知客户switches说增加了新的VLAN之前,你不能在客户switch的端口上增加新的VLAN.配置不保存在NVRAM里
3.透明模式(transparent mode):该模式下的switch不能增加和删除VLAN,因为它们保持的有自己的数据库,不和其他的共享.配置保存在NVRAM里

VTP Pruning

VTP pruning:减少广播,组播,单播,保留带宽.VTP pruning只在trunk link上发送广播.默认情况,VTP pruning在所有的switches上是没有启用的.当你在VTP服务器上启用了VTP pruning,整个VTP域就启用了VTP pruning,默认只能在VLAN2到VLAN1005,VLAN1是管理VLAN

Routing between VLANs

可以使用支持ISL路由的router来连接VLAN,支持ISL路由的最低型号是2600系列,1600,1700和2500系列都不支持.如下图,就是router和每个VLAN之间的关联,每个router的接口都插入1个access link,这个同时也说明了router的每个接口的IP地址都是每个VLAN的默认网关:
http://bbs.**********.com/UploadFil...21029547866.jpg
假如你有太多的VLAN,数量超过了router接口数量,明显上面的方法就不适用了.你可以使用Cisco的3层switch Cisco3550,或者使用router的快速以太网接口来做ISL或者802.1Q的 trunk link,这样的方法叫做单臂路由(router>1  


http://bbs.**********.com/UploadFil...10292693009.jpg

Configuring VLANs

创建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
(略)

Assigning Switch Ports to VLANs

创建了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
(略)

Configuring Trunk Ports

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>main name
password Set VTP password
pruning VTP pruning
server VTP server
transparent VTP transparent
trap VTP trap
1900(config)#vtp server
1900(config)#vtp domain noco
1900(config)#vtp password noko
在特权模式下使用show vtp命令验证,如下:
1900#sh vtp
VTP version: 1
Configuration revision: 0
Maximum VLANs supported locally: 1005
Number of existing VLANs: 5
VTP domain name: noco
VTP password: noko
VTP operating mode: Server
(略)
2950如下:
2950(config)#vtp mode server
2950(config)#vtp domain noco
验证信息,如下:
2950#sh vtp ?
counters VTP statistics
status VTP domain status
2950#sh vtp status
(略)

Configuring Switching in Our Sample Internetwork

配置实例:
http://bbs.**********.com/UploadFil...11454766958.jpg
先配置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>1  


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,默认所有的端口都处在V

LAN1下,配置如下:
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>1  

粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com