现在的位置: 首页 > 综合 > 正文

VLAN基础 四

2017年12月04日 ⁄ 综合 ⁄ 共 3573字 ⁄ 字号 评论关闭
  

三层交换机
使用路由器进行VLAN间路由时的问题
现在,我们知道只要能提供VLAN间路由,就能够使分属不同VLAN的计算机互相通信。但是,如果使用路由器进行VLAN间路由的话,随着VLAN之间流量的不断增加,很可能导致路由器成为整个网络的瓶颈
交换机使用被称为ASIC(Application Specified Integrated Circuit)的专用硬件芯片处理数据帧的交换操作,在很多机型上都能实现以缆线速度(Wired Speed)交换。而路由器,则基本上是基于软件处理的。即使以缆线速度接收到数据包,也无法在不限速的条件下转发出去,因此会成为速度瓶颈。就VLAN间路由而言,流量会集中到路由器和交换机互联的汇聚链路部分,这一部分尤其特别容易成为速度瓶颈。并且从硬件上看,由于需要分别设置路由器和交换机,在一些空间狭小的环境里可能连设置的场所都成问题
 
三层交换机(Layer 3 Switch
为了解决上述问题,三层交换机应运而生。三层交换机,本质上就是“带有路由功能的(二层)交换机”。路由属于OSI参照模型中第三层网络层的功能,因此带有第三层路由功能的交换机才被称为“三层交换机”。
关于三层交换机的内部结构,可以参照下面的简图。
在一台本体内,分别设置了交换机模块和路由器模块;而内置的路由模块与交换模块相同,使用ASIC硬件处理路由。因此,与传统的路由器相比,可以实现高速路由。并且,路由与交换模块是汇聚链接的,由于是内部连接,可以确保相当大的带宽。
 
使用三层交换机进行VLAN间路由(VLAN内通信)
在三层交换机内部数据究竟是怎样传播的呢?基本上,它和使用汇聚链路连接路由器与交换机时的情形相同。
假设有如下图所示的4台计算机与三层交换机互联。当使用路由器连接时,一般需要在LAN接口上设置对应各VLAN的子接口;而三层交换机则是在内部生成“VLAN接口(VLAN Interface)”。VLAN接口,是用于各VLAN收发数据的接口。(注:在CiscoCatalyst系列交换机上,VLAN Interface被称为SVI——Switched Virtual Interface
为了与使用路由器进行VLAN间路由对比,让我们同样来考虑一下计算机A与计算机B之间通信时的情况。首先是目标地址为B的数据帧被发到交换机;通过检索同一VLAN的MAC地址列表发现计算机B连在交换机的端口2上;因此将数据帧转发给端口2。
 
使用三层交换机进行VLAN间路由(VLAN间通信)
接下来设想一下计算机A与计算机C间通信时的情形。针对目标IP地址,计算机A可以判断出通信对象不属于同一个网络,因此向默认网关发送数据(Frame 1
交换机通过检索MAC地址列表后,经由内部汇聚链接,将数据帧转发给路由模块。在通过内部汇聚链路时,数据帧被附加了属于红色VLANVLAN识别信息(Frame 2
路由模块在收到数据帧时,先由数据帧附加的VLAN识别信息分辨出它属于红色VLAN,据此判断由红色VLAN接口负责接收并进行路由处理。因为目标网络192.168.2.0/24是直连路由器的网络、且对应蓝色VLAN;因此,接下来就会从蓝色VLAN接口经由内部汇聚链路转发回交换模块。在通过汇聚链路时,这次数据帧被附加上属于蓝色VLAN的识别信息(Frame 3
交换机收到这个帧后,检索蓝色VLANMAC地址列表,确认需要将它转发给端口3。由于端口3是通常的访问链接,因此转发前会先将VLAN识别信息除去(Frame 4)。最终,计算机C成功地收到交换机转发来的数据帧。
整体的流程,与使用外部路由器时的情况十分相似——都需要经过发送方交换模块路由模块交换模块接收方
 
加速VLAN间通信的手段
流(Flow
根据到此为止的学习,我们已经知道VLAN间路由,必须经过外部的路由器或是三层交换机的内置路由模块。但是,有时并不是所有的数据都需要经过路由器(或路由模块)。
例如,使用FTP(File Transfer Protocol)传输容量为数MB以上的较大的文件时,由于MTU的限制,IP协议会将数据分割成小块后传输、并在接收方重新组合。这些被分割的数据,“发送的目标”是完全相同的。发送目标相同,也就意味着同样的目标IP地址、目标端口号(注:特别强调一下,这里指的是TCP/UDP端口)。自然,源IP地址、源端口号也应该相同。这样一连串的数据流被称为“流(Flow)”
只要将流最初的数据正确地路由以后,后继的数据理应也会被同样地路由
据此,后继的数据不再需要路由器进行路由处理;通过省略反复进行的路由操作,可以进一步提高VLAN间路由的速度
 
加速VLAN间路由的机制
接下来,让我们具体考虑一下该如何使用三层交换机进行高速VLAN间路由。
首先,整个流的第一块数据,照常由交换机转发→路由器路由→再次由交换机转发到目标所连端口。这时,将第一块数据路由的结果记录到缓存里保存下来。需要记录的信息有:
 
l         目标IP地址
l         源IP地址
l         目标TCP/UDP端口号
l         源TCP/UDP端口号
l         接收端口号(交换机)
l         转发端口号(交换机)
l         转发目标MAC地址
 
等等。
同一个流的第二块以后的数据到达交换机后,直接通过查询先前保存在缓存中的信息查出“转发端口号”后就可以转发给目标所连端口了
这样一来,就不需要再一次次经由内部路由模块中继,而仅凭交换机内部的缓存信息就足以判断应该转发的端口。
这时,交换机会对数据帧进行由路由器中继时相似的处理,例如改写MAC地址、IP包头中的TTL和Check Sum校验码信息等,
通过在交换机上缓存路由结果,实现了以缆线速度(Wired Speed)接收发送方传输来数据的数据、并且能够全速路由、转发给接收方。
需要注意的是,类似的加速VLAN间路由的手法多由各厂商独有的技术所实现,并且该功能的称谓也因厂商而异。例如,在Cisco的Catalyst系列交换机上,这种功能被称为“多层交换(Multi Layer Switching”。另外,除了三层交换机的内部路由模块,外部路由器中的某些机型也支持类似的高速VLAN间路由机制。
 
传统型路由器存在的意义
路由器的必要性
三层交换机的价格,在问世之初非常昂贵,但是现在它们的价格已经下降了许多。目前国外一些廉价机型的售价,折合成人民币后仅为一万多元,而且还在继续下降中。
既然三层交换机能够提供比传统型路由器更为高速的路由处理,那么网络中还有使用路由器的必要吗
答案是:“是”。
 
使用路由器的必要性,主要表现在以下几个方面:
l         用于与WAN连接
三层交换机终究是“交换机”。也就是说,绝大多数机型只配有LAN(以太网)接口。在少数高端交换机上也有用于连接WAN的串行接口或是ATM接口,但在大多数情况下,连接WAN还是需要用到路由器。
l         保证网络安全
在三层交换机上,通过数据包过滤也能确保一定程度的网络安全。但是使用路由器所提供的各种网络安全功能,用户可以构建更为安全可靠的网络。
路由器提供的网络安全功能中,除了最基本的数据包过滤功能外,还能基于IPSec构建VPN(Virtual Private Network)、利用RADIUS进行用户认证等等。
l         支持除TCP/IP以外的网络架构
尽管TCP/IP已经成为当前网络协议架构的主流,但还有不少网络利用Novell Netware下的IPX/SPX或Macintosh下的Appletalk等网络协议。三层交换机中,除了部分高端机型外基本上还只支持TCP/IP。因此,在需要使用除TCP/IP之外其他网络协议的环境下,路由器还是必不可少的
 
注:在少数高端交换机上,也能支持上述路由器的功能。例如CiscoCatalyst6500系列,就可以选择与WAN连接的接口模块;还有可选的基于IPSec实现VPN的模块;并且也能支持TCP/IP以外的其他网络协议。
 
路由器和交换机配合构建LAN的实例
下面让我们来看一个路由器和交换机搭配构建LAN的实例。
 
利用在各楼层配置的二层交换机定义VLAN,连接TCP/IP客户计算机。各楼层间的VLAN间通信,利用三层交换机的高速路由加以实现。如果网络环境要求高可靠性,还可以考虑冗余配置三层交换机。
WAN的连接,则通过带有各种网络接口的路由器进行。并且,通过路由器的数据包过滤和VPN等功能实现网络安全。此外,使用路由器还能支持Novell Netware等TCP/IP之外的网络。
只有在充分掌握了二层、三层交换机以及传统路由器的基础上,才能做到物竞其用,构筑出高效率、高性价比的网络
【上篇】
【下篇】

抱歉!评论已关闭.