專利名稱:用于實時服務的優先序識別的方法和設備的制作方法
技術領域:
本發明涉及在IP網絡中對數據分組進行優先排序。
互聯網協議(IP)網絡中的服務質量(QoS)是由IP網絡為通過所述 IP網絡傳送的不同數據流所提供的吞吐量保障(即受保障的吞吐量水 平)。
諸如路由器之類的網絡組件常常依賴于分組的IP報頭中的指示機制 來正確地路由所述分組。存在幾種IP分組標準(或者版本)。例如, 分組可以遵循由互聯網協議第4版(IPv4)所定義的標準(即IPv4分 組),或者遵循由互聯網協議第6版(IPv6)所定義的標準(即IPv6 分組)。
圖1是IPv4分組報頭100的方框圖,其包括服務類型(TOS )字段104。 所述TOS字段104用于因特網服務質量選擇。通過諸如優先序 (precedence)、延遲、吞吐量和可靠性之類的參數來指定服務類型。 所述IPv4報頭100還包括生存時間(TTL)字l殳108。所述TTL字段108 包含這樣的值,該值向網絡路由器或交換機表明該分組是否已經在所述 網絡中存在太久并且應當被丟棄。出于多種原因,分組可能無法在合理 的時間長度內被遞送到其目的地。例如,不正確的路由表可能導致分組 在兩個路由器之間無止盡地循環。 一種解決方案是在一定時間之后丟棄 該分組。初始的TTL值108被設置在所述分組報頭的8比特字段中。由 于要求每一個路由器從所述TTL字段中減去至少一個計數,因此所述計 數通常被用來指示在必須丟棄所述分組之前允許該分組經歷的路由器 跳數。
圖2是IPv6報頭200的方框圖,其包括通信量分類(TC)字段204。 所述IPv6報頭2GG還包括跳數極限字段208。所述跳數極限字段208表 明所述分組在被丟棄之前所能行經的最大跳數。所述跳數極限字段208 類似于IPv4分組中的TTL值。
圖3 (a)提供了 IPv4 TOS字|殳104的更多細節。所述TOS字段104 包括優先序字段304和優先級字段306。所述優先序字段304是被用來對IPv4分組進行優先級排序的字段。所述優先序字段304指定所述網 絡是否利用所述優先級字段306來確定分組的優先級,或者指定是否忽 略所述優先級字段306并且所述網絡不確定分組的優先級。所述優先級 字段306允許所述網絡利用存在于該網絡內的各種排隊和擁塞控制機制。
圖3 ( b)提供了 IPv6 TC字段204的更多細節。所述TC字段204可 以由始發路由器和/或轉發路由器使用來識別IP v 6分組的不同分類或優 先級并且在其間進行區分。所述TC字段204被用來提供用于IPv6分組 的各種形式的"區別服務"。區別服務代碼點(DSCP)或DiffServe是 每一個IP分組的報頭中的標記,其提示網絡路由器對于各分組流應用 有區別的服務等級,從而根據不同的每跳行為(PHB)來轉發它們。這 樣使得因特網以及其他基于IP的網絡服務供應商能夠為顧客及其信息 流提供有區別的服務等級。DiffServ也已經被實現在IPv4分組的TOS 字段中。
當分組進入IP路由器時,其IP報頭被檢查。所述檢查確定下一跳以 及從當前路由器轉發該分組的優先級。通過解譯對于IPv4分組的TOS 字段104的優先序字段304和優先級字段306以及IPv6分組的TC字段 204中的區別服務代碼點(DSCP)值來確定所述優先級。如果分組的報 頭字段沒有提供用于確定其優先級的足夠引導,則執行深度分組檢查以 便獲得可以作為優先級判定的依據的更多信息。
分組的優先級影響到該分組何時被調度傳送到其下 一跳。在有線網絡 中,分組調度任務是(在恒定的功率、數據速率下并且通過一條共享信 道)把分組與時隙相關聯。在無線網絡中,分組調度可以比其更具一般 性其功能是在傳送分組時調度諸如時隙、功率、數據速率、信道或其 組合之類的資源。具體來說,基于源的特性、QoS要求、信道狀態和/ 或隊列長度,無線調度器為分組分配時隙、功率、數據速率和/或信道 以供傳輸。
實時傳送協議UTP)是一種用于傳送諸如音頻和視頻之類的實時數 據的因特網協議。RTP支持流送數據。為了通過無線信道調度RTP語音 流,發送所述語音流的路由器需要知道所述分組在目的地路由器處的預 定時間(即該分組的最終期限)。但是RTP語音流的分組可能被加密。 如果所述語音流被加密,則無法從所述分組中獲取所述最終期限。具體來說,如果分組被加密,則涉及到分組檢查的任何方法通常都將是無效 的,這是因為由于所述加密而無法獲得關于所述分組數據的重要性的附 力口^口i口、。
無線鏈路通常是所述網絡中的第 一 條鏈路或者最后 一條鏈路。多數
QoS常常由最后一個無線跳躍節點(例如路由器)的行為決定。所述最 后一個無線跳躍節點通常不能單獨使用分組的報頭來確定某一分組在 相同服務集合的各分組(例如與單一互聯網協議語音(VoIP)電話呼叫 相關聯的各分組)當中的相對重要性。
因此,仍然需要一種在最后 一個跳躍節點處識別分組的優先級的改進 方式。
發明概要
本發明是一種用于通過具有多跳的網絡路徑把數據分組從源傳送到 目的地的方法和設備。與所述數據分組相關聯的重放延遲與所述跳數的 和被存儲在該數據分組的報頭中。通過所述網絡路徑把所述數據分組從 所述源傳送到所述目的地。
在一個實施例中,在所述源處計算所述重放延遲與所述跳數的和。可 替換地,可以在所述目的地處計算所述和。
在一個實施例中,在所述重放延遲與所述跳數的和過期之前、在VoIP 電話呼叫期間處理(例如由無線電話播放)所述數據分組。所述重放延 遲與所述跳數的和可以被存儲在所述分組的報頭的TTL字段中。例如可 以通過由所述源對所述目的地進行脈沖探測(ping)來確定所述跳數。 可以根據所述重放延遲和所述跳數來確定所述數據分組的優先級。
通過參照下面的詳細描述和附圖,本領域技術人員將認識到本發明的 上述和其他優點。
附圖簡述
圖1是現有技術IPv4分組報頭的方框圖; 圖2是現有技術IPv6分組報頭的方框圖3 ( a )是分組的IPv4報頭的現有技術服務類型(T0S )字段的方框 圖3 (b)是分組的IPv6報頭的現有技術通信量分類(TC)字段的方框圖4是根據本發明的實施例的由傳送路由器向目的地路由器傳送分組 的方框圖5是根據本發明的實施例的用于調度分組的最終期限所執行的各步 驟的流程先級的由目的地路由器所執行的各步驟的流程圖;以及 圖7是根據本發明的實施例的計算機的高級別方框圖。
i羊纟田^笛ii
根據本發明的實施例,圖4示出了從發送節點4 04發送到接收節點406 的通信的方框圖。在一個實施例中,所述發送節點404和/或接收節點 406是無線電話。所述發送節點404把分組傳送到傳送路由器408 (例 如基站路由器(BSR))。所述傳送路由器408可以把分組的T0S或TC 字段設置成DiffServ順從。
所述傳送路由器408隨后把所述TTL值設置到預定的最大值(即 TTLMAX)。該預定的最大值可以是在所述傳送路由器408與目的地路由器 "4 (例如BSR )之間協商的參數(TTL咖)(例如在會話發起協議(SIP ) /會話描述協議(SDP)會話協商中)。可替換地,所述預定的最大值可 以是默認的最大值。
所述分組隨后被傳送到第二跳412、第三跳416和第四跳420。這些 跳412、 416、 420中的每個例如可以是路由器或交換機。每一個路由器 412、 416、 420從所述分組的報頭的TTL字段中減1。所述分組隨后被 發送到所述目的地路由器424。該目的地路由器424提取所接收的TTL (即TTLRX)。在一個實施例中,所述目的地路由器424隨后確定跳5^計 數。根據以下公式來確定所述跳躍計數
跳數^TUx-TTU
或者根據以下公式來確定所述跳躍計數 跳數4TL,-TTLRX
所述目的地路由器424包括調度器428。該調度器428確保分組在其 跳躍計數窮盡之前到達所述接收節點406。所述調度器428使用所述跳 躍計數來確定其在調度所述分組方面具有多少靈活性。對于每一個分組時間(即與分組相關聯的預定的時間間隔),所述調度器428從所述跳 躍計數中減1。
所述目的地路由器424隨后把對于后續的各實時(RT)分組的TTL值 設置到TT1^跳數+1。所述目的地路由器424隨后對TTUx執行連續的檢 查。如果TTU-O,則所述目的地路由器424重新評估所述跳躍計數并 且在必要時重新計算跳數。如果TTU =0,則所述目的地路由器424繼 續使用TTL-跳數+l。
雖然在上面被描述為使用所述TTL字段,但是本發明也適用于IPv6 分組,并且特別適于使用所述跳數極限字段。正如下面更加詳細地描述 的那樣,本發明的實施例與所述TTL或跳數極限字段相結合地使用所述 T0S或TC字段。
圖5的流程圖示出了根據本發明的實施例的用于確定語音流分組的最 終期限所執行的各步驟。由于使用了經過修改的TTL (或跳數極限)字 段,因此不需要進行深度分組檢查來確定分組的最終期限。
首先,在步驟504中確定所述語音分組通過IP網絡從所述傳送路由 器408行進到所述目的地路由器424所需要的跳數。在一個實施例中, 所述傳送路由器408對所述目的地路由器424進行脈沖探測以便確定所 述跳數。確定所述跳數的原因是所述目的地路由器424隨后使用所述傳 送路由器408與所述目的地路由器424之間的IP路由器跳3夭計數來確 定所述分組的最終期限。
接下來,由所述目的地路由器424確定處理所述分組(例如在無線電 話上輸出)所需要的時間段。典型的VoIP應用把到來的分組緩沖在播 放緩沖器中并且延遲其播放,以便補償可變的網絡延遲(即抖動)。這 允許最慢的分組及時到達以供播放。在步驟508中確定由所述目的地路 由器424所施加的重放延遲的長度(即所述播放緩沖器的長度)。
在所述目的地路由器424中確定所述播放緩沖器長度的原因是為了允 許確定需要把多少額外的"虛擬"跳躍加到所述跳躍計數中以便指示所 述分組的最終期限。確定"虛擬"跳躍是針對所述播放緩沖器把這樣的 數量加到所述TTL字段中,該數量等效于針對一跳被加到所述TTL字段 中的數量。
例如,如果所述傳送路由器與所述目的地路由器之間的跳躍計數是N 跳,并且所述目的地路由器中的播放緩沖器是X個分組,則需要把所述跳躍計數設置到N+X。因此,X代表所述分組與其他分組相比的相對重要性。
隨后在步驟512中把在由所述目的地路由器接收到所述分組時所剩余 的跳躍計數用作指示符,以便向所述調度器指示分組的最終期限。在所 述語音分組通過所述IP網絡從所述傳送路由器行進到所述目的地路由 器時,每一個IP路由器從由所述傳送路由器設置的跳躍計數中減1。
所述目的地路由器接收到跳躍計數X。如上所述,該目的地路由器隨 后使用該剩余的跳躍計數X作為指示符,以便向所述無線信道調度器指 示該調度器在調度所述分組方面有多少靈活性。對于每一個分組時間, 所述無線信道調度器從X中減1。與X的較小值相比,如果X較大,則 所述無線信道調度器可以使用更為激進的調度機制在終端處遞送所述 分組。X代表所述分組的相對重要性,這是因為隨著X增大,所述調度 器在必須使用所述分組之前就有更多的時間。類似地,隨著X減小,所 述調度器在必須使用所述分組之前所具有的時間就越少。結果,X代表 所述分組的重要性(也就是說,分組越重要,X就越低)。
對于由所述接收節點406傳送到所述發送節點404的分組適用相同的 處理。因此,當所述目的地路由器424接收到來自所述接收節點406的 分組以供傳送到所述發送節點404時,該目的地;洛由器424已經"知道" 應當基于該目的地路由器424先前從所述傳送路由器408接收的一個 (或多個)分組把該分組的跳躍計數設置到什么值。 一旦設置了該跳躍 計數之后,所述傳送路由器408就接收所述分組,并且可以在步驟512 中確定該分組例如具有高優先級并且需要被快速遞送到所述發送節點 404。
圖6示出了由所述目的地路由器424在接收到分組時所執行的各步驟 的流程圖。所述目的地路由器424在步驟604中接收來自所述IP網絡 的入站分組,并且在步驟608中檢查所述TOS (或TC )字段以及所述TTL (或跳數極限)字段。所述目的地路由器524隨后在步驟612中確定所 述TOS (或TC)字段是否等于"立刻"或"優先"。如果在步驟612中 所述TOS字段不等于"立刻"或"優先",則所述目的地路由器424 (即 所述調度器428 )在步驟614中使用"普通,,優先級處理方法。普通優 先級處理方法包括令所述分組按照該分組進入到目的地路由器的隊列 中的順序經過該隊列(例如在所述TTL字段高到足以使得該TTL字段在被發送出所述目的地路由器424之前不會減小到零的情況下)。
如果在步驟612中所述T0S字段="立即"或"優先",則所述目的 地路由器424在步驟616中確定是否有TTL-O。如果是的話,則該目的 地路由器424 (即所述調度器428 )在步驟620中對所述分組進行優先 級排序以供傳送(即對所述分組進行加速)。所述目的地路由器424通 過在該目的地路由器的隊列中上移所述分組來加速該分組,以便盡可能 快地"播放"該分組。如果不是的話,則所述目的地路由器424在步驟 624中對于所述分組使用普通優先級排序傳送。所述目的地路由器424 還可以接收來自所述接收節點406的分組。在發生這種情況時,該目的 地路由器424把所述TTL字段遞減1 (即普通TTL處理行為)。
前面的描述在實現本發明的實施例所需要的處理步驟方面描述了本 發明的實施例。這些步驟可以由適當編程的計算機執行,其中對于所述 計算機的配置在本領域中是公知的。例如可以利用公知的計算機處理 器、存儲器單元、存儲設備、計算機軟件以及其他組件來實現適當的計 算機。在圖7中示出了這種計算機的高級別方框圖。計算機702包含處 理器704,其通過執行定義計算機702的總體操作的計算機程序指令來 控制所述操作。所述計算機程序指令可以被存儲在存儲設備712 (例如 磁盤)中,并且在期望執行所述計算機程序指令時將其加載到存儲器710 中。計算機702還包括一個或多個接口 706以用于與其他設備進行通信 (例如進行本地通信或者通過網絡進行通信)。計算機702還包括輸入 端/輸出端7 08,其代表允許用戶與所述計算機7 02進行用戶交互的設備 (例如顯示器、鍵盤、鼠標、揚聲器、按鈕等等)。本領域技術人員將 認識到,實際計算機的實現方式還將包含其他組件,并且圖7是用于說 明性目的的對于這種計算機的某些所述組件的高級別表示。例如,計算 機702可以表示圖4的傳送路由器和/或接收路由器。此外,本領域技 術人員將認識到,可以利用專用的硬件來實現這里所描述的各處理步 驟,其中特別針對實現這種處理步驟來配置所述專用硬件的電路。可替 換地,可以利用硬件與軟件的各種組合來實現所述處理步驟。此外,所 述處理步驟可以在計算機中發生,或者可以是更大的機器的一部分。
前面的詳細描述應當在每一方面都#:理解為是說明性和示例性而非 限制性的,不應當從所述詳細描述中確定這里所公開的本發明的范圍, 而應當從根據專利法所允許的完全寬范圍所解釋的權利要求書中確定本發明的范圍。應當理解,這里所示出及描述的實施例僅僅用于說明本 發明的原理,在不偏離本發明的范圍和精神的情況下可以由本領域技術 人員做出多種修改。本領域技術人員可以在不偏離本發明的范圍和精神 的情況下實現多種其他特征組合。
權利要求
1、一種用于通過包括多跳的網絡路徑把數據分組從源傳送到目的地的方法,該方法包括在所述數據分組的報頭中存儲與所述數據分組相關聯的重放時間與所述跳數的和;以及通過所述網絡路徑把所述數據分組從所述源傳送到所述目的地。
2、 權利要求1的方法,還包括在所述源和所述目的地的至少其中 之一處計算所述和。
3、 權利要求1的方法,還包括根據所述重放時間和所述跳數來確 定所述數據分組的優先級。
4、 權利要求1的方法,其中,所述存儲還包括在所述數據分組的 所述報頭的生存時間(TTL)字段和跳躍計數字段的至少一個中存儲所述和o
5、 權利要求l的方法,還包括使用所述和來確定調度順序。
6、 權利要求1的方法,還包括確定與所述數據分組相關聯的所述 重放時間。
7、 一種用于通過包括多跳的網絡路徑把數據分組從源傳送到目的地 的系統,該系統包4舌放時間與所述跳數的和并且被配置成通過所述網絡路徑把所述數據分 組傳送到所述目的地的源。
8、 權利要求7的系統,還包括處理器,所述處理器^L配置成確定與 所述數據分組相關聯的所述重放時間。
9、 權利要求7的系統,其中,在所迷重放時間與所述跳數的所述和 過期之前所述目的地處理所述數據分組。
10、 權利要求7的系統,其中,所述目的地根據所述重放時間和所述 跳數來確定所述數據分組的優先級。
全文摘要
本發明公開了一種用于通過具有多跳的網絡路徑把數據分組從源傳送到目的地的系統和方法。與所述數據分組相關聯的重放延遲與所述跳數的和被存儲在該數據分組的報頭中。通過所述網絡路徑把所述數據分組從所述源傳送到所述目的地。
文檔編號H04L12/56GK101479998SQ200780023628
公開日2009年7月8日 申請日期2007年6月19日 優先權日2006年6月23日
發明者L·G·薩穆爾, P·博世 申請人:盧森特技術有限公司