基於ipv6協議的響應並發請求和攜多地址流水線數據廣播方法
2023-07-22 06:00:41
專利名稱::基於ipv6協議的響應並發請求和攜多地址流水線數據廣播方法
技術領域:
:本發明涉及計算機通信
技術領域:
,特別是一種基於IPV6協議的數據發送方法。
背景技術:
:IP協議為計算機網絡相互連接進行通信而設計的協議,是TCP/IP協議族中網絡層的協議,是全球網際網路中採用的最廣泛的核心協議之一。如圖1,為現應用最廣泛的IP版本IPV4的數據報格式首先它由首部和數據兩部分組成;首部的前一部分是固定長度,共20位元組,為所有IP數據報必須具有;首部的固定部分的後面是一些長度是可變的可選欄位。如圖1所示,圖中S101用以表示IP協議的版本,它在數據報中佔4bit;首部長度S102用以表示數據報的首部的長度,其佔4bit,IP的首部長度的最大值是60位元組;S103表示服務類型,佔8bit;S104總長度表示首部和數據之和的長度,它在數據報中佔16bit,所以數據報的最大長度為65535位元組;標識S105為一個計數器,用來產生數據報的標識(S106佔4bit),標識S105在數據報中佔16bit;片偏移S107,用以表示較長的分組在分片後某片在原分組中的相對位置,片偏移以8個字節為偏移單位,其佔8bit;S108表示數據報的網絡中的壽命時間,即TTL(TimeToLive),其佔8bit;S109協議欄位指出此數據報攜帶的數據使用何種協議以便目的主機的IP層將數據部分上交給哪個處理過程,該常見的協議包括位於網絡層的ICMP(Internet控制報文協議)、IGMP(Internet組管理協議)、OSPF(開放式最短路徑優先協議)和位於運輸層的TCP(傳輸控制協議)、UDP(用戶數據報協議),協議欄位S109在數據報中佔8bit;首部檢驗和S110表示通過簡單的計算方法對數據報的首部進行檢驗;IPV4採用的IP位址為32bit,即4位元組,其中S110為源地址,S112為目的地址。又如圖1所示,首部的固定部分的後面是一些長度是可變的可選欄位S113和填充部分S114;其中可選欄位S113可以支持排錯、測量以及安全等擴展功能,根據實現的項目不同,長度可以從1個字節到40個字節之間變化。雖然IPV4為目前應用最廣泛的協議,但是由於其採用的是IP位址為32Bit,隨著電腦、各種IP終端的大量普及,該IP位址基本也將被分配完畢,所以從網際網路規模和網絡傳輸速率來看,現在IPv4已明顯不能滿足網絡的發展需要。為了要解決IP位址耗盡的問題的措施包括1.採用無類別編址CIDR,使IP位址的分配更加合理;2.採用網絡地址轉換NAT方法以節省全球IP位址;3.採用具有更大地址空間的新版本的IP協議,即是IPv6。如圖2所示,為Ipv6協議的數據報格式。相對於Ipv4,該協議同樣具有首部201和數據202兩部分,不同之處主要包括1.Ipv6具有更大的地址空間,它將地址從IPv4的32bit增大到了128bit;2.具備靈活的首部格式;3.允許協議繼續擴充;4.支持資源的預分配。參考圖2,版本S201指明了協議的版本,對於Ipv6,其總為6,並佔4bit;通信量類S202佔8bit,其作用為用於區分不同的IPv6數據報的類別或優先級;流標號S203佔20bit,網際網路上從特定源點到特定終點的一系列數據報,如果屬於同一流的數據報,都具有同樣的流標號;有效載荷長度S204佔16bit,它指明IPv6數據報除基本首部以外的字節數,其最大值是64KB;下一個首部S205佔8bit,相當於IPv4的協議欄位;跳數限制S206佔8bit,其作用是路由器在轉發數據報時將跳數限制欄位中的值減1,當跳數限制的值為零時,就要將此數據報丟棄;源地址S207和目的地址S208各佔128bit,是數據報的發送站和接收站的IP位址。Ipv6數據報數據部分具有可選擇性的擴展首部,並將擴展首部留給路徑兩端的源站和目的站的主機來處理。數據報途中經過的路由器都不處理這些擴展首部,這樣其好處是大大提高了路由器的處理效率,同時也增加了Ipv6數據報的功能可擴展性。
發明內容本發明公開一種基於IPV6協議的響應並發請求和攜多地址流水線數據廣播方法,它通過對IPV6協議的應用,改變了傳統的IP數據報只有一個目的地址的方式和IP數據報從源地址端發送到目的地址端即終結的命運。隨著IP位址和終端的大量增加,源站主機/伺服器被其它IP訪問的的負載也必將隨之增加、如何有效的降低負載,並將負載有效的散布於其它終端,同時提高數據的發送效率和充分利用IPV6的優勢是本發明的目的之一。本發明通過如下方案實現一種基於IPV6協議的響應並發請求和攜多地址流水線數據廣播方法,它其特徵在於,該方法包括如下步驟1).源站主機/伺服器將來訪的終端IP劃分為一個或一個以上的IP集合;2).從各IP集合中選定一個IP及終端作為數據報直接接收客戶端;3).源站主機/伺服器以數據報直接接收客戶端IP為目的地址形成IP數據報並將IP集合其它IP的部分或全部添加於IP數據報首部與TCP/UDP首部之間形成二級目的地址報文段;4).源站主機/伺服器將具有二級目的地址報文段的IP數據報發送至數據報直接接收客戶端;5).數據報直接接收客戶端接收IP數據報,並將該數據報進行重組後向二級目的地址報文段的IP終端轉發;所述數據報重組為二級目的地址報文段的首個IP向數據報首部前移變成新IP數據報的目的地址;其它剩餘IP形成新的二級目的地址報文段;原IP數據報首部及數據的其它組成保持不變;6).重組後的IP數據報向新的目的地址發送;7).IP數據報依次被重組和轉發直至與該數據報相關的二級目的地址IP客戶端至少具有一次接收該數據報的機會為止。為了使二級目的地址報文段能準確識別,所述的二級目的地址報文段可以定義一首部,該首部用以標識二級目的地址報文段、二級目的IP位址數量或/與轉發規則,這樣形成的二級目的地址報文段可以作為IPV6協議裡的擴展首部處理,也可以做為位於IP首部與TCP/UDP首部之間的一報文段處理。二級目的地址報文段可以定義為32Bit、64Bit或者128Bit。根據二級目的地址報文段是否具有首部差異,IP數據報重組的方案包括(1).二級目的地址報文段沒有首部,則數據報進行重組指二級目的地址報文段的首個IP向數據報首部前移128Bit並替換原有目的地址形成新的目的地址;二級目的地址報文段其它二級目的地址依次向數據報首部前移128Bit,形成新的二級目的地址報文段;原IP數據報首部及數據的其它組成保持不變。(2).數據報進行重組指二級目的地址報文段的首個IP向數據報首部前移替換原有目的地址形成新的目的地址;二級目的地址報文段首部用以表示二級目的地址數量的自動減1,其它剩餘二級目的地址向首部前移128Bit形成新的二級目的地址報文段;原IP數據報首部及數據的其它組成保持不變。(3).在上述的方案1和2的基礎上,由於新的二級目的地址報文段的形成必然會使原有的IP數據報的有效載荷長短必然減少128Bit,所以為了使在網絡層進行IP數據報重組的工作量更低,二級目的地址報文段的二級目的地址在前移動完成後,在其後部填充128Bit的特殊報文段(如全F、全零或者其它"1"和"0"的特殊排列),這樣二級的目的地址和填充的128Bit的特殊報文段組成新的二級目的地址報文段,一方面可以保證整個IP數據報的有效載荷長度不變,同時也保證二級目的地址報文段的長度不變;這樣組合成數據報時,原IP數據報首部及數據的其它組成保持不變,組合的效率將得到有效的提高。上所述的源站主機/伺服器將來訪的終端IP劃分為一個或一個以上的IP集合,該集合的劃分方法包括根據數據內容的相似性劃分;根據所屬地域或網絡劃分;根據隨機平均分配法劃分,其中根據數據內容的相似性劃分是指需要發送的數據內容全部相同或者含有的數據內容近似性比較高的終端IP應集中在一個或多個子集裡;數據內容差異明顯的IP應集中在一個或多個子集裡;至於數據內容差異性可以根據終端發送的指令種類、訪問的數據類型、觸發的事件、所訪問的文件等一個或多個因數進行綜合判斷;根據所屬地域或網絡劃分是指通過對IP終端所屬的地域或網絡進行檢測,如果屬於同一地域或網絡的IP應優先布於相同的子集;根據隨機平均分配法劃分指通過普通的隨機算法,將所有IP隨機分配到若干子集中;相對與上述的劃分方法,前兩種可以充分提高數據的發布速率,但實現需要配備較為複雜的算法,而後一種劃分則較為簡單,並且分配迅速,實時響應性好,可以按照需要選擇。作為優化,所述的源站主機/伺服器將來訪的終端IP劃分為若干個IP集合時,來訪的每個終端IP應該在不同的IP集合裡至少出現兩次,其效果是每個終端可以接到到來自多條數據報發布路線為其發送數據報而不至於因其中一條發生故障而接收不到源站主機和伺服器的數據,保證了數據的有效發布和傳播速率;由於來訪的每個終端IP可能接收到來自不同路線的相同數據報,所以還應該具有數據報作廢機制,即當該終端已經接收到相同的IP數據報,則將後接收到的IP數據報作為重複數據報並將其視為失效處理。由於本發明的數據報形成和發送之前,首先要從IP集合裡分別確定一個IP作為直接接收該數據報的IP(即數據報首部的目的地址),而該IP的確定可以通過如下方法實現將各IP集合裡的IP元素進行排列形成IP隊列,以隊列首個IP為數據報直接接收客戶端;通過對各IP所處網絡的健康指數進行檢測/通過歷史數據交換記錄選取數據收發最快的IP為數據報直接接收客戶端;通過對IP所屬地域選取最近的IP;根據數據歷史選取在前一時間段內交換量最大的IP;其它不同的確定方法;不同的方法可能對數據報的發送速率影響,具體可以根據實際需要選取其一做為實施時的執行方法。為了避免數據報告在不相關的IP終端裡轉發並提高發送的效率,所述的每個IP數據報裡嵌入於二級目的地址報文段的二級目的IP位址為該IP數據報的接收客戶端IP。作為對上所述的發明方法的全部優化,本發明方法還具有一數據報重發機制、一數據報直接接收客戶端重選策略、一反饋機制和一IP集合重劃分策略所述的數據報重發機制指當源站主機/伺服器在既定時間內接收不到來自目的地址終端的反饋,則自動就該數據重新形成IP數據報重新發送;所述的數據報直接接收客戶端重選策略指源站主機/伺服器在既定時間內接收不到數據報直接接收客戶端的是否收到的反饋則從該IP集合中重新選擇一個IP及終端作為數據報直接接收客戶端並重發IP數據報;所述的反饋機制是指所有的IP數據報的接收終端直接向源站主機/伺服器反饋是否收到的信號;所述的IP集合重組策略是指當有新的IP訪問源站主機/伺服器時,該IP安插於已有的IP集合裡;當IP集合中無效IP佔該集合的IP數量50%以上則該集合的有效IP與新增加IP進行重新劃分IP集合;其中無效IP是指該IP以經在設定的時間內不再訪問源站主機/伺服器或不在請求發送數據。綜上所述的基於IPV6協議的響應並發請求和攜多地址流水線數據廣播方法,可以帶來如下明顯有益效果,艮P-1.公開了一種帶有多個目的地址的IP數據報形成方法(包括IP集劃分、目的地址的確定、二級目的地址的嵌套等),改變了傳統的一個數據報只有一個目的地址的方式,其好處是對每個IP終端的數據請求,源站主機/伺服器不用一一為其準備IP數據報,充分的降低了源站主機/伺服器的負荷,對於一些如在線多人視頻、文件下載、大容量文件交換等效果尤為明顯。2.充分發揮了IPV6的優勢,並利用了IPV6數據報的首部Ipv6數據報數據部分具有可選擇性的擴展首部,並將擴展首部留給路徑兩端的源站和目的站的主機來處理的特性,通過在IP數據報首部和TCP/UDP首部之間嵌入二級目的地址段報文(二級目的地址)實現了數據報攜多地址發布的目的同時也不增加路由的負載,並將IP數據報的重組重任直接交給主機/伺服器,提高數據報重組效率和執行方式的多樣性。3.公開了一種數據報的重組方式,即在確保了IP數據報有效載荷長度不變的基礎上,使原IP數據報只需要在終端的網絡層做簡單的修改即可形成新的數據報轉發,有效的確保下一目的地址能及時接受到該IP數據報的數據。4.本發明具有一種新的響應並發請求的能力,提高了響應的速度。5.通過本發明攜多地址流水線數據廣播方法,數據報被一級級的依次轉發,減少了源站主機/伺服器直接面向的終端,並且可以通過添加包括IP網絡的所屬地域和網絡監測技術、網絡健康狀態的評估技術、數據內容相似性評估技術等帶來系列的功能擴展,實現相同傳播網絡/地域、相同內容的數據的更高速傳播。圖1為基於IPV4的數據報數據結構示意圖2為基於IPV6的現有數據報數據結構示意圖3為基於IPV6的攜多個目的地址的數據結構示意圖4為另一IP數據報的數據結構示意圖5為傳統的數據報發送流圖6為實施例一的數據報A的發送流圖7為實施例一的數據報A的重組示意圖8為實施例一的數據報A的再重組示意圖9為實施例一的數據報B的發送流圖IO為實施例一的數據報B的重組示意圖11為實施例一的數據報C的發送流圖;圖12為實施例二的數據報D的發送流圖;圖13為實施例二的數據報E的發送流圖;圖14為本發明的另一種數據報數據結構示意圖;圖15為實施例三的數據報發送流程;圖16為實施例三的數據報重組流程;圖17為實施例三的數據報重組示意圖;圖18為實施例四的數據報重組流程;圖19為實施例四的數據報發送流圖之一;圖20為實施例四的數據報發送流圖之二;圖21為實施例四的數據報發送流圖之三;具體實施方式實施例一參考圖3至11,公開一種基於IPV6協議的響應並發請求和攜多地址流水線數據廣播方法。為了更好的描述該方法,假設IP。、IP^IP2、IP3…IPk共K個IP終端在同一時間單元內同時訪問源站主機/伺服器,其中IPoIPM的終端為請求源站主機/伺服器發送相同的數據,而IPNIPK為請求發送不同內容的數據。採用本發明進行數據發送的方法包括如下步驟1.同一時間單元內多個IP終端同時訪問源站主機/伺服器;該時間單元可以是根據需要定義的一個時間段如0.01秒內、0.1秒、1秒內等等;2.源站主機或伺服器接收請求觸發相應的事件;並將該時間單元內的所有IP進行劃分為一個或一個以上的集合(劃分集合個數可以根據IP總數量而變化,並可以設定集合元素的個數上限,例如MAX為5個、8個、10個等等;集合越少,源主機/伺服器的負荷就越輕,反之需要直接發送數據報的IP終端就越多);IP進行劃分的方法有多種其中包括根據數據內容的相似性劃分;根據所屬地域或網絡劃分;根據隨機平均分配法劃分。其中,根據數據內容的相似性劃分是指需要發送的數據內容全部相同或者含有的數據內容近似性比較高的終端IP應集中分布於一個或多個子集裡;數據內容差異明顯的IP應集中在一個或多個子集裡;至於數據內容差異性可以根據終端發送的指令種類、訪問的數據類型、觸發的事件、所訪問的文件等一個或多個因數進行判斷;根據所屬地域或網絡劃分是指根據對IP終端所屬的地域或網絡進行監測,如果處於一個相同的地域或網絡的IP則優先分布於相同的IP集合裡;根據隨機平均分配法劃分則是指通過普通的隨機算法,將所有IP集合均勻分布在若干IP集合裡,該方法的原則是儘可能使每個集合的數量接近。為了便於描述,本實施例的IP集合採用的是第一種劃分方法,即根據數據內容的相似性劃分。假設劃分為兩個IP集合,即(IP)Jx-(M、.,;{IPX}X-N+1、N+2、…K53.從IP集合裡面選定一個IP作為直接接收IP數據報的目的地址;選定方法包括(1).通過對各IP所處地域或網絡進行監測,選取離源站主機/伺服器最近的IP為直接目的地址或選取處於良好狀態的網絡IP作為直接目的地址(網絡狀態的評估可以根據歷史數據進行,也可以通過發送測試數據並接收反饋所需時間進行評估);(2).根據上一個或多個時間單元內的數據發送記錄,選取接收速度最好的IP作為直接目的地址或者選取上一個或多個時間單元內數據交換總量最大的IP作為直接目的地址;(3).對IP集合裡的IP進行隨機性排隊,並選取位於首位的第一個IP作為直接目的地址。相比於上述的三種直接目的地址選定方法,方法1和2能更好的提高數據傳輸速率,但實現較為複雜,而後一種則實現方便,考慮的因素較少。為了便於理解和描述,假設本實施例的方法採用的是通過方法2進行,即通過上一單元時間的發送數據的反饋記錄可以知道IPo能順利接收並速度最快,所以選擇其為(IPx)X-(M,...N集合的直接目的地址;同理選擇IPN"作為{IPX}X=N+1、N+2、…K集合的直接目的地址;4.源站主機/伺服器形成IP數據報;假設該數據報A為發往(IP)Jx-(M、..,所有IP終端;數據報B為發往IPN+3;數據報C為發往IPK;各自形成方法是數據報A:如圖3所示,{IPx}^^.^的IP位址添加於IP數據報首部與TCP/UDP首部之間形成二級目的地址報文段303;以源站主機/伺服器的IP為源地址,IPo為直接目的地址形成IP數據報首部301;二級目的地址報文段303、IP數據報首部301、TCP/UDP首部及數據段302組合成IP數據報;IP數據報首部301、TCP/UDP首部及數據段302各部分的組成分別按現有的IPV6協議的數據報方法形成。參考圖3,地址對應如下:tableseeoriginaldocumentpage15tableseeoriginaldocumentpage16數據報B:如圖4所示,IPN+3的IP位址添加於IP數據報首部與TCP/UDP首部之間形成二級目的地址報文段403;以源站主機/伺服器的IP為源地址,IPM"為直接目的地址形成IP數據報首部401;二級目的地址報文段403、IP數據報首部401、TCP/UDP首部及數據段402組合成IP數據報;IP數據報首部401、TCP/UDP首部及數據段402各部分的組成分別按現有的1PV6協議的數據報方法形成。參考圖3,地址對應如下:tableseeoriginaldocumentpage16數據報C:與數據報B的形成原理相同,只是二級目的地址A1為IPK5.IP數據報發送如圖5所示為傳統的IP數據報發送方法,即源站主機/伺服器分別根據各IP的請求響應各IP終端的請求一一形成對應的數據報並進行直接的一對一發送,然後各IP終端直接向源站主機/伺服器作反饋。而本發明的數據報發送方法是數據報A發送如圖6所示,源站主機/伺服器根據{IPX}X=o.!、...n的請求形成了數據報A後,源站主機/伺服器只直接面向IP數據報首部的目的地址IPq進行發送,而{IPX}x42、".n而終端的依次從前一IP終端來獲取該IP數據報,即傳輸路線為IPo—IP"!、IP!—IP2、IP2—IP3……IPm—IPN。由圖可見,源站主機/伺服器只要直接面向IPo發送數據報即可,大量降低了源站主機/伺服器負載,提高響應並發數據請求的能力。IPo終端接收到該IP數據報A後,一方面提交上一運輸層處理,同時向源主機/伺服器進行反饋收到確認和進行IP數據報的重新組合併轉發。由於接收IPV6數據報的前置路由只對首部進行處理,所以IP數據報的重組和轉發由接收該數據報的終端實現,其效果是可以大量降低路由的負荷,也為重組和轉發提供更強大的硬體支持和實現的途徑多樣化。參考圖7,IP數據報的重組方法是首先數據報A首部的目的地址刪除,或者二級目的地址報文段的首個二級目的地址(即Al)向首部301前移128Bit的將原目的地址替代並形成新的目的地址;後續的二級目的地址(A2AN)依次前移128Bit形成新的二級目的地址報文段;為了保證新IP數據報與原來的數據報的有效載荷長短不變,新的二級目的地址報文段後面往因前移而產生的空隙部填充128Bit的報文段(為全F、全零、或則"1"和"0"的其它可以被識別的特殊組合)形成填充部(S311),新的IP首部301、新的二級目的地址報文段303、原IP數據部分別組合成新的數據報。其中新的IP首部301除了目的地址被換外,其它例如版本、通訊量類、流標類、有效載荷長度、下一個首部、跳數限制、擴展部、TCP/UDP首部、數據段等等均保持不變;新組合的IP數據報A'由IPo—IP!發送。參考圖8,IPi接收到數據報A',進行提交上層處理、向源站主機/伺服器反饋同時進行重組和向IP2進行轉發。重組的方法和原理與圖7相同,不再重複。數據報A被依次重組和轉發後,發送到{IPX}x-(M...w的所有終端。數據報B的發送首先直接目的地址IPw+i發送,IPf^接收到後不提交上一層處理而直接進行重新組並轉發向IPN+3(如圖9所示);數據報B在IPr^重組的方法如圖10所示即首先數據報B首部的目的地址刪除,或者二級目的地址報文段的首個二級目的地址(即AN+3)向首部401前移128Bit的將原目的地址替代並形成新的目的地址;為了保證新IP數據報與原來的數據報的有效載荷長短不變,首部後面往因前移而產生的空隙部填充128Bit的報文段(為全F、全零、或則"1"和"0"的其它可以被識別的特殊組合)形成填充部(S311),新的IP首部301、填充部(S311)、原IP數據部分別組合成新的數據報。其中新的IP首部301除了目的地址被換外,其它例如版本、通訊量類、流標類、有效載荷長度、下一個首部、跳數限制、擴展部、TCP/UDP首部、數據段等等均保持不變;新組合的IP數據報B'由IPnm—IPN+3發送;IPN+3接收到數據報後向源站主機/伺服器直接反饋收到確認。數據報C的發送首先直接目的地址IPr^發送,IPr^接收到後不提交上一層處理而直接進行重新組並轉發向IPK(如圖11所示);數據報C的重組可以參考數據報C的進行,原理相同,不再重複。綜上所述的基於IPV6協議的響應並發請求和攜多地址流水線數據廣播方法,其可以帶來的有益效果包括1.公開了一種基於IPV6協議攜多地址的數據報格式,同時創新了一種通過該格式進行數據報進行流水線數據廣播的方法;2.可以大量減輕源站主機或伺服器的負荷,提高並發請求響應的能力;3.公開了一種數據報的重組方法和轉發方法,一方面使數據報的重組更簡單快捷,同時也充分發揮了IPV6協議的優勢;4.各IP終端直接向源站主機或伺服器反饋,每個IP數據報在整個傳輸過程,其首部的源地址保持不變,這樣雖然不是源站主機或伺服器直接給它們發送數據報,但它們面向和反饋對象卻是源站主機或伺服器,在減輕源站主機或伺服器的負載同時充分保證各訪問終端與源站主機或伺服器的應答速度。實施例二參考圖12和13所示,為本發明在實施例一的基礎上進行改進的另一種實施方案,其工作原理與實施例一近似,不同在於在多個不同IP進行對源站主機/伺服器請求發送不同數據時,數據報可以被與該數據報不相干的多個IP終端進行重組和轉發;直接目的地址的選定方法略有差異。如實施例一所述,假設IPo、IP^IP2、IP3…IPk共K個IP終端在同一時間單元內同時訪問源站主機/伺服器,其中IPoIPw的終端為請求源站主機/伺服器發送相同的數據,而IPNIPK為請求發送不同內容的數據;假設K個IP同樣劃分為兩個IP集合,即{IPX}x=0、1、…nt'{IPX}x=n+1、n+2、…k5源站主機/伺服器需要分別向IPN+3、IPK發送數據報D和E;首先源站主機/伺服器將{IPX}X=N+1、N+2、…k裡的IP元素進行自動排隊;其中排隊方法有多種,其中包括1)隨機法即用隨機算法對各IP順序進行隨機性排列。2)先進先出法就是那個終端先訪問源主機/或伺服器,那麼該終端對應的IP就在前面,並依次按時間進行排列。3)按所處的網絡健康狀態排列通過檢測各IP訪問或反饋數據所需時間進行排列。所需時間段說明所處的網絡網絡健康狀態好,其應優先排在隊列前面。為了方便描述,假設集合(IPx)x=n+1、n+2、…k中IP隊列順序仍然按n+1、na...k排列,則選定該隊列中首個IP作為直接目的地址;IPn+3和IPk各自及其前面的IP分別被嵌入於IP數據報首部與TCP/UDP首部之間形成二級目的地址報文段並最終形成對應的數據報D和數據報E。參考圖12,為數據報D的流向圖,首先數據報D由源站主機/伺服器向IPN+1發出,IPNM接收到後不提交上一層處理而直接進行重新組並轉發向IPn+2;然後,再由IPn+2—IPn+3,最後IPn+3接收到後向源站主機/伺服器反饋接收確認。參考圖13,為數據報E的流向圖,首先數據報E由源站主機/伺服器向IPN+1發出,IPr^接收到後不提交上一層處理而直接進行重新組並轉發向IPm+2;然後,再由IPn+2—IPn+3;IPN+3—IPN+4;……IPk-i—IPk的方向依次重組和轉發,最後IPK接收到該數據報後向源站主機/伺服器反饋接收確認。數據報D和數據報E在發送過程中發生的數據報重組和轉發方法可以參考實施例一的實現,原理相同。實施例三與實施例一和二的區別在於IP數據報的組成、新IP數據報的重組方法作了進一步的改進。如圖14所示IP數據報的首部301後面是二級目的地址報文段303;相對於圖3所示的二級目的地址段,區別在於二級目的地址報文段303具有一首部S311,首部S3"佔32Bit(也可以定義為64Bit或128Bit,出於節約資源,提高數據容量的目的,可以選用32Bit較為適宜),首部S311用於標識二級目的地址、表示地址數量、以及定義轉發的規則等。如圖14的S3",二級目的地址段首部包括二級目的地址標識、二級目的地址數量、轉發規則,並分別定義其各佔8Bit、8Bit、16Bit;也就是說二級目的地址數量最多可以攜帶255個二級地址。當然首部S311可以定義為多種結構方案,例如可以適當調整各組成所佔的位數、各自的相對位置、添加或刪除部分組成等,出於節餘篇幅的目的,本實施例只對其中一種優選方案進行描述。當源主機/伺服器響應IP集合對應的終端並進行發送IP數據報時先對IP集合(P)Jx-o、u裡的IP位址元素進行排隊,進而確認直接接收該數據報的目的地址;然後把集合中剩餘的IP位址嵌入二級目的地址段首部後面,最後組合成標準的基於IPV6的IP數據報。如圖15所示為數據報發送的可執行流程之一,圖中如步驟S401,源主機/伺服器同一時間單元內接收不同IP終端的數據發送請求;如步驟S402,將目標地址分為若干IP集合;這一步驟根據實際需要而定,如果如目標地址數量不多,可以不用劃分;並且可以具有不同的劃分方法;為方便描述,可以將該IP集合劃分為兩個,即{PX}x-o、i、...N;和{PX}x=n+1、n+2、...k;其中前者是具有相同數據請求的IP位址集合;後者是分別需要源主機發送不同數據的IP位址集合;如步驟S403,源主機或伺服器對各子集合的IP進行排列;為了方便描述,假設{Px}x=o、l...m排序後的IP隊列依然按IPo、IP廣'IPn的順序排列;{Px}x-n+1、n+2、…k;依然按IPhJ+1、IPm+2…IPk的順序排列;如步驟S404,源主機/伺服器形成發往位於集合中IP隊列首位的終端的IP數據報;IP數據報的形成方法是隊列首位的IP作為數據報首部的IP目的地址(即IPo或IPnw填入首部的目的地址);剩餘的IP依次嵌入首部後的報文形成二級目的地址報文段;然後首部、二級目的地址報文段、TCP/UDP報文段與IP數據報首部(可能在TCP/UDP報文段還有擴展首部)、數據段等結合形成最終的IP數據報;如步驟S405,源主機/伺服器往目的地址發送IP數據報;如步驟S406,目的地址的終端接收到該IP數據報,並判斷是否與其相關,如果相關則將該數據報交給上一層處理(見S407),如果該IP數據報與其沒有直接相關,則判斷是否首部後面存在二級目的地址(即S408);如步驟S408,判斷數據報首部是否後面存在二級目的地址數據報,如果存在,則轉到S409在網絡層對該IP數據報進行重組並轉發;否則該數據報的發送結束;如步驟S409,在網絡層對該IP數據報進行重組並轉發;如步驟S410,目的地址對應的IP終端接收到新的IP數據報,並轉到S406進行相關處理參考圖16和圖17所示,分別為步驟S409的網絡層對該IP數據報進行重組並轉發的可行流程之一,和重組時數據報格式的變化其中如S601,接收到IP數據報的終端先對該數據報的首部進行分離;如S602,將IP數據報首部的原目的地址刪除;如S603,二級目的地址段的首個地址前移160Bit(即128Bit+32Bit)成為新的目的地址;如S604,二級目的地址段首部的地址數量減1,標誌和轉發規則不用改變;如S605,二級目的地址段的其它地址依次前移128Bit;如S606,往二級目的地址段後填充128Bit報文以保證二級目的地址段的長度不變、IP首部的有效載荷長度不變是修改的部分最小化,提高數據報的重組速率;如S607,填充的報文與二級目的地址形成新的二級目的地址報文段;如S608,首部、二級目的地址段(可能後面還具有擴展首部)、TCP/UDP首部、數據段等組合成新IP數據報;如S609,IP數據報向目的地址轉發;實施例四本實施例是在前三個實施例的基礎上進行了進一步的改進,其中區別集中在劃分IP集合時候,每個IP至少在不同的IP集合中出現兩次或以上;同時為數據報的發送增設了數據報重發機制、數據報直接接收客戶端重選策略、反饋機制和IP集合重劃分策略。參考圖18,為本用以表示本實施例發送數據方法的流程之一如S701:源主機/伺服器同一時間單元接收到並發的來自不同IP位址的數據發送請求。假設所有IP位址集合用{PX}x-CM...k表示如S702:源主機/伺服器將IP位址集合{PX}x-q、l...k地址集合劃分於若干子集;{Pa}{Pb}{Pc}…為了確保響應所有的IP終端並能把相應數據發送到各IP終端,每個IP位址應至少在不同的IP集合中出現兩次或以上,這樣的有益效果是當該子集的網絡有故障導致部分或全IP接收不到數據,也可以通過其它子集進行數據發送,每個IP位址在不同子集中出現的次數越多,接收到數據的可靠性就越高。為了降低源主機/或伺服器負荷,實現本發明的目的,子集的數量應小於訪問IP的總數K。如S704:源主機/伺服器對各子集裡的IP位址進行排列,形成IP隊列;形成發往位於各集合隊列首個IP對應的終端的IP數據報。形成方法可採用實施例1或2或3的IP數據報生成方法,這裡不再重複;如步驟S705,源主機/伺服器往目的地址發送IP數據報;如步驟S706,目的地址的終端接收到該IP數據報,並判斷是否與其相關,如果相關則將該數據報交給上一層處理(見S707),如果該IP數據報與其沒有直接相關,則判斷是否首部後面存在二級目的地址(即S708);如步驟S708,判斷數據報首部是否後面存在二級目的地址數據報,如果存在,則轉到S709在網絡層對該IP數據報進行重組並轉發;否則該數據報的發送結束;如步驟S709,在網絡層對該IP數據報進行重組並轉發;重組並轉發的方法可以採用實施例1或2或3的方法,這裡不再重複;如步驟S710,目的地址對應的IP終端接收到新的IP數據報,並轉到S706進行相關處理。參考圖19至21,為本實施例數據流向簡單示例。其中,如圖所示假設有8個終端同時向源主機/伺服器發送數據請求,即IP集合為(P)Jx-(m、…7表示;源主機/伺服器自動將該IP集分為三個子集即A:OPo、IP2、IP3、IP6、IP7},B:UP。、IPi、IP2、IP3、IP4、IP5}、C:(A、IP4、IP5、IP6、IP7h其中A、B、C的集合元素按下列順序排列,即A:IPo、IP6、IP2、IP3、IP7B:^、IP4、IP5、IPo、IP2、IP3C:IP7、IP6、R、IP4、IP5IP數據報的發送流向如圖19、20和21所示按照本實施例的發明方法,源主機/伺服器向IPo、IPi、IP7直接發送數報並且該數據報流分三條線傳輸1.源主機/伺服器直接發送至IPo,並依次以IP0—IP6、IP6—IP2、IP2—IP3、IP3—IP7的路線進行數據傳輸;2.源主機/伺服器直接發送至IP"並依次以IP,一IP4、IP4—IP5、IP5—IPo、IPo—IP2、IP2—IP3的路線進行數據傳輸;3.源主機/伺服器直接發送至IP7,並依次以IP7—IP6、IP6—IP,、IP,—IP4、IP4—IP5的路線進行數據傳輸;另外,本實施例的數據發送時還具有數據報重發機制即當源站主機/伺服器在既定時間內接收不到目的地址終端反饋,則自動就該數據重新形成IP數據報重新發送;其中既定時間可以根據該IP數據報攜帶的二級目的地址的數量進行動態調節或則系統直接設定一個時間段作為重發該數據報的條件;數據報直接接收客戶端重選策略即源站主機/伺服器在既定時間內接收不到數據報直接接收客戶端的反饋收到的確認信號,則重新從該IP集合中重新選擇一個IP及終端作為數據報直接接收客戶端並以相同的數據內容重新形成IP數據報並重發IP數據報;反饋機制即IP數據報的接收終端直接向源站主機/伺服器反饋是否收到的^縣.1口5;IP集合重組策略即當有新的IP訪問源站主機/伺服器時,該IP安插於已有的IP集合裡;當IP集合中無效IP佔該集合的IP數量50%以上則該集合的有效IP與新增加IP進行重新劃分IP集合。權利要求1.基於IPV6協議的響應並發請求和攜多地址流水線數據廣播方法,其特徵在於,該方法包括如下步驟1).源站主機/伺服器將時間單元內來訪的終端IP劃分為一個或一個以上的IP集合;2).從各IP集合中選定一個IP及終端作為數據報直接接收客戶端;3).源站主機/伺服器以數據報直接接收客戶端IP為目的地址形成IP數據報並將IP集合其它IP的部分或全部添加於IP數據報首部與TCP/UDP首部之間形成二級目的地址報文段;4).源站主機/伺服器將具有二級目的地址報文段的IP數據報發送至數據報直接接收客戶端;5).數據報直接接收客戶端接收IP數據報,並將該數據報進行重組後向二級目的地址報文段的IP終端轉發;所述數據報重組為二級目的地址報文段的首個IP向數據報首部前移變成新IP數據報的目的地址;其它剩餘IP形成新的二級目的地址報文段;原IP數據報首部及數據的其它組成保持不變;6).重組後的IP數據報向新的目的地址發送;7).IP數據報依次被重組和轉發直至與該數據報相關的二級目的地址IP客戶端至少具有一次接收該數據報的機會為止。2.如權利要求1所述的數據傳輸的方法,其特徵在於所述的二級目的地址報文段具有一首部,該首部用以標識二級目的地址報文段、二級目的IP位址數量或/與轉發規則。3.如權利要求1或2所述的數據傳輸的方法,其特徵在於數據報進行重組指二級目的地址報文段的首個IP向數據報首部前移並替換原有目的地址形成新的目的地址;二級目的地址報文段除自身首部以外的剩餘部向前移128Bit,同時往因前移而產生的空隙部填充128Bit的報文段以形成新的二級目的地址報文段及保證整個IP數據報的有效載荷長度不變;原IP數據報首部及數據的其它組成保持不變。4.如權利要求2所述的數據傳輸的方法,其特徵在於數據報進行重組指二級目的地址報文段的首個IP向數據報首部前移替換原有目的地址形成新的目的地址;二級目的地址報文段首部用以表示二級目的地址數量的自動減l,其它剩餘IP向首部前移128Bit同時往因前移而產生的空隙部填充128Bit的報文段以保證二級目的地址報文段、整個IP數據報的有效載荷長度不變;原IP數據報首部及數據的其它組成保持不變。5.如權利要求3所述的數據傳輸的方法,其特徵在於源站主機/伺服器將來訪的終端IP劃分為若干個IP集合的方法包括根據數據內容的相似性劃分;根據所屬地域或網絡劃分;根據隨機平均分配法劃分。6.如權利要求5所述的數據傳輸的方法,其特徵在於源站主機/伺服器將來訪的終端IP劃分為若干個IP集合;來訪的終端IP在不同的IP集合裡至少出現兩次。7.如權利要求5所述的數據傳輸的方法,其特徵在於所述的從各IP集合中選定一個IP及終端為數據報直接接收客戶端的方法為將各IP集合裡的IP元素進行排列形成IP隊列,以隊列首個IP為數據報直接接收客戶端;8.如權利要求6所述的數據傳輸的方法,其特徵在於所述的從各IP集合中選定一個IP及終端為數據報直接接收客戶端的方法為通過對各IP所處網絡的健康指數進行檢測/通過歷史數據交換記錄選取數據收發最快的IP為數據報直接接收客戶端。9.如權利要求3或4或8所述的數據傳輸的方法,其特徵在於所述的嵌入二級目的地址報文段的所有目的IP位址為該IP數據報的接收客戶端IP。10.如權利要求3所述的數據傳輸的方法,其特徵在於還具有一數據報重發機制、一數據報直接接收客戶端重選策略、一反饋機制和一IP集合重劃分策略所述的數據報重發機制指當源站主機/伺服器在既定時間內接收不到目的地址終端反饋,則自動就該數據重新形成IP數據報重新發送;所述的數據報直接接收客戶端重選策略指源站主機/伺服器在既定時間內接收不到數據報直接接收客戶端的是否收到的反饋則重該IP集合中重新選擇-個IP及終端作為數據報直接接收客戶端並重發IP數據報;所述的反饋機制是指所有的IP數據報的接收終端直接向源站主機/伺服器反饋是否收到的信號;所述的IP集合重組策略是指當有新的IP訪問源站主機/伺服器時,該IP安插於已有的IP集合裡;當IP集合中無效IP佔該集合的IP數量50%或以上則該集合的有效IP與新增加IP進行重新劃分IP集合;其中無效IP是指該IP前的若干的時間單元內不再訪問源站主機/伺服器或不在請求發送數據的該IP視為無效。全文摘要本發明涉及計算機通信
技術領域:
,公開一種基於IPV6協議的響應並發請求和攜多地址流水線數據廣播方法,該方法特點在於包括步驟1)源站主機/伺服器將時間單元內來訪的終端IP劃分為一個或一個以上的IP集合;2)從各IP集合中選定一個IP及終端作為數據報直接接收客戶端;3)源站主機/伺服器以數據報直接接收客戶端IP為目的地址形成IP數據報並將IP集合其它IP的部分或全部添加於IP數據報首部與TCP/UDP首部之間形成二級目的地址報文段;4)源站主機/伺服器將具有二級目的地址報文段的IP數據報發送至數據報直接接收客戶端;5)數據報直接接收客戶端接收IP數據報,並將該數據報進行重組後向二級目的地址報文段的IP終端轉發等,並且具有數據報重發機制、數據報直接接收客戶端重選策略、反饋機制和IP集合重劃分策略,通過本發明方法可以帶來有效降低負載,發揮IPV6的優勢和提高數據發送速度等明顯有益效果。文檔編號H04L29/06GK101662479SQ200910192499公開日2010年3月3日申請日期2009年9月18日優先權日2009年9月18日發明者餘元龍,盧林發,葉燦才申請人:中山愛科數字科技有限公司