FC和iSCSI協議分析比較論文

時間:2022-03-17 05:29:00

導語:FC和iSCSI協議分析比較論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

FC和iSCSI協議分析比較論文

摘要fciscsi是目前存儲區域網絡SAN(StorageAreaNetwork)的兩個主流協議。該文介紹FC(FibreChannel:光纖通道)和iSCSI(InternetSCSI)協議的協議結構以及流量控制和發現機制,在零復制和流量控制等方面對FC和iSCSI的協議功能進行了分析比較。關鍵詞存儲區域網絡;FC;iSCSI;零復制。1引言SAN是一種專用網絡,是網絡服務器群的后端,可采用光纖通道或iSCSI等存儲專用協議連接成高速專用網絡,使網絡服務器與多種存儲設備直接連接。SAN的最大特點就是可以實現網絡服務器與存儲設備之間的多對多連接,而且,這種連接是本地的高速連接。SAN架構的優勢在于,強大的擴展性、多種存儲設備的集中和新架構支撐下的新型數據應用方式,在安全意義下負責可持續的存儲和數據傳輸。目前,FC和iSCSI是應用于存儲區域網吉比特速率的兩種主要技術。2FC協議分析2。1FC協議結構光纖通道按協議層進行分層,各層之間技術相互獨立,留有增長空間,并且由被認可的標準化機構進行開發,分層結構共分5層,如圖1所示。圖1FC協議層次⑴C-0(物理層底層):FC-0層定義了連接的物理端口特性,包括介質和連接器(驅動器、接收機、發送機等)的物理特性、電氣特性和光特性、傳輸速率以及其它的一些連接端口特性。⑵FC-1(傳輸協議):規定了8B/10B編碼方式和傳輸協議.包括串行編碼、解碼規則、特殊字符和錯誤控制。⑶C-2(幀協議):規定了具體的傳輸機制,包括幀格式,節點間的信息交換。⑷C-3(公共服務):提供高級特性的公共服務,即端口間的結構協議和流動控制,它定義了三種服務:條塊化(Striping)、搜索組(HuntGroup)和多路播放(BroadcastMulticast)。⑸FC-4(ULP映射):定義了FibreChannel和IP,SCSI-3以及其他的上層協議(ULP)之間的接口。2.2FC流量控制FC中的流量控制機制是在信用度系統上的基礎上。所謂的信用度(Credit)是指設備接受額外幀的能力。信用度的多少決定了設備接收額外幀能力的大小。如果接受方沒有向發送方發出任何的信用度,那么發送方就不能發送任何幀,在信用度的基礎上協調幀傳送,可以避免幀的丟失,同時減少了對整個幀序列進行重傳的頻率。實際上,這種基于信用度的機制建立在終端節點能夠提供的緩沖區(TX-Buffer和RX-Buffer)的數目上,這些緩沖區用于存儲到來的數據流。例如,擁有板上存儲器的主機總線適配器,可能被分派作為接受緩沖區,成為FC-1解串和譯碼功能,以及FC-2的幀重新裝配功能之間的接口。當FC-1來提交幀的時候,這種接受緩沖區被充滿;當FC-2的裝配線取出各個幀進行數據塊的重建時,這種接受緩沖區被清空。為了充分的利用FC的傳輸能力,最好能夠連續的多發出多個幀。這一點在事務開始前由授權充分信用度來實現,同時利用FC的全雙工能力在幀還未接受時就發出附加的信用度。FC中常用的兩種是端到端(EE-Credit)和緩沖區到緩沖區(BB-Credit)的流量控制。

端到端的流量控制機制(EE-Credit)是在兩個終端節點之間使用的流量控制。在兩個通信節點登錄并交換通信參數時候,建立起傳輸信用度,并且由節點本身來監測。中間的交換機不參與端到端流量控制。如圖2所示圖2FC基于信用的流量控制一旦一個初始的信用度等級授權后,如果要補充信用度的話,要由接受方向發送出應答(ACK)來實現。每發出一個幀發送方就消耗了一個端到端的信用度(EE-Credit),只有當其接收到一個ACK后才能增加信用度。光纖通道中還定義使用BB-Credit的流量控制機制(緩沖區到緩沖區的信用度),并且依靠receive-ready(R-RDY)有序集補充信用度,如圖2所示。某個附接到交換機的終端接點將在登錄到交換機的過程中建立它的BB-Credit。在交換機遠端參與通信的一方將在登錄時建立其自身交換機的BB-Credit。BB-Credit沒有端到端的成分。發送方在發出一個幀時將BB-Credit減1,直到BB-Credit的數量為零的時候.此時不能再進行幀發送。在接收到R-RDY時將BB-Credit加1。BB-Credit的初始值必須是非零的。如果為零的話,說明不能再接收或者發送幀。2.3FC發現機制在FC中,當一個新的設備加入到網絡中時,它要與它的網絡的管理者(一般是交換機)取得聯系,網絡管理者便會依次告知所有那些已經注冊過的和那些需要被通知這一事件的設備。此外,在FC中,由于為了增強網絡的靈活性和安全性,有時可能需要進行分區。當一個新的設備加入到網絡中的時候,該設備首先與它同在一個分區的其它現有設備完成注冊,然后連接這個設備的交換機會把這一事件告知其他的分區的設備和其它的交換機。圖3FC發現機制

如圖3所示,如果當A區的節點A加入網絡時,它先與FC交換機取得聯系,那么FC交換機將把A節點加入網絡的這一信息先后分別告知節點B和節點C以及B區的節點D和節點E。至此,A節點就加入到網絡中,可以與A區與B區中的設備進行通信。3iSCSI協議分析3.1iSCSI協議結構如同任何一個協議一樣,iSCSI也有一個清晰的層次結構,根據OSI模型,iSCSI的協議棧自頂向下一共可以分為五層,如圖4所示:圖4iSCSI協議分層模型.SCSI層:根據應用發出的請求建立SCSICDB(命令描述塊),并傳給iSCSI層;同時接受來自iSCSI層的CDB,并向應用返回數據。.iSCSI層:對SCSICDB進行封裝,以便能夠在基于TCP/IP協議的網絡上進行傳輸,完成SCSI到TCP/IP的協議映射。這一層是iSCSI協議的核心層。.TCP層:提供端到端的透明可靠傳輸。.IP層:對IP報文進行路由和轉發。.Link層:提供點到點的無差錯傳輸3.2iSCSI流量控制與超時重發流量控制是指發送方控制發送數據幀到網絡的速率。發送方發送的速率—般是傳送路徑上的交換機、路由器或接收方可用的緩沖區大小的函數。iSCSI則采用TCP/lP協議的端到端的流量控制機制,以可變發送窗口的方式進行流量控制。發送窗口在連接建立時由雙方面定,但在通信過程中,接收方可根據自己的資源使用情況,隨時動態地調整自已的接收窗口(可增大或減小),然后告訴對方,使發送方的發送窗口和自己的接收窗口一致。iSCSI采用的是TCP的自適應超時重發算法,可根據網絡的情況動態調整。這種算法記錄每一個報文段發出的時間以及收到相應的確認報文段的時間,這兩個時間之差就是報文段的往返時延RTT,當發送—個數據段時,啟動相應的定時器,如果定時器超時確認報文段還沒有到達,就觸發數據配發機制。如果超時之前得到確認,就記錄新的往返時延,將各個報文段的往返時延樣本進行加權平均得到新的報文段的平均往返時延RTT,顯然定時器設置的重發時間應大于平均的往返時延RTT。在實際應用中,RTT的算法還很復雜,目前一般采用的是Karm算法。3.3iSCSI發現機制iSCSI發起端為了和iSCSI目標端建立iSCSI會話,iSCSI需要知道ISCSI目標端的IP地址,TCP端口號和名字三個信息。iSCSI發現的目的是為了讓iSCSI發起端獲取一條到iSCSI目標端的通路。iSCSI有三種發現機制:⑴靜態配置:在iSCSI發起端已經知道iSCSI目標端的IP地址TCP端口號和名字信息時,iSCSI發起端不需要執行發現。iSCSI發起端直接通過IP地址和TCP端口來建立TCP連接,使用iSCSI目標端的名字來建立iSCSI會話。這種發現機制比較適合比較小的iSCSI體系結構⑵SendTarget發現:在iSCSI發起端知道iSCSI目標端的IP地址和TCP端口的情況下,iSCSI使用IP地址和TCP端口號建立TCP連接后建立發現對話。iSCSI發起端發送SendTarget命令查詢網絡中的存在的iSCSI信息。這種方法主要用于網關設備,iSCSI發起端被靜態配置連接到指定的iSCSI設備。iSCSI發起端和iSCSI網關設備建立對話并發送SendTarget請求給iSCSI網關設備。iSCSI網關設備返回一系列和它相連的ISCSI目標端的信息。iSCSI發起端選擇一個目標端來建立對話。⑶零配置發現:這種機制用于iSCSI發送設備完全不知道ISCSI目標端的信息的情況下。iSCSI發起端利用現有的IP網絡協議SLP(ServiceLocationProtocolforDiscovery,服務定位協議)。iSCSI目標端使用SLP來注冊,iSCSI發起端可以通過查詢SLP來獲得注冊的iSCSI目標端的信息。當iSCSI目標端加入到網絡中的時候,拓撲結構也隨之改變。雖然這種方法增加了實現的復雜性,但它不需要重新配置發起端即可找到新的目標端。4FC與iSCSI協議的比較本文主要從下面幾個方面對兩個協議進行比較:4.1流量控制機制對網絡的適應性FC采用基于信用的流量控制機制,當接受者有足夠的緩存接受發信者的數據時,接受者把Credit(信用度)分配給發信者。它根據發送者的請求分配Credit,僅當發送者沒有用完它的Credit時,它才可以發送數據。在MAN/WAN中,發送者必須要等待很長時間來獲得接受者的確認消息(以向網絡發送新的數據)。這種基于信任的流量控制機制降低了網絡的利用率。iSCSI是基于窗口的發送機制,由于發送方可以根據網絡的擁塞情況動態地調整發送速率,因此iSCSI的流量控制機制對網絡的適應性更好,尤其在網絡傳輸延遲較大的網絡中。4.2超時重發機制的靈活性在TCP/IP協議中,TCP使用自適應重傳算法以適應互連網絡時延的變化。它的要點是:TCP監視每一條連接的性能,并計算出報文的往返時間RTT(RoundTripTime)。當連接的性能變化時,TCP隨即修改RTT(也就是說它能自動適應時延的變化)。RTT(RoundTripTime)被發送方用來決定是否重傳報文。而FibreChanne]使用的是靜態的超時重發機制,不會根據網絡的情況動態地加以改變,因此發送方可能過早或過遲地出現超時,這對改善網絡的綜合性能不利。相對而言,iSCSI可以動態地自適應于網絡的當的情況,可以改善網絡的綜合性能,從這個角度看,iSCSI應該優于FibreChannel,更加適合目前的網絡情況4.3CPU對數據封裝的負擔大小在存儲環境中,發出的塊I/0請求的大小一般介于4K到64K之間。以8K的塊I/0請求為例,已經知道在iSCSI中以太網幀的大小是1.5K,在FC中,FC的幀大小是2K。因此8K的塊I/O請求必須被分成多個小的段,以適應不同的傳輸幀大小。在FC中,分段和重組操作是在網卡中實現的,因此減輕了主機CPU的負擔。對于iSCSI協議,由于分段與重裝是有CPU來完成的,因此增加了CPU的負擔。4.4是否能保證數據安全傳送在安全性方面,因為iSCSI的一個設計標準是它在不受信任的廣域環境中的使用,iSCSI規范允許使用多種安全方法。位于iSCSI層下的加密方案(例如,IPsec),不需要在iSCSI端設備之間進行協商,它們對于高層應用程序來說是透明的。對于其他的認證實現(如,KERBEROS或者公鑰/私鑰的交換),iSCSI登錄過程為兩個端設備協商兩者都支持的安全類型提供了文本字段。如果協商成功,iSCSI設備之間的PDU交換將由所使用的安全程序根據適當的安全確認需求而被格式化。iSNS(InternetStorageNameServer)服務器也可以協助此過程(如作為公鑰的倉庫)。光纖通道是工作在第二層的協議,原本并沒有建立相應的安全機制以及安全通用協議,只不過是基于邏輯上的數據通道綁定。5結束語對于傳統的基于LAN的SAN來說,FC是比iSCSI更好的網絡互連協議,因為FC的零復制和分段組裝機制大大地減輕了CPU的負擔,加快了數據的處理。但是,隨著存儲應用的增長,存儲網絡往往需要跨越很遠的距離,由于在流量擁塞控制機制、發現和地址機制、超時重發機制、安全機制等方面的優勢,iSCSI比FC更適合這種情況。參考文獻:[1]iSCSIProtocolConceptsandImplementation。CisioSystemsInc。,2001。[2]羅金平,汪東,方興等譯TOMClark。IPSAN權威指南:存儲區域網絡中的iSCSI,iFCP和FCIP協議[M]。北京:中國電力出版社,2003[3]iSCSIReview[EB/OL].http://www.digit—life.com/artieles2/iSCSI/.[4]朱立古,趙青梅,梁哲偉,等.iSCSI協議的研究[J].計算機工程與應用,2002,(15):44。[5]馬米.IP存儲展望計算機世界[EB/OL].http://www.csec。com。cn/ittouch/020716/9.htm,2002-04-08.