3.1 虚拟局域网基本概念
随着网络应用越来越深入人们日常生活和工作中,网络上传输的信息也越来越多。如果任凭所有信息都无限制地在整个网络上传输,将会极大影响网络的性能。随着交换式局域网的不断扩大,广播信息也逐渐增多,越来越多的广播信息将消耗大量的网络带宽,同时也给主机带来额外的负担,极端情况下可能会发生广播风暴。多数病毒程序也是通过广播信息在网络中传播的。所以,需要把任何信息的传播都控制在一定范围内。局域网规模的不断扩大也增加了管理人员的工作压力和难度,为了更好地管理网络,需要有一种比较好的方式对网络进行分割管理。比较简单的方法就是利用交换机的虚拟局域网(Virtual Local Area Network, VLAN)技术来划分网络。
虚拟局域网是通过交换机所提供的功能将局域网从逻辑上划分为一个个的网段,从而实现虚拟工作组的一种交换技术。
交换机的引入解决了共享式以太网中的冲突现象,提高了数据传输的效率,但对于广播信息的传输却没有任何限制,整个网络属于同一个广播域,任何一个广播帧都被广播到整个局域网中的每一台主机。在网络通信中,广播信息是普遍存在的,这些广播帧占用大量的网络带宽,导致网络速度和通信效率的下降,并额外增加了网络主机为处理广播信息所产生的负荷。很多病毒是通过广播进行扩散的,在没有采取有效的隔离措施的情况下,一旦病毒发起泛洪广播攻击,将会很快耗尽网络的带宽,导致网络的阻塞和瘫痪。
理论上,隔离广播信息需要通过网络层设备实现,如路由器。利用路由器上的以太网端口进行网络地址分段,从而实现对广播域的分割和隔离。路由器所能划分出的网段段数,取决于路由器上以太网端口的数目。由于路由器的主要作用是实现数据在不同网络之间的转发,因此路由器所带的以太网端口数量较少,一般为1~4个,同时设备价格也很高,所以用路由器来分割广播域的成本较高。因此,在局域网中往往都在交换机中实现网络分段,这就要求交换机必须支持VLAN交换技术。
3.1.1 虚拟局域网的特点
1.限制广播域范围
通过在交换机上划分VLAN,可将一个大的局域网划分成若干个网段,每个网段内所有计算机间的通信和广播仅限于该VLAN内,广播帧不会被转发到其他网段,即一个VLAN就是一个广播域。VLAN间不能直接通信,从而实现了对广播域的分割和隔离,如图3-1所示,VLAN 10中的广播信息只能在VLAN 10的范围中广播,不会广播到VLAN 20中,同理,VLAN 20中的广播信息也一样。
图3-1 利用VLAN分割广播域
2.简化网络管理和提高组网灵活性
由于VLAN是对交换机端口实施的逻辑分组,因此不受任何物理连接的限制。同一VLAN中的计算机,可以连接在不同的交换机上,并且可以位于不同的物理位置,提高了网络应用和管理的灵活性,如图3-2所示。
图3-2 跨区域的虚拟局域网
3.提高网络安全性
默认情况下,VLAN间是相互隔离的,不能直接通信,对于保密性要求较高的部门,如图3-2中的财务部门,可将其划分在一个VLAN中,其他VLAN中的用户默认不能直接访问该VLAN中的主机。如需要跨VLAN访问,可通过访问控制列表来控制访问范围,从而既起到隔离作用,也提高了访问的安全性。
3.1.2 VLAN帧格式
附加了VLAN识别信息的数据帧就可看作是VLAN帧。VLAN识别信息也称为VLAN标签。VLAN标签长4字节,直接添加在以太网帧的帧头中,如图3-3所示,其中携带Tag的帧就是VLAN帧,Tag就是VLAN标签。没有携带VLAN标签的标准以太网帧称为不带标签的帧(Untagged Frame);携带VLAN标签的以太网帧称为带标签的帧(Tagged Frame)。
图3-3 VLAN帧格式
VLAN标签分为TPID和TCI两部分,其作用如下。
1 TPID:TPID(Tag Protocol Identifier,标签协议标识)的长度为2字节,固定取值,0x8100,是IEEE定义的新类型,表明这是一个携带802.1Q标签的帧。不支持802.1Q的设备如果收到这样的帧,会将其丢弃。
2 TCI:TCI(Tag Control Information,标签控制信息)的长度为2字节,分为下面三部分内容。
① PRI:PRI(Priority)表示帧的优先级,长度为3bit,取值范围为0~7,值越大,优先级越高。当交换机阻塞时,优先发送优先级高的数据帧。
② CFI:CFI(Canonical Format Indicator,标准格式指示位)表示MAC地址是否是规范格式,长度为1bit。CFI为0,表示为规范格式,CFI为1表示为非规范格式。CFI用于区分以太网帧、FDDI(Fiber Distributed Digital Interface,光纤分布式数据接口)帧和令牌环网帧。在以太网中,CFI的值为0。
③ VLAN ID:VLAN ID(VLAN Identifier)的长度为12bit,取值范围为0~4095,但是0和4095在协议中规定为保留的VLAN ID,用户不能使用。
3.1.3 VLAN端口类型
在华为交换机上主要有三种端口类型:Access、Trunk和Hybrid,前面两种类型比较常用,也是其他厂商都支持的类型。在介绍这几种端口之前,先认识一个术语“PVID”。PVID即Port VLAN ID,代表端口的默认VLAN。交换机从对端设备收到的帧有可能是不带VLAN标签的数据帧,但所有以太网帧在交换机中都是以带VLAN标签的形式被处理和转发的,因此交换机必须给端口收到的不带VLAN标签的数据帧添加上VLAN标签。为了实现此目的,必须为交换机配置端口的默认VLAN。当该端口收到不带VLAN标签的数据帧时,交换机将给它加上该默认VLAN的VLAN标签。
1.Access端口
Access类型的端口主要用于连接计算机等终端设备,此类型端口只能属于某一个VLAN。Access端口收发数据帧的规则如下。
1)如果该端口收到对端设备发送的帧是不带VLAN标签的,交换机将强制加上该端口的PVID。如果该端口收到对端设备发送的帧是带VLAN标签的,交换机会检查该标签内的VLAN ID。当VLAN ID与该端口的PVID相同时,接收该报文。当VLAN ID与该端口的PVID不同时,丢弃该报文。
2)Access端口发送数据帧时,如果发送数据帧的VLAN ID与该端口的PVID相同,则发送该数据帧,否则丢弃。发送时总是先剥离帧的VLAN标签,然后再发送。Access端口发往对端设备的以太网帧永远是不带标签的帧。
2.Trunk端口
Trunk端口是交换机上用来和其他交换机连接的端口,Trunk端口允许多个VLAN帧通过。Trunk端口收发数据帧的规则如下。
1)当接收到对端设备发送的不带VLAN标签的数据帧时,会添加该端口的PVID。如果PVID在允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。当接收到对端设备发送的带VLAN标签的数据帧时,检查VLAN ID是否在允许通过的VLAN ID列表中。如果VLAN ID在接口允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。
2)端口发送数据帧时,当VLAN ID与端口的PVID相同,且是该端口允许通过的VLAN ID时,去掉VLAN标签,发送该报文。当VLAN ID与端口的PVID不同,且是该端口允许通过的VLAN ID时,保持原有VLAN标签,发送该报文。
3.Hybrid端口
Access端口发往其他设备的报文,都是不带VLAN标签的数据帧,而Trunk端口仅在一种特定情况下才能发出不带VLAN标签的数据帧,其他情况发出的都是带VLAN标签的数据帧。
Hybrid端口是交换机上既可以连接用户主机,又可以连接其他交换机的端口。Hybrid端口允许多个VLAN帧通过,并可以在出端口方向将某些VLAN帧的VLAN标签剥掉。华为设备默认的端口类型是Hybrid。Hybrid端口收发数据帧的规则如下。
1)当接收到对端设备发送的不带VLAN标签的数据帧时,会添加该端口的PVID。如果PVID在允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。当接收到对端设备发送的带VLAN标签的数据帧时,检查VLAN ID是否在允许通过的VLAN ID列表中。如果VLAN ID在接口允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。
2)Hybrid端口发送数据帧时,将检查该接口是否允许该VLAN帧通过。如果允许通过,则可以通过命令配置发送时是否带VLAN标签。