(转载)
目前技术的发展,可以说直接面向用户的第一层接口和第二层交换技术已经日趋 成熟。但是,作为网络的核心,起网间互连作用的路由器技术却没有实质性的突破。于是一种新的路由 技术应运而生----三层交换技术,说它是路由技术,因为它工作在网络协议的三层;说它是交换技术,交换速度特别快,几乎可以达到二层交换速度。在这些技术选择的权衡中,二层交换+路由组网与三层交换组网的选择是一个焦点问题。
(一) 二层交换技术二层交换机属
数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。具体的工作流程如下:
(1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;
(2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口;
(3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;
(4)
如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。
不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。
从二层交换机的工作原理可以推知以下三点(主要技术参数):
(1) 由于交换机对多数端口的数据进行同时交换,这就要求具有很宽的
交换总线带宽,如果二层交换机有N个端口,每个端口的带宽是M,交换机总线带宽超过N×M,那么这交换机就可以实现线速交换;
(2) 学习与端口连接的机器的MAC地址并写入地址表,
地址表的大小(一般两种表示方式:一为BEFFER RAM,一为MAC表项数值)影响交换机的接入容量;
(3) 还有一个就是二层交换机一般都含有
专门用于处理数据包转发的ASIC (Application specific Integrated Circuit)芯片,因此转发速度可以做到非常快。由于各个厂家采用ASIC不同,直接影响产品性能。
(二)路由技术路由器工作在OSI模型的第三层---
网络层操作,其工作模式与二层交换相似,但路由器工作在第三层,这个区别决定了路由和交换在传递包时使用不同的控制信 息,实现功能的方式就不同。工作原理是在路由器的内部也有一个表,这个表所标示的是如果要去某一个地方,下一步应该向那里走,如果能从路由表中找到数据包下一步往那里走,把链路层信息加上转发出去;如果不能知道下一步走向那里,则将此包丢弃,然后返回一个信息交给源地址。
路由技术实质上来说不过两种功能:
决定最优路由和
转发数据包。路由表中写入各种信息,由路由算法计算出到达目的地址的最佳路径,然后由相对简单直接的转发机制发送数据包。接受数据的下一台路由器依照相同的工作方式继续转发,依次类推,直到数据包到达目的路由器。
而路由表的维护,也有两种不同的方式。一种是路由信息的更新,将部分或者全部的路由信息公布出去,路由器通过互相学习路由信息,就掌握了全网的拓扑结构,这 一类的路由协议称为
距离矢量路由协议;另一种是路由器将自己的链路状态信息进行广播,通过互相学习掌握全网的路由信息,进而计算出最佳的转发路径,这类路 由协议称为
链路状态路由协议。
由于路由器需要做大量的路径计算工作,一般处理器的工作能力直接决定其性能的优劣。当然这一判断还是对中低端路由器而言,因为高端路由器往往采用分布式处理系统体系设计。
因为使用中央架构,传统路由器经常缺乏可扩展性。到达路由器的所有数据包必须被送到一个单一的处理区。您拥有的接口数量越多,系统的负载越重,从而导致资源的过度占用。
当一个使用中央阻塞架构的路由器需要处理的流量超出自己的容量时,它就会开始丢弃数据包。当网络应用或计算机不能收到响应时,它们会为恢复会话而发送更 多的数据包。这只会使情况更糟——因为很容易导致交叉会话过载。这种情况下,过载的路由器会发展出自己的非逻辑性思维,根据应用、用户的优先级或网络目的 地/来源有选择性地丢弃数据包。很明显,需要一种新的处理流量增长的方法。
(三)三层交换技术(IP交换)这是一种利用第三层协议中的IP数据包头信息来加强第二层交换功能的机制。
(
三层交换的工作过程详见《第三层交换技术介绍》一文)
第三层交换使用第三层路由协议确定传输路径,此路径可以只用一次,也可以存储起来供以后使用;之后数据包通过一条虚电路绕过路由器快速转发。这就是通常所说的“一次路由多次转发”。最终的目的是将数据通信时的路由次数降到最低。
三层交换的特点:
由硬件结合实现数据的高速转发这就不是简单的二层交换机和路由器的叠加,
三层路由模块直接叠加在二层交换的高速背板总线上,突破了传统路由器的接口速率限制,速率可达几十Gbit/s。
多层交换机/路由器以线速转发数据包。交换ASIC以分布式的方式存在,允许整个系统高效地输送流量。当您添加更多的接口卡时,系统的处理能力也增加了——因为相关的逻辑和转发决策分布在整个设备上。
为确定网络流量的类型和数量,ASIC现在内置了新的数据包取样技术,以提供整个系统流量监控的控制平台。
RFC3176 - InMon Corporation's sFlow: A Method for Monitoring Traffic in Switched and Routed Networks
http://www.ietf.org/rfc/rfc3176.txt?number=3176简洁的路由软件使路由过程简化大部分的数据转发,除了必要的路由选择通过路由软件处理,其他都是由二层模块高速转发,路由软件大多都是经过处理的高效优化软件,并不是简单照搬路由器中的软件。
结论二层交换机用于小型的局域网络。在小型局域网中,广播包影响不大,二层交换机的快速交换功能、多个接入端口和低廉价格为小型网络用户提供了很完善的解决方案。
路由器的优点在于接口类型丰富,支持的三层功能强大,路由能力强大,适合用于大型的网络间路由,它的优势在于选择最佳路由,负荷分担,链路备份及与其他网络进行路由信息的交换等等功能。
三层交换机最重要的功能是加快大型局域网络内部的数据快速转发,加入路由功能也是为这个目的服务的。如果把大型网络按照部门,地域等等因素划分成一个个小局域网,这将导致大量的网际互访,单纯的使用二层交换机不能实现网际互访;如单纯的使用路由器,由于接口数量有限和路由转发速度慢,将限制网络的速度和 网络规模,采用具有路由功能的快速转发的三层交换机就成为首选。
一般来说,在内网数据流量大,要求快速转发响应的网络中,如全部由三层交换机来做这个工作,会造成三层交换机负担过重,响应速度受影响。将网间的路由交给路由器去完成,充分发挥不同设备的优点,不失为一种好的组网策略,当然,前提是客户的腰包很鼓,不然就退而求其次,让三层交换机也兼为网际互连。
多层交换机/路由器的功能与传统的路由器和交换机无异,它们将局域网(LAN)和城域网(WAN)的功能集成于单一的设备中。它们可在同组的用户之间实现 本地交换(即第2层交换),与不同组的用户间实现路由(即第3层交换或路由),同时为应用提供安全性和特别服务(即第4层交换)。