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

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选择开放式体系结构意味着您可以保持网络选项的开放性,而不会对您的钱包或灵活性造成不可避免的影响。
唯一的警告?需要仔细考虑这些覆盖网络的处理负担将从何而来-合适的交换机和智慧网络卡中的硬件加速可以确保您的服务器保持正常执行:执行工作负载。
**点选文末阅读原文,可阅读英文原文。
今天是《半导体行业观察》为您分享的第1973期内容,欢迎关注。
2018半导体行业资料合集 长期有效!
半导体行业观察
‘半导体第一垂直媒体’
实时 专业 原创 深度
识别二维码,回复下方关键词,阅读更多
华为|三星|美国|射频|CMOS|英飞凌|RISC-V|晶圆
回复 投稿,看《如何成为“半导体行业观察”的一员 》
回复 搜寻,还能轻松找到其他你感兴趣的文章!
点选这里,阅读 英文原文!





























