什么是硬件卸载?什么是软件定义网络?硬件卸载如何提供帮助?.docVIP

什么是硬件卸载?什么是软件定义网络?硬件卸载如何提供帮助?.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
什么是硬件卸载?什么是软件定义网络?硬件卸载如何提供帮助? CPU作为计算机的“大脑”扮演着重要的作用,网络、存储、计算……各种处理都需要CPU“亲历亲为”,导致其负荷过重,极大地影响了效率。为了解决这个问题,人们先后尝试了多种方法:扩充计算机容量、采用分布式处理、或提高其性能…… 十多年前,软件定义网络提出将控制平面与数据平面分离开来。如今,规模日益增大的数据对CPU提出了越来越大的挑战,对于数据,是否有更创新性的处理方法呢?本文将系统介绍SDN中的硬件卸载,包括硬件卸载概念、背景、方式、实践模拟等。 什么是硬件卸载? 硬件卸载是指将某些任务或计算从计算机的主处理器 (CPU) 转移到专用硬件组件(例如网络接口卡 (NIC) 或图形处理单元 (GPU))的过程,以提高系统性能和效率。这可以通过不同的方式、使用不同的技术和设备来完成。本文重点讨论软件定义网络中的硬件卸载情况。 什么是软件定义网络? 随着网络中设备数量和数据包处理量的不断增加,需要一种新的方法来管理网络。主流的解决方案是从传统的包含专用硬件与控制平面相结合并提供选定的功能的交换机等单个设备,转移到软件定义网络抽象出的控制平面、数据平面、管理平面三个不同的层。如下图所示: | 软件定义网络的演进 第一层是管理层或管理平面。这就像OpenStack这类应用所在的位置,可以将一些配置应用于网络并将其用于虚拟化等领域。下一层是控制平面。最下面是数据平面。它由硬件(例如白盒交换机)和软件(软件数据平面)组成,数据平面就是硬件卸载所在的地方。 软件数据平面是一个常用的术语,用来描述处理网络数据包中用户数据的应用程序。它包括了各种功能,例如转发应用程序(就像虚拟交换机一样)或是更专门的应用程序(比如作为虚拟网络防火墙)。最常用的情况下软件数据平面可以实现SDN的网络虚拟化功能,并将数据包传递给在虚拟化主机上运行的虚拟机。简而言之,软件数据平面让网络应用程序能够高效地处理和转发数据,以满足各种网络需求。 软件定义网络的挑战 软件数据平面在虚拟化主机上使用通用的CPU来运行数据包的转发和处理。尽管它可以将数据包分发给不同的虚拟机,但也存在一定的成本。 然而,使用软件进行数据包转发可能不够高效,无论是延迟还是数据包吞吐量方面。此外,为了实际运行数据转发平面,需要从主机操作系统中分配资源。这包括CPU资源(如时间和内存),而且性能的可靠性可能会受到挑战。特定的数据包流量特征或高负载工作可能会对软件数据平面的性能产生影响。 在接下来的部分,我们将展示如何利用硬件卸载来避免这些问题。通过硬件卸载,可以将一些数据包处理任务转移到专门的硬件中,从而提高性能和效率。这样可以减轻主机CPU的负担,并减少延迟,同时提高数据包的吞吐量。硬件卸载提供了一种更可靠和高效的方式来处理数据包转发,尤其是对于具有特定需求或高负载的情况。 硬件卸载如何提供帮助? 有一些纯粹的软件技术或方法可以缓解这些问题。与其依赖中断来获取数据包,我们可以在网络设备上使用硬件轮询。与在用户空间和内核空间之间复制内存或数据包不同,我们可以使用直接内存访问技术。然而,这往往会导致需要更多的资源。 运行软件数据平面往往伴随着高成本,这也表明了,也许使用硬件才是更好的选择。 SDN 中的硬件卸载 硬件卸载分为部分卸载和完全卸载两种方式。在部分卸载中,处理简单的网络任务(如匹配数据包头中的字段或替换某些头部)被委托给硬件,但数据包仍然必须进入软件中通过某个虚拟交换机进行处理,并转发到适当的目的地。 在完全硬件卸载中,数据包转发的责任被委托给硬件。硬件不仅匹配字段或替换头部,还将数据包转发到适当的端口,通常是卡的虚拟功能。 这两种解决方案都有利弊。部分硬件卸载具有软件交换的所有优点,因为数据包仍然进入软件进行处理,但性能较低。完全卸载中,网络性能更好,因为硬件完全处理数据包,但失去了灵活性。例如,由于虚拟机直接连接到硬件,迁移虚拟机更加困难。 使用网卡进行硬件卸载 在硬件卸载中,最好的解决方案是使用传统的网卡,也称为网络接口卡或网络接口控制器。这是一种流行的设备,您可能已经在您的软件定义网络中部署过。市场上大多数网卡都支持硬件卸载,并提供诸如VLAN或VXLAN封装和解封装、按数据包头进行匹配等功能。这种设备被认为成本和功耗较低,并且相对快速。另一个优点还包括供应商提供可靠的资源,例如设备的整个生命周期内的文档和支持。 然而,传统网卡也有一些缺点。供应商不仅选择功能,还选择使用这些功能的API 。因此,如果网卡不具备您正在寻找的功能,可能就需要换另一个设备。 下一步 - SmartNIC SmartNIC 是可以绕过传统网卡限制的一种方法。SmartNIC 与网卡类似,但添加了可编程部分,通常是 FPGA 或 ASIC。用户可以自行对

文档评论(0)

yuzhongao9872 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档