米葫芦网

核心交换机设计中的发展方向

热度:3℃ 发布时间:2023-11-16 19:35:17
Buffered Crossbar
Crossbar背板由于为每个线卡提供独立的带宽连接,多个线卡可以并行收发数据,克服前二代背板分时处理数据的效率影响,因此大量地应用于现代高端交换机的设计中,组成非阻塞系统。根据Crossbar芯片内部的每一个交叉点是否拥有Buffer缓存,Crossbar芯片分为Bufferless Crossbar和Buffered Crossbar。
Bufferless Crossbar(无缓存Crossbar)采用集中调度,由于每个交叉点没有Buffer,数据转发需要入口和出口线卡直接端到端连接,假如直接处理变长数据包,将因极其复杂的调度和部分线卡的某些VOQ(Virtual Output Queues)队列始终无法得到服务而产生严重的延迟或丢包,因此,商用的Bufferless Crossbar都只能处理固定长度的数据包(信元),当处理实际网络环境中长度不一的各种变长数据包时,Crossbar需要对这些数据包进行信元分割,信元通过Crossbar交换以后,在出口处进行重新的组装。包分割和组装带来了巨大的损耗,严重影响了Crossbar芯片的速率。为了提高Crossbar芯片的效率,避免无谓的损耗,最新的Crossbar芯片支持在每个交叉点加入小容量的Buffer,称为Buffered Crossbar(缓存Crossbar)。
在Buffered Crossbar的工作机制里,调度是由每个交叉点的缓存独立决定的,形成“分布式调度”,每个VOQ队列都尽力发送数据,如图所示,2、3都同时发送数据到C(发送到交叉点的Buffer里),而1在发送给C的数据还没有被完全处理完之前已经发送数据给A,在交叉点没有空闲缓存时才通过背压流控方式间接地调整VOQ不再发送数据。调度变得非常简单,不需要判定每个线卡的VOQ,不需要配置整个系统的所有“输出输入线卡对”,不会带来Crossbar的调度损耗。


LPM+HDR
在传统的交换机工作模式中,对数据三层转发采用“一次路由、多次交换”的方式,即每种数据流的第一个数据包采用CPU软件实现路由,然后交换机把数据三层转发需要的相关信息表项下载到ASIC芯片,该数据流的后续数据包通过ASIC芯片进行精确匹配(每种流一个表项)。因此,在传统的交换机工作模式下,存在的缺点可以通过LPM+HDR技术得到很好解决。
最长匹配(LPM)三层交换技术是面向提高非主机路由效率而设计的,LPM技术支持在没有第一次CPU参与路由的情况下,交换机把直连路由、静态路由等都直接自动下载到硬件路由转发表,并且支持一个网段目的IP地址使用一条硬件转发路由表项,而不明目的网段IP地址的数据包(例如病毒和攻击行为数据包)直接通过缺省路由转发。因此,LPM技术的优点是在处理非主机路由时不占用任何CPU资源,同时极大地节约存储空间,避免了存储空间溢出问题,即使在病毒和攻击网络环境下依然可以良好地运行。
而主机直接路由(HDR)支持主机路由表在没有第一次CPU参与路由的情况下,在ARP协议运行过程中直接自动把主机路由表下载到硬件路由转发表,从而不占用CPU资源,避免了“一次路由、多次交换”的效率影响。
采用LPM+HDR相结合的硬件路由方式极大地提高了交换机的路由效率,并且不需要CPU的参与以及尽量少的存储空间消耗,在大型网络、应用繁多、病毒和攻击网络下都可以正常地高效运行。


网友评论
评论
发 布

更多软件教程
  • 软件教程推荐
更多+
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

最新软件下载