4个交换机ASIC接口,驱动SDN发展

四个接口 - 交换机抽象接口,快速数据平面项目,Broadcom的软件开发套件逻辑表和P4编程语言 - 与数据平面芯片组和交换机ASIC配合使用。但它们也有可能通过推进开放接口和可编程能力来推动SDN和机器学习的增长。然而,要完全掌握我们还是首先看一下计算系统和硬盘接口的历史。

回顾过去,计算历史上的一个重要时刻是20世纪80年代国际标准架构(ISA)的标准化和采用。当IBM在20世纪80年代后期试图用微通道架构替换ISA时,而其他系统制造商却反对并坚持ISA标准。1996年,英特尔开发了外围组件互连(PCI)总线,计算行业随后广泛采用该总线。随后PCI总线在被PCI Express取代,PCI Express最初于2004年发布。

硬盘接口具有类似的历史。硬盘驱动器接口始于控制器卡,用于支持修改后的频率调制,运行长度限制和小型计算机系统接口格式。这些格式之后是集成驱动电子(IDE)运动和并行高级技术附件,最后是串行ATA。

那么,从中学到了什么?在业界采用标准化方式访问这些系统之后,新的开发项目飙升,硬件市场扩大。例如,ISA导致克隆系统构建者最终成为计算系统构建的主导力量,而IDE最终导致存储技术的快速发展。

同样,这种重复模式提醒我们通常用于控制当今数据平面芯片组的四个接口的重要性:交换机抽象接口(SAI),快速数据平面项目(FD.io),Broadcom的软件开发套件逻辑表(SDKLT) )和P4编程语言。

四个交换机ASIC接口如何推动SDN增长

这四个接口可以推动软件定义的革命。例如,用于控制数据包流的标准化接口集可以加速驱动软件定义网络所需的控制器和代理的开发。

这些标准化接口还可以推动构建网络的革命,这些网络与机器学习和闭合公式分析相互作用,可根据其操作环境进行自我调整。

这些类型的开放接口具有许多优点,即使最终用户没有直接看到它们但也会体会到。虽然您可能看不到接口,但可以看到计算机中的PCI Express总线,可以在各种硬件和可在该硬件上运行的可用软件中查看标准的结果。

作为客户,您应该了解这些接口和标准,并询问您的供应商您购买的产品是否支持它们。那么,让我们仔细看看这些接口。

1.切换抽象接口

SAI是这些接口中最早的接口,初始版本可以追溯到2014年。基本上,SAI是许多不同交换机ASIC驱动程序的统一容器或包装器,如下面的开放计算项目图所示。

交换机抽象接口将相同的操作集合公开给许多交换机和路由器的数据平面ASIC的主机适配器。这种包装器的优点是允许单个软件适配器控制不同品牌和版本的交换机ASIC。

缺点是封装器接口往往只支持每个交换机ASIC支持的功能 - 可用功能的最小公分母。此外,将调用Switch抽象接口转换为交换机ASIC软件开发工具包,然后转换为交换机ASIC驱动程序,会对性能产生负面影响。

2.快速数据项目

快速数据项目(FD.io)的重点是在虚拟或基于软件的网络设备中创建基于软件的交换之间的管道。

例如,虚拟包检测服务或虚拟网络功能可以使用FD.io接口从接口中提取包,处理它们然后将它们推回到硬件接口上。发起数据包的设备(如数据库服务器)也可以利用FD.io与网络接口的直接连接。

3.Broadcom的SDKLT

Broadcom的软件开发工具包逻辑表与SAI类似,但也有不同。它的设计类似于为转发ASICs提供了许多交换机或路由器使用的接口,特别是那些大型数据中心中的交换机或路由器。

SDKLT与SAI的不同之处在于它仅支持Broadcom,而且其接口的构建方式也是如此。SDKLT不是用于访问芯片组函数的标准调用集,而是基于表的。这意味着表包含所有ASIC的特性,交换机端口参数和转发表。操纵这些表可以编写ASIC的转发特性。此过程类似于直接在通用处理器(或视频处理芯片上的视频内存池)上编程寄存器。

4.P4编程语言

最后,P4针对的是与前面接口相同的芯片组,但它是一种编程语言,而不是接口。它的一组调用可以控制ASIC对每个数据包采取的任何操作,一组数据结构可以管理ASIC处理数据包的表。

例如,要切换数据包,可能会使用以下代码:

V1Switch(

Parser(),

VerifyChecksum(),

Ingress(),

ComputeChecksum(),

Egress(),

)main;

此代码告诉ASIC要调用列出的每个功能,使ASIC解析数据包,验证校验和,执行任何入口处理(这可能包括确定出站接口,确定下一跳信息并重写任何标头) ,计算新的校验和并执行任何出口处理(排队和其他服务质量处理)。这提供了一种与交换机ASIC交互的完全不同的方式。

为什么这些接口很重要

最后最终用户可能不会创建可以直接使用这些接口的软件,但它们仍然很重要。就像原始桌面系统中的ISA总线,以及更现代系统中的PCI和PCI Express总线一样,这些接口标准可以使开发产品的供应商数量迅速扩大。它们还可以使相关设备的特征和功能快速发展。

例如,如果产品支持这些接口之一,则可能更容易为您的网络或个人垂直构建自定义平台,例如医疗保健或数据分析。随着转发平面的接口变得更加标准化,开发人员将能够花更多的时间来开发功能,而不是将他们的软件调整到他们需要运行它的硬件上。

原文链接:

https://searchsdn.techtarget.com/tip/4-switch-ASIC-interfaces-to-drive-SDN-and-machine-learning-growth

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2018-10-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏全华班

Android平台开发学习实践

今天整理下关于android的学习思维和方法 Android的思维 做一个开源框架,送给全世界来“玩耍”。 Google我来做一条强龙,开发人员做一条小地头...

3758
来自专栏IT技术精选文摘

解密腾讯海量服务之道

一直对腾讯做产品的能力比较敬佩的,我们组做消息推送系统,而腾讯的信鸽就是我们学习的榜样。京东很多做产品的思想是跟腾讯学的,而京东很多同事也从腾讯过来的(京东合并...

7295
来自专栏美团技术团队

美团酒旅实时数据规则引擎应用实践

7019
来自专栏眯眯眼猫头鹰的小树杈

猫头鹰的深夜翻译:Pattern: Service Mesh

在十几年前,我们无法想象一个分布式系统会是什么样子。它给我们带来了全新的架构思路,但同时也引入了一些问题。 当时这些系统非常少有而且架构简单,工程师们通过尽可能...

1652
来自专栏技术博客

aehyok.com的成长之路二——技术选型

  在上一篇博客中http://www.cnblogs.com/aehyok/p/3934197.html主要简单的介绍了自己做个人网站的初衷,就是为了督促自己...

952
来自专栏blackpiglet

R 语言实战第一,二章 R 语言版

这次的作业主要是以对一个非常简单的数据分析问题进行实践的形式呈现出来,对于《R语言实战》第一二章的内容已经体现在了对问题的解析的过程中,所以就不再将学习的过程贴...

682
来自专栏王亚昌的专栏

如何对产品运营情况进行监控

http://groups.google.com/group/dev4server/browse_thread/thread/8a86bb49a561f312

1292
来自专栏一个会写诗的程序员的博客

服务网格 Pattern: Service Mesh

自从几十年前首次引入以来,我们了解到分布式系统能够实现我们之前甚至无法思考的用例,但它们也会引入各种新问题。

1082
来自专栏软件测试经验与教训

网上看到的面试题,我忍不住吐槽....

3808
来自专栏沃趣科技

基于Oracle的私有云架构探析(连载一)@【DTCC干货分享】

云是当今最为热门的一个话题或者说技术,在数据库界也一样,Oracle 12G这个名字不硬生生被掰弯成了Oracle 12C,数据库云在我看来能给企业带来的第一价...

4635

扫码关注云+社区

领取腾讯云代金券