iSCSI 協議

iSCSI 協議  

iSCSI協議結構算法

如同任何一個協議同樣,iSCSI也有一個清晰的層次結構,根據OSI模型,iSCSI的協議棧自頂向下一共能夠分爲五層,如圖所示:網絡

SCSI層:根據應用發出的請求創建SCSI CDB(命令描述塊),並傳給iSCSI層;同時接受來自iSCSI層的CDB,並嚮應用返回數據。併發

.iSCSI層:對SCSI CDB進行封裝,以便可以在基於TCP/IP協議的網絡上進行傳輸,完成SCSI到TCP/IP的協議映射。這一層是iSCSI協議的核心層。   函數

.TCP層:提供端到端的透明可靠傳輸。性能

.IP層:對IP報文進行路由和轉發。  代理

.Link層:提供點到點的無差錯傳輸ip

 

3.2 iSCSI 流量控制與超時重發資源

流量控制是指發送方控制發送數據幀到網絡的速率。發送方發送的速率—般是傳送路徑上的交換機、路由器或接收方可用的緩衝區大小的函數。iSCSI則採用 TCP/lP協議的端到端的流量控制機制,以可變發送窗口的方式進行流量控制。發送窗口在鏈接創建時由雙方面定,但在通訊過程當中,接收方可根據本身的資源 使用狀況,隨時動態地調整自已的接收窗口(可增大或減少),而後告訴對方,使發送方的發送窗口和本身的接收窗口一致。路由

iSCSI採用的是TCP的自適應超時重發算法,可根據網絡的狀況動態調整。這種算法記錄每個報文段發出的時間以及收到相應的確認報文段的時間,這兩個 時間之差就是報文段的往返時延RTT,當發送—個數據段時,啓動相應的定時器,若是定時器超時確認報文段尚未到達,就觸發數據配發機制。若是超時以前得 到確認,就記錄新的往返時延,將各個報文段的往返時延樣本進行加權平均獲得新的報文段的平均往返時延RTT,顯然定時器設置的重發時間應大於平均的往返時 延RTT。在實際應用中,RTT的算法還很複雜,目前通常採用的是Karm算法。get

 

3.3 iSCSI發現機制

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(Service Location Protocol for Discovery,服務定位協議)。iSCSI目標端使用SLP來註冊,iSCSI發起端能夠經過查詢SLP代理來得到註冊的iSCSI目標端的信息。 當iSCSI目標端加入到網絡中的時候,拓撲結構也隨之改變。雖然這種方法增長了實現的複雜性,但它不須要從新配置發起端便可找到新的目標端。

 

 流量控制機制對網絡的適應性

 

iSCSI是基於窗口的發送機制,因爲發送方能夠根據網絡的擁塞狀況動態地調整發送速率,所以iSCSI的流量控制機制對網絡的適應性更好,尤爲在網絡傳輸延遲較大的網絡中。

 

超時重發機制的靈活性

在TCP/IP協議中,TCP使用自適應重傳算法以適應互連網絡時延的變化。它的要點是:TCP監視每一條鏈接的性能,並計算出報文的往返時間 RTT(Round Trip Time)。當鏈接的性能變化時,TCP隨即修改RTT(也就是說它能自動適應時延的變化)。RTT(Round Trip Time)被髮送方用來決定是否重傳報文。

相關文章
相關標籤/搜索