Infiniband 和 以太网Ethernet 对比

概述

以前IB特有的技术比如RDMA,协议卸载等,现在已经也可以在以太网上用上了,此类差异并不本质,因此要比就要从二层及以下进行比较,就可以清楚看到这两种网络的差异。

对比

Ethernet

以太网设计初衷是,多个不同的系统,如何让他们之间流畅的进行信息交换?这是一种典型的network,它的设计中优先考虑的是兼容性与分布式。

infiniband

InfiniBand,作为标准制定的初衷是为了解决高性能计算场景中突破集群中数据传输瓶颈痛点应运而生的一种互连标准,从制定之初就定位为高端应用,互连互通不是主要矛盾,高性能通信才是主要切入点,所以,相对于Ethernet技术而言,由于定位的差异导致InfiniBand与生俱来就有很多和Ethernet的不同,主要表现在带宽、时延、网络可靠性、组网方式、和组网方式上。

要解决的问题是,在一套系统内部,如何将多个分开的部件整合起来,如同一台设备一样工作。我们可以把这种网络称为一种fabric,是一种互联技术。

带宽

自InfiniBand诞生以来,很长一段时间InfiniBand网络速率的发展都是快于Ethernet的。
主要原因就是因为InfiniBand应用于高性能计算中服务器之间的互连;
Ethernet面向更多的是终端的设备互连,带宽上没有太高的需求。

时延

此处主要分为两部分进行对比:

  • 一部分在交换机上
    作为网络传输模型中的二层技术,Ethernet交换机普遍采用了MAC查表寻址和存储转发的方式(有部分产品借鉴了InfiniBand的Cut-though技术)由于需要考虑诸如IP、MPLS、QinQ等复杂业务的处理,导致Ethernet交换机处理流程较长,一般会在若干us(支持cut-though的会在200ns以上);
    而InfiniBand交换机二层处理非常简单,仅需要根据16bit的LID就可以查到转发路径信息,同时采用了Cut-Through 技术大大缩短了转发时延至100ns以下,远远快于Ethernet交换机。
  • 网卡层面
    采用RDMA技术,网卡转发报文不需要经过CPU,大大加快了报文在封装解封装处理的时延,一般InfiniBand的网卡收发时延(write,send)在600ns,而基于Ethernet上的TCP UDP应用的收发时延会在10us左右,相差十几倍之多。
    请添加图片描述

可靠性

在高性能计算领域,丢包重传对整体性能的影响非常大,
所以需要一个高可靠的网络协议从机制层面来保证网络的无损特性,从而实现其高可靠特性。

  • infiniband
    InfiniBand是一个完整的网络协议,有自己定义的一至四层格式;
    报文在网络上的收发是基于端到端的流控来实现的,也就是说报文从发送端是否可以发送是受接收端调度控制的,这样就可以保证报文从发送到接受都不会出现拥塞,这样不仅实现了真正意义上的无损网络,同时由于网络上没有拥塞而使得业务流在InfiniBand的网络上传输不会出现缓存积累,这样时延抖动也就控制到了最小,从而构造了一个理想纯净的网络;
  • ethernet
    Ethernet构造的网络没有基于调度的流控机制,导致报文在发出的时候是不能保证对端是否会出现拥塞的;
    因此,为了能够吸收网络内瞬时流量的突增,需要在交换内开辟多大数十MB的缓存空间用于暂时存储这些报文
    而缓存的实现是非常占用芯片面积的,这使得同等规格的Ethernet的交换机芯片面积明显大于InfiniBand芯片,不仅成本高而且功耗大,除此之外,由于没有端到端的流控机制,导致网络在略极端情况下,会出现缓存拥塞而导致的丢包,使得数据转发性能大幅波动。
    PS:
    TCP 的流控应该不是端到端的流控,而是 socket层 缓冲区的流控,实际网卡的队列的大小是没有流控的。
    请添加图片描述

组网方式

  • ethernet
    Ethernet的组网方式需要IP配合ARP协议来自动生成MAC表项的,需要网络内的每个服务器来定时发送报文保证表项的实时更新。
  • 网络内节点的增加删除都要通知到网络中的每一个节点,当网络内的节点数量增加到一定程度的情况下,这样网络会产生广播风暴从而使得网络带宽被严重浪费;
  • 因此需要引入Vlan机制划分虚拟网络,限制网络规模,而由于Ethnernet网络本身表项学习机制的不足会导致环路网络,又必须引入STP等协议保证网络转发路径不会出现环路,增加了网络的配置的复杂度。
  • SDN
    随着SDN技术兴起,由于Ethernet网络设定之初的理念是以兼容为基础的缘故,基因中就不具备SDN的特质,导致SDN部署在ethernet网络上需要重新改变报文格式(VXLAN[5])或者改变交换机的转发机制(openflow[6])这样的方式对Ethernet进行改造来满足SDN的要求。

  • infiniband
  • SDN
    InfiniBand来说是天生具备了SDN理念的,
    每个InfiniBand的二层网络内有会有一个子网管理器来配置网络内节点的ID(LocalID),
    然后通过控制面统一计算转发路径信息,下发至InfiniBand交换上;
    这样组成一个InfiniBand的二层组网需要做任何配置既可以完成网络配置,同时没有泛洪的问题,也省去了Vlan和环网破环的操作,可以轻松部署一个规模几万台服务器的超大二层网络。这是Ethernet所不能具备的。

类比

可以把以太网想象成一个快递包裹分发网络;
而IB网络,则可以想象成一个城铁轨道交通网络。

以太网类似一个快递包裹分发网络;
这个网络中所有的快递中转站(交换机/路由器)都是独立运作,根据一套公认的规则(网络协议)进行分拣并投递对。
每个中转站(网络设备)设备来说,第一,它可能看到发送到任何地址的包裹(分布式,异构的),所以它收到每个包都要算算该怎么发出去合适(这就要花时间,引入延迟),如果业务太繁忙,收不下来了,就间断粗暴的把包裹丢弃(丢包)。

B网络你可以想象成一个城铁轨道交通网络。这是因为IB的底层是基于VCT(Virtual Cut Through)技术。
所以IB的一个数据包,与以太网的包裹相比更像是一列火车(每节车厢是个叫做flit的数据单元)。为什么这么类比?不像以太网在转发时必须先在入队列上包裹收下来,然后丢到出队列等待再发出去

  • IB网络是直接然后再在过每个中转站的时候,车屁股还没进站,车头已经向下一站出发了!所以它的延迟才能做到这么低。
  • 同轨道交通网络一样,这些中转站(交换机)之所以能做到这么快的让车辆通过,是因为目的地车站是确定且有限的(IB网络的地址数量,称为LID号,是有限的,地址空间65535个),所有列车怎么走在网络开始运行前都提前决定好了(路由表提前算好),所以在每个中转站的扳道工只需要简单查一下线路图(实现就是个普通的数组查询),“到10号站的车该走n2出口”就行了,而不像快递网络一样去查“xxx区xxx号xxx大厦”该怎么走(实现中用哈希或者CAM)

综上总结

  • Ethernet的时延高的原因是:
    转发时,收包,入收包队列;发包,入发包队列;
    转发时,在每个查找到目的地的路线图(路由、邻居表现等)

infiniband 的缺点

  • 地址空间限制
  • 成本高
  • 需要调度中心
    如同轨道交通网络一样,需要有个叫做subnet manager的调度中心来进行管理和调度,所以IB天生就是一个SDN网络。
    当然,IB的SDN它不看任何数据包,而是负责维护所有中转站的那张线路图(线性转发表),除了保证调度策略高效稳定,还需要额外考虑轨道交通中避免死锁问题(这个是以太网不需要考虑的)。

infiniband 的应用场景

有很高的性能要求的时候,IB网络仍然是首选,这也是为什么IB网络是当前高性能计算行业的主要网络方案,但这个市场相对来说比较小。

当前的主流的数据中心网络都是要解决多个异构系统的互联问题,即使是单一的大规模应用场景,包括云计算、大数据等,主流也都是以高吞吐量场景,也就是多个节点做多个事情,对节点之间的通信延迟没有很高的要求,更看重的是灵活的接入与扩容。所以这些场景用以太网就非常合适。

这就是为什么看着IB网络各项技术指标都很好,但是普及率远远不及以太网的原因。

参考

知乎文章,讲解 infiniband 和 ethernet 的区别:
https://www.zhihu.com/question/31960853
https://zhuanlan.zhihu.com/p/163104439

  • 1
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Infiniband规范是一种用于构建高性能计算机的标准,其使用类似于高速网状拓扑结构的互联网络。它提供了一种高度可扩展、高速和低延迟的通信方法,能够支持大规模计算和数据中心应用。该规范定义了物理、链路和传输层,同时也定义了操作系统和应用程序接口。除了支持数据传输,Infiniband规范还提供了用于管理网络和维护数据完整性的机制。它的传输速率可以达到40 Gb/s,比传统的以太网要快许多倍。它还提供了高度可靠性和可用性,避免了因服务器故障而导致的数据丢失。因此,Infiniband规范很适合用于高性能计算、云计算、人工智能和虚拟化等领域。尽管Infiniband规范在某些领域与以太网竞争激烈,但其高速、低延迟和高可靠性的优势使得这种通信标准在超级计算机、高速网络和大数据中心等领域深受欢迎。 ### 回答2: InfiniBandIB)标准是一种用于高性能计算、网络和存储连接的标准。它是一种基于高速串行互连技术的数据中心互连技术,可以提供高速、低延迟、高带宽和高度可扩展的互连性。 InfiniBand标准由InfiniBand Trade Association(IBTA)制定,目前最新的版本是InfiniBand Architecture Specification Release 1.3.1,它定义了物理连接、数据链路层、网络层、传输层和服务层的协议规范。 InfiniBand标准的物理层提供了多个高速信道,每个信道可以提供20Gbps、40Gbps、80Gbps或更高的连接速度。数据链路层提供了可靠的点对点传输、流控制、速度匹配和光纤通道层协议兼容等特性。网络层提供了多路径、可编址和可路由的网络拓扑,并支持多种通信模式包括点对点、广播和多播。 传输层提供了精确的QoS服务、RDM、UD和RDMA等传输协议,并支持TCP/IP和UDP/IP协议栈。服务层提供了数据库服务、分布式文件系统、分布式共享内存、远程I/O和集群管理等高级应用接口和服务。 InfiniBand标准具有许多优点,其中最重要的是它可以提供高度可扩展的互连性,可以连接数千个服务器和存储设备。它还具有低延迟、高带宽和高效能的特点,这使得它在高性能计算和数据中心应用中得到广泛应用。 综上所述,InfiniBand标准是一种高性能、高可靠性的数据中心互连技术,对于需要进行高速和可靠数据传输的应用非常有用。 ### 回答3: Infiniband规范是一种计算机网络技术规范,目的是为高性能计算机系统和数据中心提供可靠且高效的互连技术。它采用了一种高速通信协议,使不同计算节点之间以及计算节点和存储设备之间的数据传输速度达到了非常高的水平。 Infiniband规范的最初目标是提供一种更好的互连技术,以解决高端服务器和企业级存储之间的点对点连接和互联问题。随着时间的推移,它已经成为了一个全面完整的计算机网络规范。 Infiniband规范的亮点之一是其高吞吐量和低延迟。在传输数据时,它可以通过直接内存访问(DMA)技术,在数据包被处理前将数据从内存传输到适当的硬件位置,从而减少了CPU的负载,并且提高了数据传输的效率。 此外,Infiniband规范还可以简化部署和管理计算机网络系统。它提供了一种名为Subnet Manager的组件,可以自动建立和管理网络拓扑,以便为以太网等其他网络协议提供优化的路由和负载平衡。 总的来说,Infiniband规范是一种可靠,高效率的计算机网络规范,已经在高性能计算,云计算和大型数据中心等领域得到广泛的应用。它为企业提供了更快速,更强大的互连技术,并有望在未来继续扩展应用范围。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值