[转帖]InfiniBand, RDMA, iWARP, RoCE , CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念

InfiniBand, RDMA, iWARP, RoCE , CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念

2017-12-15 15:37:00 jhzh951753 阅读数 1358更多

分类专栏: 存储

版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/jhzh951753/article/details/78813666

核心基础概念

  1. FCoE:以太网光纤通道 (Fibre Channel Over Ethernet)

    • 它是一个存储网络协议,允许在以太网上发送光纤通道帧, 且IP通信和光纤通道通信使用相同的以太网端口。
  2. HBA:host bus adapter,主机总线适配器 
    • 它是连接主机计算机到网络/存储设备的可插拔式卡,支持多种存储网络协议,HBA通常是扩展卡,如PCI Express卡,它插入主机计算机的总线传送iSCSI或FC协议。
  3. OEM: 原始设备制造商(original equipment manufacturer)
  4. CNA:Converged network adapter,融合网路适配器,也称C-NIC 
    • 作为计算机输入/输出设备,其融合了HBA和网络适配器的功能。简言之,通过CNA可同时访问SAN(存储区域网络)和传统的计算机网络。
    • 如单一万兆以太网适配器端口上同时运行TCP/IP,iSCSI和光纤通道以太网数据流a 
  5. TOE:TCP Offlod Engine,TCP负荷减轻引擎,也称TCP卸载引擎。 
    • TOE一般由软硬件构成,将传统的TCP/延伸,把网络数流量的处理工作全部转到网卡上的集成硬件中进行,服务器只承担TCP/IP控制信息的处理决策任务 
  6. ASIC:特定用途集成电路(Application Specific Integrated Circuit)
  7. InfiniBand:InfiniBand架构是一种支持多并发链接的”转换线缆”技术,是一种长缆线的连接方式,具有高速、低延迟的传输特性。
    • 主要是用于在服务器集群,系统之间的互联。
    • 发展

    需要说明的是,即使在系统之间的互联,InfiniBand也还面临着竞争对手,这是因为自英特尔、微软退出IBTA之后,IBM、惠普也在不久后退出,并在第二年提出RDMA(Remote Direct Memory Access,远程直接内存存取)技术,期望用10 Gbps Ethernet搭配TOE(TCP/IP Offload Engine,TCP/IP负荷卸载引擎)的硬件加速设计,以更标准、低廉的方式与InfiniBand进行竞争。此外,由Broadcom、Chelsio、惠普、NetApp和微软等厂商推动的iWarp,一种用于远程直接内存访问、远程直接数据放置的保护协议,它淘汰了两端的网卡,也是一种标准的协议。另外,英特尔的I/O加速技术也与InfiniBand具有一定的竞争关系。

  8. RDMA: Remote Direct Memory Access,远程直接内存存取
  9. iWARP: Internet Wide Area RDMA Protocol 一种用于远程直接内存访问、远程直接数据放置的保护协议,它淘汰了两端的网卡,也是一种标准的协议。 
    • 一种通过以太网做RDMA的解决方案,其能够试下同Infiniband同样的RDMA特性
  10. Cut-though:直通转发技术 (Cut-through)又叫快速转发。
  11. SCSI:Small Computer System Interface,小型计算机系统接口 
    • 一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。
    • 是一种智能的通用接口标准。 
  12. iSCSI:Internet 小型计算机系统接口 (iSCSI:Internet Small Computer System Interface) 
    • iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换数据
    • 是一种基于 TCP/IP的协议,用来建立和管理 IP 存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。
  13. SMB:Server Message Block 服务信息块,又称Common Internet File System(CIFS)A 
    • 由微软、英特尔开发的一种软件程序级的网络传输协议,主要用来使得一个网络上的机器共享计算机文件、打印机、串行端口和通讯等资源。它也提供认证的行程间通讯机能。
    • SMB 是在会话层(session layer)和表示层(presentation layer)以及小部分应用层(application layer)的协议。SMB使用了NetBIOS的应用程序接口
    • 它主要用在装有Microsoft Windows的机器上,在这样的机器上被称为Microsoft Windows Network。
  14. RoCE:RDMA over Converged Ethernet
  15. iSER:iSCSI Extensions for RDMA
    • 对iSCSI协议进行了RDMA扩展的计算机网络协议。
    • 支持RDMA的包括:基于TCP的RDMA服务(iWARP),不基于TCP的RoCE协议,以及InfiniBand技术。
    • iSER允许直接在SCSI计算机内存缓冲区中进行数据的传输,无需中间层的数据拷贝和过多的CPU干预。
    • 读命令的执行 
    • 写命令的执行 

InfiniBand架构是一种支持多并发链接的“转换线缆”技术,在这种技术中,每种链接都可以达到2.5 Gbps的运行速度。这种架构在一个链接的时候速度是500 MB/秒,四个链接的时候速度是2 GB/秒,12个链接的时候速度可以达到6 GB /秒。

RDMA是Remote Direct Memory Access的缩写,意思是技术全称远程直接数据存取,就是为了解决网络传输中服务器端数据处理的延迟而产生的。

两篇讲述 InfiniBand 的趣文:

RDMA 技术有好几种规范来达到:

  • InfiniBand: 这是正统,InfiniBand 设计之初就考虑了 RDMA,InfiniBand 从硬件级别保证可靠传输;
  • iWARP: 基于 TCP or SCTP 做 RDMA,利用 TCP or SCTP 达到可靠传输,对网络设备的要求比较少;
  • RoCE: 基于 Ethernet 做 RDMA,消耗的资源比 iWARP 少,支持的特性比 iWARP 多,需要FCoE做可靠传输。从wikipedia的评价看 RoCE 还是比正统的 InfiniBand 差点。

上面三种实现都是需要硬件支持的,IB 需要支持 IB 规范的网卡和交换机,iWARP 和 RoCE 都可以使用普通的以太网交换机,但是需要支持 iWARP 或者 RoCE 的网卡。软件上 Solaris、Linux、Windows 都有支持,在 API 层面这篇文章有个入门的介绍:Introduction to Remote Direct Memory Access (RDMA),可以使用http://www.openfabrics.org/提供的 libibverbs 库(Debian Linux 有提供),这个库似乎也支持 Windows 上的原声 RDMA API "Network Direct"。另外也有一些其它 API 规范,比如 DAT 组织制定的 kDAPL(让 kernel driver 可以访问 RDMA 功能) 和 uDAPL(让 user space 进程可以访问 RDMA 功能), OpenGroup 制定的 IT-API 和 RNICPI:

另外 IETF 制定了 iSCSI Extensions for RDMA(iSER) 和 SDP(Sockets Direct Protocol, 基于 RDMA 替换 TCP 的流式传输层协议, RDMA 本身提供了可靠传输机制) 两个协议。Java 7 引入了对 SDP 的支持: https://docs.oracle.com/javase/tutorial/sdp/sockets/index.html,Apache Qpid 消息队列也支持 RDMA:https://packages.debian.org/sid/librdmawrap2 .

如果 NVMe 存储系统与主机是分离的,显然需要某种 fabric 把它们连接,这样主机才能使用存储系统。目前,支持远程连接的 fabric 包括:

  • RDMA 协议:底层可以是以太网( RoCE 或者 iWARP )或者 Infiniband
  • Fibre Channel 协议:底层可以是 FC 网络或者以太网(FCoE)

一、为什么需要 RDMA ?

RDMA (Remote Direct Memory Access) 是一种绕过主机 (host-offload/host-bypass) 技术:一个应用(包括存储)<--发送/接收数据-->另外一个(远程)应用的内存空间。

  • Source Application <-- (发送/接收、完成)队列 --> 带 RDMA 功能的网卡 <-- 可靠的网络连接 --> 带RDMA 功能的网卡 <-- (发送/接收、完成)队列 --> Target Application

 由上图可知,应用程序可以从一台(物理的或者虚拟的)机器直接传送数据到另外一台机器,这既提高了带宽又降低了延迟、抖动和 CPU 消耗。

各种操作系统支持 RDMA :

  • Windows Server: 从 Windows HPC Server 2008 开始支持 Network Direct userspace API ;从 Windows Server 2012 开始支持 Network Direct kernel API
  • Linux: 从2004年开始,由 OpenFabrics Alliance 提供 userspace/kernel API , RHEL 和 SLES 已经自带, Ubuntu 要自己安装?
  • FreeBSD 9.0+ 支持 OpenFabrics Alliance userspace/kernel API

具体来说, RDMA 技术特性带来的好处如下图所示:

  NVMe 设备延迟很低,这就要求网络延迟也必须很低, RDMA 正好满足这一点。

二、用 RDMA 发送 NVMe 写命令

 以一个 NVMe 写操作为例。 NVMe 主机驱动把写命令及数据(从 NVMe 提交队列取出一项)封装一个与底层传输无关的命令胶囊(capsule);胶囊被放到主机 RDMA 网卡的发送队列中,由 RDMA_SEND 发送出去;目标主机的 RDMA 网卡在接收队列中收到这个胶囊,解除封装,把 NVMe 命令及数据放到目标主机的内存中;目标主机处理 NVMe 命令及数据;完成后,目标主机封装一个 NVMe 命令完成项,由 RDMA 传输到源主机。

三、两种基于以太网的 RDMA 协议

第一种:以太网->IP->UDP->RoCE (RDMA over Converged Ethernet) v2

第二种:以太网->IP->TCP(去掉 TCP/IP 流量控制和管理)->iWARP

不同协议的网卡之间并不兼容,也就说支持 RoCE 协议的网卡不能与支持 iWARP 协议的网卡交换数据。

两种协议的供应商上台系统不一样,

 对底层网络基础设施的要求也不一样:

 了解更多细节,

【1】How Ethernet RDMA Protocols iWARP and RoCE Support NVMe over Fabrics https://www.brighttalk.com/webcast/663/185909

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/11719984.html

时间: 2024-10-08 23:40:58

[转帖]InfiniBand, RDMA, iWARP, RoCE , CNA, FCoE, TOE, RDMA, iWARP, iSCSI等概念的相关文章

[中英对照]Introduction to Remote Direct Memory Access (RDMA) | RDMA概述

前言: 什么是RDMA? 简单来说,RDMA就是指不通过操作系统(OS)内核以及TCP/IP协议栈在网络上传输数据,因此延迟(latency)非常低,CPU消耗非常少. 下面给出一篇简单介绍RDMA的文章之中英文对照翻译. Introduction to Remote Direct Memory Access (RDMA) | RDMA概述 1. What is RDMA? | 什么是RDMA Direct memory access (DMA) is an ability of a devic

[精华] RDMA技术原理分析、主流实现对比和解析

替换高清大图 请点击此处输入图片描述  摘要: 远程直接内存访问(即Remote Direct Memory Access)是一种直接内存访问技术,它将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入,本文旨在技术引导,详细内容请通过文末"阅读原文"参阅<RDMA原理分析.对比和技术实现解析>电子书. RDMA技术最早出现在Infiniband网络,用于HPC高性能计算集群的互联.传统的基于Socket套接字(TCP/IP协议栈)的网络通信,需要经过操作

基于 iwarp下的lustre性能测试

近期在做集群网络的升级方案,涉及到网络设备有交换机.线缆.网卡.过程中测试了不少网络厂商的设备,这里主要记录下在测试Chelsio网卡时的一些问题. 测试内容 网卡带宽 网卡延迟(TCP/iwarp) lustre on iwarp 网卡带宽和延迟这里不做过多介绍,这个测试起来比较简单,直接跑下iperf和ib_write测试工具即可:这里主要记录下如何在lustre上启用iwarp. 测试环境 直接上图: 存储硬件设备使用DDN/SFA7700x作为lustre的后端盘阵,共60块7.2K N

Windows Server 2016存储空间直连技术的探秘

关于存储空间直连技术,在本人的之前的博客中小有介绍,其中只是关于这种分布式存储的实现进行了少量延展,这里就把这个技术就我粗浅的研究给感兴趣的朋友介绍一下.首先分布式存储中每个节点都是使用本地的存储的,但是逻辑层却要保证每个节点都能看到所有节点下的存储,这听起来有点不可思议,但其实原来存储厂商提供的存储都有相似的结构,节点机头带本地盘如果多机头节点就要实现磁盘到所有机头的挂接链路.我们这里介绍的Windows Server 2016存储空间直连技术是软件定义存储的范畴,所以首先要引入的一个技术叫做

Hyper-V Server虚拟机移动性

服务器虚拟化中,为了维持物理资源使用率的最优化,并轻松添加新虚拟机,IT 必须能够在需要时不影响业务直接移动虚拟机.跨越 Hyper-V 宿主机移动虚拟机的能力最早出现在 Windows Server 2008 R2中,当时是通过一个名为实时迁移的功能实现的,然而当时该功能要求虚拟机必须位于共享存储或群集中,并且无法同时移动多个虚拟机.在 Windows Server 2012/R2中,Hyper-V 具备多项新增和改进的迁移功能,能为需要在数据中心内迁移负载的客户提供更高灵活性. 1. 实时迁

fio2.1.10--HOWTO

Table of contents ----------------- 1. Overview 2. How fio works 3. Running fio 4. Job file format 5. Detailed list of parameters 6. Normal output 7. Terse output 8. Trace file format 9. CPU idleness profiling 1.0 Overview and history ---------------

通过 SMB 直通优化文件服务器的性能

https://technet.microsoft.com/zh-cn/library/hh831487.aspx Windows Server 2012 内置新增功能,称为 SMB 直通,用来支持使用具有远程直接内存存取 (RDMA) 功能的网络适配器.使用 RDMA 的网络适配器能够全速运行, 延迟时间非常低,CPU 使用量非常少. 对于 Hyper-V 或 Microsoft SQL Server 等工作负载,这让远程文件服务器如同本地存储一样.SMB 直通包括: 提高吞吐量:利用高速网络

详谈NVMe和NVMe-oF基础架构新西兰45秒彩数据采集地址和概念

NVMe传输是一种抽象协议层,旨在提供新西兰45秒彩数据采集地址vip7.maltapi.com可靠的NVMe命令和数据传输.为了支持数据中心的网络存储,通过NVMe over Fabric实现NVMe标准在PCIe总线上的扩展,以此来挑战SCSI在SAN中的统治地位.NVMe over Fabric支持把NVMe映射到多个Fabrics传输选项,主要包括FC.InfiniBand.RoCE v2.iWARP和TCP. 然而,在这些Fabrics选项协议中,我们常常认为InfiniBand.Ro

SMB Direct(加快文件服务器访问速度)

SMB Direct Requirements:DMA NICsWindows featureQOS policyTraffic class RDMA (Remote Direct Memory Access) is based on Direct Memory Access Remote DMA, or RDMA, is a technology that allows two different computers with RDMA network adapters to write da