高性能计算系统——高性能大数据分析的网络基础设施

高性能大数据分析的网络基础设施

高性能计算系统——高性能大数据分析的网络基础设施
IT基础设施缩小这一差距的关键要求之一是横向或纵向扩展现有基础设施的规模。

  • 横向扩展(scale-up):通过使用更高性性能和更大容量的组件来扩展基础设施。例如对于服务器使用更多的CPU、内核和内存的服务器。对于存储设备,可能意味着使用具有更高性能和存储容量设备。
  • 纵向扩展(scale-out):基础设施的纵向扩展是增加更多的组件,从而可以并行执行更多的处理,进而加速处理的速度。

当前网络基础设置的局限性

  1. 网络的静态性:当今的网络基础设施有一系列的协议,用于可靠的连接距离越远的系统,同时提供好的性能和安全性。多数的协议是为了特定需求而设计的,为了增加任何特定网络的设备,会要求改变多个网络组件,例如访问控制列表,交换机、路由器、防火墙、有些情况下需要改变门户。在当今的基础的设施中,服务器虚拟化是一种优化服务器资源使用的常见趋势。有了服务器虚拟化后,数据中心的每天服务器可能需要同数百或数千的服务器进行通信。

    处理虚拟化,另一种对现有网络基础设施提出严峻挑战是聚合网络(converged network)的概念,即使用相同的IP网络对不同类型的IP数据,例如声音、数据、视频流。由于网络设计的静态性、网络缺乏根据应用程序和用户的需求变更来改变其参数的能力,例如QoS、宽带等。

  2. 刚性的网络策略:现有网络基础设施的刚性和孤立性,在其中实现新的网络策略是一项非常繁杂的任务。

  3. 无法扩展:这些并行算法设计出来、计算所使用的的各个服务器间的大量数据交换。这种场景要求高度可扩展高性能网络,,而且应当只需要很少干预胡人工的干预。当前网络的固化和静态特征不足以满足机构的此类需求。

  4. 供应商依赖:目前的机构在网络基础设施中要求大量新特性,从而帮助它们根据业务环境的需求变化进行扩展。在很多的情况下,可能无法实现这些特性,因为它们不受网络基础设施供应商的支持。

高性能大数据分析网络基础设施的设计方法

高性能计算系统——高性能大数据分析的网络基础设施

网络虚拟化

网络虚拟化是指一个网路基础设施上创建多个逻辑网路分区。这种分段将网络划分成多个逻辑网络。这种使用网络虚拟化技术逻辑分割得到的网络被称为虚拟化网络或虚拟网路。虚拟网络中的网络管理流量,包括网络广播,不会传播到其他虚拟网络的任何节点中。使得我们可以对虚拟网络中具有共同需求集合的节点进行功能分组。不需要考虑节点的地理位置。逻辑网络分区可以同通过使用网络技术来创建,例如虚拟局域网(VLAN)、VXLAN、虚拟存储局域网(VSAN)等。
高性能计算系统——高性能大数据分析的网络基础设施

网络虚拟化是通过虚拟机hypervisor和物理交换操作系统(OS)来完成的,这些软件允许管理员在物理机网络和虚拟机网络上创建虚拟网络。

hypervisor具有内置的网络化即网络虚拟化功能。可以利用这些功能来创建虚拟交换机并配置虚拟网络。这些功能也可以通过第三方软件提供,这些软件也可以安装到hypervisor中。

网络虚拟化的主要优点:

  • 确保访客(guest)与合作伙伴访问的安全:很多机构允许客户以及其他业务伙伴使用internet访问它们的某些资源。虚拟化网络有助于它们提供单独的访问。同时这也有助于保护机构的机密信息以及其他机密资产。
  • 基于角色的访问控制实现:使用网络虚拟化技术,有可能创建单独的用户组或业务部门。这将有助于确保只有特定的用户组/业务部门能够访问属于他们的特定敏感信息。
  • 设备隔离:出于安全或性能的问题,有些设备、设备组件可能需要同其他设备、设备组件隔离。
  • 安全的服务支付:确保每个客户的隐私和数据的安全性。可以将每个客户的数据通过专属于他们的虚拟网络进行路由实现。
  • 提高利用率并降低资金支出:网络虚拟化使得多个虚拟网络可以共享同一物理网络,改善网络资源的利用率。

网络虚拟化的一些重要用例

  • 兼并和收购:网络虚拟化可以合并多个机构的网络组件、确保平滑、同步的功能。
  • 企业全球化:网络虚拟化被证明可以通过创建多个虚拟化域来方便地处理此类情况。
  • 零售业:虚拟化网络有助于将第三方机构或合作伙伴的流量同零售店的流量隔离开来。
  • *部门:*的IT部门可以使用网络虚拟化技术来分割部分服务、应用程序、数据库和目录,这样有利于资源整合和提高成本效益。

虚拟网路的组成部分

虚拟机运行在一个完整的系统之上,在该系统中已经实现了某种虚拟化软件,但这些虚拟机(VM)还需要一个虚拟网路,该网络具有物理网络的所有组件和特性。它们还需要连接到服务器中的虚拟交换机上。虚拟交换机是逻辑层2(OSI模型)上的交换机,驻留在hypervisor中的某种物理器中。
高性能计算系统——高性能大数据分析的网络基础设施

虚拟交换机提供流量管理,方式是将数据包路由驻留在hypervisor中的虚拟机。对数据包进行路由需要物理地址(MAC)来指定数据包将要路由到的目标VM。这些虚拟机MAC地址被把保存在和唯一与一个MAC地址表中,除了MAC地址外,该表还维护虚拟交换机端口的细节,数据包需要通过这些端口来进行转发。

虚拟交换机也有利于同一服务器内部的VM间的通信,直接将VM流量导入物理网络。VM流量交换到物理网路,使得VM能够同它的客户端或驻留在其他物理服务器中的VM进行通信。虚拟交换机可以连接到多个物理网络接口卡(NIC)。这样通过outband流量分布到多个物理NIC上,有助于进行流量管理。

各种虚拟交换机端口类型如下所示

  • uplink端口:将虚拟机连接到服务器的物理NIC上,虚拟交换机通过该NIC呈现。虚拟交换机只有在通过upllink端口连接多个或至少一个NIC时,才能够将数据传送到物理网络。
  • VM端口:将VINC连接到虚拟交换机
  • hypervisor kernel端口:将hypervisor kernel 连接到虚拟交换机。

端口分组是一种将端口根据特定标准进行分组的机制,例如安全性、流量类型等。可以通过多种方式来完成端口分组。通常使用的方法之一是基于策略的端口分组。这涉及根据特定需求来为一组虚拟交换机端口创建并应用策略。

虚拟网络的另一个重要的虚拟网络接口卡(VINC)。一台虚拟机可以连接到多个虚拟网路接口卡。VNIC的工作非常类似于物理NIC,主要的区别在于VNIC用于将虚拟机连接到虚拟交换机。

实现网络虚拟化的技术

虚拟LAN(VLAN)

VLAN是在某个LAN或多个包含虚拟和物理交换机的LAN上创建的逻辑网路。VLAN技术可以将一个大的LAN划分为多个小的虚拟LAN,或者将多个LAN合并为一个或多个虚拟的LAN。虚拟LAN是通过对交换机端口进行分组实现的,分组方式是所有连接到这些特定交换机端口的工作站都接收发送到这些交换机端口的数据。
高性能计算系统——高性能大数据分析的网络基础设施

在基于VLAN中,交换机端口被指派了一个VLAN ID。连接到特定交换机端口的工作站会自动得到特定VLAN的成员身份。

VLAN优点:

  • 特定VLAN内的广播流量不会传播到另一个VLAN中。这种VLAN流量限制为用户流量节省了带宽,因此提高了性能。
  • VLAN提供了简单、灵活、成本低管理网络方式。
  • VLAN通过将敏感数据隔离在VLAN间提供了增强的安全性。
  • 由于多个VLAN可以共享一个屋里LAN交换机,交换机的利用率得到提高,减少了为不同节点组采购网络设备的资金支出。
  • 由于VLAN为工作站提供了通过改变交换机配置从一个VLAN变动到另一个VLAN灵活性。

VLAN Tagging

很多情况下,有必要将一个VLAN分布到多个交换机上,尽管存在多个方法来完成这一点,最流行的方法是VLAN Tagging。这种通过名为VLAN Tagging 的数据帧标记技术来完成的。这种技术的唯一限制就是要求以太网报文头部(Ethernet header)的基本格式。
高性能计算系统——高性能大数据分析的网络基础设施

头部的主要字段

  • TPID:这是标记协议标识符,主要的目的是表示存在标记头部的事实,并且包含以下字段。
  • User priority:这个字段包含3位,表示数据帧中需要包含的优先级信息,一共8个优先级,0表示最低优先级,7表示最高优先级。
  • CPI:这个字段仅包含1位,而且对于以太网交换机,总设置为0。这个字段主要用于指示以太网和令牌环环网间的优先级。
  • VID:这个字段同虚拟LAN标识符对应,而且该字段对VLAN分布到多个交换机上起着关键作用。

总结如下:

  • 如果某个端口被标记为特定的VLAN的成员,则所有通过该VLAN发送到端口的数据包应当将一个VLAN标记插入它内部。
  • 如果某端口接收带有特定VLAN ID的被标记的数据包,那么该数据包需要该VLAN关联起来。

虚拟LAN有其自身的局限,主要的局限就是它的可扩展性。这个可扩展性问题可以通过使用名为虚拟可扩展局域网(VXLAN)的技术来解决。该技术大量用于数据中心,因为对于数据中心,大规模可扩展性是一个重要的需求。

虚拟可扩展局域网

VXLAN通过使用第二层的隧道功能,有助于克服IP子网所引起的限制,它帮助数据中心管理员实现很好的三层架构,同时确保VM可以无限制地跨服务器移动。
高性能计算系统——高性能大数据分析的网络基础设施

VXLAN流量别多数网络设备透明管理。对于VXLAN,IP封装的流量像普通IP流量那样进行路由,封装和拆封都是VXLAN网关完成的,它也称为虚拟隧道重点(Virtual Tunnal End Point,VTEP)。

VTEP可以通过以下的方式来实现:

  • hypervisor中的virtual bridge。
  • 可感知VXLAN的虚拟机应用程序
  • 支持VXLAN的交换机硬件

每个VXLAN网络分片有着24位唯一标识符。这个标识符也被称为VXLAN Network Identifier或VNI。24位地址空间能够大量扩展虚拟网络。

VXLAN通过组合虚拟机的MAC地址以及VNI来保证虚拟机的唯一性。这有时候会导致数据中心MAC地址的重复。这这种情况下,唯一的限制是相同的VNI中不能够出现重复的MAC地址。属于某个特定子网的虚拟机不需要任何特殊配置就可以支持VXLAN流量。主要的原因VTEP的存在,它通常是hypervisor自身一部分。VTEP的配置应当包括层2或IP子网到VNI网络的映射以及VNI到IP的多播组映射。第一种映射允许构建转发表来推动VNI/MAC流量的流动,第二种映射帮助VTEP在网络上执行广播或多播。

存储局域网中的虚拟网络,被称为虚拟存储局域网(VSAN)。虚拟SAN是服务器或存储设备的逻辑分类,创建在存储局域网中,目的是便于有着共同需求的一组节点之间的通信,无论他们的物理位置是怎么样的。每个VSAN都是一个独立的fabric,而且被独立管理。每个VSAN有着它自身的fabric service集合、配置、独特的光纤通道地址集合。对某一特定的VSAN进行配置不会对任何其它VSAN产生影响。类似VLAN tagging,VSAN有它的tagging机制。

虚拟网络中的流量管理

必须对网络流量进行管理,才能够优化性能和网络资源的可用性。管理网络流量的一个主要的目的是负载均衡。这是一种将工作负载分布到多台物理机或虚拟机上,并且并行化网络链接的技术,目的是防止过度使用或未充分使用这些资源并优化性能。这是通过专用的软件或硬件来提供的。

当多个VM流量共享带宽时,网络流量管理技术确保每个VM产生的流量的服务水平,流量管理技术允许管理员为不同类型的网络流量配置分配带宽的优先级。

链路聚合

链路聚合是用于将多个网络连接聚合为一个连接的技术,目的是提供更高的吞吐量,从而提供显著的性能改善。

  • VLAN中继:VLAN中继是一种允许多个VLAN流量穿过一个链路或网络连接的技术。这一技术允许任何两个联网设备之间的单独连接。多个VLAN流量可以穿过的单独的连接被称为一条中继链路。VLAN中继使得联网设备上的一个端口可以用来通过一条中继链路发送或接受多个VLAN流量。能够传输同多个VLAN相关的流量的端口被称为中继端口。必须确保发送和接收的联网设备需要至少一个端口配置为中继端口。联网设备上的中继端口被包含在定义在该联网设备上的所有VLAN中,并且为所有VLAN传输流量。
  • NIC分组:NIC分组是一种对连接到虚拟交换机的物理NIC进行逻辑分组的技术,这样做的目的是为了均衡网络流量,确保发生NIC故障或网络链路失效等情况时的故障转移。

流量整形

流量整型形制网络带宽,通过限制非关键流量,避免对关键业务应用流量造成影响。它还有有助于确保被要求的服务质量。流量整形可以在虚拟交换机级别进行启用和配置。流量整形使用三个参数来对网络流量进行调节和整形:平均带宽、峰值带宽、突发大小。

平均带宽:为了设置一段时间里允许的虚拟交换机的数据传输速率(每秒位数)。虚拟交换机的某个端口的工作负载可以在短期内超过平均带宽。不考虑排队或丢帧的情况,为峰值带宽提供的值决定了允许通过虚拟交换机的最大数据传输速率(每秒位数)。峰值带宽的值总是要比平均带宽的值高一些。

当虚拟交换机的传输速率超过平均带宽时,被称为突发。

软件定义网络

软件定义网路(SDN)是将网络控制从底层网络设备解耦的一种范型,并且嵌入名为SDN控制器的基于软件的组件中。这种控制的分离使得网络服务从底层组件中抽象出来有助于将网络当做逻辑实体来对待。
高性能计算系统——高性能大数据分析的网络基础设施

SDN的高层架构

所有运行在网络的业务应用都是应用层的一部分,所有网络组件都是基础设施层的一部分。SDN软件组件位于控制层,并且与应用程序和基础设施组件进行交互。

SDN的核心是名为SDN控制器的软件组件。整个网络可以由SDN控制器来控制。而且SDN控制器相对于其他网络组件起到逻辑交换机的作用。SDN控制器使用SDN API 同业务应用交互,通过使用一些类似OpenFlow的协议网络的基础设施组件交互。OpenFlow是SDN中使用的最重要的协议。

SDN的优点

  • 集中控制多家供应商的网络设备
  • 通过自动化降低复杂性
  • 提高网络可靠性和安全性
  • 更好的用户体验

SDN主要用例包括:

  • 校园
  • 数据中心
  • 运营商和服务提供商

OpenFlow

OpenFlow是一个为SDN架构定义的标准通信接口,允许对网络设备的直接访问和配置。

两层Leaf/Spine架构

传统网络结构包含三层
高性能计算系统——高性能大数据分析的网络基础设施

三层交换机的功能如下

  • 层1(接入交换机):接入交换机用来连接服务器与其他存储设备,这些存储设备是网络的一部分。
  • 层2(汇聚交换机):接入交换机使用以太网介质连接到汇聚交换机,汇聚交换机汇聚来自加入交换机的转发流量,并将它们发往核心交换机。
  • 层3(核心交换机):核心交换机或路由器将来自服务器和存储设备的流量转发到局域网或internet

限制是他们使用2转发技术,而不是层3转发技术。通常在接入层有超额的带宽,而汇聚层的带宽较少。这也会导致延迟。

两层Leaf/Spine网络的高层架构如下:
高性能计算系统——高性能大数据分析的网络基础设施

在两层Leaf/Spine架构中,只有两层交换机:一层用来连接服务器/存储设备。另一方面用来连接交换机,这种两层结构创建了一种无延迟、无阻塞的架构,因此提供了高度可扩展的架构,非常适合于传输大数据。

网络功能虚拟哈

网络功能虚拟化(NFV)指的是使用虚拟化技术来具体网络相关服务。不需要为每种网络功能使用定制硬件设备。NFV的实例包括虚拟防火墙、虚拟负载均衡器、虚拟WAN加速器、虚拟入侵检测服务等。

高性能计算系统——高性能大数据分析的网络基础设施
如今的虚拟化技术已经足够强大到足以构建NFV。SDN的编排和管理能力大幅增强了NFV的能力。意味着:

  • 在有着多个、分隔的OS的计算机中实现的服务
  • 在单个的hypervisor中实现的服务
  • 作为分布式或集群实现的服务
  • 在裸机中实现的服务
  • 在Linux虚拟容器中实现的服务

用于传输大数据的广域网优化

传输控制协议(TCP)是广域网中数据传输的协议,但是TCP具有很多性能瓶颈,对于有着高网络往返时间(RTT)和丢包的网络更是如此。

这些瓶颈是由于TCP的AIMD拥塞避免算法导致的。AIMD算法按照以下的方式:

  • 探测网络的可用带宽
  • 根据可用带宽增加包传输速率
  • 增加包传输速率,直到检测到丢包
  • 检测到丢包之后,将包传输速率进行指数级减少,这又导致网络性能的急剧下降。

近年来、大量新的版本的高速TCP协议和实现这些变体的TCP加速设备已经被开发出来。高速TCP协议认识到AMID的根本缺陷,对基于窗口的阻塞算法进行了修改,减少它所导致的瓶颈,并提高了长期平均吞吐量。

这些协议的的*版本呢通常会通过测试更丰富的信号(例如网络排队延迟)改进阻塞检测,而不是在发生丢包事件前一味地增加吞吐量。这有助于防止TCP流产生包丢失,从而避免阻塞,而不是在发生丢包的网络的长期吞吐量。

Aspera FASP是一种高效、创新的大批量数据传输数据技术、通过为共有或私有的基于IP的广域网文件传输提供了可行的替代方案。是在应用层实现的,而且被用作一种终端应用协议。

Aspera FASP克服了TCP的缺点,而且它为需要大批量数据传输(不涉及字节流传递的应用程序提供数据的可靠传输。FASP的另一个关键特性是它将可靠性和速率控制等方面同数据传输完全隔离开来)。这是通过在传输层使用标准UDP来实现的,这有助于通过使用一个理论上的最佳方法。

FASP的自适应速率控制有很多优点,例如:

  • 使用网络队列延迟作为主要的阻塞控制参数,将丢包率作为二级阻塞控制参数,使用这些参数,FASP能够精确的估计网络拥有的阻塞程度。
  • FASP使用内置的快速响应机制来在多个数据同时传输时自动减慢数据传输速率
  • 先进的反馈机制使得FASP会话速率快速收敛到均衡状态,稳定的数据传输速率为用户提供QoS体验,无需为QoS硬件或软件增加任何额外的投资。
  • 网络带宽的稳定利用倾向于将网络利用率和效率保持在100%。