EEJournal

专题文章
现在就订阅

随波逐流

通过做其他事情来帮助新闻部

你有个跟踪狂。

他或她现在正在看着你。也许视觉上看不出来,但你听到的那种轻微的嘶嘶声?有人在闻你的包。这个人需要你的独家关注,分发拒绝服务攻击,这样你就不能关注那些试图把你引入歧途的婊子了。考虑你的邮件已读;你的隐私已经死了。你可能得到了不需要你关爱的机器人宝宝;他们只是帮助你的真爱永远监控你所做的一切。

被崇拜是一件了不起的事情。你一定觉得很幸运。

实际上,具有讽刺意味的是,即使所有这些事情都可能发生,其中一些是黑帽子的结果,而一些是白帽子的结果,它试图保护你不受黑帽子的伤害。虽然,在某种程度上,白色只是一种非常苍白的黑色阴影。

本文是两篇文章中的第一篇,这两篇文章将处理与检查您最深处的秘密有关的问题:深度包检查(DPI)。虽然基本的网络协议只处理如何将有效载荷从这里转移到那里,但DPI涉及到有效载荷本身。就像在州际公路上开车一样。在大多数情况下,警官可能只是监控你的旅行的一个外在抽象:你的速度。但偶尔你也得把车开进这些检查站,以确保一根迷路的香蕉不会毁掉整个州的经济。如果有必要,他们可以对你的车进行深度有效载荷检查。更加个人化。

在我们正在讨论的上下文中,DPI是一个更大主题的一部分:入侵检测或防御。因此,它的目的是确保在您的数据包中没有邪恶的支持者。但是,就其本身而言,DPI只是一种查看数据包内容的方法,可以被用于窥探和间谍活动,以及其他人可能会对你的数据包做的任何事情,无论是否得到法院的批准。

这些文章的主题是由一些不相关的信息引发的。第一次是今年早些时候在ESC与Netronome的Jarrod Siket的对话。Netronome显示了他们运行的DPI基准测试的结果。你我都清楚,如果他们在大会上展示结果,那他们一定赢了。没有惊喜。没有媒体被阻止。

而且,通常情况下,这样的烘烤比赛以接近的结果结束,各种参赛者争吵和生气,为什么这个或那个不重要或不公平或诸如此类。

但这次并非如此。Netronome的结果比最好的非Netronome竞争对手大约好8倍。这是引人注目的。要么发生了有趣的事情,要么发生了大规模的欺诈。我没有听到任何犯规的叫声(不要和在城市环境中越来越常见的家禽叫声混淆,但我跑题了),所以我只是从表面上看这个问题。

基准测试涉及一个流行的DPI程序Snort.在NSS实验室进行的测试中,Netronome板能够通过80gbps,涉及6000万个流,其中50万个是TCP和HTTP-CPS流,包大小混合。使用Netronome技术的SourceFire板达到了40 Gbps。下一个竞争者,McAfee M-8000系统(使用高端RMI处理器构建),只有11 Gbps多一点,长尾从这里开始下降。

所以我马上想到的问题是,Netronome的技术有什么地方可以让它在DPI上跳跃?事实证明,这不是处理好DPI的问题,而是处理好其他事情,使DPI运行得更快。事实上,进一步关注DPI可能会进一步提高得分。但让我们回过头来,根据Netronome的世界观,从更大的角度来看看这里发生了什么。

在大多数情况下,包处理器可以分为两类。第一种是基本网络处理单元,简称NPU,由EZchip等公司制造。这些都是一心一意的集成电路,目的只有一个:尽可能快地路由数据包。它们在一种模式下运行,有一个专用的管道,可以极快地处理一个典型的数据包——所谓的“快速路径”或“数据平面”——和一个单独的处理器来处理控制和奇怪的数据包,这些数据包太罕见了,无法负担快速路径:这是“慢路径”或“控制平面”。(严格地说,快/慢路径模型和数据/控制平面模型不是同构的,这是迂腐的。)这些芯片对于获得高密度10 gb或100 gb以太网端口所需的吞吐量非常重要。它们通常不会在OSI模型的第4层以上运行,而且许多都针对古老的IPv4 -互联网协议的第4版进行了优化,可用的IP地址越来越少,现在才准备好开始失去对IPv6的统治地位。

与之相对的是cavvium和以前的RMI(现在是Netlogic的一部分)等公司生产的更强大的芯片。这些是针对网络应用进行优化的多核芯片,具有一些硬件加速器——比如调度或加密。与构成NPU快速通道管道的小型发动机不同,这些是来自MIPS等公司的全处理器,使它们能够执行更广泛的任务。它们可以在OSI的任何级别上工作,包括第7层,达到有效负载的最私密的角落。

Netronome看到了中间的空间。有许多像TCP这样的常见协议需要会话管理,或者需要将给定数量的数据分割到大量数据包上,这些数据包最终必须按照它们传输的顺序进行协调。npu不能这样做,因为它们一次只看一个包。较大的芯片可以做到这一点,但速度不够快:它们的性能已经超过了这项工作。

这就是Netronome创建“流处理器”的地方。它是数据包之上的下一个抽象级别:一系列相关的数据包构成一个流。数据包有顺序,流有状态。原始的有效负载可能已经被分割到许多数据包中,因此任何单个数据包将只有整个有效负载的一部分。

这与DPI特别相关,因为如果您要检查通过线路传输的内容,并且它被分解成块,那么特定的泄密签名实际上可能会在数据包中被分割。如果您只检查单个数据包,则没有一个会产生危险信号。只有当你把它们重新组合在一起时,你才能找到它。状态在这里变得很重要,因为如果在一个包的末尾,您正在跟踪一些可疑的东西,那么您希望将其保存为状态,以便在遇到系列中的下一个包时(它可能不是接收到的下一个包,甚至可能不是从特定流接收的下一个包,因为包可以在飞行中重新排序),您知道从停止的地方继续搜索。

Netronome从英特尔公司获得了他们的基本处理单元,他们称之为微型引擎。英特尔是NPU领域的一个大玩家,将他们的微引擎用于快速路径,XScale处理器用于IXP家族的慢速路径。他们最终卖掉了这项技术,Netronome现在拥有微型发动机。

他们使用这些微型引擎——确切地说是40个——在基本的网络处理器架构上构建,并创建了他们所谓的网络流处理器(NFP)技术。信息包不再是信息的基本单位,流或会话现在是基本单位。他们提供了加速块,包括环和列表、CAM和TCAM、具有重排序、内存锁定和哈希的工作队列。

IXP家族面临的挑战之一是编程模型。这需要对微型引擎进行极其繁琐的微型编码。以至于有一家名为Teja Technologies的公司(完全公开,我为该公司工作)通过基于C语言而不是微代码为IXP设备(和其他npu)提供编程模型来开展业务。Teja被ARC收购(被Synopsys收购的Virage收购),所以Netronome添加了他们自己的C前端,以允许更传统的编程。

问题是,这些芯片如何加速DPI?答案是,事实上,他们没有。在他们运行的烘烤比赛中,他们的芯片甚至不能处理DPI的事情:一个独立的主机处理器可以。但是,按照Netronome的逻辑,如果没有他们的NFP芯片,你的选择要么是npu,它根本不能做DPI,要么是更大的芯片,可以做DPI,但也会负担包处理,使许多周期无法用于DPI处理。

NFP芯片在这些选项之间进行了折中:它们承担了npu无法处理的流级别数据包处理的负担,并且只向主机处理器发送需要DPI(或其他类型的特殊TLC)的数据包。这使得流管理更加高效,在主机中为DPI留下了更多的周期。结果呢?一切都跑得更快。

具体来说,在基准测试期间进行的处理中,有几个重要的任务正在执行:

  • 分组解复用和分类;
  • 零拷贝大块传输;
  • I/O虚拟化(用于PCIe);
  • 出站交通管理;
  • 卸载TCP;
  • SSL检验;
  • I/O安全性和DPI。

其中,前四个是由NFP芯片处理的;其余的由一个多核x86主机完成。下一个明显的问题是,如果我们加速了最后三项会怎样?显然,事情可以发展得更快。

这就引出了本系列的下一篇文章:加速DPI部分的一种方法.这将使我们更深入地了解DPI的内部。

更多信息:Netronome网络流处理器

留下回复

有特色的博客
2023年1月11日
探索对2023年云计算的预测,包括数据中心和云部署模型、云中的芯片验证和基于云的EDA工具。《2023年值得关注的5个云预测》首次发表在《从硅到软件》....上
2023年1月11日
寄生电容的影响是关注高频PCB设计的主要原因。寄生电容是由于在电路中放置得太近而在两个元件之间积聚电荷而形成的。这种意想不到的电容可能是t…
2023年1月10日
ChatGPT会发展到能够写出C.S. Lewis写的《纳尼亚传奇》这样的作品吗?
2023年1月9日
Calibre在Kubernetes上运行,而大多数Calibre半制造作业仍然在使用... ...的本地计算集群上运行

有特色的视频

Synopsys 224G和112G以太网PHY IP OIF在ECOC 2022互操作

Synopsys对此

这段特色视频展示了Synopsys 224G和112G以太网PHY IP中长到达性能的四个演示,与第三方通道和serde互操作。

了解更多

特色粉笔谈话亚博里的电子竞技

蓝牙LE音频

逮老鼠的电子产品而且北欧半导体

蓝牙LE音频是当今音频创新的一个突出组成部分。在这一期的Chalk Talk中,来自亚博里的电子竞技北欧半导体公司的Finn Boetius和Amelia Dalton讨论了蓝牙LE音频的内容、位置和方式。他们仔细研究了蓝牙LE音频配置文件,蓝牙LE音频的架构,以及如何开始在您的下一个设计中使用蓝牙LE音频。

点击这里了解更多关于北欧半导体nRF5340多核片上系统(SoC)的信息

Baidu