SAN(Storage Aera Network):存储区域网络,一种通过网络方式连接存储设备和应用服务器的存储构架,这个网络专用于主机和存储设备之间的访问。当有数据的存取需求时,数据可以通过存储区域网络在服务器和后台存储设备之间高速传输。
IP SAN:通过百兆/千兆/万兆以太网络连接应用服务器和后端存储系统。将SCSI指令和数据块通过高速以太网传输,继承以太网的优点,实现建立一个开放、高性能、高可靠性,高可扩展的存储资源平台。
SCSI即小型计算机接口(Small Computer System Interface),指的是一个庞大协议体系,到目前为止经历了SCSI-1/SCSI-2/SCSI-3变迁。
SCSI协议定义了一套不同设备(磁盘,磁带,处理器,光设备,网络设备等)利用该框架进行信息交互的模型和必要指令集。
SCSI协议本质上同传输介质无关,SCSI可以在多种介质上实现,甚至是虚拟介质。例如基于光纤的FCP链路协议,基于SAS的链路协议,基于虚拟IP链路的ISCSI协议。
逻辑单元(LUN):LUN是SCSI目标器中所描述的名字空间资源,一个目标器可以包括多个LUN,而且每个LUN的属性可以有所区别,比如LUN#0可以是磁盘,LUN#1可以是其他设备。
启动器(Initiator):本质上,SCSI是一个C/S架构,其中客户端成为启动器,负责向SCSI目标器发送请求指令,一般主机系统都充当了启动器的角色。
目标器(Target):处理SCSI指令的服务端称为目标器,它接收来自主机的指令并解析处理,比如磁盘阵列的角色就是目标器。
SCSI的Initiator与Target共同构成了一个典型的C/S模型,每个指令都是“请求/应答”这样的模型来实现。
Initiator主要任务:发出SCSI请求
主机的SCSI系统一般工作中“启动器”模式下面,由于SCSI的体系结构来说,分为了“架构层(中间层)”,“设备层”,“传输层”,故此一般的操作系统,都将SCSI分为三个层次,包括Windows, Linux, AIX, Solaris ,BSD
Windows下的启动器架构:Windows将SCSI启动器分为三个逻辑层次,其中ScsiPort负责实现SCSI的基本框架性处理流程,比如设备发现,名字空间扫描等。若需要了解Windows驱动的详细细节可以参考DDK的文档或者WDM相关资料。
Linux下的启动器架构:Linux将SCSI启动器分为三个逻辑层次,其中scsi_mod中间层复杂处理SCSI设备无关和适配器无关的流程处理,比如一些异常,名字空间维护等。HBA驱动提供SCSI指令的打包解包传输等链路实现细节,设备驱动实现特定的SCSI设备驱动,比如著名的sd(SCSI磁盘)驱动,st(SCSI磁带)驱动,sr(SCSI光盘设备)驱动等。
Solaris下的启动器架构:Solaris的结构和Linux/Windows很类似,这里不再多说。
Target一般依据SCSI体系结构,分为三个层次,分别是链路端口层(Port Layer),中间层( Middle Layer),目标设备层(Device Layer)。其中最重要的是中间层,在中间层中将以SAM/SPC为规范,对LUN命名空间,链路端口,目标设备,任务,任务集,会话等进行管理维护。端口层的驱动都以注册的形式动态载入,设备层的驱动也是动态载入。
目标器中PORT模型:PORT驱动将动态载入,PORT主要完成的任务是对链路上携带的SCSI指令的解包和封包,比如将指令打包为FPC或者ISCSI或者SAS等,或者将指令从FCP/ISCSI/SAS中解开。iSCSI/FCP/SAS等硬件的目标器模式驱动都属于PORT范畴,PORT需要提供的方法函数可能包括,传输报文(xmit_response),准备好接受数据(xfer_data),管理指令处理完毕回调(mgmt_task_done),任务处理结束(cmd_done),端口控制(复位等control)等。
目标器中间层:中间层维护了“LUN空间”,“任务集”,“任务(命令)”等模型,对于LUN空间维护有两种截然不同的实现方法,一种是所有的PORT都看见的是一个全局的LUN,并外一种是为每个PORT维护一个LUN空间,其中第一种方法实现较为简单,这里的讨论以第一种展开。
目标器中的Device模型:本质上Device是一个SCSI指令“分析器”,通过处理INQUIRY告诉Initiator当前LUN是什么设备,通过READ/WRITE处理IO。
控制器首先向总线处理器发出请求使用总线的信号。该请求被接受之后,控制器高速缓存就开始执行发送操作。在这个过程中,控制器占用了总线,总线上所连接的其它设备都不能使用总线。当然,由于总线具备中断功能,所以总线处理器可以随时中断这一传输过程并将总线控制权交给其它设备,以便执行更高优先级的操作。
SCSI 控制器相当于一个小型CPU,有自己的命令集和缓存。SCSI是一种特殊的总线结构,可以对计算机中的多个设备进行动态分工操作,对于系统同时要求的多个任务可以灵活机动的适当分配,动态完成。
iSCSI协议最早由IBM、CISCO、HP发起,2004年起作为正式的IETF标准,现有的iSCSI协议依据SAM2(SCSI Architecture Model-2)
iSCSI (Internet SCSI)把SCSI命令和块状数据封装在TCP中在IP网络中传输
iSCSI是互联网小型计算机系统接口(Internet Small Computer System Interface)的简称,是一种在TCP/IP上进行数据块传输的标准,可以理解为SCSI over IP
iSCSI可构成基于IP的SAN,为用户提供高速、低价、长距离的存储解决方案
iSCSI将SCSI命令封装到TCP/IP数据包中,使I/O数据块可通过IP网络传输
iSCSI (Internet SCSI)把SCSI命令和块状数据封装在TC。P中在IP网络中传输。iSCSI作为SCSI的传输层协议,基本出发点是利用成熟的IP网络技术来实现和延伸SAN。
iSCSI协议是SCSI远程过程调用模型到TCP/IP协议的映射。SCSI协议层负责生成CDB,并将其送到iSCSI协议层,然后由 iSCSI协议层进一步封装成PDU,经IP网络进行传送。
iSCSI的通信体系仍然继承了SCSI的部分特性,在iSCSI通信中,具有一个发起I/O请求的启动器设备(Initiator)和响应请求并执行实际I/O操作的目标器设备(Target)。在Initiator和Target建立连接后,Target在操作中作为主设备控制整个工作过程。
iSCSI Initiator:iSCSI启动器,可分为三种,即软件Initiator驱动程序、硬件的TOE(TCPOffload Engine,TCP卸载引擎)卡以及iSCSI HBA卡。就性能而言,软件Initiator驱动程序最差、TOE卡居中、iSCSI HBA卡最佳。
iSCSI Target:iSCSI目标器iSCSI Target,通常为iSCSI 磁盘阵列、iSCSI 磁带库等。
iSCSI协议为Initiator和Target定义了一套命名和寻址方法。所有的iSCSI节点都是通过其iSCSI名称被标识的。这种命名方式使得iSCSI名称不会与主机名混淆。
iSCSI使用iSCSI Name来唯一鉴别启动设备和目标设备。地址会随着启动设备和目标设备的移动而改变,但是名字始终是不变的。建立连接时,启动设备发出一个请求,目标设备接收到请求后,确认启动设备发起的请求中所携带的iSCSI Name是否与目标设备绑定的iSCSI Name一致,如果一致,便建立通信连接。每个iSCSI节点只允许有一个iSCSIName,一个iSCSI Name可以被用来建立一个启动设备到多个目标设备的连接,多个iSCSI Name可以被用来建立一个目标设备到多个启动设备的连接。
在支持iSCSI的系统中,用户在一台SCSI存储设备上发出存数据或取数据的命令,操作系统对该请求进行处理,并将该请求转换成一条或者多条SCSI指令,然后再传给目标SCSI控制卡。iSCSI节点将指令和数据封装(Encapsulation)起来,形成一个iSCSI包,然后该数据封装被传送给TCP/IP层,再由TCP/IP协议将iSCSI包封装成IP协议数据以适合在网络中传输。也可以对封装的SCSI命令进行加密处理,然后在不安全的网络上传送。
数据包可以在局域网或Internet上传送。在接收存储控制器上,数据报重新被组合,然后存储控制器读取iSCSI包中的SCSI控制命令和数据发送到相应的磁盘驱动器上,磁盘驱动器再执行初始计算机或应用所需求的功能。如果发送的是数据请求,那么将数据从磁盘驱动器中取出进行封装后发送给发出请求的计算机,而这整个过程对于用户来说都是透明的。尽管SCSI命令的执行和数据准备可以通过使用标准TCP/IP和现成的网络控制卡的软件来完成,但是在利用软件完成封装和解封装的情况下,在主机处理器上实现这些功能需要很多的CPU运算周期来处理数据和SCSI命令。如果将这些事务交给专门的设备处理,则可以将对系统性能的影响减少到最小程度,因此,发展在iSCSI标准下并执行SCSI命令和完成数据准备的专用iSCSI适配器是有必要的。iSCSI 适配器结合了NIC和HBA的功能。这种适配器以块方式取得数据,利用 TCP/IP处理引擎在适配卡上完成数据分化和处理,然后通过IP网络送出IP数据包。这些功能的完成使用户可以在不降低服务器性能的基础上创建一个基于IP的SAN。
PDU:协议数据单元
TCP/IP:传输控制协议/因特网互联协议
8b/10b编码是将一组连续的8位数据分解成两组数据,一组3位,一组5位,经过编码后分别成为一组4位的代码和一组6位的代码,从而组成一组10位的数据发送出去。
更低的成本:
高可靠性
器件可靠性同SCSI硬盘、FC盘,比SATA好。
保留了经过验证的SCSI命令集。
高性能
端口单向速率高。
与SATA兼容
SATA硬盘可以直接装入SAS环境里。
SAS标准将SAS架构分为6层,从低到高依次是物理层、phy层、链路层、端口层、传输层和应用层,每层负责一定的功能。
物理层:对于线缆、接头、收发器等硬件进行了定义;
PHY层:包括了最低级的协议,比如编码方案和供电/复位序列等等;
链路层:描述的是如何控制phy层连接管理,以及原语、CRC校验和加解扰、速率匹配处理;
端口层:描述的是链路层和传输层的接口,包括如何请求、中断、如何选择建立连接;
传输层:定义了如何将所传输的命令、状态、数据封装在SAS帧中,以及如何分解SAS帧;
SAS相对SCSI而言,最重要的提升在于:
因为采用串行通信方式,可以提供更高的吞吐量,并为将来更高的性能成为可能。
四个窄端口可以绑定成一个宽端口(Wide Link),提供更高的吞吐量。
SAS采用全双工(双向)通信模式,而不是单向通信。传统的并行SCSI只可以在一个方向上进行通信,当设备接收到并行SCSI的一个数据包后,如果该设备要响应该数据包,就需要在上一个链路断开后,再重新建立一个新的SCSI通信链路。而SAS,则可以进行双向通信。每个SAS电缆有4根电缆,2根输入2根输出。SAS可以同时进行数据的读写,全双工的数据操作提高数据的吞吐效率。
SAS结构采用扩展器(expander)进行接口扩展,具有非常好的扩展能力,最多可以连接16384个磁盘设备。
SAS Expander:SAS域中的互联设备,类似于以太网交换机,通过 Expander的级联可以大大增加终端设备的连接数,从而节约HBA花费。每个Expander最多可以连接128个终端设备或者128个Expander。1个SAS域由以下几个部分组成:SAS Expander、终端设备、连接设备(即SAS连接线缆)。
SAS Expander配备了一个地址的路由表跟踪,记录了所有SAS驱动器的地址。
终端设备包括启动器(通常为SAS HBA卡)和目标器(SAS/SATA硬盘,也可以是处于目标模式的HBA卡)。
SAS 域中不能形成环路,以保证其发现终端设备流程的正常进行。
大多数存储设备供应商现使用SAS线缆连接硬盘框到控制框,或者硬盘框之间的互连。SAS线缆通常将4个独立的通道(窄端口)捆绑成一个宽端口来提供更多的带宽。4个独立的通道都可以在12 Gb/s上进行,因此整个宽端口可以提供48 Gb/s 的带宽。为了确保SAS线缆上的数据量不超过整个SAS线缆的最大带宽,因此我们需要限制被连接在一个SAS环路上的硬盘的总个数。
对于华为的设备来说,这个最大硬盘数是168块盘,也就是说最多7个24个硬盘槽位的硬盘框组成一个环路。但是,这个前提条件是在该环路中的所有硬盘都是传统的SAS硬盘。现在SSD盘用得越来越多了,我们必须意识到SSD盘传输速度远远高于SAS盘。因此对于SSD盘,最大环路硬盘数的最佳实践则为96块盘,也就是4个24个硬盘槽位的硬盘框组成的环路。
SAS线缆接口在SAS线缆单通道为6Gb/s时称为 Mini SAS 线缆,现在单通道速度提升到12Gb/s了,其相应的SAS线缆称为高密度Mini SAS线缆。
FC是一种高性能的串行连接标准。其接口传输速率为4Gbps 、8Gbps、16Gbps或更高速率。传输介质可以选择铜缆或光纤,传输距离远,支持多种互联拓扑结构
Fibre Channel的定义:也就是“网状通道”的意思,简称FC。Fiber和Fibre只有一字之差,所以产生很多误解。FC只代表Fibre Channel,而不是Fiber Channel,后者被翻译为“光纤通道”。像TCP/IP一样,FC协议集同样具备TCP/IP和以太网中的很多概念,例如:FC交换机、FC路由器、SPF算法等。完全可以将FC协议理解为SAN中的TCP/IP,因为他们都遵循OSI模型。
FC协议其实并不能翻译成光纤协议,FC的链路介质可以是光纤、双绞线或同轴电缆,只是FC协议普遍采用光纤作为传输线缆而不是铜缆,因此很多人把FC称为光纤通道协议。
FC协议优点:高带宽、高可靠性、高稳定性、低延迟、抵抗电磁干扰,等优点,能够提供非常稳定可靠的光纤连接,容易构建大型的数据传输和通信网络,目前支持1x、2x、4x和8x的带宽连接速率,随着技术的不断发展该带宽还在不断进行扩展,以满足更高带宽数据传输的技术性能要求。
FC开发于1988年,在那个时候,光纤通道主要用于简化连接,增加数据传输距离,而不是增加数据传输的速度。后来,它被用于提高硬盘协议的传输带宽,侧重于数据的快速、高效、可靠传输。到上世纪90年代末,FC SAN开始得到大规模的广泛应用。
前景分析:。
从调研机构的分析走势来看,16G FC已经成为必然趋势,且随着PCIe3.0 的到来以及虚拟机密度的增加,需要更高的I/O吞吐量,32G FC也将势如破竹,前途无量。
标准更新和商用规律:FC标准每隔36~48年个月进行一次更新,在新标准出来后,12~24个月实现商用,主流厂商会在2年内陆续推出产品。每代标准生命周期6年左右,但是从8G、16G来看,生命周期明显在缩短,更新换代周期明显加快。
光纤通道的主要部分实际上是FC-2。其中从FC-0到FC-2被称为FC-PH,也就是“物理层”。光纤通道主要通过FC-2来进行传输,因此,光纤通道也常被成为“二层协议”或者“类以太网协议”。
光纤通道的数据单元叫做帧。即使光纤通道本身为五层,但是大部分光纤通道是指第二层协议。一个光纤通道帧最大2148字节,而且光纤通道帧的头部与以太网数据包不同。光线通道只使用一个帧格式,在多个层上完成各种任务。
帧的功能决定其格式。光纤通道帧起始于帧开始(SOF)标志,随后是帧头部,稍后我们将讨论帧头。然后是数据,或光纤通道内容,最后是帧结束(EOF)标志。这样封装的目的是让光纤通道可以在需要时被其他类似于TCP这样的协议所承载。
光纤通道和SCSI之间的关系:光纤通道不是SCSI的替代品。光纤通道将使用帧传输SCSI的指令和状态信息。SCSI是位于光纤通道协议栈FC4的上层协议,SCSI是FC协议的子集。
光纤通道协议从1988年开发出来后,已经使用了很长一段时间,是一个比较成熟的技术。目前,SAN有几种方法来实现物理组件之间的连接。
点对点:两个设备直接连接到对方。这是最简单的一种拓扑,连接能力有限。
仲裁环:这种连接方式中,所有设备连接在一个类似于令牌环的环路上。在这个环路中添加或者移除一个设备会导致环路上所有活动中断。环路上一个设备的故障将导致整个环路不能进行工作。通过添加光纤通道集线器的方法,能够将众多设备连接到一起,形成一个逻辑上的环路,并且能够旁路故障节点,使得环上节点的故障不会影响整个环路的通信。仲裁环曾经用于小型的SAN环境中,但是现在已经不再使用。而最主要的原因是一个仲裁环最多只能容纳127个设备,而现在SAN环境中使用的设备基本上都多于127个设备。
交换网络:这是构建现代FC SAN的方式。它使用FC 交换机连接主机和存储设备。在现代的SAN中,最好使用两个交换机连接主机和存储设备,这样可以形成链路冗余,增强SAN的可靠性。交换机是一个智能设备,它不仅可以进行设备间的互联,而且还可以做得更多。
FC光纤交换机划分ZONE功能与以太网交换机划分VLAN功能相似,都是为了实现特定组设备之间的相互通信避免广播包的泛洪。
Zone特性可以让同一个VSAN中的成员进行访问控制,在VSAN内进一步划分区域,在Zone内根据不同的目的添加不同的N_Port成员。使不同Zone内的N_Port成员之间相互隔离。
RSCN(Registered State Change Notification): 交换机具备的一项功能,负责在架构本身或其内部状态发生改变时,通知注册的节点。
FCoE(Fibre Channel over Ethernet)可以提供标准的光纤通道原有服务,如发现、全局名称命名、分区等,而且这些服务都可以照标准原有的运作,保有FC原有的低延迟性、高性能。
从FC协议的角度来看,FCoE就是把FC承载在一种新型的链路上,即以太网二层链路。需要注意的是,这个以太网必须是增强型无损以太网,才能满足FC协议对链路层的传输要求。
FCoE的特点:
FCOE保留了FC-2以上的协议栈,把FC中的FC-0和FC-1用以太网的链路层取代。
因为FC的FC-0作用是定义承载介质类型,FC-1作用是定义帧编解码方式,这两层是在FC SAN网络传输时需要定义的方式。而FCOE是运行在以太网中,所以不需要这两层处理,而是用以太网的链路层取代这两层处理。
FCoE的价值在于在同样的网络基础体系上用户有权利选择是将整个逻辑网络全部当成传输存储数据与信号的专用局域网,或是作为混合存储信息传送、网络电话、视频流以及其它数据传输的共用网络。FCoE的目标是在继续保持用户对光纤通道SAN所期望的高性能和功能性的前提下,将存储传输融入以太网架构。
运行的环境不同: FC协议是运行在传统的FC SAN的存储网络中。而FCOE则是运行在以太网的存储协议。
运行通道不同: FC协议是运行在FC网络中,所有的报文都是运行在FC通道中。在以太网中存在各种协议报文,有IP,ARP等传统以太网协议,而FCOE是运行要在以太网中需要创建一个虚拟的FC通道来承载FCOE报文。
与FC协议相比增加了FIP初始化协议:由于FCOE是运行在以太网中的存储协议,要让FCOE能正常的运行在以太网中,就需要FIP初始化协议来获取FCOE运行的相应vlan,与哪个FCF建立虚通道,和虚链路的维护等。所以从这方面来讲FCOE比FC多了一个FIP的初始化协议 。
FCOE需要其他协议支持:由于以太网是可以容忍网络丢包的,但是FC协议不允许出现丢包,那么FCOE做为以太网中传输的FC协议来说同样是继承了这点特点不允许丢包。所以想要FCOE协议可以正常的运行在以太网络中就需要对以太网做一定的增强来避免丢包 ,这种增强型的以太网叫CEE(Converged Enhanced Ethernet)
FC型光纤连接器:FC是Ferrule Connector的缩写,表明其外部加强方式是采用金属套,紧固方式为螺丝扣。此类连接器结构简单,操作方便,制作容易,但光纤端面对微尘较为敏感,且容易产生菲涅尔反射,提高回波损耗性能较为困难。
SC型光纤连接器:SC是Square Connector的缩写,其外壳呈矩形,所采用的插针与耦合套筒的结构尺寸与FC型完全相同,其中插针的端面多采用PC或APC型研磨方式;紧固方式是采用插拔销闩式,不需旋转。此类连接器价格低廉,插拔操作方便,介入损耗波动小,抗压强度较高,安装密度高。
按光纤端面形状分有FC、PC(包括SPC或UPC)和APC
ST型光纤连接器:ST和SC接口比较类似,不同的是ST连接器的芯外露,SC连接器的芯
在接头里面。对于10Base-F连接来说,连接器通常是ST类型的,对于100Base-FX来说,
连接器大部分情况下为SC类型的。
MT-RJ型连接器:MT-RJ是Multi Transmit-Receive Joint,是多芯发送接收一体的连接器,它带有与RJ-45型LAN电连接器相同的闩锁机构,通过安装于小型套管两侧的导向销对准光纤,为便于与光收发信机相连,连接器端面光纤为双芯(间隔0.75mm)排列设计,是主要用于数据传输的下一代高密度光纤连接器。
LC型连接器:LC是Lucent Connector的缩写,顾名思义是由朗讯公司研究开发出来的,采用操作方便的模块化插孔(RJ)闩锁机理制成。其所采用的插针和套筒的尺寸是普通SC、FC等所用尺寸的一半,为1.25mm。这样可以提高光纤配线架中光纤连接器的密度。目前,在单模SFF方面,LC类型的连接器实际已经占据了主导地位,在多模方面的应用也增长迅速。
MU型连接器:MU是Miniature Unit Coupling的缩写,是以目前使用最多的SC型连接器为基础,由NTT研制开发出来的世界上最小的单芯光纤连接器。该连接器采用1.25mm直径的套管和自保持机构,其优势在于能实现高密度安装。利用MU的l.25mm直径的套管,NTT已经开发了MU连接器系列。随着光纤网络向更大带宽更大容量方向的迅速发展和DWDM技术的广泛应用,对MU型连接器的需求也将迅速增长.
1991 年,Intel 公司首先提出了PCI 的概念,随着现代化处理器技术的发展,在互连领域,使用高速差分总线替代并行总线是大势所趋。与单端并行信号相比,高速差分信号用于更高的时钟频率,PCIe总线应运而生。
PCI Express(又称PCIe)是一种高性能、高带宽串行通讯互连标准,最早由英特尔提出,后由外设组件互连特别兴趣组(PCI-SIG)制定,以取代基于总线的通信架构,如:PCI、PCI Extended (PCI-X) 以及加速图形端口(AGP)。
相对于传统的PCI总线,PCI Express有如下优点:
双通道,高带宽,传输速率快:实现类似全双工传输模式(RX和TX分开);传输速率高,第一代PCIe X1的带宽是2.5千兆位/秒(Gbps),第二代则达到5.0Gbps,而最近发布的PCIe3.0标准则能支持8.0Gbps的速率;对更大的带宽,则可以通过扩展链路数目来实现,而带宽则是其N条通路的N陪。
兼容性:在软件层保持与PCI兼容,版本升级,向下兼容PCI软件。
易用性:支持热插拔,PCIe总线接口插槽中包括“热插拔检测信号”,可以像USB进行热拔插和热交换。
具有错误处理和先进的错误报告功能:得益于PCI Express总线是分层结构,其软件层具有错误处理和提供错误报告能力,详细后续介绍。
每个物理连接还有多个虚拟通道:在每个物理通道中支持多个虚拟通道(理论上允许8个虚拟通道进行独立的通讯控制),从而支持每个虚拟通道的Qos,达到非常高的流量质量控制。
节省IO,减少板级空间,降低串扰:例如,典型的PCI总线数据线至少达到50根IO,而PCIe Xl仅需要4根IO。而IO减少,节省了板级空间,各个IO直接的距离可以更宽,从而减少串扰。
PCI Express标准的制定是着眼未来的,它还在继续发展为系统提供更高的吞吐量。第一代PCIe约定的吞吐量是2.5千兆位/秒(Gbps),第二代则达到5.0Gbps,而最近发布的PCIe3.0标准则能支持8.0Gbps的速率。在PCIe标准继续利用最新的技术以提供不断增加的吞吐量的同时,利用分层协议、通过使驱动程序保持与现有PCI应用的软件兼容性将简化从PCI到PCIe的过渡。
PCIe协议的特性包括:
PCI Express总线架构中的物理层主要决定总线的物理特征。在未来的发展中,可以通过速度提升或更改编解码方式来进一步提升PCI Express总线性能,而这些变更都只会作用于物理层,不会影响其它结构,为升级带来了便利。
数据链路层(Data Link Layer)
数据链路层的重要作用就是要保证PCI Express总线传输的数据包的正确性和可靠性。它会检查数据包封装是否完整正确,并将序列号和冗余校验代码(CRC)添加到数据中进行检测和纠错,并采用ack/nack握手协议进行检测纠错
事务层(Transaction Layer)
处理层的主要作用有两个,一是接受来自软件层送来的读、写请求,或者本身创建一个请求封装包传到数据链路层,这种数据包称为“处理层数据包”(TransactionLayerPacket,TLP另一个作用是接受从链路层传来的响应数据包(DataLink Layer Packet,DLLP),并将其与相关的软件请求相关联,传送至软件层处理
IPoIB 即IP over IB,作为Linux内核与IB驱动的适配层,负责构建、销毁IP报头,发送和接收IP报文。
IB前端网络用于与客户交流进行数据交互的网络,基于IPoIB协议传输数据;
InfiniBand标准定义了一套用于系统通信的多种设备,包括信道适配器、交换机和路由器信道适配器用于同其它设备的连接,包括主机信道适配器(HCA)和目标信道适配器(TCA).
Infiniband协议的主要特点:
基于标准的协议:成立于1999年的InfiniBand贸易协会由225家公司组成,它们共同设计了该开放标准。主要掌控该协会的成员包括:Agilent, Dell, HP, IBM, InfiniSwitch, Intel,Mellanox, Network Appliance和Sun Microsystems公司。其他的100多家成员则协助开发和推广宣传该标准。
速度:Infiniband每秒10gigabytes的性能明显超过现有的Fibre Channel的每秒4 gigabits,也超过以太网的每秒1 gigabit的性能。
内存:支持Infiniband的服务器使用主机通道适配器,把协议转换到服务器内部的PCI-X或者PCI-Xpress总线。HCA具有RDMA功能,有时也称之为内核旁路(Kernel Bypass)。RDMA对于集群来说很适合,因为它可以通过一个虚拟的寻址方案,让服务器知道和使用其他服务器的部分内存,无需涉及操作系统的内核。
传输卸载(Transport Offload):RDMA 能够帮助传输卸载,后者把数据包路由从OS转到芯片级,节省了处理器的处理负担。要是在OS中处理10 Gbps的传输速度的数据,就需要 80 GHz处理器。
物理层:定义了三种速率的连接,分别为1X、4X和12X,其信号单倍传输速率分别为2.5、10和30Gb/ s。也就是说,IBA允许多路连接直到获得30Gbps的连接速度。由于采用了全双工串行通信方式,单速的双向连接只需要4根电缆,在采用12速方式时,也只需48根电缆线,这是非常具有吸引力的。
链路层:链路层提供了局部子系统中的信息包设计、点到点连接操作以及包交换等功能。在包通信一级,指定了两种特殊的包类型,既数据传输和网络管理包。网络管理包提供了设备枚举的操作控制、子网指示、容错等功能;数据传输包则用来传送实际的数据信息。每个包的最大长度为4KB,在每个特定的设备子网内,每个数据包的方向和交换通过本地的16位标识地址的子网管理器完成。
网络层:提供了信息包从一个子结构到另外一个子结构的路由机制。源和目的节点的每个路由包有一个全局路由头(GRH)和一个128位Ipv6地址。网络层也嵌入了一个标准的全局64位标识,这个标识在所有的子网中都是惟一的。通过这些标识值之间错综复杂的交换,允许数据跨越多个子网传输。
传输层:传输层主要负责信息包的按序分发、分割、通道多路技术以及传输服务等。传输层也负责处理数据包分段的发送、接收和重组。
IBA原希望成为运算、通讯、储存等设备的机内、机外标准接口,不过IBA一开始就丧失了通讯设备的机内运用可能,因为通讯设备业者多已实行Rapid I/O,使IBA只能先将目标订于运算及储存设备,但也适逢网络型储存、储域网络(Storage Area Network;SAN)的快速兴起,使光纤信道(FC)获得成长普及,之后IBA转向运算设备,原可望取代PCI,然而PCI-X已先行卡位,且PCI-X提出后的不到两年时间Intel再提出接替PCI-X的PCIe,使得IBA用于设备机内的可能微乎其微,就连Intel的主要竞争业者:Sun、AMD等也倾向在运算设备机内使用HyperTransport/HTX,而非IBA(Infiniband Architecture)。
机内没有机会,IBA只能朝机外高速连接的领域发展,虽然PCI、PCIe、Rapid I/O等都尚无机外连接方案,但不幸的是FC亦在外接方面开展迅速,IBA必须与FC争抢地盘,FC传输表现虽输IBA,但价格却相对低廉,加上相近时间内Ethernet从1Gbps进展至10Gbps,且其光纤传输(IEEE 802.3ae)、铜线传输(IEEE 802.3an)标准也先后于2002年、2005年正式定案。
IBA终于在集群式超级计算机上找到发挥,由于FC只至2Gbps、4Gbps,10Gbps Ethernet尚不够成熟,延迟控制也尚待精进,放眼望去最合适的便是IBA,IBA低延迟、能以10Gbps为基准单位进行倍增传输,使得全球前五百大效能的超级计算机中有相当多套系统都使用上IBA,或至少是IBA与其它高速联机的搭配混用。
然而,金字塔至顶的五百大超级计算机毕竟是少数,其用量规模难以长期支撑IBA产业及其生态永续发展,必须往更普遍的集群运算应用开拓,然而从顶级往中下层面推行,依然遭遇到与FC、GbE冲突的课题,同时也要面对一些业者的专属特用技术,如Quadrics的QsNet,或Myricom的Myrinet。
现在谈论InfiniBand,主要应用在服务器集群,系统之间的互连,并在存储、数据中心以及虚拟化等领域得到应用,以下简称IB。
Mellanox Technologies于1999年成立,总部设在美国加州的圣塔克拉拉和以色列的Yokneam。Mellanox公司是服务器和存储端到端连接解决方案的领先供应商。2010年底Mellanox完成了对著名Infiniband交换机厂商Voltaire公司的收购工作,使得Mellanox在HPC、云计算、数据中心、企业计算及存储市场上获得了更为全面的能力。
通道适配器分为:主通道适配器:Host Channel Adapter(HCA),用于主控NODE;目标通道适配器:Target Channel Adapter(TCA),用于外设NODE,使IO设备脱离主机而直接置于网络中。
通道适配器实现物理层,链路层,网络层和传输层的功能。
对SDR, DDR,FDR-10, 和 QDR, 使用 8b/10b编码 :每10 bits 包含8bits 的数据
对FDR 和EDR, 使用 64b/66b编码 :每66 bits 包含64 bits的数据
CIFS:
CIFS业务特点:
NFS:
NFS业务特点:
认证方式:NTLM,Kerberos 等
网络通信可以over TCP 或其他方式如:rdma等
网络文件操作经处理后转交给实际文件系统
NTLM安全性支持提供者服务。NTLM的意思即NT LanManger,是NT下提供的认证方法之一,使用了64位的加密手段。
Kerberos 网络认证。Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机/服务器应用程序提供强大的认证服务。
RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。
DNS:domain name service,用于实现域名和IP的映射.
AD: active directory, AD域,提供目录服务.
CIFS协议主要用于文件共享,这里介绍两个典型的应用场景:
文件共享服务场景
文件共享服务是最典型的应用场景,其主要应用于企业文件服务器,媒资等等,为用户提供文件共享服务。
Hyper-v虚拟机应用场景
微软主推Hyper-v虚拟机,使用SMB共享虚拟机镜像。该场景下需要依赖SMB3.0的Failover特性(故障透明切换),该特性可以保证在结点故障情况下,进行结点切换,业务不中断,从而保证了虚拟机运行的可靠性。
云虚拟化软件(如:VMware)专门对NFS客户端进行了优化,用来把虚拟机存储空间建立在NFS服务器的共享空间上。
这个根据云计算优化过的NFS客户端提供更好的性能和可靠性。
FTP用于在远端服务器和本地主机之间传输文件。
HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端的协议。
HTTP采用短连接方式进行报文传输,每次传输结束后连接就中断。
区别于CIFS及NFS协议,通过WebDav扩展协议及挂载ostorvfs文件系统,能够实现HTTP共享创建,资源文件的上传、下载、修改、锁定等功能。
HTTPS是HTTP协议的安全版本,基于SSL/TLS安全加密。SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
WEB服务器也称为WWW(WORLD WIDE WEB)服务器,通过HTTP协议,为用户提供网上信息浏览服务。用户通过浏览器向服务器发送请求,浏览服务器上的资源信息。
由于Web已经成为 Internet 的基础,因此 HTTP 1.1(超文本传送协议)被证实是用来传输数据的非常灵活的通用协议。
但是,HTTP 存在一些明显的缺点,从而限制了它作为综合的 Internet 通讯协议而被采用:它非常适合用于查看的静态文档,但不能提供以足够复杂(以便向客户端提供丰富的创作功能)的方式来处理文档的方法。例如,当两个作者在未进行交流的情况下同时对一个文档进行更改时,就会出现“更新丢失”问题。只有由最后一个作者完成、并将修改后的文档重新上载到服务器的修改才会保留下来,另一个作者进行的更改将丢失。
WebDAV(Web 分布式创作和版本管理)扩展了 HTTP/1.1 协议,允许客户端发布、锁定和管理Web上的资源。