[转帖]Infiniband 和 以太网Ethernet 对比

infiniband,以太网,ethernet,对比 · 浏览次数 : 0

小编点评

**Ethernet 网络的缺点:** * 转发时需要在每个查找到目的地的路线图中进行一次哈希或CAM搜索。 * 每个数据包都需要在入发送队列之前进行检查,这会导致网络拥塞和降低效率。 * 需要使用VLAN机制来划分虚拟网络,这增加了网络配置的复杂性。 **SDN 网络的优势:** * 每个数据包可以直接从源节点直接发送到目标节点,无需进行任何路由或哈希操作。 * 每个数据包都有自己的ID,可以用于跟踪数据包的路径。 * 由于SDN网络使用了线性路由算法,可以实现极高的性能。 * SDN网络可以轻松扩展到数万台服务器的规模。 **Vlan 的用途:** * VLAN可以划分网络地址范围,减少网络冲突。 * VLAN可以用于实现环路关闭。 * VLAN可以用于提高网络性能。 **STP 的作用:** * STP可以用于防止环路网络中的数据包重复路由。 * STP可以用于优化网络性能。

正文

https://blog.csdn.net/legend050709/article/details/121270641

概述

以前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
  • 4

与[转帖]Infiniband 和 以太网Ethernet 对比相似的内容:

[转帖]Infiniband 和 以太网Ethernet 对比

https://blog.csdn.net/legend050709/article/details/121270641 目录 概述对比Ethernetinfiniband带宽时延可靠性组网方式类比 infiniband 的缺点infiniband 的应用场景参考 概述 以前IB特有的技术比如RDM

【转帖】Ethernet 与 Infiniband的网络特性对比

一、两者定位 以太网(Ethernet): 应用最广泛,是最成熟的网络互联技术,也是整个互联网络大厦的基石,兼容性非常好,可实现不同的系统之间的互连互通 IB(Infiniband): 领域很专,作为高带宽,低时延,高可靠的网络互联技术,在HPC集群领域广泛应用,同时,也是GPU服务器首选的网络互联

[转帖]RoCE、IB和TCP等网络的基本知识及差异对比

https://support.huawei.com/enterprise/zh/doc/EDOC1100203347/ 在分布式存储网络中,我们使用的协议有RoCE、Infiniband(IB)和TCP/IP。其中RoCE和IB属于RDMA(RemoteDirect Memory Access)技

【转帖】读懂什么是RDMA

一.什么是RDMA 1.RDMA主要体现 2.如何理解RDMA和TCP技术的区别? 3.使用RDMA的好处包括: 二.什么是RoCE? 1. RDMA协议包含: Infiniband(IB) 2. 为什么RoCE是目前主流的RDMA协议? RoCEv1 RoCEv2 RoCE,无损先行 一.什么是R

[转帖]读懂什么是RDMA

https://blog.csdn.net/tony_vip?type=blog 一.什么是RDMA 1.RDMA主要体现 2.如何理解RDMA和TCP技术的区别? 3.使用RDMA的好处包括: 二.什么是RoCE? 1. RDMA协议包含: Infiniband(IB) 2. 为什么RoCE是目前

[转帖]Intel/英特尔、Mellanox/迈络斯 infiniband交换机型号对比及参数描述

Intel/英特尔、Mellanox/迈络斯 infiniband交换机型号对比及参数描述http://qlogic.blog.bokee.net/bloggermodule/blog_viewblog.do?id=17662812 字体大小:大 | 中 | 小2014-05-09 12:14 阅读

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww