国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種發(fā)送報(bào)文的方法

      文檔序號(hào):7952642閱讀:186來源:國知局
      專利名稱:一種發(fā)送報(bào)文的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及多鏈路捆綁技術(shù),特別是涉及一種在捆綁有多條鏈路的多鏈路接口上發(fā)送報(bào)文的方法。
      背景技術(shù)
      多鏈路捆綁技術(shù)是將多個(gè)物理鏈路捆綁起來,使得一個(gè)多鏈路接口中包括多條物理鏈路,從而達(dá)到增加帶寬的目的。目前的多鏈路捆綁技術(shù)主要包括多鏈路幀中繼(MFR)技術(shù)和多鏈路點(diǎn)到點(diǎn)(NP)技術(shù),當(dāng)采用MFR技術(shù)或NP技術(shù)增加傳輸帶寬時(shí),現(xiàn)有技術(shù)在MFR接口或NP接口上發(fā)送報(bào)文的方式主要包括方式一、交替發(fā)送方式。
      當(dāng)采用交替發(fā)送方式時(shí),發(fā)送方輪流使用MFR接口或NP接口中的各條物理鏈路發(fā)送報(bào)文,也就是說,如果本次使用第N條物理鏈路發(fā)送報(bào)文,下次則使用第N+1條物理鏈路發(fā)送報(bào)文,依此類推,直至最后一條物理鏈路完成報(bào)文發(fā)送時(shí),重新從第一條物理鏈路開始執(zhí)行發(fā)送。
      方式二、令牌發(fā)送方式。
      當(dāng)采用方式二的令牌發(fā)送方式時(shí),預(yù)先為MFR接口或NP接口中的每一條物理鏈路設(shè)置允許發(fā)送的字節(jié)數(shù)即令牌值,當(dāng)MFR接口或NP接口中的一條物理鏈路執(zhí)行發(fā)送時(shí),每發(fā)送一個(gè)報(bào)文就從該條物理鏈路的令牌值中減去所發(fā)報(bào)文的字節(jié)長度,直到該物理鏈路的令牌值小于或等于0時(shí),則由下一條物理鏈路來執(zhí)行發(fā)送。
      需要說明的是,無論采用上述方式一還是方式二,在現(xiàn)有技術(shù)中,發(fā)送端從自身隊(duì)列中取出報(bào)文通過MFR接口或NP接口中的一條物理鏈路進(jìn)行發(fā)送時(shí),均按照先來先發(fā)送的原則進(jìn)行發(fā)送,也就是說,發(fā)送端按照?qǐng)?bào)文在隊(duì)列中的順序依次取出報(bào)文進(jìn)行發(fā)送。
      然而,由于一個(gè)MFR接口或NP接口中多條物理鏈路之間往往會(huì)存在較大的速度差,比如,一個(gè)MFR接口中包括1條T3鏈路、1條T1鏈路和1條E1鏈路,T3鏈路的速度通??蛇_(dá)到幾十兆,比如44M,而T1鏈路和E1鏈路的速度卻只有幾兆,比如分別為2M和1.5M,這樣,按照現(xiàn)有技術(shù)先來先發(fā)送的原則并采用方式一的交替發(fā)送方式時(shí),雖然可以保證增加MFR接口或NP接口的傳輸帶寬,但是每當(dāng)由快速鏈路發(fā)送時(shí),在快速物理鏈路上后發(fā)的報(bào)文往往會(huì)比之前在慢速物理鏈路上先發(fā)的報(bào)文先到達(dá)接收端,從而導(dǎo)致在接收端出現(xiàn)大量報(bào)文亂序的問題;按照現(xiàn)有技術(shù)先來先發(fā)送的原則并采用方式二的令牌發(fā)送方式時(shí),雖然也可以保證增加MFR接口或NP接口的傳輸帶寬,但是每當(dāng)慢速物理鏈路上的令牌值小于或等于0而切換到快速物理鏈路上時(shí),在快速物理鏈路上后發(fā)的報(bào)文也往往會(huì)比之前在慢速物理鏈路上先發(fā)的報(bào)文先到達(dá)接收端,從而導(dǎo)致在接收端出現(xiàn)大量報(bào)文亂序的問題。
      由以上描述可以看出,由于一個(gè)MFR接口或NP接口中的多條物理鏈路之間往往存在較大的速度差異,而現(xiàn)有技術(shù)先來先發(fā)送的原則以及交替發(fā)送的方式和令牌發(fā)送的方式雖然保證了增加MFR接口或NP接口的傳輸帶寬,但是卻無法彌補(bǔ)各條物理鏈路之間的速度差異,無法避免接收端出現(xiàn)大量報(bào)文亂序的問題,從而為接收端的后續(xù)報(bào)文處理工作帶來極大的不便。比如,接收端必須對(duì)大量亂序的報(bào)文進(jìn)行緩沖處理,而當(dāng)亂序報(bào)文的數(shù)量超出接收端緩沖區(qū)的長度時(shí),接收端則會(huì)將亂序的報(bào)文丟棄,從而大大降低了采用MFR技術(shù)或NP技術(shù)時(shí)網(wǎng)絡(luò)的業(yè)務(wù)服務(wù)質(zhì)量。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明的主要目的在于提供一種發(fā)送報(bào)文的方法,以便在保證增加傳輸帶寬的同時(shí)最大程度地避免接收端報(bào)文亂序的問題。
      為了達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種發(fā)送報(bào)文的方法,應(yīng)用于捆綁多條鏈路的多鏈路接口上,設(shè)置多鏈路接口中每一條鏈路的啟動(dòng)條件,該方法還包括A、對(duì)發(fā)送端緩存報(bào)文的隊(duì)列進(jìn)行實(shí)時(shí)檢測;B、每當(dāng)檢測到滿足多鏈路接口中任意一條鏈路的啟動(dòng)條件時(shí),確定當(dāng)前滿足啟動(dòng)條件的鏈路所對(duì)應(yīng)的報(bào)文獲取位置,并通過當(dāng)前滿足啟動(dòng)條件的鏈路發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于所確定報(bào)文獲取位置處的報(bào)文。
      當(dāng)報(bào)文長度固定時(shí),所述設(shè)置啟動(dòng)條件的步驟包括根據(jù)發(fā)送端緩存報(bào)文的隊(duì)列中報(bào)文的數(shù)量以及多鏈路接口中各鏈路的速度,設(shè)置多鏈路接口中每一條鏈路的啟動(dòng)條件。
      所述設(shè)置多鏈路接口中每一條鏈路的啟動(dòng)條件的步驟包括100、按照速度從大到小的順序?qū)Χ噫溌方涌谥械母鳁l鏈路進(jìn)行排序;101、對(duì)于多鏈路接口中速度最快的鏈路L1,設(shè)置該速度最快鏈路L1的啟動(dòng)條件為,在緩存報(bào)文的隊(duì)列中,報(bào)文的個(gè)數(shù)大于0;對(duì)于多鏈路接口中除速度最快鏈路L1之外的任意一條鏈路Li,i為大于1的自然數(shù),該Li的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,報(bào)文的個(gè)數(shù)大于 其中,Vk、Vi分別為多鏈路接口中第K條和第i條鏈路的速度。
      所述步驟A包括對(duì)發(fā)送端緩存報(bào)文隊(duì)列中報(bào)文的個(gè)數(shù)進(jìn)行實(shí)時(shí)檢測;所述步驟B包括每當(dāng)檢測到緩存報(bào)文的隊(duì)列中報(bào)文的個(gè)數(shù)大于0時(shí),確定速度最快的鏈路L1對(duì)應(yīng)的報(bào)文獲取位置為當(dāng)前緩存報(bào)文隊(duì)列中位于第一個(gè)位置的報(bào)文,然后通過該速度最快的鏈路L1發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第一個(gè)位置的報(bào)文;每當(dāng)檢測到緩存報(bào)文的隊(duì)列中報(bào)文的個(gè)數(shù)大于 時(shí),確定鏈路Li對(duì)應(yīng)的報(bào)文獲取位置為當(dāng)前緩存報(bào)文的隊(duì)列中第 個(gè)位置的報(bào)文,并通過鏈路Li發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第 個(gè)位置的報(bào)文。
      所述設(shè)置啟動(dòng)條件的步驟包括根據(jù)發(fā)送端緩存報(bào)文的隊(duì)列中報(bào)文的長度以及多鏈路接口中各鏈路的速度,設(shè)置多鏈路接口中每一條鏈路的啟動(dòng)條件。
      當(dāng)報(bào)文長度固定時(shí),所述設(shè)置啟動(dòng)條件的步驟包括200、按照速度從大到小的順序?qū)Χ噫溌方涌谥械母鳁l鏈路進(jìn)行排序;201、對(duì)于多鏈路接口中速度最快的鏈路L1,設(shè)置該速度最快鏈路L1的啟動(dòng)條件為,在緩存報(bào)文的隊(duì)列中,各報(bào)文的總長度大于0;對(duì)于多鏈路接口中除速度最快鏈路L1之外的任意一條鏈路Li,i為大于1的自然數(shù),該Li的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,各報(bào)文的總長度大于 其中,Vk、Vi分別為多鏈路接口中第K條和第i條鏈路的速度,S為每個(gè)報(bào)文的長度。
      所述步驟A包括對(duì)發(fā)送端緩存報(bào)文隊(duì)列中各報(bào)文的總長度進(jìn)行實(shí)時(shí)檢測;所述步驟B包括每當(dāng)檢測到緩存報(bào)文的隊(duì)列中各報(bào)文的總長度大于0時(shí),確定速度最快的鏈路L1對(duì)應(yīng)的報(bào)文獲取位置為當(dāng)前緩存報(bào)文隊(duì)列中位于第一個(gè)位置的報(bào)文,然后通過該速度最快的鏈路L1發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第一個(gè)位置的報(bào)文;每當(dāng)檢測到緩存報(bào)文的隊(duì)列中各報(bào)文的總長度大于 ×S時(shí),確定鏈路Li對(duì)應(yīng)的報(bào)文獲取位置為當(dāng)前緩存報(bào)文的隊(duì)列中第 個(gè)位置的報(bào)文,并通過鏈路Li發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第 個(gè)位置的報(bào)文。
      當(dāng)所述 的值為小數(shù)時(shí),所確定的第 個(gè)位置的報(bào)文為 的值向上取整后位置的報(bào)文。
      所述設(shè)置啟動(dòng)條件的步驟包括300、按照速度從大到小的順序?qū)Χ噫溌方涌谥械母鳁l鏈路進(jìn)行排序;301、對(duì)于多鏈路接口中速度最快的鏈路L1,設(shè)置該速度最快鏈路L1的啟動(dòng)條件為,在緩存報(bào)文的隊(duì)列中,各報(bào)文的總長度大于0;對(duì)于多鏈路接口中除速度最快的鏈路L1之外的任意一條鏈路Li,i為大于1的自然數(shù),設(shè)置該Li的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,存在報(bào)文排列位置X滿足不等式&Sigma;k=1k=X-1SkSx>=&Sigma;k=1k=i-1VkVi,]]>其中,Vk、Vi分別為多鏈路接口中第K條和第i條鏈路的速度,Sk和SX分別表示當(dāng)前緩存報(bào)文的隊(duì)列中第K個(gè)位置和第X個(gè)位置的報(bào)文長度。
      所述步驟A包括對(duì)發(fā)送端緩存報(bào)文隊(duì)列中各報(bào)文的總長度進(jìn)行實(shí)時(shí)檢測;所述步驟B包括每當(dāng)檢測到緩存報(bào)文的隊(duì)列中各報(bào)文的總長度大于0時(shí),確定速度最快的鏈路L1對(duì)應(yīng)的報(bào)文獲取位置為當(dāng)前緩存報(bào)文隊(duì)列中位于第一個(gè)位置的報(bào)文,然后通過該速度最快的鏈路L1發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第一個(gè)位置的報(bào)文;每當(dāng)檢測到緩存報(bào)文的隊(duì)列中,存在報(bào)文排列位置X滿足不等式&Sigma;k=1k=X-1SkSx>=&Sigma;k=1k=i-1VkVi]]>時(shí),取X的最小值X’,確定鏈路Li對(duì)應(yīng)的報(bào)文獲取位置為當(dāng)前緩存報(bào)文的隊(duì)列中第X’個(gè)位置的報(bào)文,并通過鏈路Li發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第X’個(gè)位置的報(bào)文。
      當(dāng)檢測到對(duì)于i為不同值的不同鏈路,存在相同的報(bào)文排列位置X’時(shí),所述發(fā)送第X’個(gè)位置報(bào)文的鏈路Li為該不同鏈路中速度最快的鏈路。
      當(dāng)發(fā)送端報(bào)文長度不固定時(shí),該方法進(jìn)一步包括當(dāng)發(fā)送端存在一個(gè)報(bào)文的長度大于預(yù)先設(shè)置的分片長度閾值時(shí),在將該報(bào)文放入緩存報(bào)文的隊(duì)列中時(shí),將該報(bào)文從頭至尾分成大小相等的多個(gè)報(bào)文,然后將分出的多個(gè)報(bào)文按照從頭至尾的順序依次放入緩存報(bào)文的隊(duì)列中。
      所述多鏈路接口為MFR接口或NP接口。
      由此可見,本發(fā)明充分利用了一個(gè)多鏈路接口中各條鏈路之間的速度差異,根據(jù)各條鏈路的速度來確定啟動(dòng)各條鏈路的時(shí)機(jī),并根據(jù)各條鏈路的速度來確定各條鏈路所發(fā)送的報(bào)文在緩存報(bào)文隊(duì)列中的位置,這樣,則可保證發(fā)送端的報(bào)文按照正確的順序到達(dá)接收端,從而避免了接收端報(bào)文亂序的問題。另外,多鏈路捆綁技術(shù)將多條物理鏈路捆綁起來是為了達(dá)到增加帶寬的目的,也就是說,是為了使一個(gè)多鏈路接口的傳輸速度盡可能的達(dá)到該多鏈路接口中各條物理鏈路的速度和,本發(fā)明在啟動(dòng)各條鏈路傳輸報(bào)文時(shí),先使用速度較快的鏈路來發(fā)送報(bào)文,在速度較快鏈路無法滿足傳輸需求時(shí),才啟動(dòng)速度較慢的鏈路與速度較快的鏈路同時(shí)發(fā)送報(bào)文,因此,在保證報(bào)文以正確順序到達(dá)接收端的同時(shí),最大程度地增加了多鏈路接口的傳輸帶寬。


      圖1是實(shí)現(xiàn)本發(fā)明的實(shí)施例的流程圖。
      具體實(shí)施例方式
      在多鏈路接口如MFR接口或NP接口上發(fā)送報(bào)文時(shí),現(xiàn)有技術(shù)只是一味地按照?qǐng)?bào)文先來先發(fā)送的原則采用交替發(fā)送或令牌發(fā)送的方式進(jìn)行發(fā)送,而沒有充分考慮和利用多鏈路接口中各條物理鏈路之間的速度差異,因而往往會(huì)導(dǎo)致接收端出現(xiàn)大量報(bào)文亂序的問題。對(duì)多鏈路接口發(fā)送報(bào)文的過程進(jìn)行分析可知,要彌補(bǔ)多鏈路接口中各條物理鏈路之間的速度差異,以保證報(bào)文按照其達(dá)到發(fā)送端的順序到達(dá)接收端,則應(yīng)該由多鏈路接口中速度較慢的鏈路發(fā)送隊(duì)列中位置較后的報(bào)文,同時(shí)由速度較快的鏈路發(fā)送隊(duì)列中位置較前的報(bào)文,由于速度較慢的鏈路發(fā)送報(bào)文所需的時(shí)間較長,速度較快的鏈路發(fā)送報(bào)文所需的時(shí)間較短,從而可以保證位置較前的報(bào)文能夠通過快速鏈路的發(fā)送先到達(dá)接收端,位置較后的報(bào)文通過慢速鏈路的發(fā)送在位置較前的報(bào)文到達(dá)接收端之后再到達(dá),從而保證了接收端所接收到報(bào)文順序的正確性。其中,慢速鏈路具體取隊(duì)列中較后的哪一個(gè)位置報(bào)文則需要根據(jù)快速鏈路和慢速鏈路的速度來確定。
      針對(duì)上述特點(diǎn),本發(fā)明提出了一種發(fā)送報(bào)文的方法,其核心思想是設(shè)置多鏈路接口中每一條鏈路的啟動(dòng)條件;對(duì)發(fā)送端緩存報(bào)文的隊(duì)列進(jìn)行實(shí)時(shí)檢測;每當(dāng)檢測到滿足多鏈路接口中任意一條鏈路的啟動(dòng)條件時(shí),確定當(dāng)前滿足啟動(dòng)條件的鏈路所對(duì)應(yīng)的報(bào)文獲取位置,并通過當(dāng)前滿足啟動(dòng)條件的鏈路發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于所確定報(bào)文獲取位置處的報(bào)文。
      其中,所檢測的啟動(dòng)條件以及一條鏈路所對(duì)應(yīng)的報(bào)文獲取位置是根據(jù)緩存報(bào)文的隊(duì)列中報(bào)文的數(shù)量或長度,以及各條鏈路的速度來確定的。并且,所述的多鏈路接口可以是捆綁有多條鏈路的任意一個(gè)接口,比如,MFR接口或NP接口。
      為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
      在以下的實(shí)施例中,以MFR接口作為所述的多鏈路接口為例來說明本發(fā)明的實(shí)現(xiàn)過程。
      圖1是實(shí)現(xiàn)本發(fā)明的實(shí)施例的流程圖。參見圖1,本發(fā)明實(shí)現(xiàn)在MFR接口上發(fā)送報(bào)文的過程包括以下步驟步驟101在發(fā)送端,按照速度從大到小的順序?qū)σ粋€(gè)MFR接口中的各條鏈路進(jìn)行排序。
      這里,比如,一個(gè)MFR接口綁定了n條鏈路L1至Ln,其速度分別為V1至Vn,且V1>…>Vn,其中,n為大于或等于2的自然數(shù),這樣,在本步驟中,按照速度從大到小的順序?qū)1至Ln排序后,得到第一條鏈路為L1鏈路,第二條鏈路為L2鏈路,依此類推,直至第n條鏈路為Ln鏈路。
      步驟102在發(fā)送端,設(shè)置MFR接口中每一條鏈路的啟動(dòng)條件。
      這里,由于報(bào)文的長度會(huì)影響一條鏈路發(fā)送報(bào)文所花費(fèi)的時(shí)間,因此,在本步驟中,必須根據(jù)發(fā)送端報(bào)文的長度是否固定來設(shè)置MFR接口中各條鏈路的啟動(dòng)條件。
      一、當(dāng)報(bào)文長度固定,也就是說,每一個(gè)需發(fā)送報(bào)文的長度均相等時(shí),在本步驟中,可以根據(jù)發(fā)送端緩存報(bào)文的隊(duì)列中報(bào)文的數(shù)量或報(bào)文的長度,并結(jié)合多鏈路幀中繼接口中各鏈路的速度,來設(shè)置多鏈路幀中繼接口中每一條鏈路的啟動(dòng)條件,具體包括A)對(duì)于排序后的第一條鏈路L1,由于其速度最大,因此為了保證增加傳輸帶寬,設(shè)置該速度最大鏈路L1的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,報(bào)文的個(gè)數(shù)大于0或各報(bào)文的總長度大于0,也就是說,只要緩存報(bào)文的隊(duì)列中存在報(bào)文,則啟動(dòng)MFR接口中速度最大的鏈路L1來發(fā)送報(bào)文。
      B)對(duì)于排序后的第二條鏈路L2,由于其速度比L1小但比其它鏈路大,因此,在L1無法滿足傳輸需求即緩存報(bào)文的隊(duì)列中報(bào)文不斷累積,在保證報(bào)文到達(dá)接收端不亂序的條件下,僅僅使用L1沒有同時(shí)使用L1和L2的傳輸速度快時(shí)則應(yīng)啟動(dòng)L2。并且,設(shè)置該鏈路L2的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,報(bào)文的個(gè)數(shù)大于(V1/V2)或各報(bào)文的總長度大于(V1/V2)×S,其中,S為報(bào)文的固定長度。
      比如,L1的速度V1為44M,L2的速度V2為2M,由于V1/V2=22,也就是說,鏈路L1發(fā)送22個(gè)報(bào)文所花費(fèi)的時(shí)間與鏈路L2發(fā)送1個(gè)報(bào)文所花費(fèi)的時(shí)間相等,因此,當(dāng)緩存報(bào)文的隊(duì)列中存在第(V1/V2+1)=23個(gè)報(bào)文時(shí),如果使用L1鏈路發(fā)送緩存報(bào)文的隊(duì)列中前22個(gè)報(bào)文,使用L2鏈路發(fā)送緩存報(bào)文的隊(duì)列中第23個(gè)報(bào)文,這樣,在L1鏈路發(fā)送完前21個(gè)報(bào)文后,L1鏈路發(fā)送的第22個(gè)報(bào)文將與通過L2鏈路發(fā)送的第23個(gè)報(bào)文幾乎同時(shí)到達(dá)接收端,從而在保證提高傳輸速度即增加傳輸帶寬的同時(shí)保證了接收端接收到的報(bào)文順序正確。因此,可知,為了保證接收端接收到的報(bào)文的順序正確,L2的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,報(bào)文的個(gè)數(shù)大于(V1/V2)。根據(jù)該啟動(dòng)條件的一種變通啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,報(bào)文的總長度大于(V1/V2)×S。
      C)對(duì)于排序后的第三條鏈路L3,由于其速度比L1和L2小但比其它鏈路大,在L1和L2同時(shí)傳輸報(bào)文但仍無法滿足傳輸需求即緩存報(bào)文的隊(duì)列中累積報(bào)文時(shí),由于在保證報(bào)文到達(dá)接收端不亂序的條件下,僅僅使用L1和L2沒有同時(shí)L1、L2和L3的傳輸速度快,因此應(yīng)啟動(dòng)L3。并且,設(shè)置該鏈路L3的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,報(bào)文的個(gè)數(shù)大于(V1+V2)/V3或各報(bào)文的總長度大于(V1+V2)/V3×S,其中,S為報(bào)文的固定長度。
      比如,L1的速度V1為44M,L2的速度V2為2M,L3的速度V3為1.5M,由于在啟動(dòng)L3時(shí),L1和L2均已啟動(dòng)并發(fā)送報(bào)文,因此,應(yīng)使用L1和L2的速度和與L3的速度進(jìn)行比較。由于(V1+V2)/V3=30.6,也就是說,鏈路L1和L2共同發(fā)送30.6個(gè)報(bào)文所花費(fèi)的時(shí)間與鏈路L3發(fā)送1個(gè)報(bào)文所花費(fèi)的時(shí)間相等,因此,當(dāng)緩存報(bào)文的隊(duì)列中存在第(V1+V2)/V3向上取整后加1即32個(gè)報(bào)文時(shí),如果使用L1和L2鏈路發(fā)送緩存報(bào)文的隊(duì)列中前30.6個(gè)報(bào)文,考慮到發(fā)送報(bào)文的完整性,在本發(fā)明中,當(dāng)速度比為小數(shù)時(shí),可以對(duì)該小數(shù)值進(jìn)行向上取整,即取大于該小數(shù)值的最小自然數(shù),30.6向上取整后為31,所以使用L3鏈路發(fā)送緩存報(bào)文隊(duì)列中的下一個(gè)報(bào)文即第32個(gè)報(bào)文,這樣,在L1和L2同時(shí)發(fā)送完前30個(gè)報(bào)文后,所發(fā)送的第31個(gè)報(bào)文將與通過L3鏈路發(fā)送的第32個(gè)報(bào)文幾乎同時(shí)到達(dá)接收端,從而在保證提高傳輸速度即增加傳輸帶寬的同時(shí)保證了接收端接收到的報(bào)文的順序正確。因此,可知,為了保證接收端接收到的報(bào)文的順序正確,L3的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,報(bào)文的個(gè)數(shù)大于(V1+V2)/V3。根據(jù)該啟動(dòng)條件的一種變通啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,報(bào)文的總長度大于(V1+V2)/V3×S。
      依此類推,可以得到對(duì)于排序后的最后一條鏈路Ln,由于其速度最小,因此,在L1至Ln-1同時(shí)傳輸報(bào)文但仍無法滿足傳輸需求即緩存報(bào)文的隊(duì)列中仍會(huì)存在報(bào)文時(shí)啟動(dòng)Ln,因此,設(shè)置該速度最小的鏈路Ln的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,報(bào)文的個(gè)數(shù)大于(V1+V2+…Vn-1)/Vn或各報(bào)文的總長度大于(V1+V2+…Vn-1/Vn)×S。
      綜上所述,當(dāng)報(bào)文長度固定時(shí),為了在保證提高傳輸速度即增加傳輸帶寬的同時(shí)保證接收端接收到的報(bào)文的順序正確,對(duì)于MFR接口中速度最快的鏈路L1,其啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,報(bào)文的個(gè)數(shù)大于0或各報(bào)文的總長度大于0;對(duì)于MFR接口中除速度最快鏈路之外的任意一條鏈路Li,i為2至n中的任意一個(gè)自然數(shù),該Li的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,報(bào)文的個(gè)數(shù)大于(V1+V2+…Vi-1)/Vi也就是大于 或者,在緩存報(bào)文的隊(duì)列中,各報(bào)文的總長度大于(V1+V2+…Vi-1)×S/Vi也就是大于 二、無論報(bào)文長度是否固定,在本步驟中,均可以根據(jù)發(fā)送端緩存報(bào)文的隊(duì)列中報(bào)文的長度,并結(jié)合多鏈路幀中繼接口中各鏈路的速度,設(shè)置多鏈路幀中繼接口中每一條鏈路的啟動(dòng)條件,具體包括1)對(duì)于排序后的第一條鏈路L1,由于其速度最大,因此為了保證增加傳輸帶寬,設(shè)置該速度最大鏈路L1的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,各報(bào)文的總長度大于0,也就是說,只要緩存報(bào)文的隊(duì)列中存在報(bào)文,則啟動(dòng)MFR接口中速度最大的鏈路L1來發(fā)送報(bào)文。
      2)對(duì)于排序后的第二條鏈路L2,由于其速度比L1小但比其它鏈路大,因此,在L1無法滿足傳輸需求即緩存報(bào)文的隊(duì)列中報(bào)文不斷累積,在保證報(bào)文到達(dá)接收端不亂序的條件下,僅僅使用L1沒有同時(shí)使用L1和L2的傳輸速度快時(shí)則應(yīng)啟動(dòng)L2。并且,設(shè)置該鏈路L2的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,存在一個(gè)報(bào)文排列位置,使得該報(bào)文排列位置之前各個(gè)報(bào)文長度的和與該報(bào)文排列位置上報(bào)文長度的比值大于或等于V1/V2。
      比如,L1的速度V1為44M,L2的速度V2為2M,由于V1/V2=22,所以鏈路L1每發(fā)送22個(gè)字節(jié)長度的報(bào)文所花費(fèi)的時(shí)間與鏈路L2每發(fā)送1個(gè)字節(jié)長度的報(bào)文所花費(fèi)的時(shí)間相等,因此,在本步驟中,在當(dāng)前的緩存報(bào)文的隊(duì)列中,如果一個(gè)報(bào)文排列位置比如第7個(gè)報(bào)文排列位置之前各個(gè)報(bào)文長度的和與該第7個(gè)報(bào)文排列位置上報(bào)文長度的比值小于V1/V2,則表示如果由L1發(fā)送該第7個(gè)報(bào)文排列位置之前的各個(gè)報(bào)文,并由L2發(fā)送該第7個(gè)報(bào)文排列位置上的報(bào)文,那么,由于V1/V2=22,L1在發(fā)送完畢前6個(gè)報(bào)文時(shí),該L2發(fā)送的第7個(gè)報(bào)文還未到達(dá)接收端,這樣,則大大降低了傳輸速度,并會(huì)導(dǎo)致接收端報(bào)文亂序。反之,如果存在一個(gè)報(bào)文排列位置比如第7個(gè)報(bào)文排列位置之前各個(gè)報(bào)文長度的和與該第7個(gè)報(bào)文排列位置上報(bào)文長度的比值大于或等于V1/V2,則表示如果由L1發(fā)送該第7個(gè)報(bào)文排列位置之前的各個(gè)報(bào)文并由L2發(fā)送該第7個(gè)報(bào)文排列位置上的報(bào)文,那么,由于V1/V2=22,L1在發(fā)送完畢前6個(gè)報(bào)文時(shí),該L2發(fā)送的第7個(gè)報(bào)文也可以到達(dá)接收端,這樣,則可保證在接收端報(bào)文順序正確的情況下大大提高傳輸速度即增加傳輸帶寬。因此,設(shè)置該鏈路L2的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,存在一個(gè)報(bào)文排列位置,使得該報(bào)文排列位置之前各個(gè)報(bào)文長度的和與該報(bào)文排列位置上報(bào)文長度的比值大于或等于V1/V2。
      3)對(duì)于排序后的第三條鏈路L3,由于其速度比L1和L2小但比其它鏈路大,在L1和L2同時(shí)傳輸報(bào)文但仍無法滿足傳輸需求即緩存報(bào)文的隊(duì)列中累積報(bào)文時(shí),由于在保證報(bào)文到達(dá)接收端不亂序的條件下,僅僅使用L1和L2沒有同時(shí)L1、L2和L3的傳輸速度快,因此應(yīng)啟動(dòng)L3。并且,設(shè)置該鏈路L3的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,存在一個(gè)報(bào)文排列位置,使得該報(bào)文排列位置之前各個(gè)報(bào)文長度的和與該報(bào)文排列位置上報(bào)文長度的比值大于或等于(V1+V2)/V3。
      比如,L1的速度V1為44M,L2的速度V2為2M,L3的速度V3為1.5M,由于在啟動(dòng)L3時(shí),L1和L2均已啟動(dòng)并發(fā)送報(bào)文,因此,應(yīng)根據(jù)L1和L2的速度和與L3的速度的差異來確定是否存在啟動(dòng)L3的條件。比如,L1的速度V1為44M,L2的速度V2為2M,由于(V1+V2)/V3=30.6,所以鏈路L1和L2每發(fā)送30.6個(gè)字節(jié)長度的報(bào)文所花費(fèi)的時(shí)間與鏈路L3每發(fā)送1個(gè)字節(jié)長度的報(bào)文所花費(fèi)的時(shí)間相等。因此,在本步驟中,在當(dāng)前的緩存報(bào)文的隊(duì)列中,如果一個(gè)報(bào)文排列位置比如第7個(gè)報(bào)文排列位置之前各個(gè)報(bào)文長度的和與該第7個(gè)報(bào)文排列位置上報(bào)文長度的比值小于(V1+V2)/V3,則表示如果由L1和L2發(fā)送該第7個(gè)報(bào)文排列位置之前的各個(gè)報(bào)文并由L3發(fā)送該第7個(gè)報(bào)文排列位置上的報(bào)文,那么,L1和L2在發(fā)送完畢前6個(gè)報(bào)文時(shí),該L3發(fā)送的第7個(gè)報(bào)文還未到達(dá)接收端,這樣,則大大降低了傳輸速度,并會(huì)導(dǎo)致接收端報(bào)文亂序。反之,如果一個(gè)報(bào)文排列位置比如第7個(gè)報(bào)文排列位置之前各個(gè)報(bào)文長度的和與該第7個(gè)報(bào)文排列位置上報(bào)文長度的比值大于或等于(V1+V2)/V3,則表示如果由L1和L2發(fā)送該第7個(gè)報(bào)文排列位置之前的各個(gè)報(bào)文并由L3發(fā)送該第7個(gè)報(bào)文排列位置上的報(bào)文,那么,在L1和L2發(fā)送完畢前6個(gè)報(bào)文時(shí),該L3發(fā)送的第7個(gè)報(bào)文也可以到達(dá)接收端,這樣,則大大提高了傳輸速度。因此,設(shè)置該鏈路L3的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,存在一個(gè)報(bào)文排列位置,使得該報(bào)文排列位置之前各個(gè)報(bào)文長度的和與該報(bào)文排列位置上報(bào)文長度的比值大于或等于(V1+V2)/V3。
      依此類推,可以得到對(duì)于排序后的最后一條鏈路Ln,由于其速度最小,因此,在L1至Ln-1同時(shí)傳輸報(bào)文但仍無法滿足傳輸需求即緩存報(bào)文的隊(duì)列中仍會(huì)存在報(bào)文時(shí)啟動(dòng)Ln,因此,設(shè)置該速度最小的鏈路Ln的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,存在一個(gè)報(bào)文排列位置,使得該報(bào)文排列位置之前各個(gè)報(bào)文長度的和與該報(bào)文排列位置上報(bào)文長度的比值大于或等于(V1+V2+…Vn-1)/Vn。
      綜上所述,無論報(bào)文長度是否固定,為了在保證提高傳輸速度即增加傳輸帶寬的同時(shí)保證接收端接收到的報(bào)文的順序正確,對(duì)于MFR接口中速度最快的鏈路L1,其啟動(dòng)條件可以為在緩存報(bào)文的隊(duì)列中,各報(bào)文的總長度大于0。對(duì)于MFR接口中除速度最快的鏈路L1之外的任意一條鏈路Li,i為大于1的自然數(shù),該Li的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,存在一個(gè)報(bào)文排列位置,使得該報(bào)文排列位置之前各個(gè)報(bào)文長度的和與該報(bào)文排列位置上報(bào)文長度的比值大于或等于(V1+V2+…Vi-1)/Vi,也就是存在一個(gè)報(bào)文排列位置X,使得滿足不等式&Sigma;k=1k=X-1SkSx>=&Sigma;k=1k=i-1VkVi,]]>其中,Sk和SX分別表示當(dāng)前緩存報(bào)文的隊(duì)列中第K個(gè)位置和第X個(gè)位置的報(bào)文長度。
      步驟103在發(fā)送端,對(duì)緩存報(bào)文的隊(duì)列進(jìn)行實(shí)時(shí)檢測。
      這里,當(dāng)報(bào)文長度固定時(shí),如果在步驟102中是根據(jù)緩存報(bào)文的隊(duì)列中報(bào)文的個(gè)數(shù)設(shè)置的啟動(dòng)條件,則在本步驟中,是對(duì)緩存報(bào)文隊(duì)列中報(bào)文的個(gè)數(shù)進(jìn)行實(shí)時(shí)檢測;如果在步驟102中是根據(jù)緩存報(bào)文的隊(duì)列中報(bào)文的長度設(shè)置的啟動(dòng)條件,則在本步驟中,是對(duì)緩存報(bào)文隊(duì)列中報(bào)文的長度進(jìn)行實(shí)時(shí)檢測。當(dāng)報(bào)文的長度不固定時(shí),則在本步驟中,是對(duì)緩存報(bào)文隊(duì)列中報(bào)文的長度進(jìn)行實(shí)時(shí)檢測。
      步驟104在發(fā)送端,每當(dāng)檢測到滿足MFR接口中任意一條鏈路的啟動(dòng)條件時(shí),確定當(dāng)前滿足啟動(dòng)條件的鏈路所對(duì)應(yīng)的報(bào)文獲取位置。
      步驟105在發(fā)送端,從緩存報(bào)文的隊(duì)列中取出當(dāng)前所確定的報(bào)文獲取位置處的報(bào)文,并通過當(dāng)前所啟動(dòng)的鏈路進(jìn)行發(fā)送。
      在步驟104至步驟105中,對(duì)于MFR接口中速度最快的鏈路L1,無論報(bào)文長度是否固定,根據(jù)所設(shè)置的啟動(dòng)條件,每當(dāng)檢測到緩存報(bào)文的隊(duì)列中各報(bào)文的總長度大于0或檢測到緩存報(bào)文的隊(duì)列中報(bào)文的個(gè)數(shù)大于0時(shí),則認(rèn)為滿足鏈路L1的啟動(dòng)條件,并且,確定鏈路L1所對(duì)應(yīng)的報(bào)文獲取位置為當(dāng)前緩存報(bào)文隊(duì)列中位于第一個(gè)位置的報(bào)文,然后通過該速度最快的鏈路L1發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第一個(gè)位置的報(bào)文。
      在步驟104至步驟105中,對(duì)于MFR接口中除速度最快的鏈路L1之外的任意一條鏈路Li,其中,i為大于1的自然數(shù),無論報(bào)文長度是否固定,根據(jù)所設(shè)置的啟動(dòng)條件,每當(dāng)檢測到緩存報(bào)文的隊(duì)列中,存在一個(gè)報(bào)文排列位置X,使得該報(bào)文排列位置X滿足不等式&Sigma;k=1k=X-1SkSx>=&Sigma;k=1k=i-1VkVi,]]>Sk和SX分別表示當(dāng)前緩存報(bào)文的隊(duì)列中第K個(gè)位置和第X個(gè)位置的報(bào)文長度,則認(rèn)為當(dāng)前滿足鏈路Li的啟動(dòng)條件。并且,為了保證報(bào)文以正確順序到達(dá)接收端且保證提高傳輸速度,在本步驟中,取X的最小值X’,并確定鏈路Li所對(duì)應(yīng)的報(bào)文獲取位置為X’,然后通過鏈路Li發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第X’個(gè)位置的報(bào)文。
      需要說明的是,在步驟104至步驟105中,在報(bào)文長度不固定時(shí),在緩存報(bào)文的隊(duì)列中,可能存在一個(gè)報(bào)文排列位置X,使得該X同時(shí)滿足i為不同值的多個(gè)不等式&Sigma;k=1k=X-1SkSx>=&Sigma;k=1k=i-1VkVi,]]>也就是說,在實(shí)際業(yè)務(wù)實(shí)現(xiàn)中,可能檢測到一個(gè)報(bào)文排列位置X同時(shí)滿足MFR接口中多條鏈路的啟動(dòng)條件,這樣,為了保證提高傳輸速度并避免接收端報(bào)文亂序,每當(dāng)檢測到一個(gè)報(bào)文排列位置X同時(shí)滿足MFR接口中多條鏈路的啟動(dòng)條件即檢測到存在一個(gè)報(bào)文排列位置X,使得該報(bào)文排列位置X同時(shí)滿足i為不同值的多個(gè)不等式&Sigma;k=1k=X-1SkSx>=&Sigma;k=1k=i-1VkVi]]>時(shí),取i的最小值,也就是說,取所述不同i值對(duì)應(yīng)的多條鏈路中速度最快的一條鏈路作為當(dāng)前滿足啟動(dòng)條件的鏈路來發(fā)送報(bào)文。
      還需要說明的是,當(dāng)報(bào)文的長度固定時(shí),對(duì)于MFR接口中除速度最快的鏈路L1之外的任意一條鏈路Li,其中,i為大于1的自然數(shù),根據(jù)所設(shè)置的啟動(dòng)條件,在步驟104至步驟105中,還可以在每當(dāng)檢測到緩存報(bào)文的隊(duì)列中,報(bào)文的個(gè)數(shù)大于(V1+V2+…Vi-1)/Vi也就是大于 時(shí);或者,每當(dāng)檢測到在緩存報(bào)文的隊(duì)列中,各報(bào)文的總長度大于(V1+V2+…Vi-1)×S/Vi也就是大于 時(shí),則認(rèn)為滿足鏈路Li的啟動(dòng)條件。并且,為了保證報(bào)文以正確順序到達(dá)接收端且保證提高傳輸速度,確定鏈路Li所對(duì)應(yīng)的報(bào)文獲取位置為在緩存報(bào)文的隊(duì)列中,位于第 個(gè)位置的報(bào)文,然后通過鏈路Li發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第 個(gè)位置的報(bào)文。
      可見,通過上述步驟103至步驟105的過程,MFR接口中的每一條鏈路則可根據(jù)本發(fā)明所設(shè)置的啟動(dòng)條件來啟動(dòng)發(fā)送報(bào)文,并且,所發(fā)送報(bào)文的位置是綜合考慮了已啟動(dòng)鏈路的速度來確定的,從而可實(shí)現(xiàn)在保證增加MFR接口的傳輸帶寬即提高傳輸速度時(shí),最大程度地避免接收端報(bào)文亂序的問題。
      另外,在本發(fā)明中,當(dāng)報(bào)文長度不固定時(shí),由于是根據(jù)報(bào)文長度比值即不等式&Sigma;k=1k=X-1SkSx>=&Sigma;k=1k=i-1VkVi]]>來確定所啟動(dòng)鏈路對(duì)應(yīng)的報(bào)文獲取位置,而從不等式&Sigma;k=1k=X-1SkSx>=&Sigma;k=1k=i-1VkVi]]>可以看出,對(duì)于一個(gè)確定的i值,即一條確定的鏈路,該不等式右邊是一個(gè)定值,而該不等式左邊的值是隨著報(bào)文排列位置X的值而變化的,報(bào)文排列位置X的增加并不一定使得 的值增加,因?yàn)樵谟龅揭粋€(gè)報(bào)文排列位置X處報(bào)文長度Sx很大的情況下, 的值將減小,這樣,對(duì)于一條確定的鏈路Li,在緩存報(bào)文的隊(duì)列中,即使報(bào)文的總長度很大,也可能無法找到報(bào)文排列位置X使得 的值大于或等于 即無法檢測到鏈路Li的啟動(dòng)條件,從而會(huì)大大降低MFR接口的傳輸速度。為了避免此處情況的發(fā)生,本發(fā)明可以采用分片的方法,即設(shè)置一個(gè)分片長度閾值,當(dāng)發(fā)送端存在一個(gè)報(bào)文的長度大于所設(shè)置的分片長度閾值時(shí),在將該報(bào)文放入緩存報(bào)文的隊(duì)列前,對(duì)該報(bào)文進(jìn)行分片,也就是說,將該報(bào)文從頭至尾分成大小相等的多個(gè)報(bào)文,以使所分出的每一個(gè)報(bào)文與緩存報(bào)文隊(duì)列中其它報(bào)文的長度相差不多,然后將分出的多個(gè)報(bào)文按照從頭至尾的順序依次放入緩存報(bào)文的隊(duì)列中,之后的處理過程,則可采用上述步驟103至步驟105的過程來實(shí)現(xiàn)。
      在本發(fā)明中,除MFR接口之外,所述的多鏈路接口還可以是捆綁有多條鏈路的其它接口,比如NP接口,此時(shí),本發(fā)明的實(shí)現(xiàn)過程與上述實(shí)施例所述過程的原理完全相同。
      總之,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1.一種發(fā)送報(bào)文的方法,應(yīng)用于捆綁多條鏈路的多鏈路接口上,其特征在于,設(shè)置多鏈路接口中每一條鏈路的啟動(dòng)條件,該方法還包括A、對(duì)發(fā)送端緩存報(bào)文的隊(duì)列進(jìn)行實(shí)時(shí)檢測;B、每當(dāng)檢測到滿足多鏈路接口中任意一條鏈路的啟動(dòng)條件時(shí),確定當(dāng)前滿足啟動(dòng)條件的鏈路所對(duì)應(yīng)的報(bào)文獲取位置,并通過當(dāng)前滿足啟動(dòng)條件的鏈路發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于所確定報(bào)文獲取位置處的報(bào)文。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)報(bào)文長度固定時(shí),所述設(shè)置啟動(dòng)條件的步驟包括根據(jù)發(fā)送端緩存報(bào)文的隊(duì)列中報(bào)文的數(shù)量以及多鏈路接口中各鏈路的速度,設(shè)置多鏈路接口中每一條鏈路的啟動(dòng)條件。
      3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述設(shè)置多鏈路接口中每一條鏈路的啟動(dòng)條件的步驟包括100、按照速度從大到小的順序?qū)Χ噫溌方涌谥械母鳁l鏈路進(jìn)行排序;101、對(duì)于多鏈路接口中速度最快的鏈路L1,設(shè)置該速度最快鏈路L1的啟動(dòng)條件為,在緩存報(bào)文的隊(duì)列中,報(bào)文的個(gè)數(shù)大于0;對(duì)于多鏈路接口中除速度最快鏈路L1之外的任意一條鏈路Li,i為大于1的自然數(shù),該Li的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,報(bào)文的個(gè)數(shù)大于 其中,Vk、Vi分別為多鏈路接口中第K條和第i條鏈路的速度。
      4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述步驟A包括對(duì)發(fā)送端緩存報(bào)文隊(duì)列中報(bào)文的個(gè)數(shù)進(jìn)行實(shí)時(shí)檢測;所述步驟B包括每當(dāng)檢測到緩存報(bào)文的隊(duì)列中報(bào)文的個(gè)數(shù)大于0時(shí),確定速度最快的鏈路L1對(duì)應(yīng)的報(bào)文獲取位置為當(dāng)前緩存報(bào)文隊(duì)列中位于第一個(gè)位置的報(bào)文,然后通過該速度最快的鏈路L1發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第一個(gè)位置的報(bào)文;每當(dāng)檢測到緩存報(bào)文的隊(duì)列中報(bào)文的個(gè)數(shù)大于 時(shí),確定鏈路Li對(duì)應(yīng)的報(bào)文獲取位置為當(dāng)前緩存報(bào)文的隊(duì)列中第 個(gè)位置的報(bào)文,并通過鏈路Li發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第 個(gè)位置的報(bào)文。
      5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述設(shè)置啟動(dòng)條件的步驟包括根據(jù)發(fā)送端緩存報(bào)文的隊(duì)列中報(bào)文的長度以及多鏈路接口中各鏈路的速度,設(shè)置多鏈路接口中每一條鏈路的啟動(dòng)條件。
      6.根據(jù)權(quán)利要求5所述的方法,其特征在于,當(dāng)報(bào)文長度固定時(shí),所述設(shè)置啟動(dòng)條件的步驟包括200、按照速度從大到小的順序?qū)Χ噫溌方涌谥械母鳁l鏈路進(jìn)行排序;201、對(duì)于多鏈路接口中速度最快的鏈路L1,設(shè)置該速度最快鏈路L1的啟動(dòng)條件為,在緩存報(bào)文的隊(duì)列中,各報(bào)文的總長度大于0;對(duì)于多鏈路接口中除速度最快鏈路L1之外的任意一條鏈路Li,i為大于1的自然數(shù),該Li的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,各報(bào)文的總長度大于 其中,Vk、Vi分別為多鏈路接口中第K條和第i條鏈路的速度,S為每個(gè)報(bào)文的長度。
      7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述步驟A包括對(duì)發(fā)送端緩存報(bào)文隊(duì)列中各報(bào)文的總長度進(jìn)行實(shí)時(shí)檢測;所述步驟B包括每當(dāng)檢測到緩存報(bào)文的隊(duì)列中各報(bào)文的總長度大于0時(shí),確定速度最快的鏈路L1對(duì)應(yīng)的報(bào)文獲取位置為當(dāng)前緩存報(bào)文隊(duì)列中位于第一個(gè)位置的報(bào)文,然后通過該速度最快的鏈路L1發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第一個(gè)位置的報(bào)文;每當(dāng)檢測到緩存報(bào)文的隊(duì)列中各報(bào)文的總長度大于 ×S時(shí),確定鏈路Li對(duì)應(yīng)的報(bào)文獲取位置為當(dāng)前緩存報(bào)文的隊(duì)列中第 個(gè)位置的報(bào)文,并通過鏈路Li發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第 個(gè)位置的報(bào)文。
      8.根據(jù)權(quán)利要求4或7所述的方法,其特征在于,當(dāng)所述 的值為小數(shù)時(shí),所確定的第 個(gè)位置的報(bào)文為 的值向上取整后位置的報(bào)文。
      9.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述設(shè)置啟動(dòng)條件的步驟包括300、按照速度從大到小的順序?qū)Χ噫溌方涌谥械母鳁l鏈路進(jìn)行排序;301、對(duì)于多鏈路接口中速度最快的鏈路L1,設(shè)置該速度最快鏈路L1的啟動(dòng)條件為,在緩存報(bào)文的隊(duì)列中,各報(bào)文的總長度大于0;對(duì)于多鏈路接口中除速度最快的鏈路L1之外的任意一條鏈路Li,i為大于1的自然數(shù),設(shè)置該Li的啟動(dòng)條件為在緩存報(bào)文的隊(duì)列中,存在報(bào)文排列位置X滿足不等式&Sigma;k=1k=X-1SkSx>=&Sigma;k=1k=i-1VkVi,]]>其中,Vk、Vi分別為多鏈路接口中第K條和第i條鏈路的速度,Sk和Sx分別表示當(dāng)前緩存報(bào)文的隊(duì)列中第K個(gè)位置和第X個(gè)位置的報(bào)文長度。
      10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述步驟A包括對(duì)發(fā)送端緩存報(bào)文隊(duì)列中各報(bào)文的總長度進(jìn)行實(shí)時(shí)檢測;所述步驟B包括每當(dāng)檢測到緩存報(bào)文的隊(duì)列中各報(bào)文的總長度大于0時(shí),確定速度最快的鏈路L1對(duì)應(yīng)的報(bào)文獲取位置為當(dāng)前緩存報(bào)文隊(duì)列中位于第一個(gè)位置的報(bào)文,然后通過該速度最快的鏈路L1發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第一個(gè)位置的報(bào)文;每當(dāng)檢測到緩存報(bào)文的隊(duì)列中,存在報(bào)文排列位置X滿足不等式&Sigma;k=1k=X-1SkSx>=&Sigma;k=1k=i-1VkVi]]>時(shí),取X的最小值X’,確定鏈路Li對(duì)應(yīng)的報(bào)文獲取位置為當(dāng)前緩存報(bào)文的隊(duì)列中第X’個(gè)位置的報(bào)文,并通過鏈路Li發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于第X’個(gè)位置的報(bào)文。
      11.根據(jù)權(quán)利要求10所述的方法,其特征在于,當(dāng)檢測到對(duì)于i為不同值的不同鏈路,存在相同的報(bào)文排列位置X’時(shí),所述發(fā)送第X’個(gè)位置報(bào)文的鏈路Li為該不同鏈路中速度最快的鏈路。
      12.根據(jù)權(quán)利要求5、9、10或11所述的方法,其特征在于,當(dāng)發(fā)送端報(bào)文長度不固定時(shí),該方法進(jìn)一步包括當(dāng)發(fā)送端存在一個(gè)報(bào)文的長度大于預(yù)先設(shè)置的分片長度閾值時(shí),在將該報(bào)文放入緩存報(bào)文的隊(duì)列中時(shí),將該報(bào)文從頭至尾分成大小相等的多個(gè)報(bào)文,然后將分出的多個(gè)報(bào)文按照從頭至尾的順序依次放入緩存報(bào)文的隊(duì)列中。
      13.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述多鏈路接口為多鏈路幀中繼MFR接口或多鏈路點(diǎn)到點(diǎn)NP接口。
      全文摘要
      本發(fā)明公開了一種發(fā)送報(bào)文的方法,應(yīng)用于捆綁多條鏈路的多鏈路接口上,該方法包括設(shè)置多鏈路接口中每一條鏈路的啟動(dòng)條件;對(duì)發(fā)送端緩存報(bào)文的隊(duì)列進(jìn)行實(shí)時(shí)檢測;每當(dāng)檢測到滿足多鏈路接口中任意一條鏈路的啟動(dòng)條件時(shí),確定當(dāng)前滿足啟動(dòng)條件的鏈路所對(duì)應(yīng)的報(bào)文獲取位置,并通過當(dāng)前滿足啟動(dòng)條件的鏈路發(fā)送當(dāng)前緩存報(bào)文的隊(duì)列中位于所確定報(bào)文獲取位置處的報(bào)文。本發(fā)明可以在增加多鏈路接口的傳輸帶寬的同時(shí),保證發(fā)送端的報(bào)文按照正確的順序到達(dá)接收端,避免接收端報(bào)文亂序的問題。
      文檔編號(hào)H04L29/04GK1809050SQ20061000739
      公開日2006年7月26日 申請(qǐng)日期2006年2月13日 優(yōu)先權(quán)日2006年2月13日
      發(fā)明者黃敦 申請(qǐng)人:杭州華為三康技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1