分組交換通信網絡的鏈路的性能測量的制作方法
【技術領域】
[0001] 本發(fā)明涉及通信網絡領域。具體而言,本發(fā)明涉及用于執(zhí)行在分組交換通信網絡 中兩個測量點之間的鏈路的性能測量(尤其是,報文丟失測量和/或延遲測量和/或抖動 測量)的方法。另外,本發(fā)明涉及被配置為實現這種方法的用于通信網絡的節(jié)點和計算機, 并且涉及包括這種節(jié)點和計算機的計算機網絡。
【背景技術】
[0002] 在分組交換通信網絡中,數據以通過可能的中間節(jié)點從源節(jié)點被路由到目的地節(jié) 點的報文的形式被發(fā)送。示例性分組交換網絡是IP(互聯網協(xié)議)網絡、以太網網絡和 MPLS(多協(xié)議標簽交換)網絡。
[0003]報文不總是到達目的地節(jié)點,即,它們可能在通過網絡傳輸的過程中丟失。報文的 丟失是由于不同的原因。例如,節(jié)點或鏈路可能發(fā)生故障,由此引起整個報文丟失,直到故 障被要么繞過要么修復。作為替代,報文可能由于節(jié)點的端口擁塞而被節(jié)點丟棄。此外,報 文可能由于它們包含比特錯誤而被節(jié)點丟棄。在任何情況下,當通過經由分組交換網絡發(fā) 送數據來提供服務時,在傳輸過程中報文丟失的比率影響該服務的服務質量(QoS)。
[0004]此外,報文由源節(jié)點在發(fā)送時間發(fā)送,并由目的地節(jié)點在接收時間接收。發(fā)送時間 和接收時間之間經過的時間通常被稱為"單向延遲"。報文的單向延遲由下式給出:
[0005] OWD=Trx-Ttx,[1]其中Ttx是報文的發(fā)送時間并且Trx是接收時間。報文的單 向延遲主要取決于從源到目的地被報文跨過的可能中間節(jié)點的數量、報文在每個節(jié)點的持 久時間、以及沿鏈路的傳播時間。由于報文通過每個節(jié)點逐跳路由,因此被報文跨過的可能 中間節(jié)點的數量和報文在每個節(jié)點的持久時間是不可預測的。因此,報文的單向傳輸延遲 幾乎是不可預測的。
[0006]此外,同一報文流的報文可以具有不同的單向延遲。同一數據流的兩個報文的單 向延遲的差異被稱為"單向到達間抖動"(或者,簡單地被稱為"單向抖動")。尤其是,如果 Ttxl和Ttx2是第一報文和第二報文的發(fā)送時間,并且Trxl和Trx2是所述第一報文和第二 報文的接收時間,則單向抖動可表示為:
[0007]OWJ= (Trxl-Trx2) - (Ttxl-Ttx2) [2]
[0008] 當通信服務(尤其是,實時語音或數據服務,諸如電話、會議電話、視頻會議,等 等)通過分組交換網絡提供時,影響攜帶服務的報文流的報文丟失、單向延遲和單向抖動 的測量提供了由該服務的終端用戶感知到的服務質量(QoS)的指示。因此,測量通信網絡 中報文流的報文丟失、單向延遲和/或單向抖動對于網絡運營商是特別關注的。
[0009]W0 2010/072251 (以同一申請人的名義)公開了用于測量通過通信網絡從發(fā)送節(jié) 點向接收節(jié)點發(fā)送的數據流的數據丟失的方法。在發(fā)送數據流的數據單元之前,發(fā)送節(jié)點 標記每個數據單元,用于將數據流分成塊。尤其是,發(fā)送節(jié)點通過將其報頭的一位設置成 " 1"或"0"來標記每個數據單元。標記產生一系列塊,其中用" 1"標記的數據單元的塊與 用"0"標記的數據單元的塊在時間上交替。塊可以具有被稱為"塊周期"Tb(例如5分鐘) 的相同持續(xù)時間。另外,每次發(fā)送用"1"標記的數據單元時,發(fā)送節(jié)點將第一計數器Cl增 加一,并且每次發(fā)送用"0"標記的數據單元時,發(fā)送節(jié)點將第二計數器C0增加一。然后,標 記的數據單元在接收節(jié)點處被接收。每次接收節(jié)點接收到數據單元時,它檢查其標記,如果 標記是"1"則增加第三計數器C' 1,并且如果標記是"0",則增加第四計數器C' 0。計數器 Cl、C0、C' 1和C' 0的值被周期性地檢測并且檢測到的值被用于計算在每個塊周期中的數 據丟失。
[0010] WO2011/079857(以同一申請人的名義)公開了用于對從通信網絡的發(fā)送節(jié)點發(fā) 送到接收節(jié)點的數據流執(zhí)行時間測量(尤其是,用于測量單向延遲和/或單向抖動)的方 法。根據W0 2011/079857,在發(fā)送節(jié)點,除了以上由W0 2010/072251公開的標記操作之外, 發(fā)送時間戳也在每個塊周期生成,該發(fā)送時間戳指示當前塊的預定數據單元(例如,當前 塊的第一數據單元)被發(fā)送的時間。在接收節(jié)點,接收時間戳在每個塊周期生成,該接收時 間戳指示當前塊的預定數據單元被接收的時間。在每個塊周期,發(fā)送和接收時間戳被用于 計算影響當前塊的預定義數據單元的單向延遲。對連續(xù)數據單元生成的發(fā)送和接收時間戳 允許單向抖動的計算。
[0011] 代替測量單向延遲和單向抖動,已知測量沿兩個節(jié)點之間的雙向鏈路來回發(fā)送的 報文的雙向延遲和雙向抖動。雙向測量固有地就比單向測量更精確,因為它們不受兩個節(jié) 點之間缺乏同步的影響。這些測量通常對特設報文,即,具體而言是由兩個節(jié)點之一為執(zhí)行 測量而生成的人工報文,執(zhí)行。
[0012] IP網絡中的雙向延遲和雙向抖動通常是通過基于由RFC792(1981年9月)定義 的已知協(xié)議ICMP(互聯網控制消息協(xié)議)對特設報文應用已知的Ping函數來測量的。Ping 函數規(guī)定在兩個節(jié)點之一生成ICMP報文的序列。每個ICMP報文包括報文序號和指示該 ICMP報文被發(fā)送的時間的發(fā)送時間戳。然后,每個ICMP報文沿鏈路被來回發(fā)送。在發(fā)起其 的同一節(jié)點接收到每個ICMP報文時,生成接收時間戳。報文序號允許識別接收到的報文并 且檢測可能的接收序列錯誤。發(fā)送和接收時間戳允許計算雙向延遲和抖動。
[0013] 此外,由RFC4656 (2006年9月)定義的已知協(xié)議0WAMP(單向主動測量協(xié)議)和 由RFC5357(2008年10月)定義的TWAMP(雙向主動測量協(xié)議)分別允許在IP網絡中對 類似于"真實"報文(即,真正攜帶用戶流量的報文)的人工報文執(zhí)行單向測量和雙向測 量。不同于Ping功能,TWAMP協(xié)議規(guī)定在遠程節(jié)點處將兩個另外的時間戳插入每個人工報 文:一個時間戳指示該報文在該遠程節(jié)點被接收的時間并且一個時間戳指示該報文被該遠 程節(jié)點重發(fā)的時間。這允許在雙向延遲和抖動計算中考慮報文在遠程節(jié)點的處理時間。
【發(fā)明內容】
[0014] 申請人注意到,對人工報文而不是真實報文測量報文丟失、延遲和/或抖動有多 個優(yōu)點。
[0015]首先,真實報文的傳輸速率通常以不可預測的方式可變并且,因此,不可能預測在 負責對這種報文執(zhí)行測量的節(jié)點或計算機處可用的計算資源是否足以執(zhí)行測量。代替地對 人工報文執(zhí)行測量允許使報文傳輸速率適應在執(zhí)行測量的節(jié)點或計算機處可用的計算資 源量。
[0016]而且,真實報文可能易于有接收序列錯誤,這會損害測量精度。代替地使用人工報 文允許適當地選擇人工報文的傳輸速率(或者連續(xù)報文的發(fā)送間時間),從而防止任何接 收序列錯誤。
[0017] 此外,對真實報文執(zhí)行測量通常需要修改報文(尤其是,報文報頭),從而包括執(zhí) 行測量所需的信息。但是,這種修改要服從苛刻的限制,這是因為報文的格式通常是由國際 標準定義的。代替地人工報文可以以非常靈活的方式被定制/適應,從而包括執(zhí)行測量所 需的所有信息。例如,這種信息可以被插入到報文的報頭以及插入其凈荷。另一方面,當人 工報文用于測量目的時,攜帶用戶流量的真實報文有利地保持不變。
[0018] 而且,真實報文可能要經受由客戶決定的改變(例如,目的地或源地址的改變), 這可能使負責執(zhí)行測量的節(jié)點無法識別要測量的節(jié)點。這種改變應被通知給網絡運營商, 否則網絡運營商就無法正確地重新配置節(jié)點。代替地利用人工報文允許網絡運營商直接控 制與測量相關的所有方面,尤其是要測量的報文的特征。
[0019] 以上提到的用于基于人工報文測量延遲和/或抖動的已知技術(S卩,Ping和 0WAMP/TWAMP)提供了以上優(yōu)點,但是,另一方面,也呈現出進一步的缺點。
[0020] 關于已知的Ping功能,它可以僅應用于基于已知ICMP協(xié)議的報文。此外,它僅提 供雙向延遲和雙向抖動測量。而且,它相當不準確,因為雙向延遲和抖動測量沒有考慮人工 報文在遠程節(jié)點處的處理時間。
[0021] 關于已知協(xié)議OWAMP/TWAMP,0WAMP規(guī)定單向測量并且TWAMP允許考慮人工報文 在遠程節(jié)點處的處理時間。如以上所提到的,這后一個特征是根據TWAMP通過在遠程節(jié)點 接收和重發(fā)每個人工報文時在每個人工報文中插入兩個附加時間戳來實現的。但是,這種 附加時間戳和報文序號的插入和處理不利地增加了在測量中所涉及的節(jié)點處的計算量。而 且,基于0WAMP/TWAMP的測量本身就是不準確的,因為在由發(fā)起節(jié)點(并且在TWAMP中還由 遠程節(jié)點)生成的發(fā)送時間戳與報文實際被發(fā)送的時間之間存在不可預測的失配。
[0022] 而且,Ping函數和0WAMP/TWAMP協(xié)議都不允許執(zhí)行中間性能測量,S卩,對發(fā)起人工 報文的節(jié)點與接收和重發(fā)它們的遠程節(jié)點之間的鏈路的一部分的性能測量。
[0023] 鑒于上述情況,本申請人已經解決了提供用于基于人工流量對分組交換通信網絡 中的兩個測量點(節(jié)點或計算機)之間的鏈路執(zhí)行性能測量的方法的問題,該方法克服上 述缺陷當中至少一個,即,它提供了比Ping和0WAMP/TWAMP更準確的測量并且使得能夠對 鏈路的一個或更多個部分進行中間性能測量。
[0024] 在以下描述和權利要求中,表述"人工報文"或"特設報文"將指示明確用于測量 目的而發(fā)起并發(fā)送并且因此不攜帶任何用戶流量的報文。這種人工報文可以根據任何已知 的協(xié)議被格式化,尤其是或IS0-0SI或TCP/IP協(xié)議棧的傳輸層或層4的任何已知協(xié)議。例 如,人工報文可以根據TCP/IP協(xié)議棧的已知UDP(用戶數據報協(xié)議)被格式化。
[0025] 此外,在以下描述和權利要求中,術語"鏈路"將指示通信網絡的兩個節(jié)點之間的 連接,其中這種連接可以是物理連接或邏輯連接,可能包括多個中間節(jié)點和/或一個或更 多個中間網絡。
[0026] 此外,在以下描述和權利要求中,表述"執(zhí)行鏈路的性能測量"將指示測量以下的 操作:
[0027]-對經該鏈路發(fā)送的報文流引起的報文丟失;
[0028]-由于經該鏈路的傳輸對所述報文流的報文引起的單向延遲或雙向延遲;和/或
[0029] -由于經該鏈路的傳輸對一對報文引起的單向抖動或雙向抖動。
[0030] 此外,在以下描述和權利要求中,表述"標記報文"將指示將報文的特征設定為預 定義標記值的操作,尤其是設定為至少兩個備選標記值之一。例如,標記報文的操作可以 包括將報文的一個或更多個位(例如,其報頭的一個位或位序列)設定為至少兩個預定義 的備選標記值之一的操作、將其頻率或相位設定為至少兩個預定義的備選標記值之一的操 作,等等。
[0031] 根據第一方面,本發(fā)明提供了用于執(zhí)行連接通信網絡的第一節(jié)點和第二節(jié)點的鏈 路的性能測量的方法,該方法包括:
[0032] a)在開始性能測量之前,為第一節(jié)點和第二節(jié)點提供測量模式信息,測量模式信 息包括至少測量開始時間和報文傳輸速率;
[0033] b)在測量開始時間,生成并從第一節(jié)點向第二節(jié)點發(fā)送報文流,報文流包括多個 報文,其發(fā)送時間由測量開始時間和報文傳輸速率確定,生成和發(fā)送包括在第一塊周期期 間生成并發(fā)送第一報文和在第二塊周期期間生成和發(fā)送第二報文,其中第二塊周期在時間 上與第一塊周期交替;
[0034]c)在第一塊周期或第二塊周期的塊周期,在報文流在第二節(jié)點被接收時,通過使 用測量模式信息和檢測到的關于報文流的接收的信息,更新指示在該塊期間期間報文流的 行為的變量;及
[0035]d)在第一塊周期或第二塊周期的后續(xù)塊周期,利用在該塊周期結束時變量達到的 值計算指示在該塊周期期間報文流的性能的參數。
[0036] 優(yōu)選地,步驟b)包括用第一標記值標記第一報文并且用第二標記值標記第二報 文。
[0037] 更優(yōu)選地,報文流的每個報文包括標記字段,該標記字段在第一報文中被設定為 第一標記值并且在第二報文中被設定為第二標記值,該標記字段包括在報文的報頭或凈荷 之一當中。
[0038] 根據預定義的流量曲線,報文傳輸速率在時間上是常量或變量。
[0039] 優(yōu)選地,在步驟a),測量模式信息還包括塊周期持續(xù)時間Tb并且,在步驟b),第一 塊周期和第二塊周期具有等于塊周期持續(xù)時間Tb的持續(xù)時間。
[0040] 有利地,在步驟a),測量模式信息還包括報文類型并且,在步驟b),報文具有該報 文類型。
[0041] 根據有利的實施例,在步驟a),測量模式信息還包括選自以下的性能測量類型: 報文丟失測量、單向時延測量、單向抖動測量和雙向延遲測量。
[0042] 優(yōu)選地:
[0043]-步驟c)還包括計數在塊周期期間在第二節(jié)點處接收到的報文流的報文數量;及
[0044] -在步驟d),計算包括基于包括在測量模式信息中的報文傳輸速率計算在塊周期 期間由第一節(jié)點發(fā)送的報文流的報文數量,并且基于計算出的在塊周期期間由第一節(jié)點發(fā) 送的報文流的報文數量和計數的在塊周期(T(k))期間在第二節(jié)點接收到的報文流的報文 數量來計算在塊周期期間由報文流經歷的報文丟失。
[0045] 根據實施例:
[0046] -在步驟c),更新包括,在塊周期期間接收到報文流的每個報文時,檢測相應的接 收時間、基于包括在測量模式信息中的測量開始時間和報文傳輸速率計算相應的發(fā)送時 間,并且作為檢測到的接收時間與計算出的發(fā)送時間之差計算相應的單向延遲;
[0047]-在步驟c),更新包括,在塊周期期間接收報文流的每個報文時,利用相應的單向 延遲更新以下至少一個:累積單向延遲、最大單向延遲變量、最小單向延遲變量,和閾值延 遲計數器;及
[0048]-在步驟d),計算包括利用由以下至少一個在塊周期結束時達到的值:累積單向 延遲,最大單向延遲變量、最小單向延遲變量和閾值延遲計數器,來計算以下至少一個:在 塊周期期間報文流的平均單向延遲、在塊周期期間報文流的最大單向延遲、在塊周期期間 報文流的的最小單向延遲,以及在塊周期T(k)中相應的單向延遲高于閾值單向延遲的報 文的數量或百分比。
[0049] 根據實施例:
[0050] -在步驟c),更新包括,在塊周期期間接收到報文流的每對連續(xù)報文時,檢測其接 收之間所經過的時間、基于包括在測量模式信息中的報文傳輸速率計算其發(fā)送之間所經過 的時間,并且基于檢測到的其接收之間所經過的時間和計算出的其發(fā)送之間所經過的時間 計算相應的單向抖動。
[0051] -在步驟c),更新包括,在塊周期期間接收到報文流的每對連續(xù)報文時,利用相應 的單向抖動更新以下至少一個:最大單向抖動變量、最小單向抖動變量、最大閾值抖動計數 器和最小閾值抖動計數器;及
[0052] -在步驟d),計算包括利用由以下至少一個在塊周期結束時達到的值:最大單向 抖動變量、最小單向抖動變量、最大閾值抖動計數器和最小閾值抖動計數器,計算以下至少 一個:塊周期期間報文流的最大單向抖動、塊周期期間報文流的最小單向抖動、塊周期中其 相應的單向抖動高于最大閾值單向抖動的連續(xù)報文對的數量或百分比,以及塊周期中其相 應的單向抖動低于最小閾值單向抖動的連續(xù)報文對的數量或百分比。
[0053] 根據優(yōu)選變型,該方法還包括:
[0054] b')在測量開始時間,生成并從第二節(jié)點向第一節(jié)點發(fā)送另一報文流,該另一報文 流包括多個另外的報文,其發(fā)送時間由測量開始時間和報文傳輸速率確定,生成和發(fā)送包 括在第一塊周期期間生成并發(fā)送第一另外的報文并且在第二塊周期期間生成并發(fā)送第二 另外的報文;
[0055] c')在塊周期,在另一報文流在第一節(jié)點被接收時,通過利用測量模式信息和檢 測到的關于另一報文流的接收的信息,更新指示在塊周期期間另一報文流的行為的另一變 量;及
[0056] d')在后續(xù)塊周期,利用由該另一變量在塊周期結束時達到的值計算指示在塊周 期期間另一報文流的性能的另外的參數。
[0057] 優(yōu)選地