存储传输协议的类型
个人认为传输协议分为两种
接口和存储之间的传输协议、在网络中传输的传输协议
接口和存储之间的传输协议
SCSI、PCIE、NVME
在网络中传输的传输协议
iSCSI、FC、FCoE、IB、SMB/CIFS、NFS、FTP、HTTP、NVME-oF、RDMA
关于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的应用层
iSCSI启动器、目标器模型
发起端(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逻辑架构图
iSCSI节点将SCSI指令和数据封装为iSCSI包,然后将数据包传输给TCP/IP层,再将iSCSI包封装为IP协议数据包,以便其在IP网络中传输
iSCSI启动器类别
NIC(普通网卡)+initiator软件(iSCSI软件)
TOE网卡+initiator软件(iSCSI软件)
iSCSI HBA卡
FCoE传输协议
FCoE基本概念
FCoE是在增强型无损以太网基础设施上传输光纤信道信号功能的协议
将FC封装在以太网中,允许LAN和SAN业务流量在同一个以太网中传输
FCoE可以利用以太网的拓展性,降低FC网络的成本,不过对于FC的兼容性差以及不支持远距离传输这两大问题无法解决
FCoE协议栈
FC和FCoE协议栈的区别
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、交换机和路由器以及连接的链路)
目标适配器连接着存储设备,主机适配器连接着服务器
存储网络中的IB协议位置
IB接口–通道适配器
通道适配器实现物理层、链路层、网络层和传输层的功能(是IB网络接口的一个重要组成部分)
主机通道适配器:用于主控node,连接服务器
目标通道适配器:用于外设node,使得IO设备脱离主机而直接置于网络中;可以用于IB交换机、存储系统的IO接口–(用于控制器前端的接口,不是后端硬盘接口)
RDMA传输协议
RDMA基本概念
RDMA 远程直接内存访问(通过网络在两个服务器之间直接进行传输–对网卡的性能有要求,不需要CPU参与)
RDMA承载网络
目前大致有三类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通信所带来的延时
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