从“彻底网络化”看存储区域网络和系统区域网络的发展历程

计算机系统外部存储,从纸带,磁带,软盘,硬盘,磁盘阵列,flash,经历了从低级到高级,慢速到快速的发展过程。同样系统外部IO总线也随着这些外设速度的提升,经历了ISA,PCI,PCI-X的发展过程。而本地存储IO接口,ATA从当初的ATA33,ATA100,ATA133发展到现在的SATA150Mhz;scsi也发展到现在命令和接口分离的scsi3体系


串行化时代,出现了太多的串行编码技术的接口:pci-x,usb,1394,sas,ssa,sata,fc,infiniband。纵观从并行到串行的转变,我们可以发现,网络传输技术中都是用的清一色的串行编码技术,10M以太网用曼彻斯特编码,100M以太网用4b5b编码,1000M以太网用8b10b编码,万兆以太用64b65b编码,都是串行传输,所以这个转变是系统IO从本地化转为网络化的必经之路!引起这个转变的根本原因就是:传输速度的提高。现代接口的趋势就是:高速、串行化。速度提高之后,必将迫切的需要冲破系统后端IO只在本地化的限制,使各个节点之间的通信域扩大成网络规模,节点之间可以无障碍的通信,而传统网络IO的慢速的难题,已经被高频电路新技术发展所解决,万事具备,只欠东风…….


不久,以fiber channel传输技术为代表的存储区域网络(SAN),乘东风翩翩而来。fiber channel可以说是第一个吃螃蟹的,不仅吃到了螃蟹,而且取得了巨大的成功!fiber channel定义了一系列网络化元素,从物理层到传输层。比如物理层8b10b编码串行传输;链路层帧格式,寻址层(exchange,sequence,frame的三次结构模型),传输层(带确认或者不带确认机制)。fc和上层协议的接口由fc4层来定义,fc可以传输IP,scsi等多种协议(在传输象IP这种已经定义了寻址机制的协议时候,必须设置neme server进行名称映射)。拓扑上,定义了private loop,public loop,p2p,fabric,intran fabric,inter fabric六种结构。fc的出现,催生了一大批做fc san的厂商,更加深了fc势力的扩张。出现了fc接口的磁盘(fscsi,fata)fc的HBA,fc的控制器。。。仿佛一切都在fc化。fc接口的磁盘串,形成一个loop,接入IO控制器或者盘阵中常用的DA(disk adaptor),由于scsi3体系分离了命令和接口,所以使得scsi上层体系可以以fc为底层传输手段,再加上fc loop最多可以接127个设备(fc al地址字段长度为8位,所以最大地址数127),所以极大得扩展了原来scsi总线最多接15个设备得而且最长25米线缆得限制.

与此同时,另一路存储网络化大军:IP存储也在屯兵遣将,准备和fc存储分天下。同样是网络化,IP存储则是建立在非常成熟而且广泛使用并且价格低廉的IP网络基础之上的。由于IP已经提供了成熟的传输和寻址机制,所以基本就是拿来就用的程度(之所以用tcpip而不是udpip,是因为IP协议是专门为大规模跨地域网络而设计,它假设链路传输是不可靠的,所以引入了tcp来保障传输,但是我我认为现在的链路质量,完全可以用udp传输,将纠错机制给上层处理,就像fc用class3服务来传输scsi一样)。ISCSI,IATA(intransa,华3的架构),FCIP,IFCP等。其中最重要的就是ISCSI技术,将scsi命令体系用tcp来传输,而不是用fc来传输,这引发了很多到底iscsi和fcp谁快的争论。我谈一下我的看法,tcp传输的开销比fc要大,而且tcp协议站是运行在主机以太网络适配器上层的OS层的,需要消耗大量主机cpu时间的,包括ack,定时器,重传等,均通过消耗主机大量cpu时间来运行,而fc协议站则完全实现在fc hba的芯片中,对于主机os,只利用底层驱动程序来作用,速度极快,相比tcp,消耗主机cpu资源极少。针对专门处理tcp的芯片也出来了,集成在iscsi卡内,可以脱离主机cpu独立进行tcp处理,叫做TOE(tcp offload engine)。tcp每发一个或者一批(视窗口大小和队列延迟时间而定)包,接受方都要返回ack包,如果接受方没东西发送,则单纯发ack包不捎带任何上层数据,这样就浪费了带宽,而fc也有ack机制,至于他们之间的区别,小弟也没有深入研究,希望达人能解释一下。基于以太网的IP传输廉价,易实施,而且已经有了万兆以太网,到时候我相信基于万兆以太的IP存储将占上锋。相等速率的情况下,fc占上锋。IP存储最大优势就是价格、实施容易,可扩展性强,大众化。华3也在搞IP存储,据说是oem的intransa,有IATA和Iscsi的产品,相信借助华为的IP领域的研发和市场优势,华三IP存储一定能成为一支大军!


同样,以串行scsi接口(SAS)技术和IBM自有的SSA接口技术为代表的存储区网络,也正在发展之中。(SSA由于IBM私有,已经淘汰)


escsi:网络存储的隐者。


不好意思,这个词儿是小弟全权代表snia定义的¥◎%¥……※¥。。。。其实压根就没这个词,只不过是小弟的想象而已。所谓escsi就是scsi over ethernet,直接丢弃IP这一层多于的寻址机制和tcp的传输机制,自定义一套高效的,针对性的inter switch寻址和传输机制,intran switch或者规模较小的fabric用mac地址直接寻址,inter switch或较大规模的fabric在ethII帧或者LLC SNAP之上再引入额外字段实现高层寻址。这样将极大的简化tcpip带来的开销,加上以太网的廉价,广域lan,以及万兆以太网这个杀手锏,相信escsi将来会成为王者!(弱弱的问一句,现在有人开发escsi或者eata么?小弟很感兴趣)


fc san,IP ssan。。。。正当两大门派对峙的时候,真正的网络化,彻彻底底的网络化时代到来了。


intransa的IP磁盘说

intransa虽然名气不大,产品卖的也不好,但是他的思想是很超前的,彻底网络化,这就是时代的趋势!如今,连冰箱都想入网,还有什么不能入网的?intransa将ip协议站加入到了磁盘上,就像将fc协议加入到磁盘上一样,但是这个做法确没让多少人感冒(华为基于这个技术推出了IX系列存储,不知道是全盘照搬还是自主研发)。但至少表现了一种思想和趋势,这年头,思想才是最重要的,没了思想,就完蛋(吃的全是垃圾,吐的全是思想×%※¥#%)。具体请看一下intransa 的白皮书。
彻底网络化IO:infiniband

infiniband的核心思想,即所谓系统区域网络(SAN)。他起源并发展于是三个IO模型,我只记得其中一个:NGIO(下一代IO模型),这三个模型的思想就是IO分离,形成系统区域网络,将传统IO模型基于本地的IO,变为网络交换式IO。SAS(serial attached scsi)也是利用这种思想。其实fiber channel也有这种思想的体现,只不过没有规范化的表现出来。

分离IO的系统区域网络:是一种将网络化应用到系统IO,消除传统IO总线本地化的限制。彻底网络化的结果就是产生了子网、节点、交换寻址、路由寻址、网络管理、安全访问,黑客等名词。而IB(infiniband)也确实体现了这些内容。寻址采用了2层寻址,一层是LID,一种GID,intran subnet寻址采用LID,忽略GID,而inter subnet寻址则采用GID,这种寻址机制类似ATM网络中的VPI VCI寻址机制,提高了效率。定义了HCA(host channel adaptor)和TCA(target channel adaptor),类似HBA一样的作用。与高层的接口方面,定义了QP(queue pair)等。由于小弟还没有看完infiniband的规范,所以不能再对infiniband做进一步阐述了。。
结语:未来将是一个彻底网络化的时代!恐怕再过一段时间,连内存总线都网络化了(好像infiniband中有个RDMA,似乎是用网络将两边的内存联通了,不太确定),到时候,分布式处理将不再是难题,将不在需要分布式文件系统这种低效的机制。试想一下,将来各地都分布着强大的cpu阵列、内存阵列、存储阵列,北京有个2000GHz的cpu,青岛有个1000GHz的,北京有个10KG容量的内存阵列。什么?不够用了?,没事,网络负载均衡,青岛还有个备用的100KG的内存阵列。。。。。。。。。。。。。。。。。。。。。。。。醒醒,醒醒,别做梦了哈,大半夜的你顶个尿壶瞎扯什么呢你!!

冬瓜头 2006年8月27日晚

上传的缩略图

clip_image001

你可能感兴趣的:(网络,rdquo,区域,历程,ldquo)