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