两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種路由建立方法及裝置與流程

文檔序號:11846296閱讀:262來源:國知局
一種路由建立方法及裝置與流程
本發(fā)明涉及網(wǎng)絡(luò)通訊領(lǐng)域,特別涉及一種路由建立方法及裝置。
背景技術(shù)
:無線網(wǎng)格網(wǎng)絡(luò)由無線自組織網(wǎng)絡(luò)發(fā)展而來,是在互聯(lián)網(wǎng)和無線終端間建立聯(lián)系的重要技術(shù),能夠有效解決無線接入“最后一公里”的瓶頸問題,在家庭、企業(yè)和公共場所等諸多環(huán)境有廣闊的應(yīng)用前景。無線網(wǎng)格網(wǎng)絡(luò)中節(jié)點可以作為中繼發(fā)送數(shù)據(jù),網(wǎng)狀型的拓撲結(jié)構(gòu)使其支持多條路徑協(xié)作傳輸數(shù)據(jù),在充分利用網(wǎng)絡(luò)資源的同時提高系統(tǒng)吞吐量。在多射頻多信道無線網(wǎng)格網(wǎng)絡(luò)中,通過高效的信道分配算法,為節(jié)點間的通信選擇合理的信道,能夠有效的降低流內(nèi)和流間干擾,改善網(wǎng)絡(luò)吞吐率、公平性、延時等網(wǎng)絡(luò)性能。在引入多射頻多信道技術(shù)的無線網(wǎng)格網(wǎng)絡(luò)中,路由算法的設(shè)計需要充分考慮路由選擇與信道分配的相互影響:一方面,信道分配影響網(wǎng)絡(luò)拓撲和網(wǎng)絡(luò)狀態(tài),而路由選擇需要基于網(wǎng)絡(luò)拓撲和網(wǎng)絡(luò)狀態(tài);另一方面,信道分配需要能夠適應(yīng)路由變化帶來的流量分布變化?;谶@種相互影響,在多射頻多信道無線網(wǎng)格網(wǎng)絡(luò)中,實現(xiàn)兩者的聯(lián)合設(shè)計優(yōu)化是十分必要和有意義的。目前現(xiàn)有的聯(lián)合信道分配和路由技術(shù)優(yōu)化方法為JCEED(Jointchannelassignmentandroutingprotocolbasedonend-to-enddelay,最小化時延的聯(lián)合信道分配和路由技術(shù)優(yōu)化)方法。該方法先進行路由選擇再進行信道分配,初始時為網(wǎng)絡(luò)拓撲節(jié)點隨機分配可用信道,然后將傳輸時延和隊列時延作為路由度量,通過選擇最小的路由度量來選擇路徑;根據(jù)已經(jīng)建立的路由,根據(jù)各單跳路徑上成功發(fā)送元組包的數(shù)目計算每個節(jié)點的IDX(ChannelInterferenceIndex,信道干擾標識因子)值,IDX值表示信道干擾大小,對于IDX值最小的節(jié)點重新分配可用信道集中的信道;然后將路由度量作為反饋信息,遞歸地調(diào)整路由和信道分配。在每次遞歸中,先選擇時延最小的路徑,然后根據(jù)成功傳輸數(shù)據(jù)包的數(shù)目選擇信道。然而在JCEED方法中,建立路由后多次遞歸的尋找信道,不能在建立路由的過程中直接找出較為合適的信道,對整個網(wǎng)絡(luò)造成了較大的資源浪費和許多重復的業(yè)務(wù)量。技術(shù)實現(xiàn)要素:本發(fā)明實施例的目的在于提供一種路由建立方法及裝置,該方法在建立路由的過程中直接找出較為合適的信道,從而更為高效、合理的建立路由。為達到上述目的,本發(fā)明實施例公開一種路由建立方法,應(yīng)用于源節(jié)點,所述路由建立方法包括:通過不同的信道向所述源節(jié)點的每個第一鄰居節(jié)點廣播探測包,其中,所述第一鄰居節(jié)點為與所述源節(jié)點相鄰的中繼節(jié)點或目標節(jié)點,中繼節(jié)點為轉(zhuǎn)發(fā)數(shù)據(jù)的節(jié)點,目標節(jié)點為接收數(shù)據(jù)的節(jié)點;通過所述探測包獲得所述源節(jié)點與所述每個第一鄰居節(jié)點在不同信道下的鏈路信息,并根據(jù)所述鏈路信息通過第一預設(shè)公式,確定所述源節(jié)點到所述第一鄰居節(jié)點在不同信道下的單跳路由度量,其中,所述單跳路由度量用于衡量在同一信道中兩個相鄰節(jié)點之間的通信狀態(tài);比較所述源節(jié)點到每個第一鄰居節(jié)點在不同信道下的單跳路由度量,選擇所述源節(jié)點到每個第一鄰居節(jié)點在不同信道下的單跳路由度量中最小單跳路由度量的信道,作為所述源節(jié)點與所述每個第一鄰居節(jié)點之間進行數(shù)據(jù)傳輸?shù)牡谝蛔罴研诺溃煌ㄟ^所述第一最佳信道向每個第一鄰居節(jié)點發(fā)送路由請求報文;接收所述目標節(jié)點針對所述路由請求報文返回的路由回應(yīng)報文;根據(jù)所述路由回應(yīng)報文中的路由信息,在所述源節(jié)點的本地路由表中保存所述源節(jié)點到所述目標節(jié)點的正向路由,建立與所述目標節(jié)點的路由。優(yōu)選的,所述選擇所述源節(jié)點到每個第一鄰居節(jié)點在不同信道下的單跳路由度量中最小單跳路由度量的信道,作為所述源節(jié)點與所述每個第一鄰居節(jié)點之間進行數(shù)據(jù)傳輸?shù)牡谝蛔罴研诺溃?;選擇第一信道分配給所述第一鄰居節(jié)點中的一個當前鄰居節(jié)點,并將所述第一信道作為所述第一最佳信道后,選擇除所述第一信道以外的其他信道、給除所述當前鄰居節(jié)點以外的其他第一鄰居節(jié)點,并將所述其他信道作為第一最佳信道。優(yōu)選的,所述鏈路信息至少包括:數(shù)據(jù)包長度、數(shù)據(jù)包隊列中已有數(shù)據(jù)包數(shù)目、鏈路帶寬、發(fā)送數(shù)據(jù)包總數(shù)、成功接收數(shù)據(jù)包總數(shù)和最小窗口大?。凰龅谝活A設(shè)公式為:WAEEDn,mc=(1-β)EEDi+βIFc=(1-β)EEDi+βMn,mΣpkn,m]]>其中,所述n為節(jié)點,所述m為節(jié)點,所述n與所述m是指不同節(jié)點,所述c為信道,所述為所述n和所述m之間經(jīng)過所述c的單跳路由度量,所述β為權(quán)重可調(diào)因子,且0≤β≤1,所述i為鏈路,所述EEDi為所述i的平均端對端時延,所述IFc為所述c的干擾參數(shù),所述Mn,m為所述n向所述m發(fā)送數(shù)據(jù)包總數(shù),所述∑pkn,m為所述m成功接收到所述n發(fā)送的數(shù)據(jù)包總數(shù);其中,所述所述EEDi為所述i的平均端對端時延,所述Mi為數(shù)據(jù)包隊列中已有數(shù)據(jù)包數(shù)目,所述L表示數(shù)據(jù)包長度,所述B為鏈路帶寬,所述pi為所述i的丟包率,且所述pi為預設(shè)值,Wmin為最小窗口大小。本發(fā)明實施例公開一種路由建立方法,應(yīng)用于中繼節(jié)點,所述中繼節(jié)點為轉(zhuǎn)發(fā)數(shù)據(jù)的節(jié)點,所述路由建立方法包括:接收由上一跳節(jié)點發(fā)送的路由請求報文,其中,所述路由請求報文至少包括:上一跳節(jié)點到當前中繼節(jié)點的信道信息、所述上一跳節(jié)點到所述當前中繼節(jié)點的單跳路由度量、所述源節(jié)點到所述上一跳節(jié)點路徑的總路由度量,所述上一跳節(jié)點為向所述當前中繼節(jié)點直接發(fā)送或轉(zhuǎn)發(fā)路由請求報文的所述源節(jié)點或者其他中繼節(jié)點;從所述路由請求報文中,獲得并累加所述上一跳節(jié)點到所述當前中繼節(jié)點的單跳路由度量至所述路由請求報文中的總路由度量中;向所述當前中繼節(jié)點的每個第二鄰居節(jié)點廣播所述探測包,選擇出所述當前中繼節(jié)點到所述每個第二鄰居節(jié)點在不同信道下的單跳路由度量中最小單跳路由度量的信道,作為所述當前中繼節(jié)點與所述每個第二鄰居節(jié)點之間進行數(shù)據(jù)傳輸?shù)牡诙罴研诺?,其中,所述第二鄰居?jié)點包括其他中繼節(jié)點或目標節(jié)點;通過所述第二最佳信道向所述每個第二鄰居節(jié)點轉(zhuǎn)發(fā)路由請求報文;接收所述目標節(jié)點針對所述路由請求報文返回的路由回應(yīng)報文,向所述上一跳節(jié)點轉(zhuǎn)發(fā)所述路由回應(yīng)報文;根據(jù)所述路由回應(yīng)報文中的路由信息,在所述當前中繼節(jié)點的本地路由表中保存所述當前中繼節(jié)點到所述目標節(jié)點的正向路由及所述當前中繼節(jié)點到所述目標節(jié)點的總路由度量,建立與所述目標節(jié)點的路由。本發(fā)明實施例公開一種路由建立方法,應(yīng)用于目標節(jié)點,所述路由建立方法包括:接收由上一跳節(jié)點發(fā)送的路由請求報文,所述上一跳節(jié)點為向所述目標節(jié)點直接發(fā)送或轉(zhuǎn)發(fā)路由請求報文的所述源節(jié)點或者中繼節(jié)點;從所述路由請求報文中,獲得上一跳節(jié)點到所述目標節(jié)點的單跳路由度量,并累加至所述路由請求報文中的總路由度量中;首次接收到所述路由請求報文時,向所述上一跳節(jié)點返回路由回應(yīng)報文;再次接收到路由請求報文時,比較本次接收到所述路由請求報文的總路由度量是否小于本次之前的上一次接收到的其他路由請求報文的總路由度量;當本次接收到所述路由請求報文的總路由度量小于本次之前的上一次接收到的其他路由請求報文的總路由度量時,向發(fā)送本次接收到的所述路由請求的上一跳節(jié)點返回路由回應(yīng)報文。本發(fā)明實施例公開一種路由建立裝置,應(yīng)用于源節(jié)點,所述源節(jié)點為發(fā)送數(shù)據(jù)的節(jié)點,所述路由建立裝置包括:探測模塊,用于通過不同的信道向所述源節(jié)點的每個第一鄰居節(jié)點廣播探測包,其中,所述第一鄰居節(jié)點為與所述源節(jié)點相鄰的中繼節(jié)點或目標節(jié)點,中繼節(jié)點為轉(zhuǎn)發(fā)數(shù)據(jù)的節(jié)點,目標節(jié)點為接收數(shù)據(jù)的節(jié)點;單跳路由度量計算模塊,用于通過所述探測包獲得所述源節(jié)點與所述每個第一鄰居節(jié)點在不同信道下的鏈路信息,并根據(jù)所述鏈路信息通過第一預設(shè)公式,確定所述源節(jié)點到每個第一鄰居節(jié)點在不同信道下的單跳路由度量,其中,所述單跳路由度量用于衡量在同一信道中兩個相鄰節(jié)點之間的通信狀態(tài);第一信道選擇模塊,用于比較所述源節(jié)點到每個第一鄰居節(jié)點在不同信道下的單跳路由度量,選擇所述源節(jié)點到每個第一鄰居節(jié)點在不同信道下的單跳路由度量中最小單跳路由度量的信道,作為所述源節(jié)點與所述每個第一鄰居節(jié)點之間進行數(shù)據(jù)傳輸?shù)牡谝蛔罴研诺?;第一發(fā)送模塊,用于通過所述第一最佳信道向每個第一鄰居節(jié)點發(fā)送路由請求報文;第一接收模塊,用于接收所述目標節(jié)點針對所述路由請求報文返回的路由回應(yīng)報文;第一路由建立模塊,用于根據(jù)所述路由回應(yīng)報文中的路由信息,在所述源節(jié)點的本地路由表中保存所述源節(jié)點到所述目標節(jié)點的正向路由,建立與所述目標節(jié)點的路由。本發(fā)明實施例公開一種路由建立裝置,應(yīng)用于中繼節(jié)點,所述中繼節(jié)點為轉(zhuǎn)發(fā)數(shù)據(jù)的節(jié)點,所述路由建立裝置包括:第二接收模塊,用于接收由上一跳節(jié)點發(fā)送的路由請求報文,其中,所述路由請求報文至少包括:上一跳節(jié)點到當前中繼節(jié)點的信道信息、所述上一跳節(jié)點到所述當前中繼節(jié)點的單跳路由度量、所述源節(jié)點到所述上一跳節(jié)點路徑的總路由度量,所述上一跳節(jié)點為向所述當前中繼節(jié)點直接發(fā)送或轉(zhuǎn)發(fā)路由請求報文的所述源節(jié)點或者其他中繼節(jié)點;第一累加模塊,用于從所述路由請求報文中,獲得并累加所述上一跳節(jié)點到所述當前中繼節(jié)點的單跳路由度量至所述路由請求報文中的總路由度量中;第二信道選擇模塊,用于向所述當前中繼節(jié)點的每個第二鄰居節(jié)點廣播所述探測包,選擇出所述當前中繼節(jié)點到所述每個第二鄰居節(jié)點在不同信道下的單跳路由度量中最小單跳路由度量的信道,作為所述當前中繼節(jié)點與所述每個第二鄰居節(jié)點之間進行數(shù)據(jù)傳輸?shù)牡诙罴研诺溃渲?,所述第二鄰居?jié)點包括其他中繼節(jié)點或目標節(jié)點;第二發(fā)送模塊,用于通過所述第二最佳信道向所述每個第二鄰居節(jié)點轉(zhuǎn)發(fā)路由請求報文;第一回應(yīng)模塊,用于接收所述目標節(jié)點針對所述路由請求報文返回的路由回應(yīng)報文,向所述上一跳節(jié)點轉(zhuǎn)發(fā)所述路由回應(yīng)報文;第二路由建立模塊,用于根據(jù)所述路由回應(yīng)報文中的路由信息,在所述當前中繼節(jié)點的本地路由表中保存所述當前中繼節(jié)點到所述目標節(jié)點的正向路由及所述當前中繼節(jié)點到所述目標節(jié)點的總路由度量,建立與所述目標節(jié)點的路由。本發(fā)明實施例公開一種路由建立裝置,應(yīng)用于目標節(jié)點,所述路由建立裝置包括:第三接收模塊,用于接收由上一跳節(jié)點發(fā)送的路由請求報文,所述上一跳節(jié)點為向所述目標節(jié)點直接發(fā)送或轉(zhuǎn)發(fā)路由請求報文的所述源節(jié)點或者中繼節(jié)點;第二累加模塊,用于從所述路由請求報文中,獲得并累加上一跳節(jié)點到所述目標節(jié)點的單跳路由度量至所述路由請求報文中的總路由度量中;第二回應(yīng)模塊,用于首次接收到所述路由請求報文時,向所述上一跳節(jié)點返回路由回應(yīng)報文;比較模塊,用于再次接收到路由請求報文時,比較本次接收到所述路由請求報文的總路由度量是否小于本次之前的上一次接收到的其他路由請求報文的總路由度量;第三回應(yīng)模塊,用于當本次接收到所述路由請求報文的總路由度量小于本次之前的上一次接收到的其他路由請求報文的總路由度量時,向發(fā)送本次接收到的所述路由請求的上一跳節(jié)點返回路由回應(yīng)報文。由上述的技術(shù)方案可見,本發(fā)明實施例中,通過使用所述探測包獲得鏈路信息,并通過第一預設(shè)公式來計算單跳路由度量,根據(jù)單跳路由度量選擇出最佳信道用來傳輸數(shù)據(jù),在路由建立之前先選擇出了最優(yōu)的信道,不需要重復迭代,減少了網(wǎng)絡(luò)資源的浪費和業(yè)務(wù)量。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施列提供的路由建立方法的一種流程圖;圖2是本發(fā)明實施列提供的路由建立方法的另一種流程圖;圖3是本發(fā)明實施列提供的路由建立方法的再一種流程圖;圖4是本發(fā)明實施列提供的一種網(wǎng)絡(luò)拓撲節(jié)點圖;圖5是本發(fā)明實施列提供的路由建立裝置的一種結(jié)構(gòu)圖;圖6是本發(fā)明實施列提供的路由建立裝置的另一種結(jié)構(gòu)圖;圖7是本發(fā)明實施列提供的路由建立裝置的再一種結(jié)構(gòu)圖。具體實施方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。下面通過具體實施列,對本發(fā)明進行詳細說明。參見圖1,圖1是本發(fā)明實施列提供的路由建立方法的一種流程圖,應(yīng)用于源節(jié)點。步驟101,通過不同的信道向所述源節(jié)點的每個第一鄰居節(jié)點廣播探測包,其中,所述第一鄰居節(jié)點為與所述源節(jié)點相鄰的中繼節(jié)點或目標節(jié)點,中繼節(jié)點為轉(zhuǎn)發(fā)數(shù)據(jù)的節(jié)點,目標節(jié)點為接收數(shù)據(jù)的節(jié)點。節(jié)點可以是工作站、網(wǎng)絡(luò)用戶或個人計算機,還可以是服務(wù)器。當一個節(jié)點獲得向另一個節(jié)點發(fā)送數(shù)據(jù)的指令后,該節(jié)點就成為了源節(jié)點,而另一個節(jié)點就成為了目標節(jié)點。在多射頻多信道無線網(wǎng)格網(wǎng)絡(luò)中,一個節(jié)點具有多個信道,所以源節(jié)點需要利用各種不同的信道向第一鄰居節(jié)點發(fā)送探測包,通過探測包獲得在不同信道下的鏈路信息,從而選擇最佳的信道。本發(fā)明實施例中,向第一鄰居節(jié)點廣播探測包,探測包中不包括源節(jié)點需要向目標節(jié)點發(fā)送的具體數(shù)據(jù)內(nèi)容,所以不需要事先獲得需要發(fā)送的具體數(shù)據(jù)內(nèi)容,源節(jié)點只需要獲得向目標節(jié)點發(fā)送數(shù)據(jù)的指令后,就可以開始進行信道選擇和路由建立。其中通過探測包獲得鏈路信息屬于現(xiàn)有技術(shù),不再贅述。步驟102,通過探測包獲得源節(jié)點與每個第一鄰居節(jié)點在不同信道下的鏈路信息,并根據(jù)鏈路信息通過第一預設(shè)公式,確定源節(jié)點到每個第一鄰居節(jié)點在不同信道下的單跳路由度量,其中,單跳路由度量用于衡量在同一信道中兩個相鄰節(jié)點之間的通信狀態(tài)。源節(jié)點通過探測包獲得了不同信道下與每個第一鄰居節(jié)點的鏈路信息后,利用得到的鏈路信息,可以計算出在不同信道下到第一鄰居節(jié)點的單跳路由度量,不同信道下的單跳路由度量用來衡量在不同信道下節(jié)點之間的通信狀態(tài),為選擇最佳信道提供了可靠數(shù)據(jù)信息。步驟103,比較源節(jié)點到每個第一鄰居節(jié)點在不同信道下的單跳路由度量,選擇源節(jié)點到每個第一鄰居節(jié)點在不同信道下的單跳路由度量中最小單跳路由度量的信道,作為源節(jié)點與每個第一鄰居節(jié)點之間進行數(shù)據(jù)傳輸?shù)牡谝蛔罴研诺?。某個信道下單跳路由度量越小,就證明該信道下的兩個節(jié)點之間的通信狀態(tài)越好,所以比較源節(jié)點到每個第一鄰居節(jié)點在不同信道下的單跳路由度量,得到源節(jié)點到每個第一節(jié)點單跳路由度量最小的信道,將該信道作為向每個第一鄰居節(jié)點發(fā)送數(shù)據(jù)的第一最佳信道。本發(fā)明實施例中,先選擇出第一最佳信道,再進行路由的建立,使得所建立的路由都是基于最佳信道,從而建立的路由更加合理。步驟104,通過第一最佳信道向每個第一鄰居節(jié)點發(fā)送路由請求報文。路由請求報文用來進行路由路徑的探測,路由請求報文是現(xiàn)有技術(shù)中普遍的一種數(shù)據(jù)包,在本發(fā)明實施列中,在現(xiàn)有技術(shù)的路由請求報文的基礎(chǔ)上增加了發(fā)送路由請求報文所使用的信道信息、單跳路由度量和總路由度量等信息。在發(fā)送路由請求報文時,同時建立每個第一鄰居節(jié)點到源節(jié)點的反向路由,反向路由用來返回路由回應(yīng)報文。建立反向路由的過程屬于現(xiàn)有技術(shù),不再贅述。步驟105,接收目標節(jié)點針對路由請求報文返回的路由回應(yīng)報文。當目標節(jié)點接收到路由請求報文后,就會返回路由回應(yīng)報文。源節(jié)點接收到路由回應(yīng)報文后,才能夠建立起到目標節(jié)點的路由。路由回應(yīng)報文屬于現(xiàn)有技術(shù),不再贅述。步驟106,根據(jù)路由回應(yīng)報文中的路由信息,在源節(jié)點的本地路由表中保存源節(jié)點到目標節(jié)點的正向路由,建立與目標節(jié)點的路由。路由回應(yīng)報文中含有目標節(jié)點的路由信息,源節(jié)點第一次接收到路由回應(yīng)報文,直接將接收到的路由回應(yīng)報文中目標節(jié)點的路由信息保存到源節(jié)點的本地路由表中,從而建立起到目標節(jié)點的路由。其中路由信息至少包括源節(jié)點到目標節(jié)點的路由和源節(jié)點到目標節(jié)點的總路由度量。當源節(jié)點再次接收到路由回應(yīng)報文后,按新接收到的路由回應(yīng)報文中的路由信息,更新源節(jié)點的本地路由表中到目標節(jié)點的路由信息,從而更新到目標節(jié)點的路由。在本發(fā)明實施例中,源節(jié)點通過探測包獲得鏈路信息,通過第一預設(shè)公式計算出單跳路由度量,從而選擇出最佳的信道。單跳路由度量中綜合考慮了信道干擾和傳輸路徑的時延。使得信道的選擇更加合理,通過合理選擇信道后建立起的路由則為更加合理和高效的路由。優(yōu)選的,本發(fā)明實施列的路由建立方法中,選擇源節(jié)點到每個第一鄰居節(jié)點在不同信道下的單跳路由度量中最小單跳路由度量的信道,作為源節(jié)點與每個第一鄰居節(jié)點之間進行數(shù)據(jù)傳輸?shù)牡谝蛔罴研诺?,包括;選擇第一信道分配給第一鄰居節(jié)點中的一個當前鄰居節(jié)點,并將第一信道作為第一最佳信道后,選擇除第一信道以外的其他信道、給除當前鄰居節(jié)點以外的其他第一鄰居節(jié)點,并將其他信道作為第一最佳信道。源節(jié)點在對不同的第一鄰居節(jié)點選擇信道時,可能會出現(xiàn)信道選擇重復的情況,如同樣在第一信道下,兩個第一鄰居節(jié)點的單跳路由度量都是最小的,那么此時只能為其中一個第一鄰居節(jié)點選擇第一信道,為另一個第一鄰居節(jié)點選擇次優(yōu)的其他信道。這樣可以有效抑制信道的切換次數(shù),減少信道間的干擾。提高數(shù)據(jù)傳輸?shù)馁|(zhì)量和效率。優(yōu)選的,本發(fā)明實施列的路由建立方法中,鏈路信息至少包括:數(shù)據(jù)包長度、數(shù)據(jù)包隊列中已有數(shù)據(jù)包數(shù)目、鏈路帶寬、發(fā)送數(shù)據(jù)包總數(shù)、成功接收數(shù)據(jù)包總數(shù)和最小窗口大小。第一預設(shè)公式為:WAEEDn,mc=(1-β)EEDi+βIFc=(1-β)EEDi+βMn,mΣpkn,m]]>其中,n為節(jié)點,m為節(jié)點,n與m是指不同節(jié)點,c為信道,為n和m之間經(jīng)過c的單跳路由度量,β為權(quán)重可調(diào)因子,且0≤β≤1,i為鏈路,EEDi為i的平均端對端時延,IFc為c的干擾參數(shù),Mn,m為n向m發(fā)送數(shù)據(jù)包總數(shù),∑pkn,m為m成功接收到n發(fā)送的數(shù)據(jù)包總數(shù)。其中,EEDi為i的平均端對端時延,Mi為數(shù)據(jù)包隊列中已有數(shù)據(jù)包數(shù)目,L表示數(shù)據(jù)包長度,B表示鏈路帶寬,pi為i的丟包率,且pi為預設(shè)值,Wmin為最小窗口大小。對于EEDi的計算,在本發(fā)明實施例中根據(jù)理論推導給出嚴謹?shù)耐茖н^程:EEDi=E[Ti+Qi]=(Mi+1)E[Ti]其中Ti為鏈路i上數(shù)據(jù)包的服務(wù)時間,Qi為隊列時延,E[Ti+Qi]為平均的端對端時延,Mi為當一個新的數(shù)據(jù)包進入節(jié)點的隊列中已有的數(shù)據(jù)包的數(shù)目,E[Ti]為平均傳輸時延,因此平均端對端時延可以表示為(Mi+1)E[Ti],而平均傳輸時延計算方式如下:E[Ti]=E[transmissiontime]+E[backofftime]=LBΣk=1∞k·pik-1·(1-pi)+Σk=1∞pik-1(1-pi)Σj=1kE[Wj]=LB(1-pi)+Wmin2(1-2pi)-12(1-pi)]]>其中E[transmissiontime]為期望傳輸時延,E[backofftime]為期望退讓時間,L為數(shù)據(jù)包長度,B為鏈路帶寬,pi為鏈路i的丟包率,k為最大重傳次數(shù),Wj為第j次退讓階段的競爭窗口,E[Wj]為Wj的期望值,Wmin為最小窗口大小。在第一公式中β和pi均為預設(shè)值,其余參數(shù)均通過探測包獲得。在本發(fā)明實施列中對于平均端對端時延EEDi給出的詳細的計算過程和計算方法,對于信道的干擾參數(shù)IFc,不僅考慮了成功傳輸數(shù)據(jù)包的數(shù)目這一參數(shù),還考慮了發(fā)送數(shù)據(jù)包的總數(shù)這一參數(shù),使得對信道干擾的衡量更加準確合理。通過平均端對端時延EEDi和信道的干擾參數(shù)IFc得到的單跳路由度量在衡量兩個信道之間的通信狀態(tài)時則更加準確并更加嚴謹。參見圖2,圖2是本發(fā)明實施列提供的路由建立方法的另一種流程圖,應(yīng)用于中繼節(jié)點。步驟201,接收由上一跳節(jié)點發(fā)送的路由請求報文,其中,路由請求報文至少包括:上一跳節(jié)點到當前中繼節(jié)點的信道信息、上一跳節(jié)點到當前中繼節(jié)點的單跳路由度量、源節(jié)點到上一跳節(jié)點路徑的總路由度量,上一跳節(jié)點為向當前中繼節(jié)點直接發(fā)送或轉(zhuǎn)發(fā)路由請求報文的源節(jié)點或者其他中繼節(jié)點。中繼節(jié)點是在源節(jié)點和目標節(jié)點之間作為中繼進行數(shù)據(jù)發(fā)送的節(jié)點。數(shù)據(jù)從一個節(jié)點發(fā)送至另一個節(jié)點,稱為一跳。當前中繼節(jié)點接收到的路由請求報文,可以是源節(jié)點發(fā)送的路由請求報文,也可以是其他的中繼節(jié)點轉(zhuǎn)發(fā)的路由請求報文。步驟202,從路由請求報文中,獲得并累加上一跳節(jié)點到當前中繼節(jié)點的單跳路由度量至路由請求報文中的總路由度量中。當前中繼節(jié)點接收到路由請求報文后,此時路由請求報文中的總路由度量中僅包含源節(jié)點到上一跳節(jié)點的總路由度量,若上一跳節(jié)點為源節(jié)點,則此時總路由度量為0,所以當前中繼節(jié)點需要將路由請求報文中的上一跳節(jié)點到當前中繼節(jié)點的單跳路由度量累加到路由請求報文中的總路由度量中。本步驟保證了每一次發(fā)送或轉(zhuǎn)發(fā)的路由請求報文都累計一次單跳路由度量,為最終目標節(jié)點選擇總路由度量最小的路由路徑奠定了基礎(chǔ)。步驟203,向當前中繼節(jié)點的每個第二鄰居節(jié)點廣播探測包,選擇出當前中繼節(jié)點到每個第二鄰居節(jié)點在不同信道下的單跳路由度量中最小單跳路由度量的信道,作為當前中繼節(jié)點與每個第二鄰居節(jié)點之間進行數(shù)據(jù)傳輸?shù)牡诙罴研诺?,其中,第二鄰居?jié)點包括其他中繼節(jié)點或目標節(jié)點。同樣的,當前中繼節(jié)點選擇第二最佳信道與源節(jié)點選擇第一最佳信道時的過程相同。當前中繼節(jié)點獲得不同信道下的到每個第二鄰居節(jié)點的鏈路信息,通過第一預設(shè)公式獲得不同信道下的單條路由度量,比較不同當前中繼節(jié)點到每個第二鄰居節(jié)點在不同信道下的單跳路由度量,選擇當前中繼節(jié)點到每個第二鄰居節(jié)點在不同信道下的單跳路由度量中最小單跳路由度量的信道,作為當前中繼節(jié)點與每個第二鄰居節(jié)點之間進行數(shù)據(jù)傳輸?shù)牡诙罴研诺?。同樣的,為了抑制信道間的干擾,當前中繼節(jié)點為一個第二鄰居節(jié)點選擇了第一信道后,不能為其他第二鄰居節(jié)點選擇第一信道。需要說明的是,若當前中繼節(jié)點的上一跳節(jié)點與當前中繼節(jié)點之間已經(jīng)使用了第一信道,則當前中繼節(jié)點不能再為任何第二鄰居節(jié)點選擇第一信道,只能選擇其他信道進行數(shù)據(jù)傳輸。步驟204,通過第二最佳信道向每個第二鄰居節(jié)點轉(zhuǎn)發(fā)路由請求報文;當前中繼節(jié)點轉(zhuǎn)發(fā)路由請求報文時,需要將轉(zhuǎn)發(fā)路由請求報文所使用的信道信息和當前中繼節(jié)點到第二鄰居節(jié)點的單跳路由度量加入路由請求報文。當然,對不同的第二節(jié)點發(fā)送的路由請求報文中信道信息和單跳路由度量是不同的。當前中繼節(jié)點在向每個第二鄰居節(jié)點發(fā)送路由請求報文的同時,建立起每個第二鄰居節(jié)點到當前中繼節(jié)點的反向路由。步驟205,接收目標節(jié)點針對路由請求報文返回的路由回應(yīng)報文,向上一跳節(jié)點轉(zhuǎn)發(fā)路由回應(yīng)報文;當前中繼節(jié)點接收到路由回應(yīng)報文后,需要沿反向路由向上一跳節(jié)點發(fā)送該路由回應(yīng)報文,最終源節(jié)點將會接收到該路由回應(yīng)報文。步驟206,根據(jù)路由回應(yīng)報文中的路由信息,在當前中繼節(jié)點的本地路由表中保存當前中繼節(jié)點到目標節(jié)點的正向路由及當前中繼節(jié)點到目標節(jié)點的總路由度量,建立與目標節(jié)點的路由。當前中繼節(jié)點接收到路由回應(yīng)報文,從路由回應(yīng)報文中獲得到目標節(jié)點的路由信息,并將路由信息保存在當前中繼節(jié)點的本地路由表中,從而建立起當前中繼節(jié)點與目標節(jié)點的正向路由,其中路由信息至少包括:源節(jié)點到目標節(jié)點的路由和源節(jié)點到目標節(jié)點的總路由度量。在本發(fā)明實施例中,當前中繼節(jié)點轉(zhuǎn)發(fā)路由請求報文時,同樣進行最佳信道的選擇,保證了數(shù)據(jù)傳輸?shù)拿恳惶?,所使用的信道都是最佳的信道,從而保證了整個路由路徑的質(zhì)量和效率。優(yōu)選的,本發(fā)明實施列的路由建立方法中,當前中繼節(jié)點通過第二最佳信道向每個第二鄰居節(jié)點轉(zhuǎn)發(fā)路由請求報文之前,還包括:在當前中繼節(jié)點的本地的路由表中存在當前中繼節(jié)點到目標節(jié)點的路由及當前中繼節(jié)點到目標節(jié)點的總路由度量時,將本地路由表中的當前中繼節(jié)點到目標節(jié)點的總路由度量和當前中繼節(jié)點本次接收到的路由請求報文中源節(jié)點到當前中繼節(jié)點的總路由度量之和,作為源節(jié)點到目標節(jié)點的第一總路由度量。當前中繼節(jié)點的本地路由表中存在當前中繼節(jié)點到目標節(jié)點的路由,則表示當前中繼節(jié)點曾經(jīng)接收到過其他傳輸路徑下的路由請求報文,并且已經(jīng)接收到過目標節(jié)點返回的路由回應(yīng)報文,建立起了當前中繼節(jié)點到目標節(jié)點的路由。當前中繼節(jié)點從本次接收到路由請求報文中獲得總路由度量,此時的總路由度量由于在前面的步驟中已經(jīng)進行了單跳路由度量的累加,所以是源節(jié)點到當前中繼節(jié)點的總路由度量。將總路由度量和本地路由表中的當前中繼節(jié)點到目標節(jié)點的總路由度量相加,獲得第一總路由度量。將本地路由表中的當前中繼節(jié)點到目標節(jié)點的總路由度量和本次之前的上一次接收到的路由請求報文中的源節(jié)點到當前中繼節(jié)點的總路由度量之和,作為源節(jié)點到目標節(jié)點的第二總路由度量。每一次接收到的路由請求報文都會在本地進行保存,并通過編號或時間來區(qū)分。所以當前中繼節(jié)點可以得到本次之前的上一次接收到的路由請求報文。將本次之前的上一次接收到的路由請求報文中的源節(jié)點到當前中繼節(jié)點的總路由度量與本地路由表中的當前中繼節(jié)點到目標節(jié)點的總路由度量相加,得到第二總路由度量。在第一總路由度量小于第二總路由度量時,將本地路由表中的當前中繼節(jié)點到目標節(jié)點的路由與本次接收到的路由請求報文中源節(jié)點到當前中繼節(jié)點的路由合并,作為源節(jié)點到目標節(jié)點的路由;比較第一總路由度量和第二總路由度量,在第一總路由度量小于第二總路由度量時,則表示本次接收到的路由請求報文的傳輸路徑比上一次接收到路由請求報文的傳輸路徑更優(yōu)。當前中繼節(jié)點將本地路由表中的當前中繼節(jié)點到目標節(jié)點的路由與本次接收到的路由請求報文中源節(jié)點到當前中繼節(jié)點的路由合并,獲得到源節(jié)點到目標節(jié)點的路由。當前中繼節(jié)點直接向上一跳節(jié)點返回路由回應(yīng)報文,不再轉(zhuǎn)發(fā)路由請求報文。由于已經(jīng)獲得了源節(jié)點到目標節(jié)點的路由,則不需要再發(fā)送路由請求報文來探測到目標節(jié)點的路由,當前中繼節(jié)點將源節(jié)點到目標節(jié)點的路由信息加入路由回應(yīng)報文,當前中繼節(jié)點直接沿反向路由向上一跳節(jié)點返回路由回應(yīng)報文。當?shù)谝豢偮酚啥攘坎恍∮诘诙偮酚啥攘繒r,則表示本次接收到的路由請求報文的路由路徑?jīng)]有比上一次接收到路由請求報文的路由路徑更優(yōu),則直接丟棄本次接收到的路由請求報文。在本發(fā)明實施例中,當前中繼節(jié)點的本地的路由表中存在當前中繼節(jié)點到目標節(jié)點的路由及當前中繼節(jié)點到目標節(jié)點的總路由度量時,當前中繼節(jié)點對本次接收到的路由請求報文進行總路由度量的判斷,不需要再轉(zhuǎn)發(fā)路由請求報文,減少了整個網(wǎng)絡(luò)中的業(yè)務(wù)量,也減輕了目標節(jié)點的業(yè)務(wù)量,使得可以更加高效的完成路由建立。優(yōu)選的,本發(fā)明實施列的路由建立方法中,當前中繼節(jié)點通過第二最佳信道向每個第二鄰居節(jié)點轉(zhuǎn)發(fā)路由請求報文之前,還包括:在當前中繼節(jié)點的本地的路由表中不存在當前中繼節(jié)點到目標節(jié)點的路由及當前中繼節(jié)點到目標節(jié)點的總路由度量時,判斷當前中繼節(jié)點在本次接收路由請求報文之前是否接收過其他路由請求報文。當前中繼節(jié)點的本地的路由表中不存在當前中繼節(jié)點到目標節(jié)點的路由及當前中繼節(jié)點到目標節(jié)點的總路由度量時,當前中繼節(jié)點也可能接收到過其他傳輸路徑下的路由請求報文,但沒有接收到過路由回應(yīng)報文,所以在本地路由表中沒有到目標節(jié)點的路由及當前中繼節(jié)點到目標節(jié)點的總路由度量。當前中繼節(jié)點在本次接收路由請求報文之前沒有接收過其他路由請求報文時,則當前中繼節(jié)點向當前中繼節(jié)點的每個第二鄰居節(jié)點轉(zhuǎn)發(fā)路由請求報文。當前中繼節(jié)點發(fā)送的路由請求報文,需要選擇第二最佳信道,并將發(fā)送路由請求報文所使用的信道信息和當前中繼節(jié)點到第二鄰居節(jié)點的單跳路由度量加入路由請求報文。當前中繼節(jié)點在本次接收路由請求報文之前接收過其他路由請求報文時,則判斷本次接收到的路由請求報文中源節(jié)點到當前中繼節(jié)點的第三總路由度量是否小于本次之前的上一次接收到的其他路由請求報文中源節(jié)點到當前中繼節(jié)點的第四總路由度量。通過比較第三總路由度量和第四總路由度量,可以判斷出本次接收到路由請求報文的傳輸路徑和上一次接收到的路由請求報文的傳輸路徑的優(yōu)劣。在第三總路由度量小于第四總路由度量時,當前中繼節(jié)點將本次接收到的路由請求報文,再次轉(zhuǎn)發(fā)至當前中繼節(jié)點的每個第二鄰居節(jié)點。在第三總路由度量小于第四總路由度量時,表示本次接收到的路由請求報文的傳輸路徑更優(yōu),則再次向每個第二鄰居節(jié)點轉(zhuǎn)發(fā)路由請求報文,來探測到目的節(jié)點的路由。當在第三總路由度量不小于第四總路由度量時,表示本次接收到的路由請求報文的傳輸路徑?jīng)]有更優(yōu),則直接丟棄本次接收到的路由請求報文。在本發(fā)明實施例中,當前中繼節(jié)點每接收到一次路由請求報文,就進行一次判斷,若接收到的路由請求報文的傳輸路徑不比上一次更優(yōu)時,直接丟棄本次接收到的路由請求報文。減少了整個網(wǎng)絡(luò)的業(yè)務(wù)量,使得路由建立的過程更加高效。參見圖3,圖3是本發(fā)明實施列提供的路由建立方法的再一種流程圖,應(yīng)用于目標節(jié)點。步驟301,接收由上一跳節(jié)點發(fā)送的路由請求報文,上一跳節(jié)點為向目標節(jié)點直接發(fā)送或轉(zhuǎn)發(fā)路由請求報文的源節(jié)點或者中繼節(jié)點。目標節(jié)點是需要接收源節(jié)點發(fā)送的數(shù)據(jù)的節(jié)點。步驟302,從路由請求報文中,獲得并累加上一跳節(jié)點到目標節(jié)點的單跳路由度量至路由請求報文中的總路由度量中。目標節(jié)點接收到的路由請求報文中的總路由度量中只包括從源節(jié)點到目標節(jié)點的上一跳節(jié)點的總路由度量,所以目標節(jié)點接收到路由請求報文后,需要將路由請求報文中的上一跳節(jié)點到目標節(jié)點的單跳路由度量累加到總路由度量中,從而獲得從源節(jié)點到目標節(jié)點的總路由度量。步驟303,首次接收到路由請求報文時,向上一跳節(jié)點返回路由回應(yīng)報文。目標節(jié)點首次接收到路由請求報文,則直接沿到上一跳節(jié)點的反向路由返回路由回應(yīng)報文,不需要判斷本次接收到的路由請求報文的傳輸路徑的總路由度量是否是最優(yōu)的。步驟304,再次接收到路由請求報文時,比較本次接收到路由請求報文的總路由度量是否小于本次之前的上一次接收到的其他路由請求報文的總路由度量。目標節(jié)點再次接收到其他傳輸路徑下的路由請求報文時,則必須進行判斷本次接收到的路由請求報文的傳輸路徑是否比上一次接收到的路由請求報文的傳輸路徑更優(yōu),也就是需要比較兩次接收到的路由請求報文中的總路由度量的大小。步驟305,當本次接收到路由請求報文的總路由度量小于本次之前的上一次接收到的其他路由請求報文的總路由度量時,向發(fā)送本次接收到的路由請求的上一跳節(jié)點返回路由回應(yīng)報文。若本次接收到路由請求報文的總路由度量小于本次之前接收到的其他路由請求報文的總路由度量時,則表示本次接收到的路由請求的傳輸路徑更優(yōu),所以沿反向路由向發(fā)送本次接收到的路由請求的上一跳節(jié)點返回路由回應(yīng)報文,該路由回應(yīng)報文返回至源節(jié)點后,則源節(jié)點會更新到目標節(jié)點的路由,從而建立更加優(yōu)化的路由。若本次接收到路由請求報文的總路由度量不小于本次之前接收到的其他路由請求報文的總路由度量時,則表示本次接收到的路由請求的傳輸路徑?jīng)]有更優(yōu),所以直接丟棄本次接收到的路由請求報文。在本發(fā)明實施例中,目標節(jié)點每次接受到路由請求報文后,都會對路由請求報文中的總路由度量進行比較,從而找出最優(yōu)的傳輸了路由請求的路徑,并按最優(yōu)路徑的返回路由回應(yīng)報文,使得源節(jié)點每次收到的路由回應(yīng)報文都是比上一次更優(yōu)的路由回應(yīng)報文,源節(jié)點可以通過每次接收到的路由回應(yīng)報文更新到目標節(jié)點的路由,保證了每次更新都是更優(yōu)的路由。參見圖4,圖4是本發(fā)明實施列提供的一種網(wǎng)絡(luò)拓撲節(jié)點圖,下面針對此網(wǎng)絡(luò)拓撲節(jié)點圖結(jié)合本發(fā)明給予說明。假設(shè)在一個長1000m,寬1000m的區(qū)域中有8個節(jié)點,每個節(jié)點上安裝3個射頻接口,共有3個正交信道,可用信道集Ca={1,6,11}可供分配。信道帶寬設(shè)為11Mbps,數(shù)據(jù)包長度為1000byte,丟包率為p=0.01。第一節(jié)點401獲得需要向第七節(jié)點407傳輸數(shù)據(jù)的業(yè)務(wù)需求。第一節(jié)點401成為源節(jié)點;第七節(jié)點407成為目標節(jié)點;其他節(jié)點成為中繼節(jié)點。第一節(jié)點401采用不同的信道組合(1,6,11)、(1,11,6)、(6,1,11)、(6,11,1)、(11,1,6)、(11,6,1)廣播探測包,并發(fā)現(xiàn)第二節(jié)點402,第三節(jié)點403,第四節(jié)點404為其鄰居節(jié)點,且獲得不同信道組合下到每個鄰居節(jié)點的鏈路信息。其中,第二節(jié)點402,第三節(jié)點403,第四節(jié)點404為第一鄰居節(jié)點。根據(jù)鏈路信息,計算第一節(jié)點401到在不同信道組合下到每個鄰居節(jié)點的單跳路由度量。將最小的單跳路由度量所采用的信道作為第一節(jié)點401到每個鄰居節(jié)點的第一最佳信道,對于第一節(jié)點401到第二節(jié)點402的鏈路,分配信道CH1;同樣為第一節(jié)點401到第三節(jié)點403的鏈路,分配信道CH6;為第一節(jié)點401到第四節(jié)點404的鏈路,分配信道CH11。第一節(jié)點401用第一最佳信道CH1向第二節(jié)點402發(fā)送路由請求報文,同時建立第二節(jié)點402到401的反向路由;第一節(jié)點401用第一最佳信道CH6向第三節(jié)點403發(fā)送路由請求報文,同時建立第三節(jié)點403到第一節(jié)點401的反向路由;第一節(jié)點401用第一最佳信道CH11向第四節(jié)點404發(fā)送路由請求報文,同時建立第四節(jié)點404到第一節(jié)點401的反向路由。當?shù)诙?jié)點402接收到來自第一節(jié)點401的路由請求報文后,從路由請求報文的單跳信息域中獲得第一節(jié)點401到第二節(jié)點402的單跳路由度量,將第一節(jié)點401到第二節(jié)點402的單跳路由度量累加到路由請求報文中的總路由度量中。因為第二節(jié)點402不是目標節(jié)點,第二節(jié)點402的本地路由表中沒有到目標節(jié)點的路由,且第二節(jié)點402第一次接收到路由請求報文。第二節(jié)點402需要向第二節(jié)點402的鄰居節(jié)點轉(zhuǎn)發(fā)路由請求。因為第一節(jié)點401到第二節(jié)點402的鏈路,已經(jīng)分配了信道CH1,所以第二節(jié)點402采用信道組合(6,11)(11,6)廣播探測包,獲得第二節(jié)點402到第五節(jié)點405和第三節(jié)點403的鏈路信息,計算單跳路由度量,利用單跳路由度量獲得第二最佳信道。為第二節(jié)點402到第三節(jié)點403的鏈路,分配信道CH11;為第二節(jié)點402到第五節(jié)點405的鏈路,分配信道CH6;將第二節(jié)點402至第五節(jié)點405、第二節(jié)點402至第三節(jié)點403的單跳路由度量和信道信息寫入路由請求報文;第二節(jié)點402向第五節(jié)點405和第三節(jié)點403轉(zhuǎn)發(fā)路由請求文件。并建立第五節(jié)點405到第二節(jié)點402,第三節(jié)點403到第二節(jié)點402的反向路由。當?shù)谌?jié)點403接收到來自第一節(jié)點401的路由請求報文,第一節(jié)點401成為第三節(jié)點403的上一跳節(jié)點。第三節(jié)點403從路由請求報文的單跳信息域中獲得第一節(jié)點401到第三節(jié)點403的單跳路由度量,將第一節(jié)點401到第三節(jié)點403的單跳路由度量累加到路由請求報文中的總路由度量中。第三節(jié)點403不是目標節(jié)點,根據(jù)同樣的方法,找到第三節(jié)點403與第三節(jié)點403的鄰居節(jié)點的第二最佳信道,為第三節(jié)點403到第六節(jié)點406的鏈路,分配信道CH1。將第三節(jié)點403至第六節(jié)點406的單跳路由度量和信道信息寫入路由請求報文;第三節(jié)點403向第六節(jié)點406發(fā)送路由請求文件。并建立第六節(jié)點406到第三節(jié)點403的反向路由。當?shù)谌?jié)點403接收到第二節(jié)點402所發(fā)送的路由請求報文時,從路由請求報文的單跳信息域中獲得第二節(jié)點402到第三節(jié)點403的單跳路由度量,將第二節(jié)點402到第三節(jié)點403的單跳路由度量累加到路由請求報文中的總路由度量中。則此時的路由請求報文中的總路由度量為第三節(jié)點403不是第一次接收到路由請求報文,判斷此時接收到的路由請求報文與上一次接收到的路由請求報文中的總路由度量的大小,上一次接收到的路由請求報文為第一節(jié)點401發(fā)送的路由請求報文,其中路由總度量為經(jīng)過比較得到:第二節(jié)點402所轉(zhuǎn)發(fā)的路由請求報文中的總路由度量沒有優(yōu)于上一次接收到的路由請求報文中的總路由度量。所以丟棄第二節(jié)點402所轉(zhuǎn)發(fā)的路由請求報文。第四節(jié)點404接收到第一節(jié)點401發(fā)送的路由請求報文后,第四節(jié)點404并沒有其他鄰居節(jié)點,所以丟棄路由請求報文。當?shù)谖骞?jié)點405接收到來自第二節(jié)點402的路由請求報文后,從路由請求報文的單跳信息域中獲得第二節(jié)點402到第五節(jié)點405的單跳路由度量,將第二節(jié)點402到第五節(jié)點405的單跳路由度量累加到路由請求報文中的總路由度量中。因為第五節(jié)點405不是目標節(jié)點,第五節(jié)點405的本地路由表中沒有到目標節(jié)點的路由,且第五節(jié)點405第一次接收到路由請求報文。第五節(jié)點405需要向第五節(jié)點405的鄰居節(jié)點轉(zhuǎn)發(fā)路由請求。因為第二節(jié)點402到第五節(jié)點405的鏈路。已經(jīng)分配了信道CH6,所以第五節(jié)點405采用信道組合(1,11)(11,1)廣播探測包,獲得第五節(jié)點405到第七節(jié)點407和第六節(jié)點406的鏈路信息,計算單跳路由度量,利用單跳路由度量獲得第二最佳信道。為第五節(jié)點405到第七節(jié)點407的鏈路,分配信道CH1;為第五節(jié)點405到第六節(jié)點406的鏈路,分配信道CH11;將第五節(jié)點405至第七節(jié)點407、第五節(jié)點405至第六節(jié)點406的單跳路由度量和信道信息寫入路由請求報文;第五節(jié)點405向第七節(jié)點407和第六節(jié)點406,發(fā)送路由請求文件。并建立第七節(jié)點407到第五節(jié)點405,第六節(jié)點406到第五節(jié)點405的反向路由。第七節(jié)點407接收到第五節(jié)點405發(fā)送的路由請求后,從路由請求報文的單跳信息域中獲得第五節(jié)點405到第七節(jié)點407的單跳路由度量,將第五節(jié)點405到本第七節(jié)點407的單跳路由度量累加到路由請求報文中的總路由度量中。第七節(jié)點407是目標節(jié)點,則此時的總路由度量就為從源第一節(jié)點401經(jīng)過第二節(jié)點402、第五節(jié)點405,到達目標第七節(jié)點407的整條路徑的總路由度量。此時第七節(jié)點407第一次接收到路由請求報文,則沿反向路由:第七節(jié)點407、第五節(jié)點405、第二節(jié)點402和第一節(jié)點401,返回路由回應(yīng)報文。同樣的,第六節(jié)點406接收到第三節(jié)點403發(fā)送的路由請求報文后,也會向第七節(jié)點407轉(zhuǎn)發(fā)路由請求報文。當?shù)谄吖?jié)點407接收到第六節(jié)點406轉(zhuǎn)發(fā)的路由請求后,從路由請求報文的單跳信息域中獲得第六節(jié)點406到第七節(jié)點407的單跳路由度量,將第六節(jié)點406到第七節(jié)點407的單跳路由度量累加到路由請求報文中的總路由度量中。第七節(jié)點407是目標節(jié)點,則此時的總路由度量就為從源第一節(jié)點401經(jīng)過第三節(jié)點403、第六節(jié)點406,到達目標第七節(jié)點407的整條路徑的總路由度量。此時節(jié)點已經(jīng)接收到路由請求報文,需要判斷本次接收到的路由請求報文中的總路由度量是否優(yōu)于上一次接收到的路由請求報文中的總路由度量,經(jīng)比較得到:WAEED401,4021+WAEED402,4056+WAEED405,4071>WAEED401,4036+WAEED403,4061+WAEED406,4076.]]>所以本次接收到的路由請求報文中的總路由度量優(yōu)于上一次接收到的路由請求報文中的總路由度量,則第七節(jié)點407按反向路由:第七節(jié)點407、第六節(jié)點406、第三節(jié)點403、第一節(jié)點401,重新返回路由回應(yīng)報文。第六節(jié)點406接收到第五節(jié)點405轉(zhuǎn)發(fā)的路由請求報文后,從路由請求報文的單跳信息域中獲得第五節(jié)點405到第六節(jié)點406的單跳路由度量,將第五節(jié)點405到第六節(jié)點406的單跳路由度量累加到路由請求報文中的總路由度量中。則此時的路由請求報文中的總路由度量為第六節(jié)點406不是第一次接收到路由請求報文,需要判斷此時接收到的路由請求報文與上一次接收到的路由請求報文中的總路由度量的大小,上一次接收到的路由請求報文為第三節(jié)點403轉(zhuǎn)發(fā)的路由請求報文,其中路由總度量為經(jīng)過比較得到:第五節(jié)點405所轉(zhuǎn)發(fā)的路由請求報文中的總路由度量優(yōu)于上一次接收到的路由請求報文中的總路由度量。所以第六節(jié)點406更新反向路由,丟棄原有路由請求報文,保存第五節(jié)點405所發(fā)送的路由請求報文,并向第七節(jié)點407再次轉(zhuǎn)發(fā)路由請求報文。當?shù)谄吖?jié)點407再次接收到第六節(jié)點406所轉(zhuǎn)發(fā)的路由請求報文時,同樣的,再次進行比較本次接收到的路由請求中的路由總度量與上一次收到的路由請求中的路由中度量。經(jīng)過比較得到:本次接收到的路由請求中的路由總度量沒有優(yōu)于上一次接收到的路由請求中的路由中度量。所以丟棄本次接收到的第六節(jié)點406所發(fā)送的路由請求報文。當?shù)谖骞?jié)點405接收到第七節(jié)點407回復的路由回應(yīng)報文,第五節(jié)點405不是源節(jié)點,則在第五節(jié)點405的本地路由表中建立到目標第七節(jié)點407的正向路由,并沿反向路由向第二節(jié)點402發(fā)送路由回應(yīng)報文,其中第五節(jié)點405的本地路由表至少含有表1的內(nèi)容,表1為第五節(jié)點405的本地路由表:表1當?shù)诙?jié)點402接收到第五節(jié)點405轉(zhuǎn)發(fā)的路由回應(yīng)報文,第二節(jié)點402不是源節(jié)點,則在第二節(jié)點402的本地路由表中建立到目標第七節(jié)點407的正向路由,并沿反向路由向第一節(jié)點401轉(zhuǎn)發(fā)路由回應(yīng)報文,其中第二節(jié)點402的本地路由表至少含有表2的內(nèi)容,表2為第二節(jié)點402的本地路由表:表2當?shù)谝还?jié)點401接收到第二節(jié)點402發(fā)送的路由回應(yīng)報文,第一節(jié)點401是源節(jié)點,則在第一節(jié)點401的本地路由表中建立到目標第七節(jié)點407的正向路由,其中第一節(jié)點401的本地路由表至少含有表3的內(nèi)容,表3為第一節(jié)點401的本地路由表:表3同理,當?shù)谄吖?jié)點407沿反向路由:第七節(jié)點407到第六節(jié)點406到第三節(jié)點403到第一節(jié)點401,重新返回路由回應(yīng)報文時。第六節(jié)點406和第三節(jié)點403也在本地路由表中建立到目標第七節(jié)點407的正向路由。當源第一節(jié)點401又一次接收到路由回應(yīng)報文,則更新源第一節(jié)點401的本地路由表,建立新的到目標節(jié)點的路由。此時,第一節(jié)點401的本地路由表至少含有表4的內(nèi)容,表4為更新后第一節(jié)點401的本地路由表:表4經(jīng)過上述步驟,建立了從源第一節(jié)點401到目標第七節(jié)點407的路由。第一節(jié)點401的路由路徑為:第一節(jié)點401、第三節(jié)點403、第六節(jié)點406和第七節(jié)點407,跳數(shù)為3跳;第三節(jié)點403的路由路徑為第三節(jié)點403、第六節(jié)點406和第七節(jié)點407,跳數(shù)為2跳;第六節(jié)點406的路由路徑為第六節(jié)點406到第七節(jié)點407,跳數(shù)為1跳。為了維護路由,每個包含路由的節(jié)點周期地廣播探測包。一個節(jié)點接收到一個探測包就可以知道一個鄰居節(jié)點與本節(jié)點依然保持連接,還能獲取隊列長度,鏈路帶寬,發(fā)包總數(shù)以及收包總數(shù)等信息。如果在一定時間內(nèi)收不到一個鄰居節(jié)點的探測包,則認為鄰居節(jié)點與本節(jié)點不再連接,以鄰居節(jié)點為下一跳的路由不能再用來傳送數(shù)據(jù),因此將這些路由設(shè)置為無效狀態(tài)。路由將進行局部維修,本節(jié)點將啟動路由發(fā)現(xiàn)過程,廣播路由請求報文以便建立新路由,如果在給定時間里能建立起有效路由,就繼續(xù)發(fā)送數(shù)據(jù),如果建立路由不成功,則向上一跳節(jié)點發(fā)送路由錯誤報文。源節(jié)點接收到路由錯誤報文后,重新發(fā)起路由發(fā)現(xiàn)過程。在本實施列中,若第三節(jié)點403到第六節(jié)點406的鏈路斷開后,原路由不能連通,需要更新路由。第三節(jié)點403向第一節(jié)點401發(fā)出路由錯誤報文,第一節(jié)點401接收到路由錯誤報文后再次進行路由的發(fā)現(xiàn)過程,經(jīng)過上述步驟,建立新的路由。參見圖5,圖5是本發(fā)明實施列提供的路由建立裝置的一種結(jié)構(gòu)圖,應(yīng)用于源節(jié)點,其中包括:探測模塊501,用于通過不同的信道向源節(jié)點的每個第一鄰居節(jié)點廣播探測包,其中,第一鄰居節(jié)點為與源節(jié)點相鄰的中繼節(jié)點或目標節(jié)點,中繼節(jié)點為轉(zhuǎn)發(fā)數(shù)據(jù)的節(jié)點,目標節(jié)點為接收數(shù)據(jù)的節(jié)點。單跳路由度量計算模塊502,用于通過探測包獲得源節(jié)點與每個第一鄰居節(jié)點在不同信道下的鏈路信息,并根據(jù)鏈路信息通過第一預設(shè)公式,確定源節(jié)點到每個第一鄰居節(jié)點在不同信道下的單跳路由度量,其中,單跳路由度量用于衡量在同一信道中兩個相鄰節(jié)點之間的通信狀態(tài)。第一信道選擇模塊503,用于比較源節(jié)點到每個第一鄰居節(jié)點在不同信道下的單跳路由度量,選擇源節(jié)點到每個第一鄰居節(jié)點在不同信道下的單跳路由度量中最小單跳路由度量的信道,作為源節(jié)點與每個第一鄰居節(jié)點之間進行數(shù)據(jù)傳輸?shù)牡谝蛔罴研诺馈5谝话l(fā)送模塊504,用于通過第一最佳信道向每個第一鄰居節(jié)點發(fā)送路由請求報文,其中,每個第一鄰居節(jié)點為發(fā)送數(shù)據(jù)的中繼節(jié)點或目標節(jié)點。第一接收模塊505,用于接收目標節(jié)點針對路由請求報文返回的路由回應(yīng)報文。第一路由建立模塊506,用于根據(jù)路由回應(yīng)報文中的路由信息,在源節(jié)點的本地路由表中保存源節(jié)點到目標節(jié)點的正向路由,建立與目標節(jié)點的路由。在本發(fā)明實施例中,源節(jié)點通過探測包獲得鏈路信息,通過第一預設(shè)公式計算出單跳路由度量,從而選擇出最佳的信道。單跳路由度量中綜合考慮了信道干擾和傳輸路徑的時延。使得信道的選擇更加合理,通過合理選擇信道后建立起的路由則為更加合理和高效的路由。參見圖6,圖6是本發(fā)明實施列提供的路由建立裝置的另一種結(jié)構(gòu)圖,應(yīng)用于中繼節(jié)點,其中包括:第二接收模塊601,用于接收由上一跳節(jié)點發(fā)送的路由請求報文,其中,路由請求報文至少包括:上一跳節(jié)點到當前中繼節(jié)點的信道信息、上一跳節(jié)點到當前中繼節(jié)點的單跳路由度量、源節(jié)點到上一跳節(jié)點路徑的總路由度量,上一跳節(jié)點為向當前中繼節(jié)點直接發(fā)送或轉(zhuǎn)發(fā)路由請求報文的源節(jié)點或者其他中繼節(jié)點;第一累加模塊602,用于從路由請求報文中,獲得并累加上一跳節(jié)點到當前中繼節(jié)點的單跳路由度量至路由請求報文中的總路由度量中;第二信道選擇模塊603,用于向當前中繼節(jié)點的每個第二鄰居節(jié)點廣播探測包,選擇出當前中繼節(jié)點到每個第二鄰居節(jié)點在不同信道下的單跳路由度量中最小單跳路由度量的信道,作為當前中繼節(jié)點與每個第二鄰居節(jié)點之間進行數(shù)據(jù)傳輸?shù)牡诙罴研诺?,其中,第二鄰居?jié)點包括其他中繼節(jié)點或目標節(jié)點;第二發(fā)送模塊604,用于通過第二最佳信道向每個第二鄰居節(jié)點轉(zhuǎn)發(fā)路由請求報文;第一回應(yīng)模塊605,用于接收目標節(jié)點針對路由請求報文返回的路由回應(yīng)報文,向上一跳節(jié)點發(fā)送路由回應(yīng)報文;第二路由建立模塊606,用于根據(jù)路由回應(yīng)報文中的路由信息,在當前中繼節(jié)點的本地路由表中保存當前中繼節(jié)點到目標節(jié)點的正向路由及所述當前中繼節(jié)點到所述目標節(jié)點的總路由度量,建立與目標節(jié)點的路由。在本發(fā)明實施例中,當前中繼節(jié)點轉(zhuǎn)發(fā)路由請求報文時,同樣進行最佳信道的選擇,保證了數(shù)據(jù)傳輸?shù)拿恳惶?,所使用的信道都是最佳的信道,從而保證了整個路由路徑的質(zhì)量和效率。參見圖7,圖7是本發(fā)明實施列提供的路由建立裝置的再一種結(jié)構(gòu)圖,應(yīng)用于目標節(jié)點,其中包括:第三接收模塊701,用于接收由上一跳節(jié)點發(fā)送的路由請求報文,上一跳節(jié)點為向目標節(jié)點直接發(fā)送或轉(zhuǎn)發(fā)路由請求報文的源節(jié)點或者中繼節(jié)點;第二累加模塊702,用于從路由請求報文中,獲得并累加上一跳節(jié)點到目標節(jié)點的單跳路由度量至路由請求報文中的總路由度量中;第二回應(yīng)模塊703,用于首次接收到路由請求報文時,向上一跳節(jié)點返回路由回應(yīng)報文;比較模塊704,用于再次接收到路由請求報文時,比較本次接收到路由請求報文的總路由度量是否小于本次之前接收到的其他路由請求報文的總路由度量;第三回應(yīng)模塊705,用于當本次接收到路由請求報文的總路由度量小于本次之前接收到的其他路由請求報文的總路由度量時,向發(fā)送本次接收到的路由請求的上一跳節(jié)點返回路由回應(yīng)報文。在本發(fā)明實施例中,目標節(jié)點每次接受到路由請求報文后,都會對路由請求報文中的總路由度量進行比較,從而找出最優(yōu)的傳輸了路由請求的路徑,并按最優(yōu)路徑的返回路由回應(yīng)報文,使得源節(jié)點每次收到的路由回應(yīng)報文都是比上一次更優(yōu)的路由回應(yīng)報文,源節(jié)點可以通過每次接收到的路由回應(yīng)報文更新到目標節(jié)點的路由,保證了每次更新都是更優(yōu)的路由。本發(fā)明實施例的裝置是應(yīng)用上述路由建立方法的裝置,則上述路由建立方法的所有實施例均適用于該裝置,且均能達到相同或相似的有益效果。需要說明的是,在本發(fā)明實施例中源節(jié)點、中繼節(jié)點和目標節(jié)點并不是特指某幾個節(jié)點,在一個網(wǎng)絡(luò)拓撲結(jié)構(gòu)中的任何一個節(jié)點根據(jù)不同的需要,可能成為源節(jié)點或中繼節(jié)點或目標節(jié)點。以上所述的方法或裝置,可以應(yīng)用于網(wǎng)絡(luò)拓撲結(jié)構(gòu)中的任何一個節(jié)點。在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。當前第1頁1 2 3 
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
万山特区| 曲松县| 固阳县| 浦东新区| 祁门县| 澄迈县| 房产| 定州市| 沙田区| 沧源| 邯郸县| 绵阳市| 金沙县| 祁东县| 广汉市| 老河口市| 南木林县| 隆尧县| 长沙县| 叶城县| 青海省| 大宁县| 进贤县| 玛曲县| 新化县| 天津市| 米易县| 新沂市| 韶关市| 商洛市| 泰和县| 淮滨县| 高淳县| 丰县| 博乐市| 津南区| 咸阳市| 小金县| 宜兰县| 沙洋县| 富宁县|