汪 軍 邢思杰 汪 青
摘要:近年來,隨著信息技術的迅猛發(fā)展、網(wǎng)絡應用大量增加,使得原來已經(jīng)存在的、龐大的數(shù)據(jù)傳輸量成倍增長。而優(yōu)化帶寬是滿足數(shù)據(jù)傳輸量增長的重要手段。IP組播和擁塞控制是優(yōu)化帶寬的重要通信手段。文章主要討論IP組播的路由選擇問題,指出了路由選擇的目的地址問題和回路問題的解決方法,以及解決擁塞控制的五種策略。
關鍵詞:IP組播,擁塞控制,反向路徑轉發(fā)
一、IP組播技術
。桑薪M播技術適用于多點到多點或一點到多點的數(shù)據(jù)傳輸業(yè)務,其基本原則是IP組播依托于IP協(xié)議完成;IP組播強制網(wǎng)絡在數(shù)據(jù)流分布樹的分叉處進行信息包復制,而不是由信息源節(jié)點多次重復地發(fā)送相同的數(shù)據(jù)包。
。保桑薪M播模型特征
·用戶的增加和去除不需要全局協(xié)調(diào),加入組播組僅需要為用戶設置一個IP組播地址。為了接收數(shù)據(jù),用戶在特殊IP組播交叉點中進行注冊,而不需要知道組中其它用戶的情況,路由對用戶隱藏了組播實現(xiàn)的細節(jié)。
·如果組播起源于同一個源,而終止于不同的用戶,且攜帶的數(shù)據(jù)相同,需要定義一個組播地址,讓網(wǎng)絡決定如何將源數(shù)據(jù)流發(fā)往組播地址,如何在它的鏈路上組織數(shù)據(jù)流傳輸,以最佳地利用帶寬。
·路由器建立分布樹,用于連接組播組所有成員,把那些尋址到組播組的IP分組一直轉發(fā)到具有組播組成員的網(wǎng)絡中,并解決組播路由選擇中的回路問題。
·發(fā)送者使用組播地址發(fā)送分組,發(fā)送方可以不知道接收方的任何信息,而只需要了解地址。一個組可有任何源。
。玻M播路由選擇
組播路由選擇是網(wǎng)絡的一個難題,這個難題的解決需要復雜的有時是難以處理的協(xié)議。
。ǎ保┙M播路由選擇的兩個基本問題
①目的地址問題
即如何讓網(wǎng)絡知道每個組的每個目的地址。如圖1所示每個路由器都連有某個組播組成員的主機。組中有一個成員發(fā)出組播數(shù)據(jù),每個主機使用Internet組播管理協(xié)議(IGMP:Internet
Group Manager
protocol)與直接相連的路由器通信。
當源發(fā)送組播分組給它的路由器1時,此路由器將分組轉發(fā)給網(wǎng)絡內(nèi)的另一個路由器2,路由器2將分組轉發(fā)給路由器3和與該路由相連接的目的主機;下一跳路由器運行與此相似。結果是每個主機都看到從組播源來的數(shù)據(jù)流。如果第3和第4個路由器沒有任何相連接的主機是組播組成員,第2個路由器不知道不應轉發(fā)分組給其余路由器,造成未加入組播組的地址也獲得了信息,目的地址不明確。其解決方法是運行Internet組播管理協(xié)議機制偵聽網(wǎng)絡,以獲知網(wǎng)絡上哪些節(jié)點需要接收組播通信協(xié)議。IGMP具有兩個功能:將組播成員消息報告給緊接鄰域多播路由器;構建主機和路由器的組播群。
、诮M播路由回路問題
如圖2所示的有4個路由器的網(wǎng)絡中,假設路由器向所有需要組播數(shù)據(jù)流的路由器或主機所在的接口轉發(fā)數(shù)據(jù)流,由于路由器除與主機相連接以外,還相互連接,結果是產(chǎn)生了組播路由選擇回路,造成鏈路的帶寬完全消耗在數(shù)據(jù)流的傳輸上。
。ǎ玻┓聪蚵窂睫D發(fā)
反向路徑轉發(fā)(RPF:Reverse
Path
Forwarding)的基本思想是從每個目的地構建返回到源的最短路徑,組播分組轉發(fā)給所有接口(未用接口除外)。如果組播分組抵達的接口不是返回到源端的最短路徑,則拋棄該分組。距離矢量組播路由協(xié)議(DVMRP:Distance
Rector Multicast Routing
Protocol)是IP組播廣泛使用的路由協(xié)議,它使用反向路徑轉發(fā)來做出組播通信轉發(fā)的決定。反向路徑轉發(fā)是防止組播路由選擇回路的一種方法。它是這樣工作的:當路由器收到組播分組時,查看此分組是否在最短返回源路徑的接口上。如果不是,則丟棄該分組;如果是,則轉發(fā)分組到接口或者路由器。使用反向路徑轉發(fā)后組播的工作過程(圖3)如下。
、偈紫冉M播源發(fā)送一個分組給路由器1,然后路由器1將其轉發(fā)給路由器2和路由器4。
、诼酚善鳎餐ㄟ^它的單播路由選擇表確定路由器1是在最接近源的接口上收到的,然后它將分組轉發(fā)給直接相連的接收方,此接收方用Internet組管理協(xié)議加入該組。路由器2也轉發(fā)分組給路由器3。
、勐酚善鳎聪衤酚善鳎惨粯,用它的單播路由選擇表示確定路由器1的分組是在最接近源的接口上收到的。然后,它將分組轉發(fā)給直接相連的接收方,此接收方用Internet組管理協(xié)議加入該組。路由器4也將分組轉發(fā)給路由器3。
、苈酚善鳎呈盏铰酚善鳎埠吐酚善鳎吹慕M播分組,查找路由選擇表確定哪一個路由器最接近源主機。路由器3選擇了連接到路由器4的通道,即使連到路由器2的通道到源主機的距離相同,然后路由器3轉發(fā)組播分組給路由器4和直接相連接的目的主機2。
、萋酚善鳎词盏铰酚善鳎车慕M播分組,確定該分組不是在最近組播源的接口上收到的,結果丟棄該分組。
應用IP組播,用戶只需發(fā)送自己信息的一個拷貝到所有接收者的IP組播地址中,這顯然最佳地利用了網(wǎng)絡帶寬。IP組播還可以大大減少發(fā)送服務器的負擔。IP組播通過分布樹能有效地進行一對多的數(shù)據(jù)流傳輸,在這種分布樹中,兩個路由器之間僅需一條傳輸路徑,數(shù)據(jù)流只在路徑分叉點時才被拷貝。
當某主機希望加入該組時,主機發(fā)送Internet組播管理協(xié)議加入報文給了解組播源的路由器,路由器發(fā)送一個距離矢量組播路由協(xié)議嫁接報文以便開始接收必需的組播通信,嫁接報文被發(fā)往上行流直到它們找到分布樹。此分布樹將一個組播中的分組傳遞給該組成員。就發(fā)送者而言,僅需要簡單發(fā)送一個以相應組播組地址為目的地址的單個IP分組,剩下的工作都由路由器來完成,其規(guī)模可以從一個接收者擴展到數(shù)個接收者。如果路由器發(fā)現(xiàn)所有直接相連的組播主機都離開該組,并且沒有下行流路由器依賴于組通信,則路由器發(fā)送一個剪枝消息給上行流以關閉通信,發(fā)送者根本不用關心組成員的變化。
二、IP組播擁塞控制
IP組播擁塞控制問題的重要性,隨著IP組播日益廣泛的應用需求而變得越來越迫切。TCP基于窗口的端到端的擁塞控制對于Internet的穩(wěn)定性起到了關鍵性作用,但是隨著Internet迅猛發(fā)展,其網(wǎng)絡規(guī)模越來越龐大,結構日益復雜,僅僅依靠端到端的擁塞控制是不夠的,網(wǎng)絡必須參與資源的控制工作。
目前IP組播擁塞控制策略是在路由器中采用包調(diào)度算法結合緩存管理技術,由此而產(chǎn)生了幾種IP處理的方法,現(xiàn)分別介紹如下。
。保冗M先出
先進先出(FIFO)提供了基本的存儲轉發(fā)功能,也是目前Internet使用最廣泛的一種方式,它在網(wǎng)絡擁塞時存儲分組,在擁塞解除時按分組到達順序轉發(fā)分組。它采用默認的排隊方法,因此不需要配置。其缺點是不提供QoS功能,對突發(fā)數(shù)據(jù)流在傳輸時間要求嚴格時,應用程序會引起過多的延遲,并對突發(fā)性的、存在包丟失的連接公平性較差,對上層的TCP快速恢復的效率也較低。
。玻畠(yōu)先級排隊算法
優(yōu)先級排隊(PQ:Priority
Queuing)算法是在禁止其它流量的前提下,授權一種類型的流量通過。使用優(yōu)先級排隊算法給路由接口上傳輸?shù)臄?shù)據(jù)分配優(yōu)先級,當有空閑路由時,路由就來回掃描所有隊列,將高優(yōu)先隊級列數(shù)據(jù)發(fā)出;只有當高優(yōu)先級隊列空了以后,才能為低優(yōu)先級服務;如果優(yōu)先級隊列滿,則扔掉數(shù)據(jù)包,路由器不處理。優(yōu)先級排隊算法適用于網(wǎng)絡鏈路不斷阻塞的情況。
優(yōu)先級排隊算法的帶寬分配獨立于數(shù)據(jù)包大小。因此它在沒有犧牲統(tǒng)計利用的情況下提供另外的公平性,與端到端的擁塞控制機制可以較好地協(xié)同,它的缺點在于實現(xiàn)起來很復雜,需要每個數(shù)據(jù)流的排隊處理、流狀態(tài)統(tǒng)計、數(shù)據(jù)包的分類以及包調(diào)度的額外開銷等。
3.定制排隊
定制排隊是為允許具有不同最低帶寬和延遲要求的應用程序共享網(wǎng)絡而設計的。定制排隊為不同的協(xié)議分配不同的隊列空間,并以循環(huán)方式處理隊列;為特定的協(xié)議分配較大的隊列空間可以提高其優(yōu)先級。定制排隊比優(yōu)先級更為公平。
定制排隊可以保證每一個特定的通信類型得到固定部分的可用帶寬,同時在鏈路緊張的情況下,避免數(shù)據(jù)包企圖占用超出預分配量限制的可能。
。矗訖喙脚抨
加權公平排隊(WFQ:Weighted
Fair
Queuing)用于減少延遲變化,為數(shù)據(jù)流提供可預測的吞吐量和響應時間。目標是為輕載網(wǎng)絡用戶和重載網(wǎng)絡用戶提供公平一致的服務,保證低權值的響應時間與高權值的響應時間一致。
加權公平排隊是一種基于數(shù)據(jù)流的排隊算法,它能識別交互式應用的數(shù)據(jù)流,并將應用的數(shù)據(jù)流調(diào)度到隊列前部,以減少響應時間。WFQ與定制排隊和優(yōu)先級排隊不同,能自動適應不斷變化的網(wǎng)絡通信環(huán)境,幾乎不需要人工配置。
5.隨機先期檢測
前面介紹的排隊機制是基本的擁塞控制策略,盡管這些技術對控制擁塞是必需的,但它們對避免擁塞現(xiàn)象的發(fā)生都顯得無能為力。
隨機先期檢測(RED:Random
Early
Detection)監(jiān)視網(wǎng)上各點的通信負載,如果擁塞增多,就隨機丟棄一些分組;當源分布點檢測到通信丟失,便降低傳輸速率。它可以在各連接之間獲得較好的公平性,對突發(fā)業(yè)務適應性較強。
6.加權隨機先期檢測
加權隨機先期檢測(WRED:Weighted
Random Early
Detection)是將隨機先期檢測與優(yōu)先級排隊結合起來,這種結合為高優(yōu)先級分組提供了優(yōu)先通信處理能力。當某個接口開始出現(xiàn)擁塞時,它有選擇地丟棄較低優(yōu)先級的通信,而不是簡單地隨機丟棄分組。
總之,在傳統(tǒng)TCP擁塞控制中,結合IP層擁塞控制算法,將是完善Internet擁塞控制最有效的途徑,但其發(fā)展還有待進一步研究。
摘自《現(xiàn)代電信科技》