專利名稱:測量網(wǎng)絡(luò)運行流量經(jīng)歷的網(wǎng)絡(luò)運行參數(shù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于測量網(wǎng)絡(luò)運行參數(shù)例如單向端到端延遲的方法和系統(tǒng),這些參數(shù)為網(wǎng)絡(luò)運行流量(例如使用基于因特網(wǎng)協(xié)議第六版的傳輸控制協(xié)議(TCP/IPv6)的網(wǎng)絡(luò)中的數(shù)據(jù)分組)所經(jīng)歷。
背景技術(shù):
隨著因特網(wǎng)的增長并在商業(yè)和個人活動中變得越來越普及,對其運行的監(jiān)控和優(yōu)化的需求也相應(yīng)地增長。一個例子就是對單向端到端延遲的測量。這種延遲的較大值能影響一些應(yīng)用的性能;過度的延遲變化(抖動)可能擾亂實時應(yīng)用;如果端到端延遲太大,傳輸層協(xié)議就不足以維持高帶寬;最小的端到端延遲提供了對在輕載路徑條件下傳播和傳輸延遲或可能延遲的一個估計;并且,大于該最小值的值提供了對分組所遵循的路徑中出現(xiàn)的擁塞級別的很好的指示。往返(round-trip)延遲更容易確定,但它未必提供了估計單向延遲的好方法,因為上行和下行數(shù)據(jù)路徑可能會明顯地不同并且即使當它們對稱時也可能會表現(xiàn)出很不相同的性能特性。
21世紀初最廣泛使用的因特網(wǎng)技術(shù)是因特網(wǎng)協(xié)議第四版(IPv4),大多數(shù)與該因特網(wǎng)技術(shù)一起使用的測量和監(jiān)控技術(shù)落在兩種主要的分類之一中被動技術(shù)和主動技術(shù)。
被動測量技術(shù)觀測鏈路上的實際流量(數(shù)據(jù)分組)而不擾亂那些分組所攜帶的服務(wù)。一般地,這些技術(shù)涉及狀態(tài)機的使用,這些狀態(tài)機執(zhí)行一些初始級別的過濾以選擇所關(guān)心的流量,然后使用模式匹配技術(shù)搜索特定的事件。一旦檢測到這些事件,就可適當?shù)馗赂鞣N計數(shù)器。例子包括網(wǎng)絡(luò)設(shè)備供應(yīng)商(NEP)實現(xiàn)的性能測量管理信息庫(ManagementInformation Base,MIB)和遠程監(jiān)控(RMON)探測。其他被動監(jiān)控探測方案通過從匹配指定模式的分組中抽取有效載荷數(shù)據(jù)而使其更進一步。全分組捕獲也是可能的。或者在要求時(拉動模型)或者在有預(yù)定義的觸發(fā)事件發(fā)生時(推動模型)向用戶提供收集到的數(shù)據(jù)。
關(guān)于下述的主動測量,一個顧慮是用戶可能生成大量需要在與測量相關(guān)的IP鏈路上運送的測量數(shù)據(jù),而由于競爭性資源需求,這可能會降低測試中的服務(wù)性能??蓮牟煌谋粍颖O(jiān)控方法所獲得的測量中推斷出的內(nèi)容也有很大的不同?;赗MON和MIB的方案往往基本由計數(shù)器構(gòu)成,這些計數(shù)器提供了網(wǎng)絡(luò)上所有流量活動的一個全局視圖。難于將獲得的信息關(guān)聯(lián)到單個服務(wù)上或推斷出可用來監(jiān)控對契約性協(xié)定(contractualagreement)的遵守程度的信息。行業(yè)或正式標準通常管理各種計數(shù)器的實現(xiàn),因此一種新型測量被批準和采用可能需要一定的時間。依賴于生成于特定流量流的事件的技術(shù)可能會更適合于解決與服務(wù)質(zhì)量(QoS)性能相關(guān)的問題。
被動監(jiān)控技術(shù)對在網(wǎng)絡(luò)上一個觀測點處收集實際用戶流量的單點測量尤其有用。然而,由于關(guān)聯(lián)在兩個不同觀測點處檢測到的分組所涉及的復(fù)雜度,被動技術(shù)就不太適用于對實際用戶流量進行2點測量,例如單向延遲。現(xiàn)有的技術(shù)方案一般涉及在適當定位的監(jiān)控點處觀測分組中可識別的數(shù)據(jù)模式。生成并存儲時間戳和適當?shù)臄?shù)據(jù)模式摘要。接著可以計算出沿著一個特定路徑的單向端到端延遲,該延時就是從所述路徑的任一端對同一數(shù)據(jù)模式在多個監(jiān)控點處進行觀測之間的時間。然而,這種方法有一些缺點。不像往返延遲測量的情況,至少必須將測量數(shù)據(jù)從一個監(jiān)控點傳輸?shù)搅硪粋€監(jiān)控點用于關(guān)聯(lián),甚至更不情愿地要將測量數(shù)據(jù)從兩個監(jiān)控點傳輸?shù)降谌恢糜糜陉P(guān)聯(lián)。這些附加的測量數(shù)據(jù)可能需要沿著與那些正被監(jiān)控的網(wǎng)絡(luò)鏈路相同的網(wǎng)絡(luò)鏈路進行運送,可能會影響得到的結(jié)果。由于監(jiān)控點處的調(diào)度延遲、與把測量數(shù)據(jù)傳輸?shù)疥P(guān)聯(lián)點相關(guān)的后續(xù)傳播和傳輸延遲以及用于關(guān)聯(lián)自身的時間,因此在進行測量與計算端到端延遲值之間,也可能會有相當大的延遲。關(guān)聯(lián)過程的位置和功能是可能影響這方面測量性能的額外因素。
除了用于進行延遲測量的同步時鐘之外,還需要用于確保兩個觀測點在相同的分組上觸發(fā)以搜集測量數(shù)據(jù)的技術(shù)。用于丟失或誤匹配采樣的錯誤處理也是必需的。而且,當流量大小和數(shù)據(jù)率增加時,被動測量探測就可能跟不上了。
主動技術(shù)基于向網(wǎng)絡(luò)中插入專門被創(chuàng)建用于測量的人工流量(synthetic traffic)。此人工流量具有已知的特性,被設(shè)計用來測試服務(wù)的特定屬性。這一類測量技術(shù)常用來進行兩點測量,尤其是與響應(yīng)時間、分組丟失、帶寬和服務(wù)可用性有關(guān)的測量。主動技術(shù)對服務(wù)中(in-service)測試或服務(wù)中止(out-of-service)測試同樣適用。許多全球性的項目采用了這些技術(shù),尤其是一些基于使用人工流量的技術(shù)正在被因特網(wǎng)工程工作組(IETF)的IP性能標準工作組進行標準化。
對單向延遲來說,被插入的分組必須或者在發(fā)出前被打上時間戳,或者是所獲得并被存儲的時間與分組標識的記錄。被插入的分組(或者是它們的全部或者是采樣)在遠端被識別并從流中去除。另一個時間戳被獲得,并與分發(fā)時間戳一起使用以導(dǎo)出所需的延遲測量。
主動測量技術(shù)的主要缺點在于它們測量了由人工流量而不(一定)是實際用戶流量所經(jīng)歷的分組轉(zhuǎn)發(fā)和路由行為。作為結(jié)果的測量值然后被用來做出有關(guān)實際用戶流量的假設(shè)并預(yù)測實際用戶流量的經(jīng)歷。因此,為確保好的結(jié)果,確保人工流量是被適當?shù)匦纬刹⒕哂信c實際用戶數(shù)據(jù)類似的傳輸特性就非常重要,以使它受到相同的處理和/或遵循相同的傳遞路徑。雖然如此,仍依賴于主動測量的精確性以執(zhí)行有關(guān)被測試的服務(wù)的增值判斷。
因特網(wǎng)技術(shù)的一個擴展版本,版本6(IPv6),已被定義并正在操作系統(tǒng)中實現(xiàn)。與IPv4相比,IPv6提供了多種改善-128位的IP地址;-用于“聚合”(aggregation)的可升級的、分層的編址;-被更好形成的分組,考慮到了包括‘擴展’頭部,簡化了處理,消除了冗余并提供了改進的功能;-服務(wù)質(zhì)量/服務(wù)等級支持;-協(xié)議內(nèi)在的安全性;-主機的“即插即用”自動配置;
-移動性支持。
這類改善被設(shè)計來改進或擴展因特網(wǎng)的基本功能,使其以一種高效、可靠、魯棒的方式傳送數(shù)據(jù)。然而,本發(fā)明人已經(jīng)在此標識出其他的機會,以使用一個或多個這類改善來促進對使用IPv6的因特網(wǎng)設(shè)備的運行進行改進的監(jiān)控和測量。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個方面,提供了一種測量網(wǎng)絡(luò)運行流量所經(jīng)歷的網(wǎng)絡(luò)運行參數(shù)的方法,包括如下步驟根據(jù)分組的數(shù)據(jù)結(jié)構(gòu)定義中的能力,選擇經(jīng)過網(wǎng)絡(luò)中第一監(jiān)控點的分組,以將附加信息包含到該分組中;根據(jù)所述被選擇的分組的數(shù)據(jù)結(jié)構(gòu)定義,將用于測量至少一個網(wǎng)絡(luò)運行參數(shù)的預(yù)定信息包含到所述被選擇的分組中;根據(jù)該分組的尋址信息將所述分組轉(zhuǎn)發(fā)到它的目的地;根據(jù)所述預(yù)定信息的出現(xiàn),選擇經(jīng)過網(wǎng)絡(luò)中第二監(jiān)控點的所述分組,并觀測所述預(yù)定信息;和根據(jù)觀測到的信息,實現(xiàn)對所述網(wǎng)絡(luò)運行參數(shù)的測量。
本發(fā)明認識到并發(fā)展了由IPv6分組擴展頭部所提供的一個機會以執(zhí)行“內(nèi)聯(lián)測量”(inline measurement)。術(shù)語“內(nèi)聯(lián)”在此用來表示引發(fā)測量活動的測量觸發(fā)器和/或測量數(shù)據(jù)本身被包含到實際用戶分組中,以使得測量操作可在正常的分組處理過程中或被位于網(wǎng)絡(luò)中適當?shù)狞c上的專用軟件或?qū)S糜布K執(zhí)行。這提供了很大程度的可能性,使得用于執(zhí)行測量的分組經(jīng)歷與大多數(shù)用戶分組相同的處理和延遲??梢匀菀椎赝ㄟ^使用IPv6擴展頭部來實現(xiàn)所需功能,以執(zhí)行更精確、靈活并且不太具有干擾性的測量。因此內(nèi)聯(lián)技術(shù)可被用來開發(fā)具有創(chuàng)造性、更精確和靈活的測量、管理、記帳和計費運行支持系統(tǒng)。
根據(jù)本發(fā)明的另一個方面,提供了一種用于測量網(wǎng)絡(luò)運行流量所經(jīng)歷的網(wǎng)絡(luò)運行參數(shù)的系統(tǒng),包括選擇器,用于根據(jù)分組的數(shù)據(jù)結(jié)構(gòu)定義中的能力,選擇經(jīng)過網(wǎng)絡(luò)中第一監(jiān)控點的分組,以將附加信息包含到該分組中;分組修改器,用于根據(jù)所述被選擇的分組的數(shù)據(jù)結(jié)構(gòu)定義,將用于測量至少一個網(wǎng)絡(luò)運行參數(shù)的預(yù)定信息包含到所述被選擇的分組中;分組轉(zhuǎn)發(fā)器,用于根據(jù)該分組的尋址信息將所述分組轉(zhuǎn)發(fā)到它的目的地;選擇器,用于根據(jù)所述預(yù)定信息的出現(xiàn),選擇經(jīng)過網(wǎng)絡(luò)中第二監(jiān)控點的所述分組,并觀測所述預(yù)定信息;和參數(shù)測量器,用于根據(jù)觀測到的信息,實現(xiàn)對所述網(wǎng)絡(luò)運行參數(shù)的測量。
下面參照附圖以示例的方式描述一種根據(jù)本發(fā)明,用于對諸如單向端到端延遲的網(wǎng)絡(luò)運行參數(shù)執(zhí)行內(nèi)聯(lián)測量的方法和系統(tǒng),其中圖1示出了因特網(wǎng)的一個示意性片段;圖2示出了IPv6分組頭部的通用格式;圖3示出了IPv6目的地選項擴展頭部的通用格式;圖4示出了類型-長度-值(TLV)元組的通用格式,該元組構(gòu)成了目的地選項擴展頭部的一部分;圖5示出了IPv6路由擴展頭部的通用格式;圖6圖示了IPv6擴展頭部可以如何被嵌入到IPv6分組中;圖7示出了目的地選項擴展頭部的一個例子的格式,該頭部被配置來根據(jù)本發(fā)明輔助測量;圖8示出了IPv6分組的例子;圖9示出了根據(jù)本發(fā)明通過包含一個擴展頭部以輔助單向延遲測量而被修改的圖8的IPv6分組的例子;圖10是指示了在網(wǎng)絡(luò)元件中可用于軟件實現(xiàn)本發(fā)明的可能的點的方框圖;和圖11概述了本發(fā)明的一個實現(xiàn)中涉及的過程性步驟。
具體實施例方式
為方便起見,本發(fā)明將參考一個實現(xiàn)了IPv6的網(wǎng)絡(luò)來描述,在該網(wǎng)絡(luò)中,數(shù)據(jù)為了傳輸而被劃分成分組。然而應(yīng)該理解到,在其他提供了與IPv6擴展頭部相似功能的網(wǎng)絡(luò)技術(shù)的上下文中,本發(fā)明也同樣適用。因此,在此使用的術(shù)語分組應(yīng)被理解成包含了在那些其他網(wǎng)絡(luò)技中的不同術(shù)語所指稱的數(shù)據(jù)劃分,如信元(cell)或幀(frame)。
參考圖1,示出了因特網(wǎng)的一個示意性片段,包括被多個鏈路互聯(lián)的路由器10到22。根據(jù)路由器通過它們彼此之間交換的信息所構(gòu)建起來的路由表,例如到達路由器10的分組24被送到它們的目的地,所述目的地在構(gòu)成分組一部分的頭部中被標識出來。圖2中示出了在因特網(wǎng)學(xué)會(Internet Society)的Request for Comments(RFC)2460中為IPv6定義的分組頭部的格式。
參考圖2,分組頭部習(xí)慣上表示為一序列的行,每一行表示32個連續(xù)的二進制位值(四個八位組)。構(gòu)成功能實體的相鄰位的群組由矩形標識。IPv6頭部包含8個下述群組-Version(版本)4位因特網(wǎng)協(xié)議版本號碼(=6)。
-Traffic Class(流量等級)8位流量等級字段。
-Flow Label(流標簽)20位流標簽。
-Payload Length(有效載荷長度)16位無符號整數(shù)。以八位組表示的IPv6有效載荷(即跟隨在IPv6頭部后的分組剩余部分,包括任何擴展頭部)的長度。
-Next Header(下一個頭部)8位選擇器。指示緊跟在IPv6頭部后的頭部類型,使用(當前)由因特網(wǎng)分配號碼局(InternetAssigned Numbers Authority,IANA)在http//www.iana.org/assignments/protocol-numbers所指定的協(xié)議號。
-Hop Limit(跳限制)8位無符號整數(shù)。被每個轉(zhuǎn)發(fā)該分組的節(jié)點減1。如果跳限制被減到0則該分組被丟棄。
-Source Address(源地址)分組發(fā)起者的128位地址,按照RFC2373格式化。
-Destination Address(目的地地址)分組的預(yù)計接收者(如果有Routing(路由)頭部則可能不是最終接收者)的128位地址。
在IPv6中,可選的因特網(wǎng)層信息可被編碼在不同的頭部中,這些頭部可被放置在分組中圖2所示的IPv6頭部和上層(例如TCP)頭部之間。有多個這樣的擴展頭部,每個都被一個不同的Next Header值所標識。圖3示出了一個這樣的擴展頭部的格式,即Destination Options(目的地選項)頭部的格式。此頭部用來攜帶只需要被分組的(多個)目的地節(jié)點檢查的可選信息。Destination Options頭部被在緊鄰的前導(dǎo)頭部中值為60的Next Header值所標識,并包括如下字段-Next Header 8位選擇器。以與上述IPv6頭部的Next Header字段相同的方式標識緊跟在該Destination Options頭部后的頭部的類型。
-Hdr Ext Len 8位無符號整數(shù)。Destination Options頭部以8個八位組(64位)為單元的長度,不包括第一個8個八位組。
-Options可變長度字段,它的長度可以使完整的Destination Options頭部是8個八位組的整數(shù)倍長。如下所述,包括一個或多個類型-長度-值(TLV)編碼選項。
TLV編碼的選項具有下述格式,如圖4所圖示-Option Type(選項類型)選項類型的8位標識符(見下文)。
-Opt Data Len(選項數(shù)據(jù)長度)8位無符號整數(shù)。此選項的Option Data字段的長度,以八位組計算。
-Option Data(選項數(shù)據(jù))可變長度字段。Option Type專用數(shù)據(jù)。
如果所述的處理IPv6節(jié)點沒有識別出Option Type,那么選項類型標識符的最高端兩位規(guī)定了必須要采取的動作00-忽略這個選項并繼續(xù)處理該頭部;01-丟棄分組;10-丟棄分組,而且無論該分組的Destination Address是否為多播地址,都把一個代號為2的因特網(wǎng)控制消息協(xié)議(ICMP)參數(shù)問題消息發(fā)送到分組的Source Address,指向未被識別的Option Type;11-丟棄分組,而且只有當分組的Destination Address不是多播地址時,才把一個代號為2的因特網(wǎng)控制消息協(xié)議(ICMP)參數(shù)問題消息發(fā)送到分組的Source Address,指向未被識別的Option Type。
Option Type的第三高端位規(guī)定了那個選項的Option Data在到分組的最終目的地的途中是否可改變,以使得執(zhí)行認證值的計算或驗證可以不受這些改變的影響。這個位的含義如下所述0-Option Data在途中不改變;1-Option Data在途中可改變。
在圖5中示出了另一類擴展頭部,即Routing頭部的格式。此頭部被IPv6源用來列舉一個或多個在到分組目的地的途中要被“訪問”的中間節(jié)點。Routing頭部被在緊鄰的前導(dǎo)頭部中值為43的Next Header值所標識,具有如下格式-Next Header 8位選擇器。以與上述IPv6頭部的Next Header字段相同的方式標識緊跟在該Routing頭部后的頭部的類型。
-Hdr Ext Len 8位無符號整數(shù)。Routing頭部以8個八位組為單元的長度,不包括第一個8個八位組。
-Routing Type特定的Routing頭部變量的8位標識符。
-Segments Left(剩余段)8位無符號整數(shù)。剩余路由段的數(shù)目,即明確列舉出的中間節(jié)點,在到達最終目的地前它們?nèi)砸辉L問。
-Type-specific data(類型專用數(shù)據(jù))可變長度字段,具有由Routing Type確定的格式,且具有使完整的Routing頭部是8個八位組的整數(shù)倍長的長度。
所有的擴展頭部必須被格式化以使它們的整體長度是8個八位組的整數(shù)倍,并且頭部內(nèi)寬為n個八位組(n=1,2,4或8)的字段應(yīng)該被放置在距頭部起點n個八位組的整數(shù)倍的位置上。為此,定義了兩個特殊的TLV編碼選項Pad1選項和PadN選項,Pad1選項包括單個零值八位組(沒有長度或值字段),PadN選項(用于整體插入N個八位組,其中N>1)包括N-2個零值八位組,加上包含值1的類型字段和包含值N-2的長度字段。
除了一個特殊的Hop-by-Hop(一跳接一跳)選項頭部之外(在此沒有討論,但在RFC 2460中被描述了),RFC要求只在具有主Ipv6頭部中所包含的目的地地址的節(jié)點處,對不同的IPv6頭部中的每一個都進行檢查。換言之,根據(jù)IPv6,沿著分組的轉(zhuǎn)發(fā)路徑,那些僅僅實現(xiàn)路由功能的中間節(jié)點不對分組的擴展頭部進行檢查或處理。
每個擴展頭部都通過Next Header字段指向下一個頭部的起點,形成一種單向鏈。鏈中的每一個頭部都嚴格依次被處理,而且每個擴展頭部的內(nèi)容和語義確定了接收節(jié)點是否要繼續(xù)處理下一個頭部。對于已經(jīng)把一Destination Options頭部插入到IPv6頭部和分組有效載荷之間的情形,圖6圖示了這樣一種頭部鏈的例子。在此情形下,IPv6頭部的NextHeader字段包含了值60,而Destination Options頭部的相應(yīng)字段包含了值6,表示此擴展頭部的后面跟著一個TCP上層協(xié)議層頭部和數(shù)據(jù)。
本發(fā)明利用擴展頭部,例如Destination Options和Routing頭部,來輔助對運行參數(shù)的‘內(nèi)聯(lián)’測量,所述的運行參數(shù)例如單向端到端延遲、雙向(往返)延遲、累積延遲(使用時間戳,該時間戳隨著分組經(jīng)歷鏈路的多個段而累加)和兩點丟失(在兩點之間傳輸?shù)姆纸M的丟失)。本發(fā)明也可用于監(jiān)控路由器的運行,例如利用擴展頭部中的標簽(tag)來標識要被跟蹤的分組,以跟蹤分組穿過網(wǎng)絡(luò)的進展。作為網(wǎng)絡(luò)正常操作的一部分,這種測量和監(jiān)控可通過向正在穿過網(wǎng)絡(luò)的分組添加擴展頭部來完成,這些頭部的格式如在下面的例子中所描述。
例如,通過將擴展頭部的選項類型標識符的最高端兩位設(shè)置為00,Destination Options頭部可方便地用于這些目的而不會干擾路由器的正常運行,這些處理器處理已被添加這個頭部的分組。如果需要,Destination Options頭部可在分組被傳遞到其計劃目的地(例如客戶端/服務(wù)器)之前被去除。但即使沒有做這一處理(或者是故意地,或者是因錯誤而沒有去除頭部),目的地節(jié)點在接收后仍會根據(jù)值為00的選項類型標識符而簡單地跳過這一選項。
由于RFC 2460允許將來對附加的擴展頭部類型進行可能的定義,在原則上可能會定義一個專門的擴展頭部用于測量。如果定義了這些專門的擴展頭部,本發(fā)明可與它們一起使用。然而,這個方法可能會導(dǎo)致需要定義一個專門的Next Header值,該值只和測量擴展頭部有關(guān)并且在網(wǎng)絡(luò)中的任何位置都同樣可識別。因此,網(wǎng)絡(luò)設(shè)備制造商和運營商要能確定任何具有包含這個Next Header值的頭部的分組正在被用來搜集測量和管理數(shù)據(jù)。設(shè)備可容易地被設(shè)計成以一種有利但非典型的方式處理這些分組,可能會妨害測量的目的。通過使用Destination Options擴展頭部(或Routing頭部),這種風(fēng)險最小化了,因為沒有任何東西能區(qū)分該頭部的測量目的。而且,只有那些Destination Options或Routing頭部對之適用的節(jié)點才會在正常的網(wǎng)絡(luò)運行過程中處理這些頭部,減少了干擾運行的風(fēng)險。
然而,當然也需要在測量過程中所涉及的節(jié)點(例如前述例子中的路由器10和16)去檢測和處理相關(guān)的擴展頭部,即使這些節(jié)點在正常的網(wǎng)絡(luò)運行中會忽略它們。如下所述,可以這樣來實現(xiàn),即按照所需向這些節(jié)點中正常的操作固件增加某些模塊,這些模塊擴展了所述節(jié)點的分組處理功能。
對延遲測量來說,Destination Options擴展頭部被方便地用來攜帶測量所需的信息。圖7示出了這樣一個頭部的格式,用在測量單向延遲中,包括了如下的合適的選項數(shù)據(jù)字段-Pointer(指針)8位無符號整數(shù)。用來指示選項數(shù)據(jù)中下一個未使用的空隙(slot)的位置,即用來存儲時間戳。
-Overflow(溢出)8位無符號整數(shù)。用來指示是否嘗試過存儲比用來容納時間戳的空隙更多的時間戳。
-Flags包括8個二進制標志位的八位組,例如用來指示存儲在選項數(shù)據(jù)字段其他地方的數(shù)據(jù)的性質(zhì)。
-Reserved(保留)一個被包含用來對齊的零值八位組,即用來確保完整的擴展頭部在大小上是8個八位組的整數(shù)倍。
-Source timestamp(源時間戳)兩個32位無符號整數(shù)。該時間戳指示了從擴展頭部被插入的節(jié)點的接口處轉(zhuǎn)發(fā)分組的時間。這兩個組成整數(shù)分別表示了從全球協(xié)同時間(UTC)1970年1月1日的0000時以來逝去的時間的秒數(shù)和微秒數(shù)。
-Destination timestamp(目的地時間戳)兩個32位無符號整數(shù)。該時間戳指示了在檢測到擴展頭部的節(jié)點的接口處接收分組的時間,它與源時間戳的格式相同。
頭部中的Option Type標識符被設(shè)置成這樣一個值,該值被分配來標識“單向端到端延遲測量”。
圖1所示的本發(fā)明的例子圖示了在網(wǎng)絡(luò)的一部分之內(nèi)延遲測量的情形,例如處于由單個運營商控制下穿過一個部分的邊界的分組流的進入點和離開點之間。然而,本發(fā)明對“端到端”測量同樣適用,例如從服務(wù)器(例如為一個網(wǎng)站提供服務(wù))到客戶端(例如運行網(wǎng)絡(luò)瀏覽器應(yīng)用程序的無線連接的個人數(shù)字助理(PDA))。
再次參考圖1,根據(jù)合適的、預(yù)定的標準,路由器10被配置來選擇一個或多個分組。例如,分組可隨機地從那些要被發(fā)送到特定目的地的分組中選擇,或者從那些從一個特定的源發(fā)送出去而與其目的地無關(guān)的分組中選擇。其他用于選擇的可能性包括被特定的上層協(xié)議傳送的所有分組,這些上層協(xié)議諸如TCP、用戶數(shù)據(jù)報協(xié)議(UDP)、ICMP或因特網(wǎng)群組管理協(xié)議(IGMP);或特定應(yīng)用類型的所有分組,這些應(yīng)用類型諸如對話發(fā)起協(xié)議(SIP)、實時傳輸協(xié)議(RTO)或超文本傳輸協(xié)議(HTTP)。因此,對遵從相同特性的期望分組流中的分組進行識別(例如在網(wǎng)絡(luò)入口點處)可由任何復(fù)雜的規(guī)則所控制,從而將擴展頭部(具有其選項字段)插入所識別出的分組,這些規(guī)則涉及諸如下述任何因素的組合源IP地址、目的地IP地址和前綴;傳輸協(xié)議;包含在傳輸協(xié)議如TCP和UDP中的源端口號和目的地端口號;流量類別;和流標簽。如果網(wǎng)絡(luò)既攜帶IPv4分組又攜帶IPv6分組,那么就要從IPv6分組中做出選擇。
如果需要進行重復(fù)測量,并且在內(nèi)聯(lián)測量所選擇的分組之間要使用統(tǒng)一的時間間隔,那么所測量的延遲可能會被其他應(yīng)用的操作所影響,這些應(yīng)用使用碰巧在相同周期基礎(chǔ)上通信的相同路徑。為減少這一可能性,所選擇的分組之間的時間間隔最好從一個隨機分布中選出,例如一個泊松分布或截斷的帕累托分布。
一旦選擇了合適的分組,就要加入Destination Options擴展頭部(或者,如果分組已經(jīng)包含了一個Destination Options頭部,則修改它),并且加入如圖7所示進行格式化的TLV選項,該TLV選項具有表示“單向端到端延遲”的類型字段和一時間戳值。要被測量的延遲是分組在離開發(fā)送節(jié)點的鏈路接口和到達目的地節(jié)點的鏈路接口之間穿越網(wǎng)絡(luò)的全部的時間(稱為“線路時間”,wire time),所以在把時間戳插入分組頭部之前,它應(yīng)該加上已知的或估計的節(jié)點上的最終處理時間,該處理時間是從獲得時間戳開始,一直到該分組從所述接口離開為止。如果需要,可包含另一個TLV編碼選項以提供一個地址(例如網(wǎng)絡(luò)管理節(jié)點的地址),延遲測量結(jié)果在接收節(jié)點處進行計算后應(yīng)該被轉(zhuǎn)發(fā)到這個地址。
圖8示出了在插入用于延遲測量的Destination Options擴展頭部之前的IPv6分組的例子,而圖9示出了在加入包含了用于時間戳和轉(zhuǎn)發(fā)地址的TLV選項的頭部(用虛線突出)之后的相同分組。比較兩個圖,圖9中的IPv6有效載荷長度字段已增加了48,表示了擴展頭部中的八位組的數(shù)目。IPv6頭部中的Next Header字段已被改變成60(表示后面跟著Destination Options擴展頭部),并且Hop Limit已被減少。擴展頭部的Next Header字段包含了先前在IPv6頭部中的值6(用于后續(xù)的TCP頭部),并且擴展頭部的長度被表示為第一個8個八位組之外的五個8個八位組單元。第一個TLV選項具有值為33(0010 0001)的選項類型,在此例中用來表示“單向端到端延遲”,而且也表示了該選項可被任何沒有被配置為處理它的節(jié)點跳過并且該選項數(shù)據(jù)可改變(即目的地時間戳)。所述選項的長度是20個八位組。Pointer值是13(0000 1101),表示第13個八位組(目的地時間戳的起點)是選項中下一個未使用的空隙,并且Overflow和Flag八位組被設(shè)置為零。源時間戳包含了值3D10 FC00H秒(對應(yīng)于2002年6月中的一個時期)和000B 86A0H微秒(對應(yīng)于剛剛在1800年后的時刻)。下一個TLV選項一共包含6個八位組的填充,后面跟著最后的選項,并指定了轉(zhuǎn)發(fā)地址。這個選項具有類型34(0010 0010),在此例中用來表示“延遲測量的轉(zhuǎn)發(fā)地址”,也表示該選項可被任何沒有被配置為處理它的節(jié)點跳過并且選項數(shù)據(jù)不可改變。所述選項的長度是16個八位組,包括128位的轉(zhuǎn)發(fā)地址本身。
其上的延遲要被測量的路徑的另一端的節(jié)點(在圖1中的例子中這是節(jié)點16)按如下所述進行配置,以處理Destination Options頭部,并且尤其能夠解釋特殊的“單向端到端延遲”和“延遲測量的轉(zhuǎn)發(fā)地址”TLV選項。一旦接收到具有這些頭部之一的分組,節(jié)點16就讀取并存儲頭部的內(nèi)容。然后,重組裝所述分組,如果沒有出現(xiàn)其他的選項字段則可能不要Destination Options頭部,接著把該分組繼續(xù)轉(zhuǎn)發(fā)到其最終目的地。
在目的地節(jié)點上,讀取包含在Destination Options頭部中的源時間戳并把它從當前時間中減掉,以計算單向端到端鏈路傳輸時間延遲。在計算中還應(yīng)該考慮初始分組處理時間,它處在分組到達節(jié)點接口和獲得節(jié)點自己的當前時間值之間。為了把計算出的值轉(zhuǎn)發(fā)到Destination Options頭部中所指定的地址,可以通過包含在為該目的而生成的新分組中的Destination Options頭部的TLV編碼選項,或者把該計算出的值附加到前往相同地址的用戶分組上,這取決于測量的緊迫性?;蛘撸硪粋€TLV選項可以用來規(guī)定把延遲測量結(jié)果存儲在節(jié)點16的高速緩存中以用于以后的分發(fā)或收集。
有必要確保源節(jié)點和目的地節(jié)點的時鐘或者被同步到一個所期望的準確程度,或者它們之間的時間偏差是穩(wěn)定且已知的。延遲測量和因此而來的時間戳處理所需的準確性和精度在時鐘同步方法的選擇中是一個非常重要的因素。這些和相關(guān)的問題在RFC 2679中有更詳細的討論。
IPv6規(guī)范要求每個鏈路必須有一個大小為1280個八位組或更大的最大傳輸單元(MTU)以使IPv6可運行。建議的MTU是1500個八位組。如果把Destination Options附加到所選擇的分組會冒險違反了節(jié)點10將沿其轉(zhuǎn)發(fā)分組的鏈路的MTU限制,則應(yīng)該選擇下一個合適的分組。這是因為延遲測量是時間敏感的并且它可能因此不適當?shù)匾饡r間損失,該時間損失與在鏈路上轉(zhuǎn)發(fā)分組所需的對下層分組的分片和重組裝有關(guān)。由于分組選擇過程最好是隨機化的,因此對該過程的這一修改不應(yīng)該具有任何不好的統(tǒng)計影響。
如上所述,把Destination Options頭部附加到分組上和在其他地方檢測并去除它們以執(zhí)行延遲測量的處理是由路由器如10和16來承擔的。這些路由器實際上是專用數(shù)據(jù)處理器,包含了在軟件程序控制下的一個或多個處理器單元、用于存儲程序和相關(guān)數(shù)據(jù)的有關(guān)存儲器、用于保存正進行處理的分組的緩沖存儲器和用于接收和發(fā)送分組的輸入接口和輸出接口。
在這個系統(tǒng)級別上,可以實現(xiàn)執(zhí)行延遲和其他測量的所需功能,例如通過使用動態(tài)可加載模塊來提供附加的處理邏輯以控制分組在頭部上的擴展和其他支持功能,例如存儲、獲取、關(guān)聯(lián)和轉(zhuǎn)發(fā)與測量相關(guān)的數(shù)據(jù)。通過對監(jiān)控和測量任務(wù)的集合進行模塊化處理,可以只動態(tài)地加載那些在某一特定時刻所需要的模塊,然后一旦不用就卸載它們??梢园芽杉虞d模塊遠程傳遞到節(jié)點進行加載和配置,并且在使用時實際上成為節(jié)點的操作軟件的一個有機嵌入部分。
以這種方式將被主動使用的處理邏輯最小化可減少存儲器的使用,加速處理時間,限制電路板空間需求,簡化設(shè)計并減少整體子系統(tǒng)復(fù)雜度。對無線局域網(wǎng)(LAN)中包含移動設(shè)備的節(jié)點的情形,如蜂窩電話和手持個人數(shù)字助理(PDA),它們在處理能力和存儲器方面具有有限的資源,這種模塊化方法尤其有利。可以容易地在網(wǎng)絡(luò)基站處提供所需的功能以根據(jù)信令,甚至根據(jù)數(shù)據(jù)流量自身來自動加載/卸載模塊,這有助于為部署有效的測量和監(jiān)控實現(xiàn)自動化的反應(yīng)策略。尤其是,這個方法消除了在網(wǎng)絡(luò)上為了測量而四處跟蹤流量的需要,因為流量自身可啟動測量/監(jiān)控功能。這可能在移動蜂窩無線電接入網(wǎng)絡(luò)的上下文中尤其有用,因為移動終端可自由地漫游并在單個對話期間使用通過網(wǎng)絡(luò)的多個路徑。
這種模塊化方式也使它自己獲得一種遠程、分布式的實現(xiàn),因為模塊可在網(wǎng)絡(luò)上如所需地自由插入和去除,為動態(tài)可配置的、本地化的處理站點和關(guān)聯(lián)實體提供了可能。嵌入式模塊方法的另一個重要優(yōu)點在于它不需要物理連接到組成路由器之間鏈路的電纜或光纜上以監(jiān)控通過的數(shù)據(jù)。相反地,嵌入式模塊方法利用了路由器或其他網(wǎng)絡(luò)設(shè)備內(nèi)部空余的可編程邏輯或處理能力,提供了一種更集成的、本質(zhì)強大的方案。升級涉及到把新模塊傳遞到節(jié)點(例如通過網(wǎng)絡(luò)自身),這些模塊或者可在傳遞后直接被加載,或者暫時存儲在某種形式的本地介質(zhì)(如硬盤存儲器)上以供后用。
圖10示出了單個網(wǎng)絡(luò)元件30的示意性體系結(jié)構(gòu),具有多個線接口32和一控制器34,控制器34包括處理器、存儲器和程序軟件或固件。該示了三個不同的示例集成點,依賴于網(wǎng)絡(luò)元件30的設(shè)計,可以在這些集成點上容納動態(tài)可加載模塊-(A)模塊可被加載到線接口32上以控制硬件(例如現(xiàn)場可編程門陣列-FPGA)的動態(tài)重配置,或者作為用來控制線接口的處理邏輯的軟件/固件,或者作為兩種選項的混雜式組合;-(B)模塊可作為控制器34的軟件操作系統(tǒng)‘內(nèi)核’或其等同物中的可加載軟件而存在;-(C)模塊可作為控制器的操作系統(tǒng)所提供的‘用戶’空間中的可加載應(yīng)用程序而存在。
根據(jù)選項B的集成假定了操作系統(tǒng)使得模塊附加到系統(tǒng)內(nèi)核上,例如可加載內(nèi)核模塊(Loadable Kernel Module,LKM)。與在用戶空間中執(zhí)行的應(yīng)用程序相比,這些模塊一般提供更好的處理性能,并且可容易地作為網(wǎng)絡(luò)協(xié)議棧的內(nèi)核實現(xiàn)的一個有機部分而被配置來附加、去除和修改擴展頭部,而不必在外部的用戶空間進程中顯式地構(gòu)建完整的分組。
選項C涉及在用戶空間中處理IPv6擴展頭部,而不是作為操作系統(tǒng)的協(xié)議棧實現(xiàn)。這不可能像使用內(nèi)核模塊的方案那么好,可能具有較差的性能。然而它不需要操作系統(tǒng)內(nèi)核編程技術(shù)的知識,并且因此可能會更易于實現(xiàn)。另外,它避免了與操作系統(tǒng)安全性和完整性有關(guān)的可能的問題,操作系統(tǒng)安全性和完整性可能會與運行在此所討論的路由器或其他節(jié)點的機構(gòu)的安全策略發(fā)生沖突。
依賴于特定的管理應(yīng)用需求,可以動態(tài)地控制把擴展頭部插入到用戶流量中用于測量和監(jiān)控。因此不是所有的用戶分組需要在其中嵌入擴展頭部。可以基于應(yīng)用作出選擇,而且可能使用采樣。
上述用于執(zhí)行內(nèi)聯(lián)監(jiān)控和測量的技術(shù)與現(xiàn)有方法相比提供了許多優(yōu)點-實現(xiàn)IPv6協(xié)議的路由器功能也用于檢測哪些分組需要進行處理,因為這些分組是通過標準擴展頭部而被識別的;因此可避免復(fù)雜的過濾技術(shù)來檢查每個到達接口的分組,以檢驗該分組是否符合預(yù)定義的標準而被包括在監(jiān)控/測量操作中。
-正是用戶流量自身攜帶了測量和觸發(fā)信息,因此當分組在兩個監(jiān)控點中的任一處被觀測時,可確保在兩個場合下涉及的是同一分組。
-類似地,來自路徑端點的數(shù)據(jù)的關(guān)聯(lián)不是必需的,減少了測量系統(tǒng)的復(fù)雜度,可能減少了必須在網(wǎng)絡(luò)上傳輸?shù)臏y量數(shù)據(jù)的數(shù)量,并有助于更快地獲得測量結(jié)果。
-任何增加的數(shù)據(jù)都被包含在實際用戶流量的內(nèi)部。假定分組頭部長度中的少量增長不改變分組在其通過網(wǎng)絡(luò)的旅程中是怎樣被處理的話,那么所增加的數(shù)據(jù)就很可能因此會受到同樣的處理并遵循與實際用戶流量相同的路由路徑。
-在網(wǎng)絡(luò)上傳送的用于測量目的的附加流量的總量是受限的。
-與由所插入的分組構(gòu)成的主動測量不同,兩點內(nèi)聯(lián)測量結(jié)果將更準確地反應(yīng)分組會影響用戶對網(wǎng)絡(luò)運行的體驗的行為,只具有很小的附加系統(tǒng)處理延遲和與未被干擾的分組相比稍大的整體分組長度。
-以一種較優(yōu)的方式使用IPv6協(xié)議的特性,以使得用來對網(wǎng)絡(luò)行為進行測量和監(jiān)控的動態(tài)實現(xiàn)得到簡化,并因此減少了成本、復(fù)雜度和對提供相同功能的專用探測的需求。
-使用IPv6擴展頭部的內(nèi)聯(lián)測量大體上沒有被所使用的高層傳輸協(xié)議(例如UDP或TCP)影響。因此,可對任何選定的傳輸協(xié)議進行類似的測量或相反,不論給定什么傳輸協(xié)議都執(zhí)行類似的測量。
主IPv6頭部(圖2)中的20位流標簽字段本質(zhì)上是試驗性的。很大程度上這個字段實際上沒有用于其最初設(shè)想的目的,并假定它用于其他目的時不會損害網(wǎng)絡(luò)的運行,Destination Options、Routing頭部和流標簽字段的組合使得可選擇性地將數(shù)據(jù)加到實際用戶流量上,該流量在實現(xiàn)必要功能的地方,由節(jié)點的IPv6協(xié)議層進行檢測和處理。處理的級別和本質(zhì)可由包含在擴展頭部中的選項所確定,并且可能涉及增加計數(shù)器的值,加入時間戳注釋,抽取分組數(shù)據(jù)并將之倒入具有時間戳注釋和各種計數(shù)的高速緩存,或者觸發(fā)對分組完整拷貝的捕獲。Destination Options自己就可用于執(zhí)行端到端內(nèi)聯(lián)服務(wù)測量(在IPv6網(wǎng)絡(luò)上)。增加一路由頭部,就可以選定路徑上的特定節(jié)點,以使得當用戶流量穿過網(wǎng)絡(luò)云團的關(guān)鍵點時,實現(xiàn)更具體的服務(wù)測量。當包含內(nèi)聯(lián)數(shù)據(jù)的用戶流量通過途中節(jié)點被轉(zhuǎn)發(fā)到其目的地時,也可利用流標簽字段中的一些位來容易地標識和觸發(fā)測量和監(jiān)控行為。
總體說來,本發(fā)明涉及下述過程性步驟,如圖11所圖示,可在設(shè)備(如路由器)的幾個不同組分上分配這些步驟(a)在網(wǎng)絡(luò)中的第一“邏輯”點處選擇分組(40);(b)通過至少一個擴展頭部把數(shù)據(jù)附加到分組上(42);(c)可選擇性地修改任何現(xiàn)有擴展頭部中的數(shù)據(jù);(d)例如在網(wǎng)絡(luò)中的第二“邏輯”點處觀測分組中的擴展頭部數(shù)據(jù)(44,46);(e)然后可去除擴展頭部數(shù)據(jù)(48)并且獲得了所需的測量(50)。
網(wǎng)絡(luò)中的“邏輯”點也可以是物理上分開的點。然而,依賴于測量和監(jiān)控活動的本質(zhì),兩個“邏輯”點也可物理上同時位于相同的物理點上。例如,單個觀測點可用來跟蹤(trace或track)經(jīng)過此觀測點的TCP連接或任何事務(wù)性“對話”(conversation)(例如用于狀態(tài)建立和維護的信令協(xié)議)。因此,觀測點可將擴展頭部插入到向一個方向流動的分組中,并接收相反方向的分組中的擴展頭部的回應(yīng)值,用于基于響應(yīng)的測量。按這種方式,就可以估計TCP的連接建立時間或者其他面向連接的或事務(wù)性的協(xié)議。另一種可能性就是測量建立SIP關(guān)聯(lián)所占用的時間,這樣就可以傳送實時服務(wù)如網(wǎng)絡(luò)電話(VoIP)。邏輯觀測點位于同一位置的另一個例子是對環(huán)形網(wǎng)絡(luò)上的參數(shù)的測量。
雖然出于方便,本發(fā)明在遵循IPv6的網(wǎng)絡(luò)上下文中進行了描述,但它對其他網(wǎng)絡(luò)系統(tǒng)和協(xié)議也同樣適用,這些系統(tǒng)和協(xié)議使得分組在網(wǎng)絡(luò)上傳輸時可包含附加信息。
權(quán)利要求
1.一種用于測量網(wǎng)絡(luò)運行流量所經(jīng)歷的網(wǎng)絡(luò)運行參數(shù)的方法,包括如下步驟根據(jù)分組的數(shù)據(jù)結(jié)構(gòu)定義中的能力,選擇經(jīng)過網(wǎng)絡(luò)中第一監(jiān)控點的分組,以便將附加信息包含到該分組中;根據(jù)所述被選擇的分組的數(shù)據(jù)結(jié)構(gòu)定義,將用于測量至少一個網(wǎng)絡(luò)運行參數(shù)的預(yù)定信息包含到所述被選擇的分組中;根據(jù)該分組中的尋址信息將所述分組轉(zhuǎn)發(fā)到它的目的地;根據(jù)所述預(yù)定信息的出現(xiàn),選擇經(jīng)過網(wǎng)絡(luò)中第二監(jiān)控點的所述分組,并觀測所述預(yù)定信息;和根據(jù)觀測到的信息,實現(xiàn)對所述網(wǎng)絡(luò)運行參數(shù)的測量。
2.根據(jù)權(quán)利要求1的方法,其中,所述的第一和第二監(jiān)控點位于網(wǎng)絡(luò)中相同的物理位置。
3.根據(jù)權(quán)利要求1的方法,其中,所述的第一和第二監(jiān)控點中的至少一個位于所述被選擇的分組的源端點或目的地端點。
4.根據(jù)權(quán)利要求3的方法,其中,到所述端點的所述分組路徑包括無線連接。
5.根據(jù)權(quán)利要求1的方法,其中,所述網(wǎng)絡(luò)運行參數(shù)是單向端到端延遲、往返延遲、累積延遲、兩點丟失和分組穿過網(wǎng)絡(luò)的進展中的任何一個。
6.根據(jù)權(quán)利要求5的方法,其中,所述預(yù)定信息包括從所述的第一監(jiān)控點發(fā)送所述分組的時間戳。
7.根據(jù)權(quán)利要求1的方法,其中,所述網(wǎng)絡(luò)使用因特網(wǎng)協(xié)議第六版,并且所述預(yù)定信息被包含在因特網(wǎng)協(xié)議第六版擴展頭部中。
8.根據(jù)權(quán)利要求7的方法,其中所述因特網(wǎng)協(xié)議第六版擴展頭部是目的地選項擴展頭部。
9.一種用于測量網(wǎng)絡(luò)運行流量所經(jīng)歷的網(wǎng)絡(luò)運行參數(shù)的系統(tǒng),包括選擇器,用于根據(jù)分組的數(shù)據(jù)結(jié)構(gòu)定義中的能力,選擇經(jīng)過網(wǎng)絡(luò)中第一監(jiān)控點的分組,以便將附加信息包含到該分組中;分組修改器,用于根據(jù)所述被選擇的分組的數(shù)據(jù)結(jié)構(gòu)定義,將用于測量至少一個網(wǎng)絡(luò)運行參數(shù)的預(yù)定信息包含到所述被選擇的分組中;分組轉(zhuǎn)發(fā)器,用于根據(jù)該分組的尋址信息將所述分組轉(zhuǎn)發(fā)到它的目的地;選擇器,用于根據(jù)所述預(yù)定信息的出現(xiàn),選擇經(jīng)過網(wǎng)絡(luò)中第二監(jiān)控點的所述分組,并觀測所述預(yù)定信息;和參數(shù)測量器,用于根據(jù)觀測到的信息,實現(xiàn)對所述網(wǎng)絡(luò)運行參數(shù)的測量。
10.根據(jù)權(quán)利要求9的系統(tǒng),其中,所述網(wǎng)絡(luò)運行參數(shù)是單向端到端延遲、往返延遲、累積延遲、兩點丟失和分組穿過網(wǎng)絡(luò)的進展中的任何一個。
全文摘要
通過根據(jù)分組的數(shù)據(jù)結(jié)構(gòu)定義中的能力,選擇經(jīng)過網(wǎng)絡(luò)中第一監(jiān)控點的分組以將附加信息包含到該分組中,網(wǎng)絡(luò)運行流量所經(jīng)歷的網(wǎng)絡(luò)運行參數(shù)得到了測量。根據(jù)被選擇的分組的數(shù)據(jù)結(jié)構(gòu)定義,用于測量至少一個網(wǎng)絡(luò)運行參數(shù)的預(yù)定信息被包含到被選擇的分組中,并且根據(jù)該分組的尋址信息將分組轉(zhuǎn)發(fā)到它的目的地。根據(jù)預(yù)定信息的出現(xiàn),分組在經(jīng)過網(wǎng)絡(luò)中第二監(jiān)控點時再次被選擇,該分組被觀測并且根據(jù)觀測到的信息被用來實現(xiàn)對網(wǎng)絡(luò)運行參數(shù)的測量。本發(fā)明可通過在遵循IPv6的網(wǎng)絡(luò)中使用擴展頭部來實現(xiàn)。
文檔編號H04L12/24GK1492630SQ0315712
公開日2004年4月28日 申請日期2003年9月15日 優(yōu)先權(quán)日2002年9月16日
發(fā)明者弗朗西斯科·加西亞, 羅伯特·加德納, 約瑟夫·斯文特克, 加德納, 斯文特克, 弗朗西斯科 加西亞 申請人:安捷倫科技有限公司