全部博文(46)
分类: 系统运维
2008-10-16 21:03:33
虚拟局域网(VLAN),是英文Virtual Local Area Network的缩写,是指网络中的站点不拘泥于所处的物理位置,而可以根据需要灵活地加入不同的逻辑子网中的一种网络技术。我随便举一个例子吧~
如上图所示的企业网络拓扑图中,三个部门,三层楼中每个部门都有办公地点,每层都有一个交换机,但是要求这三个部门,每个部门都不能够互相访问。也许你会说,把这同一层的三个部门分别设为不同的网段不就可以了么,但这样总是不安全的,因为IP地址为逻辑设定,所以其他两个部门只要自己修改PC上的IP就可以访问这个部门了。多余的我就不详细说了,大家看图应该都比较明白,只是基于这个需要,VLAN技术就产生了。
VLAN的优势
1、控制广播风暴
一个VLAN就是一个逻辑广播域,通过对VLAN的创建,隔离了广播,缩小了广播范围,可以控制广播风暴的产生。
2、提高网络整体安全性
通过路由访问列表和MAC地址分配等VLAN划分原则,可以控制用户访问权限和逻辑网段大小,将不同用户群划分在不同VLAN,从而提高交换式网络的整体性能和安全性。
3、网络管理简单、直观
对于交换式以太网,如果对某些用户重新进行网段分配,需要网络管理员对网络系统的物理结构重新进行调整,甚至需要追加网络设备,增大网络管理的工作量。而对于采用VLAN技术的网络来说,一个VLAN可以根据部门职能、对象组或者应用将不同地理位置的网络用户划分为一个逻辑网段。在不改动网络物理连接的情况下可以任意地将工作站在工作组或子网之间移动。利用虚拟网络技术,大大减轻了网络管理和维护工作的负担,降低了网络维护费用。在一个交换网络中,VLAN提供了网段和机构的弹性组合机制。
以上只是举了个很简单的例子,说的浅显一些,VLAN就是把一个交换机分割成若干个“小交换机”,其实真正意义上划分虚拟局域网主要出于三种考虑:
第一,广播控制:是基于网络性能的考虑。对于大型网络,现在常用的Windows NetBEUI是广播协议,当网络规模很大时,网上的广播信息会很多,会使网络性能恶化,甚至形成广播风暴,引起网络堵塞。那怎么办呢?可以通过划分很多虚拟局域网而减少整个网络范围内广播包的传输,因为广播信息是不会跨过VLAN的,可以把广播限制在各个虚拟网的范围内,用术语讲就是缩小了广播域,提高了网络的传输效率,从而提高网络性能。
第二,安全性:是基于安全性的考虑。因为各虚拟网之间不能直接进行通讯,而必须通过路由器转发,为高级的安全控制提供了可能,增强了网络的安全性。在大规模的网络,比如说大的集团公司,有财务部、采购部和客户部等,它们之间的数据是保密的,相互之间只能提供接口数据,其它数据是保密的。我们可以通过划分虚拟局域网对不同部门进行隔离。(正如上图我举的例子)
第三,灵活性和可扩展性是基于组织结构上考虑。同一部门的人员分散在不同的物理地点,比如集团公司的财务部在各子公司均有分部,但都属于财务部管理,虽然这些数据都是要保密的,但需统一结算时,就可以跨地域(也就是跨交换机)将其设在同一虚拟局域网之中,实现数据安全和共享。采用虚拟局域网有如下优势:抑制网络上的广播风暴;增加网络的安全性;集中化的管理控制。
总之,VLAN技术的优势真的很明显,当然,默认时,一个VLAN上的所有主机都不能和另外一个VLAN中的任何主机进行通信,因此,如果想要在VLAN之间进行通信,回答是肯定的-----仍然需要路由器(或者三层交换机)
基于交换式的以太网要实现虚拟局域网主要有三种途径:基于端口的虚拟局域网(一般为管理员手工添加,称之为静态VLAN)、基于MAC地址(一般使用智能化的管理软件,创建动态VLAN)的虚拟局域网和基于IP地址的虚拟局域网(一般为管理员手工添加)。
本篇最后,我想介绍一下VLAN的帧标记,由于ISL是思科私有的封装协议,所以我在此只想介绍一下IEEE 802.1Q。先看一下图吧~
那么什么是Trunk 端口呢?
所谓的TRUNKING是用来在不同的交换机之间进行连接,以保证在跨越多个交换机上建立的同一个VLAN的成员能够相互通讯。其中交换机之间互联用的端口就称为TRUNK端口。与一般的交换机的级联不同,TRUNKING是基于OSI第二层摹(VLAN也是基于Layer2的),那么分别在两个交换机上的VLAN10和VLAN20的各自的成员如果要互通,就需要在A交换机上设为VLAN10的端口中取一个和交换机B上设为VLAN10的某个端口作级联连接。VLAN20也是这样。那么如果交换机上划了10个VLAN就需要分别连10条线作级联,端口效率就太低了。 当交换机支持TRUNKING的时候,事情就简单了,只需要2个交换机之间有一条级联线,并将对应的端口设置为Trunk,这条线路就可以承载交换机上所有VLAN的信息。这样的话,就算交换机上设了上百个个VLAN也只用1个端口就解决了。
如果是不同台的交换机上相同id的vlan要相互通信,那么可以通过共享的trunk端口就可以实现,如果是同一台上不同id的vlan/不同台不同id的vlan它们之间要相互通信,需要通过第三方的路由来实现;vlan的划分有两个需要注意的地方:一是划分了几个不同的vlan组,都有不同的vlan id号;分配到vlan 组里面的交换机端口也有port id.比如端口1,2,3,4划分到vlan10,5,6,7,8划分到vlan20,我可以把1,3,4的端口的port id设置为10,而把2端口的 port id设置为20;把5,6,7端口的port id设置为20,而把8端口的port id设置为10.这样的话,vlan10中的1,3,4端口能够和vlan20中8端口相互通信;而vlan10中的2端口能够和vlan20中的5,6,7端口相互通信;虽然vlan id不同,但是port id相同,就能通信,同样vlan id相同,port id不同的端口之间却不能相互访问,比如vlan10中的2端口就不能和1,3,4端口通信。
任何一台运行VTP的交换机可以工作在三种模式:VTP Server、VTP Client及VTP Transparent。
* VTP Server维护该VTP域中所有VLAN信息列表,可以增加、删除或修改VLAN。
* VTP Client也维护该VTP域中所有VLAN信息列表,但不能增加、删除或修改VLAN,任何变化的信息必须从VTP Server发布的通告报文中接收。
* VTP Transparent不参与VTP工作,它虽然忽略所有接收到的VTP信息,但能够将接收到的VTP报文转发出去。它只拥有本设备上的VLAN信息。
其中,VTP Server和VTP Client必须处于同一个VTP域,且一个交换机只能位于一个VTP域中。
VTP修剪
VTP修剪就是提供了一种方式来保存带宽,就是通过配置来减小广播、组播、和单播包的数量。
通过配置让广播尽可能小范围的传播。OK,不多说了~~