0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于SDN的深入解析

lC49_半导体 来源:djl 作者:nextplatform 2019-08-27 15:20 次阅读

越来越多的数据中心网络是在软件定义的网络白盒上执行的,而不是在由一个供应商控制的专用黑盒机器上执行的。将硬件从软件中解放出来不但可以让两者独立发展,而且也可以让网络设备进行调整,只需要做必要的工作就行,不再做其他工作。

SDN成功地将控制平面和数据平面分离,采用基于软件的集中控制平面来指导网络硬件数据平面,并确保整个网络的高效管理。集中控制平面软件使许多物理和虚拟交换机的配置、管理和更新变得容易,而不是在每个交换机中嵌入控制器。这是一种趋势,许多大公司都试图在现有硬件的基础上构建SDN层平台——通过专有网络控制器将该硬件与软件层集成。他们的营销理念是提供一个集中管理和安全的交钥匙包。

这样的设置可能看起来很有吸引力——如果您已经在熟悉其平台的工程师的帮助下操作该供应商提供的网络套件,则这种设置被视为低风险——但这意味着您被锁定在该供应商的范围内。这种锁定的代价是巨大的:私有控制器从几万美元开始,很快就会达到几十万美元。

幸运的是,有一种向更开放的SDN形式发展的趋势,它采用标准协议,并且不会将您锁定到单个供应商中。

SDN的未来是开放的

SDN的两个基础协议是虚拟可扩展LAN(VXLAN),用于创建网络覆盖,以及提供控制器功能的以太网虚拟专用网络(EVPN)。这两个标准已被RFC7348(VXLAN)和RFC8356(EVPN)中的互联网工程任务组(IETF)采用。

它们是如何工作的?VXLAN将第2层以太网帧封装为第4层UDP数据包,以创建覆盖层——物理基础设施上的虚拟网络,为特定功能或服务承载流量。它避免了重新配置物理网络以部署新服务的需要,并且多个第2层网络可以在一个物理网络之上共存。

VXLAN之所以受欢迎,是因为它具有可扩展性:它为VXLAN支持超过1600万个虚拟网络,而标准第2层VLAN协议(IEEE 802.1q)仅支持4094个。每个VXLAN也可以跨一个中间层2网络运行,而标准VLAN通常仅限于一个L2域。这两个事实都使VXLAN特别适合在复杂和不断扩展的数据中心环境中运行服务。

EVPN从技术上来看是边界网关协议(BGP)的一个扩展,用于路由互联网上的流量。EVPN最初是用于多协议标签交换(MPLS)以取代服务提供商网络中的虚拟专用LAN服务(VPL),但现在EVPN已被IETF选为数据中心内网络覆盖的控制平面。

传统上,BGP在IP堆栈的第3层运行,而EVPN在第2层(MAC地址)运行。EVPN使用相同的机制来实现MAC地址学习,因此VXLAN虚拟隧道端点(VTeps)可以发现在何处需要转发网络覆盖数据包,以便它们到达最终正确的VTep目的地。vtep通常是托管虚拟机的服务器中的虚拟交换机,但它也能够处理vxlan和终止vtep的物理以太网交换机。在数据中心的虚拟化部分和非虚拟化部分之间架桥时,这种交换机至关重要。

BGP已被证明可以使用 EVPN进行扩展, 从而可以传播IP和MAC地址, 而无需集中 (通常是昂贵的) 控制器。因此, 这种体系结构有时被称为 "无控制器EVPN"。

进入无控制器云结构交换机

这一切听起来都很好——但等一下。虽然网络覆盖很简单,但由于网络节点只需要VTEPs的支持来转发数据包,因此在管理覆盖时,它们确实引入了一定程度的复杂性。此外,VXLAN和EVPN也有一定的权衡。

VTEP显然要求交换机可以支持VXLAN协议,但许多支持VXLAN和EVPN的交换机只支持少数端口和服务器机架。此外,在许多交换机上,获得这些功能需要一个高价格的软件许可证。

解决这一问题的一种方法是部署增强型以太网交换机,该交换机专为以太网云结构(ECF)设计,以bgp作为控制平面处理evpn和vxlan。正确设计的ECF交换机为数千个虚拟端点和数百个机架提供可扩展的支持,所有这些交换机在其所有端口上以25GB/秒、50GB/秒和100GB/秒的线速运行。云结构交换机应该在基本软件包中包含这些功能,而不需要额外的昂贵许可证。

这些ECF开关具有许多优点:

交换机保持较低的延迟,并将微爆炸或由于缓冲区结构设计不当而导致的性能不均衡造成的数据包丢失降至最低。

这些交换机是“无控制器的”,因此您可以消除与专有网络控制器相关的成本和可能的锁定。

交换机与SmartNICs或智能NICs一起工作,可获得额外的VXLAN性能和可扩展性。

实现VTEP更简单、更灵活,因为它可以在服务器NIC或交换机硬件中完成,无论哪一个对于服务器类型和网络体系结构都是有意义的。

它们允许单个仪表板视图显示您的全部虚拟化,计算和网络基础架构元素。

用硬件加速定义的软件

但是,还有另一个难题:即使交换机支持vxlan和vtep,每个使用覆盖网络和vxlan隧道协议(tunnel protocol)的服务器中的网络接口控制器(nic)也必须能够在其硅中处理新的包头格式。如果不这样做,主机CPU最终不得不做所有的覆盖网络处理,吸收CPU内核,从而损害应用程序的性能。

这一事实表明,许多超大型互联网公司将车载硬件加速器集成到其服务器的NIC中,以从主机卸载SDN功能,如VXLAN数据包封装/去封装、RDMA和开放式VSwitch(OVS),并释放CPU核心。

这些所谓的智能卡现在作为数据中心的产品出现,但是有不同的实现智能卡的方法,不同的供应商采取不同的方法。通常,这些方法分为三种:智能网卡使用定制设计的特定于应用程序的集成电路ASIC),使用FPGA,或向网卡添加CPU核心(通常基于ARM)来执行加速。

ASIC和FPGA方法是当今最常见的方法,它们为处理网络卸载提供了良好的性能。然而,fpgas通常成本高昂,编程难度相对较大,因为它们通常依赖复杂的低级硬件定义语言,如verilog。这意味着它们通常用于优化不太可能经常更改的特定函数。

使用ASIC提供了价格和性能的巨大平衡,以及通过开放式API(例如:linux tc/flower)进行数据平面编程的能力。核心ASIC功能不可重新编程,但在设计合理的基于ASIC的智能网卡中,外部网络控制器可以快速修改数据管道。此外,还可以通过固件更新添加新的功能和加速。使用ASIC方法时,控制平面处理仍然驻留在主机CPU上。

第三种方法是将网卡转换成一个片上系统(SOC),其中一个或多个CPU与标准网络接口逻辑集成在一起。这是迄今为止最灵活和开放的方法,因为它允许使用标准操作系统(如Linux)以及使用熟悉的编程语言实现的功能,从而产生可以根据需要随时更新的代码。这些基于SoC的智能卡的一个基本优势是,控制平面也可以在集成处理器上运行,与在主机CPU上运行的应用程序在完全不同的安全域中运行。与不受信任的主机应用程序的隔离是交付受信任的裸机云的关键功能。

事实上,有些人甚至声称,可编程的、CPU增强的网卡应该被视为唯一的“真正”智能网卡,而那些使用FPGAs 或ASICs的网卡则只能比标准的网卡稍微智能一些。专门构建和编程的数据包处理是智能网卡和智能网卡灵活性的核心,允许它们提供更多的SDN和其他以网络为中心的应用程序的通用加速,并承担其他任务,如安全过滤或驱动软件的功能。重新定义的存储。

携带一个智能网卡,行走自如

SDN越来越受欢迎,但不要认为这意味着它们在某种程度上必须是简单的。SDN并不是微不足道的,您应该仔细计划,因为您在旅程开始时所做的技术选择将具有深远的影响。

专有系统似乎是构建模块的一个安全选择,但它们通常成本高昂,而且集中式SDN控制器与交换和路由元素紧密耦合的)与其他供应商的产品不太协调。你将限制未来的选择。

使用VXLAN,EVPN, SmartNICs and Intelligent NICs等工具为sdn选择开放式体系结构意味着您可以保持网络选项的开放性,而不会对您的钱包或灵活性造成不可避免的影响。

唯一的警告?需要仔细考虑这些覆盖网络的处理负担将从何而来-合适的交换机和智能网卡中的硬件加速可以确保您的服务器保持正常运行:运行工作负载。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16214

    浏览量

    177486
  • 虚拟化
    +关注

    关注

    1

    文章

    368

    浏览量

    29775
  • 数据包
    +关注

    关注

    0

    文章

    253

    浏览量

    24367
收藏 人收藏

    评论

    相关推荐

    labview设计模式深入解析-天津大学精仪学院

    使用labview设计模式深入解析ppt:[hide][/hide]labview设计模式深入解析DEMO:[hide] [/hide]
    发表于 12-28 16:10

    NAND闪存深入解析

    本帖最后由 eehome 于 2013-1-5 10:03 编辑 NAND闪存深入解析
    发表于 08-09 14:20

    深入解析WINDOWS操作系统(第4版)

    本帖最后由 lee_st 于 2018-3-4 01:08 编辑 深入解析WINDOWS操作系统(第4版)
    发表于 03-02 23:45

    SDN面临的问题有哪些?如何解决?

    本文对SDN技术做了简单的概述,并介绍了Openflow技术及其相关组件和研究的进展,提出了SDN面临的问题和解决思路,最后介绍了SDN的应用部署。
    发表于 05-21 06:09

    深入解析传感器网络中实时通信的研究

    深入解析传感器网络中实时通信的研究
    发表于 05-26 06:00

    深入解析ARM Cortex-A12架构

    深入解析ARM Cortex-A12架构
    发表于 01-14 12:31 21次下载

    什么是SDN

    什么是SDN
    发表于 01-24 17:21 10次下载

    关于黑客渗透思路解析

    关于黑客渗透思路解析
    发表于 09-07 09:47 18次下载
    <b class='flag-5'>关于</b>黑客渗透思路<b class='flag-5'>解析</b>

    数据中心网络SDN技术全解析

    SDN是一种将网络控制层面和数据转发层面分离的技术,可以为网络带来可编程的特性。未来的网络将和计算机一样,提供一个硬件平台,在此基础上通过软件对网络进行可编程设计。 SDN概念说起来简单,但是实际
    发表于 10-13 17:08 7次下载

    STM32的USB库深入解析

    STM32的USB库深入解析
    发表于 10-15 09:21 89次下载
    STM32的USB库<b class='flag-5'>深入</b><b class='flag-5'>解析</b>

    SDN三种主要的网络模型解释

    篇技巧中,我们将讨论三三种主要的SDN 模型,解析每一种模型的基本目标、机制、有点以及缺点。 SDN 解释:网络虚拟化模型 市场上考虑的最简单的SDN 模型就是网络虚拟化模型,Nici
    发表于 10-18 16:44 4次下载

    10个关于SDN软件定义网络的问答

    软件定义网络(SDN)是一种为了简化配置和维护而虚拟化网络的方式,就像虚拟化服务器和存储那样。其中不同的是SDN做为网络解决方案并不像服务器和存储的虚拟化那样完善。虽然如此,SDN正在走来
    发表于 11-17 11:48 1393次阅读

    软件定义网络(SDN

    当前,软件定义网络(SDN)成为业界一个时髦的话题,SDN技术及其可能带来的影响受到了学术界和产业界的高度重视,同时也存在着对SDN不同的理解和认识。本文试图从梳理SDN技术的发展脉络
    发表于 12-06 09:59 1430次阅读
     软件定义网络(<b class='flag-5'>SDN</b>)

    为什么是汽车SDN?汽车SDN-原型和用例

    SDN的关键特性 1 sdn可以在发生故障时提供故障转移操作。 2 sdn可以根据车辆情况动态控制带宽。 3 sdn可以在新服务部署后重新配置网络。
    发表于 02-15 10:57 730次阅读

    深入解析与无线通信RFIC设计与测试实用指南

    深入解析与无线通信RFIC设计与测试实用指南
    发表于 04-16 11:03 298次阅读
    <b class='flag-5'>深入</b><b class='flag-5'>解析</b>与无线通信RFIC设计与测试实用指南