InfiniBand技术和协议架构分析
Infiniband开放标准技术简化并加速了服务器之间的连接,同时⽀持服务器与远程存储和⽹络设备的连接。
IB技术的发展
1999年开始起草规格及标准规范,2000年正式发表,但发展速度不及Rapid I/O、PCI-X、PCI-E和FC,加上Ethernet从1Gbps进展⾄10Gbps。所以直到2005年之后,InfiniBand Architecture(IBA)才在集式超级计算机上⼴泛应⽤。全球Top 500⼤效能的超级计算机中有相当多套系统都使⽤上IBA。
随着越来越多的⼤⼚商正在加⼊或者重返到它的阵营中来,包括Cisco、IBM、HP、Sun、NEC、Intel、LSI等。InfiniBand已经成为⽬前主流的⾼性能计算机互连技术之⼀。为了满⾜HPC、企业数据中⼼和环境中的⾼I/O吞吐需求,新⼀代⾼速率56Gbps的FDR (Fourteen Data Rate) 和EDR InfiniBand技术已经出现。
IB技术的优势
Infiniband⼤量⽤于FC/IP SAN、NAS和服务器之间的连接,作为iSCSI RDMA的存储协议iSER已被IETF标准化。⽬前EMC全系产品已经切换到Infiniband组⽹,IBM/TMS的FlashSystem系列,IBM的存储系统
XIV Gen3,DDN的SFA系列都采⽤Infiniband⽹络。
相⽐FC的优势主要体现在性能是FC的3.5倍,Infiniband交换机的延迟是FC交换机的1/10,⽀持SAN和NAS。
存储系统已不能满⾜于传统的FC SAN所提供的服务器与裸存储的⽹络连接。HP SFS和IBM GPFS 是在Infiniband fabric连接起来的服务器和iSER Infiniband存储构建的并⾏⽂件系统,完全突破系统的性能瓶颈。
Infiniband采⽤PCI串⾏⾼速带宽链接,从SDR、DDR、QDR、FDR到EDR HCA连接,可以做到1微妙、甚⾄纳⽶级别极低的时延,基于链路层的流控机制实现先进的拥塞控制。
InfiniBand采⽤虚通道(VL即Virtual Lanes)⽅式来实现QoS,虚通道是⼀些共享⼀条物理链接的相互分⽴的逻辑通信链路,每条物理链接可⽀持多达15条的标准虚通道和⼀条管理通道(VL15)。
RDMA技术实现内核旁路,可以提供远程节点间RDMA读写访问,完全卸载CPU⼯作负载,基于硬件传出协议实现可靠传输和更⾼性能。
相⽐TCP/IP⽹络协议,IB使⽤基于信任的、流控制的机制来确保连接的完整性,数据包极少丢失,接受⽅在数据传输完毕之后,返回信号来标⽰缓存空间的可⽤性,所以IB协议消除了由于原数据包丢失
⽽带来的重发延迟,从⽽提升了效率和整体性能。
TCP/IP具有转发损失的数据包的能⼒,但是由于要不断地确认与重发,基于这些协议的通信也会因此变慢,极⼤地影响了性能。
IB基本概念
IB是以通道为基础的双向、串⾏式传输,在连接拓朴中是采⽤交换、切换式结构(Switched Fabric),在线路不够长时可⽤IBA中继器(Repeater)进⾏延伸。每⼀个IBA⽹络称为⼦⽹(Subnet),每个⼦⽹内最⾼可有65,536个节点(Node),IBA Switch、IBARepeater仅适⽤于Subnet范畴,若要通跨多个IBASubnet就需要⽤到IBA路由器(Router)或IBA⽹关器(Gateway)。
每个节点(Node) 必须透过配接器(Adapter)与IBA Subnet连接,节点CPU、内存要透过HCA(Host Channel Adapter)连接到⼦⽹;节点硬盘、I/O则要透过TCA(TargetChannel Adapter)连接到⼦⽹,这样的⼀个拓扑结构就构成了⼀个完整的IBA。
IB的传输⽅式和介质相当灵活,在设备机内可⽤印刷电路板的铜质线箔传递(Backplane背板),在机外可⽤铜质缆线或⽀持更远光纤介质。若⽤铜箔、铜缆最远可⾄17m,⽽光纤则可⾄10km,同时IBA也⽀持热插拔,及具有⾃动侦测、⾃我调适的Active Cable活化性连接机制。
IB协议简介
InfiniBand也是⼀种分层协议(类似TCP/IP协议),每层负责不同的功能,下层为上层服务,不同层次相互独⽴。 IB采⽤IPv6的报头格式。其数据包报头包括本地路由标识符LRH,全局路由标⽰符GRH,基本传输标识符BTH等。
1、物理层
物理层定义了电⽓特性和机械特性,包括光纤和铜媒介的电缆和插座、底板连接器、热交换特性等。定义了背板、电缆、光缆三种物理端⼝。
并定义了⽤于形成帧的符号(包的开始和结束)、数据符号(DataSymbols)、和数据包直接的填充(Idles)。详细说明了构建有效包的信令协议,如码元编码、成帧标志排列、开始和结束定界符间的⽆效或⾮数据符号、⾮奇偶性错误、同步⽅法等。
2、 链路层
链路层描述了数据包的格式和数据包操作的协议,如流量控制和⼦⽹内数据包的路由。链路层有链路管理数据包和数据包两种类型的数据包。
3、 ⽹络层
⽹络层是⼦⽹间转发数据包的协议,类似于IP⽹络中的⽹络层。实现⼦⽹间的数据路由,数据在⼦⽹内传输时不需⽹络层的参与。
数据包中包含全局路由头GRH,⽤于⼦⽹间数据包路由转发。全局路由头部指明了使⽤IPv6地址格式的全局标识符(GID)的源端⼝和⽬的端⼝,路由器基于GRH进⾏数据包转发。GRH采⽤IPv6报头格式。GID由每个⼦⽹唯⼀的⼦⽹ 标⽰符和端⼝GUID捆绑⽽成。
4、 传输层
传输层负责报⽂的分发、通道多路复⽤、基本传输服务和处理报⽂分段的发送、接收和重组。传输层的功能是将数据包传送到各个指定的队列(QP)中,并指⽰队列如何处理该数据包。当消息的数据路径负载⼤于路径的最⼤传输单元(MTU)时,传输层负责将消息分割成多个数据包。
接收端的队列负责将数据重组到指定的数据缓冲区中。除了原始数据报外,所有的数据包都包含BTH,BTH指定⽬的队列并指明操作类型、数据包序列号和分区信息。
5、上层协议
InfiniBand为不同类型的⽤户提供了不同的上层协议,并为某些管理功能定义了消息和协议。InfiniBand主要⽀持SDP、SRP、iSER、RDS、IPoIB和uDAPL等上层协议。
SDP(SocketsDirect Protocol)是InfiniBand Trade Association (IBTA)制定的基于infiniband的⼀种协议,它允许⽤户已有的使⽤TCP/IP协议的程序运⾏在⾼速的infiniband之上。
SRP(SCSIRDMA Protocol)是InfiniBand中的⼀种通信协议,在InfiniBand中将SCSI命令进⾏打包,允许SCSI命令通过RDMA(远程直接内存访问)在不同的系统之间进⾏通信,实现存储设备共享和RDMA通信服务。
iSER(iSCSIRDMA Protocol)类似于SRP(SCSI RDMA protocol)协议,是IB SAN的⼀种协议 ,其主要作⽤是把iSCSI协议的命令和数据通过RDMA的⽅式跑到例如Infiniband这种⽹络上,作为iSCSI RDMA的存储协议iSER已被IETF所标准化。
RDS(ReliableDatagram Sockets)协议与UDP 类似,设计⽤于在Infiniband 上使⽤套接字来发送和接收数据。实际是由公司研发的运⾏在infiniband之上,直接基于IPC的协议。
IPoIB(IP-over-IB)是为了实现INFINIBAND⽹络与TCP/IP⽹络兼容⽽制定的协议,基于TCP/IP协议,对于⽤户应⽤程序是透明的,并且可以提供更⼤的带宽,也就是原先使⽤TCP/IP协议栈的应⽤不需要任何修改就能使⽤IPoIB。
uDAPL(UserDirect Access Programming Library)⽤户直接访问编程库是标准的API,通过远程直接内
存访问 RDMA功能的互连(如InfiniBand)来提⾼数据中⼼应⽤程序数据消息传送性能、伸缩性和可靠性。
tcpip协议pdfIB应⽤场景
Infiniband灵活⽀持直连及交换机多种组⽹⽅式,主要⽤于HPC⾼性能计算场景,⼤型数据中⼼⾼性能存储等场景,HPC应⽤的共同诉求是低时延(<10微秒)、低CPU占有率(<10%)和⾼带宽(主流56或100Gbps)
⼀⽅⾯Infiniband在主机侧采⽤RDMA技术释放CPU负载,可以把主机内数据处理的时延从⼏⼗微秒降低到1微秒;另⼀⽅⾯InfiniBand⽹络的⾼带宽(40G、56G和100G)、低时延(⼏百纳秒)和⽆丢包特性吸取了FC⽹络的可靠性和以太⽹的灵活扩展能⼒。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论