摘 要: 介紹IP網絡的服務分類功能及其發展過程,對幾種在服務分類發展過程中出現的技術作了簡要的分析、比較。
關鍵詞: CoS RSVP IntServ DiffServ
在IP網絡發展初期,Internet應用(如E-mail、遠程登錄和Web訪問)并沒有特別的性能要求,單個盡力而為(Best-Effort)服務類就能支持所有Internet應用。但Internet巨大的商業成功已經改變了這一切。這些改變主要體現在以下幾個方面:
(1)帶寬日益成為網絡瓶頸。
(2)對網絡適用性和可靠性的要求越來越高。
(3)為在競爭中脫穎而出,服務提供者為適應不同的用戶群,必須提供多種服務類型。
(4)服務提供者甚至可能被要求提供類似Voice over IP、虛擬專用網(VPN)等有著更嚴格性能要求的服務,這些服務是傳統Internet所無法提供的。
基于上述變化,服務提供者必須在同一個IP基礎設施上提供多種服務,這些服務有著不同的性能要求。另外,隨著數據網絡應用的普及,把傳統的、分別由三個不同網絡提供的服務(語音通信、視頻傳輸和數據傳輸)綜合到單一IP基礎設施上的要求日益迫切。這種在單一IP基礎設施上提供多種服務的數據網絡就稱為多服務網絡,或者統一網絡。服務提供者將網絡綜合成統一網絡后,由于其提供的廣泛服務可以吸引并保留更多新的用戶,而且由于統一網絡有效地減少了需要管理的網絡設備,將運行成本降到最低,可以為用戶提供優質、廉價的服務,因而能爭取到更多的用戶。由于數據網絡采用分組交換技術,因此比傳統的語音通信網絡、視頻傳輸網絡具有更高的帶寬利用率。
目前有二種用于實現統一網絡的方法,其實現機制有根本區別。一種方法是成倍增加網絡帶寬,通過大幅度提高網絡帶寬來滿足統一網絡的性能要求;另一種方法是通過在IP核心網絡中增加基于帶寬管理的服務分類(CoS)功能來滿足統一網絡的性能要求。
對于第一種方法,主要的反對意見如下:
(1)成本和信息流管理復雜性的增加有可能抵消增加帶寬所帶來的效益。
(2)在大型的IP網絡中,對多種服務類型進行監測、認證、計費都是十分困難的。
而且在現有的網絡基礎設施中,已經存在具有服務分類(CoS)功能的網絡基礎設施,如ATM網絡,并且已經用這些網絡基礎設施支持具有嚴格性能要求的服務。
第二種方法的主要優勢是:
(1)網絡管理能夠最大程度地優化帶寬利用率,使網絡能夠為用戶提供最大的傳輸容量。
(2)當出現新的應用時,服務提供者可能要采用新的網絡設備,這些新增的網絡設備可能使網絡的局部帶寬得到增加。但這些事件很少以協調一致的方式發生,極有可能造成網絡帶寬不匹配問題。帶寬管理允許服務提供者控制帶寬,處理由于帶寬不匹配對網絡造成的危害。
(3)帶寬管理通過在同一網絡基礎設施上為用戶提供多種服務而使網絡增值。通過帶寬管理實現的統一網絡可以降低操作成本,用單一的接入設備為用戶提供多種接入服務,如Internet接入、VPN接入、語音通信及視頻會議。
1 服務分類(CoS)的必要性
路由器是分組交換設備,實現統計復用。而Internet協議(IP)是數據報協議,對每一個報文獨立地選擇傳輸路徑(路由),沒有連接的概念。傳統IP只提供單一的盡力而為服務類型。在這種服務方式下,所有經過網絡傳輸的報文具有相同優先級,盡力而為意味著IP網絡會盡一切可能將數據報正確、完整地送達目的地。但是,它不能保證數據報在傳輸過程中不發生丟棄、損壞、重復、失序及錯送現象,另外,也不對數據報傳輸質量相關的傳輸特性,如傳輸時延、時延抖動、吞吐率等作出任何承諾。
如果網絡只通過盡力而為服務來滿足客戶,不對丟棄的報文進行任何裁決,網絡操作勢必會發生問題。解決這一問題的方法就是使用智能的運輸層協議,盡力而為服務之所以能夠在全球IP網絡中良好操作,惟一的理由是TCP協議能夠在網絡發生擁擠時,監測報文丟棄情況的發生,并通過降低傳輸速率對報文丟棄情況作出響應。正是因為TCP的作用,才使得路由器中盡力而為服務隊列成為具有良好行為的隊列。
盡力而為服務并不是一個貶義詞,相反,正是這種支持單一盡力而為服務的能力,使得大型IP網絡和Internet成為當今無可替代的技術,也成為在全球范圍支持緊要事務應用的惟一傳輸平臺。當然,IP網絡這種只支持單一盡力而為服務的能力,也給它帶來一些問題,并對它進一步的商業成功產生負面影響。許多服務提供者已經迫切感覺到為了進一步支持新開發的應用,有必要提供多種服務類型,使得每種服務類型能夠保證特定的性能要求。
為特定應用和用戶提供不同的服務,自然涉及到對屬于不同應用的報文進行區別對待的問題,多種服務歸根到底是對特定信息流提供統一管理下的不公平服務。
服務分類通過控制特定數據流的一些關鍵屬性,讓用戶感覺到網絡對該數據流提供的服務質量(QoS)發生了變化,這些關鍵屬性包括:(1)單位時間內傳輸的數據量(吞吐率);(2)將數據從網絡中的某個節點傳輸到另一個節點所花費的時間(時延);(3)屬于同一數據流的報文,相同二個節點之間的傳輸時延的變化范圍(時延抖動);(4)不能正確到達目的地的報文比例(丟失率)。
值得注意的是:指定服務類的服務質量取決于端到端傳輸路徑上性能最差的鏈路所能提供的服務質量。
要給用戶或應用提供多種服務類型,則對統計復用技術將有更多的依賴,這主要因為特定數據流從源節點傳輸到目的節點需要經過多個路由器,網絡對特定數據流提供的服務質量取決于傳輸路徑上每一跳路由器執行統計復用的方式及傳輸路徑上每一條物理鏈路的特性。如果對屬于特定數據流的報文采用和其他數據流不同的統計復用操作方式,則網絡中的路由器就能夠對特定數據流提供有別于其他數據流的吞吐率、時延、時延抖動和報文丟失率。
需要指出的是,通過為高優先級服務預留帶寬或是降低過載系數來支持服務分類,將會導致帶寬利用率的降低。單就網絡帶寬利用率而言,單一的、通過統計復用實現的盡力而為服務對網絡帶寬的利用率是最高的,而服務分類在網絡帶寬利用率方面所受的損失,與由于服務分類能夠支持語音傳輸、視頻會議、緊要事務應用等新開發的應用所導致的網絡服務增值比較,該損失則顯得微不足道了。
2 服務分類發展過程
在IP結構上提供多種服務的努力已經有20多年,本文將簡要地回顧幾種在大型IP網絡中提供服務分類的方法。
(1)IP首部中的服務類型字段(TOS)
1981年9月,RFC191對互連網協議(IP)進行了標準化,并將IP首部的第2個字節作為服務類型字段(TOS),服務類型字段中各位的定義如圖1所示。
TOS字段的前三位是優先級位,節點通過設置該三位值來選擇報文的優先級。D位用于選擇正常時延和低時延,T位用于選擇正常吞吐率和高吞吐率,R位用于選擇正常可靠性和高可靠性,TOS字段的最后二位保留,為以后擴展用。雖然RFC791中對TOS字段各位作了定義,但很少有路由器或其他轉發設備支持TOS字段定義的這些功能。
直到20世紀90年代中期才開始用優先級位選擇報文丟棄,這種用優先級位選擇報文丟棄的方法稱作選擇性報文丟棄(SPD)。通過設置優先級位,SPD將控制報文(如鏈路級存活消息、路由協議存活消息、路由更新消息)的丟棄可能性設置成較低,在網絡發生擁擠的情況下,使得關鍵的控制報文成為最后被丟棄的報文,以此增強網絡在擁擠過程中的穩定性。事實上,D、T、R位定義的功能從未實現過。
(2)綜合服務模型(IntServ)
在1993年前后,IETF的綜合工作組開始開發在IP網絡中支持多種服務的機制,它的目標是在IP網絡中同時支持實時服務和傳統的盡力而為服務。這個工作組最終開發出綜合服務結構,它是基于一種為每個信息流預留資源的結構。
綜合服務結構定義了一個參考模型,在該參考模型中指定了若干不同的構件及這些構件之間的相互作用。
①資源預留協議(RSVP)允許單個應用向路由器請求資源,并沿著報文傳輸路徑,為每一個單獨的數據流設置狀態。
②定義了二種新的服務模型——保證服務和控制負載服務,保證服務通過嚴格的許可控制、帶寬分配和公平隊列服務,為有著嚴格的傳輸時延和帶寬要求的應用提供所要求的服務。控制負載服務并不能保證傳輸時延和帶寬的范圍,但能提供類似輕負載下盡力而為網絡所能提供的報務。
③提供用于描述流說明的語法,允許應用程序通過流說明指定特定的資源要求。
④報文分類通過檢測輸入報文確定適用于每一個報文的服務類型。
⑤許可控制基于本地和網絡的可用資源,確定能否支持所請求的資源預留。
⑥管制和整形進程負責監測每個信息流,強迫這些信息流符合其信息流描述。
⑦報文調度進程將網絡資源(緩沖器和帶寬)分配給不同的信息流。
當人們更多了解綜合服務結構后,發現綜合服務并不是一種在大型IP網絡中支持服務分類的合適機制,這主要因為:
①由于綜合服務需要在端到端傳輸路徑上的每一個節點為每一個信息流建立并維持狀態,因此,它的可擴展性較差。如果缺乏狀態合并功能,則每一個節點上需要維持的狀態數量將隨著通過該節點并需同時預留資源的信息流數量的增加而線性增加。而通過某條高速主干鏈路的信息流數量可以從數以萬計到數以百萬計。
②綜合服務要求運行在終端系統上的應用支持RSVP信令協議,但很少有操作系統提供應用程序開發者能夠訪問的RSVP API。
③綜合服務要求端到端傳輸路徑上的所有節點支持綜合服務模型。這種支持要求節點具有將綜合服務類型映射到鏈路層技術的能力。
(3)增強的綜合服務模型
RSVP主要的擴展性限制是不能將多個單獨預留資源的會話合并成一個共同的服務類型。2001年9月,RFC 3175(具有合并功能的用于IPV4和IPV6預留資源的RSVP)定義了允許將多個跨越大型IP網絡的資源預留合并成單個資源預留的過程,它提供了動態建立合并后的資源預留狀態、標識合并后資源預留所作用的特定信息流類型、確定滿足資源預留要求的帶寬比例的機制。
RFC 3175通過增加下述功能,增強了RSVP用于大型IP網絡中的可擴展性:
①通過將多個單獨的資源預留合并成一個大型的資源預留,減少了需要交換的信令消息數和需要維持的資源預留狀態。
②通過用差分服務碼點(DSCP)來標識合并后的信息流,而不是使用傳統的RSVP流分類機制,在核心路由器中加速報文分類處理。
③通過將合并后的信息流放入相同的輸出端口隊列來簡化隊列管理和調度。
RSVP的主要功能是支持基于每一個信息流的許可控制,這對于支持交互式語音服務是一種非常有用的手段。假定用戶已經建立了支持1 000個語音呼叫的合并后的資源預留,只要同時通信的語音呼叫少于1 000個,新的語音呼叫就能夠通過許可控制的檢測,并能夠給新建立的語音呼叫分配適當的帶寬以滿足通信用戶的性能要求,但第1 001個呼叫請求將被許可控制拒絕。只有這樣,才能保證已經建立的1 000個語音呼叫的服務質量。
(4)差分服務(DiffServ)模型
在1995年前后,服務提供者和各種研究機構開始提出新的支持多種服務的機制,而且這種機制的前提條件是具有良好的可擴展性。如前所述,綜合服務模型的失敗主要在于它需要在報文傳輸路徑上的每一個節點中維持大量的基于每一個信息流的狀態,而且為每一個信息流建立資源預留狀態需要傳輸RSVP信令消息。因此,作為一種新提出的方法,必須能夠解決可擴展性問題。圖2給出盡力而為服務、綜合服務模型、差分服務模型在成本、復雜性方面的相互關系。
IETF在1997年成立了差分服務工作組,并在1998年3月召開了第一次工作組會議。這個工作組的目的在于創建一種相對簡單、更便于分類的方法為Internet信息流提供差分服務,以支持多種類型的應用及商業模式。
IETF差分服務工作組將IPV4首部中TOS字段改名為差分服務字段(DS),并且重新為DS字段中的二進制位定義了意義,如圖3。這種用于DS字段的新規范,不僅適用于IPV4首部中的TOS字段,也適用于IPV6首部中的信息流類型字段。這樣,可以用同一種機制來支持IPV4和IPV6信息流的差分服務。
差分服務工作組將DS字段分成二個子字段:
①高6位作為差分服務碼點(DSCP),差分服務域中的每一跳路由器通過DSCP選擇每一跳行為(PHB),每一跳行為(PHB)是作用于屬于相同服務類型的所有報文的一種轉發處理,通過DSCP確定的服務類型也叫行為聚集(BA)。
②低二位目前沒有定義,用作以后擴充,在試驗中有時也用于顯示擁擠通知(ECN)。這二位CU在每一跳路由器確定作用于某個報文的每一跳行為(PHB)時不起任何作用。
完整的差分服務結構由RFC2475定義,它基于一種相對簡單的模型:進入網絡的信息流首先在網絡邊緣被分類,然后視不同情況,在網絡邊緣對信息流進行控制或讓信息流直接進入網絡。基于報文分類結果,每一個報文和差分服務域支持的某個行為聚集(BA)相關聯。通過對報文DS字段中的DSCP位設置特定的值來標識每個報文所屬的BA。一旦報文進入網絡核心,報文傳輸路徑上的每一跳路由器,基于報文所攜帶的DSCP值對報文施加適當的每一跳行為(PHB)。正是通過在網絡邊緣控制信息流(管制和整形)、標記報文以及在網絡核心對報文施加適當的PHB,才使得差分服務模型能夠在公共IP基礎設施上支持可擴展的多種類型服務。
差分服務域是由一系列提供相同服務策略和具有相同PHB組定義的路由器鄰接而成,它由單個管理機構負責管理,并由該管理機構提供對由該域提供的服務等級規范(SLS)和信息流控制規范(TCS)所需要的網絡資源的支持。
一個DS域由DS邊緣節點和DS內部節點構成。DS邊緣節點位于DS域的邊緣,它的作用是作為不同方向信息流的輸入或輸出節點,當作為輸入節點時,它負責分類標記,甚至可能控制(通過管制和整形)輸入信息流。DS邊緣節點基于報文首部多個字段內容對每一個報文分類,并通過設置報文DS字段的DSCP位來指明報文所屬的PHB組。當作為輸出節點時,在將信息流轉發給與其直接相連的另一個域時,可能要求執行信息流控制功能。DS內部節點基于報文攜帶的DSCP值選擇作用于報文的轉發行為,它根據報文攜帶的DSCP值,將報文映射到DS域支持的一個PHB組,DS內部節點只能連接屬于同一個DS域的另一個內部節點或者邊緣節點。
每一跳行為(PHB)是作用于特定行為聚集的轉發操作的描述,也是DS節點將資源分配給不同行為聚集的一種手段。差分服務結構通過這種逐跳分配資源機制,支持可擴展的服務分類。
PHB用與服務提供者的服務提供策略相關的行為特性進行定義,一個特定的PHB可以用如下行為特性進行定義:
①分配給PHB的資源數量(緩沖器大小和鏈路帶寬);
②與其他PHB相比較的相對優先級;
③信息流特性(傳輸時延、時延抖動和丟失率)。
PHB不能通過實現機制進行定義,因此,一個特定的PHB組可以采用多種不同的實現機制。目前,IETF差分服務工作組定義了二種類型的PHB:加速轉發PHB(EF PHB)和保證轉發PHB。
在未來可能有新的DSCP值被服務提供者用于自己的網絡,或由新的標準實體提出。
根據IETF差分服務工作組的定義,加速轉發PHB被設計用于提供“低丟失率、低時延、小時延抖動、帶寬保證的端到端服務”。事實上,加速轉發PHB通過仿真虛擬專用線路來支持高可靠性的語音和視頻通信,加速轉發PHB的DSCP推薦值為101110。
既然網絡中可以控制的時延成份只有排隊時延,因此可以通過最大程度地減少排隊時延來控制傳輸時延和傳輸時延抖動。EF PHB的目的是將標記屬于EF PHB組的報文送入短隊列或空隊列,以此保持最小的排隊時延,只要屬于EF PHB組的信息流到達速率低于節點EF PHB報文的服務速率,就可達到最小排隊時延的性能要求,實現EF PHB報文性能要求與非EF報文負載無關。
保證轉發PHB是一組為用于在合并后的信息流不超出約定速率的前提下,保證屬于特定信息流的報文能夠安全送達的PHB,但如果合并后的信息流速率超出了約定速率,超出部份的報文就不能保證服務性能。