L3利用硬件加速数据包交换


说起LAN的代表性网络设备,首先就会想到LAN交换机和路由器 。
LAN交换机根据MAC地址,对MAC帧进行中继 。也就是说在Layer 2(L2)上工作 。中继对象则连接于同一个LAN区间 。
路由器根据IP地址中继IP数据包,在Layer 3(L3)上工作 。中继对象可以位于远程区域 。路由器连续不断地接收并转发数据包,将其送达最终目的地 。
除这些产品,最近在办公室中还出现了将一个新面孔 。这就是Layer 3交换机(L3交换机) 。L3交换机指同时具有LAN交换机和路由器功能的网络设备(图1) 。由于价格较低,因此正在迅速普及 。
卖点是数据包的高速处理
L3交换机的最大特点是中继处理速度快 。
以前的路由器利用软件处理数据包,但这样做无法适应不断提速的无线LAN 。由于处理时间太长,因此只要一经过路由器,整个的传输速度就明显比LAN的最大速度低得多 。
而L3交换机与路由器相比,在数据包处理方面具有绝对的速度优势 。实现数据包高速处理性能的要害在于“线速度”和“非阻塞”功能 。
线速度指在某种介质中传输时所能达到的最大位速率 。假如能够对以这种速度通过端口的数据包(或帧)进行无损处理,那么就可以说这种L3交换机(或LNA交换机)达到了线速度 。
非阻塞指即使在全部端口上都以线速度收发数据包,也不会产生数据包丢失的现象 。也就是说非阻塞特性更难以实现 。
目前的L3交换机除了部分具有数百个端口的大型产品以外,都以具有非阻塞特性为卖点 。
根据具体用途提高速度
那么,L3交换机是如何实现提速的呢?
下面就在解释数据包处理过程的同时,介绍提速的要害所在 。
在此之前,先简单地看一下硬件结构(图1的下图) 。作用最大的是“交换芯片” 。通常称之为“ASIC” 。该芯片具有处理数据包的各种功能 。数据包存储器用于保存传输来的数据包(帧)本身 。即“缓冲” 。地址存储器则用于保存路由表 。
那么,IP数据包进入L3交换机后,如何处理呢?交换芯片收到IP数据包以后,就将数据包保存到数据包存储器(缓冲)中 。其中的要害在于如何提高芯片间的传输速度 。
接著,交换芯片就只读取数据包的信息头,然后进行数据包的发送工作 。开始时,为了寻找输出端口,就要检索路由表 。
在路由表中记录有IP数据包的网络编号,而输出端口则以成对的方式记录 。从接收进来的IP数据包的目标IP地址中提取网络编号部分,将其与路由表的内容进行比较,来确定输出端口 。
提速的要害在于,如何高速地从路由表中检索到实际的传输路径 。实现上,L3交换机是通过改进检索算法和使用检索专用芯片来提速的 。
其次是信息头的重新生成 。即进行“生存时间”(TTL)的减法和“检验和”的再运算 。其中的要害在于如何尽快完成运算 。具体而言,就是利用运算专用电路和并行运行等方法来提速 。
这些工作完成以后,就将数据包由输出端口发送出去 。这里,也需要提高芯片间的数据传输速度 。
总之,L3交换机利用硬件和算法方面的措施,提高了如下三个工作过程的速度:(1)数据的接收和发送;(2)路由表的检索;(3)信息头部分的重新生成 。

    推荐阅读