FC協議詳解

FC 協議簡介

     開發於1988年,最早是用來提高硬盤協議的傳輸帶寬,側重於數據的快速、高效、可靠傳輸。到上世紀90年代末, FC SAN 開始得到大規模的廣泛應用。

     FC 協議其實並不能翻譯成光纖協議,只是FC協議普遍採用光纖作爲傳輸線纜而不是銅纜,因此很多人把FC稱爲光纖通道協議。在邏輯上,我們可以將FC看作是一種用於構造高性能信息傳輸的、雙向的、點對點的串行數據通道。在物理上,FC是一到多對應的點對點的互連鏈路,每條鏈路終結於一個端口或轉發器。FC的鏈路介質可以是光纖、雙絞線或同軸電纜。

FC協議棧

dBPH3erzJwAA&ek=1&kp=1&pt=0&bo=LwIyAQAAA

FC-0:連接物理介質的界面、電纜等;定義編碼和解碼的標準。

FC-1:傳輸協議層或數據鏈接層,編碼或解碼信號。

FC-2:網絡層,光纖通道的核心, 定義了幀、流控制、和服務質量等。

FC-3:定義了常用服務,如數據加密和壓縮。

FC-4:協議映射層,定義了光纖通道和上層應用之間的接口,上層應用比如:串行 SCSI 協 議,HBA卡的驅動提供了FC-4 的接口函數。FC-4 支持多協議,如:FCP- SCSI ,FC-IP,FC-VI。

光纖通道的主要部分實際上是FC-2。其中從FC-0到FC-2被稱爲FC-PH,也就是“物理層”。光纖通道主要通過FC-2來進行傳輸,因此,光纖通道也常被成爲“二層協議”或者“類以太網協議”。

在此重複:光纖通道並不是 SCSI 的替代;一般而言SCSI是光纖通道的上層。光纖通道一 般是指FC-PHY層:FC0-FC2。術語FCP,即光纖通道協議,是指對SCSI的界面協議或FC-4層映射。我們這裏討論的是光纖通道的內在工作原理,而不是指光纖通道協議。

光纖通道的數據單元叫做幀。即使光纖通道本身就有幾個層,大部分光纖通道是指第2層協議。一個光纖通道幀最大是2148字節,而且光纖通道幀的頭部比起廣域網的IP和TCP來說有些奇怪。光線通道只使用一個幀格式來在多個層上完成各種任務。幀的功能決定其格式。相比我們在IP世界中的概念,光纖通道幀格式是奇特而且奇妙的。

光纖通道幀起始於幀開始(SOF)標誌,隨後是幀頭部,這個一會進行描述。數據,或光纖通道內容,緊隨其後,然後是幀結束(EOF)。這樣封裝的目的是讓光纖通道可以在需要時被其他類似於TCP的協議所承載。

FC協議交換方式

按照連接和尋址方式的不同,FC支持三種拓撲方式:

1. PTP(點對點):一般用於DAS(直連式存儲)設置

dJjvEOnYGwAA&ek=1&kp=1&pt=0&bo=LgINAQAAA

服務器和存儲設備在點對點的環境裏都是N_PORT. 通過一條上行一條下行兩條通道進行數據存儲與讀取。

2. FC-AL(光纖通道仲裁環路):採用FC-AL仲裁環機制,使用Token(令牌)的方式進行仲裁。光纖環路端口,或交換機上的FL端口,和HBA上的NL端口(節點環)連接,支持環路運行。採用FC-AL架構,當一個設備加入FC-AL的時候,或出現任何錯誤或需要重新設置的時候,環路就必須重新初始化。在這個過程中,所有的通信都必須暫時中止。由於其尋址機制,FC-AL理論上被限制在了127個節點。

dCdR3uedBAAA&ek=1&kp=1&pt=0&bo=LgKfAQAAA

FC-SW(FC Switchedl 交換式光纖通道):在交換式 SAN 上運行的方式。FC-SW可以按照任意方式進行連接,規避了仲裁環的諸多弊端,但需要購買支持交換架構的交換模塊或FC交換機。

光纖信道(FC)中的基本實體是光纖信道網絡,與一般分層網絡不同的是,一個光纖信道網絡很大程度上由功能單元以及各單元間接口所指定,各部分組成如下:

N_PORTs – 光纖信道流量終點;

FC Devices –N_PORT 訪問的光纖信道設備;

Fabric Port – 光纖網絡接口,連接 N_PORT ;

在 N_PORT 間傳輸數據幀的網絡結構;

交換結構或混合結構下的一組輔助服務器,包括支持設備發現和網絡地址解析服務的名稱服務器。

主要的光纖信道網絡拓撲組成如下所示:

Arbitrated Loop –N_PORTs 以菊花鏈(daisy-chain)形式連接在一起;

Switched Fabric – 由交換單元組成的網絡;

Mixed Fabric – 由交換機和 "fabric-attached" 環路組成的網絡。 L_PORT 將 loop-attached N_PORT (NL_PORT)與環路連接起來,並且 NL_PORT 通過 FL_PORT 接入該結構。

光纖通道的尋址方式

在數據中心網絡中,光纖通道(FC:Fibre Channel)是通過 World Wide Name (WWN )來標識一個唯一的設備。 WWN 是一個 64 位的地址。WWN 對於光纖通道設備就像Ethernet 的MAC 地址一樣都是全球唯一的,它們是由電器和電子工程協會(IEEE)標準委員會指定給製造商,在製造時被直接內置到設備中去的。 
dBPu5eefBAAA&ek=1&kp=1&pt=0&bo=pQHSAAAAA
通常用 Node WWN 來標示每臺不同的FC交換機,它是唯一的;對於FC交換機的端口,則使用Port WWPN 來標示交換機的端口。所以一個交換機只有一個 Node WWN 和多個 Port WWPN。 根據IEEE標準定義,WWN的定義方式有三種,可以見 
《深度分析FC/FCOE中WWN的類型定義》 一文所述。

因爲WWN的地址太長所以用這個地址來尋址的話會影響到路由的性能。這樣光纖通道網絡採用了另外一種尋址方案。這種方案是用基於交換光纖網絡中的光纖端口來尋址稱爲FCID。基於交換光纖網絡中的每個端口有一個唯一的 24 位的地址,FCID,這種FCID就類似TCP/IP中的IP地址。用這種 24 位地址方案,這樣得到了一個較小的幀頭,這能加速路由的處理。但是這個 24 位的地址必須通過某種方式連接到與World Wide Name 相關聯的 64 位的地址。

在光纖通道(SAN)環境中,FC交換機它本身負責分配和維持端口地址。當有一個WWN 登錄到交換機的某一個端口時,交換機將會爲其分配一個FCID地址,同時交換機也將會創建FCID和登錄的WWN 地址之間的關聯關係表並維護他們的關係。交換機的這一個功能是使用名字服務器(NAME SERVER)來實現的。

名字服務器其實是光纖操作系統的一個組件,在交換機內部運行。它本質上是一個對象數據庫,光纖設備在連接進來時,向該數據庫註冊它們的值這是一個動態的過程。動態的尋址方式同時也消除了手工維護地址出錯的潛在的可能,而且在移動和改變 SAN 方面也提供了更多的靈活性。

dD97D.nXGwAA&ek=1&kp=1&pt=0&bo=VgJfAQAAA

一個 24 位的FCID地址由三個部份所組成: Domain,Area,Port組成。 
Domain ( 從 23 到 16 位) 
Area(從 15 到 08 位) 
Port 或仲裁環物理地址-AL_PA( 從 07 到 00 位)

Domain :端口地址中最重要的字節是 Domain。這是標識交換機本身的地址。最多隻能達到256個地址。除了一些被保留使用的地址外,實際上只有 239 個地址可用。這意味着在你的 SAN 環境中,所在在一個SAN網絡中最多隻可能達 239 個交換機。同時Domain 可以用來標識一個san網絡一個FC交換機的唯一性。

Area :它提供 256 個地址。地址的這一個部份被用於識別個別的 FL_Ports 環,或它可能被用於當做一組F_Port 的識別符,例如,多端口的一個光纖卡的識別符。這意謂着每組端口有一個不同的 area 編號,即使對於只有一個端口的組也是如此。

Port :地址的最後部份提供 256 個地址,用於識別相連的 N_Port 和 NL_Port。

按上面介紹,可以計算出一個SAN網絡最大的地址數目: Domain x Area x Ports = 239 x 256 x 256=15,663,104 個地址。

光纖磁盤陣列

採用光纖通道技術的光纖磁盤陣列有兩層含義,一層是指其對外即對主機使用光纖通道接口連接方式,一層是指其內部採用光纖通道技術來連接其內部的各個磁盤。

通常意義來說, 光纖磁盤陣列 指的是後一種含義。但在最初光纖磁盤陣列上市的時候,內部往往採用SCSI、SSA 等存儲接口,對外才是光纖通道接口。現在越來越多的光纖磁盤陣列逐漸向內外俱是光纖通道接口的方向發展,這裏我們想討論的就是這種磁盤陣列。至於內部使用IDE 、SCSI、SSA 等接口技術、外部使用光纖通道技術,或者內部使用光纖通道技術,外部使用SCSI等其他接口技術的磁盤陣列(儘管這有些違背常識,但這種磁盤陣列的確存在),雖然也是光纖磁盤陣列,但不在我們的討論範圍內。

從光纖磁盤陣列的名詞解釋我們可以看出,從硬件構成來說它應當是由一堆磁盤和控制器及內外接口組成。一般的中、低端光纖磁盤陣列也正是這種結構:

光纖磁盤陣列 磁盤櫃:主要特點是內部一般至少採用冗餘的雙FC-AL 仲裁環環路結構,內部硬盤實際上同時接在兩條仲裁環上。而中端磁盤陣列支持的環路數更多,可以達到4 、8 、16條之多。這種多冗餘仲裁環結構最主要的目的就是爲了高可用性,它可以防止單個線路、接口的故障導致整個陣列的失效。而且每個環路採用旁路技術來防止無硬盤接入和硬盤故障對環路通信的影響。

 

 

轉自: 存儲人生 原文  http://www.storageonline.com.cn/storage/storage-fundamental/fc-protocol-detailed/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章