2.2 虚拟网技术

随着网络内计算机数量的增多,广播包的数量也会急剧增加。当广播包的数量占到通信总量的30%时,网络的传输效率将会明显下降。所以,当局域网内的计算机达到一定数量后(通常限制在200台以内),通常采用划分虚拟网(Virtual Local Area Network,VLAN)的方式将网络分隔开来,将一个大的广播域划分为若干个小的广播域,以减小广播可能造成的损害,子网之间进行通信也必须通过路由设备。

2.2.1 虚拟网的意义和作用

在局域网络中使用VLAN技术,具有以下重要意义和作用。

● 降低移动和变更的管理成本。VLAN中的成员与其物理位置无关,既可连接至同一台交换机,也可连接至不同交换机。当需要把一台计算机从一个子网转移到另一个子网时,迁移工作将只是由网络管理员在作为网络管理的计算机上重新定义一下VLAN成员即可。

● 控制广播。由于所有的广播都只在本VLAN内进行,而不再扩散到其他VLAN上,所以将大大减少广播对网络带宽的占用,提高带宽传输效率,并可有效地避免广播风暴的产生。

● 增强安全性。VLAN的一个就是提高了网络安全性。由于交换机只能在同一VLAN内的端口之间交换数据,不同VLAN的端口不能直接相互访问。因此通过划分VLAN,就可以在物理上防止某些非授权用户访问敏感数据。

● 网络监督和管理的自动化。由于网络管理员可以通过网管软件,查到VLAN间和VLAN内通信的数据报的细目分类信息,以及应用数据报的细目分类信息,而这些信息对于确定路由系统,和经常遭到访问的服务器的最佳配置十分有用。通过划分VLAN,这可以使网络管理变得更简单、更轻松、更有效。

VTP(VLAN Trunking Protocol)是一种消息协议,用于在VTP域内同步VLAN信息(VLANs的添加、删除和重命名),而不必在每个交换机上配置相同的VLAN信息,从而实现VLAN配置的一致性。使用VTP,可以在一个或多个交换机上建立配置修改中心,并自动完成与网络中其他所有交换机的通信,可以有效地减少交换网络中的管理事务。

2.2.2 虚拟网的类型与适用

当VLAN在交换机上划分后,不同VLAN间的设备就如同是被物理地分隔。也就是说,连接到同一交换机,然而处于不同VLAN的设备,就如同被物理地连接到两个位于不同网段的交换机上一样,彼此之间的通信一定要经过路由设备,否则他们之间将无法得知对方的存在,将无法进行任何联系。

1. 基于端口的VLAN

基于端口的VLAN是最常使用的划分VLAN的方式,几乎被所有的交换机所支持。所谓基于端口的VLAN,是指由网络管理员使用网管软件或直接设置交换机,将某些端口直接地、强制性地分配给某个VLAN(如图2-4所示)。除非网管人员重新设置,否则这些端口将一直保持对该VLAN的从属性,即属于该VLAN,因此这种划分方式也称为静态VLAN。

图2-4 基于端口的VLAN

这种方法虽然在网络管理员进行VLAN划分操作时会比较麻烦,但相对安全,并且容易配置和维护。同时,由于不同VLAN间的端口不能直接相互通信,因此每个VLAN都有自己独立的生成树。此外,交换机之间在不同VLAN中可以有多个并行链路,以提高VLAN内部的交换速率,增加交换机之间的带宽。

需要注意的是,不仅可以将同一交换机的不同端口划分为同一VLAN,而且还可以设置跨越交换机的VLAN(如图2-5所示),即将不同交换机的不同端口划分至同一VLAN,这就完全解决了位于不同物理位置、连接至不同交换机中的用户如何使之处于同一VLAN的难题。例如,在一个拥有数十台计算机的企业办公网中,为了提高网络传输效率,可以将所有用户划分为行政、销售和研发3个VLAN。虽然各部门位于不同的建筑物内,连接至不同的交换机,但仍然能够根据其连接的端口将其划分至同一VLAN。

图2-5 VLAN与Trunk

不同交换机上具有相同ID的VLAN之间,可借助一条链路实现彼此之间的连接。用于连接VLAN的链路,称之为VLAN中继(VLAN Trunk)。

2. 基于MAC的VLAN

所谓基于MAC的VLAN,是指借助智能管理软件根据MAC地址来划分VLAN。该划分方式一般用在每一交换机端口只连接一个终端的情况。也就是说,当端口级联集线器或傻瓜交换机时,该种划分方式并不适用。端口借助网络包的MAC地址、逻辑地址或协议类型来确定其VLAN的从属,将端口划分至不同VLAN。

当一网络节点刚连接到交换机时,此时交换机端口尚未分配,于是交换机通过读取网络节点的MAC地址,动态地将该端口划入某个虚拟网。一旦动态VLAN配置完成,用户的计算机就可以随意改变其连接的交换机端口,而不会由此而改变自己的VLAN。当网络中出现未定义的MAC地址时,交换机可以按照预先设定的方式向网管人员报警,再由网管人员作相应的处理。

例如,网络管理员有一台笔记本电脑,由于工作性质的关系,需要经常到各部门联机工作。当该笔记本电脑从端口A移动到端口B时,交换机能够自动识别经过端口B的源MAC地址,自动把端口A从当前VLAN中删除,而把端口B定义到当前VLAN中(如图2-6所示)。这种定义方法的优点是当终端在交换式网络中移动时,不必重新定义虚拟网,交换机能够自动进行识别和定义。因此,基于MAC的VLAN也称为动态VLAN。由于MAC地址具有世界唯一性,因此该VLAN划分方式的安全性也较高。

图2-6 基于MAC地址的VLAN

3. 基于IP的VLAN

所谓基于IP的VALN,是指根据IP地址来划分的VLAN。交换机属于OSI的第二层,因此普通交换机不能识别帧中的网络层报文,但随着第三层交换机的出现,将第二层的交换功能和第三层的路由功能结合在一起,从而使交换机也能够识别网络层报文,可以使用报文中的IP地址来定义VLAN。因此,当某一用户设置有多个IP地址时,或该端口连接到的集线器中拥有多个TCP/IP协议用户时,通过基于IP的VLAN,该用户或该端口就可以同时访问多个虚拟网。

在该模式下,位于不同VLAN的多个业务部门(每种业务设置成一个虚拟网)既可同时访问同一台网络服务器,也可以同时访问多个虚拟网的资源,还可让多个虚拟网间的连接只需一个路由设备完成。这种定义方法的优点是当某一终端使用的网络层协议或IP地址改变时,交换机能够自动识别,重新定义VLAN,不需要管理员干预。但由于IP地址可以人为地、不受约束地自由设置,因此使用该方式划分VLAN也会带来安全上的隐患。

4. 基于组播的VLAN

基于组播的VLAN,就是动态地把那些需要同时通信的端口定义到一个VLAN中,并在VLAN中用广播的方法解决点对多点通信的问题。这种划分方法将VLAN扩大到了广域网,因此这种方法具有更大的灵活性,而且也很容易通过路由器进行扩展,主要适合于不在同一地理范围的局域网用户组成一个VLAN,不适合局域网,主要是效率不高。

2.2.3 VTP技术

VTP域(也称VLAN管理域)由一个或多个相互连接的、使用相同VTP域名的交换机组成。一台交换机能够被配置而且也只能被配置一个VTP域。使用命令行界面或SNMP,可以修改全局VLAN的域配置。

1. VTP简介

■ VTP域

默认状态下,交换机处于VTP Server模式,并且在收到由中继转发的VTP通告(VTP Advertisement)或配置至一个管理域之前,一直处于非管理域状态。不能在VTP服务器上建立或修改VLAN,直到管理域名被指定或被学习。

如果交换机收到一个从中继连接传来的VTP通告,它将继承管理域名和VTP配置版本号,并且不再理睬不同的管理域名或更早的配置版本号。

如果将交换机配置为VTP透明,可以建立可修改的VLAN,但修改将只影响到个别的交换机。

当修改位于VTP Server上的VLAN配置时,该修改将传播至VTP域中所有的交换机。VTP通告被发送至所有的中继连接,包括Inter-Switch Link(ISL)、IEEE 802.1Q、IEEE 802.10和ATM LAN Emulation(LANE)。

■ VTP模式

可以将交换机配置在以下任何一种VTP模式下操作。

● Server

在VTP Server(服务器)模式,可以为整个VTP域建立、修改和删除VLAN,并指定其他配置参数(如VTP版本和VTP修剪)。VTP服务器向其他在相同VTP域的交换机通告它们的VLAN配置,并同步它们的VLAN配置。VTP Server是默认模式。

● Client

VTP Client(客户端)在许多行为上与VTP Server完全相同,不同之处是不能在VTP Client上建立、修改或删除VLAN。

● Transparent

VTP Transparent(透明)交换机不加入到VTP。VTP Transparent交换机不通告它的VLAN配置,并且不同步它的VLAN配置。然而,在VTP版本2(VTP Version 2)中,Transparent交换机向其中继端口转发它接收到的VTP通告。

■ VTP通告

VTP域中的每一台交换机都利用保留的多播地址,定期向其每一个中继端口发送通告。VTP通告被相邻的交换机接收,并必然地更新它们的VTP和VLAN配置。

在VTP通告中,以下全局配置信息被分布,VLAN ID(ISL和802.1Q)、Emulated LAN名(应用于ATM LANE)、802.10 SAID值(FDDI网络)、VTP域名、VTP配置版本号、VLAN配置(包括每个VLAN的MTU大小),以及帧格式。

■ VTP修剪

VTP修剪(VTP Pruning)通过减少不必要的泛洪(Flooded Traffic),如广播(Broadcast Packet)、多播(Multicast Packet)、未知(Unknown Packet)和泛洪(Flooded Unicast),从而提高网络带宽。

图2-7所示为未启用VTP修剪时的泛洪情况。

图2-7 未启用VTP修剪

图2-8所示为启用VTP修剪后的泛洪情况。

图2-8 启用VTP修剪

VTP修剪通过访问适当设备的方式,限制了到中继链接的泛洪,增加了网络的有效带宽。默认状态下,VTP修剪未被启用。在启用VTP修剪之前,必须确认管理域中所有的设备都支持该功能。当在VTP Server上为整个管理域启用VTP修剪后,VTP修剪将在几秒钟内实现。

2.2.4 私有虚拟网技术

通过私有虚拟网技术(Private Virtual Local Area Network,PVLAN)可以实现端口之间相互隔离,满足网络接入用户的安全性要求,避免用户信息和数据的泄露,防止非法攻击和窃取。在使用私有VLAN时,各接入端口间不可以相互通信,仅可通过上连端口访问网络资源。需要注意的是,第二层交换机和第三层交换机都可以创建PVLAN。

1. VLAN的局限性

随着局域网络应用的不断丰富,对网络数据通信的安全性将提出更高要求,诸如防范黑客攻击、控制病毒传播等,都要求保证网络用户通信的相对安全性。传统的解决方法是给每个客户分配一个VLAN和相关的IP子网,通过使用VLAN,每个用户被从第二层隔离开,可以防止任何恶意的行为和网络信息探听。然而,这种分配每个客户单一VLAN和IP子网的模型造成了可扩展的局限。主要表现在以下几个方面。

● VLAN的限制。交换机固有的VLAN总数支持的限制(例如,Cisco Catalyst 2960最多支持255个VLAN),导致局域网络不能划分太多数量的VLAN,从而限制了网络应用。

● 复杂的STP。对于每个VLAN,每个相关的Spanning Tree的拓扑都需要管理,管理复杂繁琐。

● IP地址的紧缺。IP子网的大量划分势必造成大量IP地址的浪费,加之IP地址资源紧张,使IP地址的分配变得更加困难。

● 路由的限制。每个子网都需要相应的默认网关的配置,管理起来非常麻烦,而且增加了路由的负担,影响网络传输效率。

2. PVLAN技术

同一PVLAN内连接到各端口的计算机彼此相互隔离,即使它们位于同一IP地址段,拥有相同的子网掩码和默认网关,也无法实现彼此之间的通信。若欲实现不同端口间的通信,只能经过默认网关,在第三层交换机中实现。

PVLAN的应用对于保证接入网络的数据通信的安全性是非常有效的,用户只需与自己的默认网关连接,一个PVLAN不需要多个VLAN和IP子网就提供了具备第二层数据通信安全性的连接。所有用户都接入PVLAN,从而实现了所有用户与默认网关的连接,而与PVLAN内的其他用户没有任何访问。PVLAN功能可以保证同一个VLAN中的各个端口相互之间不能通信,但可以穿过Trunk端口。这样,即使同一VLAN中的用户,相互之间也不会受到广播的影响,如图2-9所示。

图2-9 私有虚拟网技术

由此可见,PVLAN技术在解决通信安全、防止广播风暴和浪费IP地址方面的优势是显而易见的,而且采用PVLAN技术有助于网络的优化。另外,PVLAN的配置也相对简单,不必占用VLAN资源。