前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软硬件融合技术内幕 进阶篇 (7) —— 恶魔导演的战争

软硬件融合技术内幕 进阶篇 (7) —— 恶魔导演的战争

作者头像
用户8289326
发布2022-12-13 08:55:39
4740
发布2022-12-13 08:55:39
举报

上一期,我们讲到了,对于SmartNIC这种新兴的需求,各厂商都提出了自己的解决方案。

由于SmartNIC需要较强的可编程特性,一些可编程网络设备芯片厂商设想通过可编程交换机芯片来实现SmartNIC。

交换机芯片的老牌列强Broadcom,是世界上首家支持Openflow的交换机厂商。

Openflow是一种网络转发平面和网络控制平面的标准。它的设计思想为转发控制分离,控制平面通过下发Openflow标准的流表,来控制转发平面的行为。

让我们举一个栗子:

如图,以太网交换机到服务器antbert的接口配置为access口,同时,交换机上联接口配置为trunk口。

从antbert发出的数据包在交换机上会添加4个字节:

2字节内容为0x8100的802.1q标志,另外2字节为0x0064, 代表VLAN 100。

对于普通工作模式的交换机,这个处理逻辑将被固化在ASIC中,而支持openflow的交换机,其控制平面(CPU)接收到openflow流表后,会向交换机转发芯片更新相关指令,交换机转发芯片执行转发指令。

最早的支持Openflow的交换机,为Broadcom的firebolt-3(BCM56530)和apollo-2(BCM56540),均属于其StrataXGS系列,是2011年的产品,其可编程能力很弱,如隧道封装就仅支持GRE,不支持L2 GRE。firebolt-3甚至连MPLS也不支持。

2017年,一个划时代的产品——Broadcom Trident-3,登上了历史舞台。

Trident-3具备可编程的转发流水线,如下图:

这张图实际上来自Arista 7050X3 交换机的产品资料。这款交换机使用的就是Trident-3 BCM56870系列芯片。

Trident-3系列芯片在数据包进入缓冲区之前具备3级流水线,出缓冲区后具备2级流水线。

以VXLAN数据包解封装为例:

如图,VXLAN数据包进入交换机芯片后,前三级流水线分别检查以太网包头、IP头部和UDP头部,发现是VXLAN数据包后,数据包被保存到数据包缓冲区。在出方向,VXLAN头部被剥离,并进行减少IP TTL,替换以太网头部等修改数据包的动作。

VXLAN实现了Openstack的大规模VPC网络,而在Openstack中,为了实现将VPC内东西向流量牵引到一些节点进行深度处理,又引入了VXLAN-NSH标准,扩展了VXLAN头部。由于Trident-3芯片具备可编程的特点,虽然VXLAN-NSH相对于VXLAN标准,是被修改过的,也可以很好地支持新的隧道封装标准。

然而,显然,Trident-3芯片并不是很适合用于SmartNIC的实现。

这是为什么呢?

让我们把时间轴拉回到1982年。

这一年的6月9日,一场恶魔导演的战争,刚刚拉开序幕。

在以色列的埃其翁空军基地,F-15重型制空战斗机与F-16多用途战斗机,满载着侵略者的野心,张牙舞爪地飞上了天空。很快,属于叙利亚的贝卡谷地响起了凄厉的防空警报,叙军官兵立刻打开雷达,密切注视着天空飞来的入侵者,准备用雷达引导来自苏联的萨姆-6防空导弹击落之。但他们等来的不是以色列的战斗机和攻击机,而是“百舍鸟”反辐射导弹和“狼”式地对地导弹。很快,叙军的导弹阵地成为了一片火海。

叙军不甘心失败,立即起飞了62架苏联生产的米格-21和米格-23战斗机,要消灭来犯之敌。米格-21和米格-23战斗机的升限、高空速度均优于以色列从美国进口的F15和F16战斗机,叙军期望在空战中发挥苏联战斗机物理性能的优势,从而挽回败局。

但是,叙军的战斗机刚刚起飞,就被以色列的E-2预警机捕捉到并锁定,几秒钟内,来自美国的电子计算机就计算出了敌机的航迹诸元,与储存的性能包线数据拟合以后,将数据通过数据链分发到所有的战斗机。而叙军战斗机却在以色列的波音707电战型释放的干扰前,雷达和通信子系统均无法正常工作,导弹发射后也被干扰失控,如同被蒙上眼的武林高手,与持枪的敌人进行战斗那样,最终结局是可想而知的。

这场恶魔导演的战争,给爱好和平的人们敲响了警钟:衡量武器的作战效能,不能只对比物理性能指标,更要注重其丰富的功能,以及智能化的程度。

而以Broadcom StrataXGS这样的可编程交换芯片,虽然具备强大的转发能力(可达Tbps),但转发能力实际上远远超出SmartNIC所需要的性能,而在可编程、智能化方面不足,无法执行复杂的指令,因此,在SmartNIC的赛道上成为了第一个出局者。

类似的出局者还有被Intel收购的barefoot tofino芯片。tofino-2具备65个100G以太网接口,可全线速转发,支持P4语言编程,但只能支持网络相关的功能卸载,无法实现virtio等功能,因此,barefoot公司利用tofino系列芯片实现SmartNIC的想法,也只能停留在PPT中。

下期我们将介绍更多的SmartNIC的实现思路——

请大家持续关注。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-08-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档