專利名稱:多網絡接口設備的數據并發(fā)傳輸方法
技術領域:
本發(fā)明涉及網絡技術領域,具體涉及多網絡接口設備的數據并發(fā)傳輸方法。
背景技術:
目前,多維網絡通信的概念被提出。現(xiàn)在的多維網絡通信技術中的設備,如PC,具 有多個網絡接口,但是僅能實現(xiàn)同一時間只有一個網絡接口和其他節(jié)點保持數據傳輸,不 具有多數據并發(fā)執(zhí)行的能力,不能實現(xiàn)跨網通信?,F(xiàn)有的實現(xiàn)數據并發(fā)傳輸的的形式都基于以下兩種硬件形式 多網絡接口的數據并行傳輸進行傳輸的兩個主機(或其中之一)有多個網絡接口,且這些接口接入了不同的 網絡,那么這兩個主機之間就可能存在不同的直接IP路徑。 單網絡接口的數據并行傳輸進行傳輸的兩個主機都只有一個網絡接口,則尋找適當的中轉節(jié)點,將流量經由 這些節(jié)點中轉,可以形成除了直接IP路徑之外的一條或多條重疊路徑。單網絡接口主機的數據并行傳輸技術,關鍵在中間節(jié)點能夠成功尋址轉發(fā)報文。 因此,中間節(jié)點就必須在發(fā)送的報文地址域中攜帶不屬于自己的IP地址,或者中間節(jié)點能 夠動態(tài)的將目標IP地址修改為要轉發(fā)的到的IP地址。通過這兩種方法,能過實現(xiàn)數據的并 行傳輸,但是降低了報文的凈數據量,延長了報文的傳輸時間,降低了整個網絡的性能。無 法滿足大容量、實時性的要求。而多網絡接口主機的數據并行傳輸技術,利用現(xiàn)在廉價的硬件資源,實現(xiàn)PC和PC之 間的多網絡、多路徑互聯(lián)。通過增加硬件設施來實現(xiàn)網絡的數據并行傳輸。但現(xiàn)有的多網絡接 口數據并行傳輸技術存在數據分發(fā)調度不合理,接收亂序,以及快速重傳效率低下等問題?,F(xiàn)有的并行數據傳輸技術大多是基于應用層和傳輸層?;趹玫募夹g存在普遍 適應性差、移植困難的缺點?;趥鬏攲拥募夹g能夠兼容現(xiàn)有的各種網絡,但實現(xiàn)困難,技 術難度大?,F(xiàn)有的傳輸層協(xié)議要有TCP、UDP、SCTP (流控制傳輸協(xié)議)。SCTP作為一種在TCP 和UDP基礎上發(fā)展起來的傳輸層協(xié)議,它有許多優(yōu)點,經過長期實踐檢驗,已經得到各大操 作系統(tǒng)和網絡設備廠商的普遍接受。它考慮了 TCP和UDP在應用中遇到的各種問題,形成了 自己的特點,如支持多穴主機(Multihoming);支持多流;面向消息;支持消息的無序遞交; 部分可靠的傳輸等。目前,基于支持多穴主機的特點(簡稱為多穴特點),SCTP實現(xiàn)了多路 徑的第一種應用策略,即主路徑和備用路徑。若直接在主路徑和備用路徑上并發(fā)進行傳輸, 因不同路徑的傳輸時延不同,會導致數據包亂序到達接收端,在延遲差別較大時,可能導致 接收端向發(fā)送端發(fā)出3次間隔報告,使發(fā)送端認為發(fā)生丟包而進行不必要的重傳。
發(fā)明內容
有鑒于此,為了解決上述問題,本發(fā)明公開了多網絡接口設備的數據并發(fā)傳輸方法,應用在多網絡接口的PC機上,能很好的實現(xiàn)數據的并發(fā)傳輸。本發(fā)明的目的是這樣實現(xiàn)的多網絡接口設備的數據并發(fā)傳輸方法,用于發(fā)送端 與接收端的多路徑數據并發(fā)傳輸,包括如下步驟1)發(fā)送端與接收端檢測可進行通信的網絡接口數量,對網絡接口進行標記,使每 個可進行通信的網絡接口具有一個序號;2)發(fā)送端將待發(fā)送數據分割為多個報文段,并對每個報文段添加傳輸序列號;3)發(fā)送端將報文段的傳輸序列號對網絡接口數量求余,將報文段按其所得的余數 選擇相應的網絡接口進行發(fā)送;4)接收端接收到報文段后,對其進行排序組合。進一步,步驟3)中,將報文段通過與其所得余數相同序號的網絡接口進行發(fā)送;進一步,所述發(fā)送端和接收端均對每一個網絡接口設置有緩存;步驟3)中,報文 段在求余后被放到相應網絡接口的緩存中,再進行發(fā)送;步驟4)中,接收端接收到的報文 段先放在相應網絡接口的緩存中,再進行排序組合;進一步,所述步驟4)中還包括報文丟失重傳的步驟,接收端對緩存內接收到的報 文段的傳輸序列號對網絡接口數量求余,如果所得商與該緩存內上一接收到報文段所得的 商之間不連續(xù),則判斷報文丟失,并通知發(fā)送端重傳丟失的報文;進一步,所述步驟4)中還包括如下步驟接收端對緩存內接收到的報文段的傳輸 序列號對網絡接口數量求余,如果所得余數與該緩存對應的網絡接口序號不對應,則丟棄 該報文段;進一步,所述多網絡接口設備的數據并發(fā)傳輸方法通過修改流控制傳輸協(xié)議實 現(xiàn);進一步,所述步驟2)在傳輸層進行;進一步,修改后的流控制傳輸協(xié)議中,擁塞窗口更新算法包括如下步驟將同一條路徑發(fā)送的報文作為一個集合,將同一集合內的報文視為邏輯連續(xù);對每一條路徑,監(jiān)聽該路徑是否有新的報文到達;當收到有漏洞的選擇性確認信息時,判斷新到報文的傳輸序列號是否與前一報文 在邏輯上連續(xù),若否,則更新相應路徑的擁塞窗口。本發(fā)明的有益效果是充分利用現(xiàn)有的網絡,通過改進的分組調度算法,解決了數 據分發(fā)調度不合理、接收亂序及快速重傳效率低下等問題,很好地實現(xiàn)了數據的并發(fā)傳輸; 在進一步的技術方案中,本發(fā)明的方法可通過對SCTP協(xié)議進行改進實現(xiàn),實現(xiàn)難度較低, 通過對擁塞窗口更新算法的改進,在每條路徑上獨立的使用擁塞控制機制,提高了整個數 據并行傳輸的效率。
為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明作進 一步的詳細描述圖1示出了本發(fā)明多網絡接口設備的數據并發(fā)傳輸方法的示意圖;圖2示出了本發(fā)明多網絡接口設備的數據并發(fā)傳輸方法中分組調度算法的示意 4
圖3示出了本發(fā)明多網絡接口設備的數據并發(fā)傳輸方法中報文重傳的流程示意 圖;圖4示出了本發(fā)明多網絡接口設備的數據并發(fā)傳輸方法中擁塞窗口更新算法的 流程示意圖。
具體實施例方式以下將對本發(fā)明的優(yōu)選實施例進行詳細的描述。參見圖1,本實施例的多網絡接口設備的數據并發(fā)傳輸方法,通過對SCTP協(xié)議進 行改進實現(xiàn),本領域技術人員不難理解,本方法亦可通過全新的通信協(xié)議實現(xiàn),本實施例的 多網絡接口設備的數據并發(fā)傳輸方法包括如下步驟1)發(fā)送端和接收端的主機可通過改進后的SCTP協(xié)議自動地檢測主機所擁有能夠 用于進行通信得網絡接口數目,且對可通信的網絡接口進行標記,假如主機現(xiàn)擁有能夠用
于通信的網絡接口的數目為K,標記后的網絡接口的序號依次為0、1......K-I (不同的網
絡接口對應不同的路徑);2)發(fā)送端將待發(fā)送數據從應用層交給下一層傳輸層,在傳輸層被SCTP分割成認 為最適合發(fā)送的數據塊(稱為報文段)并對每個報文段添加傳輸序列號(TSN);3)如圖2所示,所述發(fā)送端和接收端均對每一個網絡接口設置有緩存;發(fā)送端通 過SCTP讀取報文的TSN(傳輸序列號),然后把TSN% K (TSN對K取余)。假若TSN% K后的 余數為M (0彡M彡k-Ι),則該報文就被放到相對應的網絡接口的緩存中,之后被取出經網絡 層封裝后到鏈路層時就從標號為M的網絡接口發(fā)送出去到網絡中;同理,報文序列號(TSN) 對K取余后的余數為多少就從標號為多少的網絡接口號發(fā)送到網絡中;4)接收端接收到報文段后,把其放到相應的網絡接口的緩存中,然后對報文進行 排序后再交給后續(xù)排序組合等處理;若接收端接收到的報文亂序時,則啟動重傳算法重傳 丟失的報文;本實施例設計的重傳算法是從傳送丟失報文的網絡接口重傳報文;參見圖3, 發(fā)送端為每條路徑設置一個緩存,分組經求余分組調度算法后被放到相應路徑的發(fā)送緩存 中,在各自路徑的發(fā)送緩存中的報文邏輯上是連續(xù)的。接收端也為各自路徑設置一個接收 緩存,從各路徑收到的報文被放在相應的接收緩存中。在接收緩存中,SCTP對接收到的報 文進行TSN/K和TSN%K操作。若發(fā)現(xiàn)TSN/K的商不和上個分組的商有漏洞(在邏輯上不 連續(xù)),則判斷報文丟失,因此通知發(fā)送端重傳丟失的報文,那么發(fā)送端就從原傳送丟失報 文的路徑重傳丟失的報文;若SCTP對接收到的報文進行TSN% K操作后,發(fā)現(xiàn)得到的余數 和路徑號不對應,則就丟棄該報文。本實施例對于SCTP協(xié)議中的擁塞窗口更新算法CUMC (cwnd update with mulit-dimensional Communication)也進行改進,標準SCTP只有在收到一個新的SACK (選 擇性確認信息)累積確認時會更新?lián)砣翱冢诓⑿袀鬏斨?,接收端會因為分組的亂序 而發(fā)送大量帶有漏洞的SACK,這些SACK對不連續(xù)的TSN進行確認,往往具有相同的累積確 認值,因此不能促使發(fā)送端更新?lián)砣翱?。當漏洞里面的TSN被后到的SACK以累積確認的 形式確認時,會引起擁塞窗口的更新,但其增量大小只取決于新確認的TSN(如累積確認值 較上次的變化),因此,擁塞窗口增長的比較慢,影響了吞吐量的提高。造成這種結果的原因在于SACK中的累積確認值是針對整個SCTP關聯(lián)而言的,而不是基于單個的路徑,單個路徑上分組的有序到達并不會影響擁塞窗口的更新。反而某條 線路線路通信質量差時,標準的SCP收到的SACK檢測到有分組丟失,端點會采取以下動 作ssthresh = max (cwnd/2, 2 XMTU);cwnd = ssthresh?;旧?,分組的丟失將導致cwnd降低一半。當到某個地址的T3_rtx超時,SCTP將用如下動作進行慢啟動。ssthresh = max (cwnd/2, 2 XMTU);cwnd=l XMTU。在端點收到了數據成功遞交給該地址的確認前,不會有多于一個的SCTP分組在 向該地址傳送。因而影響了整個關聯(lián)的吞吐量參見圖4,本實施例中的擁塞窗口更新算法則是根據單個路徑上累積確認值的變 化來更新?lián)砣翱?,修改了接受方的協(xié)議。該算法同樣是將已發(fā)送的數據根據其實際發(fā)送 路徑的不同而分成不同的集合,在同一條路徑上發(fā)送的數據屬于同一集合,并且認為同一 集合內的數據是邏輯上連續(xù)的。當收到帶有漏洞的SACK時,判斷新到報文的傳輸序列號是 否與前一報文在邏輯上連續(xù),若是,則不更新,若否,則更新相應路徑的擁塞窗口。本算法創(chuàng) 新性的在每條路徑上獨立的使用擁塞控制機制,提高了整個數據并行傳輸的效率。擁塞窗口更新算法中的變量說明如下Listener_TSN_New boolean型,每條路徑一個,是否監(jiān)聽該路徑上有新的TSN到 達。NEff_TSN :int型,每條路徑一個,新到達的最小TSN,并且大于以前的TSN累積確認值。Receive_TSN_rvl :int型,每條路徑一個,記錄上次的TSN累計值。以上所述僅為本發(fā)明的優(yōu)選并不用于限制本發(fā)明,顯然,本領域的技術人員可以 對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修 改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和 變型在內。
權利要求
多網絡接口設備的數據并發(fā)傳輸方法,用于發(fā)送端與接收端的多路徑數據并發(fā)傳輸,其特征在于包括如下步驟1)發(fā)送端與接收端檢測可進行通信的網絡接口數量,對網絡接口進行標記,使每個可進行通信的網絡接口具有一個序號;2)發(fā)送端將待發(fā)送數據分割為多個報文段,并對每個報文段添加傳輸序列號;3)發(fā)送端將報文段的傳輸序列號對網絡接口數量求余,將報文段按其所得的余數選擇相應的網絡接口進行發(fā)送;4)接收端接收到報文段后,對其進行排序組合。
2.如權利要求1所述的多網絡接口設備的數據并發(fā)傳輸方法 ,其特征在于步驟3) 中,將報文段通過與其所得余數相同序號的網絡接口進行發(fā)送。
3.如權利要求1所述的多網絡接口設備的數據并發(fā)傳輸方法,其特征在于所述發(fā)送 端和接收端均對每一個網絡接口設置有緩存;步驟3)中,報文段在求余后被放到相應網絡 接口的緩存中,再進行發(fā)送;步驟4)中,接收端接收到的報文段先放在相應網絡接口的緩 存中,再進行排序組合。
4.如權利要求3所述的多網絡接口設備的數據并發(fā)傳輸方法,其特征在于所述步驟 4)中還包括報文丟失重傳的步驟,接收端對緩存內接收到的報文段的傳輸序列號對網絡接 口數量求余,如果所得商與該緩存內上一接收到報文段所得的商之間不連續(xù),則判斷報文 丟失,并通知發(fā)送端重傳丟失的報文。
5.如權利要求4中所述的多網絡接口設備的數據并發(fā)傳輸方法,其特征在于所述步 驟4)中還包括如下步驟接收端對緩存內接收到的報文段的傳輸序列號對網絡接口數量 求余,如果所得余數與該緩存對應的網絡接口序號不對應,則丟棄該報文段。
6.如權利要求1至5中任一項所述的多網絡接口設備的數據并發(fā)傳輸方法,其特征在 于所述多網絡接口設備的數據并發(fā)傳輸方法通過修改流控制傳輸協(xié)議實現(xiàn)。
7.如權利要求6中所述的多網絡接口設備的數據并發(fā)傳輸方法,其特征在于所述步 驟2)在傳輸層進行。
8.如權利要求6中所述的多網絡接口設備的數據并發(fā)傳輸方法,其特征在于修改后 的流控制傳輸協(xié)議中,擁塞窗口更新算法包括如下步驟將同一條路徑發(fā)送的報文作為一個集合,將同一集合內的報文視為邏輯連續(xù);對每一條路徑,監(jiān)聽該路徑是否有新的報文到達;當收到有漏洞的選擇性確認信息時,判斷新到報文的傳輸序列號是否與前一報文在邏 輯上連續(xù),若否,則更新相應路徑的擁塞窗口。
全文摘要
本發(fā)明涉及網絡技術領域,具體涉及多網絡接口設備的數據并發(fā)傳輸方法;包括如下步驟1)發(fā)送端與接收端檢測可進行通信的網絡接口數量,對網絡接口進行標記,使每個可進行通信的網絡接口具有一個序號;2)發(fā)送端將待發(fā)送數據分割為多個報文段,并對每個報文段添加傳輸序列號;3)發(fā)送端將報文段的傳輸序列號對網絡接口數量求余,將報文段按其所得的余數選擇相應的網絡接口進行發(fā)送;4)接收端接收到報文段后,對其進行排序組合;本發(fā)明可充分利用現(xiàn)有的網絡,通過改進的分組調度算法,解決了數據分發(fā)調度不合理、接收亂序及快速重傳效率低下等問題。
文檔編號H04L12/56GK101883047SQ20101021038
公開日2010年11月10日 申請日期2010年6月25日 優(yōu)先權日2010年6月25日
發(fā)明者張鐘凱, 李健, 李攀, 杜軍恒, 陶洋, 黃宏程 申請人:黃宏程