專利名稱:一種基于網(wǎng)絡(luò)編碼的多播路由構(gòu)造方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)信息傳輸方法技術(shù)領(lǐng)域,具體涉及基于網(wǎng)絡(luò)編碼的多播路由構(gòu)造方法。
背景技術(shù):
傳統(tǒng)的多播路由構(gòu)造,例如距離矢量多播路由協(xié)議(DVMRP :Distance Vector Multicast Routing Protocol)禾口稀疏模式獨立組播協(xié)、議(PIM-SM =Protocol Independent Multicast-Sparse Mode)都是通過構(gòu)建多播樹實現(xiàn)的,在多播樹中信源節(jié)點到每個信宿節(jié)點僅有一條傳輸鏈路,因而這些路由構(gòu)造方法無法充分利用網(wǎng)絡(luò)帶寬資源,最終使得基于這些路由協(xié)議的多播傳輸容量遠遠達不到“最大流最小割”(MAX-FLOW MIN-⑶Τ)定理確定的最大理論傳輸容量 ^multicast°
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種基于網(wǎng)絡(luò)編碼的多播路由構(gòu)造方法,通過分布式的構(gòu)造組播圖來維護組播路由表,以克服現(xiàn)有技術(shù)的上述不足,大幅度提高多播傳輸容量,并能使基于此方法的多播傳輸容量從理論上接近最大傳輸容量Fmulti。ast。本發(fā)明基于網(wǎng)絡(luò)編碼的多播路由構(gòu)造方法,通過路由器之間的交互構(gòu)造路由表, 其特征在于采用以下操作步驟第一步組播信源廣播步驟對于一個網(wǎng)絡(luò)G(V,Ε)中的某個單源組播,其中信源是s( e V),信宿節(jié)點集合 D(DeV);信源s創(chuàng)建路徑收集報文PCmsg(Path Collect Message)并向網(wǎng)絡(luò)G中周期性的廣播出去,該路徑收集報文PCmsg中,含有路徑信息字段來記錄報文的行走路徑,含有路徑長度PL(Path Length)字段來記錄報文從信源開始的最遠行走距離,含有生存時間 TTL(Time To Live)字段來限制應(yīng)用網(wǎng)絡(luò)拓?fù)涞拇笮?,含有報文類型Type字段來區(qū)分報文類型;第二步組播中間節(jié)點轉(zhuǎn)發(fā)步驟非源節(jié)點集合M = V-{s}中每一個節(jié)點收到路徑收集報文PCmsg后,首先對報文進行以下檢查先根據(jù)報文中攜帶的路徑信息,判斷是否有環(huán)若有環(huán),則丟棄此報文,若沒有環(huán), 則繼續(xù)以下處理;然后判斷生存時間TTL字段是否為0,若為0,則丟棄此報文,若不為0,則繼續(xù)以下處理; 接著對于每個非報文來源端口做如下操作先將路徑信息添加到路徑收集報文PCmsg的尾部,修改生存時間TTL字段等于原值減1,修改路徑長度PL字段等于原值加1,最后將報文從這個端口轉(zhuǎn)發(fā)出去;第三步組播信宿選取PCmsg步驟
每個信宿設(shè)置一個路徑收集報文PCmsg計時器,收到本輪廣播的第一個路徑收集報文PCmsg后開始設(shè)置,計時器超時后,在滿足選中的路徑收集報文PCmsg中的路徑信息之間不能存在交叉的情形下,信宿從收到的所有路徑收集報文PCmsg中選取盡可能多的路徑收集報文PCmsg并保存起來供第四步使用;第四步組播信宿創(chuàng)建反饋報文FBmsg步驟對第三步中選取的每個路徑收集報文PCmsg做以下操作先將報文類型由路徑收集報文PCmsg修改為反饋報文FBmsg (FeedBack Message),然后將生存時間TTL字段修改為路徑當(dāng)前位置PCL O^ath Current Location)字段,并置其值為報文中的路徑長度PL字段值,最后將修改后的報文從其收到的端口發(fā)送出去;第五步組播中間節(jié)點轉(zhuǎn)發(fā)反饋信息對非源節(jié)點集合M = V-{s}中的每一個中間節(jié)點每收到一個反饋報文FBmsg后做以下操作先根據(jù)報文攜帶的路徑信息維護多播路由表,然后將報文的路徑當(dāng)前位置PCL字段設(shè)置為原值減1,最后根據(jù)報文攜帶的路徑信息將報文按曾經(jīng)收到對應(yīng)的路徑收集報文 PCmsg的端口轉(zhuǎn)發(fā)出去;第六步組播信源確定發(fā)送端口步驟信源設(shè)置一個反饋報文FBmsg計時器,在收到本輪廣播后的第一個反饋報文 FBmsg后開始設(shè)置,計時器超時后,根據(jù)收到的所有反饋報文FBmsg,并在滿足所有信宿從選取的端口中收到反饋報文FBmsg數(shù)目的最小值盡量大的情形下,信源選取盡量少的端口,然后用這些端口作為發(fā)送端口來構(gòu)建信源的路由表。走完了以上的六個步驟,每個中間路由器建立并維護了自己的路由表,組播的源節(jié)點也知道了發(fā)送端口,至此一次路由建立完成。本發(fā)明方法通過構(gòu)建組播圖,使得信源到每個信宿可能找到多條傳輸路徑,從而使得基于此路由查找方法構(gòu)建的路由的數(shù)據(jù)傳輸效率較大。不同信宿獨立計算出的點離散路徑可能會存在相交,在相交鏈路的上游節(jié)點應(yīng)用網(wǎng)絡(luò)編碼可以有效減少發(fā)送報文數(shù)目, 進一步提高數(shù)據(jù)傳輸效率。通過算法仿真分析和模擬數(shù)據(jù)傳輸分析結(jié)果,得出采用本發(fā)明方法構(gòu)造的路由比基于距離矢量多播路由協(xié)議DVMRP構(gòu)造的路由,對同一個文件的組播傳輸,其傳輸時間可以減少40%以上。
具體實施例方式下面通過具體實施例對本發(fā)明基于網(wǎng)絡(luò)編碼的多播路由構(gòu)造方法作進一步的詳細說明。實施例1 本發(fā)明基于網(wǎng)絡(luò)編碼的多播路由構(gòu)造方法,是通過路由器之間的交互構(gòu)造路由表,具體采取以下操作步驟第一步組播信源廣播步驟對于一個網(wǎng)絡(luò)G(V,Ε)中的某個單源組播,其中信源是s( e V),信宿節(jié)點集合 D(DeV);
信源s創(chuàng)建路徑收集報文PCmsg(Path Collect Message)并向網(wǎng)絡(luò)G中周期性的廣播出去,其中PCmsg含有廣播代Generation字段來區(qū)分不同的廣播時間,含有路徑信息來記錄報文的行走路徑,含有路徑長度PL (Path Length)字段來記錄報文從信源開始的最遠行走距離,含有生存時間TTL字段來限制使用網(wǎng)絡(luò)拓?fù)涞拇笮。袌笪念愋蚑ype字段來區(qū)分報文類型,報文格式如下表1所示
表1、路徑收集報文PCmsg格式
權(quán)利要求
1. 一種基于網(wǎng)絡(luò)編碼的多播路由構(gòu)造方法,通過路由器之間的交互構(gòu)造路由表,其特征在于采用以下操作步驟 第一步組播信源廣播步驟對于一個網(wǎng)絡(luò)G(v,Ε)中的某個單源組播,其中信源是s( e V),信宿節(jié)點集合 D(DeV);信源s創(chuàng)建路徑收集報文PCmsg并向網(wǎng)絡(luò)G中周期性的廣播出去,該路徑收集報文 PCmsg中,含有路徑信息字段來記錄報文的行走路徑,含有路徑長度PL字段來記錄報文從信源開始的最遠行走距離,含有生存時間TTL字段來限制應(yīng)用網(wǎng)絡(luò)拓?fù)涞拇笮?,含有報文類型Type字段來區(qū)分報文類型; 第二步組播中間節(jié)點轉(zhuǎn)發(fā)步驟非源節(jié)點集合M = V-{s}中每一個節(jié)點收到路徑收集報文PCmsg后,首先對報文進行以下檢查先根據(jù)報文中攜帶的路徑信息,判斷是否有環(huán)若有環(huán),則丟棄此報文,若沒有環(huán),則繼續(xù)以下處理;然后判斷生存時間TTL字段是否為0,若為0,則丟棄此報文,若不為0,則繼續(xù)以下處理;接著對于每個非報文來源端口做如下操作先將路徑信息添加到路徑收集報文PCmsg的尾部,修改生存時間TTL字段等于原值減 1,修改路徑長度PL字段等于原值加1,最后將報文從這個端口轉(zhuǎn)發(fā)出去; 第三步組播信宿選取PCmsg步驟每個信宿設(shè)置一個路徑收集報文PCmsg計時器,收到本輪廣播的第一個路徑收集報文 PCmsg后開始設(shè)置,計時器超時后,在滿足選中的路徑收集報文PCmsg中的路徑信息之間不能存在交叉的情形下,信宿從收到的所有路徑收集報文PCmsg中選取盡可能多的路徑收集報文PCmsg并保存起來供第四步使用;第四步組播信宿創(chuàng)建反饋報文FBmsg步驟對第三步中選取的每個路徑收集報文PCmsg做以下操作先將報文類型由路徑收集報文PCmsg修改為反饋報文FBmsg,然后將生存時間TTL字段修改為路徑當(dāng)前位置PCL字段,并置其值為報文中的路徑長度PL字段值,最后將修改后的報文從其收到的端口發(fā)送出去;第五步組播中間節(jié)點轉(zhuǎn)發(fā)反饋信息對非源節(jié)點集合M = V-{s}中的每一個中間節(jié)點每收到一個反饋報文FBmsg后做以下操作先根據(jù)報文攜帶的路徑信息維護多播路由表,然后將報文的路徑當(dāng)前位置PCL字段設(shè)置為原值減1,最后根據(jù)報文攜帶的路徑信息將報文按曾經(jīng)收到對應(yīng)的路徑收集報文 PCmsg的端口轉(zhuǎn)發(fā)出去;第六步組播信源確定發(fā)送端口步驟信源設(shè)置一個反饋報文FBmsg計時器,在收到本輪廣播后的第一個反饋報文FBmsg后開始設(shè)置,計時器超時后,根據(jù)收到的所有反饋報文FBmsg,并在滿足所有信宿從選取的端口中收到反饋報文FBmsg數(shù)目的最小值盡量大的情形下,信源選取盡量少的端口,然后用這些端口作為發(fā)送端口來構(gòu)建信源的路由表。
全文摘要
本發(fā)明公開了一種基于網(wǎng)絡(luò)編碼的多播路由構(gòu)造方法,特征是包括信源廣播步驟,中間節(jié)點轉(zhuǎn)發(fā)步驟,信宿計算與反饋步驟,中間節(jié)點轉(zhuǎn)發(fā)反饋信息和信源確定發(fā)送端口步驟;通過構(gòu)建組播圖,使得信源到每個信宿可能找到多條傳輸路徑,從而使得基于此路由查找方法構(gòu)建的路由的數(shù)據(jù)傳輸效率較高;通過組播信宿接收到的記錄組播源到自己的路徑信息獨立計算出點離散路徑,將計算出的路徑信息反饋到網(wǎng)絡(luò)中,網(wǎng)絡(luò)中其他多播路由器依據(jù)這些路徑信息建立和維護路由表,既減少了一般方法中信源的計算壓力,也保證了計算出的組播圖在全局上的較優(yōu)性。采用本發(fā)明方法最終構(gòu)造出的路由表可以較好的適用于基于網(wǎng)絡(luò)編碼的多播數(shù)據(jù)傳輸。
文檔編號H04L12/56GK102347908SQ20111036682
公開日2012年2月8日 申請日期2011年11月18日 優(yōu)先權(quán)日2011年11月18日
發(fā)明者徐偉, 李世梁, 李帥, 蘇佰川, 許胤龍 申請人:中國科學(xué)技術(shù)大學(xué)