資源預留協議

資源預留協議(Resource Reservation Protocol,簡稱RSVP)是一個通過網絡進行資源預留的協議,是為實現綜合業務網而設計的,其具體定義於RFC 2205。RSVP要求接收者在連接建立之初進行資源預留,它必須支持單播和多播數據流,並具有很好的可伸縮性和強壯性。主機或者路由器可以使用RSVP滿足不同應用程序數據流所需的不同的服務質量(QoS)。RSVP定義應用程序如何進行資源預留並在預留的資源不用時如何進行預留資源的刪除。RSVP將會使得路徑上每個節點都進行資源預留。

RSVP本身不是一個路由協議,而是被設計用於互聯現在的和將來的路由協議。

主要特徵

  1. RSVP為每個流請求資源:這是只有一個發送者但可以有一個或多個接收者的流。
  2. RSVP不是一個路由協議,而是用於互聯現在的和將來的路由協議。
  3. RSVP是由數據流的接收者發起並維護資源預留。
  4. RSVP維護主機和路由器的軟體狀態(每個節點上的資源預留都需要周期性的更新),因此支持源自適應網絡變化。
  5. RSVP提供多種預留類型(一組預留選項)並允許將來加入其他類型,進行協議改進,以支持不同的應用程序。
  6. RSVP傳輸並維持通信和策略控制參數,這些對於RSVP都是不透明的。

流量說明(flowspec)

RSVP為一個流預留資源。一個流是被目的地址、協議號和目的端口號(可選)確定的。在多協議標籤交換中,一個流是被定義為一個標籤交換路徑(LSP)。對於每個流,雖然RSVP不能理解流服務質量的具體信息,但是RSVP也確認其特別要求的服務質量。flowspec是一個固有的RSVP對象,它定義了業務流所希望的服務質量。RSVP通過路徑從應用程序到主機和路由器傳輸flowspec。然後由系統分析flowspec,從而接受和預留資源。
一個flowspec是由如下組成的:

  1. 服務類
  2. 預留說明——定義服務質量
  3. 傳輸說明——描述數據流

過濾器說明(filterspec)

過濾器說明(filterspec)定義了一組被flowspec影響的分組。(比如:接受了flowspec確定的服務質量的數據分組)。一個filterspec挑選節點中處理的所有的分組中的一部分。挑選是根據分組的屬性進行的。(比如發送者的IP地址和端口)
現在定義的RSVP預留類型有:

  1. 固定過濾器(Fixed Filter)類型:對特定的流預留資源
  2. 直接共享(Shared explicit) :對不同的流預留資源,並共享資源
  3. 通配過濾器(Wildcard Filter)類型:對於沒有特別定義的常規類型的流預留資源,所有的流共享資源

一個RSVP請求是由一個流量說明(flowspec)、一個過濾器說明(filterspec)和一對流描述字(flowdescriptor)組成的。節點上每個說明的功能就是當流量說明(flowspec)設置每個節點分組任務調度的參數時,過濾器說明(filterspec)設置每個分組分類的參數。

消息

有兩種主要的消息:

路徑消息

路徑消息被沿着數據路徑從發送方主機發送,並記錄路徑上每個節點的的路徑狀態。
路徑狀態包括先前節點的IP地址和一些數據對象:

  1. sender template(發送方模板)是用於描述發送方數據格式
  2. sender tspec(數據流的話務描述特徵)是用於描述數據流傳輸特徵
  3. adspec攜帶廣告數據

預留消息

預留消息(resv)是由接收方沿着反向路徑發送到發送方。在每個節點上,預留消息的IP目的地址將會改成反向路徑上下一節點的地址,同時IP源地址將會改成反向路徑上前一節點的地址。預留消息包括流量說明(flowspec)數據對象,這個數據對象上用於確定流需要的資源。
RSVP消息的數據對象可以被按任何順序進行傳輸。RSVP消息和其數據對象的所有列表可以在RFC 2205中看到.

操作過程

一個需要按特定服務質量發送數據流的RSVP主機將會傳輸一個RSVP路徑消息,這個路徑消息將會沿單播(UniCast)或組播(multicast)路由通過路由協議預先建立的路徑傳輸。如果路徑消息到達一個不理解RSVP的路由器,將會將這個消息轉發並不對其內容進行分析而且不會為這個流進行資源預留。
當目的路由器接收到路徑消息,它將會:

  1. 按照請求的參數進行資源預留。對此,許可控制和策略控制處理請求參數並通知分組分類以便正確處理選定的數據分組,或者和上層協商如何進行分組處理。
  2. 向上游轉發請求(朝着發送方方向)。在每個節點上,預留消息的流量說明(flowspec)可以由前向節點更改。(例如:在多播流資源預留時,預留請求就可以被合併)

路徑上的每個節點都可以接收或者拒絕請求。

其他特點

  • 加密技術——往RSVP消息中添加信息摘要,這是通過一個信息摘要算法(一般是MD5)將消息內容和一個共享密鑰結合。密鑰可以通過2個消息類型被分配和確認:完整的挑戰要求和完整的挑戰響應。
  • 錯誤報告——當一個節點偵聽到一個錯誤,則會使用錯誤編碼產生一個錯誤消息,並按相反的路徑往上游發送直到源節點。
  • RSVP流信息:兩種診斷信息允許網絡管理者通過特定的流對RSVP狀態信息進行請求。
  • 診斷設備:這是規劃的擴展部分,它使用戶能夠收集沿路徑上的RSVP狀態的信息。詳見RFC2745 - RSVP Diagnostic Messages