




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