防止丟包
FCoE發展過程中所遇到的第一個挑戰是將通過本地光纖通道的Buffer-to-buffer CredITs特性所實現的流控制機制得以延續。雖然以太網交換機沒有相對應的緩沖到緩沖機制,但以太網標準可以通過支持MAC控制幀來調節流入的信息量。IEEE 802.3x 流量控制標準是基于暫停幀流量控制技術的。這個技術會使得發送者后面的傳輸內容延遲一段特定的時間再發送,如果接收設備在這段時間過去之前清除緩沖,那么它會重新發送暫停幀,同時將終止時間歸零。這使發送者可以重新傳送直至接收到另一個暫停幀。
因為FCoE機制必須支持存儲數據的讀寫,所以所有網絡存儲路徑下的終端設備和以太網交換機必須支持雙向IEEE 802.3x流控制。盡管這樣的效果可能不如Buffer-to-buffer CredITs機制那么理想,但是IEEE 802.3x暫停幀可以提供對應的功能性,來調節存儲流量并防止阻塞和緩沖區溢出引起的丟幀。
IEEE中的IEEE 802.3ar阻塞管理研究小組和IEEE 802.1au阻塞通知研究小組負責以太網阻塞問題的研究工作。特別是對于存儲事務來說,這有助于增強流控機制的服務層級質量,使得最關鍵的任務的數據流在可能發生阻塞的情況下獲得最高優先權。
冗余路徑和故障切換
光纖通道高可用性的特點主要是得益于其可提供的主機與目標設備之間冗余路徑的Flat或CORE/EDGE的拓撲網絡。從主路徑到輔路徑的主機總線適配卡、鏈路、交換機端口、交換機或存儲端口,其中任何一點發生故障就會引發整個網絡的故障。在某些情況下,這兩條路徑都是動態的并且兼備高性能和可用性。光纖通道架構中的光纖最短路徑優先協議用來決定光纖交換機間傳輸的最佳路徑,其判斷基于交換機的鏈路帶寬與流量負荷。
以太網基礎體系必須為FCoE提供相應的耐障礙性來保證存儲訪問的暢通無阻。當多以太網交換機通過交換機內鏈路(例如以完全網路拓撲)連接時,IEEE 802.1D快速生成樹協議在網絡上建立主路徑,避免幀的發送形成無止境的環形回路。交換機之間的動態橋接端口處于推進狀態,非動態失效切換橋接端口處于阻塞狀態。
但由于阻塞的連接不能用于數據的傳輸,所以網路中的阻塞連接都表示未利用和閑置的資源。快速生成樹通過網橋協議數據單元來監控所有橋接端口的情況,如果連接、橋接端口或交換失效的話,快速生成樹協議啟動必要的失效切換橋接端口,在網絡上建立選擇路徑。
此外,IEEE 802.1s 多生成樹協議(Multiple Spanning Tree Protocol,MSTP)和IEEE 802.1Q-2003虛擬LAN(VLAN)技術定義了另外的增強以太網路徑切換的機制。與光纖通道的硬分區技術相類似,VLAN 標記可實現多達4096個群集節點組共存于一個公共的以太網基礎體系內。
在多業務傳輸平臺上對生成樹的增強可以使每個VLAN組中有一個單獨的生成樹。因此,一個虛擬局域網阻塞模式下的橋接端口可以調節成另一個虛擬局域網的轉發模式,并且實現對所有網絡互連性更充分的利用。
即使有多業務傳輸設備的增強,已使用的網絡連接仍不可避免地導致了快速生成樹協議對轉發和阻塞狀態的依賴。越來越多復雜的第三層路由協議,例如開放最短路徑優先協議(Open Shortest Path First,OSPF),在跳躍計數、帶寬、延遲時間和其他測量標準的基礎上選擇末端節點之間的最佳路徑,并且實現多路徑上的負載均衡。即時串流傳輸協議(RSTP)作為第二層協議無法支持這樣的附加功能性而保持向后兼容。需要設法找到將負載均衡、多點接入(例如一個節點有接入同一以太網網段的兩條動態鏈路)、多播技術和廣播技術引入第二層以太網的方法。
從光纖通道到以太網的映射
FCoE也必須解決以太網和光纖通道各自所傳輸的幀之間的差異。通常一個以太網的幀最大為1518字節。而一個典型的光纖通道幀最大為大約2112字節。因此在以太網上打包光纖幀時需要進行分段發送,然后在接收方進行重組。這會導致更多的處理開銷,阻礙FCoE端到端傳輸的流暢性。
因此需要一個更大的以太網幀來平衡光纖通道和以太網幀大小上的差異。有一個稱為"巨型幀"的實質標準,盡管不是正式的IEEE標準,但它允許以太網幀在長度上達到9k字節。在使用"巨型幀"時需要注意,所有以太網交換機和終端設備必須支持一個公共的"巨型幀"格式。
最大的巨型幀(9K字節)可以實現在一個以太網幀下封裝四個光纖通道幀。但是這會使光纖通道連接層恢復以及應用802.3x暫停指令的緩沖流量控制變得更加復雜。如圖2所示,FCoE向一個巨型以太網幀內封裝一個完整的光纖幀(不使用循環冗余校驗)。因為以太網已經提供了幀檢驗序列(FCS)來檢驗傳輸數據的完整性,所以不需要光纖幀的循環冗余校驗(CRC)。這進一步降低了傳輸層所需的處理開銷,同時提高通道的性能。由于光纖幀可能包括拓展的、可選擇的信頭或虛擬光纖標記信息,所以以太網"巨型幀"的大小就不合適,并且會隨著封裝光纖幀的需要而發生變化。
FCoE幀是使用六字節MAC硬件目的地址和源地址的本地第二層以太網幀。但MAC地址是存儲透明的,并且只能用于從源到目的地幀的交換。以FCoE幀中保留了存儲事務中需要的光纖通道尋址,所以需要從FCID(Fibre Channel ID)到以太網MAC地址映射的方法。可以選擇一個與地址解析協議(ARP)相類似的協議來實現FCID到MAC的地址映射。
例如,在第三層IP環境下,地址解析協議用于從上層IP網絡地址到第二層硬件MAC地址映射。此外,光纖通道使用一些較為熟知的地址來獲得存儲服務(例如通過SNS發現設備機制)。FCoE要求有相應的功能性來完成從熟知的地址到對應MAC地址的映射。
在傳統光纖通道中,HBA或存儲端口在連接到以太網交換機時會接收FCID。FCoE設備無法確保通用以太網交換機提供專門的存儲服務,所以必須依靠可用于FCoE交換機內部的域控制器和存儲服務引擎來提供光纖通道登陸、尋址和其它高級服務。未來的數據中心導向器將會在一個高可靠性、多協議平臺上將以太網、光纖通道和FCoE存儲服務融合為一體。
FCoE、iSCSI和FCIP
FCoE、iSCSI和FCIP都是可以在以太網上進行塊數據傳輸的存儲協議。然而每一個當初都是以不同的目標和設計標準發展起來。由于FCoE是由專門的數據中心存儲協議發展而來,其中包含有FC和數據中心以太網協議。iSCSI是設計用來在包括局域網和廣域網在內的任何基于IP的系統上可靠地傳輸存儲數據。如圖3所示,iSCSI借助位于第三層的整個TCP/IP協議棧來實現路由和數據包恢復,所以iSCSI可以用于可能存在潛在的網絡帶寬損耗。相比之下,FCIP被設計為用于遠程連接FC SAN的隧道協議。象iSCSI一樣,FCIP亦承擔TCP/IP的處理開銷,因此它的設計不適合本地高性能數據中心應用。
iSCSI主要作用在于其經濟性,發揮空閑的驅動器、以太網卡、以太網交換機和IP路由器,在服務器和存儲之間傳輸SCSI數據塊。盡管服務器接入和網絡基礎系統成本較低,但是iSCSI存儲目標成本會隨著是否使用廉價磁盤驅動和是否配置基于硬盤或基于軟盤的控制器而改變。因為沒有專門的本地iSCSI磁盤驅動,iSCSI目標必須依靠某種形式的協議橋接(從iSCSI 到SAS/SATA或從iSCSI到FC)控制器來存儲和檢索數據塊。所以iSCSI并不等同于那些有時用于部門級FC SAN中的JBOD。
在1Gb以太網中,iSCSI不需花費很多就可實現通過網關將低性能的二級服務器整合到現有的數據中心的FC SAN中,或為部門使用提供共享存儲。但是在10G以太網中,iSCSI就漸漸失去了廣泛宣揚的成本優勢。在服務器上使用10G以太網意味著主程序要求高性能和可靠性。盡管標準NIC卡可在10G下使用,但10G的iSCSI服務器通過例如TCP可卸載適配器等輔助設備來增強性能,并通過iSER logic來避免從接口到應用存儲器的SCSI數據的多存儲副本。設計精密的10GB iSCSI適配器增加了成本,但使iSCSI 可以在主機上將CPU開支減到最低,來更充分地利用更大的帶寬。
總結
介于龐大的安裝基礎,早已成熟的光纖通道技術已經具備了眾多的存儲特性和管理工具,這大大利于對數據中心內的共享存儲系統進行各種配置。聚合增強以太網(CEE)技術使用戶可以在公共以太網基礎體系數據中心將存儲、信息傳送、網絡電話、視頻和其它數據結合在一起。FCoE是實現以太網高效率塊存儲的組件技術。FCoE不是光纖通道的替代物而是光纖通道的拓展,并且將與光纖通道SAN共存。
因為FCoE是對以太網的進一步增強,所以它的發展需要光纖通道和以太網的技術專家和標準組織之間的相互協調。盡管流控制和以太網生成樹協議等連接層問題是一個重大的挑戰,但是還需要提出更多的解決方案來繼續保留用戶正有效配置的光纖通道高級服務。即使是在10G網絡傳輸速率下,仍需要對今天的以太網技術進行深入研究以適合數據中心存儲的應用。作為光纖通道架構技術的先驅,博科公司在保留數據中心性能、可靠性和高級存儲服務所提供的優勢的同時,也向FCoE引入了專業技術以降低其他解決方案的復雜性。