資源描述:
《iscsi協(xié)議在op中的實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、iSCSI協(xié)議在OP中的實(shí)現(xiàn)摘要iSCSI是一種先進(jìn)的X絡(luò)存儲(chǔ)技術(shù),利用該技術(shù)能通過(guò)IPX絡(luò)訪問(wèn)遠(yuǎn)程存儲(chǔ)設(shè)備。介紹分析了iSCSI協(xié)議模型和iSCSI會(huì)話管理,給出了在協(xié)議實(shí)現(xiàn)過(guò)程中設(shè)備所處的狀態(tài),在此基礎(chǔ)上給出了利用iSCSI協(xié)議規(guī)定的特性和參數(shù)在OP8.0上實(shí)現(xiàn)iSCSI協(xié)議的方法,重點(diǎn)提出了iSCSI層的實(shí)現(xiàn)的方法,最后給出了該層在OP中的實(shí)現(xiàn)過(guò)程。關(guān)鍵字iSCSI,;OP;X絡(luò)仿真;SAN1引言快速增長(zhǎng)的存儲(chǔ)容量使得企業(yè)需要采用X絡(luò)存儲(chǔ)解決方案。目前X絡(luò)存儲(chǔ)技術(shù)采用的連接技術(shù)主要有光纖通道和TCP/IP?;贗P的X絡(luò)存儲(chǔ)能解決基于光纖通道的X絡(luò)存儲(chǔ)中存在的兼容性和傳
2、輸距離問(wèn)題,而且能提供相對(duì)廉價(jià)的解決方案。iSCSI(InterSCSI)協(xié)議是IP存儲(chǔ)X絡(luò)協(xié)議之一,它將廣泛應(yīng)用的兩種工業(yè)標(biāo)準(zhǔn)SCSI和TCP/IP結(jié)合起來(lái),為存儲(chǔ)設(shè)備提供面向數(shù)據(jù)塊級(jí)的連接服務(wù)。由于iSCSI協(xié)議對(duì)存儲(chǔ)X絡(luò)的性能有很大的影響,所以如果能夠建立iSCSI的模型用于仿真,將能夠更清楚的了解iSCSI對(duì)存儲(chǔ)X絡(luò)性能的影響,但在OP上還沒(méi)有iSCSI的模型,本文給出了在OP上實(shí)現(xiàn)iSCSI的方法。2iSCSI協(xié)議分析2.1iSCSI協(xié)議模型iSCSI使用TCP/IP協(xié)議在不穩(wěn)定X絡(luò)上進(jìn)行可靠的數(shù)據(jù)傳輸。iSCSI層和標(biāo)準(zhǔn)SCSI集在協(xié)議棧中的位置如圖1所示。iSC
3、SI層包括了已封裝的SCSI命令、數(shù)據(jù)和狀態(tài)。就是說(shuō)若Initiator端的操作系統(tǒng)或應(yīng)用程序需要進(jìn)行數(shù)據(jù)寫操作,SCSI的CDB(mandDescriptionBlock命令描述塊)必須被封裝以便能夠在串行千兆位鏈接上傳輸?shù)絋arget端。圖1iSCSI協(xié)議棧iSCSI屬于端到端的會(huì)話層協(xié)議,它定義的是SCSI到TCP/IP的映射,即Initiator將SCSI指令和數(shù)據(jù)封裝成iSCSI協(xié)議數(shù)據(jù)單元,向下提交給TCP層,最后封裝成IP數(shù)據(jù)包在IPX絡(luò)上傳輸,到達(dá)Target后通過(guò)解封裝還原成SCSI指令和數(shù)據(jù),再由存儲(chǔ)控制器發(fā)送到指定的驅(qū)動(dòng)器,從而實(shí)現(xiàn)SCSI命令和數(shù)據(jù)在I
4、PX絡(luò)上的透明傳輸。它整合了現(xiàn)有的存儲(chǔ)協(xié)議SCSI和X絡(luò)協(xié)議TCP/IP,實(shí)現(xiàn)了存儲(chǔ)與TCP/IPX絡(luò)的無(wú)縫融合。iSCSI數(shù)據(jù)包作為TCP的有效載荷被封裝到TCP包中,在經(jīng)過(guò)了整個(gè)X絡(luò)協(xié)議棧到達(dá)物理層時(shí),數(shù)據(jù)包封裝格式如圖2所示圖2iSCSI數(shù)據(jù)包格式iSCSI協(xié)議監(jiān)測(cè)塊數(shù)據(jù)的傳輸并完成I/O操作,這些需要在Initiator端和Target端的TCP連接上進(jìn)行。在實(shí)際應(yīng)用中,IPX內(nèi)一個(gè)Initiator端可以有多個(gè)Target端資源,所以同時(shí)有多個(gè)活動(dòng)的TCP連接。2.2iSCSI會(huì)話管理會(huì)話指的是兩個(gè)節(jié)點(diǎn)通過(guò)某一應(yīng)用進(jìn)行通訊,iSCSI會(huì)話由一個(gè)二元組<<
5、ISID,TSID>標(biāo)識(shí),它表示Initiator和Target之間的聯(lián)系,該聯(lián)系在SCSI協(xié)議中稱為I-TNexus(I-T聯(lián)結(jié))。在iSCSIInitiator:端向Target端發(fā)送iSCSI命令之前,首先必須與Target端建立一個(gè)iSCSI會(huì)話,iSCSI會(huì)話通過(guò)一個(gè)iSCSI登錄進(jìn)程來(lái)啟動(dòng),登錄過(guò)程中協(xié)商雙方的變量參數(shù),并調(diào)用一個(gè)安全例程來(lái)對(duì)許可的連接進(jìn)行認(rèn)證.iSCSI會(huì)話生存期包括登錄階段和全工階段,登錄階段又可細(xì)分為初始化階段、安全認(rèn)證階段和參數(shù)協(xié)商階段。Initiator端在發(fā)起每次TCP連接時(shí)先向系統(tǒng)注冊(cè)該連接,在連接能夠被用于傳輸SCSI命令之前
6、,連接的注冊(cè)階段必須完成。iSCSI注冊(cè)是一種在Initiator端和Target端之間建立TCP連接的機(jī)制。它將鑒別連接雙方,就會(huì)話間的各種參數(shù)進(jìn)行磋商,并設(shè)置相應(yīng)的安全關(guān)聯(lián),還要為屬于相應(yīng)iSCSI會(huì)話的連接做上標(biāo)記。Initiator:端通過(guò)連接一個(gè)已知的TCP端口開(kāi)始注冊(cè)程序,Target端也透過(guò)這個(gè)端口來(lái)監(jiān)聽(tīng)進(jìn)入的連接。一個(gè)TCP連接被建立后,可以用來(lái)傳輸SCSI命令、數(shù)據(jù)和狀態(tài)信息,完成Initiator端和Target端之間的通信任務(wù)。在Initiator:和Target之間可能會(huì)產(chǎn)生一個(gè)或多個(gè)這樣的TCP連接。具有相同會(huì)話標(biāo)識(shí)的TCP連接就組成了一個(gè)會(huì)話。這個(gè)
7、會(huì)話也可以用來(lái)鑒別Target端與給定Initiator端的所有連接,TCP連接可以從會(huì)話中被添加或刪除。iSCSI登錄交換使用文本字段來(lái)協(xié)商Initiator:和Target之間的允許參數(shù),如安全協(xié)議、最大數(shù)據(jù)有效載荷大小、是否支持主動(dòng)數(shù)據(jù)、主動(dòng)數(shù)據(jù)的長(zhǎng)度和超時(shí)值等。作為注冊(cè)程序的一部分,Initiator端和Target端會(huì)彼此鑒別對(duì)方,并為這個(gè)會(huì)話設(shè)置相應(yīng)的安全關(guān)聯(lián)。一旦注冊(cè)程序結(jié)束,iSCSI會(huì)話將進(jìn)入全工階段。此時(shí),Initiator端可以通過(guò)已建立的iSCSI會(huì)話將SCSI命令和數(shù)據(jù)打包入i