1、存储协议分析存储协议分析协议模式协议模式根据协议和协议之间的相互作用,有三种基本的思想。v use,一种协议完全利用另一种协议v tunnel,一种协议将另一种协议遂道封装。v map,一种协议对另一种协议进行映射翻译。useuse模式模式v use,就是一种协议自身没有某些功能,需要使用另一种协议提供的功能。v 例如TCP使用IP,因为TCP没有寻址功能,所以它利用IP来寻址。而IP又可以使用以太网,因为IP只是一个寻址功能,它没有链路传输的功能,所以它利用以太网交换提供的链路传输。IP使用PPP等等,也就是上层协议为了达到通信目的,使用另一种协议为他自己服务。tunnel模式模式v Tun
2、nel,遂道封装,就是将一种协议直接作为另一种协议的payload来进行封装,打包传输到目的地,然后解开外层协议,露出内存被封装承载的协议,再提交给内层协议处理逻辑模块进行处理。也就是说进行协议转换的设备根本就不需要去理解内层协议到底是什么东西,到底想要干什么,只要你给了我,就统统打包发出去v Tunnel的出现,往往是由于被tunnel的协议虽然和外层协议都在某一方面有所实现,但是在这一方面被tunnel协议不如外层协议做的优秀,不适合某种特定的环境,而这种环境,恰恰被外层协议所适合 map模式模式v map,比tunnel更复杂的,也更有扩展性的一种方式。所谓map,也就是映射,就是说将内
3、层协议的部分或者全部逻辑,映射翻译到外层协议对应的功能相似的逻辑上,而不仅仅是简单的封装。v map相对于tunnel,是内外层协议的一种最彻底的融合,它将两种协议的优点,融合的天衣无缝 FCIP和和iFCP针对FC进行扩展的协议:v 以tunnel为主的模式,称作FCIPv 以map为主的模式,称作iFCP v 以map为主的模式,称作FCoE SCSIv SCSI(Small Computer System Interface)单纯的从英文直译过来叫做小型电脑系统接口,这是一种专门为小型计算机系统设计的存储单元接口模式,它是在1979年由美国的施加特(Shugart)公司(希捷的前身)研发
4、并制订,并于1986年获得ANSI(美国标准协会)承认。v SCSI 实现了一种客户机/服务器风格的通信架构。发起者向目标设备发送命令请求。该目标处理此请求并向发起者返回响应。发起者可以是托管计算机中的一个 SCSI 设备,而 SCSI 目标则可以是一个磁盘、光盘和磁带设备或特殊设备(比如箱体设备)。SCSI家族家族SCSI速率表速率表FC协议结构协议结构 v 光纤通道按协议层进行分层,分层结构共分5层 FC协议结构协议结构 v C-0(物理层底层):FC-0层定义了连接的物理端口特性,包括介质和连接器(驱动器、接收机、发送机等)的物理特性、电气特性和光特性、传输速率以及其它的一些连接端口特性
5、。v FC-1(传输协议):规定了8B10B编码方式和传输协议包括串行编码、解码规则、特殊字符和错误控制。v C-2(帧协议):规定了具体的传输机制,包括帧格式,节点间的信息交换。vC-3(公共服务):提供高级特性的公共服务,即端口间的结构协议和流动控制,它定义了三种服务:条块化(Striping)、搜索组(Hunt Group)和多路播放(Broadcast Multicast)。v FC-4(ULP映射):定义了Fibre Channel和IP,SCSI-3以及其他的上层协议(ULP)之间的接口。FC流量控制流量控制 v FC中的流量控制机制是在信用度系统上的基础上。所谓的信用度(Cred
6、it)是指设备接受额外帧的能力。信用度的多少决定了设备接收额外帧能力的大小。如果接受方没有向发送方发出任何的信用度,那么发送方就不能发送任何帧,在信用度的基础上协调帧传送,可以避免帧的丢失,同时减少了对整个帧序列进行重传的频率v FC中常用的两种是端到端(EE-Credit)和缓冲区到缓冲区(BB-Credit)的流量控制。FC流量控制流量控制 v 光纤通道中还定义使用BB-Credit的流量控制机制(缓冲区到缓冲区的信用度),并且依靠receive-ready(R-RDY)有序集补充信用度,如图2所示。某个附接到交换机的终端接点将在登录到交换机的过程中建立它的BB-Credit。在交换机远端
7、参与通信的一方将在登录时建立其自身交换机的BB-Credit。BB-Credit没有端到端的成分。发送方在发出一个帧时将BB-Credit减1,直到BB-Credit的数量为零的时候.此时不能再进行帧发送。在接收到R-RDY时将BB-Credit加1。BB-Credit的初始值必须是非零的。如果为零的话,说明不能再接收或者发送帧。FC发现机制发现机制 v 在FC中,当一个新的设备加入到网络中时,它要与它的网络的管理者(一般是交换机)取得联系,网络管理者便会依次告知所有那些已经注册过的和那些需要被通知这一事件的设备。当一个新的设备加入到网络中的时候,该设备首先与它同在一个分区的其它现有设备完成注
8、册,然后连接这个设备的交换机会把这一事件告知其他的分区的设备和其它的交换机。iSCSIv iSCSI(Internet SCSI互联网小型计算机系统接口)是一种在Internet协议网络上,特别是以太网上进行数据块传输的标准。由Cisco和IBM两家发起的,可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择v iSCSI的优势主要表现为:首先,建立在SCSI、TCP/IP这些稳定和熟悉的标准上,因此安装成本和维护费用都很低;其次,iSCSI支持一般的以太网交换机而不是特殊的光纤通道交换机,从而减少了异构网络和电缆;最后,iSCSI通过IP传输存储命令,因此可以在整
9、个Internet上传输,没有距离限制。iSCSI协议协议v iSCSIiSCSI也有一个清晰的层次结构,根据也有一个清晰的层次结构,根据OSIOSI模型,模型,iSCSIiSCSI的协的协议栈自顶向下一共可以分为五层,如图所示:议栈自顶向下一共可以分为五层,如图所示:iSCSI协议分析协议分析 v SCSI层:根据应用发出的请求建立SCSI CDB(命令描述块),并传给iSCSI层;同时接受来自iSCSI层的CDB,并向应用返回数据。v iSCSI层:对SCSI CDB进行封装,以便在基于TCP/IP协议的网络上进行传输,完成SCSI到TCP/IP的协议映射。是iSCSI协议的核心层。v T
10、CP层:提供端到端的透明可靠传输。v IP层:对IP报文进行路由和转发。v Link层:提供点到点的无差错传输。iSCSI流量控制流量控制v iSCSI则采用TCPlP协议的端到端的流量控制机制,以可变发送窗口的方式进行流量控制。发送窗口在连接建立时由双方面定,但在 通信过程中,接收方可根据自己的资源使用情况,随时动态地调整自已的接收窗口(可增大或减小),然后告诉对方,使发送方的发送窗口和接收窗口一致。iSCSI超时重发超时重发 v iSCSI采用的是TCP的自适应超时重发算法,可根据网络的情况动态调整。这种算法记录每一个报文段发出的时间以 及收到相应的确认报文段的时间,这两个时间之差就是报文
11、段的往返时延RTT,当发送个数据段时,启动相应的定时器,如果定时器超时确认报文段还没有到 达,就触发数据配发机制。如果超时之前得到确认,就记录新的往返时延,将各个报文段的往返时延样本进行加权平均得到新的报文段的平均往返时延RTT,显然 定时器设置的重发时间应大于平均的往返时延RTT。在实际应用中,RTT的算法还很复杂,目前一般采用的是Karm算法。iSCSI发现机制发现机制 v iSCSI发起端为了和iSCSI目标端建立iSCSI会话,iSCSI需要知道ISCSI目标端的IP地址,TCP端口号和名字三个信息。iSCSI发现的目的是为了让iSCSI发起端获取一条到iSCSI目标端的通路。v iS
12、CSI有三种发现机制FCIP FCIP(Fibre Channel over TCP/IP),将FC协议封装到TCP/IP包中,从而使FC通过网络进行传输。FCIP由Brocade、Gadzoox、朗讯、McData及Qlogic共同提出 FCIP解决了FC的传输距离问题,即解决了SAN之间的互连互通 基于FCIP的设备现在有Brocade多协议路由器等。FCIP 协议协议 FCIP被提议为通过现有的IP网络连接光纤通道SAN“孤岛”的一种标准方法。FCIP还可用来克服光纤通道目前存在的距离限制因素,能够跨越大于光纤通道支持的距离连接SAN孤岛。FCIP具有实现纠错和检测的优点:即如果IP网络
13、错误率高的话,它就重试。这是在一条低性能、高错误率的IP网络上连接SAN的理想途径。FCIP的缺点的缺点v 首先,FCIP只能在FCIP设备之间建立点到点连接,即FCIP设备一端(IP端)和另外一个FCIP设备的IP端进行连接,FCIP设备的另外一端(FC端)和FC光纤通道交换机进行连接,FCIP设备无法在两个独立存储设备之间提供本地IP连接;v 其次,由于FCIP是一种不透明的传输协议,即一个SAN向另一个SAN发送的信息在FC层没有错误检测,容易将一个SAN上的错误蔓延到各个SAN;v 再次是FC和IP网络之间线速的不匹配,或者FCIP引擎的低效实现,都有可能使得FCIP设备成为一个瓶颈。
14、如果FCIP通道崩溃,两个远程FC交换机之间的连接也不会自动恢复,这对商业应用来说显然是难以接受的。iFCP 协议协议 iFCP(Internet Fibre Channel Protocol)是一个网关到网关的协议,iFCP可以直接替代FC架构,通过iFCP存储交换机可以直接连接FC的各个设备并进行分组,而不仅仅是简单地对FC SAN进行远程连接。iFCP的优势在于在建立连接的同时能够建立网关分区,它可以将出现问题的区域隔离起来,并克服了点到点隧道的限制。基于iFCP实现了SAN的路由故障隔离、安全及灵活管理,具有比FCIP更高的可靠性。iFCP由Nishan Systems倡导,McDAT
15、A开发了基于iFCP的产品。iFCP 协议协议 iFCP是一项在TCP/IP网络上传送光纤通道传输流的标准。作为网关的iFCP在使用户可以将光纤通道RAID阵列、交换机和服务器连接到IP存储网络上的同时,保护了基础设施的投资。iFCP运行时将光纤通道数据封装在IP包中并将IP地址映射到不同的光纤通道设备上。每一台光纤通道设备在IP网络上都有自己的身份标识,因此它可以单独地向IP网络中其他节点发送存储流和接收来自其他节点的存储流。iFCP在网关终结光纤通道信令,然后在IP网络上传送存储传输流,突破了传统光纤通道距离只能达到6.2英里的限制。InfiniBand体系体系 InfiniBand简称I
16、BA,是一种新的I/O总线技术,用于取代目前的PCI总线。IBA传输率可以达到30Gbps,同时系统通过双CRC、虚通道、优先级控制、基于信用的流控制来维持较高的性能和可靠性。IBA还提供了内部和外部的互连支持。在软件和操作系统方面,Mellanox公司发布了应用于Linux操作系统的IBA标准,同时微软的Windows2003和未来的Whistler也提供了对IBA的支持。FCoE体系体系v FCoE是07年4月份由EMC、Brocade、Cisco等存储厂商提出的,目前在SINA的审核通过过程中v 和ISCSI体系类似,同样是传送IP数据包v 不同的是iSCSI封装的是SCSI指令v 而F
17、CoE封装的是FC指令包含TCP/IP和FCoE的协议栈 从FC到FCoE的映射 FCoE帧格式帧格式v 通常一个以太网的帧最大为1518字节。而一个典型的光纤通道帧最大为大约2112字节。因此在以太网上有一个称为巨型帧(Jumbo Ethernet frames)的实质标准,它允许以太网帧在长度上达到9k字节。在使用巨型帧时需要注意,所有以太网交换机和终端设备必须支持一个公共的巨型帧格式。在以太网封装一个光纤帧 iSCSI、FCIP、iFCP 标准的比较标准的比较 iSCSI:用于在基于IP的存储设备之间建立连接及管理连接,在现有的 IP网络上封装SCSI数据进行传输。FCIP:用于连接地理上分散的 FC SAN。仅仅适用于需要互连时使用IP 的两个或多个FC交换的应用。iFCP:使用IP基础设施来实现 FC设备间或FC SAN间的互连。该协议致力于所有的FC交换架构而不仅限于解决距离上的问题。总结总结v 内容:SCSI、FC、iSCSI、FCoEv 实验二:IP SAN实验;实验iSCSI协议过程v 实验六:NAS文件共享;介绍CIFS协议下的文件共享v 实验八:NFS文件共享;介绍NFS协议下的文件共享