【IT168 专稿】交换技术是网络技术的重点,我们网络频道已经为读者进行了多次报道。因为其重要,故我们再次进行系统的整理,以供初学者参阅。
交换技术应用连载:交换技术的重要性
交换技术应用连载:构建MAC地址表
交换技术应用连载:广播风暴问题解决
交换技术应用连载:802.1W生成树
交换技术应用连载:虚拟局域网技术
虚拟局域网(VLAN-Virtual LAN)是当前普遍采用的构建园区网的技术。以交换机为主要连网设备的传统局域网组网方式是基于物理网络布局搭建网络平台的,例如与同一台交换机相连的用户主机构成一个小型LAN。而虚拟局域网是逻辑搭建网络的一种方式,可以把同一台交换机上的用户划分在不同的VLAN中,逻辑上来看它们如同连接在几台互不相连的交换机上一样。也可以把位于不同交换机上的用户主机划分在同一个VLAN中,从逻辑上看如同与一台物理交换机相接一样。图11-18是VLAN的概念图。
图 11-18 VLAN样例 (图中ip地址后加 /24, 如192.168.1.0/24)
如何理解VLAN
可以从下面这些特点来理解VLAN:
VLAN有利于提高网络性能。交换式以太网虽然解决了碰撞问题,但广播问题仍然没有解决,交换机互连的网络是一个广播域,广播依然影响着网络的性能。通过划分VLAN可以分割广播域,因为一个VLAN构成一个独立的广播域。
提高网络管理的灵活性。管理员可以把位于不同交换机的用户或位于不同地理位置的用户划归在一个VLAN内,它们的通信不会影响其他用户。
提高网络的安全性。划分VLAN后,即便是连接在同一台交换机上的主机,它们也有可能不能通信,因为它们属于不同的VLAN。
一个VLAN独立构成逻辑子网。属于不同VLAN的主机,它们的逻辑地址(IP地址)也应处于不同的网络上。
VLAN工作在数据链路层。在没有VLAN技术之前,使用三层设备隔离广播,有了VLAN技术后,广播可以在二层被隔离,提高了网络运行效率,节约了资源。
VLAN之间的通信需要借助于路由设备,通过在路由器上实施访问控制规则,从而限制进入或离开VLAN的数据流,这进一步增强了VLAN的安全性。
VLAN类型介绍
根据VLAN的使用和管理不同,可以把VLAN分为两种:静态VLAN和动态VLAN。
(1)静态VLAN:静态VLAN也称为基于端口的VLAN,因为用户的主机属于哪个VLAN是根据交换机的端口属于哪个VLAN而定的。网络管理员首先把交换机端口分配到不同的VLAN内,根据规划把用户的主机与相应的端口相连,这样就把用户分配到了对应VLAN内。本书主要讨论静态VLAN的配置。
(2)动态VLAN:动态VLAN的实现方法有多种,目前最普遍的实现方法是基于MAC地址的动态VLAN。
基于MAC地址的动态VLAN需要一台VMPS(VLAN Membership Policy Server),VMPS可以是一台具有该功能的交换机(如Catalyst 6500交换机)或是一台外部服务器。VMPS中维护着一个MAC地址与VLAN的对应关系表。另外,需要把交换机的端口设置为支持动态VLAN属性的端口。当交换机的一个支持动态VLAN端口接收到一个数据帧时,通过使用该数据帧的源MAC地址查询VMPS,从而建立起端口与VLAN的对应关系。
一个动态的端口在某一时刻只能属于一个VLAN, 属于同一VLAN的多个主机可以连接在交换机的同一个端口上。
VLAN标签
由于VLAN可以跨越多台交换机,所以必须解决两个问题,一个是物理通道的问题,一个是区分不同VLAN数据的问题。
物理通道的问题好解决,只需把各个交换机连起来即可。区分不同VLAN数据的问题少许麻烦些,一种方法是在各个交换机上为每一个VLAN建立一个独立的物理通道(如图11-19所示),但是这样非常浪费端口。另一种方法是所有VLAN使用一个物理通道,但对来自不同VLAN的数据进行标记,用于区分它们。这样以来,这条通道上就承载着多个VLAN的数据,这样的链路称为trunk(干道),如图11-20所示。
图 11-19 为每个VLAN建立专用物理通道
图 11-20 trunk链路
Trunk链路是通过在交换机上设置trunk端口(100Mbit/s以上)并把它们连起来实现的。为了区分trunk上的不同VLAN的数据,使用了一种称为标记(tag)的技术,如同对不同VLAN的数据打上不同的标签一样。
以太网标记协议有两种,分别是CISCO的ISL(inter-switch link)和IEEE802.1Q。
1. ISL
ISL是思科公司专有的用来在trunk链路上标记不同VLAN数据流的一种数据链路层协议。通过在trunk链路上配置ISL使得来自不同VLAN的数据流能够复用该链路。ISL工作在第二层,通过重新封装以太数据帧获得独立于协议的能力。
ISL在每个原始以太数据帧头附加一个26字节的ISL帧头(如图11-21所示),同时为新的数据帧产生一个四字节的CRC附加在帧的末尾(这样整个帧中有两个CRC,一个是原始以太帧中的CRC,将来被接收主机使用。一个是新计算的CRC,供交换机使用)。在26字节的头部包含有一个15比特长的VLAN ID字段,该字段中的值就是被封装数据所属的VLAN号。这样,交换机就能识别属于不同VLAN的数据流。但这样的帧结构对于主机(网卡)是不识别的,所以当交换机把数据转发给主机之前需要把ISL封装剥去。
图 11-21 ISL帧格式
2. IEEE802.1Q
不同于ISL的是IEEE802.1Q使用内部标记技术,在原数据帧的中间插入4个字节的数据,其中有12比特用作表示VLAN ID,然后重新计算一个新的CRC写入原CRC的位置(如图11-22所示)。
图 11-22 802.1Q帧格式
使用标记技术后,来自不同VLAN的数据它的VLAN ID号不同,虽然在trunk链路上被共同传输也不会造成混淆。由于增加了4个字节,当前的数据帧的最大长度为1522字节,使得其他的以太网设备(如PC机)不能够识别这种数据帧,所以当交换机把数据转发给最终主机时还需要把这4个字节剥去,恢复原来主机能够识别的帧结构。