專利名稱::目標(biāo)端和發(fā)起端建立iSCSI會話的方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及iSCSI技術(shù),尤其涉及一種目標(biāo)端建立iSCSI會話的方法和相應(yīng)的iSCSI目標(biāo)設(shè)備,以及一種發(fā)起端建立iSCSI會話的方法和相應(yīng)的iSCSI發(fā)起設(shè)備。
背景技術(shù):
:SCSI(SmallComputerSystemInterface,小型計算機(jī)系統(tǒng)接口)協(xié)議定義了應(yīng)用主機(jī)和外部設(shè)備(包括磁盤、磁帶、光盤、打印機(jī)、掃描儀等)之間讀寫操作的過程。iSCSI(InternetSCSI,互聯(lián)網(wǎng)小型計算機(jī)系統(tǒng)接口)是一種基于TCP(TransmissionControlProtocol,傳車俞控制協(xié)議)/IP(InternetProtocol,互聯(lián)網(wǎng)協(xié)議)的SCSI傳輸協(xié)議,也即發(fā)起端(initiator)和目標(biāo)端(target)之間通過互聯(lián)網(wǎng)來傳輸SCSI命令和數(shù)據(jù)。目前,iSCSI協(xié)議常用于在應(yīng)用主機(jī)和存儲系統(tǒng)之間進(jìn)行數(shù)據(jù)傳輸,且其典型應(yīng)用環(huán)境如圖1所示。應(yīng)用主機(jī)110作為iSCSI連接的發(fā)起方,其中通過安裝iSCSI發(fā)起軟件、或裝配iSCSIHBA(HostBusAdaptor,主機(jī)總線適配卡)卡的方式集成有一個iSCSI發(fā)起模塊。同時,為了在異常掉電或者重啟之后應(yīng)用主機(jī)110能夠自動運行iSCSI發(fā)起模塊,以保證服務(wù)依賴(即對某些基于iSCSI存儲資源的應(yīng)用來說,只有在iSCSI服務(wù)啟動之后,這些應(yīng)用才能成功運行),iSCSI發(fā)起端通常都提供了自動綁定功能。而存儲系統(tǒng)120中集成有一個iSCSI目標(biāo)模塊,并會創(chuàng)建多個存儲資源以供不同的應(yīng)用主機(jī)110訪問,通常使用目標(biāo)端和發(fā)起端之間的對應(yīng)關(guān)系來建立一組訪問控制權(quán)限。例如,首先創(chuàng)建一個目標(biāo)端,并為這個目標(biāo)端分配一個或多個存儲資源,其中存儲資源通常以巻為單位(相應(yīng)地,發(fā)起端看到的一個巻就是一個磁盤);然后,建立目標(biāo)端與發(fā)起端之間的訪問控制權(quán)限。存儲系統(tǒng)120會根據(jù)發(fā)起端和目標(biāo)端之間設(shè)置的訪問控制權(quán)限進(jìn)行控制,只有對目標(biāo)端擁有讀寫權(quán)限的發(fā)起端才能對該目標(biāo)端上的存儲資源進(jìn)行讀寫。同時,目前有些功能完備的存儲系統(tǒng)還允許設(shè)置存儲系統(tǒng)的訪問權(quán)限(包括讀/寫和只讀等),且常用的存儲資源配置表可參見表1中舉例。表1:現(xiàn)有技術(shù)中存儲系統(tǒng)上的iSCSI存儲資源配置表舉例<table>tableseeoriginaldocumentpage8</column></row><table>應(yīng)用主機(jī)110要對存儲系統(tǒng)120上的存儲資源進(jìn)行數(shù)據(jù)讀寫操作,必須首先獲得存儲系統(tǒng)分配給他的iSCSI目標(biāo)列表,然后再建立到iSCSI目標(biāo)的連接。在現(xiàn)有技術(shù)中,一個帶有安全認(rèn)證的iSCSI發(fā)起端到iSCSI目標(biāo)端的連接過程如圖2所示,主要包括下列步驟1)首先,應(yīng)用主機(jī)110和存儲系統(tǒng)120之間建立TCP/IP連接;2)接著,應(yīng)用主機(jī)110向存儲系統(tǒng)120發(fā)送登錄請求,并在其中相關(guān)特征位上指明需要進(jìn)行安全認(rèn)證方式協(xié)商(SecurityNegotiation),如果協(xié)商不通過(比如密碼錯誤)則會話結(jié)束并斷開TCP/IP連接,否則繼續(xù)下面第3步;3)應(yīng)用主機(jī)110向存儲系統(tǒng)120發(fā)送登錄請求,并在其中相關(guān)特征位上指明需要進(jìn)行操作方式協(xié)商(OperationNegotiation),相應(yīng)地存儲系統(tǒng)120會在完成協(xié)商之后向應(yīng)用主機(jī)110返回登錄響應(yīng),也即接受應(yīng)用主機(jī)110的登錄請求,至此雙方建立了會話通道;4)應(yīng)用主機(jī)110向存儲系統(tǒng)120開始數(shù)據(jù)傳輸;5)在數(shù)據(jù)傳輸結(jié)束后,應(yīng)用主機(jī)110會向存儲系統(tǒng)120發(fā)送注銷請求,存儲系統(tǒng)120則會向應(yīng)用主機(jī)110返回注銷響應(yīng),至此iSCSI會話結(jié)束。通過上述介紹可知,現(xiàn)有iSCSI技術(shù)主要是基于發(fā)起名和目標(biāo)名之間的對應(yīng)關(guān)系來進(jìn)行存儲資源訪問控制的,因此RFC3720要求iSCSI發(fā)起名必須全局唯一。但實際上很難實現(xiàn)發(fā)起名全局唯一,比如稍微粗心就可能導(dǎo)致兩個應(yīng)用主機(jī)上的發(fā)起名相同,更不用說有些用戶還可能故意去冒充別人。這樣,根據(jù)iSCSI技術(shù)現(xiàn)狀,擁有相同發(fā)起名的不同主機(jī)將擁有相同的讀寫訪問權(quán)限,并且當(dāng)它們同時進(jìn)行讀寫操作時就可能導(dǎo)致數(shù)據(jù)破壞。另一方面,盡管協(xié)議已規(guī)定決定一個iSCSI會話的元素包括發(fā)起名、目標(biāo)名、ISID(initiatorsessionID,發(fā)起端的會話ID)禾tlTPGT(TargetPortalGroupTag,目標(biāo)端入口組標(biāo)記)共四個,然而現(xiàn)有技術(shù)中僅利用了發(fā)起名和目標(biāo)名這兩個值。這樣,由于ISID的值是各個系統(tǒng)不同且可以修改的,將不僅使得現(xiàn)有的權(quán)限控制可能出現(xiàn)漏洞,且這種漏洞還可能導(dǎo)致數(shù)據(jù)的破壞、甚至惡意竊取。
發(fā)明內(nèi)容有鑒于此,本發(fā)明目的在于提供一種目標(biāo)端建立iSCSI會話的方法,該方法不僅可以有效避免非預(yù)期情況下多臺應(yīng)用主機(jī)使用相同發(fā)起名連接存儲系統(tǒng)而導(dǎo)致的數(shù)據(jù)破壞,還可以通過設(shè)置相應(yīng)的過濾規(guī)則來防止惡意用戶冒充。同時,本發(fā)明另一目的在于提供一種iSCSI目標(biāo)設(shè)備,以支持上述方法的實施。此外,本發(fā)明再一目的在于提供一種發(fā)起端建立iSCSI會話的方法以及相應(yīng)的iSCSI發(fā)起設(shè)備,用于與上述目標(biāo)端建立iSCSI會話的方法以及相應(yīng)iSCSI目標(biāo)設(shè)備相配合,以支持上述方法的實施。為了達(dá)到上述目的,本發(fā)明公開了一種目標(biāo)端建立iSCSI會話的方法。該方法主要包括有步驟T1,目標(biāo)設(shè)備接收來自發(fā)起設(shè)備的、用于發(fā)起iSCSI會話的登錄請求報文,且所述登錄請求報文中攜帶有所述發(fā)起設(shè)備的硬件標(biāo)識,其中所述硬件標(biāo)識可能是所述發(fā)起設(shè)備的CPU(CenterProcessingUnit,中央處理單元)序列號、還可能是所述發(fā)起設(shè)備的MAC(MediaAccessControl,媒體接入控制)地址;步驟T2,所述目標(biāo)設(shè)備檢測是否存在與所述iSCSI會話具有相同發(fā)起名的同發(fā)起名會話,如果所述檢測結(jié)果為否則繼續(xù)執(zhí)行下列步驟T5,如果所述檢測結(jié)果為是則繼續(xù)執(zhí)行下列步驟T3;步驟T3,所述目標(biāo)設(shè)備判斷所述發(fā)起設(shè)備的硬件標(biāo)識與所述同發(fā)起名會話對應(yīng)的另一發(fā)起設(shè)備的硬件標(biāo)識是否相同,如果判斷結(jié)果為是則繼續(xù)執(zhí)行下列步驟T5,如果判斷結(jié)果為否則繼續(xù)執(zhí)行下列步驟T4;步驟T4,所述目標(biāo)設(shè)備將所述iSCSI會話的訪問權(quán)限設(shè)置為保護(hù)性訪問權(quán)限(包括只讀權(quán)限、或沒有權(quán)限等);以及步驟T5,進(jìn)入所述iSCSI會話的建立流程。對于上述目標(biāo)端建立iSCSI會話的方法,優(yōu)選地,在所述步驟T3之后,還包括有步驟T6:所述目標(biāo)設(shè)備向所述發(fā)起設(shè)備和/或所述另一發(fā)起設(shè)備發(fā)送重名沖突通知,且所述重名沖突通知至少包含所述發(fā)起設(shè)備的硬件標(biāo)識和/或所述另一發(fā)起設(shè)備的硬件標(biāo)識。對于上述目標(biāo)端建立iSCSI會話的方法,進(jìn)一步優(yōu)選地,所述步驟T6具體為所述目標(biāo)設(shè)備在與所述登錄請求報文對應(yīng)的登錄響應(yīng)報文中加載所述另一發(fā)起設(shè)備的硬件標(biāo)識,以將所述另一發(fā)起設(shè)備已與所述目標(biāo)設(shè)備建立了同發(fā)起名會話的重名沖突通知給所述發(fā)起設(shè)備;和/或,所述目標(biāo)設(shè)備向所述另一發(fā)起設(shè)備發(fā)送攜帶有所述發(fā)起設(shè)備的硬件標(biāo)識的異步消息報文,以將所述發(fā)起設(shè)備企圖與所述目標(biāo)設(shè)備建立同發(fā)起名會話的重名沖突通知給所述另一發(fā)起設(shè)備。對于上述目標(biāo)端建立iSCSI會話的方法,優(yōu)選地,所述步驟T1具體包括有步驟T1-1,所述目標(biāo)設(shè)備接收來自所述發(fā)起設(shè)備的、用于發(fā)起iSCSI會話的登錄請求報文;步驟Tl-2,在收到所述登錄請求報文之后,所述目標(biāo)設(shè)備判斷所述登錄請求報文是否攜帶有所述發(fā)起設(shè)備的硬件標(biāo)識,如果判斷結(jié)果為是則繼續(xù)執(zhí)行所述步驟T2,如果判斷結(jié)果為否則繼續(xù)執(zhí)行上述步驟T4或下列步驟T7;以及,步驟T7,所述目標(biāo)設(shè)備拒絕建立所述iSCSI會話。對于上述目標(biāo)端建立iSCSI會話的方法,優(yōu)選地,在所述步驟T2之前、或在所述步驟T5之前,還包括有步驟T8:所述目標(biāo)設(shè)備根據(jù)預(yù)定的放行/阻止規(guī)則對所述登錄請求報文攜帶的發(fā)起設(shè)備硬件標(biāo)識進(jìn)行過濾;如果所述發(fā)起設(shè)備的硬件標(biāo)識通過了所述過濾,則繼續(xù)執(zhí)行所述步驟T2或所述步驟T5;或者,如果所述發(fā)起設(shè)備的硬件標(biāo)識沒能通過所述過濾,則繼續(xù)執(zhí)行所述步驟T7,以拒絕建立所述iSCSI會話。為了達(dá)到上述另一目的,本發(fā)明公開了一種iSCSI目標(biāo)設(shè)備,其主要包括目標(biāo)模塊、同發(fā)起名會話檢測模塊、同硬件標(biāo)識判斷模塊、以及保護(hù)性權(quán)限設(shè)置模塊。其中所述目標(biāo)模塊用于生成和/或處理iSCSI報文,且所述iSCSI報文用于在所述目標(biāo)設(shè)備與相應(yīng)的發(fā)起設(shè)備之間相互傳輸iSCSI命令/數(shù)據(jù)。所述同發(fā)起名會話檢測模塊與所述目標(biāo)模塊相連,用于根據(jù)來自所述發(fā)起設(shè)備的、發(fā)起iSCSI會話用的登錄請求報文,檢測所述iSCSI目標(biāo)設(shè)備上是否存在與所述iSCSI會話具有相同發(fā)起名的同發(fā)起名會話;并將不存在所述同發(fā)起名會話的檢測結(jié)果輸出至所述目標(biāo)模塊,以進(jìn)入所述iSCSI會話的建立流程。所述同硬件標(biāo)識判斷模塊,與所述同發(fā)起名會話檢測模塊以及所述目標(biāo)模塊相連,在所述同發(fā)起名會話檢測模塊檢測到存在所述同發(fā)起名會話時被觸發(fā),用于判斷所述登錄請求報文中攜帶的所述發(fā)起設(shè)備的硬件標(biāo)識與所述同發(fā)起名會話對應(yīng)的另一發(fā)起設(shè)備的硬件標(biāo)識是否相同;并將所述硬件標(biāo)識相同的判定結(jié)果輸出至所述目標(biāo)模塊,以進(jìn)入所述iSCSI會話的建立流程。其中所述硬件標(biāo)識可能是所述發(fā)起設(shè)備的CPU序列號、還可能是所述發(fā)起設(shè)備的MAC地址。所述保護(hù)性權(quán)限設(shè)置模塊與所述同硬件標(biāo)識判斷模塊以及所述目標(biāo)模塊相連,在所述同硬件標(biāo)識判斷模塊判定所述硬件標(biāo)識不同時被觸發(fā),用于將所述iSCSI會話的訪問權(quán)限設(shè)置為保護(hù)性訪問權(quán)限(包括只讀權(quán)限、或沒有權(quán)限等);并將所述保護(hù)性訪問權(quán)限的設(shè)置值輸出至所述目標(biāo)模塊,以相應(yīng)進(jìn)入所述iSCSI會話的建立流程。對于上述iSCSI目標(biāo)設(shè)備,優(yōu)選地,其還包括重名沖突通知模塊。所述重名沖突通知模塊與所述同硬件標(biāo)識判斷模塊相連,在所述同硬件標(biāo)識判斷模塊判定所述硬件標(biāo)識不同時被觸發(fā),主要用于向所述發(fā)起設(shè)備和/或所述另一發(fā)起設(shè)備發(fā)送相應(yīng)的重名沖突通知。其中,向所述發(fā)起設(shè)備發(fā)送的重名沖突通知中至少包含所述另一發(fā)起設(shè)備的硬件標(biāo)識,而向所述另一發(fā)起設(shè)備發(fā)送的重名沖突通知中至少包含所述發(fā)起設(shè)備的硬件標(biāo)識。對于上述iSCSI目標(biāo)設(shè)備,進(jìn)一步優(yōu)選地,所述重名沖突通知模塊具體包括響應(yīng)通知模塊和異步通知模塊。其中所述響應(yīng)通知模塊與所述同硬件標(biāo)識判斷模塊相連以及所述目標(biāo)模塊相連,在所述同硬件標(biāo)識判斷模塊判定所述硬件標(biāo)識不同時被觸發(fā),用于在所述目標(biāo)模塊生成的、與所述登錄請求報文對應(yīng)的登錄響應(yīng)報文中加載所述另一發(fā)起設(shè)備的硬件標(biāo)識,以將所述另一發(fā)起設(shè)備已與所述目標(biāo)設(shè)備建立了同發(fā)起名會話的重名沖突通知給所述發(fā)起設(shè)備;而所述異步通知模塊與所述同硬件標(biāo)識判斷模塊相連,在所述同硬件標(biāo)識判斷模塊判定所述硬件標(biāo)識不同時被觸發(fā),用于向所述另一發(fā)起設(shè)備發(fā)送攜帶有所述發(fā)起設(shè)備的硬件標(biāo)識的異步消息報文,以將所述發(fā)起設(shè)備企圖與所述目標(biāo)設(shè)備建立同發(fā)起名會話的重名沖突通知給所述另一發(fā)起設(shè)備。對于上述iSCSI目標(biāo)設(shè)備,優(yōu)選地,其還包括硬件標(biāo)識檢測模塊。所述硬件標(biāo)識檢測模塊與所述目標(biāo)模塊以及所述同發(fā)起名會話檢測模塊相連,用于檢測所述登錄請求報文是否攜帶有所述發(fā)起設(shè)備的硬件標(biāo)識;和/或,所述硬件標(biāo)識檢測模塊將沒有攜帶硬件標(biāo)識的檢測結(jié)果輸出至所述目標(biāo)模塊以拒絕建立所述iSCSI會話,或者在所述檢測結(jié)果為否時觸發(fā)所述保護(hù)性權(quán)限設(shè)置模塊,或者在所述檢測結(jié)果為是時觸發(fā)所述同發(fā)起名會話檢測模塊。對于上述iSCSI目標(biāo)設(shè)備,優(yōu)選地,其還包括硬件標(biāo)識過濾模塊。所述硬件標(biāo)識過濾模塊與所述目標(biāo)模塊相連,用于根據(jù)預(yù)定的放行/阻止規(guī)則對所述登錄請求報文中攜帶的發(fā)起設(shè)備硬件標(biāo)識進(jìn)行過濾,也即判斷所述登錄請求報文中攜帶的發(fā)起設(shè)備硬件標(biāo)識是否屬于放行對象(或不屬于阻止對象);和/或,所述硬件標(biāo)識過濾模塊將沒通過的過濾結(jié)果輸出至所述目標(biāo)模塊,以拒絕建立所述iSCSI會話。為了達(dá)到上述再一目的,本發(fā)明公開了一種發(fā)起端建立iSCSI會話的方法。該方法主要表現(xiàn)為發(fā)起設(shè)備在其生成的、用于向相應(yīng)的目標(biāo)設(shè)備發(fā)起iSCSI會話的登錄請求報文中加載其硬件標(biāo)識之后,再將所述登錄請求報文發(fā)送給所述目標(biāo)設(shè)備。一般來說,所述硬件標(biāo)識可能是所述發(fā)起設(shè)備的CPU序列號、還可能是所述發(fā)起設(shè)備的MAC地址;同時,所述硬件標(biāo)識優(yōu)選地加載在相應(yīng)iSCSI報文(比如所述登錄請求報文)的數(shù)據(jù)段(DataSegment)中。對于上述發(fā)起端建立iSCSI會話的方法,優(yōu)選地,所述發(fā)起設(shè)備在收到來自所述目標(biāo)設(shè)備的、與所述登錄請求報文對應(yīng)的登錄響應(yīng)報文后,判斷所述登錄響應(yīng)報文中是否攜帶有另一發(fā)起設(shè)備的硬件標(biāo)識;并且,如果所述判斷結(jié)果為是,則確定所述目標(biāo)設(shè)備已與所述另一發(fā)起設(shè)備建立了與所述iSCSI會話具有相同發(fā)起名的同發(fā)起名會話,從而進(jìn)行相應(yīng)的重名沖突處理。同時,本發(fā)明還公開了一種iSCSI發(fā)起設(shè)備,其主要包括發(fā)起模塊和硬件標(biāo)識獲取模塊。其中所述發(fā)起模塊用于生成和/或處理iSCSI報文,且所述iSCSI報文用于在所述發(fā)起設(shè)備與相應(yīng)的目標(biāo)設(shè)備之間傳輸iSCSI命令/數(shù)據(jù)。所述硬件標(biāo)識獲取模塊與所述發(fā)起模塊相連,用于獲取所述發(fā)起設(shè)備的硬件標(biāo)識,并將所述硬件標(biāo)識輸出至所述發(fā)起模塊;而所述發(fā)起模塊將在其生成的、用于向所述目標(biāo)設(shè)備發(fā)起iSCSI會話的登錄請求報文中加載所述硬件標(biāo)識。一般來說,所述硬件標(biāo)識可能是所述發(fā)起設(shè)備的CPU序列號、還可能是所述發(fā)起設(shè)備的MAC地址;同時,所述硬件標(biāo)識優(yōu)選地加載在相應(yīng)iSCSI報文(比如所述登錄請求報文)的數(shù)據(jù)段(DataSegment)中。對于上述iSCSI發(fā)起設(shè)備,優(yōu)選地,其還包括重名沖突處理模塊。所述重名沖突處理模塊與所述發(fā)起模塊相連,在所述發(fā)起模塊檢測到來自所述目標(biāo)設(shè)備的iSCSI報文中攜帶有另一發(fā)起設(shè)備的硬件標(biāo)識時被觸發(fā),用于對所述另一發(fā)起設(shè)備和所述目標(biāo)設(shè)備正在建立或已經(jīng)建立與所述iSCSI會話具有相同發(fā)起名會話的重名沖突進(jìn)行處理。與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點首先,通過設(shè)置保護(hù)性訪問權(quán)限,本發(fā)明能夠有效防止非預(yù)期情況下多臺應(yīng)用主機(jī)使用相同發(fā)起名連接存儲系統(tǒng)而導(dǎo)致的數(shù)據(jù)破壞。其次,通過設(shè)置相應(yīng)的過濾規(guī)則(比如,在存儲系統(tǒng)上增加允許訪問的應(yīng)用主機(jī)硬件標(biāo)識列表),本發(fā)明還可以防止惡意的用戶冒充。最后,本發(fā)明還為簡化存儲系統(tǒng)上訪問資源管理提供了合理的設(shè)計基礎(chǔ)。比如,對于多臺應(yīng)用主機(jī)使用相同發(fā)起名的訪問情況,通過自動將第二個及往后的登錄設(shè)置為只讀,可以有效減少權(quán)限分配的工作量;或者,對于一個用戶擁有多臺應(yīng)用主機(jī)的情況,為該用戶分配一個發(fā)起名就能確保該用戶可同時使用這些應(yīng)用主機(jī)訪問相同的存儲資源,而無需分別為該用戶的每臺應(yīng)用主機(jī)分配發(fā)起名,從而簡化了相應(yīng)的權(quán)限管理操作。圖1為現(xiàn)有技術(shù)中iSCSI協(xié)議運用的組網(wǎng)示意圖;圖2為現(xiàn)有技術(shù)中iSCSI連接過程的示意圖;圖3為本發(fā)明目標(biāo)端建立iSCSI會話方法第一優(yōu)選實施例的流程圖;圖4為現(xiàn)有技術(shù)中iSCSI登錄請求報文內(nèi)協(xié)議數(shù)據(jù)單元的示意圖;圖5為本發(fā)明目標(biāo)端建立iSCSI會話方法第二優(yōu)選實施例的流程圖;圖6為本發(fā)明iSCSI目標(biāo)設(shè)備優(yōu)選實施例之一的結(jié)構(gòu)框圖;圖7為本發(fā)明發(fā)起端建立iSCSI會話方法優(yōu)選實施例之一的流程圖;圖8為本發(fā)明iSCSI發(fā)起設(shè)備優(yōu)選實施例之一的結(jié)構(gòu)框圖。具體實施方式本發(fā)明的上述及其他技術(shù)特征和有益效果,將通過參照附圖進(jìn)行的優(yōu)選實施例介紹得到更充分的闡述。圖3給出了本發(fā)明所提供一種目標(biāo)端建立iSCSI會話的方法第一優(yōu)選實施例的流程圖。如圖3所示,目標(biāo)設(shè)備在接收到來自發(fā)起設(shè)備的、用于發(fā)起iSCSI會話的登錄請求報文(步驟T1-1)之后,其首先判斷所述登錄請求報文是否攜帶有所述發(fā)起設(shè)備的硬件標(biāo)識(步驟Tl-2)。如果步驟Tl-2判斷結(jié)果為否,該目標(biāo)設(shè)備則將直接拒絕建立所述iSCSI會話(步驟T7),從而可以禁止沒有攜帶硬件標(biāo)識的發(fā)起端混水摸魚。然而,如果步驟Tl-2的判斷結(jié)果為是,該目標(biāo)設(shè)備則繼續(xù)檢測其上是否存在與所述iSCSI會話具有相同發(fā)起名的同發(fā)起名會話,也即執(zhí)行圖3所示步驟T2。其中,所述硬件標(biāo)識通常是能夠唯一標(biāo)識所述發(fā)起設(shè)備的硬件參數(shù),比如CPU(CenterProcessingUnit,中央處理單元)序列號、MAC(MediaAccessControl,媒體接入控制)地址等。同時,所述硬件標(biāo)識優(yōu)選地加載在所述登錄請求報文的數(shù)據(jù)段(DataSegment)字段中。一般來說,iSCSI登錄請求報文內(nèi)PDU(ProtocolDataUnit,協(xié)議數(shù)據(jù)單元)的數(shù)據(jù)結(jié)構(gòu)如圖4所示,其中用于協(xié)商iSCSI會話的各個參數(shù)主要由數(shù)據(jù)段(文本登錄參數(shù))字段攜帶。繼續(xù),如果步驟T2的檢測結(jié)果為否,則說明在該目標(biāo)設(shè)備上不存在對應(yīng)所述iSCSI會話的同發(fā)起名沖突,從而可以直接執(zhí)行后續(xù)步驟。然而,如果步驟T2的檢測結(jié)果為是,說明在該目標(biāo)設(shè)備上存在同發(fā)起名沖突,則需要根據(jù)所述發(fā)起設(shè)備的硬件標(biāo)識與所述同發(fā)起名會話對應(yīng)的另一發(fā)起設(shè)備的硬件標(biāo)識是否相同分別進(jìn)行相應(yīng)的后續(xù)處理,也即首先執(zhí)行圖3所示步驟T3、然后再基于步驟T3的判斷結(jié)果進(jìn)行相應(yīng)處理。具體而言如果步驟T3的判斷結(jié)果為是,則說明使用相同發(fā)起名向該目標(biāo)設(shè)備發(fā)起iSCSI會話的應(yīng)該是同一臺發(fā)起設(shè)備。同時,由于在該目標(biāo)設(shè)備上已經(jīng)基于該發(fā)起名和該發(fā)起設(shè)備建立了iSCSI會話,也就是說該發(fā)起名和該發(fā)起設(shè)備均已通過該目標(biāo)設(shè)備上的相關(guān)鑒權(quán)操作,從而可以直接進(jìn)入所述iSCSI會話的建立流程(步驟T5)。進(jìn)一步,對于發(fā)起名和硬件標(biāo)識(代表發(fā)起設(shè)備)同時相同的情況,根據(jù)iSCSI會話的ISID(InitiatorSessionID,發(fā)起端的會話ID)值是否相同分別對應(yīng)以下兩種情況1、當(dāng)硬件標(biāo)識相同、但I(xiàn)SID卻不同時,對應(yīng)著同一個應(yīng)用主機(jī)上存在不同發(fā)起端(比如一個應(yīng)用主機(jī)上裝配有多個HBA卡)的情況,這種情況通常出現(xiàn)在MPIO(Multi-Pathingl/O,多徑傳輸)中,這時直接進(jìn)入所述iSCSI會話的建立流程(步驟T5)即可。2、然而,當(dāng)硬件標(biāo)識相同、且ISID也相同時,對應(yīng)的是會話重建情形;這時也直接進(jìn)入所述iSCSI會話的建立流程(步驟T5)即可,只是所述建立流程具體為會話重建流程。如果步驟T3的判斷結(jié)果為否,則說明使用相同發(fā)起名向該目標(biāo)設(shè)備發(fā)起iSCSI會話的應(yīng)該不是同一臺發(fā)起設(shè)備,也就是說在該目標(biāo)設(shè)備上出現(xiàn)了重名沖突。這時,為了避免由重名沖突導(dǎo)致的數(shù)據(jù)破壞,則必須將當(dāng)前需要建立的所述iSCSI會話的訪問權(quán)限設(shè)置為保護(hù)性訪問權(quán)P艮(包括只讀權(quán)限、或沒有權(quán)限等),也即執(zhí)行圖3所示步驟T4。隨后,根據(jù)步驟T4中具體保護(hù)性訪問權(quán)限的設(shè)置值進(jìn)入相應(yīng)的后續(xù)處理。比如,當(dāng)所述保護(hù)性訪問權(quán)限被設(shè)置為"只讀"權(quán)限時,則相應(yīng)的后續(xù)處理可能具體為進(jìn)入所述iSCSI會話的建立流程,且所述iSCSI會話的訪問權(quán)限為只讀。然而,當(dāng)所述保護(hù)性訪問權(quán)限被設(shè)置為"沒有"權(quán)限時,則相應(yīng)的后續(xù)處理可能具體為拒絕建立所述iSCSI會話,雖然圖3為簡化圖示考慮沒有具體示出這一處理情形,但本領(lǐng)域技術(shù)人員應(yīng)能理解"沒有權(quán)限"的具體含義所指。并且,如圖3所示,在檢測到出現(xiàn)了重名沖突之后,該目標(biāo)設(shè)備還優(yōu)選地向出現(xiàn)重名沖突的發(fā)起設(shè)備(包括所述發(fā)起設(shè)備和所述另一發(fā)起設(shè)備)發(fā)送相應(yīng)的重名沖突通知,也即執(zhí)行圖3所示步驟T6。其中,向所述發(fā)起設(shè)備發(fā)送的重名沖突通知中至少包含所述另一發(fā)起設(shè)備的硬件標(biāo)識信息,而向所述另一發(fā)起設(shè)備發(fā)送的重名沖突通知中則至少包含所述發(fā)起設(shè)備的硬件標(biāo)識信息。一方面,發(fā)送重名沖突通知可以起到提醒惡意冒充的作用。比如,在接收到來自目標(biāo)設(shè)備的重名沖突通知后,如果當(dāng)前企圖連接的發(fā)起設(shè)備認(rèn)為已經(jīng)連接上的另一發(fā)起設(shè)備是對自己的冒充,則可向相關(guān)管理員請求終止該另一發(fā)起設(shè)備的iSCSI會話;或者,如果已經(jīng)連接上的另一設(shè)備認(rèn)為當(dāng)前企圖連接的發(fā)起設(shè)備是對自己的冒充,也可向相關(guān)管理員請求拒絕該發(fā)起設(shè)備的iSCSI會話建立請求。另一方面,即使對于合法訪問,發(fā)送重名沖突通知也是很有意義的。比如,對于被分配為通過使用同一個發(fā)起名共享存儲系統(tǒng)上某一存儲資源的多個關(guān)系密切的用戶來說,在其中用戶A需要對所述存儲資源進(jìn)行數(shù)據(jù)修改的情況下,當(dāng)用戶A通過相應(yīng)的重名沖突通知獲知由于合法用戶B的在先登錄導(dǎo)致其無法完成修改動作(因為其訪問權(quán)限被置為保護(hù)性的只讀或沒有)時,則將由于確知沖突對象為用戶B而使得相關(guān)協(xié)調(diào)工作比較容易。同時,發(fā)送重名沖突通知的具體方式可以有很多。比如,該目標(biāo)設(shè)備在與所述登錄請求報文對應(yīng)的登錄響應(yīng)報文中加載所述另一發(fā)起設(shè)備的硬件標(biāo)識,使得所述發(fā)起設(shè)備在接收到所述登錄響應(yīng)報文并對其進(jìn)行相應(yīng)處理后能夠解析出所述另一發(fā)起設(shè)備的硬件標(biāo)識,從而獲知所述另一發(fā)起設(shè)備已與所述目標(biāo)設(shè)備建立了同發(fā)起名會話。或者,該目標(biāo)設(shè)備向所述另一發(fā)起設(shè)備發(fā)送攜帶有所述發(fā)起設(shè)備的硬件標(biāo)識的異步消息報文,以將所述發(fā)起設(shè)備企圖與所述目標(biāo)設(shè)備建立同發(fā)起名會話的重名沖突通知給所述另一發(fā)起設(shè)備。鑒于上述步驟T4和T6都是由步驟T3的"Y"判斷結(jié)果觸發(fā),因此步驟T4和T6兩者的執(zhí)行沒有必然的先后次序;也即,在具體實施中既可能先執(zhí)行步驟T4、之后再執(zhí)行步驟T6(如圖3所示),也可能先執(zhí)行步驟T6、之后再執(zhí)行步驟T4,還可能步驟T4和T6同時執(zhí)行。此外,如圖3所示,在正式進(jìn)入所述iSCSI會話的建立流程之前,本發(fā)明所提供目標(biāo)端建立iSCSI會話的方法第一實施例還優(yōu)選地根據(jù)預(yù)定的放行/阻止規(guī)則對所述登錄請求報文攜帶的發(fā)起設(shè)備硬件標(biāo)識進(jìn)行過濾,也即執(zhí)行圖3所示步驟T8,以判斷所述發(fā)起設(shè)備的硬件標(biāo)識是否屬于該目標(biāo)設(shè)備的放行對象、或者是否屬于該目標(biāo)設(shè)備的阻止對象。如果步驟T8的執(zhí)行結(jié)果為是,說明所述發(fā)起設(shè)備的硬件標(biāo)識屬于該目標(biāo)設(shè)備的放行對象、或者不屬于該目標(biāo)設(shè)備的阻止對象,則隨后執(zhí)行圖3所示步驟T5,也即進(jìn)入所述iSCSI會話的建立流程;然而,如果步驟T8的執(zhí)行結(jié)果為否,說明所述發(fā)起設(shè)備的硬件標(biāo)識不屬于該目標(biāo)設(shè)備的放行對象、或?qū)儆谠撃繕?biāo)設(shè)備的阻止對象,則隨后執(zhí)行圖3所示步驟T7,也即拒絕建立所述iSCSI會話。通過上述介紹可知,本發(fā)明所公開目標(biāo)端建立iSCSI會話的方法提供了一套基于相同發(fā)起名發(fā)起iSCSI會話的重名沖突檢測及處理機(jī)制,通過在檢測到重名沖突后設(shè)置相應(yīng)的保護(hù)性訪問權(quán)限來有效避免可能的數(shù)據(jù)破壞,不僅能夠很好地保證數(shù)據(jù)安全,同時還為存儲資源的訪問管理提供了可發(fā)展的設(shè)計基礎(chǔ)。同時,在上述重名沖突檢測及處理機(jī)制之上,本發(fā)明所公開目標(biāo)端建立iSCSI會話的方法還提供了一套基于硬件標(biāo)識的主機(jī)過濾機(jī)制,通過設(shè)置相應(yīng)的過濾規(guī)則能夠有效防止惡意的用戶冒充,從而能夠很好地杜絕數(shù)據(jù)竊取。圖5給出了本發(fā)明所提供一種目標(biāo)端建立iSCSI會話的方法第二優(yōu)選實施例的流程圖。比較圖5和圖3可以發(fā)現(xiàn),圖5所示第二優(yōu)選實施例包括的步驟與圖3所示第一優(yōu)選實施例完全相同,兩者的區(qū)別主要在于步驟執(zhí)行的次序稍有不同。具體而言-首先,在圖3所示第一優(yōu)選實施例中,根據(jù)預(yù)定的放行/阻止規(guī)則對所述發(fā)起設(shè)備的硬件標(biāo)識進(jìn)行過濾(步驟T8)執(zhí)行在具體進(jìn)入所述iSCSI會話的建立流程(步驟T5)之前,也即在完成了上述重名沖突檢測及處理機(jī)制之后再運行上述基于硬件標(biāo)識的主機(jī)過濾機(jī)制;然而,在圖5所示第二優(yōu)選實施例中,所述步驟T8執(zhí)行在判斷是否存在同發(fā)起名會話(步驟T2)之前,也即將所述主機(jī)過濾機(jī)制提到所述重名沖突檢測及處理機(jī)制之前運行。對此,本領(lǐng)域技術(shù)人員應(yīng)能理解,所述重名沖突檢測及處理機(jī)制和所述主機(jī)過濾機(jī)制作為兩個相互獨立的程序,本發(fā)明重點在于兩者的融合,而無意對兩者的執(zhí)行次序進(jìn)行任何限定。其次,在圖3所示第一優(yōu)選實施例中,步驟Tl-2的"N"判斷結(jié)果將觸發(fā)步驟T7的執(zhí)行,也即該目標(biāo)設(shè)備不支持沒有攜帶硬件標(biāo)識的iSCSI會話建立請求;然而,在圖5所示第二優(yōu)選實施例中,由步驟Tl-2的"N"判斷結(jié)果將觸發(fā)步驟T4的執(zhí)行,也即該目標(biāo)設(shè)備雖然支持沒有攜帶硬件標(biāo)識的iSCSI會話建立請求,但基于保護(hù)數(shù)據(jù)安全的考慮,卻將所述沒有攜帶硬件標(biāo)識的iSCSI會話請求的訪問權(quán)限均設(shè)置為保護(hù)性訪問權(quán)限。當(dāng)然,當(dāng)所述保護(hù)性訪問權(quán)限具體為"只讀"權(quán)限時,說明圖5所示第二優(yōu)選實施例對沒有攜帶硬件標(biāo)識的iSCSI會話建立請求的處理方式相對寬松;但是,當(dāng)所述保護(hù)性訪問權(quán)限具體為"沒有"權(quán)限時,則圖5所示第二優(yōu)選實施例對沒有攜帶硬件標(biāo)識的iSCSI會話建立請求的處理方式本質(zhì)上與圖3所示第一優(yōu)選實施例相同。為了支持上述目標(biāo)端建立iSCSI會話的方法的實施,本發(fā)明還公開了一種iSCSI目標(biāo)設(shè)備,且圖6給出了該iSCSI目標(biāo)設(shè)備優(yōu)選實施例之一的結(jié)構(gòu)框圖。如圖6所示,目標(biāo)設(shè)備600主要包括目標(biāo)模塊610、同發(fā)起名會話檢測模塊620、同硬件標(biāo)識判斷模塊630、保護(hù)性權(quán)限設(shè)置模塊640、以及硬件標(biāo)識檢測模塊650。其中-目標(biāo)模塊610用于生成和/或處理iSCSI報文,且所述iSCSI報文用于在目標(biāo)設(shè)備600與相應(yīng)的發(fā)起設(shè)備800(包括800#A和800#B)之間相互傳輸iSCSI命令/數(shù)據(jù)。硬件標(biāo)識檢測模塊650與目標(biāo)模塊模塊610以及同發(fā)起名會話檢測模塊620相連,主要用于檢測來自發(fā)起設(shè)備800#A的、發(fā)起iSCSI會話用的登錄請求報文①是否攜帶有相應(yīng)發(fā)起設(shè)備800#A的硬件標(biāo)識。其中所述硬件標(biāo)識通常是能夠唯一標(biāo)識對應(yīng)發(fā)起設(shè)備800#A的硬件參數(shù),可能是發(fā)起設(shè)備800#A的CPU(CenterProcessingUnit,中央處理單元)序列號,還可能是發(fā)起設(shè)備800弁A的MAC(MediaAccessControl,媒體接入控制)地址。如果硬件標(biāo)識檢測模塊650確定登錄請求報文①沒有攜帶發(fā)起設(shè)備800#八的硬件標(biāo)識,則將相應(yīng)的檢測結(jié)果②輸出至目標(biāo)模塊610,使得目標(biāo)模塊610可以基于該檢測結(jié)果②拒絕建立所述iSCSI會話?;蛘撸绻布?biāo)識檢測模塊650確定登錄請求報文①攜帶有發(fā)起設(shè)備800#A的硬件標(biāo)識,則將相應(yīng)的檢測結(jié)果輸出至同發(fā)起名會話檢測模塊620,以觸發(fā)該同發(fā)起名會話檢測模塊620進(jìn)行后續(xù)操作。同發(fā)起名會話檢測模塊620與硬件標(biāo)識檢測模塊650、目標(biāo)模塊610以及同硬件標(biāo)識判斷模塊630相連,主要用于根據(jù)來自發(fā)起設(shè)備800#A的、發(fā)起iSCSI會話用的登錄請求報文①檢測目標(biāo)設(shè)備600上是否存在與該iSCSI會話具有相同發(fā)起名的同發(fā)起名會話。如果同發(fā)起名會話檢測模塊620確定該目標(biāo)設(shè)備600上不存在所述同發(fā)起名會話,則將相應(yīng)的檢測結(jié)果③輸出至目標(biāo)模塊610,使得目標(biāo)模塊610可以基于該檢測結(jié)果③相應(yīng)進(jìn)入所述iSCSI會話的建立流程。或者,如果同發(fā)起名會話檢測模塊620確定該目標(biāo)設(shè)備600上存在所述同發(fā)起名會話,則將相應(yīng)的檢測結(jié)果輸出至同硬件標(biāo)識判斷模塊630,以觸發(fā)該同硬件標(biāo)識判斷模塊630進(jìn)行后續(xù)操作。同硬件標(biāo)識判斷模塊630與同發(fā)起名會話檢測模塊620、目標(biāo)模塊610以及保護(hù)性權(quán)限設(shè)置模塊640相連,主要用于根據(jù)同發(fā)起名會話檢測模塊620的觸發(fā)而判斷登錄請求報文①中攜帶的發(fā)起設(shè)備800#A的硬件標(biāo)識與所述同發(fā)起名會話對應(yīng)的另一發(fā)起設(shè)備(假設(shè)為800#B)的硬件標(biāo)識是否相同。如果同硬件標(biāo)識判斷模塊630確定所述兩者的硬件標(biāo)識相同,則將相應(yīng)的判定結(jié)果④輸出至目標(biāo)模塊610,使得目標(biāo)模塊610可以基于該判斷結(jié)果④相應(yīng)進(jìn)入所述iSCSI會話的建立流程。并且,與前面目標(biāo)端建立iSCSI會話的方法中的相關(guān)介紹類似,基于判斷結(jié)果④進(jìn)入的所述iSCSI會話建立流程或者對應(yīng)發(fā)起設(shè)備800#A上的多徑傳輸,或者對應(yīng)發(fā)起設(shè)備800#A上某一iSCSI會話的重建。如果同硬件標(biāo)識判斷模塊630確定所述兩者的硬件標(biāo)識不同,也即出現(xiàn)了重名沖突,則將相應(yīng)的判定結(jié)果輸出至保護(hù)性權(quán)限設(shè)置模塊640,以觸發(fā)該保護(hù)性權(quán)限設(shè)置模塊640進(jìn)行后續(xù)操作。保護(hù)性權(quán)限設(shè)置模塊640與同硬件標(biāo)識判斷模塊630以及目標(biāo)模塊610相連,主要用于根據(jù)同硬件標(biāo)識判斷模塊630的觸發(fā)而將所述iSCSI會話的訪問權(quán)限設(shè)置為保護(hù)性訪問權(quán)限,并將該保護(hù)性訪問權(quán)限⑤的設(shè)置值輸出至目標(biāo)模塊610,使得目標(biāo)模塊610可以基于該保護(hù)性訪問權(quán)限⑤設(shè)置值相應(yīng)建立所述iSCSI會話。與前面目標(biāo)端建立iSCSI會話的方法中的相關(guān)介紹類似,保護(hù)性訪問權(quán)限⑤包括但不限于只讀權(quán)限、或沒有權(quán)限。且基于不同的保護(hù)性訪問權(quán)限⑤設(shè)置值進(jìn)行的后續(xù)處理也與前述類似,故在此不再重復(fù)。對于圖6所示iSCSI目標(biāo)設(shè)備600,優(yōu)選地,其還包括有重名沖突通知模塊660。如圖6所示,重名沖突通知模塊660與同硬件標(biāo)識判斷模塊630以及目標(biāo)模塊610相連,在同硬件標(biāo)識判斷模塊630確定出現(xiàn)了重名沖突時被觸發(fā),主要用于向發(fā)起設(shè)備800#A和/或另一發(fā)起設(shè)備800#B發(fā)送相應(yīng)的重名沖突通知⑦。與前面目標(biāo)端建立iSCSI會話的方法中的相關(guān)介紹類似,一般來說,向發(fā)起設(shè)備800#A發(fā)送的重名沖突通知⑦中至少包含另一發(fā)起設(shè)備800#B的硬件標(biāo)識,而向另一發(fā)起設(shè)備800#B發(fā)送的重名沖突通知⑦中至少包含發(fā)起設(shè)備800#A的硬件標(biāo)識。并且,發(fā)送重名沖突通知的意義也與前述相關(guān)部分類似,故在此不再重復(fù)。同時,重名沖突通知模塊660具體發(fā)送重名沖突通知⑦的方式有很多。比如,重名沖突通知模塊660可能優(yōu)選地具體包括響應(yīng)通知模塊和異步通知模塊。其中響應(yīng)通知模塊主要用于向發(fā)起設(shè)備80(WA發(fā)送重名沖突通知⑦,其具體實施方式是在目標(biāo)模塊610生成的、與登錄請求報文①對應(yīng)的登錄響應(yīng)報文(D中加載另一發(fā)起設(shè)備800#B的硬件標(biāo)識,從而將另一發(fā)起設(shè)備800#B已與目標(biāo)設(shè)備600建立了同發(fā)起名會話的重名沖突通知⑦送達(dá)發(fā)起設(shè)備800#A;而異步通知模塊主要用于向另一發(fā)起設(shè)備800#B發(fā)送重名沖突通知⑦,其具體實施方式是使目標(biāo)模塊610生成一個攜帶有發(fā)起設(shè)備800#A的硬件標(biāo)識的異步消息報文⑧,并將該異步消息報文⑧輸出至另一發(fā)起設(shè)備800#B,從而將發(fā)起設(shè)備800#A企圖與目標(biāo)設(shè)備600建立同發(fā)起名會話的重名沖突通知⑦送達(dá)另一發(fā)起設(shè)備800#B。對于圖6所示iSCSI目標(biāo)設(shè)備600,進(jìn)一步優(yōu)選地,其還包括硬件標(biāo)識過濾模塊670。如圖6所示,硬件標(biāo)識過濾模塊670插接在同發(fā)起名會話檢測模塊620與目標(biāo)模塊610之間、和/或插接在保護(hù)性權(quán)限設(shè)置模塊640與目標(biāo)模塊610之間,主要用于根據(jù)預(yù)定的放行/阻止規(guī)則對登錄請求報文①中攜帶的發(fā)起設(shè)備800#A的硬件標(biāo)識進(jìn)行過濾,也即判斷發(fā)起設(shè)備800#入是否屬于放行對象(或不屬于阻止對象)。如果硬件標(biāo)識過濾模塊670確定發(fā)起設(shè)備800#A屬于目標(biāo)設(shè)備600的放行對象、或者不屬于目標(biāo)設(shè)備600的阻止對象,則相應(yīng)進(jìn)入所述iSCSI會話的建立流程;然而,如果硬件標(biāo)識過濾模塊670確定發(fā)起設(shè)備800#A不屬于目標(biāo)設(shè)備600的放行對象、或者屬于目標(biāo)設(shè)備600的阻止對象,則相應(yīng)拒絕建立所述iSCSI會話。需要說明的是,圖6所示iSCSI目標(biāo)設(shè)備主要用于支持圖3所示目標(biāo)端建立iSCSI會話的方法第一優(yōu)選實施例。為了支持圖5所示目標(biāo)端建立iSCSI會話的方法第二優(yōu)選實施例,則有必要對照圖5所示相比圖3所示步驟執(zhí)行次序的變動相應(yīng)修改硬件標(biāo)識過濾模塊670與其它功能模塊的連接關(guān)系,且該修改對于掌握了本發(fā)明原意的本領(lǐng)域技術(shù)人員來說并非難事,故在此不再贅述。圖7給出了本發(fā)明所提供一種發(fā)起端建立iSCSI會話的方法優(yōu)選實施例之一的流程圖。如圖7所示,發(fā)起設(shè)備在生成用于向相應(yīng)目標(biāo)設(shè)備發(fā)起iSCSI會話的登錄請求報文(步驟II)之后,首先往所述登錄請求報文中加載其硬件標(biāo)識,然后再將所述登錄請求報文發(fā)送給相應(yīng)的目標(biāo)設(shè)備(步驟I2)。一般來說,為了支持上述步驟I2的執(zhí)行,需要該發(fā)起設(shè)備在發(fā)起登錄請求之前通過直接訪問驅(qū)動等方式獲得所述硬件標(biāo)識。而所述硬件標(biāo)識通常是能夠唯一標(biāo)識該發(fā)起設(shè)備的硬件參數(shù),比如CPU(CenterProcessingUnit,中央處理單元)序歹U號、MAC(MediaAccessControl,媒體接入控制)地址等。并且,鑒于對現(xiàn)有iSCSI技術(shù)中登錄請求報文的PDU(ProtocolDataUnit,協(xié)議數(shù)據(jù)單元)來說,其中用于協(xié)商iSCSI會話的各個參數(shù)主要由數(shù)據(jù)段(文本登錄參數(shù))字段攜帶,因此所述硬件標(biāo)識也優(yōu)選地加載在iSCSI報文中PDU的數(shù)據(jù)段(文本登錄參數(shù))字段中。此外,對應(yīng)本發(fā)明所提供目標(biāo)端建立iSCSI會話的方法中的重名沖突檢測及處理機(jī)制,圖7所示發(fā)起端建立iSCSI會話的方法還優(yōu)選地包括有進(jìn)行重名沖突處理的相關(guān)步驟。如圖7所示,發(fā)起設(shè)備在收到來自相應(yīng)目標(biāo)設(shè)備的、與所述登錄請求報文對應(yīng)的登錄響應(yīng)報文(步驟13)之后,首先判斷所述登錄響應(yīng)報文中是否攜帶有另一發(fā)起設(shè)備的硬件標(biāo)識(步驟I4)。如果步驟14的判斷結(jié)果為否,則說明發(fā)起設(shè)備所需建立的iSCSI會話在相應(yīng)目標(biāo)設(shè)備上沒有引發(fā)重名沖突,因而可以直接進(jìn)入相應(yīng)的iSCSI會話建立流程,也即執(zhí)行步驟I5。然而,如果步驟I4的判斷結(jié)果為是,則說明相應(yīng)的目標(biāo)設(shè)備已與所述另一發(fā)起設(shè)備建立了與所述iSCSI會話具有相同發(fā)起名的同發(fā)起名會話,也即發(fā)起設(shè)備所需建立的iSCSI會話在相應(yīng)目標(biāo)設(shè)備上引發(fā)了重名沖突,從而需要進(jìn)行相應(yīng)的重名沖突處理(步驟I4-Y)。比如,如果當(dāng)前發(fā)起設(shè)備認(rèn)為己經(jīng)連接上的另一發(fā)起設(shè)備是對自己的冒充,則可向相關(guān)管理員請求終止所述另一發(fā)起設(shè)備的iSCSI會話。為了支持上述發(fā)起端建立iSCSI會話的方法的實施,本發(fā)明還公開了一種iSCSI發(fā)起設(shè)備,且圖8給出了該iSCSI發(fā)起設(shè)備優(yōu)選實施例之一的結(jié)構(gòu)框圖。如圖8所示,發(fā)起設(shè)備800包括發(fā)起模塊810和硬件標(biāo)識獲取模塊820。其中發(fā)起模塊810用于生成和/或處理iSCSI報文,且所述iSCSI報文用于在發(fā)起設(shè)備810與相應(yīng)的目標(biāo)設(shè)備600之間傳輸iSCSI命令/數(shù)據(jù)。硬件標(biāo)識獲取模塊820與發(fā)起模塊810相連,主要用于獲取發(fā)起設(shè)備800的硬件標(biāo)識⑨,并將所述硬件標(biāo)識⑨輸出至發(fā)起模塊810。從而使得發(fā)起模塊810能夠在其生成的、用于向目標(biāo)設(shè)備600發(fā)起iSCSI會話的登錄請求報文①中加載所述硬件標(biāo)識⑨。與前面發(fā)起端建立iSCSI會話的方法中的相關(guān)介紹類似,一般來說,所述硬件標(biāo)識⑨可能是發(fā)起設(shè)備800的CPU序列號,也可能是發(fā)起設(shè)備800的MAC地址。同時,所述硬件標(biāo)識⑨優(yōu)選地加載在相應(yīng)iSCSI報文(比如所述登錄請求報文①)的數(shù)據(jù)段(文本登錄參數(shù))字段中。此外,如圖8所示,iSCSI發(fā)起設(shè)備800還優(yōu)選地包括重名沖突處理模塊830。重名沖突處理模塊830與發(fā)起模塊810相連,主要用于判斷來自目標(biāo)設(shè)備600的、與所述登錄請求報文①對應(yīng)的登錄響應(yīng)報文⑥是否攜帶有其它發(fā)起設(shè)備的硬件標(biāo)識。并且,如果重名沖突處理模塊830判定登錄響應(yīng)報文⑥中并沒有攜帶其它發(fā)起設(shè)備的硬件標(biāo)識,則說明發(fā)起設(shè)備800所需建立的iSCSI會話并沒有在相應(yīng)的目標(biāo)設(shè)備600上引發(fā)重名沖突,從而可以直接進(jìn)入所述iSCSI會話的建立流程。如果重名沖突處理模塊830判定登錄響應(yīng)報文⑥中攜帶有其它發(fā)起設(shè)備的硬件標(biāo)識,則說明目標(biāo)設(shè)備600已與其它發(fā)起設(shè)備建立了與所述iSCSI會話具有相同發(fā)起名的同發(fā)起名會話,也即出現(xiàn)了重名沖突,從而需要進(jìn)行相應(yīng)的重名沖突處理。比如,如果發(fā)起設(shè)備800認(rèn)為已經(jīng)連接上其它發(fā)起設(shè)備是對自己的冒充,則可向相關(guān)管理員請求終止其它發(fā)起設(shè)備的iSCSI會話。需要聲明的是,上述
發(fā)明內(nèi)容及具體實施方式意在證明本發(fā)明所提供技術(shù)方案的實際應(yīng)用,不應(yīng)解釋為對本發(fā)明保護(hù)范圍的限定。本領(lǐng)域技術(shù)人員在本發(fā)明的精神和原理內(nèi),當(dāng)可作各種修改、等同替換、或改進(jìn)。本發(fā)明的保護(hù)范圍以所附權(quán)利要求書為準(zhǔn)。權(quán)利要求1.一種目標(biāo)端建立iSCSI會話的方法,其特征在于,包括有步驟T1,目標(biāo)設(shè)備接收來自發(fā)起設(shè)備的、用于發(fā)起iSCSI會話的登錄請求報文,且所述登錄請求報文中攜帶有所述發(fā)起設(shè)備的硬件標(biāo)識;步驟T2,所述目標(biāo)設(shè)備檢測是否存在與所述iSCSI會話具有相同發(fā)起名的同發(fā)起名會話,如果所述檢測結(jié)果為否則繼續(xù)執(zhí)行下列步驟T5,如果所述檢測結(jié)果為是則繼續(xù)執(zhí)行下列步驟T3;步驟T3,所述目標(biāo)設(shè)備判斷所述發(fā)起設(shè)備的硬件標(biāo)識與所述同發(fā)起名會話對應(yīng)的另一發(fā)起設(shè)備的硬件標(biāo)識是否相同,如果判斷結(jié)果為是則繼續(xù)執(zhí)行下列步驟T5,如果判斷結(jié)果為否則繼續(xù)執(zhí)行下列步驟T4;步驟T4,所述目標(biāo)設(shè)備將所述iSCSI會話的訪問權(quán)限設(shè)置為保護(hù)性訪問權(quán)限;以及步驟T5,進(jìn)入所述iSCSI會話的建立流程。2.如權(quán)利要求1所述目標(biāo)端建立iSCSI會話的方法,其特征在于,在所述步驟T3之后,還包括有-步驟T6,所述目標(biāo)設(shè)備向所述發(fā)起設(shè)備和/或所述另一發(fā)起設(shè)備發(fā)送相應(yīng)的重名沖突通知,且所述重名沖突通知至少包含所述發(fā)起設(shè)備的硬件標(biāo)識和/或所述另一發(fā)起設(shè)備的硬件標(biāo)識。3.如權(quán)利要求2所述目標(biāo)端建立iSCSI會話的方法,其特征在于,所述步驟T6具體為所述目標(biāo)設(shè)備在與所述登錄請求報文對應(yīng)的登錄響應(yīng)報文中加載所述另一發(fā)起設(shè)備的硬件標(biāo)識,以將所述另一發(fā)起設(shè)備己與所述目標(biāo)設(shè)備建立了同發(fā)起名會話的重名沖突通知給所述發(fā)起設(shè)備;和/或所述目標(biāo)設(shè)備向所述另一發(fā)起設(shè)備發(fā)送攜帶有所述發(fā)起設(shè)備的硬件標(biāo)識的異步消息報文,以將所述發(fā)起設(shè)備企圖與所述目標(biāo)設(shè)備建立同發(fā)起名會話的重名沖突通知給所述另一發(fā)起設(shè)備。4.如權(quán)利要求1至3任一所述目標(biāo)端建立iSCSI會話的方法,其特征在于,所述步驟T1具體包括有步驟T1-1,所述目標(biāo)設(shè)備接收來自所述發(fā)起設(shè)備的、用于發(fā)起iSCSI會話的登錄請求報文;步驟Tl-2,所述目標(biāo)設(shè)備判斷所述登錄請求報文是否攜帶有所述發(fā)起設(shè)備的硬件標(biāo)識,如果判斷結(jié)果為是則繼續(xù)執(zhí)行所述步驟T2,如果判斷結(jié)果為否則繼續(xù)執(zhí)行上述步驟T4或下列步驟T7;以及步驟T7,所述目標(biāo)設(shè)備拒絕建立所述iSCSI會話。5.如權(quán)利要求4所述目標(biāo)端建立iSCSI會話的方法,其特征在于,在所述步驟T2之前、或在所述步驟T5之前,還包括有步驟T8,所述目標(biāo)設(shè)備根據(jù)預(yù)定的放行/阻止規(guī)則對所述登錄請求報文攜帶的發(fā)起設(shè)備硬件標(biāo)識進(jìn)行過濾,如果所述發(fā)起設(shè)備的硬件標(biāo)識通過了所述過濾則繼續(xù)執(zhí)行所述步驟T2或所述步驟T5,如果所述發(fā)起設(shè)備的硬件標(biāo)識沒通過所述過濾則繼續(xù)執(zhí)行所述步驟T7。6.如權(quán)利要求4所述目標(biāo)端建立iSCSI會話的方法,其特征在于,所述保護(hù)性訪問權(quán)限具體為只讀權(quán)限、或沒有權(quán)限。7.如權(quán)利要求4所述目標(biāo)端建立iSCSI會話的方法,其特征在于,所述硬件標(biāo)識具體為所述發(fā)起設(shè)備的CPU序列號、或所述發(fā)起設(shè)備的MAC地址。8.如權(quán)利要求4所述目標(biāo)端建立iSCSI會話的方法,其特征在于,所述硬件標(biāo)識加載相應(yīng)iSCSI報文的數(shù)據(jù)段中。9.一種iSCSI目標(biāo)設(shè)備,包括用于生成和/或處理iSCSI報文的目標(biāo)模塊,且所述iSCSI報文用于在所述目標(biāo)設(shè)備與相應(yīng)的發(fā)起設(shè)備之間相互傳輸iSCSI命令/數(shù)據(jù);其特征在于,還包括同發(fā)起名會話檢測模塊,與所述目標(biāo)模塊相連,用于根據(jù)來自所述發(fā)起設(shè)備的、發(fā)起iSCSI會話用的登錄請求報文,檢測所述iSCSI目標(biāo)設(shè)備上是否存在與所述iSCSI會話具有相同發(fā)起名的同發(fā)起名會話;并將不存在所述同發(fā)起名會話的檢測結(jié)果輸出至所述目標(biāo)模塊,以進(jìn)入所述iSCSI會話的建立流程;同硬件標(biāo)識判斷模塊,與所述同發(fā)起名會話檢測模塊以及所述目標(biāo)模塊相連,在所述同發(fā)起名會話檢測模塊檢測到存在所述同發(fā)起名會話時被觸發(fā),用于判斷所述登錄請求報文中攜帶的所述發(fā)起設(shè)備的硬件標(biāo)識與所述同發(fā)起名會話對應(yīng)的另一發(fā)起設(shè)備的硬件標(biāo)識是否相同;并將所述硬件標(biāo)識相同的判定結(jié)果輸出至所述目標(biāo)模塊,以進(jìn)入所述iSCSI會話的建立流程;以及保護(hù)性權(quán)限設(shè)置模塊,與所述同硬件標(biāo)識判斷模塊以及所述目標(biāo)模塊相連,在所述同硬件標(biāo)識判斷模塊判定所述硬件標(biāo)識不同時被觸發(fā),用于將所述iSCSI會話的訪問權(quán)限設(shè)置為保護(hù)性訪問權(quán)限;并將所述保護(hù)性訪問權(quán)限的設(shè)置值輸出至所述目標(biāo)模塊,以相應(yīng)進(jìn)入所述iSCSI會話的建立流程。10.如權(quán)利要求9所述的iSCSI目標(biāo)設(shè)備,其特征在于,還包塊括重名沖突通知模塊所述重名沖突通知模塊與所述同硬件標(biāo)識判斷模塊相連,在所述同硬件標(biāo)識判斷模塊判定所述硬件標(biāo)識不同時被觸發(fā),用于向所述發(fā)起設(shè)備和/或所述另一發(fā)起設(shè)備發(fā)送相應(yīng)的重名沖突通知;其中,向所述發(fā)起設(shè)備發(fā)送的重名沖突通知中至少包含所述另一發(fā)起設(shè)備的硬件標(biāo)識,而向所述另一發(fā)起設(shè)備發(fā)送的重名沖突通知中至少包含所述發(fā)起設(shè)備的硬件標(biāo)識。11.如權(quán)利要求IO所述的iSCSI目標(biāo)設(shè)備,其特征在于,所述重名沖突通知模塊具體包括響應(yīng)通知模塊,與所述同硬件標(biāo)識判斷模塊相連以及所述目標(biāo)模塊相連,在所述同硬件標(biāo)識判斷模塊判定所述硬件標(biāo)識不同時被觸發(fā),用于在所述目標(biāo)模塊生成的、與所述登錄請求報文對應(yīng)的登錄響應(yīng)報文中加載所述另一發(fā)起設(shè)備的硬件標(biāo)識,以將所述另一發(fā)起設(shè)備已與所述目標(biāo)設(shè)備建立了同發(fā)起名會話的重名沖突通知給所述發(fā)起設(shè)備;和/或異步通知模塊,與所述同硬件標(biāo)識判斷模塊相連,在所述同硬件標(biāo)識判斷模塊判定所述硬件標(biāo)識不同時被觸發(fā),用于向所述另一發(fā)起設(shè)備發(fā)送攜帶有所述發(fā)起設(shè)備的硬件標(biāo)識的異步消息報文,以將所述發(fā)起設(shè)備企圖與所述目標(biāo)設(shè)備建立同發(fā)起名會話的重名沖突通知給所述另一發(fā)起設(shè)備。12.如權(quán)利要求9至ll任一所述的iSCSI目標(biāo)設(shè)備,其特征在于,還包括硬件標(biāo)識檢測模塊所述硬件標(biāo)識檢測模塊與所述目標(biāo)模塊以及所述同發(fā)起名會話檢測模塊相連,用于檢測所述登錄請求報文是否攜帶有所述發(fā)起設(shè)備的硬件標(biāo)識;和/或,所述硬件標(biāo)識檢測模塊將沒有攜帶硬件標(biāo)識的檢測結(jié)果輸出至所述目標(biāo)模塊以拒絕建立所述iSCSI會話,或者在所述檢測結(jié)果為否時觸發(fā)所述保護(hù)性權(quán)限設(shè)置模塊,或者在所述檢測結(jié)果為是時觸發(fā)所述同發(fā)起名會話檢測模塊。13.如權(quán)利要求12所述的iSCSI目標(biāo)設(shè)備,其特征在于,還包括硬件標(biāo)識過濾模塊所述硬件標(biāo)識過濾模塊與所述目標(biāo)模塊相連,用于根據(jù)預(yù)定的放行/阻止規(guī)則對所述登錄請求報文中攜帶的發(fā)起設(shè)備硬件標(biāo)識進(jìn)行過濾;和/或,所述硬件標(biāo)識過濾模塊將沒通過的過濾結(jié)果輸出至所述目標(biāo)模塊,以拒絕建立所述iSCSI會話。14.如權(quán)利要求12所述的iSCSI目標(biāo)設(shè)備,其特征在于,所述保護(hù)性訪問權(quán)限具體為只讀權(quán)限、或沒有權(quán)限。15.如權(quán)利要求12所述的iSCSI目標(biāo)設(shè)備,其特征在于,所述硬件標(biāo)識加載在相應(yīng)iSCSI報文的數(shù)據(jù)段中。16.如權(quán)利要求12所述的iSCSI目標(biāo)設(shè)備,其特征在于,所述硬件標(biāo)識具體為所述發(fā)起設(shè)備的CPU序列號、或所述發(fā)起設(shè)備的MAC地址。17.—種發(fā)起端建立iSCSI會話的方法,其特征在于發(fā)起設(shè)備在其生成的、用于向相應(yīng)的目標(biāo)設(shè)備發(fā)起iSCSI會話的登錄請求報文中加載其硬件標(biāo)識之后,再將所述登錄請求報文發(fā)送給所述目標(biāo)設(shè)備。18.如權(quán)利要求17所述發(fā)起端建立iSCSI會話的方法,其特征在于所述發(fā)起設(shè)備在收到來自所述目標(biāo)設(shè)備的、與所述登錄請求報文對應(yīng)的登錄響應(yīng)報文后,判斷所述登錄響應(yīng)報文中是否攜帶有另一發(fā)起設(shè)備的硬件標(biāo)識;和/或,如果判斷結(jié)果為是,則確知所述目標(biāo)設(shè)備已與所述另一發(fā)起設(shè)備建立了與所述iSCSI會話具有相同發(fā)起名的同發(fā)起名會話,并進(jìn)行相應(yīng)的重名沖突處理。19.如權(quán)利要求17或18所述發(fā)起端建立iSCSI會話的方法,其特征在于,所述硬件標(biāo)識加載在相應(yīng)iSCSI報文的數(shù)據(jù)段中。20.如權(quán)利要求17或18所述發(fā)起端建立iSCSI會話的方法,其特征在于,所述硬件標(biāo)識具體為所述發(fā)起設(shè)備的CPU序列號、或所述發(fā)起設(shè)備的MAC地址。21.一種iSCSI發(fā)起設(shè)備,包括用于生成和/或處理iSCSI報文的發(fā)起模塊,且所述iSCSI報文用于在所述發(fā)起設(shè)備與相應(yīng)的目標(biāo)設(shè)備之間傳輸iSCSI命令/數(shù)據(jù);其特征在于,還包括硬件標(biāo)識獲取模塊,與所述發(fā)起模塊相連,用于獲取所述發(fā)起設(shè)備的硬件標(biāo)識,并將所述硬件標(biāo)識輸出至所述發(fā)起模塊;而所述發(fā)起模塊將在其生成的、用于向所述目標(biāo)設(shè)備發(fā)起iSCSI會話的登錄請求報文中加載所述硬件標(biāo)識。22.如權(quán)利要求21所述的iSCSI發(fā)起設(shè)備,其特征在于,還包括重名沖突處理模塊,與所述發(fā)起模塊相連,在所述發(fā)起模塊檢測到來自所述目標(biāo)設(shè)備的iSCSI報文中攜帶有另一發(fā)起設(shè)備的硬件標(biāo)識時被觸發(fā),用于對所述另一發(fā)起設(shè)備和所述目標(biāo)設(shè)備正在建立或已經(jīng)建立與所述iSCSI會話具有相同發(fā)起名會話的重名沖突進(jìn)行處理。23.如權(quán)利要求21或22所述的iSCSI發(fā)起設(shè)備,其特征在于,所述硬件標(biāo)識加載在相應(yīng)iSCSI報文的數(shù)據(jù)段中。24.如權(quán)利要求21或22所述的iSCSI發(fā)起設(shè)備,其特征在于,所述硬件標(biāo)識具體為所述發(fā)起設(shè)備的CPU序列號、或所述發(fā)起設(shè)備的MAC地址。全文摘要本發(fā)明公開了一種目標(biāo)端建立iSCSI會話的方法和相應(yīng)目標(biāo)設(shè)備,以及一種發(fā)起端建立iSCSI會話的方法和相應(yīng)發(fā)起設(shè)備。其中,所述目標(biāo)端建立iSCSI會話的方法主要包括目標(biāo)設(shè)備接收到發(fā)起設(shè)備用于發(fā)起iSCSI會話的登錄請求報文后,首先檢測其上是否存在與所述iSCSI會話具有相同發(fā)起名的同發(fā)起名會話;如果檢測結(jié)果為是,則繼續(xù)判斷所述發(fā)起設(shè)備的硬件標(biāo)識與所述同發(fā)起名會話對應(yīng)的另一發(fā)起設(shè)備的硬件標(biāo)識是否相同;如果判斷結(jié)果為否,則將所述iSCSI會話的訪問權(quán)限設(shè)置為保護(hù)性訪問權(quán)限;最后,基于上述操作相應(yīng)進(jìn)入所述iSCSI會話的建立流程。本發(fā)明可以有效避免相同發(fā)起名導(dǎo)致的數(shù)據(jù)破壞,還可以防止惡意用戶冒充。文檔編號H04L12/56GK101119383SQ200710151300公開日2008年2月6日申請日期2007年9月19日優(yōu)先權(quán)日2007年9月19日發(fā)明者景冬生申請人:杭州華三通信技術(shù)有限公司