要正确理解交换机的工作原理以及其优越性,就不能不提到交换机的一些主流交换技术,正是在这些交换技术基础上,交换机才实现了比集线器更好地性能,为此本篇介绍几个主流的交换技术,随后在本篇最后将介绍交换机选购时的一些注意事项,帮助大家正确选购。
一、交换机的交换方式
目前交换机在传送源和目的端口的数据包时通常采用直通式交换、存储转发式和碎片隔离方式三种数据包交换方式,下面分别简述。
1、直通交换方式
采用直通交换方式的以太网交换机可以理解为在各端口间是纵横交*的线路矩阵电话交换机。它在输入端口检测到一个数据包时,检查该包的包头,获取包的目的地址,启动内部的动态查找表转换成相应的输出端口,在输入与输出交*处接通,把数据包直通到相应的端口,实现交换功能。由于它只检查数据包的包头(通常只检查14个字节),不需要存储,所以切入方式具有延迟小,交换速度快的优点(所谓延迟(Latency)是指数据包进入一个网络设备到离开该设备所花的时间)。
它的缺点主要有三个方面:一是因为数据包内容并没有被以太网交换机保存下来,所以无法检查所传送的数据包是否有误,不能提供错误检测能力;第二,由于没有缓存,不能将具有不同速率的输入/输出端口直接接通,而且容易丢包。如果要连到高速网络上,如提供快速以太网(100BASE-T)、FDDI或ATM连接,就不能简单地将输入/输出端口“接通”,因为输入/输出端口间有速度上的差异,必须提供缓存;第三,当以太网交换机的端口增加时,交换矩阵变得越来越复杂,实现起来就越困难。
2、存储转发方式
存储转发(Store and Forward)是计算机网络领域使用得最为广泛的技术之一,以太网交换机的控制器先将输入端口到来的数据包缓存起来,先检查数据包是否正确,并过滤掉冲突包错误。确定包正确后,取出目的地址,通过查找表找到想要发送的输出端口地址,然后将该包发送出去。正因如此,存储转发方式在数据处理时延时大,这是它的不足,但是它可以对进入交换机的数据包进行错误检测,并且能支持不同速度的输入/输出端口间的交换,可有效地改善网络性能。它的另一优点就是这种交换方式支持不同速度端口间的转换,保持高速端口和低速端口间协同工作。实现的办法是将10Mbps低速包存储起来,再通过100Mbps速率转发到端口上。
3、碎片隔离式(Fragment Free)
这是介于直通式和存储转发式之间的一种解决方案。它在转发前先检查数据包的长度是否够64个字节(512 bit),如果小于64字节,说明是假包(或称残帧),则丢弃该包;如果大于64字节,则发送该包。该方式的数据处理速度比存储转发方式快,但比直通式慢,但由于能够避免残帧的转发,所以被广泛应用于低档交换机中。
使用这类交换技术的交换机一般是使用了一种特殊的缓存。这种缓存是一种先进先出的FIFO(First In First Out),比特从一端进入然后再以同样的顺序从另一端出来。当帧被接收时,它被保存在FIFO中。如果帧以小于512比特的长度结束,那么FIFO中的内容(残帧)就会被丢弃。因此,不存在普通直通转发交换机存在的残帧转发问题,是一个非常好的解决方案。数据包在转发之前将被缓存保存下来,从而确保碰撞碎片不通过网络传播,能够在很大程度上提高网络传输效率。
二、主流堆栈交换技术
通过我们前面的介绍已经知道,按交换机工作在OSI/RM堆栈协议层来分的话,目前的交换机主要有第二层、第三层和第四层交换机,它们都有其对应的主流交换技术,下面分别予以介绍。
1、第二层交换技术
90年代初,在网络系统集成模式中大量引入了局域网交换机。局域网交换机是一种第二层网络设备,交换机在操作过程中不断地收集资料去建立它本身的地址表,这个表相当简单,主要标明某个MAC地址是在哪个端口上被发现的。当交换机接收到一个数据封包时,它检查该封包的目的MAC地址,核对一下自己的地址表以决定从哪个端口发送出去。而不是象集线器那样,任何一个发送方数据都会出现在集线器的所有端口上(不管是否为你所需)。这时的交换机因为其只能工作在OSI/RM的第二层,所以也就称之为第二层交换机,所采用的技术也就称之为“第二层交换技术”。
“第二层交换”是指OSI第二层或称MAC层的交换。第二层交换机的引入,使得网络站点间可独享带宽,消除了无谓的碰撞检测和出错重发,提高了传输效率,在交换机中可并行的维护几个独立的、互不影响的通信进程。在交换网络环境下,用户信息只在源节点与目的节点之间进行传送,其他节点是不可见的。但有一点例外,当某一节点在网上发送广播或多目广播时,或某一节点发送了一个交换机不认识的MAC地址封包时,交换机上的所有节点都将收到这一广播信息。整个交换环境构成一个大的广播域。也就是说第二层交换机仍可能存在“广播风暴”,广播风暴会使网络的效率大打折扣,但出现情况的情形的比率比起集线器来说要少许多。
第二层交换仍存在“广播风暴”的弱点,同时,使用第二层交换并不能给路由器的功能带来什么进步。这样的结果是,第二层交换只能在本地不含任何路由器的工作组中取得性能的提高。在使用第二层交换的工作组之间,通过路由器的端到端性能会因为路由器阻塞而掉包,从而导致实质上的性能下降。正因如此,其于路由方式的第三交换技术顺应时代的需要而产生了。
2.第三层交换技术
在网络系统集成的技术中,直接面向用户的第一层接口和第二层交换技术方面已得到令人满意的答案。但是,作为网络核心、起到网间互连作用的路由器技术却没有质的突破。传统的路由器基于软件,协议复杂,与局域网速度相比,其数据传输的效率较低。但同时它又作为网段(子网,虚拟网)互连的枢纽,这就使传统的路由器技术面临严峻的挑战。随着Internet、Intranet的迅猛发展和B/S(浏览器/服务器)计算模式的广泛应用,跨地域、跨网络的业务急剧增长,业界和用户深感传统的路由器在网络中的瓶颈效应,改进传统的路由技术已迫在眉睫。在这种情况下,一种新的路由技术应运而生,这就是第三层交换技术。说它是路由器,因为它可操作在网络协议的第三层,是一种路由理解设备并可起到路由决定的作用;说它是交换器,是因为它的速度极快,几乎达到第二层交换的速度。