【存储知识学习】第八章-Fibre Channel协议-8.1 FC网络和8.2FC协议中七种端口类型-《大话存储》阅读笔记
8.1FC網絡
Fibre Channel也就是網狀通道,簡稱FC。也可以稱為FC協議,FC網絡、FC互聯
注意:?Fibre Channel不是Fiber Channel,后者是光纖通道與網狀通道沒有任何聯系
8.1.1 物理層
采用同步串行的方式,,傳輸編碼采用了NMB的編碼方式。
8.1.2 鏈路層
1.字符編碼,以及FC幀結構
?FC協議定義了一個24Bde幀頭。24B的幀頭不但包含了尋址功能,而且包含了傳輸功能。網絡層和傳輸層的邏輯都用這24B的信息來傳遞。
2.鏈路層流量控制
FC定義了兩種流控策略,一種為端到端的流控,另一種為緩存到緩存的流控。端到端流控比緩存到緩存流控要上層和高級。在一條鏈路的兩端,首先面對鏈路的一個部件就是緩存。接收電路將一幀成功接收后,就放入緩存中。如果由于上位程序處理緩慢而造成緩存已經充滿,FC協議還有機制來通知發送方減緩發送,如果鏈路的一端是FC終端設備,另一端是FC交換機,則二者之間的緩存到緩存的流量控制只能控制這個FC終端到FC交換機之間的流量。
而通信的最終目標是網絡上的另一個PC終端,這之間可能經歷了多個FC交換機和多條鏈路。而如果數據流在另外一個FC終端發生擁塞,則這個FC終端就必須通知發起端降低發送頻率,這就是端到端的流量控制。
3.MTU
一般情況下,以太網的MTU位1500B,而FC鏈路層的MTU可以到2112B這樣,FC鏈路層相對以太網的效率又提高了。
8.1.3 網絡層
1.拓撲
與以太網類似,FC也提供了兩種網絡 拓撲模式,FC-AL和Fabric
FC-ALFC-AL 拓撲類似于以太網總線拓撲,但是連接方式不是總線,而是一條仲裁環路(Arbitral Loop)。每個FC AL設備首尾相連構成了一個環路。一個環路最多節點是128個,實際上是使用了一個字節的尋址容量,但是只用到了這個字節經過81b編碼之后奇偶平衡(0和1的個數相等)的值,也就是256個值中的134個來尋址,這些篩選出來的地址又被廣播地址,裝也地址占用了, 最后只剩下127個實際可用的地址。
FC-AL設備接入一個仲裁環境,仲裁環是一個由所有設備串聯形成的閉合回路,如果某個設備發生故障,每個接口的旁路電路。就會自動將這個接口短路,從而使整個環路將這個故障Bypass掉。不影響其他設備。任何時刻數據幀只能按照一個方向向下游傳輸。
?Fabric另一種Fabric拓撲和以太網交換拓撲類似。Fabric意思為網狀構造,表明這種拓撲是一個網狀交換矩陣。交換矩陣的架構對于仲裁環路來說,其轉發效率大大提高了。
連入這個矩陣的所有節點之間都可以同事進行點對點通信,加上包交換方式所帶來的并發和資源充分利用的特性,使得交換的交換架構獲得的總帶寬為所有端口帶寬之和。
2.尋址
任何網絡都需要尋址機制,FC網絡中,每個設備自身都有一個WWNN(Word Wide Node Name),不管這設備上有多少個FC端口,設備始終擁有一個固定的WWNN來代表自身,FC設備每個端口都有一個WWPN(Word Wide Port Name),這個地址是世界范圍內唯一的,世界上沒有兩個接口地址是相同的。
WWNN每個FC設備都被賦予一個WWNN,這個WWNN一半情況寫入ROM不會改變。
WWPN和三個IDWWPN地址的長度是64位,比以太網的MAC地址還要長出16位。為了提升速度,FC協議決定在WWPN之上再映射一層尋址機制,給每個FC網絡中的接口分配一個Fabric ID這個ID長24位,高八位被定義成Domain區分符,中8位被定義為Area區分符,低8位定義為PORT區分符。
- Domain ID用來區分一個由眾多交換機組成的大的FC網絡中每個FC交換機本身,一個交換機上所有的接口的Fabric ID都具有相同的高8位,即Domain ID。Domian ID同時也用來區分這個交換機本身,一個Fabric中所有交換機都擁有不同的Domain ID。一多交換機組成的Fabric中,Domain ID是自動被主交換機分配給各個交換機的。根據WWNN號和一系列的選舉幀的傳送,WWNN最小者獲勝成為主交換機,然后這個主交換機向所有其他的交換機分配Domain ID,這個過程其實就是一系列的特殊幀的傳送、解析、判斷
- Area ID 用來區分同一臺交換機上的不同端口組,比如1、2、3、4端口屬于Area1,5、6、7、8端口署于Area2,每個芯片可以管理多個FC端口。
- Port ID :用來區分一個同Area中的不同Port
3.尋址過程
1.地址映射
既然定義了兩套機制,那么就要有地址映射機制。當勇哥接口連接到Fc網絡中時,如果是Fabric架構,那么這個接口會法醫一個登錄注冊到Fabric網絡的動作,也就是向目的的Fabric ID地址FFFFFE發送一個登錄幀,成為FLOGIN。交換機收到的地址為FFFFFE的幀之后,會動態給這個接口分配一個24b的Fabric ID,并記錄這個接口對應的WWPN,做好映射。此后這個接口發出的幀中不會攜帶WWPN,而是攜帶被其分配的ID作為源地址。
如果接口時連接到FC仲裁網絡中,那么整個環路上的節點會選出一個臨時節點,然后由這個節點發送一系列初始化幀,給每個節點分配環路ID。
2.尋址機制?
編制之后就要尋址,尋址牽扯到路由的概念。
一個大的FC網絡中,一般有多臺交換機相互連接,它們可以鏈式級聯,也可以兩輛連接,甚至任意連接,就像IP網絡中的路由器連接一樣,但是FC網絡不需要太多的人工介入。如果將幾臺交換機連接成一個FC網絡,則他們會自動地協商自己的Domain ID。對于尋址過程,這寫交換機上會運行相應地路由協議。最廣泛使用地就是SPF協議,是一種很健壯的路由協議。FC地鏈路層和網絡層被合并成一層,統稱FC2
8.1.4 傳輸層
FC地傳輸層同樣也與TCP類似,也對上層地數據流進行Segment,FC利用Exchange ID來區分,每個Exchange(上層程序)發過來地數據包,被FC傳輸層分割成Infiormation Unit,也就是相當于TCP分割成Segment。然后FC傳輸層將這些Unit提交給FC的下層進行傳輸。下層將每個Segment當成一個Sequence,并給予一個SequenceID,然后將這個Sequence再次分割成FC所適應的幀,給每個幀賦予一個Sequence Count ,這樣便可以保證幀的排列順序,接收方接收到幀之后,會組合成Sequence,然后根據Sequence ID來順序提交給上層協議處理。
在傳輸層上,FC定義了幾種服務類型,也就是類似TCP、UDP
FC傳輸層被定義為FC4。
8.1.5 上三層
與網絡傳輸無關
8.1.6小結
FC協議的大部分邏輯被直接做到一塊獨立的硬件卡片當中,而不是運行在操作系統當中。只有小部分關于上層API的邏輯運行于操作系統的FC卡驅動程序當中。
8.2 FC協議中的其中端口類型
七種:N、L和NL端口被用于終端節點。F、FL、E和G端口在交換機中實現。
8.2.1 N端口和F端口
N端口和F端口專用于Fabric交換架構當中。連入FC交換機的終端節點的端口為N端口,對鏡交換機上的的端口為F端口。
8.2.2 L端口
L端口指仲裁環上各個節點的端口類型(LOOP)。換路上所有的設備可一個通過一個FCAL的集線器相連,以布線方便,故障排除容易。
1.私有環
這個FC是封閉的,只能在這個環中所包含的節點之間相互通信,兒不能和環外的任何節點通信
2.開放環
環內節點可以和環外節點通信,可以把環作為一個單元,連接到FC交換機上,從而使環內節點可以和位于FC交換機上的其他N節點通信。
8.2.3 NL端口和FL端口
NL端口是開放環中的一類端口,具有N端口和L端口的能力。NL端口支持交換式光纖網絡登錄和環仲裁。而FL端口事FC交換機上用于連接開放仲裁環節后的中介端口。
開放環內可以同時存在NL節點和L節點,而只有NL節點才能和環外的、位于FC交換結構中的多個N節點或者其他類型的節點通信。NL節點也可以同時和L節點通信。
?
開放環的融合機制
FC-SW設備的工作方式是它會登錄到網絡(FLOGI),并在Name Server 中注冊PLOGI。設備要傳輸數據時先會到Name Server查詢Target 設備,然后到目標設備進行注冊(PRLI)最后傳輸數據
FC-AL的設備工作方式與此完全不同,在環路的初始化(LIP)過程中,生成一個環路上所有設備地址的列表,被稱作AL_PA,并存儲在Loop中每個設備上。當設備要與目標主機通信時,會到AL_PA中查詢目標主機,然后根據地址進行通信。
要讓一個私有環中的設備和Fabric中的設備達到互相通信,必須采用協議轉換措施,因為FC和FC Fabric是兩套不同的邏輯體系。
采用MAP模式使環內任何L節點可以和任何N節點之間就像對方和自己使同類一樣通信,也就是說環內的L節點看待環外的N節點就像是一個不折不扣的L節點。反過來,環外的N節點看待環內的L節點就像是一個N節點一樣。這個功能是通過在交換機的FL端口實現的,相當于一個N-L協議轉換。當然,也涉及到尋址MAP。套給每個環內地址,去一個環外的名字注冊到名稱服務器。給N節點取一個AL地址,參與環的初始化。
同樣是將環接入Fabric,開放環的擴展性就比私有環接入強。具有NL端口的設備既能和環內的L端口設備通信,又能和環外的N端口設備通信,同時具有N和L端口的邏輯,這一切都不需要仿真MAP,只需要一個Tunnel過程即可。而環內的L節點如果想與環外的N的口通信,由于L節點自身沒有N端口的邏輯,必須經過FL端口的MAP過程,所以,稱具有NL端口的設備為Public設備,即開放設備。而稱具有L端口的設備為Private設備,即不開放設備。
8.2.4 E端口
E端口是專門用于連接交換機的端口。因為交換機之間的級聯,需要在級聯線路上承載一些控制信息,比如選舉協議、路由協議
8.2.5 G端口
G端口比較特殊它是萬能端口,可以轉換為以上任意端口
?
終端節點端口編制規則
各種終端節點端口(N、N、L)的FCID地址都是3B長。
N的口只是用高2B;L端口只是用低1B;NL端口使用全部3B
任何設備都可以接入FC網絡,單設備上必須有FC接口才行。
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的【存储知识学习】第八章-Fibre Channel协议-8.1 FC网络和8.2FC协议中七种端口类型-《大话存储》阅读笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【存储知识学习】第六章-磁盘阵列-《大话
- 下一篇: 【存储知识学习】第八章-Fibre Ch