fc協(xié)議棧分析報(bào)告文案_第1頁(yè)
fc協(xié)議棧分析報(bào)告文案_第2頁(yè)
fc協(xié)議棧分析報(bào)告文案_第3頁(yè)
fc協(xié)議棧分析報(bào)告文案_第4頁(yè)
fc協(xié)議棧分析報(bào)告文案_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

./FC協(xié)議棧分析報(bào)告項(xiàng)目名稱:編寫(xiě):審核:批準(zhǔn):日期:修訂記錄版本/狀態(tài)作者參與者起始日期備注目錄1FC概述42FC-0<Physica1>層63FC-1<Code>編碼層73.18B/10B編碼83.2鏈路維護(hù)94FC-2<Protocol>層114.1幀<Frame>結(jié)構(gòu)114.2命令集<OrderedSet>174.3序列與交換184.4協(xié)議184.5分類服務(wù)和流控制194.6登錄和服務(wù)參數(shù)225FC-3層236FC-4<Mapping>層237FC拓?fù)浣Y(jié)構(gòu)247.1交換拓?fù)?47.2點(diǎn)對(duì)點(diǎn)拓?fù)?67.3仲裁環(huán)拓?fù)?68FC服務(wù)與管理298.1名稱服務(wù)<NameServer>298.2管理服務(wù)<ManagementServer>308.3時(shí)間和別名服務(wù)319FCP-4協(xié)議映射329.1FCPI/O操作329.2FCP信息單元〔FCPIU339.3FCPI/O操作流程439.4差錯(cuò)檢測(cè)與恢復(fù)46參考文獻(xiàn)521FC概述光纖通道<FiberChannel,FC>技術(shù)是一種能夠?yàn)榇鎯?chǔ)設(shè)備、IP數(shù)據(jù)網(wǎng)、音頻流等應(yīng)用提供高速數(shù)據(jù)傳輸?shù)墓歉删W(wǎng)絡(luò)技術(shù)。早在1988年,惠普〔HP,SUN和IBM等公司就開(kāi)始了對(duì)這項(xiàng)技術(shù)進(jìn)行實(shí)驗(yàn)和開(kāi)發(fā)、經(jīng)過(guò)多年的發(fā)展,光纖通道技術(shù)已經(jīng)發(fā)展成為一項(xiàng)完備的,高速的和高擴(kuò)展性的網(wǎng)絡(luò)技術(shù),現(xiàn)在的光纖通道技術(shù)主要應(yīng)用在網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)、高速I(mǎi)P數(shù)據(jù)網(wǎng)、音視頻流等多種領(lǐng)域。目前,光纖通道技術(shù)可以廣泛提供1Gb/s速率的設(shè)備,價(jià)格有所降低,設(shè)備的端口密度可以達(dá)到數(shù)十個(gè)甚至上百個(gè)。2Gb/s設(shè)備已經(jīng)實(shí)用化,標(biāo)準(zhǔn)化和互操作性等都有所提高。FC是由美國(guó)工業(yè)標(biāo)準(zhǔn)協(xié)會(huì)<ANSI>提出的通道標(biāo)準(zhǔn),其目的是適應(yīng)快速增長(zhǎng)的高速數(shù)據(jù)傳輸?shù)男枨?。為了能夠適應(yīng)可能出現(xiàn)的技術(shù)變革,提供更快更好的性能,光纖通道技術(shù)被設(shè)計(jì)為具有下面的這些要素:為可擴(kuò)展性、小型光纖,連接器和距離擴(kuò)展能力準(zhǔn)備的串行傳輸;最大規(guī)模網(wǎng)絡(luò)應(yīng)用中的異步通信;交互通信能力和連接新的傳輸介質(zhì)的能力;低延遲的交換網(wǎng)絡(luò)互聯(lián);為開(kāi)發(fā)和配置復(fù)雜性準(zhǔn)備的模塊化和層次化結(jié)構(gòu);高帶寬、低延遲的最低錯(cuò)誤率和輕量級(jí)錯(cuò)誤;我們可以認(rèn)為光纖通道是一種通用的傳輸通道,它能夠?yàn)槎喾N高層協(xié)議<UpperLevelProtocols,ULP>提供高性能的傳輸通道,這些協(xié)議包括智能外設(shè)接口<IntelligentPeripheralInterface,IPI>命令集、小型計(jì)算機(jī)系統(tǒng)接口<SmallComputerSystemInterface,SCSI>命令集或高性能并行接口<High—PerformanceParallelInterface,HIPPI>數(shù)據(jù)幀、互聯(lián)網(wǎng)協(xié)議<InternetProtocol,IP>、IEEES02.2等。在邏輯上,我們可以將FC看作是一種用于構(gòu)造高性能信息傳輸?shù)?、雙向的、點(diǎn)對(duì)點(diǎn)的串行數(shù)據(jù)通道。在物理上,FC是一到多對(duì)應(yīng)的點(diǎn)對(duì)點(diǎn)的互連鏈路,每條鏈路終結(jié)于一個(gè)端口或轉(zhuǎn)發(fā)器。FC的鏈路介質(zhì)可以是光纖、雙絞線或同軸電纜。在FC系統(tǒng)中,所有的設(shè)備<如主機(jī)或存儲(chǔ)系統(tǒng)>的連接都是由兩條單向的傳輸通道構(gòu)成的,一條用于發(fā)送,另一條用于接收,每一條傳輸通道都要將一個(gè)設(shè)備上端口的發(fā)送器與另一個(gè)設(shè)備上端口的接收器連接起來(lái)。傳輸通道介質(zhì)可以采用單模光纖、多模光纖.雙絞線或同軸電纜,相應(yīng)的設(shè)備端口可以采用SC、SG、LC或MT—RJ。FC提供了非常廣泛的介質(zhì)速率選擇圍,計(jì)入8B/10B編碼和其他開(kāi)銷之后,對(duì)于凈負(fù)荷100MB/s的傳輸速率,介質(zhì)上的傳輸速率要達(dá)到1063Mb/s。這一速率是實(shí)際速率,稱為全速<FullSpeed>。還可以分為半速、1/4速、1培速等。同樣,FC系統(tǒng)也定義了倍速和4倍速<如下表所示>。表1-1FC速率類型凈負(fù)荷MB/s速率Mb/s與全速的比率12.51331/8251661/4505311/2100106312002126240042524FC系統(tǒng)中設(shè)備的連接有三種拓?fù)浞绞剑狐c(diǎn)對(duì)點(diǎn)方式<PointtoPoint>、交換方式<Fabric>、仲裁環(huán)方式<ArbitratedLoop>。FC協(xié)議棧模型可以用下圖來(lái)表示:圖1-1光纖通道協(xié)議棧結(jié)構(gòu) 1.FC-0層描述物理接口,它包括傳送介質(zhì),發(fā)射機(jī)和接收機(jī)及其接口。FC-0層規(guī)定了各種介質(zhì)和與之有關(guān)的能以各種速率運(yùn)行的驅(qū)動(dòng)器和接收機(jī)。 2.FC-1層描述了8B/10B的編碼規(guī)則,該碼型可以實(shí)現(xiàn)傳送比特流的DC均衡,使控制字節(jié)與數(shù)據(jù)字節(jié)分離且可簡(jiǎn)化比特,字節(jié)和字同步。另外,該編碼具有檢測(cè)某些傳送和接收誤差的機(jī)制。 3.FC-2層是信令協(xié)議層,它規(guī)定了需要傳送成塊數(shù)據(jù)的規(guī)則和機(jī)制。在協(xié)議層,FC-2層是最復(fù)雜的一層,它提供不同類型的服務(wù),分組,排序,檢錯(cuò),傳送數(shù)據(jù)的分段重組,以及協(xié)調(diào)不同容量的端口之間的通信需要注冊(cè)服務(wù)。 4.FC-3層提供的一系列服務(wù),是光纖通路節(jié)點(diǎn)的多個(gè)N端口所公用的。由于必要性限制,故對(duì)這層尚未給出明確定義,但是它所提供的功能適用于整個(gè)體系結(jié)構(gòu)未來(lái)的擴(kuò)展。 5.FC-4層提供了光纖通路到已存在的更上層協(xié)議的映射,這些協(xié)議包括IP、SCSI協(xié)議,或HIPPI等等。2FC-0<Physica1>層FC-0層定義了FC中的物理部分,包括光纖、連接器以及不同傳輸介質(zhì)和傳輸速率所對(duì)應(yīng)的光學(xué)和電器特性參數(shù)。另外,在FC-0層中還詳細(xì)說(shuō)明了各種介質(zhì)以及相應(yīng)的驅(qū)動(dòng)和可能的接收速度。FC-0層又分為介質(zhì)子層和接口子層,介質(zhì)子層描述了不同傳輸介質(zhì)的光學(xué)和電器特性,以及相應(yīng)的傳輸速率和距離圍。目前支持的傳輸介質(zhì)主要有單模光纖<Singlemode,SM>、多模光纖<Multimode,Mm>、視頻電纜<VideoCable,VC>和微型電纜<MiniatureCable,MI>以及屏蔽雙絞線<TwistedPair,TP>等。接口子層描述了不同傳輸介質(zhì)的接口規(guī),及其接口插座的光信號(hào)特性,其中包括發(fā)送接口<TX>和接收接口<RX>,如:SC、SG、LC、MT-RJ等。另外,在FC-0層中還定義了發(fā)送狀態(tài)、接收狀態(tài)、輸人數(shù)據(jù)相位跳轉(zhuǎn)的回應(yīng)、不可用碼的限制、接收初始化時(shí)間等容。發(fā)送狀態(tài)發(fā)送狀態(tài)由FC-l層控制,狀態(tài)值由從FC-l層接收的串行數(shù)據(jù)信號(hào)轉(zhuǎn)換為與傳輸介質(zhì)相適合的信號(hào)類型。FC-0層共有3種狀態(tài):不可發(fā)送狀態(tài)<TransmitterNot.EnableState>,表示光發(fā)送器的光源輸出關(guān)閉,或者是電路發(fā)送器的輸出電平小于最小限制或?yàn)榱?。在電源打開(kāi)時(shí),FC-0層將置于不可發(fā)送狀態(tài),直到FC-1發(fā)出信號(hào)??砂l(fā)送狀態(tài)<TransmitterEnableState>,表示發(fā)送器能發(fā)送數(shù)據(jù)比特序列。發(fā)送失敗狀態(tài)<TransmitterFailureState>,有些發(fā)送器能夠監(jiān)控自己部發(fā)生的錯(cuò)誤,當(dāng)其發(fā)現(xiàn)錯(cuò)誤后將自己置于發(fā)送失敗狀態(tài),另外有些發(fā)送器不能夠監(jiān)控自己部發(fā)生的錯(cuò)誤,所以也就不具備發(fā)送失敗狀態(tài)。接收狀態(tài)接收器從傳輸介質(zhì)中接收數(shù)據(jù)比特序列,然后放大數(shù)據(jù)信號(hào)并且聯(lián)合時(shí)鐘一起送給FC-1層進(jìn)行處理。FC-0層中沒(méi)有接收狀態(tài)。輸入數(shù)據(jù)相位跳轉(zhuǎn)的回應(yīng)有些支持鏈路控制功能<LinkControl-Facilities>的FC物理設(shè)備可以檢測(cè)到輸入串行比特?cái)?shù)據(jù)流的相位不連續(xù),并且提供相應(yīng)的恢復(fù)特性。不可用碼的限制FC-0層并不檢測(cè)傳輸編碼中不合規(guī)則的比特流,如:非法的命令集等,FC-0層總是希望將比特流傳輸?shù)侥軌蛱峁┐a流校驗(yàn)的更高層去處理。而FC-0層只是盡可能地提供碼流傳輸?shù)耐胶吞峁┱`碼率<BitErrorRate,BER>/小于10-12等必須條件。接收初始化時(shí)間FC-0層接收器的初始化時(shí)間指的是,從初始接收有效輸入數(shù)據(jù)開(kāi)始到對(duì)輸入比特流同步并以保證的誤碼率放大和轉(zhuǎn)發(fā)的時(shí)間。整個(gè)接收器的初始化時(shí)間應(yīng)當(dāng)不大干1ms。3FC-1<Code>編碼層FC-1層中定義了FC的底層傳輸協(xié)議,包括串行編碼、解碼和鏈路狀態(tài)維護(hù)。在FC中,數(shù)據(jù)的傳輸采用8B/10B編碼,用以限制最大運(yùn)行編碼長(zhǎng)度維護(hù)數(shù)據(jù)比特流電位的平衡并且提供信息數(shù)據(jù)的編碼對(duì)齊。經(jīng)編碼處理后的字符共有兩類,一類是數(shù)據(jù)字符,一類是專用字符。在FC-1層中由幾個(gè)專用字符組合在一起,并通過(guò)字符命令集來(lái)表示一定的特殊含義,如:幀邊界、簡(jiǎn)單傳輸請(qǐng)求或通過(guò)周期性的交互維持鏈路傳輸狀態(tài)。3.18B/10B編碼在FC-1層中,信息數(shù)據(jù)的傳送編碼是將1個(gè)字節(jié)8比特轉(zhuǎn)換成10比特的傳輸字符,然后再將比特流進(jìn)行串行傳輸?shù)?。在接收端如果是?shù)據(jù)字符,則將10比特的傳輸字符轉(zhuǎn)換為8比特的標(biāo)準(zhǔn)字節(jié),FC支持所有0-255的8比特標(biāo)準(zhǔn)字節(jié),如果是保留的專用字符將不被轉(zhuǎn)換,而直接進(jìn)行功能處理。FC-1使用字母符號(hào)表示數(shù)據(jù)信息比特和控制變量。對(duì)于上層FC-2層的1個(gè)數(shù)據(jù)字節(jié),在FC-1層中由A,B,C,D,E,F,G,H表示,同時(shí)由z表示控制變量<如圖3所示>,這個(gè)信息經(jīng)過(guò)FC-I的8B/10B編碼轉(zhuǎn)換為1個(gè)A,B,C,D,E,F,G,H,I,J的10比特傳輸字符。其中每個(gè)信息比特表示的值為1或0,每個(gè)控制變量表示的值為D<數(shù)據(jù)字符>或K<專用字符>。對(duì)于每一個(gè)標(biāo)準(zhǔn)的8比特傳輸字符,均采用Zxx.Y的命名法則進(jìn)行編碼轉(zhuǎn)換,其中Z是未編碼的傳輸字符的控制變量,如果傳輸字符是有效數(shù)據(jù)字符,則Z=D;如果傳輸字符表示專用字符,則Z=K。小數(shù)點(diǎn)前面的xx表示比特符號(hào)E,D,C,B和A的二進(jìn)制值,小數(shù)點(diǎn)后的Y表示比特符號(hào)H,G和F的二進(jìn)制值。經(jīng)過(guò)Zxx.Y命名轉(zhuǎn)換后的傳輸字符可以通過(guò)編碼表獲得l0比特的傳輸編碼<參見(jiàn)FC-FS標(biāo)準(zhǔn)中的10比特編碼表>。下圖示例了FC-2層十六進(jìn)制字節(jié)0xBC分別作為有效數(shù)據(jù)字符和專用字符在FC-1層中的字符編碼命名和10比特轉(zhuǎn)換過(guò)程。圖3-1光纖通道編碼3.2鏈路維護(hù)FC-1層的鏈路維護(hù)是通過(guò)系統(tǒng)對(duì)發(fā)送器和接收器的邏輯狀態(tài)進(jìn)行控制來(lái)完成的。發(fā)送器和接收器的邏輯狀態(tài)大致可以分為操作狀態(tài)和非操作狀態(tài)兩種。接收器狀態(tài)轉(zhuǎn)換見(jiàn)下圖。當(dāng)接收器檢測(cè)到一個(gè)信號(hào),而且接收器又不在回路模式時(shí),接收器將嘗試進(jìn)行接收器收到的傳輸字邊界字符的編碼比特流之間的同步。如果沒(méi)有邊界分隔字符發(fā)現(xiàn),接收器將返回同步丟失的錯(cuò)誤。圖3-2接收器狀態(tài)轉(zhuǎn)換圖3-2接收器狀態(tài)轉(zhuǎn)換接收器的操作狀態(tài)包括同步獲得狀態(tài)<Synchronization—Acquired>和同步丟失狀態(tài)<Loss-Of—Synchronization>。當(dāng)接收器收到的傳輸字邊界字符與發(fā)送器產(chǎn)生的邊界字符相同時(shí),接收器進(jìn)入到同步獲得狀態(tài),同時(shí)接收器開(kāi)始接收比特信息流,并開(kāi)始進(jìn)行解碼。當(dāng)接收器收到的傳輸詞邊界字符與發(fā)送器產(chǎn)生的邊界字符不相同時(shí),接收器進(jìn)入到同步丟失狀態(tài)。接收器在進(jìn)入到同步丟失狀態(tài)以后,仍然保持可操作狀態(tài),但是不再接收比特信息流和相應(yīng)的解碼。接收器的非操作狀態(tài)只有重置狀態(tài)<Reset>一種,當(dāng)部或外部的重置條件被強(qiáng)加給接收器時(shí),接收器將成為非操作狀態(tài),并隨之進(jìn)入重置狀態(tài)。正常情況下,接收器的初始狀態(tài)為同步丟失狀態(tài),此時(shí)的接收器會(huì)嘗試進(jìn)行同步,一旦和發(fā)送器建立了同步,接收器就進(jìn)入同步獲得狀態(tài)進(jìn)行比特信息流的接收和解碼,如果接收器檢測(cè)到信號(hào)丟失條件,那么就從同步獲得狀態(tài)轉(zhuǎn)入同步丟失狀態(tài),一般信號(hào)丟失條件為連續(xù)收到5個(gè)非法傳輸詞字符,無(wú)論接收器是在同步獲得狀態(tài)還是在同步丟失狀態(tài),當(dāng)部或外部的重置條件被強(qiáng)加給接收器時(shí),接收器將轉(zhuǎn)入重置狀態(tài)FC>,而當(dāng)部或外部的重置退出條件被強(qiáng)加給接收器時(shí),接收器由重置狀態(tài)轉(zhuǎn)入同步丟失狀態(tài),在FC標(biāo)準(zhǔn)之中沒(méi)有明確地定義重置條件和重置退出條件,具體實(shí)現(xiàn)由廠商完成,最典型的重置條件和重置退出條件是電位重置。當(dāng)發(fā)送器處于操作狀態(tài),發(fā)送器將持續(xù)嘗試向所連接的光纖發(fā)送經(jīng)過(guò)編碼的比特信息流.有些發(fā)送器能夠監(jiān)視發(fā)送信號(hào)和校驗(yàn)其有效性,如果發(fā)現(xiàn)錯(cuò)誤,發(fā)送器會(huì)轉(zhuǎn)入非操作狀態(tài)。FC-1層發(fā)送器的操作狀態(tài)包括工作狀態(tài)<Working>、不可用狀態(tài)<Not—Enabled>和開(kāi)放光路狀態(tài)<Open—Fiber>。當(dāng)發(fā)送器積極地嘗試向所連接的光纖發(fā)送經(jīng)過(guò)編碼的比特信息流時(shí),發(fā)送器處于工作狀態(tài)。當(dāng)一個(gè)發(fā)送器端口請(qǐng)求或被外部事件所初始化,發(fā)送器將進(jìn)入不可用狀態(tài),而當(dāng)發(fā)送器檢測(cè)到一個(gè)激光安全條件,發(fā)送器將進(jìn)入開(kāi)放光路狀態(tài)。發(fā)送器在進(jìn)入到不可用狀態(tài)和開(kāi)放光路狀態(tài),將保持操作狀態(tài)。激光安全條件的檢測(cè)是由FC-0層的鏈路控制功能<Link—Control—Facilities>來(lái)完成的,旦發(fā)送器進(jìn)八開(kāi)放光路狀態(tài),不管是否接收到可用或不可用的端口請(qǐng)求,發(fā)送器都將一直保持開(kāi)放光路狀態(tài),直到發(fā)送器檢測(cè)不到激光安全條件。發(fā)送器的非操作狀態(tài)只有失敗狀態(tài)<Fai1ure>一種,當(dāng)發(fā)送器檢測(cè)到一個(gè)失敗條件后,發(fā)送器將成為非操作狀態(tài),并隨之進(jìn)入失敗狀態(tài)。失敗條件的檢測(cè),是由各個(gè)生產(chǎn)廠商定義的單一信號(hào)的檢測(cè),FC標(biāo)準(zhǔn)沒(méi)有作明確規(guī)定。正常情況下,發(fā)送器的初始狀態(tài)為不可用狀態(tài),如果發(fā)送器收到端口可用的請(qǐng)求,而且又沒(méi)有檢測(cè)到激光安全的條件,那么發(fā)送器就會(huì)進(jìn)入工作狀態(tài),然后開(kāi)始向所連接的光纖發(fā)送編碼比特信息流如果處于開(kāi)放光路狀態(tài)的發(fā)送器檢測(cè)到激光安全條件不存在了,而且又沒(méi)有明顯的禁用請(qǐng)求,那么發(fā)送器就會(huì)轉(zhuǎn)入到工作狀態(tài)。如果處于工作狀態(tài)的發(fā)送器收到一個(gè)禁用請(qǐng)求,而且又沒(méi)有檢測(cè)到激光安全的條件,那么發(fā)送器就會(huì)回到不可用狀態(tài)。無(wú)論發(fā)送器是處于工作狀態(tài),還是處于不可用狀態(tài),只要是發(fā)送器檢測(cè)到了激光安裝條件,那么發(fā)送器就會(huì)轉(zhuǎn)入到開(kāi)放光路狀態(tài)。如果處于工作狀態(tài)的發(fā)送器在向所連接的光纖發(fā)送編碼比特信息流時(shí)檢測(cè)到了一個(gè)失敗條件,那么發(fā)送器就會(huì)轉(zhuǎn)入到失敗狀態(tài)。如果處于開(kāi)放光路狀態(tài)的發(fā)送器檢測(cè)到激光安全條件不存在了,而且收到明顯的禁用請(qǐng)求,那幺發(fā)送器就會(huì)轉(zhuǎn)入到不可用狀態(tài)。發(fā)送器只有在工作狀態(tài)下,才會(huì)向所連接的光纖發(fā)送編碼比特信息流,而當(dāng)處于不可用狀態(tài)或開(kāi)放光路狀態(tài)時(shí),將停止向所連接的光纖發(fā)送編碼比特信息流,但是仍保持操作狀態(tài)。如下圖所示:圖3-3發(fā)送器狀態(tài)轉(zhuǎn)換圖圖3-3發(fā)送器狀態(tài)轉(zhuǎn)換圖4FC-2<Protocol>層數(shù)據(jù)幀及數(shù)據(jù)包的發(fā)送和接收是在FC-2<Protocol>層實(shí)現(xiàn)的,FC-2層定義了幀結(jié)構(gòu)、命令集、序列、交換、分類服務(wù)等容。FC-2層定義了4種數(shù)據(jù)傳輸單位:幀、幀序列、幀交換和數(shù)據(jù)包。當(dāng)上層協(xié)議的數(shù)據(jù)單元長(zhǎng)度大于光纖通道數(shù)據(jù)幀負(fù)載的最大長(zhǎng)度2112個(gè)字節(jié)時(shí),則需要被分割成多個(gè)數(shù)據(jù)幀,這些數(shù)據(jù)幀就被稱為幀序列。一個(gè)幀序列表示一個(gè)上層協(xié)議數(shù)據(jù)單元,而上層應(yīng)用程序?qū)?shù)據(jù)的操作通?;谝粋€(gè)個(gè)操作,一個(gè)操作包括雙向的幾個(gè)數(shù)據(jù)單元交換,因此,用幀交換來(lái)表示上層協(xié)議的一個(gè)操作,一個(gè)幀交換只能有一個(gè)幀序列處于活動(dòng)狀態(tài)。數(shù)據(jù)包是由一個(gè)或若干個(gè)幀交換組成。4.1幀<Frame>結(jié)構(gòu)數(shù)據(jù)幀由幀起始〔SOF、幀報(bào)頭〔frameheader、數(shù)據(jù)字段、冗余校驗(yàn)碼〔CRC和幀結(jié)束〔EOF組成。幀起始、冗余校驗(yàn)碼和幀結(jié)束都是由一個(gè)傳輸字組成。幀報(bào)頭由6個(gè)傳輸字組成。負(fù)載最多能有537個(gè)傳輸字〔2112個(gè)字節(jié),數(shù)據(jù)幀格式如下圖所示。圖4-1FC-2的幀格式圖4-1FC-2的幀格式幀報(bào)頭格式每個(gè)幀含有一個(gè)24字節(jié)的幀頭,它包括字段描述容和幀處理。幀頭格式包括下列字段:R_CTL:路由控制。D_ID:目的標(biāo)識(shí)符。S_ID:源點(diǎn)標(biāo)識(shí)符。CS_CTL:類型特殊控制。TYPE:數(shù)據(jù)結(jié)構(gòu)類型。F_CTL:幀控制。SEQ_ID:序列標(biāo)識(shí)符。DF_CTL:數(shù)據(jù)字段控制。SEQ_CNT:序列數(shù)。OX_ID:發(fā)送端交換ID。RX_ID:響應(yīng)端交換ID。參數(shù):數(shù)據(jù)幀中的相對(duì)偏移。幀頭字段的主要作用是唯一的標(biāo)識(shí)幀。每個(gè)幀是由稱為幀ID值的〔S_ID,D_ID,OX_ID,RX_ID,SEQ_ID和SEQ_CNT值來(lái)唯一地標(biāo)識(shí)。幀報(bào)頭格式如下圖所示:圖4-2幀報(bào)頭格式圖4-2幀報(bào)頭格式路由控制字段:R_CTL提供不同類型幀之間第一層的區(qū)別,起到歸類幀的作用,路由控制<R_CTL>是1個(gè)字節(jié)字段,它包括兩個(gè)四位的子字段,即:路由子字段和信息子字段,路由控制字段R_CTL類別碼如下表所示。表4-1R_CTL類別碼路由幀類型0設(shè)備數(shù)據(jù)幀2擴(kuò)展鏈路服務(wù)3FC-4鏈路數(shù)據(jù)4視頻數(shù)據(jù)5擴(kuò)展頭8基本鏈路服務(wù)c鏈路控制幀f擴(kuò)展路由其他保留地址標(biāo)識(shí)符:S_ID和D_ID每個(gè)N端口有一個(gè)3字節(jié)N端口標(biāo)識(shí)符,在交換結(jié)構(gòu)地址域是唯一的。F端口像N端口一樣都具有唯一的本地地址標(biāo)識(shí)符,它可以用于將幀連接到交換結(jié)構(gòu)上的端口。等級(jí)特別控制:CS_CTL用于與服務(wù)類型有關(guān)的幀處理。這個(gè)字段只在第1類和第4類幀中才有意義。數(shù)據(jù)結(jié)構(gòu)類型:TYPE一個(gè)可進(jìn)一步標(biāo)識(shí)幀種類的字段。最常見(jiàn)的用法是在數(shù)據(jù)幀中來(lái)區(qū)別FC-4ULP接口。該字段和R_CTL字段共同標(biāo)識(shí)出幀的具體類型。首先通過(guò)R_CTL字段標(biāo)識(shí)出該幀是數(shù)據(jù)幀還是鏈路控制幀,再通過(guò)該字段進(jìn)一步標(biāo)識(shí)出幀的類型。例如當(dāng)R_CTL=0xh,TYPE=0Ah則表示該幀為承載SCSI協(xié)議的數(shù)據(jù)幀。幀控制:F_CTL一個(gè)含有與幀容有關(guān)的控制信息,一個(gè)3字節(jié)字段,大多數(shù)其他幀頭字段基本上是用于幀標(biāo)識(shí),F_CTL是控制幀處理的重要字段,對(duì)于不同的服務(wù)類型來(lái)說(shuō),相關(guān)的控制位有不同的值,同時(shí)控制字段的有效性也不同。F_CTL各字段的詳細(xì)描述如下表所示:表4-2F控制字段位描述交換上下文230交換發(fā)起端1交換響應(yīng)端序列上下文220序列發(fā)起端1序列響應(yīng)端第一個(gè)序列210交換的其它序列1交換的第一個(gè)序列最后一個(gè)序列200交換的其它序列1交換的最后一個(gè)序列結(jié)束序列190序列的其它數(shù)據(jù)幀1序列的最后一個(gè)數(shù)據(jù)幀結(jié)束連接<Class1或Class6>180連接激活1連接掛起結(jié)束<Class1或Class6中有效,在其它類型中忽略>CS_CTL/優(yōu)先級(jí)170字1的31~24位表示CS_CTL1字1的31~24位表示優(yōu)先級(jí)序列Initiative160保持序列Initiative1傳輸序列Initiative廢棄15廢棄14ACK形式〔Class1,Class2,Class6有效13-1200b不需要額外提供01b需要Ack_110b保留11b需要Ack_0數(shù)據(jù)壓縮〔廢棄11數(shù)據(jù)加密〔廢棄10序列重傳〔Class1,Class6有效90初始序列重傳1序列重傳單向傳輸〔Class1,Class6有效80雙向傳輸1單向傳輸連續(xù)序列條件〔當(dāng)結(jié)束序列=1,序列Initiative=0時(shí)有效7~600b無(wú)信息01b實(shí)時(shí)序列10b快速序列11b延遲序列終止序列條件5~4接收端響應(yīng)幀00b連續(xù)序列01b異常終止序列,按異常中止處理10b停止序列11b實(shí)時(shí)序列重傳請(qǐng)求數(shù)據(jù)幀00b異常中止,丟棄多個(gè)序列01b異常中止,丟棄一個(gè)序列02b無(wú)限緩存處理策略11b丟棄多個(gè)序列,立即重傳相對(duì)偏移30一些幀定義的參數(shù)字段1參數(shù)字段,相對(duì)偏移交換重組2交換重組保留填充字節(jié)1~0凈荷結(jié)束,不滿4字節(jié)整數(shù)倍,填充00b填充0個(gè)字節(jié)01b填充1個(gè)字節(jié)10b填充2個(gè)字節(jié)11b填充3個(gè)字節(jié)序列ID:SEQ_ID用來(lái)唯一標(biāo)識(shí)交換的序列,由序列發(fā)起端分配。數(shù)據(jù)字段控制:DF_CTL規(guī)定幀頭和幀凈荷之間任選頭標(biāo)所包含容的說(shuō)明。數(shù)據(jù)字段中定義的可選報(bào)頭是:網(wǎng)絡(luò)報(bào)頭<NetworkHeader>、關(guān)聯(lián)報(bào)頭<AssociationHeader>和設(shè)備報(bào)頭<DeviceHeader>。序列計(jì)數(shù):SEQ_CNT用來(lái)唯一地識(shí)別出一序列的幀,保證幀接收的連續(xù)性并使鏈路控制幀與它們相關(guān)的數(shù)據(jù)幀具有唯一的關(guān)系。發(fā)送端交換標(biāo)識(shí)符:OX_ID發(fā)起端交換標(biāo)識(shí),是除了FFFFh以外的值。響應(yīng)端交換標(biāo)識(shí)符:RX_ID接收端交換標(biāo)識(shí),是除了FFFFh以外的值。參數(shù)字段:此字段與幀類型有關(guān)。對(duì)鏈路控制幀而言,參數(shù)字段給出鏈路控制幀的特定類型。對(duì)數(shù)據(jù)幀而言,參數(shù)字段包含相對(duì)偏轉(zhuǎn)值。這規(guī)定從ULP緩沖區(qū)與ULP基礎(chǔ)地址的偏移。參數(shù)字段的定義:對(duì)請(qǐng)求數(shù)據(jù)類<FCP_DATAIU>,參數(shù)字段應(yīng)該包含一個(gè)相對(duì)的偏移,F_CTL的相對(duì)偏移位應(yīng)該置為1,表明參數(shù)字段的值是一個(gè)相對(duì)偏移。相對(duì)偏移是個(gè)4的整數(shù)倍。對(duì)非請(qǐng)求控制類<FCP_CMNDIU>,參數(shù)字段依賴任務(wù)重試標(biāo)志是否激活,如果發(fā)送和接收的FCP_PORT在任務(wù)重試上達(dá)成一致,參數(shù)字段應(yīng)該置為任務(wù)重試標(biāo)志,如果發(fā)送和接收的FCP_PORT在任務(wù)重試上沒(méi)有達(dá)成一致,參數(shù)字段應(yīng)該置為0。不管哪種情況,F_CTL字段的相對(duì)偏移位都應(yīng)該置為0。對(duì)其他的FCP類型的Device_data幀,F_CTL字段應(yīng)該置為0,相對(duì)偏移字段包含0。幀的容域幀容域的數(shù)據(jù)長(zhǎng)度是4字節(jié)的整數(shù)倍,當(dāng)長(zhǎng)度不足4字節(jié)的整數(shù)倍時(shí)將采用向容域中填充1-3個(gè)字節(jié),從而使其長(zhǎng)度達(dá)到4字節(jié)的整數(shù)倍。容域中字段描述如下圖所示:圖4-3幀內(nèi)容圖4-3幀內(nèi)容幀數(shù)據(jù)段中的可選報(bào)頭是提供給FC-4層使用的,可選報(bào)頭頭的類型是由幀報(bào)頭的DF_CTL字段決定的。DF_CTL字段的長(zhǎng)度是一個(gè)字,對(duì)應(yīng)位與所定義的附加報(bào)頭如下表所示。表4-3附加報(bào)頭字段對(duì)應(yīng)位Bit<s>可選報(bào)頭可應(yīng)用圍23保留所有幀220=無(wú)ESP_Header和ESP_Trailer1=ESP_Header和ESP_Trailer所有幀210=無(wú)Network_Header1=Network_Header設(shè)備數(shù)據(jù)和視頻數(shù)據(jù)幀200=無(wú)Association_Header1=Association_Header設(shè)備數(shù)據(jù)和視頻數(shù)據(jù)幀19-18保留所有幀17-1600=無(wú)Device_Header01=16ByteDevice_Header10=32ByteDevice_Header11=64ByteDevice_Header設(shè)備數(shù)據(jù)和視頻數(shù)據(jù)幀可選報(bào)頭的長(zhǎng)度和類型如下圖所示:圖4-4FC-2幀的內(nèi)容域中可選報(bào)頭和負(fù)載圖4-4FC-2幀的內(nèi)容域中可選報(bào)頭和負(fù)載4.2命令集<OrderedSet>在FC-2命令集中的每條命令均由表示數(shù)據(jù)或?qū)S梅?hào)的4個(gè)字符組成,每條命令均表示一定的含義。命令集提供有效性使獲得的比特或字同步,同時(shí)命令集也用于建立字邊界對(duì)齊。所有命令都以專用字符K28.5作為開(kāi)始。在FC-2層有幀定界符、原始信號(hào)、原始序列三種主要的命令。幀定界符<FrameDelimiters>包括幀開(kāi)始<SOF>和幀結(jié)束<EOF>命令集。用于表示一個(gè)幀的開(kāi)始與結(jié)束,在交換拓?fù)浜凸?jié)點(diǎn)瑞口中由多個(gè)SOF和EOF定界符用于序列控制。例如:典型的SOF命令為K28.5D2l.5D23.0D23.0、EOF命令為K28.5D21.4D21.6D21.6。原始信號(hào)<PrimitiveSignals>包括空閑{Idle>和接收器準(zhǔn)備<ReceiverReady,R-RDY>命令集。當(dāng)一個(gè)可操作的節(jié)點(diǎn)端口準(zhǔn)備好發(fā)送或接收數(shù)據(jù)時(shí),一個(gè)表示空閑命令的原始信號(hào)會(huì)被發(fā)送;當(dāng)接口緩沖區(qū)準(zhǔn)備好接收數(shù)據(jù)幀時(shí),一個(gè)表示接收器準(zhǔn)備的原始信號(hào)會(huì)被發(fā)送。原始序列<PrimitiveSequence>是一組被連續(xù)地重復(fù)發(fā)送的命令集用于表示節(jié)點(diǎn)端口特定的狀態(tài)或端口邏輯狀態(tài)。當(dāng)一個(gè)原始序列被節(jié)點(diǎn)端口接收或識(shí)別.節(jié)點(diǎn)端口恢復(fù)個(gè)相應(yīng)的原始序列或空閑命令。識(shí)別一個(gè)原始序列需要連續(xù)地檢測(cè)3個(gè)相同命令集的實(shí)例典型的原始序列有FC-l層的OLS、NOS、LR、LRR狀態(tài)命令。4.3序列與交換序列<Sequence>序列是從一個(gè)節(jié)點(diǎn)端口向另外一個(gè)節(jié)點(diǎn)端口單向發(fā)送的一個(gè)或多個(gè)相關(guān)幀,每個(gè)幀都根據(jù)序列總數(shù)<SEQ-CNT>有一個(gè)在整個(gè)序列中唯一的序列標(biāo)識(shí)<SEQ-ID>。通常序列邊界的錯(cuò)誤恢復(fù)與控制由上層協(xié)議完成。交換<Exchange>交換是由一個(gè)或多個(gè)用作兩個(gè)節(jié)點(diǎn)端口之間單一操作的非并發(fā)序列組成的.交換可以是單向的也可是雙向的。在單一交換中只能有一個(gè)序列在一個(gè)時(shí)間被激活.但是在不同交換之間可以有多個(gè)序列被同時(shí)激活。4.4協(xié)議FC一2層中還定義了一些協(xié)議<Protocols>用于上層服務(wù):原始序列協(xié)議——基于原始序列,用于鏈路失?。唤粨Q網(wǎng)登錄協(xié)議——在交換網(wǎng)絡(luò)拓?fù)渲?當(dāng)一個(gè)節(jié)點(diǎn)端口登錄交換網(wǎng)絡(luò)時(shí),節(jié)點(diǎn)端口與交換端口之間相互交換服務(wù)參數(shù);節(jié)點(diǎn)端口登錄協(xié)議——在點(diǎn)對(duì)點(diǎn)拓?fù)渲?在傳輸數(shù)據(jù)之前,兩個(gè)節(jié)點(diǎn)端口之間相互交換服務(wù)參數(shù);數(shù)據(jù)傳輸協(xié)議——表述使用流控管理傳輸上層協(xié)議數(shù)據(jù)的方法;節(jié)點(diǎn)端口注銷協(xié)議——一個(gè)節(jié)點(diǎn)端口請(qǐng)求撤消與另外一個(gè)節(jié)點(diǎn)端口的連接服務(wù)參數(shù),斷開(kāi)與另外一個(gè)節(jié)點(diǎn)端口的連接。4.5分類服務(wù)和流控制分類服務(wù)<ServiceClasses>FC的服務(wù)類型是指FC提供不同的服務(wù)以滿足不同的數(shù)據(jù)傳輸要求。FC一共定義了6種服務(wù)類型,基于FC的SCSI協(xié)議采用的是類型3的服務(wù)。用戶可根據(jù)所作應(yīng)用的傳輸特性,如:數(shù)據(jù)包的長(zhǎng)度,傳輸持續(xù)時(shí)間等,選擇相應(yīng)的服務(wù):<1>服務(wù)類型I<ClassI>可提供專用的連接,即有效的專用物理連接。一旦連接建立,交換拓?fù)渚W(wǎng)會(huì)維持和保證整個(gè)服務(wù)的連接這種服務(wù)能夠保證兩個(gè)節(jié)點(diǎn)端口之間的最大帶寬的使用以及提供最高的吞吐量。接收端對(duì)每一個(gè)接收到的正確數(shù)據(jù)幀發(fā)一個(gè)確認(rèn)幀給發(fā)送端。對(duì)不正確或丟失的數(shù)據(jù)幀,接收端發(fā)一個(gè)否認(rèn)幀給發(fā)送端,發(fā)送端會(huì)重發(fā)。在服務(wù)類型I中數(shù)據(jù)幀是依照原始順序被發(fā)送到目的節(jié)點(diǎn)端口的。下圖描述了類型I服務(wù)的處理流程。圖4-5類型I服務(wù)的處理流程<2>服務(wù)類型Ⅱ<ClassⅡ>是一種基于幀的交換,無(wú)連接的服務(wù)。服務(wù)類型Ⅱ允許一個(gè)或多個(gè)通道的帶寬被多個(gè)源的多個(gè)數(shù)據(jù)幀所共享。交換拓?fù)渚W(wǎng)可能不保證數(shù)據(jù)幀的傳送順序。服務(wù)類型Ⅱ可用于連接建立時(shí)間大于等待時(shí)間的短時(shí)間數(shù)據(jù)流。服務(wù)類型I和服務(wù)類型Ⅱ都會(huì)發(fā)送確認(rèn)消息<ACK>,確認(rèn)數(shù)據(jù)幀的傳送。如果數(shù)據(jù)幀因?yàn)閾砣荒鼙贿m當(dāng)?shù)貍魉?接收端口會(huì)返回一個(gè)繁忙信號(hào)幀或拒絕信號(hào)幀給發(fā)送端.?dāng)?shù)據(jù)幀將被重新發(fā)送。類型Ⅱ服務(wù)中,數(shù)據(jù)發(fā)送端和接收端沒(méi)有專用的通道,數(shù)據(jù)可能經(jīng)過(guò)不同速度的中間連接,中間節(jié)點(diǎn)可能需要緩存來(lái)保存來(lái)不及發(fā)給下一個(gè)節(jié)點(diǎn)的數(shù)據(jù)。下圖描述了類型Ⅱ服務(wù)的處理流程。圖4-6類型Ⅱ服務(wù)的處理流程<3>服務(wù)類型Ⅲ<ClassⅢ>類似于服務(wù)類型Ⅱ,也是一種基于幀交換,無(wú)連接的服務(wù),但是服務(wù)類型Ⅲ并不發(fā)送確認(rèn)消息,這種類型的傳輸也稱為數(shù)據(jù)報(bào)<Datagram>,因?yàn)椴恍枰l(fā)送確認(rèn)消息,所以可以提供更快速地傳輸。服務(wù)類型Ⅲ不關(guān)心數(shù)據(jù)的錯(cuò)誤,由更高層負(fù)責(zé)進(jìn)行錯(cuò)誤回復(fù)和重排失序后的數(shù)據(jù)傳輸。服務(wù)類型Ⅲ可用于實(shí)時(shí)的數(shù)據(jù)傳輸。下圖描述了類型Ⅲ服務(wù)的處理流程。圖4-7類型Ⅲ服務(wù)的處理流程<4>服務(wù)類型Ⅳ<ClassⅣ>類似于服務(wù)類型Ⅰ,也是提供兩個(gè)N端口之間專用的通信通道,保證數(shù)據(jù)傳輸固定的帶寬,而且保證接收端接收的數(shù)據(jù)幀次序和發(fā)送端發(fā)出的次序一樣,它與類型Ⅰ服務(wù)的不同之處是專用通信通道的帶寬。類型Ⅰ服務(wù)中,兩個(gè)N端口的全部通信帶寬都用于類型Ⅰ的服務(wù)。例如100MB/s的N端口如果建立類型Ⅰ的服務(wù),全部100MB/s帶寬都會(huì)用于服務(wù),也就是說(shuō)類型Ⅰ服務(wù)建立的專用通道就是100MB/s的速度。而建立類型4服務(wù)時(shí),N端口可以只用一部分帶寬建立與另一N端口的專用通信通道。相對(duì)于兩個(gè)N端口之間建立一個(gè)虛擬線路〔virtualcircuit。實(shí)際上是兩個(gè)單向的虛擬線路,兩個(gè)方向可能有不同的通信帶寬。一個(gè)N端口可與多個(gè)N端口間建立多個(gè)類型4的服務(wù)。<5>服務(wù)類型Ⅴ<ClassⅤ>的服務(wù)在光纖通道標(biāo)準(zhǔn)中還沒(méi)有完全定義好。<6>服務(wù)類型Ⅵ<ClassⅥ>的服務(wù)提供多播的功能。如果一個(gè)N端口想發(fā)數(shù)據(jù)給其他多個(gè)端口,它可以與多播服務(wù)器建立類型Ⅰ的服務(wù)。多播服務(wù)器再再這個(gè)發(fā)生數(shù)據(jù)的N端口和接收數(shù)據(jù)的多個(gè)N端口之間建立類型Ⅵ的服務(wù)。發(fā)送端把數(shù)據(jù)發(fā)送到多播服務(wù)器,多播服務(wù)器再負(fù)責(zé)把數(shù)據(jù)幀復(fù)制成多份,分別發(fā)送給多個(gè)接收端口。想接收多播數(shù)據(jù)的端口可以和別名服務(wù)器注冊(cè),多播服務(wù)器就會(huì)把數(shù)據(jù)發(fā)送到注冊(cè)的端口。流控制<FlowControl>流控指的是FC-2層控制協(xié)調(diào)節(jié)點(diǎn)端口之間和節(jié)點(diǎn)端口與交換端口之間的接收幀數(shù)據(jù)流泛濫溢出。流控依靠于上層的分類服務(wù),服務(wù)類型I的數(shù)據(jù)幀使用端對(duì)端的流控,服務(wù)類型Ⅲ使用緩沖對(duì)緩沖的流控,服務(wù)類型Ⅱ既使用端對(duì)端的流控.又使用緩沖對(duì)緩沖的流控。流控是由序列發(fā)起者<源>端口和序列接收者<目的>端口使用信任量<Credit>和信任總量<CreditCountCredit_CNT>來(lái)進(jìn)行管理的。信任量指的是分配給發(fā)送端口的緩沖區(qū)數(shù),信任總量指的是沒(méi)有被序列接收者確認(rèn)的數(shù)據(jù)幀數(shù)。端對(duì)端的流控用以協(xié)調(diào)節(jié)點(diǎn)端口之間的數(shù)據(jù)幀流,在這種情況下序列接收者通過(guò)返回一個(gè)確認(rèn)幀給序列發(fā)起者,以表示接收到了合法的數(shù)據(jù)幀,當(dāng)序列接收者的緩沖區(qū)相對(duì)于接收的數(shù)據(jù)幀不夠時(shí),也就是端對(duì)端信任量<EndtoEndCredit.EE_Credit>小于接收的數(shù)據(jù)幀數(shù)時(shí).序列接收者會(huì)返回一個(gè)繁忙信號(hào)幀給序列發(fā)起者,而當(dāng)序列接收者收到一個(gè)錯(cuò)誤的數(shù)據(jù)幀時(shí).序列接收者會(huì)返回一個(gè)錯(cuò)誤信號(hào)幀給序列發(fā)起者,然后再由序列發(fā)起者返回一個(gè)端對(duì)端的信任總量<EndtoEndCreditCount.EE_Credit_CNT>。端對(duì)端流控的最初信任量是在節(jié)點(diǎn)端口登錄時(shí)分配的。緩沖對(duì)緩沖的流控用于控制調(diào)節(jié)節(jié)點(diǎn)端口與交換端口之問(wèn)或點(diǎn)對(duì)點(diǎn)拓?fù)渲袃蓚€(gè)節(jié)點(diǎn)端口之間的的數(shù)據(jù)幀流。每個(gè)端口有責(zé)任管理緩沖對(duì)緩沖的信任總量<BuffertoBuffer.CreditCountBB-Credit_CNT>。緩沖對(duì)緩沖的信任量<BuffertoBufferCredit,BB-Credit>在節(jié)點(diǎn)端口登錄交換網(wǎng)絡(luò)時(shí)分配序列接收者通過(guò)向序列發(fā)起者發(fā)送接收器準(zhǔn)備<R—RDY>信號(hào)幀,以通知序列發(fā)起者是否有空閑的緩沖區(qū)用于接收數(shù)據(jù)幀。4.6登錄和服務(wù)參數(shù)登錄程序是一個(gè)節(jié)點(diǎn)端口和另外一個(gè)節(jié)點(diǎn)端口或交換端口之間建立操作環(huán)境的一種方法。一個(gè)節(jié)點(diǎn)端口登錄到另外一個(gè)節(jié)點(diǎn)端口,稱為目的節(jié)點(diǎn)端口登錄;一個(gè)節(jié)點(diǎn)端口登錄到交換端口,稱為交換網(wǎng)絡(luò)登錄。交換網(wǎng)絡(luò)登錄和目的節(jié)點(diǎn)端口登錄都采用相似的程序,不同的目的標(biāo)識(shí)<Destination-Identifiers,D-IDs>和盡可能不同的源標(biāo)識(shí)<Source—Identifiers,S-IDs>。當(dāng)節(jié)點(diǎn)端口請(qǐng)求登錄其他節(jié)點(diǎn)端口或交換端口時(shí),首先停止發(fā)送空閑幀<IDLE>,而改為發(fā)送一系列表明其登錄及開(kāi)始網(wǎng)絡(luò)通信意圖的幀,并通過(guò)登錄建立端口地址,服務(wù)類型等參數(shù)。一旦登錄成功,節(jié)點(diǎn)端口與交換端口之間或兩個(gè)節(jié)點(diǎn)端口之間將保持長(zhǎng)時(shí)間的連接。一個(gè)節(jié)點(diǎn)端口能和多少個(gè)其他節(jié)點(diǎn)端口建立登錄連接,是由節(jié)點(diǎn)端口的功能和性能決定的。登錄連接與服務(wù)類別I的專用連接之間沒(méi)有直接的關(guān)系。5FC-3層FC-3層中定義了一組服務(wù)用于公共的單一節(jié)點(diǎn)中的多個(gè)端口交叉其中包括組搜尋<HuntGroups>和分組廣播<Multicast>。組搜尋組搜尋指的是由多個(gè)節(jié)點(diǎn)端口<N-Port>回復(fù)同一個(gè)別名地址請(qǐng)求的能力。這能略降低節(jié)點(diǎn)端口繁忙的機(jī)會(huì),從而有效地提高整個(gè)系統(tǒng)的效能。分組廣播分組廣播指的是將一個(gè)傳輸信息發(fā)送到多個(gè)節(jié)點(diǎn)端口<N—Port>.這些節(jié)點(diǎn)端口可以是整個(gè)交換拓?fù)渲兴械墓?jié)點(diǎn)端口,也可以是整個(gè)交換拓?fù)渲械牟糠止?jié)點(diǎn)端口,此時(shí)也稱為廣播<Broadcast>。6FC-4<Mapping>層FC-4<Mapping>層是FC體系結(jié)構(gòu)中的最高層,在FC-4層中定義了FC底層協(xié)議與高層協(xié)議之間的映射。·小型計(jì)算機(jī)系統(tǒng)接口<SCSI>·互聯(lián)網(wǎng)協(xié)議<IP>·高性能并行接口<HIPPI>·異步傳輸模式<ATM>·智能外設(shè)接口-3<IPI-3>·單字節(jié)指令碼集<SBCCS>由FC-4層是針對(duì)不同應(yīng)用層協(xié)議的映射,因此具體的應(yīng)用將具有具體的映射,存儲(chǔ)系統(tǒng)將使用SCSI應(yīng)用層協(xié)議,SCSI協(xié)議的映射是通過(guò)FCP來(lái)完成的,我們將在第九章分析對(duì)SCSI的FCP映射協(xié)議FCP。7FC拓?fù)浣Y(jié)構(gòu)7.1交換拓?fù)湓诮粨Q網(wǎng)絡(luò)拓?fù)渲?節(jié)點(diǎn)之間的通信是通過(guò)交換網(wǎng)絡(luò)登錄、節(jié)點(diǎn)登錄、地址分配、會(huì)話、登錄注銷五個(gè)階段完成的,節(jié)點(diǎn)的加入和離開(kāi)對(duì)網(wǎng)絡(luò)中的其它通訊設(shè)備幾乎沒(méi)有影響。交換網(wǎng)絡(luò)登錄<FabricLogin>交換網(wǎng)絡(luò)登錄完成5個(gè)功能:·檢測(cè)交換網(wǎng)絡(luò)的存在或不存在:·如果交換網(wǎng)絡(luò)存在,交換網(wǎng)絡(luò)將提供一個(gè)專用的操作字符集;·如果交換網(wǎng)絡(luò)存在,交換網(wǎng)絡(luò)將分配或確認(rèn)初始登錄的本地節(jié)點(diǎn)端口標(biāo)識(shí);·如果交換網(wǎng)絡(luò)不存在,節(jié)點(diǎn)端口將嘗試進(jìn)行點(diǎn)對(duì)點(diǎn)拓?fù)溥B接;·如果交換網(wǎng)絡(luò)存在,交換網(wǎng)絡(luò)將初始化緩沖對(duì)緩沖的信任量<BB_Credit>。明顯的交換網(wǎng)登錄<ExplicitFabricLogin>明顯的交換網(wǎng)絡(luò)登錄,需要登錄請(qǐng)求節(jié)點(diǎn)端口傳輸一個(gè)交換網(wǎng)絡(luò)登錄<FLOGI>鏈路服務(wù)序列,其中包含一個(gè)由節(jié)點(diǎn)端口分配的源交換標(biāo)識(shí)<OX_ID>和目的標(biāo)識(shí)<D_ID>,源標(biāo)識(shí)、目的標(biāo)識(shí)采用公認(rèn)的交換端口地址FFFFFE,源標(biāo)識(shí)采用0或0000yy。如果源標(biāo)識(shí)S_ID=0,交換端口將在接受<ACC>回復(fù)序列中分配一個(gè)交換網(wǎng)絡(luò)中唯一的節(jié)點(diǎn)端口標(biāo)識(shí)給登錄請(qǐng)求節(jié)點(diǎn)端口;如果源標(biāo)識(shí)S_ID=0000yy,交換端口同樣會(huì)在接受<ACC>回復(fù)序列中分配一個(gè)交換網(wǎng)絡(luò)中唯一的節(jié)點(diǎn)端口標(biāo)識(shí)給登錄請(qǐng)求節(jié)點(diǎn)端口,但是只使用8~23比特位,0~7比特位用于校驗(yàn)數(shù)據(jù);如果源標(biāo)識(shí)是非法的S_ID,交換端口將返回一個(gè)錯(cuò)誤代碼標(biāo)識(shí)的交換端口拒絕<Fabric_Port_Reject,F_RJT>。登錄請(qǐng)求節(jié)點(diǎn)端口在接收到交換端口的ACC回復(fù)序列后,向交換端口發(fā)送服務(wù)類別請(qǐng)求參數(shù)序列以結(jié)束交換網(wǎng)絡(luò)登錄過(guò)程。節(jié)點(diǎn)登錄<NPortLogin>交換網(wǎng)絡(luò)中的節(jié)點(diǎn)登錄是在交換網(wǎng)絡(luò)登錄完成后,緊接著進(jìn)行的。如果一個(gè)狀態(tài)正常的節(jié)點(diǎn)端口在登錄前已經(jīng)和其他節(jié)點(diǎn)端口建立了登錄連接,那么首先必須要注銷先前的登錄連接。在登錄處理過(guò)程中目的節(jié)點(diǎn)端口與其他節(jié)點(diǎn)端口之間的通信不再被接受。一旦登錄成功,兩個(gè)節(jié)點(diǎn)端口之間的通信即可開(kāi)始。節(jié)點(diǎn)登錄須完成的2個(gè)功能:·由目的節(jié)點(diǎn)端口提供一個(gè)專用的操作字符集:·初始化目的節(jié)點(diǎn)端口端對(duì)端信任量<EE-Credit>。源節(jié)點(diǎn)端口發(fā)送一個(gè)節(jié)點(diǎn)登錄<PLOGJ>鏈路服務(wù)序列,其中包含一個(gè)由節(jié)點(diǎn)端口分配的源交換標(biāo)識(shí)<OX_ID>、目的端口標(biāo)識(shí)<D_ID=Y>,源端口標(biāo)識(shí)<s_ID=X>和服務(wù)類型參數(shù),X和Y在進(jìn)行交換網(wǎng)絡(luò)登錄時(shí)獲得。目的節(jié)點(diǎn)端口在收到登錄鏈路服務(wù)序列后,回復(fù)一個(gè)包含目的交換標(biāo)識(shí)<RX_ID>、目的端口標(biāo)識(shí)<D_ID=X>、源端口標(biāo)識(shí)<S_ID=Y>和服務(wù)類型參數(shù)為ACC的序列;登錄請(qǐng)求節(jié)點(diǎn)端口在接收到交換端口的ACC回復(fù)序列后,向交換端口發(fā)送服務(wù)類別請(qǐng)求參數(shù)序列,以結(jié)束交換網(wǎng)絡(luò)登錄過(guò)程。地址分配在交換網(wǎng)絡(luò)拓?fù)渲?節(jié)點(diǎn)端口的地址是由FC交換機(jī)負(fù)責(zé)分配的,每個(gè)節(jié)點(diǎn)端口地址在網(wǎng)絡(luò)中都是唯一的。節(jié)點(diǎn)端口地址長(zhǎng)度為3個(gè)字節(jié),在一個(gè)交換網(wǎng)絡(luò)中最多可以包含1677萬(wàn)72l5個(gè)節(jié)點(diǎn)端口。會(huì)話在交換網(wǎng)絡(luò)拓?fù)渲泄?jié)點(diǎn)端口之間的會(huì)話,在節(jié)點(diǎn)端口完成交換網(wǎng)絡(luò)登錄和節(jié)點(diǎn)登錄后開(kāi)始,節(jié)點(diǎn)端口之間的會(huì)話可以采用服務(wù)類型1、服務(wù)類型2和服務(wù)類型3中的任何一種。登錄注銷<Logout>登錄注銷用于釋放兩個(gè)節(jié)點(diǎn)端口之間用于維護(hù)會(huì)話服務(wù)的資源。源節(jié)點(diǎn)端口發(fā)送一個(gè)節(jié)點(diǎn)登錄注銷<LOGO>鏈路服務(wù)序列,其中包含一個(gè)由節(jié)點(diǎn)端口分配的源交換標(biāo)識(shí)<OX_ID>、目的端El標(biāo)識(shí)<D—ID=Y1、源端口標(biāo)識(shí)<S_ID=X>和服務(wù)類型參數(shù).目的節(jié)點(diǎn)端口在收到登錄鏈路服務(wù)序列后.回復(fù)一個(gè)包含目的交換標(biāo)識(shí)<RX_ID>、目的端口標(biāo)識(shí)<D_ID=X>、源端口標(biāo)識(shí)<S_ID=Y>和服務(wù)類型參數(shù)為ACC的序列以結(jié)束會(huì)話。7.2點(diǎn)對(duì)點(diǎn)拓?fù)涔?jié)點(diǎn)登錄<N_Port_Login>在點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)拓?fù)渲?節(jié)點(diǎn)登錄是在節(jié)點(diǎn)端口完成初始化后,緊接著進(jìn)行的。點(diǎn)對(duì)點(diǎn)的節(jié)點(diǎn)登錄須完成3個(gè)功能:·由目的節(jié)點(diǎn)端口提供一個(gè)專用的操作字符集;·初始化目的節(jié)點(diǎn)端口端對(duì)端信任量<EE—Credit>;·初始化節(jié)點(diǎn)端口緩沖對(duì)緩沖信任量<BB—Credit>源節(jié)點(diǎn)端口發(fā)送一個(gè)節(jié)點(diǎn)登錄<PLOGI>鏈路服務(wù)序列,其中包含一個(gè)由節(jié)點(diǎn)端口分配的源交換標(biāo)識(shí)<OX_ID>、目的端口標(biāo)識(shí)<D_ID=Y>、源端口標(biāo)識(shí)<D_lD=x>和服務(wù)類型參數(shù).X≠Y目的節(jié)點(diǎn)端口在收到登錄鏈路服務(wù)序列后,回復(fù)一個(gè)包含目的交換標(biāo)識(shí)<RX—ID>、目的端口標(biāo)識(shí)fD—ID=X1、源端口標(biāo)識(shí)<S—ID=Y>和服務(wù)類型參數(shù)為ACC的序列,登錄請(qǐng)求節(jié)點(diǎn)端口在接收到目的端口的ACC回復(fù)序列后,向目的端口發(fā)送服務(wù)類別請(qǐng)求參數(shù)序列以結(jié)束節(jié)點(diǎn)登錄過(guò)程。在點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)拓?fù)渲小⒐?jié)點(diǎn)端口的地址標(biāo)識(shí)采用硬件地址。會(huì)話在點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)拓?fù)渲泄?jié)點(diǎn)端口之間的會(huì)話在節(jié)點(diǎn)端口節(jié)點(diǎn)登錄后開(kāi)始,節(jié)點(diǎn)端口之間的會(huì)話可以采用服務(wù)類型1、服務(wù)類型2和服務(wù)類型3中的任何一種。登錄注銷<Logout>點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)拓?fù)渲?登陸注銷階段相同于交換網(wǎng)絡(luò)拓?fù)渲械牡顷懽N階段。7.3仲裁環(huán)拓?fù)渲俨铆h(huán)網(wǎng)絡(luò)拓?fù)淅弥俨貌呗源媪私粨Q網(wǎng)絡(luò)中的交換網(wǎng)絡(luò)登錄訪問(wèn)策略,因此,在仲裁環(huán)網(wǎng)絡(luò)拓?fù)渲?不需要進(jìn)行交換網(wǎng)絡(luò)登錄節(jié)點(diǎn)之間的通訊是通過(guò)環(huán)初始化、仲裁選舉、節(jié)點(diǎn)環(huán)口登錄、會(huì)話、登錄注銷五個(gè)階段完成的。環(huán)初始化在仲裁環(huán)網(wǎng)拓?fù)渲?節(jié)點(diǎn)環(huán)口<NL—Port>通過(guò)環(huán)初始化獲得端口地址.仲裁環(huán)網(wǎng)中的所有節(jié)點(diǎn)環(huán)口都有權(quán)利請(qǐng)求執(zhí)行環(huán)的初始化,當(dāng)有環(huán)E1離開(kāi)仲裁環(huán),或有端口加入仲裁環(huán)需要得到端口地址時(shí),環(huán)初始化就會(huì)發(fā)生。因?yàn)榄h(huán)初始化過(guò)程包含了仲裁環(huán)網(wǎng)中的所有節(jié)點(diǎn)環(huán)口,所以,一旦有環(huán)初始化發(fā)生,任何正在進(jìn)行的傳輸都會(huì)被強(qiáng)制中斷,該傳輸需要在環(huán)初始化結(jié)束后恢復(fù)或重傳。環(huán)初始化采用一系列專用指令序列.稱為環(huán)初始化原語(yǔ)<LoopInitializationPrimitiveSequence,LIP>.仲裁環(huán)網(wǎng)中的任何節(jié)點(diǎn)環(huán)口都可以通過(guò)發(fā)送一個(gè)環(huán)初始化原語(yǔ)到仲裁環(huán)上的其他節(jié)點(diǎn)環(huán)口,來(lái)啟動(dòng)環(huán)初始化過(guò)程。環(huán)初始化過(guò)程要求環(huán)中的一個(gè)節(jié)點(diǎn)環(huán)口作為環(huán)控制器來(lái)管理整個(gè)仲裁環(huán)的初始化過(guò)程。環(huán)控制器的選舉采用向相鄰環(huán)口發(fā)送環(huán)初始化控制選擇<LoopInitializationSelectMasterLISM>幀來(lái)完戍每個(gè)環(huán)口發(fā)送的LISM中都包含自己的端口名稱,每個(gè)環(huán)口會(huì)檢查收到的LISM幀,然后比較其中包含的端口名稱,如果LISM幀中包含的端口名稱小于自己的端口名稱,那么就繼續(xù)將此幀向下傳遞如果LISM幘中包含的端口名稱大干自己的端口名稱,那幺就改寫(xiě)LISM幀中包含的端口名稱,然后繼續(xù)將此幀向下傳遞:如果LISM幀中包含的端口名稱是自己的端口名稱,那此環(huán)口就被選為環(huán)控制器當(dāng)環(huán)控制器選定后,環(huán)控制器首先創(chuàng)建一個(gè)仲裁環(huán)地址<ArbitratedLoopPhysicalAddress,AL_PA>位圖環(huán)地址空間的映射,AL—PA位圖長(zhǎng)度為1個(gè)字節(jié),代表環(huán)中所有l(wèi)27個(gè)可用環(huán)口地址。然后,環(huán)控制器發(fā)送一個(gè)環(huán)初始化交換網(wǎng)絡(luò)地址分配幀<LoopInitializationFabricAssigned,LIFA>在整個(gè)環(huán)上傳遞,當(dāng)環(huán)上有交換環(huán)El<FL_PORT>存在時(shí),它將交換網(wǎng)絡(luò)分配紿它的地址填到LIFA幀中。當(dāng)LIFA幀傳回到環(huán)控制器時(shí),如果環(huán)控制器看到交換環(huán)口的地址,那么此地址將不再分配。環(huán)控制器還會(huì)在發(fā)送環(huán)初始化前,將地址分配幀<LoopInitializationPreviouslyAcquired,LIPA>在整個(gè)環(huán)上傳遞如果某個(gè)環(huán)口還保留有先前的AL_PA,那么該環(huán)口將自己的AL_A填入LIPA中但是.并不是所有具有前AL—PA的環(huán)口都能夠分配到先前的地址,尤其是在兩個(gè)環(huán)合并,LIPA幀回到環(huán)控制器時(shí).環(huán)控制器會(huì)繼續(xù)發(fā)送一個(gè)環(huán)初始化硬地址分配幀<LOOPInitializationHardAssigned,LIHA>在整個(gè)環(huán)上傳遞以使環(huán)上所有的環(huán)口利用可選的硬件配置來(lái)聲明自己的端口AL_PA地址。如果以上幾步還不能確定環(huán)口的AL_PA地址那么環(huán)控制器會(huì)繼續(xù)發(fā)送一個(gè)環(huán)初始化軟地址分配幀<LoopInitializationSoftAssignedLISA>在整個(gè)環(huán)上傳遞,那么環(huán)上所有還沒(méi)有分配到地址的環(huán)口都使用一種算法來(lái)獲取AL_PA位圖中剩余地址中的一個(gè)。當(dāng)LISA幀返回到環(huán)控制器時(shí),環(huán)上所有的環(huán)1:3就都分配到了一個(gè)AL_PA地址,這時(shí)在環(huán)中發(fā)送一個(gè)環(huán)初始化位置報(bào)告幀<LoopInitializationReportPosition,LIRP>,每一個(gè)環(huán)口都將分配自己的AL_PA地址和相對(duì)位置信息插人到LIRP幀中。當(dāng)LIRP幀回到環(huán)控制器時(shí),所有環(huán)口的地址分配和位置信息的確定也就完成了,此時(shí)環(huán)中要發(fā)送一個(gè)環(huán)初始化環(huán)位置幀<LoopInitializationLoopPosition,LILP>,在LILP中包含了環(huán)上所有環(huán)口的AL_PA地址和相對(duì)位置信息,每個(gè)環(huán)口在收到LILP幀后,都將LILP幀AL_PA地址和其他環(huán)口相對(duì)位置信息復(fù)制到自己的部寄存器當(dāng)中,當(dāng)LILP幀回到環(huán)控制器時(shí)就完成了整個(gè)環(huán)的初始化過(guò)程。仲裁選舉在仲裁環(huán)網(wǎng)絡(luò)中,當(dāng)節(jié)點(diǎn)環(huán)口希望和其他節(jié)點(diǎn)環(huán)口通信時(shí).它必須等到環(huán)可用.并發(fā)送一個(gè)包含自己AL_PA地址的仲裁幀,說(shuō)明自己為一個(gè)仲裁參與者。當(dāng)與之相鄰的節(jié)點(diǎn)環(huán)口收到該幀后,會(huì)將其中包含的AL—PA地址與自己的AL_PA地址進(jìn)行比較,如果自己的AL_PA地址具有更高的優(yōu)先級(jí),那么該環(huán)口就會(huì)決定自己是否參加仲裁、如果不想?yún)⒓又俨?那么它就會(huì)將此仲裁幀繼續(xù)向下傳遞。如果它想?yún)⒓又俨?那么它就將仲裁幀中包含的AL_PA地址信息改為自己的AL_PA地址信息,然后繼續(xù)向下傳遞此仲裁幀,直到此仲裁幀回到最初的發(fā)送環(huán)口,如果最初的發(fā)送環(huán)口發(fā)現(xiàn)仲裁幀中包含的AL_PA地址不是自己的,那,厶該環(huán)口知道自己沒(méi)有贏得仲裁,它會(huì)繼續(xù)向下傳遞此仲裁幀,如果該環(huán)口發(fā)現(xiàn)仲裁幀中包含的AL_PA地址是自己的那么該環(huán)口就贏得了環(huán)的控制權(quán),隨后它將向希望通信的節(jié)點(diǎn)環(huán)口請(qǐng)求節(jié)點(diǎn)登錄。節(jié)點(diǎn)環(huán)口登錄<NLPortLogin>在仲裁環(huán)網(wǎng)絡(luò)拓?fù)渲泄?jié)點(diǎn)環(huán)口登錄是在節(jié)點(diǎn)環(huán)口贏得仲裁后進(jìn)行的。節(jié)點(diǎn)環(huán)口登錄須完成的3個(gè)功能:·由目的節(jié)點(diǎn)端口提供一個(gè)專用的操作字符集;·初始化目的節(jié)點(diǎn)端口端耐端信任量<EE_CREDIT>;·初始化節(jié)點(diǎn)端口緩沖對(duì)緩沖信任量<BB_CREDIT>。源節(jié)點(diǎn)環(huán)口發(fā)送一個(gè)節(jié)點(diǎn)環(huán)口登錄<PLOGI>鏈路服務(wù)序列,其中包含一個(gè)由節(jié)點(diǎn)環(huán)口分配的源交換標(biāo)識(shí)<OX_ID>目的環(huán)口標(biāo)識(shí)<D_ID=Y>、源環(huán)口標(biāo)識(shí)<S_ID=X>和服務(wù)類型參數(shù),x和Y為源環(huán)口和目的環(huán)口的AL_PA地址,目的節(jié)點(diǎn)環(huán)口在收到登錄鏈路服務(wù)序列后,回復(fù)一個(gè)包含目的交換標(biāo)識(shí)<RX_ID>、目的端口標(biāo)識(shí)<D_ID=X>源環(huán)口標(biāo)識(shí)<S_ID=Y>和服務(wù)類型參數(shù)為ACC的序列,登錄請(qǐng)求節(jié)點(diǎn)環(huán)口在接收到目的口的ACC回復(fù)序列后.向目的環(huán)口發(fā)送服務(wù)類別請(qǐng)求參數(shù)序列以結(jié)束節(jié)點(diǎn)環(huán)口登錄過(guò)程。會(huì)話在仲裁環(huán)網(wǎng)絡(luò)拓?fù)渲泄?jié)點(diǎn)環(huán)口之間的會(huì)話,在節(jié)點(diǎn)環(huán)口登錄后開(kāi)始,節(jié)點(diǎn)環(huán)口之間的會(huì)話可以采用服務(wù)類型1服務(wù)類型2和服務(wù)類型3中的任何一種。登錄注銷<Logout>登錄注銷<Logout>登錄注銷用于釋放兩個(gè)節(jié)點(diǎn)環(huán)口之間用于維護(hù)會(huì)話服務(wù)的資源。源節(jié)點(diǎn)環(huán)口發(fā)送一個(gè)節(jié)點(diǎn)環(huán)口注銷<LOGO>鏈路服務(wù)序列其中包含一個(gè)由節(jié)點(diǎn)環(huán)口分配的源交換標(biāo)識(shí)<OX_ID>、目的環(huán)口標(biāo)識(shí)<D_ID=Y>、源環(huán)口標(biāo)識(shí)<S_ID=X>和服務(wù)類型參數(shù)、目的節(jié)點(diǎn)環(huán)口在收到登錄鏈路服務(wù)序列后,回復(fù)一個(gè)包含目的交換標(biāo)識(shí)<RX_ID>目的環(huán)口標(biāo)識(shí)<D_ID=X>、源環(huán)口標(biāo)識(shí)<S_ID=Y>和服務(wù)類型參數(shù)為ACC的序列以結(jié)束會(huì)話。8FC服務(wù)與管理8.1名稱服務(wù)<NameServer>名稱服務(wù)用于提供節(jié)點(diǎn)端口和環(huán)路節(jié)點(diǎn)端口屬性在FC網(wǎng)絡(luò)中的注冊(cè)和發(fā)現(xiàn)。節(jié)點(diǎn)端口和環(huán)路節(jié)點(diǎn)端口屬性只需注冊(cè)一次,就可以提供給網(wǎng)絡(luò)中的查詢請(qǐng)求者在FC標(biāo)準(zhǔn)中沒(méi)有定義節(jié)點(diǎn)端口和環(huán)路節(jié)點(diǎn)端口屬性的注冊(cè),需要由廠商提供支持。FC名稱服務(wù)共有3種類型的請(qǐng)求:對(duì)象查詢請(qǐng)求<十六進(jìn)制01xx>、對(duì)象注冊(cè)請(qǐng)求<十六進(jìn)制02xx>和對(duì)象注銷請(qǐng)求<十六進(jìn)制03xx>,其中"XX"表示相應(yīng)的屬性編號(hào)。節(jié)點(diǎn)端口和環(huán)路節(jié)點(diǎn)端口屬性的注冊(cè)、注銷和查詢請(qǐng)通過(guò)包含了一系列的請(qǐng)求通用傳輸信息單元<CommonTransportInformationUnit,CT_IU>和回復(fù)通用傳輸信息單元的協(xié)議命令來(lái)完成的。如果網(wǎng)絡(luò)中存在區(qū)域<Zone>,那么名稱服務(wù)將限制外部區(qū)域的請(qǐng)求。名稱服務(wù)提供節(jié)點(diǎn)端口和環(huán)路節(jié)點(diǎn)端口屬性主要有:所有對(duì)象<0>端1:3標(biāo)識(shí)<1>端1:3名稱<2>節(jié)點(diǎn)名稱<3>服務(wù)類型<4>、節(jié)點(diǎn)IP地址<5>初始化處理成員<6>、FC-4層映射協(xié)議類型<7>、符號(hào)端口名稱<8>符號(hào)節(jié)點(diǎn)名稱<9>、端口類型<A>端1:3IP地址<B>交換端口名稱<C>、硬件地址<D>、FC-4層協(xié)議描述<E>、FC-4層協(xié)議特性<F>名稱服務(wù)通過(guò)請(qǐng)求類型和屬性的結(jié)合命令來(lái)完成協(xié)議的交互.如命令"0x0112"表示查詢端口名稱。8.2管理服務(wù)<ManagementServer>FC管理服務(wù)用于提供光纖網(wǎng)絡(luò)的單一管理訪問(wèn)點(diǎn)。管理服務(wù)包含三方面容:·交換網(wǎng)絡(luò)配置服務(wù),用于提供交換網(wǎng)絡(luò)的配置和管理·未劃分區(qū)域的名稱服務(wù).用于提供沒(méi)有子區(qū)域的名稱服務(wù)信息訪問(wèn):·交換區(qū)域服務(wù),用于提供區(qū)域信息的訪問(wèn)和控制。管理服務(wù)子類型見(jiàn)下表管理子類型值描述01交換網(wǎng)絡(luò)配置服務(wù)02未劃分區(qū)域的名稱服務(wù)03交換區(qū)域服務(wù)04保留用于服務(wù)鎖定E0-FF為廠商專用保留其它保留交換網(wǎng)絡(luò)配置服務(wù)交換網(wǎng)絡(luò)配置服務(wù)提供了一種管理應(yīng)用程序發(fā)現(xiàn)光纖網(wǎng)絡(luò)的拓?fù)浜蛯傩缘姆椒?。同名稱服務(wù)一樣,交換網(wǎng)絡(luò)配置服務(wù)的訪問(wèn)也是通過(guò)包含了一系列的請(qǐng)求通用傳輸信息單元<CT_U>的協(xié)議命令來(lái)完成的一般提供交換網(wǎng)絡(luò)配置服務(wù)的管理應(yīng)用程序需要進(jìn)行客戶認(rèn)證保護(hù)。未劃分區(qū)域的名稱服務(wù)未劃分區(qū)域的名稱服務(wù)被用于管理服務(wù)給交換網(wǎng)絡(luò)配置服務(wù)管理應(yīng)用程序提供所有區(qū)域的名稱服務(wù)信息查詢。例如:在圍2中節(jié)點(diǎn)端口A只能看到節(jié)點(diǎn)端口B、C和z,因?yàn)樗鼈儽幌拗圃诹藚^(qū)域A中,而在區(qū)域中.節(jié)點(diǎn)端口M只能看到節(jié)點(diǎn)端口Q、R、P和Z但是如果在節(jié)點(diǎn)端口上運(yùn)行管理應(yīng)用程序,那幺節(jié)點(diǎn)端口可以通過(guò)管理服務(wù)提供的殺劃分區(qū)域的名稱服務(wù)看到所有的節(jié)點(diǎn)端口A、B、C、Q、P、R和Z。交換區(qū)域服務(wù)交換區(qū)域服務(wù)為客戶程序提供了一種匹域名稱服務(wù)信息的視圖選擇機(jī)制。這種技術(shù)類似于虛擬專用網(wǎng)絡(luò)<VirtualPrivateNetwork>它能夠?qū)⒔粨Q網(wǎng)絡(luò)地址標(biāo)識(shí)分組分配到一個(gè)區(qū)域中。系統(tǒng)管理員可以創(chuàng)建不同的交換區(qū)域,通過(guò)對(duì)不同用戶和設(shè)備之間的訪問(wèn)控制,來(lái)增強(qiáng)光纖網(wǎng)絡(luò)的安全性和保護(hù)數(shù)據(jù)的丟失或訛誤交換區(qū)域的創(chuàng)建配置和管理,可以通過(guò)廠商提供的管理應(yīng)用程序?qū)崿F(xiàn)。對(duì)于一個(gè)節(jié)點(diǎn)端口或環(huán)路節(jié)點(diǎn)端口來(lái)說(shuō).它可以是一個(gè)區(qū)域的成員,也可以是多個(gè)區(qū)域的成員節(jié)點(diǎn)端口在一個(gè)區(qū)域中的標(biāo)識(shí)可以通過(guò)端口名稱和登錄時(shí)分配的端口地址來(lái)進(jìn)行區(qū)分。另外,交換區(qū)域服務(wù)可以將多個(gè)區(qū)域組成一個(gè)區(qū)域集,區(qū)域集中的區(qū)域成員可以是其他區(qū)域集中的成員,一個(gè)區(qū)域集中的區(qū)域可以是活躍的.也可以是不活躍,而且一個(gè)區(qū)域集中的區(qū)域可以通過(guò)FC交換機(jī)橫跨過(guò)整個(gè)交換網(wǎng)絡(luò)。8.3時(shí)間和別名服務(wù)時(shí)間服務(wù)<TimeServer>時(shí)間服務(wù)用于給管理服務(wù)提供管理截止時(shí)間信息,基本的時(shí)間服務(wù)是通過(guò)客戶端向公認(rèn)地址FFFFFB發(fā)出時(shí)間獲取請(qǐng)求<GET_TIME>給時(shí)間服務(wù)器,時(shí)間服務(wù)器將時(shí)間信息回復(fù)絡(luò)請(qǐng)求客戶。時(shí)間服務(wù)也是通過(guò)包含了一系列的請(qǐng)求通用傳輸信息單元CT_IU>和回復(fù)通用傳輸信息單元的協(xié)議命令來(lái)完成的。別名服務(wù)<AliasServer>別名服務(wù)用于管理搜尋組<HuntGroups>和組播組<MulticastGroups>別名標(biāo)識(shí)的注冊(cè)和注銷。別名服務(wù)并不提供搜尋組之間或組播組之間數(shù)據(jù)幘的路由。別名服務(wù)可以位于整個(gè)交換網(wǎng)絡(luò)的部,也可以位于整個(gè)交換網(wǎng)絡(luò)的外部,對(duì)于別名服務(wù)的訪問(wèn)可以向公認(rèn)地址FFFFF8發(fā)送包含了一系列的請(qǐng)求通用傳輸信息單元<CT_IU>和回復(fù)通用傳輸信息單元的協(xié)議命令來(lái)完成。別名服務(wù)請(qǐng)求命令見(jiàn)下表:別名服務(wù)名稱縮寫(xiě)描述0001INA加入別名組0002KMA離開(kāi)別名組0003LSN開(kāi)始監(jiān)聽(tīng)0004SLSS停止監(jiān)聽(tīng)0005KAG讀取命名信息對(duì)于名稱服務(wù)、管理服務(wù)、時(shí)間服務(wù)和別名服務(wù)均可用于任何光纖網(wǎng)絡(luò)拓樸,并且沒(méi)有限制或要求這些服務(wù)必須是光纖網(wǎng)絡(luò)的一部分,或都必須包含所有的節(jié)點(diǎn)端口屬性或區(qū)域、時(shí)間。分組信息。9FCP-4協(xié)議映射FCP-4協(xié)議是ANSIT10制定的FCP映射協(xié)議的第四版。FCP主要描述如何將SCSI協(xié)議的命令、數(shù)據(jù)、狀態(tài)映射成能夠在FC協(xié)議棧中傳輸?shù)男畔卧睮U。9.1FCPI/O操作當(dāng)應(yīng)用客戶端調(diào)用一個(gè)發(fā)送SCSI命令或任務(wù)管理的SCSI傳輸協(xié)議服務(wù)請(qǐng)求時(shí),表示一個(gè)FCPI/O過(guò)程開(kāi)始。發(fā)送SCSI命令的傳輸協(xié)議服務(wù)請(qǐng)求將來(lái)自于應(yīng)用客戶端的一個(gè)請(qǐng)求或一組連接請(qǐng)求傳送到服務(wù)FCP服務(wù)傳遞子系統(tǒng)。每個(gè)請(qǐng)求都包含了用來(lái)處理一個(gè)SCSI命令或任務(wù)管理所必需的全部信息,主要有:本地存儲(chǔ)地址和SCSI命令中傳遞的數(shù)據(jù)特性。FCPI/O操作過(guò)程描述如下:命令初始器FCP_Port通過(guò)發(fā)送一個(gè)包含F(xiàn)CP_CMNDIU負(fù)載、命令控制信息、地址信息和命令描述塊〔CDB的可變長(zhǎng)度命令I(lǐng)U來(lái)發(fā)起一次交換。當(dāng)設(shè)備服務(wù)器解析出這個(gè)命令,并確認(rèn)是一次寫(xiě)請(qǐng)求,它將立即發(fā)送一個(gè)包含F(xiàn)CP_XFER_RDYIU負(fù)載的數(shù)據(jù)描述IU到命令初始器,以指出需要接收的數(shù)據(jù)。初始器FCP_Port收到數(shù)據(jù)描述IU后,隨即發(fā)送一固定的數(shù)據(jù)IU到目的端,該數(shù)據(jù)IU是包含被FCP_XFER_RDYIU所請(qǐng)求的FCP_DATAIU負(fù)載。包含F(xiàn)CP_XFER_RDYIU的數(shù)據(jù)傳輸請(qǐng)求和返回的FCP_DATAIU負(fù)載將一直交互傳輸,至到SCSI寫(xiě)命令請(qǐng)求的數(shù)據(jù)全部傳送完畢。一個(gè)FCP_DATAIU負(fù)載將緊跟著一次FCP_XFER_RDYIU請(qǐng)求當(dāng)設(shè)備服務(wù)器解析出這個(gè)命令,并確認(rèn)是一次讀請(qǐng)求,它將立即發(fā)送一個(gè)包含F(xiàn)CP_DATAIU負(fù)載的固定長(zhǎng)度的數(shù)據(jù)到命令初始器FC_Port,FCP_DATAIU負(fù)載數(shù)據(jù)將連續(xù)傳送到初始器的FC_Port,至到所有SCSI讀請(qǐng)求的數(shù)據(jù)全部傳送完畢。當(dāng)設(shè)備服務(wù)器解析出這個(gè)命令,并確認(rèn)是雙向〔IN/OUT的傳送請(qǐng)求,它將選擇第一個(gè)被傳輸?shù)腇CP_DATAIU,這個(gè)IU可能是一個(gè)輸入數(shù)據(jù)或輸出數(shù)據(jù)傳送。如果設(shè)備服務(wù)器首先選擇了請(qǐng)求輸出數(shù)據(jù)〔例如:寫(xiě)操作的傳送,則按照一次寫(xiě)請(qǐng)求的方式傳送。否則設(shè)備服務(wù)器首先選擇了請(qǐng)求輸入數(shù)據(jù)〔例如:讀操作的傳送,則按照一次讀請(qǐng)求的方式傳送。接下來(lái)設(shè)備服務(wù)器選擇下一個(gè)FCP_DATAIU來(lái)傳送,并執(zhí)行適當(dāng)?shù)膫鬏斕幚?數(shù)據(jù)傳送持續(xù)進(jìn)行,直到所有SCSI命令描述的數(shù)據(jù)傳輸完畢。協(xié)議標(biāo)準(zhǔn)中沒(méi)有限制設(shè)備服務(wù)器執(zhí)行輸入數(shù)據(jù)和輸出數(shù)據(jù)傳送操作的順序。當(dāng)所有數(shù)據(jù)傳送完畢之后,設(shè)備服務(wù)器將傳送包含F(xiàn)CP_RSPIU負(fù)載的響應(yīng)給初始器的FCP_Port。FCP_RSPIU包含了SCSI的狀態(tài)信息,如果SCSI狀態(tài)是CHECKCONDITION,表示描述條件的自動(dòng)狀態(tài)數(shù)據(jù)。FCP_RSPIU也表示了SCSI命令的完成。如果沒(méi)有命令連接、差錯(cuò)恢復(fù)、確認(rèn)完成等幀被請(qǐng)求,FCP_RSPIU就是一次交換中最后的幀序列。在FCPI/O操作過(guò)程中,設(shè)備服務(wù)器可以確定是否有附加的連接命令被執(zhí)行,如果這是最后的,或僅有的命令被處理,則表示本次FCPI/O操作和交換結(jié)束。如果在命令處理過(guò)程中,發(fā)生一個(gè)FCP協(xié)議錯(cuò)誤,FCP_RSPIU的負(fù)載將攜帶FCPResponse信息,以替代SCSI狀態(tài)或自動(dòng)狀態(tài)數(shù)據(jù)。9.2FCP信息單元〔FCPIUFCP中每個(gè)FCPIU都被包含在一個(gè)幀序列中,每個(gè)承載FCPIU的幀序列只能包含一個(gè)IU,表9-1描述了從初始器端口到目標(biāo)器端口發(fā)送的信息單元類型。表9-2描述了從目標(biāo)器端口返回到初始器端口的信息單元類型。表9-1發(fā)送到目標(biāo)端口的FCPIUIUSCSI原始命令數(shù)據(jù)塊F/M/LSIM/OCATContentT1Command/TaskMgmtRqst6FCP_CMNDFTMT2Commandrequest6FCP_CMNDFHOT3Commandrequest<Linked>6FCP_CMNDMTOT4Commandrequest<Linked>6FCP_CMNDMHOT6Data-Outaction1FCP_DATAMTMT12Confirm3noneLTONotes:T5,T7,T8,T9,T10,與T11被廢棄T2與T4僅用于傳輸準(zhǔn)備IU不可達(dá)T3與T4僅用于有連接的SCSI命令T2與T4在寫(xiě)操作期間允許可選的序列流Key:IU:InformationUnitCAT:InformationcategoryofDevice_DataframescarryingthedatablockContent:Contents<payload>ofdatablockF/M/L:First/Middle/LastSequenceofExchange<FC-FS-2>F:FirstM:MiddleL:LastSI:SequenceInitiative:HeldorTransferred<FC-FS-2>H:HeldT:TransferredM/O:Mandatory/OptionalSequenceM:MandatoryO:Optional表9-2發(fā)送到初始器的信息單元IUSCSIprimitiveDatablockF/M/LSIM/OCATContentI1Datadeliveryrequest5FCP_XFER_RDY<Write>MTMI3Data-Inaction1FCP_DATAMHMI4Command/TaskMgmtResponse7FCP_RSPLTMI5Response<Linkedorconfirmrequest>7FCP_RSPMTONotes:I2,I6,與I7被廢棄I5用于有連接的SCSI命令Key:IU:InformationUnitidentifierCAT:InformationcategoryofDevice_DataframescarryingthedatablockContentContents<payload>ofdatablockF/M/L:First/Middle/LastSequenceofExchange<FC-FS-2>F:FirstM:MiddleL:LastSI:SequenceInitiative:HeldorTransferred<FC-FS-2>H:HeldT:TransferredM/O:Mandatory/OptionalSequenceM:MandatoryO:OptionalFCP_CMNDIUFCP_CMNDIU既可承載一個(gè)SCSI命令,也可承載一個(gè)任務(wù)管理請(qǐng)求。如果在FCP_CMNDIU中設(shè)置了一個(gè)無(wú)效的位組合,目標(biāo)器端口將應(yīng)答一個(gè)把RSP_CODE字段設(shè)置為02H〔無(wú)效RSP的FCP_RSPIU。FCP_CMNDIU包含的值和控制字段的容如下表所示。表9-3表9-3FCP_CMNDIU字段結(jié)構(gòu)邏輯單元號(hào)〔FCP_LUNFCP邏輯單元號(hào)字段包含了SCSI目標(biāo)設(shè)備中的邏輯單元地址,詳細(xì)容可參考SAM-3。在LUN中,LUN0是一個(gè)所有SCSI設(shè)備必須接受的地址,應(yīng)用程序可以通過(guò)對(duì)LUN0的訪問(wèn)獲取關(guān)于SCSI目標(biāo)端設(shè)備以及其中各個(gè)邏輯單元的信息。命令參數(shù)號(hào)〔CRNCRN字段包含了一個(gè)由初始器端口發(fā)送的號(hào),該號(hào)是用來(lái)對(duì)FC命令執(zhí)行精確傳遞檢查的。如果允許命令精確傳遞,當(dāng)CRN字段被設(shè)置成非0值,則表示需要檢查從特定初始器端口發(fā)送到特定設(shè)備邏輯單元的命令的接收過(guò)程和順序;當(dāng)CRN字段被設(shè)置成0值,則表示不需要檢查命令的接收過(guò)程和順序。如果不允許命令精確傳遞,則CRN字段將被設(shè)備服務(wù)端忽略。如果FCP_CMDIU表示的是任務(wù)管理功能,則CRN字段將被保留并設(shè)為0值,設(shè)備服務(wù)端在精確傳遞過(guò)程中將不對(duì)FCP_CMDIU進(jìn)行檢查。優(yōu)先權(quán)<PRIORITY>PRIORITY字段是表示任務(wù)之間的先后進(jìn)度,設(shè)備服務(wù)端對(duì)這個(gè)字段使用請(qǐng)參考〔SAM-3協(xié)議,如果TASKATTRIBUTE字段的容是除了"SIMPLE"以外的值,則優(yōu)先權(quán)字段將作為保留字段。FCP_XFER_RDYIUFCP_XFER_RDYIU表示目標(biāo)器FC_Port準(zhǔn)備接收部分或全部寫(xiě)操作的數(shù)據(jù)。FCP_XFER_RDYIU包含了了由初始器端口請(qǐng)求的SAM-3數(shù)據(jù)的參數(shù),包括:FCP_DATAIU的長(zhǎng)度和偏移量。FCP_XFER_RDYIU的格式如下表所示:表9-4FCP_XFER_RDYIU的格式FCP_DATA_ROFCP_DATA_RO表示被請(qǐng)求的FCP_DATAIU中在參數(shù)字段描述的第一個(gè)數(shù)據(jù)字節(jié)的相對(duì)偏移〔參考FC-FS-2中幀頭定義的PARAMETER字段容。FCP_BURST_LENFCP_BURST_LEN是用來(lái)表示目標(biāo)端準(zhǔn)備用來(lái)接收下一個(gè)FCP_DATAIU的緩存大小和初始器將要法送的FCP_DATAIU的長(zhǎng)度。FCP_BURST_LEN值的大小與SCSI數(shù)據(jù)傳送請(qǐng)求的字節(jié)數(shù)相同〔參考SAM-3相關(guān)部分。FCP_DATAIU一個(gè)與特定的FCPI/O操作相聯(lián)系的數(shù)據(jù)和FCP_CMNDIU請(qǐng)?jiān)谕粋€(gè)交換中傳送的。可以通過(guò)一個(gè)或多個(gè)數(shù)據(jù)傳送請(qǐng)求來(lái)傳輸SCSI數(shù)據(jù)。如果SCSI數(shù)據(jù)是由多個(gè)FCP_DATAIU來(lái)傳送,則幀頭參數(shù)字段中相對(duì)偏移的值則用來(lái)確保SCSI數(shù)據(jù)可以按照正確的順序重組。對(duì)于單向讀/寫(xiě)操作在數(shù)據(jù)任何數(shù)據(jù)傳送期間,初始器都將開(kāi)辟一個(gè)由FCP_DL〔在FCP_CMNDIU中定義字段定義大小的緩存。如果是寫(xiě)操作,緩存中包含將要被傳送到目標(biāo)器的數(shù)據(jù)。如果是讀操作,緩存就用來(lái)接收目標(biāo)器發(fā)送過(guò)來(lái)的數(shù)據(jù)。目標(biāo)器將不會(huì)請(qǐng)求或傳送超過(guò)FCP_DL定義緩存大小的數(shù)據(jù)。如果命令請(qǐng)求的數(shù)據(jù)超過(guò)了緩存的大小,則設(shè)備服務(wù)器將把FCP_RSPIU中的FCP_RESID_OVER位設(shè)為1,并發(fā)送FCP_RSPIU。并按以下原則處理:正常處理命令,超過(guò)緩存區(qū)大小的數(shù)據(jù)將不被請(qǐng)求或傳送。不傳送數(shù)據(jù),并且返回狀態(tài)關(guān)鍵值為ILLEGALREQUEST以及附加狀態(tài)碼為INVALIDFIELD的UNITCHECKCONDITION狀態(tài);傳送數(shù)據(jù),并且返回狀態(tài)關(guān)鍵值為ABORTEDCOMMAND以及附加狀態(tài)碼為INVALIDFIELD的UNITCHECKCONDITION狀態(tài)。對(duì)于雙向操作命令在一個(gè)雙向命令執(zhí)行期間,初始器端口總是采用由FCP_DL字段定義的緩存大小來(lái)向目標(biāo)器端口傳送數(shù)據(jù)。目標(biāo)器端口將不請(qǐng)求超過(guò)初始器端口緩存大小的數(shù)據(jù)。同時(shí),初始器端口總是采用由FCP_BIDIRECTIONAL_DL字段定義的緩存大小來(lái)接收來(lái)自目標(biāo)器端口的數(shù)據(jù)。目標(biāo)器端口將不傳送超過(guò)初始器端口緩存大小的數(shù)據(jù)。如果命令請(qǐng)求的數(shù)據(jù)超過(guò)了緩存的大小,則設(shè)備服務(wù)器將把FCP_RSPIU中的FCP_RESID_OVER位設(shè)為1,并發(fā)送FCP_RSPIU。并按以下原則處理:正常處理命令,超過(guò)緩存區(qū)大小的數(shù)據(jù)將不被請(qǐng)求或傳送。在任一方向上不傳送數(shù)據(jù),并且返回狀態(tài)關(guān)鍵值為ILLEGALREQUEST以及附加狀態(tài)碼為INVALIDFIELD的UNITCHECKCONDITION狀態(tài);在任一方向上傳送數(shù)據(jù),并且返回狀態(tài)關(guān)鍵值為ABORTEDCOMMAND以及附加狀態(tài)碼為INVALIDFIELD的UNITCHECKCONDITION狀態(tài)。FCP_RSPIU表9-5FCP_RSPIU結(jié)構(gòu)重試時(shí)延〔RETRYDELAYTIMER該字段包含重試的延遲時(shí)間〔詳細(xì)描述請(qǐng)參考SAM-4。FCP_BIDI_RSP如果FCP_BIDI_RSP位的值為1,則FCP_BIDIRECTIONAL_READ_RESID域存在,FCP_BIDI_READ_RESID_UNDER和FCP_BIDI_READ_RESID_UNDER位有效;如果FCP_BIDI_RSP位的值為0,則FCP_BIDIRECTIONAL_READ_RESID域不存在,FCP_BIDI_READ_RESID_UNDER和FCP_BIDI_READ_RESID_UNDER位無(wú)效。FCP_BIDI_READ_RESID_UNDER如果FCP_BIDI_READ_RESID_UNDER位的值是1,則FCP_BIDIRECTIONAL_READ_RESID域有效,并且該域包含還沒(méi)有被傳送的數(shù)據(jù)的字節(jié)數(shù)。應(yīng)用客戶端將檢查FCP_BIDIRECTIONAL_READ_RESID域的值,以確定是否有差錯(cuò)產(chǎn)生。FCP_BIDI_READ_RESID_OVER如果FCP_BIDI_READ_RESID_OVER位設(shè)置為1,則表示傳送的數(shù)據(jù)容超過(guò)了FCP_BIDIRECTIONAL_READ_DL定義的緩存大小,FCP_BIDIRECTIONAL_READ_RESID字段將有效,并包含沒(méi)有被傳送的字節(jié)數(shù)。應(yīng)用客戶端將通過(guò)檢查命令中FCP_BIDIRECTIONAL_READ_RESID域的容,以確定是否有差錯(cuò)發(fā)生。FCP_CONF_REQ如果FCP_CONF_REQ位設(shè)置為1,則初始器端口將發(fā)送FCP_CONFIU來(lái)確認(rèn)收到設(shè)備端發(fā)來(lái)的FCP_RSPIU。如果FCP_CONF_REQ位設(shè)置為0,則初始器端口將不發(fā)送FCP_CONFIU確認(rèn)信息。FCP_RESID_UNDER如果FCP_RESID_UNDER位設(shè)置為1,則FCP_RESID域有效,并包括希望傳送的、卻還沒(méi)有被傳送的字節(jié)數(shù),應(yīng)用客戶端將通過(guò)檢命令中FCP_RESID域的容,以確定是否有差錯(cuò)發(fā)生。FCP_RESID_OVER如果FCP_RESID_OVER位設(shè)置為1,則表示傳送的數(shù)據(jù)容超過(guò)了CMDIU中FCP_DL域定義的緩存大小,FCP_RESID域?qū)⒂行?并包含不能被傳送的字節(jié)數(shù)。應(yīng)用客戶端將通過(guò)檢查命令中FCP_BIDIRECTIONAL_READ_RESID域的容,以確定是否有差錯(cuò)發(fā)生。FCP_SNS_LEN_VALID如果FCP_SNS_LEN_VALID位設(shè)置為1,則FCP_SNS_INFO域?qū)行У娜?FCP_SNS_LEN域有效,該域包含大小為FCP_SNS_INFO域信息長(zhǎng)度的非0值。應(yīng)用客戶端將通過(guò)檢查命令中FCP_SNS_INFO域的容,以確定是否有差錯(cuò)發(fā)生。如果FCP_SNS_LEN_VALID位設(shè)置為0,則FCP_SNS_LEN域無(wú)效,并被設(shè)置為0。FCP_RSP_LEN_VALID如果FCP_RSP_LEN_VALID位設(shè)置為1,則FCP_RSP_INFO域?qū)行У娜?FCP_RSP_LEN域有效,該域包含大小為FCP_RSP_INFO域信息長(zhǎng)度的非0值。應(yīng)用客戶端將通過(guò)檢查命令中FCP_RSP_INFO域的容,以確定是否有差錯(cuò)發(fā)生。同時(shí)SCSISTATUSCODE域?qū)⒉豢捎?將被應(yīng)用客戶端忽略。如果FCP_RSP_LEN_VALID位設(shè)置為0,則FCP_RSP_INFO域無(wú)效,并被設(shè)置為0。SCSISTATUSCODESCSISTATUSCODE域包括SCSI命令被執(zhí)行完成的狀態(tài)。FCP_RESID對(duì)于讀操作和寫(xiě)操作而言,如果FCP_RESID_UNDER位被設(shè)置位1,則FCP_RESID域包含在FCP_DATAIU中沒(méi)有被傳送,而剩余的數(shù)據(jù)字節(jié)數(shù)。如果FCP_RESID_OVER位被設(shè)置為1,則表示傳送的數(shù)據(jù)容超過(guò)了CMDIU中FCP_DL域定義的緩存大小,FCP_RESID域?qū)⒂行?并包含不能被傳送的字節(jié)數(shù)。對(duì)于雙向的SCSI命令,如果FCP_RESID_UNDER位被設(shè)置位1,則FCP_RESID域包含在FCP_DATAIUs數(shù)據(jù)輸出方向上,還沒(méi)有被傳送而剩余的數(shù)據(jù)字節(jié)的長(zhǎng)度。如果FCP_RESID_OVER位被設(shè)置為1,則表示傳送的數(shù)據(jù)容超過(guò)了CMDIU中FCP_DL域定義的緩存大小,FCP_RESID域?qū)⒂行?并包含在FCP_DATAIUs數(shù)據(jù)輸出方向上,不能被傳送的字節(jié)數(shù)。如果一個(gè)FCPI/O操作成功的完成,FCP_RESID的值通常被置為0,并且無(wú)效。如果FCP_RESID_UNDER位被設(shè)置為1,FC

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論