米葫芦网

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

热度:9℃ 发布时间:2023-11-16 19:36:53

说起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)信息头部分的重新生成。
网友评论
评论
发 布

更多软件教程
  • 软件教程推荐
更多+
Greenfoot设置中文的方法

Greenfoot设置中文的方法

Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...

07-05

Egret UI Editor修改快捷键的方法

Egret UI Editor修改快捷键的方法

Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...

07-05

KittenCode新建项目的方法

KittenCode新建项目的方法

KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...

07-05

Thonny设置中文的方法

Thonny设置中文的方法

Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...

07-05

最新软件下载