[Posts] InfiniBand, RDMA, iWARP, RoCE, CNA, FCoE, TOE, RDMA, iWARP, iSCSI concepts

 

InfiniBand, RDMA, iWARP, RoCE, CNA, FCoE, TOE, RDMA, iWARP, iSCSI concepts

Disclaimer: This article is a blogger original article, follow the  CC 4.0 BY-SA  copyright agreement, reproduced, please attach the original source link and this statement.
This link: https://blog.csdn.net/jhzh951753/article/details/78813666

   

The core foundation concept

  1. FCoE: Fiber Channel over Ethernet (Fibre Channel Over Ethernet) 
    • It is stored in a network protocol that allows Fiber Channel frames sent over Ethernet, and the same Ethernet port and IP communication using the fiber channel communication.
  2. HBA: Host Bus Adapter , host bus adapters 
    • It is connected to a host computer to the network / storage devices pluggable cards, memory supports multiple network protocols, usually the HBA expansion cards, such as PCI Express card, which is inserted into the host computer's bus transfer iSCSI or FC protocol.
  3. OEM: Original Equipment Manufacturer (original equipment manufacturer)
  4. CNA: Converged Network Adapter , integration of network adapters, also known as C-NIC 
    • As a computer input / output device which combines the functions of a network adapter and HBA. Briefly, you can simultaneously access a SAN (Storage Area Network), and traditional computer network through CNA.
    • As a single Gigabit Ethernet adapter port while running TCP / IP, iSCSI and Fiber Channel over Ethernet stream a 
      image_1arf3ukpp14sou51ihn3mi1nl69.png-32.9kB
  5. TOE: TCP Offlod Engine, TCP engine load reduction, also known as TCP offload engine. 
    • TOE generally consists of hardware and software, the traditional TCP / extension, the number of processing network traffic to integrate all the hardware on the card is carried out, the decision-making process server only assume the task of TCP / IP control information 
      image_1arf8052e1hec5qgo9oon72jfm.png-95.7kB
  6. ASIC: application specific integrated circuit (Application Specific Integrated Circuit)
  7. InfiniBand: InfiniBand architecture supports multiple concurrent links to a "switching cables" technique, is a long-cable connection, high speed, low latency transmission characteristics. 

    • Mainly interconnection between a server cluster system.
    • development of 

     

    It should be noted that, even in the interconnection between systems, InfiniBand is also faced with competition, because since Intel, Microsoft quit IBTA, IBM, Hewlett-Packard also quit shortly after and made RDMA (Remote in the second year direct memory access, remote direct memory access) technology, expected by 10 Gbps Ethernet with TOE (TCP / IP Offload engine, TCP / IP offload engine load) hardware acceleration designed to more standard, inexpensive way to compete with InfiniBand. In addition, driven by Broadcom, Chelsio, HP, NetApp and Microsoft and other vendors iWarp, remote direct memory access, protection protocol for remote direct data placement for it out of both ends of the card, is a standard protocol. In addition, Intel I / O Acceleration Technology also has a competitive relationship with InfiniBand.

  8. RDMA: Remote Direct Memory Access, Remote Direct Memory Access

  9. iWARP: Internet Wide Area RDMA Protocol A remote direct memory access for remote direct data placement protection agreement, which eliminated both ends of the card, is a standard protocol. 
    • 一种通过以太网做RDMA的解决方案,其能够试下同Infiniband同样的RDMA特性
  10. Cut-though:直通转发技术 (Cut-through)又叫快速转发。
  11. SCSI:Small Computer System Interface,小型计算机系统接口 
    • 一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。
    • 是一种智能的通用接口标准。 
      image_1arfpueog2sqhq5106neftf189.png-93.8kB
  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干预。
    • 读命令的执行 
      image_1arhrlk0mnfd12hd1hpc2ap148a1g.png-94.6kB
    • 写命令的执行 
      image_1arhrnve2uh1kq3o24bqneuu1t.png-111.1kB
 

 

 

 

 

 

 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
The second: Ethernet -> IP-> TCP (remove TCP / IP traffic control and management) -> iWARP
The card is not compatible between different protocols, also said that support RoCE protocol network card can not exchange data with LAN support iWARP protocol.
Both protocols came to power supplier system is not the same,
 Not the same on the requirements of the underlying network infrastructure:
 For more details,
【1】How Ethernet RDMA Protocols iWARP and RoCE Support NVMe over Fabrics https://www.brighttalk.com/webcast/663/185909

Guess you like

Origin www.cnblogs.com/jinanxiaolaohu/p/11719984.html