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