380 likes | 624 Views
虚拟局域网 VLAN. 为什么使用 VLAN. 连接到第 2 层交换机的主机和服务器处于同一网段。会带来两个严重的问题: 交换机会向所有端口泛洪广播。 连接到交换机的每台设备都能够与该交换机上的所有其他设备转发和接收帧。. 1 虚拟局域网的定义. 定义 是一种逻辑广播域; 可以跨越多个物理网段。 举例. 2 划分 VLAN 的好处. 减少了由移动、新增和变更所引起的管理成本 提供控制广播活动的功能 支持工作组并提供了网络安全性 通过利用现有得集线器以节省开支. 3 VLAN 划分方法. 基于端口划分
E N D
为什么使用VLAN • 连接到第2层交换机的主机和服务器处于同一网段。会带来两个严重的问题: • 交换机会向所有端口泛洪广播。 • 连接到交换机的每台设备都能够与该交换机上的所有其他设备转发和接收帧。
1 虚拟局域网的定义 • 定义 • 是一种逻辑广播域; • 可以跨越多个物理网段。 • 举例
2 划分VLAN的好处 • 减少了由移动、新增和变更所引起的管理成本 • 提供控制广播活动的功能 • 支持工作组并提供了网络安全性 • 通过利用现有得集线器以节省开支
3 VLAN划分方法 • 基于端口划分 • 手动将每个交换机端口指定给特定的VLAN。 • 优点: • 定义VLAN成员时非常简单,只要将所有的端口都指定义一下就可以了。 • 缺点: • 如果VLAN A的用户离开了原来的端口,到了一个新的交换机的某个端口,那么就必须重新定义。
基于MAC地址 • 根据每个主机的MAC地址来划分,即对每个MAC地址的主机都配置他属于哪个组。 • 优点: • 当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,所以,可以认为这种根据MAC地址的划分方法是基于用户的VLAN。 • 缺点: • 初始化时,所有的用户都必须进行配置,如果有几百个甚至上千个用户的话,配置是非常累的。而且这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,这样就无法限制广播包了。另外,对于使用笔记本电脑的用户来说,他们的网卡可能经常更换,这样,VLAN就必须不停的配置。
基于网络层划分VLAN • 根据每个主机的网络层地址或协议类型(如果支持多协议)划分的。 • 优点: • 用户的物理位置改变了,不需要重新配置所属的VLAN,而且可以根据协议类型来划分VLAN,这对网络管理者来说很重要,还有,这种方法不需要附加的帧标签来识别VLAN,这样可以减少网络的通信量。 • 缺点: • 效率低(相对于前面两种方法,检查每一个数据包的网络层地址是需要消耗处理时间的),一般的交换机芯片都可以自动检查网络上数据包的以太网帧头,但要让芯片能检查IP帧头,需要更高的技术,同时也更费时。
基于IP组播的vlan • IP 组播实际上也是一种VLAN的定义,即认为一个IP组播组就是一个VLAN,这种划分的方法是动态地把需要同时通信得端口通过使用基于IP的D类地址定义到同一个vlan中,并用广播的方法解决点对多点的通信。该方法将VLAN扩大到了广域网,因此这种方法具有更大的灵活性,而且也很容易通过路由器进行扩展,当然这种方法不适合局域网,主要是效率不高。
4.配置VLAN • 无论VLAN采用何种方法创建,VLAN的最大数量取决于IOS的类型。 • 默认情况下,Vlan1是管理Vlan。管理员可以为其配置IP地址来远程管理交换机。所有的端口默认均处于Vlan中。 • 为了易于管理vlan,最好为vlan命名。
创建vlan和命名的命令: • c3640#vlan database • c3640(vlan)#vlan <vlan-number> [name <name>] • 举例: • c3640(vlan)#vlan 2 name teacher
将某个端口指定给vlan • Switch(config)#interface <接口类型> <接口号> • Switch(config-if)#switchport access vlan <vlan_number> • 将某组端口指定给vlan • Switch(config)#interface range <接口类型> <接口号范围> • Switch(config-if)#switchport access vlan <vlan_number>
举例:在交换机上创建teacher vlan ,并指定端口fa1/0给teacher vlan,指定其余端口给student vlan。 • c3640(vlan)#vlan 2 name teacher • c3640(config)#int f 1/0 • c3640(config-if)#switchport access vlan 2 • c3640(vlan)# vlan 3 name student • c3640(config)#int f 1/1- 12 • c3640(config-if)#switchport access vlan 3 • c3640(config-if)#end
检验、维护和排查Vlan故障 • c3640#show vlan-switch VLAN Name Status Ports • ---- -------------------------------- --------- ------------------------------- • 1 default active Fa1/13, Fa1/14, Fa1/15 • 2 teacher active Fa1/0 • 3 student active Fa1/1, Fa1/2, Fa1/3, Fa1/4 • Fa1/5, Fa1/6, Fa1/7, Fa1/8 • Fa1/9, Fa1/10, Fa1/11, Fa1/12 • 1002 fddi-default active • 1003 token-ring-default active • 1004 fddinet-default active • 1005 trnet-default active • VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2 • ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------ • 1 enet 100001 1500 - - - - - 1002 1003 • 2 enet 100002 1500 - - - - - 0 0 • 3 enet 100003 1500 - - - - - 0 0 • 1002 fddi 101002 1500 - - - - - 1 1003 • 1003 tr 101003 1500 1005 0 - - srb 1 1002 • 1004 fdnet 101004 1500 - - 1 ibm - 0 0 • 1005 trnet 101005 1500 - - 1 ibm - 0 0
显示vlan的摘要信息 c3640#show vlan-swit brief VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Fa1/13, Fa1/14, Fa1/15 2 teacher active Fa1/0 3 student active Fa1/1, Fa1/2, Fa1/3, Fa1/4 Fa1/5, Fa1/6, Fa1/7, Fa1/8 Fa1/9, Fa1/10, Fa1/11, Fa1/12 1002 fddi-default active 1003 token-ring-default active 1004 fddinet-default active 1005 trnet-default active
显示单个vlan的信息 • c3640#show vlan-switch id 2 • 或 • c3640#show vlan-switch name teacher
删除vlan • c3640#vlan database • c3640(vlan)#no vlan 1 • 取消端口与特定vlan的关联 • c3640(config)#inter fa 1/0 • c3640(config-if)#no switchport access vlan 2
提示 • 交换机中的 VLAN 信息存放在单独的文件中 flash:vlan.dat,因此如果要完全清除交换机的配置,除了使用“erase starting-config”命令外,还要使用“delete flash:vlan.dat”命令把VLAN 数据删除。 • 新的 IOS 版本中,可以在全局配置模式中创建 VLAN。 • 默认时,所有交换机接口都在 VLAN 1 上,VLAN 1 是不能删除的。如果有多个接口需要划分到同一 VLAN 下,也可以采用range以节约时间,注意破折号前后的空格。 • 如果要删除VLAN,使用 “no vlan 2”命令即可。删除某一VLAN后,要记得把该VLAN上的端口重新划分到别的VLAN上,否则将导致端口的“消失” 。
5. 标识vlan • 帧标记 • 常用帧标记标准: • IEEE 802.1Q。也可所写为DOT1Q,该标准在以太网帧中插入一个4字节的标记字段。
5. 中继和VLAN间的路由 • 交换机端口角色 • 接入端口:仅属于一个vlan。通常pc或服务器之类的单台设备连接此类端口。 • 中继端口:是交换机和其他网络设备点到点的链路。中继通过一条链路传输多个vlan的流量,vlan可通过中继跨越整个网络。当在同一链路上传输多个vlan流量时,需要标识他们所属的vlan。 • 帧标记协议:802.1q和交换机间链路ISL • 目前,catalyst6500系列之类的高端交换机支持上述两种协议,不过大多数LAN交换机仅支持802.1Q。
将交换机配置为中继接口 • c3640(config)#interface fastEthernet 1/0 • c3640(config-if)#switchport mode trunk • c3640(config-if)#switchport trunk encapsulation {dot1q |ISL|negotiate} /*只有在交换机同时支持802.1q和ISL时使用/ • Negotiate为交换机上的默认模式,此参数可自动检测邻居交换机的封装类型
打开自动检测配置 • Switch(config-if)#switchport mode dynamic {desirable|auto} • desirable:如果另一端设置为trunk、desirable或auto,则该端口即为中继端口; • auto:如果另一端设置为trunk或desirable,则该端口为中继模式。 • 从中继模式返回接入模式 • Switch(config-if)#no switchport mode trunk • 或 • Switch(config-if)# switchport mode access
配置本征vlan • 本征vlan:在802.1q中继端口处接收到的无标记帧将成为本征vlan成员。在cisco catalyst交换机上,vlan1默认为本征vlan。 • 任何vlan均可配置成本征vlan,但要确保802.1q中继两端的本征vlan相同,如果不同,可能导致环路。 • 配置方法: • Switch(config-if)#switchport trunk native vlan <vlan-id>
6. Vlan间的路由 • 方法(分别画图说明) • 每个vlan通过单独的接口连接到第三层设备。 • 连通不同vlan需要一种成为子接口的功能。子接口从逻辑上将一个物理接口划分成多条逻辑路径。将一条路径或子接口分配给一个vlan。 • 具体步骤:将交换机接口配置为802.1q中继链路。在路由器上选择一个速度至少为100Mbps的快速以太网接口,配置支持802.1q封装的子接口。为每一个vlan分配一个子接口。子接口使得每个vlan拥有自己的逻辑路径和到路由器的默认网关。 • 过程:发送方vlan中的主机使用默认网关将流量转发到路由器。路由器找到目的IP地址并查找路由表。如果目的主机和源主机在同一台交换机上,则路由器使用目的vlan id的子接口参数将流量转发回源主机。这种配置通常称单臂路由器。如果路由器的送出接口与802.1q兼容,帧继续保留其vlan标记。否则,路由器删除帧标记,恢复为原始的以太网帧。
配置举例 • 步骤1:在交换机上配置一个中继接口 • c3640(config)#interface fastEthernet 1/1 • c3640(config-if)#switchport mode trunk • 步骤2:在路由器上配置一个不带IP地址或子网掩码的快速以太网接口。(*) • router(config)#interface fastEthernet 0/1 • router(config-if)#no ip address • router(config-if)#no shutdown • 步骤3:在路由器上,为每个vlan配置一个带IP地址和子网掩码的子接口。每个子接口都有802.1q封装。 • router(config)#interface fastEthernet 0/0.1 • router(config-subif)#encapsulation dot1q 1 • router(config-subif)#ip address 192.168.10.1 255.255.255. • 步骤4:使用以下命令检验vlan间路由的配置情况和运行情况 • show trunk;show ip interface ; show ip interface brief; show ip route
7 维护企业网络中的VLAN • Vlan中继协议(VTP) • Vtp是第二层消息协议,它提供了一种从网段内的中央服务器对vlan数据库进行分布和管理的方法。路由器不会转发VTP更新。VTP可确保网络中的vlan配置得到一致性维护,并能减少vlan管理和监控方面的工作量。 • VTP是一种客户端/服务器消息协议,主要用于管理在同一个域的网络范围内VLANs的建立、删除和重命名。在一台VTP Server 上配置一个新的VLAN时,该VLAN的配置信息将自动传播到本域内的其他所有交换机。这些交换机会自动地接收这些配置信息,使其VLAN的配置与VTP Server保持一致,从而减少在多台设备上配置同一个VLAN信息的工作量,而且保持了VLAN配置的统一性。 • 每个域都有其唯一的名称。 • VTP仅与同域中的交换机共享VTP信息。 • VTP有两个版本:版本1和版本2。第一版为默认版本,与第二版不兼容。所有交换机必须使用相同版本的协议。
7.1 VTP模式 • VTP模式有3种 : • 服务器模式(Server) • 客户机模式(Client) • 透明模式(Transparent)
服务器模式(Server) • 提供VTP消息:包括VLAN ID和名字信息 • 学习相同域名的VTP消息 • 转发相同域名的VTP消息 • 可以添加、删除和更改VLAN VLAN信息写入NVRAM • 该模式为交换机的缺省模式 • 建议网络中至少将两台交换机配置为服务器,以便提供备份和冗余功能。
客户机模式(Client) • 请求VTP消息 • 学习相同域名的VTP消息 • 转发相同域名的VTP消息 • 不可以添加、删除和更改VLAN VLAN信息不会写入NVRAM
透明模式(Transparent) • 不提供VTP消息 • 不学习VTP消息 • 转发VTP消息 • 可以添加、删除和更改VLAN,只在本地有效 VLAN信息写入NVRAM
7.2 VTP修订版号 • 加入到VTP域中的每台交换机,都会在它的中继端口上,向本管理域中的其他交换机通告它的LVAN、VTP版本号和VLAN参数。VTP的通告以组播帧的方式发送出去,域内其他交换机接收这些帧,对这些信息进行处理。这样,管理域中的每个交换机都可以了解到VLAN配置的最新变化情况。 • 值得注意的是,当一个新交换机配置了VTP的域和服务器模式后,交换机每隔300秒,或者,每当VLAN结构发生变化时,就会通告一次。同时,监听域中其他交换机发来的VTP通告,当收到的VTP的配置修改版号比交换机自己所存储的修订版号大时,这个通告里的VLAN信息将覆盖掉已存储的任何VLAN信息。 VTP修订号存储在NVRAM中,交换机的电源开关不会改变这个设定值。所以,将新的交换机添加到域中,一定要保证该交换机的修订号已经为0。
修改修订版号为0的方法: • 将交换机的VTP模式变到透明模式,然后再变回服务器或客户端模式。 • 将交换机的VTP域修改为一个其他的域名(一个不存在的域),然后再回到原来的域名。 • 使用erase startup-config 或者 erase nvram命令,清除交换机的配置和VTP信息。再次启动交换机电源后,交换机将以一个并不存在的域名和一个为0的修订号启动。
注意: • 向网络中添加新交换机时,如果网络中已经存在有服务模式的交换机,要确保交换机配置为客户端模式或透明模式。 • 或者采用为vtp配置口令的方法避免出现严重的错误。
7.3 vtp修剪 • VTP修剪(pruning)是vtp的一个功能,它能减少中继端口不必要的信息量。
VTP修剪配置 • 缺少情况下,发给某个VLAN的广播会送到每一个在中继上承载该VLAN的交换机。即使交换机上没有位于那个VLAN的端口也是如此。VTP能过滤修剪没有必要扩散的VTP流量,提高中继的带宽利用率。仅当中继链路接收端上的交换机在那个VLAN中有端口时,才会将该VLAN的广播和未知单播转发到该中继链路上。 • c3640#vlan database • c3640(vlan)# vtp pruning
7.4 配置VTP • 当向现有vtp域添加交换机时,配置步骤: • 步骤一:离线配置vtp • c3640(vlan)#vtp domain vtp-server • c3640(vlan)#vtp password cisco • c3640#copy running-config startup-config • 步骤二:使用命令检验vtp配置 • Show vtp status • Show vtp counters • 步骤三:重新启动交换机reload