理解光纖通道協(xié)議本身,包括命名方式和尋址規(guī)則,能夠讓你更好地理解SAN里到底在發(fā)生什么。能夠飛快地掃一眼,就知道問題出在哪里的功力需要透徹地理解所用到的協(xié)議。盡管可以通過使用鼠標(biāo)點(diǎn)擊的圖形用戶界面,用很少一點(diǎn)知識(shí)就可以操作一個(gè)SAN,但我們并不推薦你這樣做。所以還是讓我們學(xué)習(xí)一些FC協(xié)議的知識(shí)吧。 gqAN-b'
0te[i*G
重申一下:光纖通道并不是SCSI的替代品,SCSI通常是處于光纖通道的基礎(chǔ)之上的。現(xiàn)在讓我們開始吧。光纖通道總的來說指的是FC-PHY層:FC0-FC2,我們在上一部分重點(diǎn)討論過了。FCP,光纖通道協(xié)議,指的是針對SCSI的接口協(xié)議,或者FC-4映射。我們在這里談?wù)摰氖荈C的內(nèi)部工作,不是FCP。 W$R@Klz
AIwp2Fz
FC的數(shù)據(jù)單元叫作"幀"(Frame)。即使它有自己的層,F(xiàn)C基本上還是第二層的協(xié)議。FC 幀最大是2148字節(jié)。FC 幀的報(bào)頭有點(diǎn)奇怪,起碼和以太網(wǎng)的IP和TCP協(xié)議相比是這樣。FC的幀格式有多種用途,并且有很多層。幀的功用決定了它的格式,和我們在IP世界里的想法相比,它顯得奇怪卻精彩。 pWGIA6&v(
j+3=&PkA.]
FC 幀是從一個(gè)SOF標(biāo)記開始的,緊隨其后的是幀的報(bào)頭,我們接下來會(huì)進(jìn)行介紹。接下來是數(shù)據(jù),也就是FC內(nèi)容,接下來是EOF。進(jìn)行封裝是因?yàn)檫@樣FC就可以通過其他的協(xié)議進(jìn)行傳輸了,例如TCP。 |uA /72
]@msjz'
1.FC 封裝報(bào)頭 ];Bk|xJ/>
QJH~YV\%
FC 幀本身格式在大小上相差很多。在圖1中,你可以看到我們在前面提到的SOF和EOF標(biāo)記。FC報(bào)頭的奇怪之出在于它們是word導(dǎo)向的,一個(gè)FC word是4字節(jié)。最多允許使用537個(gè)word,也就是2148字節(jié)的容量。 gn${@y?
74~%4
報(bào)頭可能包含以下組成部分: LkJ-M=y
wIQt
f|ZI>
SOF(1個(gè)字節(jié)):幀的開始 .ffb*gZ4
幀頭(24字節(jié)):報(bào)頭指明了所使用的協(xié)議,以及源地址和目標(biāo)地址。區(qū)別在于協(xié)議。 F)tcQO"G
Optional ESP Header(8字節(jié)):提供加密,包括SPI和ESP序號(hào)。 OWHHN<
Optional Network Header(16字節(jié)):這樣你可以將一個(gè)FC-SAN連接到非FC網(wǎng)絡(luò)上。 f@xjNm*'Z
Optional Association Header(32字節(jié)):FCP并不使用它,但是可以用于在一個(gè)節(jié)點(diǎn)內(nèi)識(shí)別進(jìn)程。 :AC( \
Optional Device Header(最高可達(dá)64字節(jié)):FCP并不使用它,它是針對應(yīng)用的。 Jpo(O>\P
有效內(nèi)容載荷(Payload):數(shù)據(jù),最多2048字節(jié)。 <~.1>CI9D3
Optional Fill Bytes (變量):用于標(biāo)記不同長度的有效載荷的邊界。 v1s0kdR,>
Optional ESP Trailer(變量):包含了ESP的校驗(yàn)值。 5q.)K
f+
CRC(4字節(jié)):報(bào)頭的CRC和FC數(shù)據(jù)區(qū)域。 .u9,w
End of Frame(4字節(jié)):幀的結(jié)尾,標(biāo)記是否已經(jīng)到了結(jié)尾。