一種具有網絡編碼功能的代數交換系統及其預處理算法
【技術領域】
[0001]本發明屬于通信技術領域,涉及到代數交換和網絡編碼等范圍,具體涉及一種具有網絡編碼功能的代數交換系統及其預處理算法。
【背景技術】
[0002]隨著互聯網的發展突飛猛進,網絡技術已經滲透到人類生活的各個方面,深刻影響著人們的工作和學習方式。互聯網規模的擴大和用戶數量急劇增加,網絡復雜性日益明顯。現有網絡的數據流量持續迅猛增長,這給以IP為核心的互聯網帶來了越來越嚴重的技術挑戰。現有的網絡主要由交換設備和傳輸設備組成。目前以路由器為代表的交換設備的核心交換能力嚴重滯后于傳輸線卡帶寬的發展,路由器已經成為制約網絡進一步發展的瓶頸。同時,Internet以TCP/IP體系結構為基礎,其網絡層只提供盡最大努力交付的服務并不提供服務質量(QoS)承諾。因此,研宄出更高效且保證QoS的交換結構是充分利用現有傳輸能力和為下一代網絡提供QoS保證的業務的關鍵。
[0003]為了提高路由器的性能并降低實現代價,國際國內提出了許多交換結構,其中又引人注目的有共享總線結構[I],共享存儲(Shared Memory) [2],交叉矩陣(Crossbar) [4]等結構。
[0004]共享總線結構易于擴展也比較容易實現,但是其速率較低。共享存儲結構雖然可以達到比較高的速度,但是其速率仍然受到內存速度的限制,其存儲器帶寬性能瓶頸使得當端口數量較多時,存儲器帶寬需求較大,不能滿足大規模擴展應用的條件。交叉矩陣是最典型的使用最普遍的交換結構,它是一種簡單的空分交換開關,將N個輸入端口和N個輸出端口任意的互連。當端口數N較小時,交叉矩陣是一種實現無阻塞、自路由的理想交換結構。但該結構需要的交換單元的數量是N2,硬件實現復雜度為O (N2),當N較大時,其成本變得不可接受,難以滿足大規模擴展的要求。
[0005]代數交換是一種多路徑自路由交換結構[3],這種結構將代數分配格理論應用于自路由模型,該結構具有完全分布式自路由、無內部緩存、線速及無抖動等優勢[3]。在保證提供QoS的條件下,適合大規模擴展。然而這種結構會產生內部爭用和外部阻塞,從而導致了一定的丟包率。為了降低丟包率和提高數據在傳輸中的吞吐率,一種有效的方法是將網絡編碼和代數交換結構融合,利用網絡編碼來恢復丟失的數據包,從而有效降低系統的丟包率。本發明就是針對基于網絡編碼的代數交換系統中的數據預處理算法。
[0006]引用文獻:
[0007][I]Cheng T D, Franaszek P A, Georg1u C J, et al.Dynamic switch protocolson a shared medium network:U.S.Patent 5,235,592 [P].1993-8-10.11s.
[0008][2]Andrade P, Cooperman M, Sieber R ff.ATM shared memory switch withcontent addressing:!! S.Patent 5,513,134[P].1996-4-30.
[0009][3] Hui Li, Wei He, Xi CHEN, Peng Yi, Binqiang Wang, “Mult1-pathSelf-routing Switching Structure by Interconnect1n of Multistage SortingConcentrators”,IEEE CHINAC0M2007,Aug.2007,Shangha1.
[0010][4] B.Prabhakar ? N.McKeown ? R.Ahu ja ; “Mult icast scheduling forinput-queued switches”,IEEE J.Selected Areas Commun,vol.15,n0.5,p855_866,1997.
【發明內容】
[0011]一種具有網絡編碼功能的代數交換系統,主要包含以下模塊:N個輸入端口(1-1-1,...,1-1-N)、數據預處理模塊(1-2)、編碼模塊(1-3)、N個VOQ調度模塊(1-4-1,1-4-2,1-4-N)、代數交換模塊(1-5)、組裝模塊(1-6-1,1-6-N),解碼模塊(1-7-1,...,1-7-N)、N 個輸出端口(1-8-1,...,1-8-N);
[0012]上述各個模塊相互配合完成數據包在系統中的切割、編碼、交換、組裝、解碼等操作。
[0013]一種具有網絡編碼功能的代數交換系統的預處理算法,包括:從原始數據包中提取目的地址和數據進入的端口號,然后根據數據包的長度和信元長度,判斷該數據包是否需要切割,若需要切割的話,計算出將要切割成的信元的數目以及需要填充的字節數,然后再把所有這些信息儲存在一個信元包頭(圖2)中并對數據包根據前面的判斷和計算結果切割成多個信元,最后把包頭附加在每個切割而成的信元上發送給后面編碼模塊;
[0014]預處理模塊產生的信元包頭中包含了各種控制信息,后面的編碼模塊,交換結構以及解碼模塊都要依據此包頭所包含的信息完成一系列指定的功能。
[0015]本發明在數據進入編碼模塊之前進行預處理,對進入的數據包添加了一個包頭,并把數據包進行切割為長度固定的信元,然后再送入到調度器和編碼器中,極大地加速了編碼和解碼的處理過程,從而提高了系統的吞吐量和通信效率。
【附圖說明】
[0016]圖1為實施例一的具有網絡編碼功能的代數交換系統示意圖。
[0017]圖2(a)為實施例一的數據總線和控制總線格式。
[0018]圖2(b)為實施例一的包頭信息定義。
【具體實施方式】
[0019]下面通過【具體實施方式】結合附圖對本發明作進一步詳細說明。
[0020]本實施例提出了一種在具有網絡編碼功能的代數交換系統中的適合代數交換的編碼算法。該算法以信元為單位進行編碼,把編碼后的數據發送到VOQ調度模塊器和代數交換結構中,最后在解碼和組裝模塊中恢復出原來的數據包。
[0021]本實施例中所涉及的整個基于網絡編碼的代數交換系統的結構如圖1所示。標準的IP數據包從N個輸入端口 11(1-1-1,...,