【该系列转载自: [url]http://tlgzs.spaces.live.com/blog/[/url]】
在一个纯交换式的互联网络中,通过创建虚拟局域网(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. |