專利名稱:通過(guò)鏈路層報(bào)文合并提高移動(dòng)自組織網(wǎng)絡(luò)通信容量的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)通信領(lǐng)域,特別涉及基于異步媒體訪問(wèn)控制協(xié)議的移動(dòng)自組織網(wǎng)絡(luò) 中的通信容量問(wèn)題。
背景技術(shù):
移動(dòng)自組織網(wǎng)絡(luò)(Mobile Ad hoc Network,縮寫(xiě)為MANET),是一種利用無(wú)線節(jié)點(diǎn)之 間多跳實(shí)現(xiàn)大范圍通信的無(wú)線網(wǎng)絡(luò),具有獨(dú)立于基礎(chǔ)設(shè)施、自組織、多跳路由等特點(diǎn),成 為一種新穎的無(wú)線組網(wǎng)方式。移動(dòng)自組織網(wǎng)絡(luò)由具有對(duì)報(bào)文存儲(chǔ)轉(zhuǎn)發(fā)的功能的節(jié)點(diǎn)構(gòu)成這類似于傳統(tǒng)的有線分組 網(wǎng)絡(luò)中核心節(jié)點(diǎn)入路由器、交換機(jī)等設(shè)備所具有的功能,其中對(duì)報(bào)文的存儲(chǔ)轉(zhuǎn)發(fā)涉及到網(wǎng)絡(luò)層和鏈路層之間的發(fā)送緩沖區(qū)管理,發(fā)送緩沖區(qū)管理具有的功能為l)存儲(chǔ)來(lái)自網(wǎng)絡(luò) 層的報(bào)文;2)當(dāng)鏈路層通知發(fā)送下一個(gè)報(bào)文時(shí)將一個(gè)存儲(chǔ)的報(bào)文交給鏈路層; 一般的發(fā)送緩沖區(qū)還應(yīng)具有先進(jìn)先出的特征。由于無(wú)線網(wǎng)絡(luò)接口的特殊性,使移動(dòng)自組織網(wǎng)絡(luò)節(jié)點(diǎn)與有線分組網(wǎng)絡(luò)中核心節(jié)點(diǎn)存在一定的差別,這主要表現(xiàn)在1) 有線分組網(wǎng)絡(luò)中的核心節(jié)點(diǎn)是為了完成節(jié)點(diǎn)之間分組的傳輸而設(shè)計(jì)的,協(xié)議棧通 常只涉及網(wǎng)絡(luò)層及其以下的部分;網(wǎng)絡(luò)接口通常連接高速鏈路,輸入輸出的信息量較大;2) 移動(dòng)自組織網(wǎng)絡(luò)中的節(jié)點(diǎn)通常是為了實(shí)現(xiàn)某種通用的功能而并非只為轉(zhuǎn)發(fā)分組而 設(shè)計(jì),具有相對(duì)豐富的應(yīng)用層模塊,網(wǎng)絡(luò)協(xié)議棧也應(yīng)涉及到應(yīng)用層;網(wǎng)絡(luò)接口使用無(wú)線網(wǎng) 絡(luò)的接口,傳輸速率通常較低,節(jié)點(diǎn)有充足的運(yùn)算能力對(duì)轉(zhuǎn)發(fā)的報(bào)文進(jìn)行相對(duì)復(fù)雜的處理。目前部署的移動(dòng)自組織網(wǎng)絡(luò)一般采用載波偵聽(tīng)媒體訪問(wèn)/沖突共享(CSMA/CA)等異步 媒體訪問(wèn)控制協(xié)議作為底層的實(shí)現(xiàn)方法,例如將正EE802.11系列無(wú)線局域網(wǎng)標(biāo)準(zhǔn)中定義的 物理層和媒體訪問(wèn)控制協(xié)議作為底層的實(shí)現(xiàn)。目前數(shù)據(jù)網(wǎng)絡(luò)通信的體系結(jié)構(gòu)一般遵循分層設(shè)計(jì)的原則,從上到下包括應(yīng)用層、傳輸 層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層及物理層;數(shù)據(jù)的傳遞會(huì)在應(yīng)用層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層等模塊 被封裝成不同層的報(bào)文,下層對(duì)上一層報(bào)文的封裝通常將上一層的報(bào)文作為數(shù)據(jù)(一般稱 為服務(wù)數(shù)據(jù)單元),添加本層的首部完成對(duì)報(bào)文的封裝,鏈路層還需要添加用于校驗(yàn)數(shù)據(jù) 的幀校驗(yàn)和(FCS),在目前的技術(shù)方案中,網(wǎng)絡(luò)層首部一般指互聯(lián)網(wǎng)協(xié)議(IP)的首部, 鏈路層首部一般指媒體訪問(wèn)控制(MAC)首部。'當(dāng)前IEEE802.il系列無(wú)線局域網(wǎng)標(biāo)準(zhǔn)中異步媒體訪問(wèn)控制協(xié)議使用的無(wú)線通信技術(shù)存 在一個(gè)較為突出的問(wèn)題就是對(duì)于每個(gè)獨(dú)立的鏈路層報(bào)文,在物理層的用于同步的導(dǎo)言和物 理層首部等的開(kāi)銷過(guò)大,當(dāng)應(yīng)用層報(bào)文的長(zhǎng)度較小時(shí),可用的通信容量會(huì)大量用于導(dǎo)言和 物理層首部等的開(kāi)銷,影響了網(wǎng)絡(luò)的實(shí)際通信容量。以IEEE802.11b標(biāo)準(zhǔn)中規(guī)定的參數(shù)為例,當(dāng)使用的數(shù)據(jù)傳輸速率為11Mbps時(shí),每個(gè)數(shù)據(jù)報(bào)文中導(dǎo)言部分的開(kāi)銷為144微秒, 物理層首部的開(kāi)銷為48微秒,鏈路層首部和校驗(yàn)和的開(kāi)銷為34字節(jié),因此一個(gè)鏈路層服 務(wù)數(shù)據(jù)單元長(zhǎng)度為L(zhǎng)字節(jié)的報(bào)文所使用的傳播時(shí)延為[192+8-(34+L)/ll]微秒,當(dāng)L為200 字節(jié)時(shí),整個(gè)報(bào)文的傳播時(shí)延約為362微秒,其中用于數(shù)據(jù)(包含網(wǎng)絡(luò)層信息的數(shù)據(jù))傳 輸?shù)臅r(shí)間約為146微秒,這種情況下的有效信道利用率約為40%,若再進(jìn)一步考慮發(fā)送每 個(gè)報(bào)文所需要的分布式協(xié)調(diào)功能(DCF)幀間間隔(DIFS)、退避所花費(fèi)的時(shí)間、反饋的 應(yīng)答報(bào)文(ACK)花費(fèi)的時(shí)間和短幀間間隔(SIFS)等開(kāi)銷,信道的實(shí)際利用率遠(yuǎn)低于40% 這一數(shù)值。一些相關(guān)的研究表明,在其他條件不改變的情況下,增加報(bào)文長(zhǎng)度能夠有效地增加實(shí) 際信道的利用率,進(jìn)而增加網(wǎng)絡(luò)的可用容量,這一結(jié)論對(duì)無(wú)線局域網(wǎng)等鏈路層開(kāi)銷較大的 網(wǎng)絡(luò)具有十分重要的意義,為提高這些網(wǎng)絡(luò)的通信容量指出了一種研究的方向。但將增加報(bào)文長(zhǎng)度的工作交給應(yīng)用層,讓?xiě)?yīng)用層在設(shè)計(jì)上就考慮產(chǎn)生較長(zhǎng)的報(bào)文是不恰當(dāng)?shù)?,在許 多應(yīng)用上,如telnet等遠(yuǎn)程登陸的網(wǎng)絡(luò)服務(wù),累積一定的數(shù)據(jù)組成較長(zhǎng)的報(bào)文進(jìn)行發(fā)送將 產(chǎn)生一定的時(shí)延,而這對(duì)于telnet等交互式的網(wǎng)絡(luò)服務(wù)是無(wú)法容忍的。發(fā)明內(nèi)容本發(fā)明的目的是為克服已有技術(shù)的不足之處,提出了一種通過(guò)鏈路層報(bào)文合并提高移 動(dòng)自組織網(wǎng)絡(luò)通信容量的方法,將多個(gè)網(wǎng)絡(luò)層報(bào)文封裝到一個(gè)鏈路層報(bào)文中,依據(jù)報(bào)文的 下一跳地址對(duì)報(bào)文進(jìn)行依下一跳地址區(qū)別的分類處理,進(jìn)而完成具有相同下一跳地址的報(bào) 文合并的相關(guān)工作,從而達(dá)到減小MAC層和物理層的開(kāi)銷在整個(gè)報(bào)文中所占的比例,增 大網(wǎng)絡(luò)實(shí)際可用通信容量。本發(fā)明提出的通過(guò)鏈路層報(bào)文合并提高移動(dòng)自組織網(wǎng)絡(luò)通信容量的方法,其特征在 于,該方法包括發(fā)送端的發(fā)送緩沖區(qū)存儲(chǔ)及報(bào)文合并、報(bào)文的發(fā)送、接收端的對(duì)合并報(bào)文 的處理三部分;所述的發(fā)送緩沖區(qū)存儲(chǔ)及報(bào)文合并,包括以下步驟11) 發(fā)送緩沖區(qū)設(shè)置存儲(chǔ)進(jìn)入該緩沖區(qū)中的報(bào)文發(fā)送順序標(biāo)號(hào);在緩沖區(qū)動(dòng)態(tài)創(chuàng)建對(duì) 報(bào)文進(jìn)行存儲(chǔ)的多個(gè)緩沖隊(duì)列;12) 當(dāng)網(wǎng)絡(luò)層將一個(gè)新報(bào)文傳遞給發(fā)送緩沖區(qū)時(shí),該緩沖區(qū)獲取報(bào)文的下一跳地址和 報(bào)文長(zhǎng)度信息,該長(zhǎng)度信息由報(bào)文數(shù)據(jù)、網(wǎng)絡(luò)層及以上各層的首部的長(zhǎng)度組成;13) 判斷該新報(bào)文的下一跳地址在緩沖區(qū)中是否已經(jīng)存在相應(yīng)的緩沖隊(duì)列,若存在則 轉(zhuǎn)到步驟14)否則轉(zhuǎn)向步驟17);—14)從隊(duì)列的隊(duì)尾處報(bào)文長(zhǎng)度標(biāo)識(shí)中取得隊(duì)列中隊(duì)尾報(bào)文的長(zhǎng)度信息;15) 若該新報(bào)文的長(zhǎng)度與隊(duì)尾報(bào)文的長(zhǎng)度之和小于或等于鏈路層的數(shù)據(jù)長(zhǎng)度的最大長(zhǎng) 度限制,則轉(zhuǎn)到步驟16)否則轉(zhuǎn)到步驟18);16) 將該新報(bào)文的數(shù)據(jù)連同網(wǎng)絡(luò)層及以上各層的首部一起作為數(shù)據(jù)加入當(dāng)前隊(duì)尾報(bào)文的尾部,使原隊(duì)尾報(bào)文與到達(dá)的新報(bào)文合并為一個(gè)報(bào)文,同時(shí)將隊(duì)列的隊(duì)尾報(bào)文長(zhǎng)度標(biāo)識(shí) 設(shè)為合并后報(bào)文長(zhǎng)度標(biāo)識(shí);轉(zhuǎn)到步驟19)17) 為該新報(bào)文的下一跳地址信息建立新緩沖隊(duì)列,并將該新報(bào)文及其長(zhǎng)度信息存儲(chǔ) 在該新緩沖隊(duì)列中;18) 設(shè)置新報(bào)文的發(fā)送順序標(biāo)號(hào),并更新發(fā)送順序標(biāo)號(hào)的值,將新報(bào)文作為一個(gè)獨(dú)立 的報(bào)文加入新緩沖隊(duì)列尾部,將新緩沖隊(duì)列的隊(duì)尾報(bào)文長(zhǎng)度標(biāo)識(shí)改為該新報(bào)文的長(zhǎng)度標(biāo) 識(shí);19) 完成對(duì)新到達(dá)報(bào)文的存儲(chǔ); 所述報(bào)文的發(fā)送,包括以下步驟21) 當(dāng)緩沖區(qū)收到鏈路層發(fā)送報(bào)文通知后,緩沖區(qū)從不同的緩沖隊(duì)列中取出各隊(duì)列隊(duì) 首報(bào)文的發(fā)送順序標(biāo)號(hào);22) 找出各隊(duì)列隊(duì)首報(bào)文發(fā)送標(biāo)號(hào)中的最小值;23) 將該最小值對(duì)應(yīng)的報(bào)文傳輸給鏈路層發(fā)送;24) 若該報(bào)文所屬的隊(duì)列中仍有報(bào)文未發(fā)送則將該隊(duì)列的隊(duì)首處報(bào)文發(fā)送序號(hào)進(jìn)行更 新;否則該報(bào)文所屬的隊(duì)列中沒(méi)有報(bào)文待發(fā)送則將該隊(duì)列所占用的資源進(jìn)行釋放,刪除該 隊(duì)列;所述的接收端的對(duì)合并報(bào)文的處理,包括以下步驟31) 當(dāng)接收端收到一個(gè)鏈路層報(bào)文后,獲取該報(bào)文在鏈路層的數(shù)據(jù)長(zhǎng)度,并從該在報(bào) 文中提取該報(bào)文中的網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度;32) 若鏈路層報(bào)文的數(shù)據(jù)的長(zhǎng)度和獲取的網(wǎng)絡(luò)層報(bào)文長(zhǎng)度一致,則將整個(gè)鏈路層報(bào)文 的數(shù)據(jù)作為網(wǎng)絡(luò)層報(bào)文傳遞給接收端的網(wǎng)絡(luò)層處理;33) 若鏈路層報(bào)文的數(shù)據(jù)的長(zhǎng)度大于獲取的網(wǎng)絡(luò)層報(bào)文長(zhǎng)度,則按該網(wǎng)絡(luò)層報(bào)文的長(zhǎng) 度從鏈路層數(shù)據(jù)字段中取出網(wǎng)絡(luò)層報(bào)文,將其交給接收端網(wǎng)絡(luò)層處理,并在當(dāng)前的鏈路層 數(shù)據(jù)長(zhǎng)度中減去網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度;34) 獲取下一個(gè)網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度信息,若該長(zhǎng)度信息與鏈路層當(dāng)前數(shù)據(jù)長(zhǎng)度一致, 則結(jié)束本鏈路層報(bào)文的處理,否則轉(zhuǎn)到33)進(jìn)行下一網(wǎng)絡(luò)層報(bào)文的處理。上述的緩沖隊(duì)列具有以下特征(1) 每個(gè)緩沖隊(duì)列設(shè)置有一個(gè)識(shí)別存儲(chǔ)本隊(duì)列中存儲(chǔ)數(shù)據(jù)報(bào)文的下一跳地址的標(biāo)識(shí)字段;(2) 每個(gè)緩沖隊(duì)列設(shè)置有隊(duì)尾處的報(bào)文的長(zhǎng)度標(biāo)識(shí);(3) 每個(gè)緩沖隊(duì)列設(shè)置有隊(duì)首處報(bào)文的發(fā)送順序標(biāo)號(hào)。本發(fā)明的原理本發(fā)明方法是在發(fā)送緩沖區(qū)中對(duì)具有相同下一跳地址報(bào)文的合并。這是利用具有相同 下一跳地址的網(wǎng)絡(luò)層報(bào)文在封裝成鏈路層報(bào)文時(shí)會(huì)使用相同的信息填充鏈路層報(bào)文的首部,在發(fā)送緩沖區(qū)中將具有相同下一跳的報(bào)文組織在一起,發(fā)送時(shí)將滿足下一跳地址相同 這一條件的報(bào)文組合成一個(gè)報(bào)文交給鏈路層發(fā)送,從而達(dá)到節(jié)省鏈路層開(kāi)銷的效果,進(jìn)而 提高了網(wǎng)絡(luò)的通信容量。相對(duì)于由應(yīng)用層處理通過(guò)積累數(shù)據(jù)的方法產(chǎn)生長(zhǎng)報(bào)文這種端到端的處理方法,在移動(dòng) 自組織網(wǎng)絡(luò)中將中繼節(jié)點(diǎn)處轉(zhuǎn)發(fā)報(bào)文通過(guò)發(fā)明的方法進(jìn)行合并構(gòu)造長(zhǎng)報(bào)文成為增加網(wǎng)絡(luò) 通信容量的新方向,這種方法一方面能夠產(chǎn)生較長(zhǎng)的鏈路層報(bào)文增大網(wǎng)絡(luò)的通信容量,另 一方面在鏈路狀況不好存在報(bào)文丟失的情況下,采用分組合并丟失的長(zhǎng)報(bào)文將數(shù)據(jù)的丟失 分散到不同的信源數(shù)據(jù)流中,對(duì)應(yīng)用層來(lái)說(shuō)這與發(fā)送小鏈路層報(bào)文時(shí)的情況是一致的,不 會(huì)造成同一個(gè)信源數(shù)據(jù)流中數(shù)據(jù)因鏈路狀況不好而產(chǎn)生不平衡的大量丟失。本發(fā)明的優(yōu)點(diǎn)1、 只需對(duì)現(xiàn)有的協(xié)議棧做極小的修改,就能顯著提高繁忙狀況下的通信容量;2、 算法簡(jiǎn)單,計(jì)算復(fù)雜度小,易于實(shí)現(xiàn);3、 盡可能保持同一數(shù)據(jù)流中不同報(bào)文的先后順序,不會(huì)因?yàn)榫彌_區(qū)管理造成同一數(shù) 據(jù)流報(bào)文間的亂序;4、 在其他條件相同的情況下,采用這一方案不會(huì)使分組的平均時(shí)延增加。
圖1是本發(fā)明中發(fā)送端的發(fā)送緩沖區(qū)存儲(chǔ)及報(bào)文合并的流程圖。圖2是本發(fā)明中的發(fā)送緩沖區(qū)的結(jié)構(gòu)示意圖。圖3是本發(fā)明中所產(chǎn)生的鏈路層報(bào)文的封裝結(jié)構(gòu)。圖4是本發(fā)明中接收端對(duì)合并報(bào)文的處理的流程圖。
具體實(shí)施方式
本發(fā)明提出的通過(guò)鏈路層報(bào)文合并提高移動(dòng)自組織網(wǎng)絡(luò)通信容量的方法結(jié)合附圖及 實(shí)施例詳細(xì)說(shuō)明如下本發(fā)明方法分為發(fā)送端的發(fā)送緩沖區(qū)存儲(chǔ)及報(bào)文合并、報(bào)文的發(fā)送、接收端的對(duì)合并 報(bào)文的處理三部分;分別說(shuō)明如下所述的發(fā)送緩沖區(qū)存儲(chǔ)及報(bào)文合并,包括以下步驟11)發(fā)送緩沖區(qū)設(shè)置有全局的整數(shù)類型變量cur^num,作為存儲(chǔ)進(jìn)入該緩沖區(qū)中的報(bào) 文發(fā)送順序標(biāo)號(hào);在緩沖區(qū)動(dòng)態(tài)創(chuàng)建對(duì)報(bào)文進(jìn)行存儲(chǔ)的多個(gè)緩沖隊(duì)列,每個(gè)緩沖隊(duì)列具有 以下特征(1) 每個(gè)緩沖隊(duì)列設(shè)置有一個(gè)識(shí)別存儲(chǔ)本隊(duì)列中存儲(chǔ)數(shù)據(jù)報(bào)文的下一跳地址的標(biāo)識(shí)字段;(2) 每個(gè)緩沖隊(duì)列設(shè)置有隊(duì)尾處的報(bào)文的長(zhǎng)度標(biāo)識(shí),用lengthO表示;(3)每個(gè)緩沖隊(duì)列設(shè)置有隊(duì)首處報(bào)文的發(fā)送順序標(biāo)號(hào);12) 當(dāng)網(wǎng)絡(luò)層將一個(gè)新報(bào)文傳遞給發(fā)送緩沖區(qū)時(shí),該緩沖區(qū)獲取報(bào)文的下一跳地址addr 和報(bào)文長(zhǎng)度信息length (由報(bào)文數(shù)據(jù)、網(wǎng)絡(luò)層及以上各層的首部的長(zhǎng)度組成);13) 判斷該新報(bào)文的下一跳地址addr在緩沖區(qū)中是否已經(jīng)存在相應(yīng)的緩沖隊(duì)列,若存 在則轉(zhuǎn)到步驟14)否則轉(zhuǎn)向步驟17);14) 從隊(duì)列的隊(duì)尾處報(bào)文長(zhǎng)度標(biāo)識(shí)中取得隊(duì)列中隊(duì)尾報(bào)文的長(zhǎng)度信息length0;15) 若該新報(bào)文的長(zhǎng)度length與隊(duì)尾報(bào)文的長(zhǎng)度length0之和小于或等于鏈路層的數(shù) 據(jù)長(zhǎng)度的最大長(zhǎng)度限制,則轉(zhuǎn)到步驟16)否則轉(zhuǎn)到步驟18);16) 將該新報(bào)文的數(shù)據(jù)連同網(wǎng)絡(luò)層及以上各層的首部一起作為數(shù)據(jù)加入當(dāng)前隊(duì)尾報(bào)文 的尾部,使原隊(duì)尾報(bào)文與到達(dá)的新報(bào)文合并為一個(gè)報(bào)文,該報(bào)文的長(zhǎng)度為length+lengthO; 同時(shí)將隊(duì)列的隊(duì)尾報(bào)文長(zhǎng)度標(biāo)識(shí)設(shè)為length+lengthO;轉(zhuǎn)到步驟19)17) 為該新報(bào)文的下一跳地址信息建立新緩沖隊(duì)列,并將該新報(bào)文及其長(zhǎng)度信息存儲(chǔ) 在該新緩沖隊(duì)列中;18) 將新報(bào)文的發(fā)送順序標(biāo)號(hào)設(shè)為curr_num ,并更新curr—num的值,令 CUrr_nUm=CUrr—num+l,將新報(bào)文作為一個(gè)獨(dú)立的報(bào)文加入新緩沖隊(duì)列尾部(建立新緩沖隊(duì) 列時(shí)應(yīng)初始化隊(duì)列下一跳地址標(biāo)識(shí)和當(dāng)前隊(duì)尾處報(bào)文的長(zhǎng)度標(biāo)識(shí),將新緩沖隊(duì)列的下一跳 地址標(biāo)識(shí)設(shè)為addr,將當(dāng)前隊(duì)尾處報(bào)文長(zhǎng)度標(biāo)識(shí)設(shè)為新報(bào)文的長(zhǎng)度標(biāo)識(shí)length);19) 完成對(duì)新到達(dá)報(bào)文的存儲(chǔ);本發(fā)明中的發(fā)送緩沖區(qū)的結(jié)構(gòu)如圖2所示,發(fā)送緩沖區(qū)根據(jù)需要?jiǎng)討B(tài)創(chuàng)建多個(gè)緩沖隊(duì) 列,各緩沖隊(duì)列使用先進(jìn)先出的規(guī)則存儲(chǔ)報(bào)文; 一個(gè)緩沖隊(duì)列內(nèi)存儲(chǔ)的報(bào)文都具有相同的 下一跳地址,各緩沖隊(duì)列間依下一跳地址的不同進(jìn)行區(qū)分;緩沖隊(duì)列中所存儲(chǔ)的報(bào)文是己 經(jīng)按照緩沖管理和報(bào)文合并算法合并的報(bào)文;在邏輯上各緩沖隊(duì)列之間是并行關(guān)系。本發(fā)明中所產(chǎn)生的鏈路層報(bào)文的封裝結(jié)構(gòu)如圖3所示, 一個(gè)經(jīng)過(guò)合并的鏈路層報(bào)文 由MAC層首部、MAC層服務(wù)數(shù)據(jù)單元、幀校驗(yàn)和三部分組成,其中MAC層服務(wù)數(shù)據(jù)單 元可能包含多個(gè)網(wǎng)絡(luò)層報(bào)文;各網(wǎng)絡(luò)層報(bào)文首尾相接共同構(gòu)成MAC層服務(wù)數(shù)據(jù)單元,每 個(gè)網(wǎng)絡(luò)層報(bào)文的最開(kāi)始位置為網(wǎng)絡(luò)層首部,其中包含本網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度信息,可以根據(jù) 這一信息確定網(wǎng)絡(luò)層報(bào)文在鏈路層報(bào)文中的起始位置和終止位置,并找出下一個(gè)網(wǎng)絡(luò)層首 部在鏈路層服務(wù)數(shù)據(jù)單元的位置。所述報(bào)文的發(fā)送,包括以下步驟21)當(dāng)緩沖區(qū)收到鏈路層發(fā)送報(bào)文通知后,緩沖區(qū)從不同的緩沖隊(duì)列中取出各隊(duì)列隊(duì) 首報(bào)文的發(fā)送順序標(biāo)號(hào);'22)找出各隊(duì)列隊(duì)首報(bào)文發(fā)送標(biāo)號(hào)中的最小值;23) 將該最小值對(duì)應(yīng)的報(bào)文傳輸給鏈路層發(fā)送;24) 若該報(bào)文所屬的隊(duì)列中仍有報(bào)文未發(fā)送則將該隊(duì)列的隊(duì)首處報(bào)文發(fā)送序號(hào)進(jìn)行更 新;否則該報(bào)文所屬的隊(duì)列中沒(méi)有報(bào)文待發(fā)送則將該隊(duì)列所占用的資源進(jìn)行釋放,刪除該隊(duì)列;所述的接收端的對(duì)合并報(bào)文的處理,如圖4所示,包括以下步驟31) 當(dāng)接收端收到一個(gè)鏈路層報(bào)文后,獲取該報(bào)文在鏈路層的數(shù)據(jù)長(zhǎng)度,記為L(zhǎng),并從該在報(bào)文中提取該報(bào)文中的網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度,記為L(zhǎng)1;32) 若鏈路層報(bào)文的數(shù)據(jù)的長(zhǎng)度和獲取的網(wǎng)絡(luò)層報(bào)文長(zhǎng)度一致,即L-Ll,則將整個(gè) 鏈路層報(bào)文的數(shù)據(jù)作為網(wǎng)絡(luò)層報(bào)文傳遞給接收端的網(wǎng)絡(luò)層處理;33) 若鏈路層報(bào)文的數(shù)據(jù)的長(zhǎng)度和獲取的網(wǎng)絡(luò)層報(bào)文長(zhǎng)度不一致,即L>L1 (說(shuō)明該 鏈路層報(bào)文中包含多個(gè)網(wǎng)絡(luò)層報(bào)文),則按該網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度從鏈路層數(shù)據(jù)字段中取出 網(wǎng)絡(luò)層報(bào)文,將其交給接收端網(wǎng)絡(luò)層處理,并在當(dāng)前的鏈路層數(shù)據(jù)長(zhǎng)度中減去網(wǎng)絡(luò)層報(bào)文 的長(zhǎng)度,即令I(lǐng)^L-L1;34) 獲取下一個(gè)網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度信息,令L1等于該長(zhǎng)度,取出網(wǎng)絡(luò)層報(bào)文交給網(wǎng) 絡(luò)層,若該長(zhǎng)度信息與鏈路層當(dāng)前數(shù)據(jù)長(zhǎng)度一致,即L=L1則結(jié)束本鏈路層報(bào)文的處理, 否則轉(zhuǎn)到3)進(jìn)行下一網(wǎng)絡(luò)層報(bào)文的處理。本發(fā)明所述的產(chǎn)生合并報(bào)文的方法由發(fā)送端對(duì)網(wǎng)絡(luò)層報(bào)文的緩沖管理和合并處理以及 接收端對(duì)可能被合并的鏈路層報(bào)文進(jìn)行分解處理兩部分組成,在具體實(shí)施中可以對(duì)現(xiàn)有的 移動(dòng)自組織網(wǎng)絡(luò)各節(jié)點(diǎn)中的網(wǎng)絡(luò)協(xié)議執(zhí)行部分進(jìn)行一定的修改,來(lái)實(shí)現(xiàn)報(bào)文的合并與重 組。在目前的技術(shù)水平下,無(wú)線自組織網(wǎng)絡(luò)的無(wú)線接口的速率相對(duì)較低,僅通過(guò)節(jié)點(diǎn)本身 的處理器就能夠及時(shí)完成對(duì)發(fā)送和接收數(shù)據(jù)報(bào)文的處理,因此對(duì)各層報(bào)文的存儲(chǔ)轉(zhuǎn)發(fā)一般 使用計(jì)算機(jī)軟件完成,只有極底層如物理層和鏈路層才涉及到使用專用硬件實(shí)現(xiàn)相應(yīng)的功 能。本發(fā)明所述的對(duì)通信協(xié)議的改進(jìn)一般以計(jì)算機(jī)軟件的形式實(shí)現(xiàn),在今后技術(shù)水平成熟 后也可以通過(guò)設(shè)計(jì)硬件完成相應(yīng)的功能。本發(fā)明所述的發(fā)送端算法的實(shí)現(xiàn)在網(wǎng)絡(luò)協(xié)議棧中位于網(wǎng)絡(luò)層與鏈路層之間,完成對(duì)網(wǎng) 絡(luò)層報(bào)文的存儲(chǔ),并在鏈路層能夠發(fā)送報(bào)文時(shí)將所存儲(chǔ)報(bào)文中的特定報(bào)文交給鏈路層發(fā) 送;通過(guò)所存儲(chǔ)的網(wǎng)絡(luò)層報(bào)文已經(jīng)能夠確切的知道下一跳地址,即下一跳的目的鏈路層地 址。除了具有一般的存儲(chǔ)功能外,本發(fā)明所述的緩沖區(qū)管理算法還應(yīng)當(dāng)具有多個(gè)依據(jù)節(jié)點(diǎn) 下一跳地址進(jìn)行區(qū)別的緩沖隊(duì)列,能夠根據(jù)到達(dá)的網(wǎng)絡(luò)層報(bào)文的下一跳地址決定使用哪個(gè) 緩沖隊(duì)列來(lái)存儲(chǔ)新到達(dá)的網(wǎng)絡(luò)層報(bào)文。緩沖隊(duì)列在實(shí)現(xiàn)上應(yīng)當(dāng)能夠較方便的獲取隊(duì)尾報(bào) 文,并能夠完成新到達(dá)報(bào)文與原隊(duì)尾報(bào)文合弁成新隊(duì)尾報(bào)文的功能;令各網(wǎng)絡(luò)層報(bào)文連同 其網(wǎng)絡(luò)層及其以上各層的首部一起,作為一個(gè)獨(dú)立的數(shù)據(jù)段,將前后兩個(gè)網(wǎng)絡(luò)層報(bào)文形成 的兩個(gè)數(shù)據(jù)段首尾相接,形成一個(gè)較長(zhǎng)的數(shù)據(jù)段,并將這一數(shù)據(jù)端當(dāng)作一個(gè)網(wǎng)絡(luò)層報(bào)文, 這一過(guò)程就完成了兩個(gè)報(bào)文的合并。在本發(fā)明所述的緩沖區(qū)管理算法中,對(duì)新到達(dá)的報(bào)文 是否進(jìn)行合并應(yīng)當(dāng)以前后兩個(gè)報(bào)文的長(zhǎng)度為依據(jù),若合并后整個(gè)報(bào)文的長(zhǎng)度(含網(wǎng)絡(luò)層及 以上各層首部)大于鏈路層服務(wù)數(shù)據(jù)單元的最大值,則不應(yīng)進(jìn)行合并,而將新到達(dá)的網(wǎng)絡(luò) 層報(bào)文暫時(shí)作為獨(dú)立報(bào)文插入緩沖隊(duì)列的尾部;否則,合并后整個(gè)報(bào)文的長(zhǎng)度(含網(wǎng)絡(luò)層 及以上各層首部)小于或等于鏈路層服務(wù)數(shù)據(jù)單元的最大值,則應(yīng)當(dāng)將新到達(dá)報(bào)文與原隊(duì)尾報(bào)文進(jìn)行合并,并將新生成的長(zhǎng)報(bào)文存儲(chǔ)為隊(duì)尾報(bào)文。通過(guò)多次將新到達(dá)報(bào)文與原隊(duì)尾 報(bào)文的合并,能夠?qū)崿F(xiàn)將多個(gè)網(wǎng)絡(luò)層報(bào)文進(jìn)行合并的功能。當(dāng)一個(gè)長(zhǎng)度為220字節(jié)(含網(wǎng)絡(luò)層首部)下一跳地址為192.168.10.7的網(wǎng)絡(luò)層報(bào)文傳 遞到發(fā)送緩沖區(qū)后,當(dāng)前緩沖區(qū)的curr—num=23,發(fā)送緩沖區(qū)中不存在以192.168.10.7為下 一跳地址標(biāo)識(shí)的緩沖隊(duì)列,則建立新的發(fā)送緩沖區(qū)隊(duì)列來(lái)存儲(chǔ)這一報(bào)文;新建立的緩沖隊(duì) 列的下一跳地址標(biāo)識(shí)設(shè)為192.168.10.7,隊(duì)尾報(bào)文長(zhǎng)度設(shè)為220,該報(bào)文的發(fā)送序號(hào)設(shè)為 curr一num的當(dāng)前值23,隊(duì)列的隊(duì)首報(bào)文發(fā)送信號(hào)也設(shè)為23,更新Curr_num的值,令 curr—num-curr一num+l,這樣便完成了該報(bào)文的存儲(chǔ)和相應(yīng)參數(shù)的設(shè)置。當(dāng)接下來(lái)一個(gè)長(zhǎng)度為220字節(jié)(含網(wǎng)絡(luò)層首部)下一跳地址為192.168.10.7的網(wǎng)絡(luò)層 報(bào)文傳遞到發(fā)送緩沖區(qū)后,當(dāng)前緩沖區(qū)的curr—mim=27,發(fā)送緩沖區(qū)中已經(jīng)存在以 192.168.10.7為下一跳地址標(biāo)識(shí)的緩沖隊(duì)列,使用該緩沖隊(duì)列對(duì)新到達(dá)的報(bào)文進(jìn)行存儲(chǔ); 該緩沖隊(duì)列的隊(duì)尾報(bào)文長(zhǎng)度為220字節(jié),假設(shè)當(dāng)前鏈路層的最大傳輸單元的長(zhǎng)度為2500 字節(jié),經(jīng)判斷可以進(jìn)行報(bào)文的合并(220+220<2500),將新到達(dá)的報(bào)文與隊(duì)列中的隊(duì)尾報(bào) 文首位相接,組成440字節(jié)的報(bào)文,用這一合并的報(bào)文替代原隊(duì)尾報(bào)文,合并報(bào)文的發(fā)送 序號(hào)與原隊(duì)尾處報(bào)文相同,緩沖隊(duì)列的隊(duì)尾報(bào)文長(zhǎng)度設(shè)為合并報(bào)文的長(zhǎng)度440字節(jié)。當(dāng)接下來(lái)一個(gè)長(zhǎng)度為2200字節(jié)含網(wǎng)絡(luò)層首部)下一跳地址為192.168.10.7的網(wǎng)絡(luò)層報(bào) 文傳遞到發(fā)送緩沖區(qū)后,當(dāng)前緩沖區(qū)的cunLmm^29,發(fā)送緩沖區(qū)中已經(jīng)存在以192.168.10.7 為下一跳地址標(biāo)識(shí)的緩沖隊(duì)列,使用該緩沖隊(duì)列對(duì)新到達(dá)的報(bào)文進(jìn)行存儲(chǔ);該緩沖隊(duì)列的 隊(duì)尾報(bào)文長(zhǎng)度為220字節(jié),假設(shè)當(dāng)前鏈路層的最大傳輸單元的長(zhǎng)度為2500字節(jié),經(jīng)判斷 無(wú)法進(jìn)行報(bào)文的合并(440+22002500),將新到達(dá)的報(bào)文作為獨(dú)立的報(bào)文存入緩沖隊(duì)列, 設(shè)置其發(fā)送序號(hào)為Curr_num的當(dāng)前值29,更新隊(duì)列的隊(duì)尾報(bào)文長(zhǎng)度信息為新進(jìn)入隊(duì)列的 報(bào)文的長(zhǎng)度2200,并更新curr—num的值令curr—num=curr_num+l 。當(dāng)鏈路層通知可以發(fā)送下一個(gè)鏈路層報(bào)文,發(fā)送緩沖區(qū)中有3個(gè)緩沖隊(duì)列,各隊(duì)列的 隊(duì)首報(bào)文發(fā)送序號(hào)分別是23、 24、 25,取出發(fā)送序號(hào)23對(duì)應(yīng)的報(bào)文,將其傳遞給鏈路層 發(fā)送,該報(bào)文對(duì)應(yīng)的緩沖隊(duì)列中仍有一個(gè)報(bào)文待發(fā)送,其發(fā)送序號(hào)為29,更新該緩沖隊(duì)列 的隊(duì)首報(bào)文發(fā)送序號(hào),將其設(shè)置為29。當(dāng)鏈路層通知可以發(fā)送下一個(gè)鏈路層報(bào)文,發(fā)送緩沖區(qū)中有4個(gè)緩沖隊(duì)列,各隊(duì)列的 隊(duì)首報(bào)文發(fā)送序號(hào)分別是29、 30、 32、 35,取出發(fā)送序號(hào)29對(duì)應(yīng)的報(bào)文,將其傳遞給鏈 路層發(fā)送,該報(bào)文對(duì)應(yīng)的緩沖隊(duì)列中沒(méi)有后續(xù)報(bào)文待發(fā)送,釋放該緩沖隊(duì)列占用的資源, 將該緩沖隊(duì)列刪除。當(dāng)接收端收到一個(gè)鏈路層報(bào)文后,獲得其鏈路層服務(wù)數(shù)據(jù)單元的長(zhǎng)度L為440字節(jié), 從鏈路層服務(wù)數(shù)據(jù)單元最開(kāi)始的位置或的其包含的第一個(gè)網(wǎng)絡(luò)層報(bào)文的首部,從中獲得第 一個(gè)網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度Ll為220字節(jié),將鏈路層服務(wù)數(shù)據(jù)單元的前220字節(jié)作為其包含 的第一個(gè)網(wǎng)絡(luò)層報(bào)文向網(wǎng)絡(luò)層傳遞;令L=L-Ll=440-220=220,從原鏈路層服務(wù)數(shù)據(jù)單元的 第221字節(jié)開(kāi)始,獲取其網(wǎng)絡(luò)層報(bào)文的首部,從中獲得第二個(gè)網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度L1為220 字節(jié),將原鏈路層服務(wù)數(shù)據(jù)單元的第221字節(jié)開(kāi)始的220字節(jié)作為其包含的第二個(gè)網(wǎng)絡(luò)層 報(bào)文想網(wǎng)絡(luò)層傳遞;L=L1,該鏈路層服務(wù)數(shù)據(jù)單元所包含的網(wǎng)絡(luò)層報(bào)文己經(jīng)全部提取,對(duì)該鏈路層服務(wù)數(shù)據(jù)單元的處理結(jié)束。當(dāng)接收端收到一個(gè)鏈路層報(bào)文后,獲得其鏈路層服務(wù)數(shù)據(jù)單元的長(zhǎng)度L為2200字節(jié), 從鏈路層服務(wù)數(shù)據(jù)單元最開(kāi)始的位置或的其包含的第一個(gè)網(wǎng)絡(luò)層報(bào)文的首部,從中獲得第 一個(gè)網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度Ll為2200字節(jié),將鏈路層服務(wù)數(shù)據(jù)單元的前2200字節(jié)作為其包 含的第一個(gè)網(wǎng)絡(luò)層報(bào)文向網(wǎng)絡(luò)層傳遞;L=L1,該鏈路層服務(wù)數(shù)據(jù)單元所包含的網(wǎng)絡(luò)層報(bào)文 已經(jīng)全部提取,對(duì)該鏈路層服務(wù)數(shù)據(jù)單元的處理結(jié)束。本發(fā)明所述的發(fā)送緩沖區(qū)管理方法,其中依據(jù)下一跳地址對(duì)網(wǎng)絡(luò)層報(bào)文進(jìn)行區(qū)別處理 各個(gè)緩沖隊(duì)列,應(yīng)當(dāng)在系統(tǒng)運(yùn)行時(shí)動(dòng)態(tài)的創(chuàng)建,即當(dāng)網(wǎng)絡(luò)層報(bào)文到達(dá)時(shí),獲取其下一跳地 址并在當(dāng)前各緩沖隊(duì)列中進(jìn)行匹配,若當(dāng)前沒(méi)有緩沖隊(duì)列對(duì)應(yīng)該下一跳地址,則為該下一 跳地址創(chuàng)建緩沖隊(duì)列并用該隊(duì)列存儲(chǔ)新到達(dá)的網(wǎng)絡(luò)層報(bào)文。本發(fā)明所述的發(fā)送緩沖區(qū)管理方法,能夠?qū)γ總€(gè)獨(dú)立存儲(chǔ)的網(wǎng)絡(luò)層報(bào)文在到來(lái)達(dá)時(shí)依 據(jù)報(bào)文到達(dá)的順序進(jìn)行標(biāo)號(hào),當(dāng)鏈路層通知可發(fā)送報(bào)文時(shí),從各緩沖隊(duì)列中的隊(duì)首報(bào)文中 取出標(biāo)號(hào)最小的報(bào)文交給鏈路層,這樣即使在報(bào)文緩存的過(guò)程中采用了報(bào)文合并的方法, 也不會(huì)改變同一數(shù)據(jù)流不通報(bào)文間的先后順序。本發(fā)明所述的接收端對(duì)合并報(bào)文的分解算法的實(shí)現(xiàn),應(yīng)當(dāng)位于網(wǎng)絡(luò)協(xié)議棧中鏈路層與 網(wǎng)絡(luò)層之間,或者在網(wǎng)絡(luò)層內(nèi)部實(shí)現(xiàn)。對(duì)報(bào)文的分解以收到報(bào)文的鏈路層服務(wù)數(shù)據(jù)單元的 長(zhǎng)度和網(wǎng)絡(luò)層首部指示的網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度為依據(jù)進(jìn)行,若兩者不相等,則認(rèn)為當(dāng)前報(bào)文 發(fā)生了網(wǎng)絡(luò)層報(bào)文的合并,按網(wǎng)絡(luò)層報(bào)文首部指示的網(wǎng)絡(luò)層報(bào)文長(zhǎng)度將網(wǎng)絡(luò)層報(bào)文從鏈路 層服務(wù)數(shù)據(jù)單元中提取出來(lái),并找到下一個(gè)網(wǎng)絡(luò)層報(bào)文首部的位置,進(jìn)而找到合并報(bào)文中 的下一個(gè)網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度;將這一過(guò)程進(jìn)行循環(huán),按前面所述的接收端對(duì)報(bào)文的處理算法進(jìn)行(見(jiàn)圖3),即可把所有的網(wǎng)絡(luò)層報(bào)文都提取出來(lái)。最后所應(yīng)說(shuō)明的是以上實(shí)施方式僅以說(shuō)明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實(shí)施方式對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解依然可以對(duì)本發(fā)明進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改或局部替換,其均應(yīng)涵蓋 在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1. 一種通過(guò)鏈路層報(bào)文合并提高移動(dòng)自組織網(wǎng)絡(luò)通信容量的方法,其特征在于,該方法包括發(fā)送端的發(fā)送緩沖區(qū)存儲(chǔ)及報(bào)文合并、報(bào)文的發(fā)送、接收端的對(duì)合并報(bào)文的處理三部分;所述的發(fā)送緩沖區(qū)存儲(chǔ)及報(bào)文合并,包括以下步驟11)發(fā)送緩沖區(qū)設(shè)置存儲(chǔ)進(jìn)入該緩沖區(qū)中的報(bào)文發(fā)送順序標(biāo)號(hào);在緩沖區(qū)動(dòng)態(tài)創(chuàng)建對(duì)報(bào)文進(jìn)行存儲(chǔ)的多個(gè)緩沖隊(duì)列;12)當(dāng)網(wǎng)絡(luò)層將一個(gè)新報(bào)文傳遞給發(fā)送緩沖區(qū)時(shí),該緩沖區(qū)獲取報(bào)文的下一跳地址和報(bào)文長(zhǎng)度信息,該長(zhǎng)度信息由報(bào)文數(shù)據(jù)、網(wǎng)絡(luò)層及以上各層的首部的長(zhǎng)度組成;13)判斷該新報(bào)文的下一跳地址在緩沖區(qū)中是否已經(jīng)存在相應(yīng)的緩沖隊(duì)列,若存在則轉(zhuǎn)到步驟14)否則轉(zhuǎn)向步驟17);14)從隊(duì)列的隊(duì)尾處報(bào)文長(zhǎng)度標(biāo)識(shí)中取得隊(duì)列中隊(duì)尾報(bào)文的長(zhǎng)度信息;15)若該新報(bào)文的長(zhǎng)度與隊(duì)尾報(bào)文的長(zhǎng)度之和小于或等于鏈路層的數(shù)據(jù)長(zhǎng)度的最大長(zhǎng)度限制,則轉(zhuǎn)到步驟16)否則轉(zhuǎn)到步驟18);16)將該新報(bào)文的數(shù)據(jù)連同網(wǎng)絡(luò)層及以上各層的首部一起作為數(shù)據(jù)加入當(dāng)前隊(duì)尾報(bào)文的尾部,使原隊(duì)尾報(bào)文與到達(dá)的新報(bào)文合并為一個(gè)報(bào)文,同時(shí)將隊(duì)列的隊(duì)尾報(bào)文長(zhǎng)度標(biāo)識(shí)設(shè)為合并后報(bào)文長(zhǎng)度標(biāo)識(shí);轉(zhuǎn)到步驟19)17)為該新報(bào)文的下一跳地址信息建立新緩沖隊(duì)列,并將該新報(bào)文及其長(zhǎng)度信息存儲(chǔ)在該新緩沖隊(duì)列中;18)設(shè)置新報(bào)文的發(fā)送順序標(biāo)號(hào),并更新發(fā)送順序標(biāo)號(hào)的值,將新報(bào)文作為一個(gè)獨(dú)立的報(bào)文加入新緩沖隊(duì)列尾部,將新緩沖隊(duì)列的隊(duì)尾報(bào)文長(zhǎng)度標(biāo)識(shí)改為該新報(bào)文的長(zhǎng)度標(biāo)識(shí);19)完成對(duì)新到達(dá)報(bào)文的存儲(chǔ);所述報(bào)文的發(fā)送,包括以下步驟21)當(dāng)緩沖區(qū)收到鏈路層發(fā)送報(bào)文通知后,緩沖區(qū)從不同的緩沖隊(duì)列中取出各隊(duì)列隊(duì)首報(bào)文的發(fā)送順序標(biāo)號(hào);22)找出各隊(duì)列隊(duì)首報(bào)文發(fā)送標(biāo)號(hào)中的最小值;23)將該最小值對(duì)應(yīng)的報(bào)文傳輸給鏈路層發(fā)送;24)若該報(bào)文所屬的隊(duì)列中仍有報(bào)文未發(fā)送則將該隊(duì)列的隊(duì)首處報(bào)文發(fā)送序號(hào)進(jìn)行更新;否則該報(bào)文所屬的隊(duì)列中沒(méi)有報(bào)文待發(fā)送則將該隊(duì)列所占用的資源進(jìn)行釋放,刪除該隊(duì)列;所述的接收端的對(duì)合并報(bào)文的處理,包括以下步驟31)當(dāng)接收端收到一個(gè)鏈路層報(bào)文后,獲取該報(bào)文在鏈路層的數(shù)據(jù)長(zhǎng)度,并從該在報(bào)文中提取該報(bào)文中的網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度;32)若鏈路層報(bào)文的數(shù)據(jù)的長(zhǎng)度和獲取的網(wǎng)絡(luò)層報(bào)文長(zhǎng)度一致,則將整個(gè)鏈路層報(bào)文的數(shù)據(jù)作為網(wǎng)絡(luò)層報(bào)文傳遞給接收端的網(wǎng)絡(luò)層處理;33)若鏈路層報(bào)文的數(shù)據(jù)的長(zhǎng)度大于獲取的網(wǎng)絡(luò)層報(bào)文長(zhǎng)度,則按該網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度從鏈路層數(shù)據(jù)字段中取出網(wǎng)絡(luò)層報(bào)文,將其交給接收端網(wǎng)絡(luò)層處理,并在當(dāng)前的鏈路層數(shù)據(jù)長(zhǎng)度中減去網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度;34)獲取下一個(gè)網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度信息,若該長(zhǎng)度信息與鏈路層當(dāng)前數(shù)據(jù)長(zhǎng)度一致,則結(jié)束本鏈路層報(bào)文的處理,否則轉(zhuǎn)到33)進(jìn)行下一網(wǎng)絡(luò)層報(bào)文的處理。
2、如權(quán)利要求l所述的方法,其特征在于,所述的緩沖隊(duì)列具有以下特征(1) 每個(gè)緩沖隊(duì)列設(shè)置有一個(gè)識(shí)別存儲(chǔ)本隊(duì)列中存儲(chǔ)數(shù)據(jù)報(bào)文的下一跳地址的標(biāo)識(shí)字段;(2) 每個(gè)緩沖隊(duì)列設(shè)置有隊(duì)尾處的報(bào)文的長(zhǎng)度標(biāo)識(shí);(3) 每個(gè)緩沖隊(duì)列設(shè)置有隊(duì)首處報(bào)文的發(fā)送順序標(biāo)號(hào)。
全文摘要
本發(fā)明涉及通過(guò)鏈路層報(bào)文合并提高移動(dòng)自組織網(wǎng)絡(luò)通信容量的方法,屬于計(jì)算機(jī)通信領(lǐng)域。本方法首先在發(fā)送端對(duì)新產(chǎn)生的網(wǎng)絡(luò)層報(bào)文依據(jù)下一跳地址添加在發(fā)送緩沖區(qū)的不同的緩沖隊(duì)列中,并依據(jù)網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度將其與原隊(duì)尾報(bào)文進(jìn)行合并處理或?qū)⑵渥鳛橐粋€(gè)對(duì)立的報(bào)文進(jìn)行存儲(chǔ);在接收端對(duì)接收到的鏈路層報(bào)文提取時(shí),將鏈路層數(shù)據(jù)長(zhǎng)度和網(wǎng)絡(luò)層報(bào)文的長(zhǎng)度進(jìn)行比較進(jìn)行判斷,并通過(guò)循環(huán)處理完成各網(wǎng)絡(luò)層報(bào)文的提取。本發(fā)明的方法只需對(duì)現(xiàn)有的協(xié)議棧做極小的修改,就能顯著提高移動(dòng)自組織網(wǎng)絡(luò)中高繁忙狀況下的通信容量,算法簡(jiǎn)單,計(jì)算復(fù)雜度小,易于實(shí)現(xiàn)。
文檔編號(hào)H04L12/56GK101252534SQ20081010288
公開(kāi)日2008年8月27日 申請(qǐng)日期2008年3月28日 優(yōu)先權(quán)日2008年3月28日
發(fā)明者戴瓊海, 肖紅江, 魏宇平 申請(qǐng)人:清華大學(xué)