五花八门

存储网络传输协议——iSCSI、FCoE、IB、RDMA、NVME等协议基本讲解

liaoya · 7月5日 · 2024年 585次已读

存储传输协议的类型


个人认为传输协议分为两种

接口和存储之间的传输协议、在网络中传输的传输协议

接口和存储之间的传输协议

SCSI、PCIE、NVME

在网络中传输的传输协议

iSCSI、FC、FCoE、IB、SMB/CIFS、NFS、FTP、HTTP、NVME-oF、RDMA

此图像的alt属性为空;文件名为a295c198e5d749649e297f0cb2cbb804.png

关于SCSI、PCIE、FC的介绍看以下文章

存储接口协议——SCSI、FC、SAS、PCIE协议讲解-CSDN博客

iSCSI传输协议


iSCSI的基本概念


iSCSI就是基于IP网络的SCSI,iSCSI只是帮助SCSI能够在以太网络中进行传输,将SCSI命令和块状数据封装在TCP中的IP网络中进行传输

iSCSI作为SCSI的传输层协议,基本出发点是利用成熟的IP网络技术来实现和延伸SAN;IP-SAN就是使用iSCSI协议实现主机服务器与存储设备的互联

iSCSI使用TCP端口号3260

iSCSI协议栈–处于TCP/IP的应用层

此图像的alt属性为空;文件名为eadcda293246489297503d317ddddf4d.png

iSCSI启动器、目标器模型

此图像的alt属性为空;文件名为08c8d27b89c64e7e9b5e291ab0610d26.png

发起端(Initiator)–可以是软件Initiator驱动程序、硬件的TOE(TCP Offload Engine)、iSCSI HBA卡

SCSI协议负责生成CDB(命令描述符块),并将其送到iSCSI协议层

iSCSI协议层进一步封装为PDU(协议数据单元)

TCP/IP将其封装为IP数据包,经IP网络传输给Target

目标器(Target)–通常为iSCSI磁盘阵列、iSCSI磁带库

TCP/IP将其解封装,将PDU发送给iSCSI层

iSCSI层收到PDU,将CDB传给SCSI层

SCSI层负责解析CDB的意义,根据处理结果发送相应的响应状态码

iSCSI逻辑架构图

此图像的alt属性为空;文件名为824b6babfa7d4e0bbbf3423eaf91268e.png

iSCSI节点将SCSI指令和数据封装为iSCSI包,然后将数据包传输给TCP/IP层,再将iSCSI包封装为IP协议数据包,以便其在IP网络中传输

iSCSI启动器类别

NIC(普通网卡)+initiator软件(iSCSI软件)

此图像的alt属性为空;文件名为ad97cceb927840bc8881dce35d1d7cc8.png

TOE网卡+initiator软件(iSCSI软件)

此图像的alt属性为空;文件名为b915cfb15eac484ca6dceedd9962e03d.png

iSCSI HBA卡

此图像的alt属性为空;文件名为d9c4ade2dac2438486a7ddf7896f54d3.png

FCoE传输协议


FCoE基本概念


FCoE是在增强型无损以太网基础设施上传输光纤信道信号功能的协议
将FC封装在以太网中,允许LAN和SAN业务流量在同一个以太网中传输
FCoE可以利用以太网的拓展性,降低FC网络的成本,不过对于FC的兼容性差以及不支持远距离传输这两大问题无法解决

此图像的alt属性为空;文件名为c6d5ddcf447e4c8a8a5a18298b48b472.png

FCoE协议栈

FC和FCoE协议栈的区别

此图像的alt属性为空;文件名为9cd3566e4512409e8f0540893d96cf93.png

FCoE保留了FC-2以上的协议栈,把FC中的FC-0和FC-1用以太网的链路层取代
为什么取代了FC的FC-0和FC-1
FC-0在FC中定义承载介质类型,FC-1定义帧编解码方式,是用于FC SAN网络传输的
而FCoE是在以太网传输的,所以不需要这两层,将其替换为数据链路层

增强型以太网CEE


为什么要提出CEE
以太网能够容忍网络丢包,但是FC不允许出现丢包
而FCoE同样继承了FC这一特点不允许出现丢包,所以要使得FCoE正常的运行在以太网中就需要对以太网做一定的增强来避免丢包
这种技术就是增强型以太网CEE(Converged Enhanced Ethernet)
CEE的作用
1、在以太网基础上进行扩展,将网络整合起来(可以在一条以太物理链路上最多创建8 个独立的虚拟链路,并允许单独暂停和重启其中任意一条虚拟链路;使得同一接口上的其他类型的流量能够共存)
2、支持不丢包的传输

IB传输协议


IB基本概念


IB协议全称InfiniBand,直译为“无限带宽”技术;是一个用于高性能计算的计算机网络通信标准,它具有极高的吞吐量和极低的延迟
IB技术常用于计算机与计算机之间的数据互连(服务器与服务器之间)、服务器和存储设备之间的数据互联

IB的特点

高带宽、低时延、远程直接内存存取功能、传输卸载

传输卸载指的是RDMA 能够帮助传输卸载,后者把数据包路由从OS转到芯片级,节省了处理器的处理负担;要是在OS中处理10 Gbps的传输速度的数据,就需要 80 GHz处理器

IB体系架构


IB标准定义了一套用于系统通信的多种设备(包括信道适配器CA、交换机和路由器以及连接的链路)

此图像的alt属性为空;文件名为e16e4dc50f974e7ea5622f3110974cbf.png

目标适配器连接着存储设备,主机适配器连接着服务器

存储网络中的IB协议位置

此图像的alt属性为空;文件名为a1d8f8a17d734d219ae26b52ef1a0d87.png

IB接口–通道适配器


通道适配器实现物理层、链路层、网络层和传输层的功能(是IB网络接口的一个重要组成部分)

主机通道适配器:用于主控node,连接服务器

目标通道适配器:用于外设node,使得IO设备脱离主机而直接置于网络中;可以用于IB交换机、存储系统的IO接口–(用于控制器前端的接口,不是后端硬盘接口)

此图像的alt属性为空;文件名为af5b7d5791634373abff7fba29d6af50.png

RDMA传输协议


RDMA基本概念


RDMA 远程直接内存访问(通过网络在两个服务器之间直接进行传输–对网卡的性能有要求,不需要CPU参与)

此图像的alt属性为空;文件名为f67ebed05e0845008670a7d60a03cb70-1024x501.png

RDMA承载网络

此图像的alt属性为空;文件名为b7a194faea50428691bd6ee17f965ce4.png

目前大致有三类RDMA网络,分别是Infiniband、RoCE、iWARP。

Infiniband: RDMA over IB

是一种专为RDMA设计的网络

从硬件级别保证可靠传输,需要支持该技术的网卡NIC和交换机。

RoCE: RDMA over Ethernet

RoCE v1是基于以太网链路层实现的RDMA协议,交换机需要支持PFC等流控技术,在物理层保证可靠传输;
RoCE v2是以太网TCP/IP协议中UDP层实现。

其较低的网络标头是以太网标头,其较高的网络标头(包括数据)是IB标头
这支持在标准以太网基础设施(交换机)上使用RDMA,只有网卡是特殊的,支持RoCE。

iWARP: RDMA over TCP

互联网广域RDMA协议,允许通过TCP执行RDMA的网络协议。

IB和RoCE中存在的功能在iWARP中不受支持。

这支持在标准以太网基础设施(交换机)上使用RDMA。只有网卡应该是特殊的,并且支持iWARP(如果使用CPU卸载),否则所有iWARP堆栈都可以在SW中实现,并且丧失了大部分RDMA性能优势

NVME传输协议


基本概念


NVMe(Non-Volatile Memory Express)非易失性存储器标准

NVMe标准是面向PCIE-SSD的,通过使用原生PCIE通道与CPU直连,可以免去SATA与SAS接口的外置控制器(PCH)与CPU通信所带来的延时

此图像的alt属性为空;文件名为428acafbd01d40fe943dcd45f0c7c717.png

PCIE和NVME之间的关系


PCIE是接口形态和总线标准;NVMe是为PCIE-SSD定制的标准存储传输协议

NVME是一个SSD控制器接口标准,为基于PCIe接口的SSD(固态硬盘)设计

它的目标是最大限度释放闪存性能
SSD的速率已经很快了,但是整个硬盘的整体性能,不单单取决于自己本身的性能,它还取决于中间数据传输所使用的传输速率
对于使用PCIE接口的SSD来说,传统的SAS速率已经不能满足硬盘本省的性能(也就是不能是硬盘性能最大化)
所以使用NCMe来作为接口协议标准,专门适配PCIE接口,提升性能,降低时延

通俗讲SSD比作跑车,SAS比作乡间小道,NVMe比作高速公路

NVMe-oF


NVME-oF基本概念


NVMe-oF不单单是接口协议的标准,也用于加速服务器主机和目标存储设备之间的数据传输
NVMe-oF支持在主机与固态存储设备或系统之间通过网络进行数据传输,并且NVMe-oF继承了NVMe的所有优点
通过NVMe-oF 来组织创建超高性能存储网络,其时延能够媲美直连存储
即:服务器通过NVME-oF协议与存储器可以通过网络进行通信,不向NVME仅只限于服务器内部

NVME-oF承载网络类型


也就是数据平面的组网类型

NVME over FC

基于传统的FC网络来发挥NVME的优势

NVME over RDMA

通过远程直接内存访问技术,允许客户端程序远程访问存储系统的内存空间进行数据传输

NVME over TCP

无需任何特殊的硬件要求,基于通用标准以太网环境实现;相对以上两种方式可能延迟更大

原文链接:https://blog.csdn.net/m0_49864110/article/details/131553298

0 条回应