电脑技术学习

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

dn001

  说起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)信息头部分的重新生成。