一種基于IPv6的電力線載波通信網(wǎng)絡(luò)擁塞控制方法
【專利摘要】本發(fā)明涉及一種基于IPv6的電力線載波通信網(wǎng)絡(luò)擁塞控制方法,屬于智能電網(wǎng)通信技術(shù)領(lǐng)域。該方法包括以下步驟:S1:載波網(wǎng)絡(luò)節(jié)點(diǎn)自行構(gòu)建基于擁塞控制的IPv6層次轉(zhuǎn)發(fā)樹(shù)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),以減小節(jié)點(diǎn)擁塞幾率;S2:節(jié)點(diǎn)在發(fā)生擁塞時(shí),通過(guò)組播擁塞通告報(bào)文重新進(jìn)行父、子節(jié)點(diǎn)的流量分配,并結(jié)合IPv6協(xié)議,使被通告節(jié)點(diǎn)依據(jù)相應(yīng)的冗余路由尋址方法進(jìn)行消息傳遞,以將擁塞區(qū)域的流量轉(zhuǎn)移到其它負(fù)載較輕的區(qū)域從而避開(kāi)該擁塞節(jié)點(diǎn);S3:節(jié)點(diǎn)在擁塞解除后,組播擁塞解除報(bào)文使其父、子節(jié)點(diǎn)恢復(fù)為原來(lái)的流量分配模式。本方法能夠有效的提高網(wǎng)絡(luò)的吞吐量以及網(wǎng)絡(luò)的整體通信能力。
【專利說(shuō)明】
一種基于I Pv6的電力線載波通信網(wǎng)絡(luò)擁塞控制方法
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于智能電網(wǎng)通信技術(shù)領(lǐng)域,涉及一種基于IPv6的電力線載波通信網(wǎng)絡(luò)擁塞控制方法。
【背景技術(shù)】
[0002]隨著電力線通信應(yīng)用場(chǎng)景的擴(kuò)大,以及互聯(lián)網(wǎng)通信技術(shù)的發(fā)展,將下一代互聯(lián)網(wǎng)核心技術(shù)IPv6協(xié)議應(yīng)用于電力線載波通信網(wǎng)絡(luò)中,實(shí)現(xiàn)電力通信設(shè)備IPv6資源分配,將使得電力線通信網(wǎng)絡(luò)更好的實(shí)現(xiàn)端到端的連接,優(yōu)化繼承互聯(lián)網(wǎng)上新的服務(wù)和應(yīng)用。
[0003]由于低壓電力線通信網(wǎng)絡(luò)具有多變的網(wǎng)絡(luò)結(jié)構(gòu),而在網(wǎng)絡(luò)節(jié)點(diǎn)資源和通信能力相同的情況下,最短路徑樹(shù)的拓?fù)浣Y(jié)構(gòu)通常具有轉(zhuǎn)發(fā)跳數(shù)少和傳輸延遲低的優(yōu)點(diǎn),在載波通信網(wǎng)絡(luò)中采用樹(shù)型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),其網(wǎng)絡(luò)結(jié)構(gòu)清晰,組網(wǎng)效率高,但樹(shù)型網(wǎng)絡(luò)呈擴(kuò)散式分布,距網(wǎng)關(guān)越近的上層節(jié)點(diǎn)對(duì)數(shù)據(jù)的轉(zhuǎn)發(fā)量較底層節(jié)點(diǎn)就越大。如果部分區(qū)域發(fā)生緊急情況,由于較多的節(jié)點(diǎn)將數(shù)據(jù)發(fā)送到一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)時(shí),可能造成該轉(zhuǎn)發(fā)節(jié)點(diǎn)接收?qǐng)?bào)文的速率加快,使得轉(zhuǎn)發(fā)隊(duì)列增加,甚至溢出,從而產(chǎn)生節(jié)點(diǎn)擁塞。在鏈路單一的樹(shù)型拓?fù)浣Y(jié)構(gòu)下,若節(jié)點(diǎn)擁塞得不到及時(shí)解決,不但增加了丟包率,影響傳輸可靠性,而且還降低了帶寬利用率,造成資源的浪費(fèi),甚至導(dǎo)致部分網(wǎng)絡(luò)癱瘓。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明的目的在于提供一種基于IPv6的電力線載波通信網(wǎng)絡(luò)擁塞控制方法,該方法在構(gòu)建載波網(wǎng)絡(luò)IPv6層次接入樹(shù)模型的基礎(chǔ)上,結(jié)合流量均衡策略進(jìn)行擁塞區(qū)域的流量轉(zhuǎn)移,在IPv6載波通信網(wǎng)絡(luò)中實(shí)現(xiàn)節(jié)點(diǎn)擁塞控制。
[0005]為達(dá)到上述目的,本發(fā)明提供如下技術(shù)方案:
[0006]一種基于IPv6的電力線載波通信網(wǎng)絡(luò)擁塞控制方法,該方法包括以下步驟:
[0007]S1:載波網(wǎng)絡(luò)節(jié)點(diǎn)自行構(gòu)建基于擁塞控制的IPv6層次轉(zhuǎn)發(fā)樹(shù)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),以減小節(jié)點(diǎn)擁塞幾率;
[0008]S2:節(jié)點(diǎn)在發(fā)生擁塞時(shí),通過(guò)組播擁塞通告報(bào)文重新進(jìn)行父、子節(jié)點(diǎn)的流量分配,并結(jié)合IPv6協(xié)議,使被通告節(jié)點(diǎn)依據(jù)相應(yīng)的冗余路由尋址方法進(jìn)行消息傳遞,以將擁塞區(qū)域的流量轉(zhuǎn)移到其它負(fù)載較輕的區(qū)域從而避開(kāi)該擁塞節(jié)點(diǎn);
[0009]S3:節(jié)點(diǎn)在擁塞解除后,組播擁塞解除報(bào)文使其父、子節(jié)點(diǎn)恢復(fù)為原來(lái)的流量分配模式。
[0010]進(jìn)一步,所述步驟SI具體包括以下步驟:
[0011]Sll:待入網(wǎng)節(jié)點(diǎn)通過(guò)廣播信標(biāo)請(qǐng)求消息,獲取一跳范圍內(nèi)已入網(wǎng)的鄰居節(jié)點(diǎn)信息,所述鄰居節(jié)點(diǎn)收到該請(qǐng)求消息后,回復(fù)信標(biāo)響應(yīng)消息給待入網(wǎng)節(jié)點(diǎn);
[0012]S12:所述信標(biāo)響應(yīng)消息中包含了該鄰居節(jié)點(diǎn)自身的后代節(jié)點(diǎn)數(shù),待入網(wǎng)節(jié)點(diǎn)在信標(biāo)響應(yīng)度量閥值時(shí)間T內(nèi)對(duì)收到的信標(biāo)響應(yīng)消息進(jìn)行更新,并依據(jù)后代節(jié)點(diǎn)數(shù)建立備用父節(jié)點(diǎn)集;隨后,節(jié)點(diǎn)從該集中選出一個(gè)后代節(jié)點(diǎn)數(shù)最少的節(jié)點(diǎn)作為直接父節(jié)點(diǎn)進(jìn)行關(guān)聯(lián),并將剩余節(jié)點(diǎn)作為備份父節(jié)點(diǎn)存于備份路由表中;
[0013]S13:直接父節(jié)點(diǎn)在收到待入網(wǎng)節(jié)點(diǎn)的關(guān)聯(lián)請(qǐng)求消息后為其分配16位的路由ID,并通過(guò)關(guān)聯(lián)響應(yīng)消息將IPv6子網(wǎng)前綴、網(wǎng)絡(luò)PANID—并告知給該待入網(wǎng)節(jié)點(diǎn);
[0014]S14:待入網(wǎng)節(jié)點(diǎn)收到關(guān)聯(lián)響應(yīng)消息后,進(jìn)行IPv6地址的無(wú)狀態(tài)自動(dòng)配置,隨后該節(jié)點(diǎn)以樹(shù)路由方式向網(wǎng)關(guān)發(fā)送一次新節(jié)點(diǎn)入網(wǎng)消息,轉(zhuǎn)發(fā)路徑上的節(jié)點(diǎn)對(duì)其后代節(jié)點(diǎn)數(shù)字段OFFSPRINGS進(jìn)行更新;待入網(wǎng)節(jié)點(diǎn)在收到網(wǎng)關(guān)的入網(wǎng)確認(rèn)消息時(shí)表明入網(wǎng)成功,否則,重復(fù)上述步驟;
[0015]S15:節(jié)點(diǎn)在成功入網(wǎng)后,將自身備份路由表中的備份父節(jié)點(diǎn)地址以備份父節(jié)點(diǎn)注冊(cè)消息的形式告知其直接父節(jié)點(diǎn),直接父節(jié)點(diǎn)在收到該注冊(cè)消息后,將該子節(jié)點(diǎn)的備份父節(jié)點(diǎn)地址添加到自身的路由表中,并與該子節(jié)點(diǎn)的地址形成映射關(guān)系,隨后,向該子節(jié)點(diǎn)回復(fù)注冊(cè)確認(rèn)消息,完成注冊(cè)過(guò)程;
[0016]S16:節(jié)點(diǎn)在完成注冊(cè)后,通過(guò)周期性廣播鄰居請(qǐng)求消息對(duì)自身備用父節(jié)點(diǎn)集中各節(jié)點(diǎn)的擁塞狀態(tài)進(jìn)行更新;若節(jié)點(diǎn)在本次父節(jié)點(diǎn)集擁塞度更新過(guò)程中對(duì)任意節(jié)點(diǎn)的擁塞度進(jìn)行了變更,則節(jié)點(diǎn)需要將本次更新結(jié)果通過(guò)擁塞度更新消息告知給直接父節(jié)點(diǎn),以使直接父節(jié)點(diǎn)對(duì)該子節(jié)點(diǎn)的備份父節(jié)點(diǎn)信息進(jìn)行及時(shí)更新。
[0017]進(jìn)一步,所述步驟S2具體包括以下步驟:
[0018]S21:各已入網(wǎng)節(jié)點(diǎn)以緩存空間占有率和擁塞因子周期性的進(jìn)行自身?yè)砣麢z測(cè),當(dāng)緩存空間占有率超過(guò)擁塞閥值β,且擁塞因子α>1時(shí),標(biāo)志著該節(jié)點(diǎn)出現(xiàn)擁塞,隨即該節(jié)點(diǎn)組播擁塞通告報(bào)文,該報(bào)文僅能夠被其直接父子節(jié)點(diǎn)所接受;
[0019]S22:收到上述擁塞通告報(bào)文的節(jié)點(diǎn),若為子節(jié)點(diǎn),則該子節(jié)點(diǎn)將自身的上行路由方式設(shè)置為冗余路由模式,若為父節(jié)點(diǎn),則該父節(jié)點(diǎn)將自身的下行路由方式設(shè)置為冗余路由模式。
[0020]進(jìn)一步,在步驟S22中所述的冗余路由模式具有以下特征:
[0021]S221:在上行冗余路由模式中,節(jié)點(diǎn)在傳輸上行數(shù)據(jù)時(shí),直接從自身的備份父節(jié)點(diǎn)中選擇一個(gè)擁塞度最小的節(jié)點(diǎn)進(jìn)行上行報(bào)文的傳輸;
[0022]S222:在下行冗余路由模式中,節(jié)點(diǎn)在收到下行報(bào)文后,首先判斷該報(bào)文的目的地址是否是自身?yè)砣庸?jié)點(diǎn)的后代節(jié)點(diǎn),若是,則該節(jié)點(diǎn)以本次消息的mesh目的地址作為請(qǐng)求對(duì)象,向擁塞節(jié)點(diǎn)發(fā)送一次父節(jié)點(diǎn)集信息請(qǐng)求報(bào)文,收到該報(bào)文的擁塞節(jié)點(diǎn)將下一跳節(jié)點(diǎn)的注冊(cè)備份父節(jié)點(diǎn)信息以父節(jié)點(diǎn)集信息應(yīng)答報(bào)文反饋給請(qǐng)求節(jié)點(diǎn),請(qǐng)求節(jié)點(diǎn)從反饋回的備份父節(jié)點(diǎn)信息中選擇一個(gè)擁塞度最小的節(jié)點(diǎn)進(jìn)行報(bào)文傳遞,從而避開(kāi)將數(shù)據(jù)轉(zhuǎn)發(fā)給擁塞節(jié)點(diǎn);
[0023]S223:具有IPv6報(bào)文傳輸能力的冗余路由方法通過(guò)在原適配層頭部中擴(kuò)展一個(gè)冗余地址頭來(lái)進(jìn)行路由轉(zhuǎn)發(fā),擴(kuò)展的冗余地址頭部類型標(biāo)識(shí)符分派值定義為llOOlxxx,后續(xù)字段分別為mesh目的地址緩存域、源地址緩存域和冗余目的地址緩存域,mesh目的地址緩存域和源地址緩存域用于保存當(dāng)前IPv6報(bào)文中的mesh目的地址和源地址,冗余目的地址緩存域存放待轉(zhuǎn)發(fā)的擁塞節(jié)點(diǎn)的子節(jié)點(diǎn)地址;分派值中的后3位分別表示后續(xù)各個(gè)地址域中地址類型,如最后I位若為1,則表示冗余目的地址緩存域中的地址采用的是16位的路由ID,若該位為O則采用EU1-64地址;冗余地址頭部在冗余路由模式下才被采用,當(dāng)節(jié)點(diǎn)恢復(fù)為樹(shù)路由方式時(shí),該頭部被自動(dòng)取消。
[0024]進(jìn)一步,所述步驟S3具體包括:當(dāng)節(jié)點(diǎn)擁塞得到緩解時(shí),即節(jié)點(diǎn)的緩存空間占有率〈即寸,節(jié)點(diǎn)組播擁塞解除報(bào)文,告知其父子節(jié)點(diǎn)取消相應(yīng)的冗余路由模式,進(jìn)而恢復(fù)為原有的樹(shù)型路由模式。
[0025]本發(fā)明的有益效果在于:本發(fā)明所述的方法首先基于擁塞策略構(gòu)建具有IPv6報(bào)文傳輸能力的樹(shù)型載波網(wǎng)絡(luò),具有轉(zhuǎn)發(fā)跳數(shù)少和傳輸延遲低的優(yōu)點(diǎn),在一定程度上可減小擁塞產(chǎn)生的幾率;節(jié)點(diǎn)進(jìn)行周期性擁塞檢測(cè),通過(guò)擁塞控制報(bào)文使擁塞區(qū)域附近的節(jié)點(diǎn)重新進(jìn)行流量分配,以確保報(bào)文的可靠傳輸;結(jié)合IPv6報(bào)文格式設(shè)計(jì)的冗余路由模式,使得IPv6報(bào)文在傳輸過(guò)程中能夠避開(kāi)擁塞區(qū)域以使擁塞節(jié)點(diǎn)盡快恢復(fù);該發(fā)明有效的預(yù)防和緩解了IPv6載波網(wǎng)絡(luò)中的節(jié)點(diǎn)擁塞,提高了網(wǎng)絡(luò)吞吐量和IPv6報(bào)文的傳輸可靠性。
【附圖說(shuō)明】
[0026]為了使本發(fā)明的目的、技術(shù)方案和有益效果更加清楚,本發(fā)明提供如下附圖進(jìn)行說(shuō)明:
[0027]圖1為待入網(wǎng)節(jié)點(diǎn)N對(duì)父節(jié)點(diǎn)的選?。?br>[0028]圖2為節(jié)點(diǎn)擁塞下報(bào)文的轉(zhuǎn)發(fā)控制;
[0029]圖3為冗余地址頭格式;
[0030]圖4為節(jié)點(diǎn)C處的冗余報(bào)文格式;
[0031]圖5為節(jié)點(diǎn)E處的報(bào)文格式;
[0032]圖6為本發(fā)明所述方法的流程圖。
【具體實(shí)施方式】
[0033]下面將結(jié)合附圖,對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)的描述。
[0034]圖6為本發(fā)明所述方法的流程圖,如圖所示,本方法包括以下步驟:S1:載波網(wǎng)絡(luò)節(jié)點(diǎn)自行構(gòu)建基于擁塞控制的IPv6層次轉(zhuǎn)發(fā)樹(shù)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),以減小節(jié)點(diǎn)擁塞幾率;S2:節(jié)點(diǎn)在發(fā)生擁塞時(shí),通過(guò)組播擁塞通告報(bào)文重新進(jìn)行父、子節(jié)點(diǎn)的流量分配,并結(jié)合IPv6協(xié)議,使被通告節(jié)點(diǎn)依據(jù)相應(yīng)的冗余路由尋址方法進(jìn)行消息傳遞,以將擁塞區(qū)域的流量轉(zhuǎn)移到其它負(fù)載較輕的區(qū)域從而避開(kāi)該擁塞節(jié)點(diǎn);S3:節(jié)點(diǎn)在擁塞解除后,組播擁塞解除報(bào)文使其父、子節(jié)點(diǎn)恢復(fù)為原來(lái)的流量分配模式。
[0035]具體來(lái)說(shuō):圖1為一個(gè)非信標(biāo)使能的載波網(wǎng)絡(luò),該網(wǎng)絡(luò)包含一個(gè)網(wǎng)關(guān)節(jié)點(diǎn)A,13個(gè)已入網(wǎng)節(jié)點(diǎn)B?P和一個(gè)待入網(wǎng)節(jié)點(diǎn)N。網(wǎng)絡(luò)中的已入網(wǎng)節(jié)點(diǎn)采用分段式無(wú)狀態(tài)地址分配算法為其子節(jié)點(diǎn)動(dòng)態(tài)分配一個(gè)子網(wǎng)路由ID,子節(jié)點(diǎn)結(jié)合自身路由ID和網(wǎng)絡(luò)前綴、PANID完成IPv6地址的無(wú)狀態(tài)自動(dòng)配置。樹(shù)型路由根據(jù)待轉(zhuǎn)發(fā)消息中目的地址進(jìn)行下一跳節(jié)點(diǎn)的選擇,在該路由模式控制下,任意節(jié)點(diǎn)只能在自己的父、子節(jié)點(diǎn)中進(jìn)行下一跳節(jié)點(diǎn)的選取,而不能與一跳范圍內(nèi)其它鄰居節(jié)點(diǎn)進(jìn)行直接通信。
[0036]下面將對(duì)本申請(qǐng)的IPv6電力線載波通信網(wǎng)絡(luò)擁塞控制方法進(jìn)行詳細(xì)闡述。
[0037]1、入網(wǎng)節(jié)點(diǎn)構(gòu)建負(fù)載均衡下的層次轉(zhuǎn)發(fā)樹(shù)模型
[0038]在載波節(jié)點(diǎn)入網(wǎng)過(guò)程中,首先由網(wǎng)關(guān)節(jié)點(diǎn)進(jìn)行IPv6子網(wǎng)的創(chuàng)建并生成64位的子網(wǎng)前綴,同時(shí)設(shè)置該子網(wǎng)的PANID。隨后,待入網(wǎng)節(jié)點(diǎn)進(jìn)行網(wǎng)絡(luò)發(fā)現(xiàn),并通過(guò)一系列關(guān)聯(lián)動(dòng)作完成入網(wǎng)。在待入網(wǎng)節(jié)點(diǎn)N的入網(wǎng)過(guò)程中,節(jié)點(diǎn)N通過(guò)廣播信標(biāo)請(qǐng)求消息進(jìn)行已入網(wǎng)鄰居節(jié)點(diǎn)的發(fā)現(xiàn),收到該請(qǐng)求消息的已入網(wǎng)節(jié)點(diǎn)C、節(jié)點(diǎn)D和節(jié)點(diǎn)G,通過(guò)CSMA/CA方式向請(qǐng)求節(jié)點(diǎn)N回復(fù)相應(yīng)的信標(biāo)響應(yīng)消息,該消息中包含了響應(yīng)節(jié)點(diǎn)的后代節(jié)點(diǎn)數(shù)量信息,分別為7、1、4,節(jié)點(diǎn)N在經(jīng)過(guò)信標(biāo)響應(yīng)度量閥值時(shí)間T后,從已收到的信標(biāo)響應(yīng)消息中選取后代節(jié)點(diǎn)數(shù)最小的節(jié)點(diǎn)D為父節(jié)點(diǎn),并向節(jié)點(diǎn)D發(fā)送關(guān)聯(lián)請(qǐng)求消息。節(jié)點(diǎn)D通過(guò)無(wú)狀態(tài)地址分配算法為該節(jié)點(diǎn)N分配路由ID,并將該路由ID和網(wǎng)絡(luò)前綴、PANID信息通過(guò)關(guān)聯(lián)響應(yīng)消息告知節(jié)點(diǎn)N,節(jié)點(diǎn)從關(guān)聯(lián)響應(yīng)消息中提出自己的路由ID和網(wǎng)絡(luò)信息完成IPv6地址的生成,同時(shí)將節(jié)點(diǎn)C、節(jié)點(diǎn)G作為備份節(jié)點(diǎn)即父節(jié)點(diǎn)集,并將集中節(jié)點(diǎn)地址存入自身的上行備份路由表中。
[0039]節(jié)點(diǎn)N在關(guān)聯(lián)成功后,通過(guò)父節(jié)點(diǎn)集注冊(cè)消息將備份節(jié)點(diǎn)的地址信息、擁塞度狀況告知父節(jié)點(diǎn)D,節(jié)點(diǎn)D從注冊(cè)消息中提取出子節(jié)點(diǎn)N的各備份節(jié)點(diǎn)地址、擁塞度信息存于自身的下行備份路由表中并與節(jié)點(diǎn)N的地址形成映射關(guān)系。隨后,節(jié)點(diǎn)D向網(wǎng)關(guān)發(fā)送一次新節(jié)點(diǎn)入網(wǎng)消息,包括節(jié)點(diǎn)D在內(nèi)的樹(shù)型路徑上的節(jié)點(diǎn)收到該消息后將自身后代節(jié)點(diǎn)數(shù)OFFSPRINGS字段增加I。節(jié)點(diǎn)N在收到網(wǎng)關(guān)節(jié)點(diǎn)的確認(rèn)消息后,完成入網(wǎng)過(guò)程。
[0040]節(jié)點(diǎn)N在成功入網(wǎng)后,開(kāi)始周期性廣播鄰居請(qǐng)求消息,收到該請(qǐng)求消息的鄰居節(jié)點(diǎn)將自身節(jié)點(diǎn)擁塞情況通過(guò)鄰居響應(yīng)消息廣播給該節(jié)點(diǎn),隨后,節(jié)點(diǎn)N對(duì)自身父節(jié)點(diǎn)集中各節(jié)點(diǎn)的擁塞度狀態(tài)進(jìn)行更新。若父節(jié)點(diǎn)集中任意節(jié)點(diǎn)的擁塞度進(jìn)行了變更,則向節(jié)點(diǎn)D發(fā)送一次父節(jié)點(diǎn)集更新信息,否則,只檢查父節(jié)點(diǎn)集中節(jié)點(diǎn)的可達(dá)性。
[0041 ] 2、擁塞控制過(guò)程
[0042]已入網(wǎng)節(jié)點(diǎn)周期性的進(jìn)行自身?yè)砣麢z測(cè),以緩存空間占有率(BSO)和擁塞因子(CF)作為擁塞度的綜合決策值,其中CF為接收?qǐng)?bào)文的速率與處理報(bào)文的速率的比值,當(dāng)BSO超過(guò)擁塞閥值β,且擁塞因子α>1時(shí),標(biāo)志著該節(jié)點(diǎn)出現(xiàn)擁塞,隨即該節(jié)點(diǎn)組播擁塞通告報(bào)文,該組播報(bào)文僅能夠被其直接父子節(jié)點(diǎn)所接受。如圖2所示,以擁塞節(jié)點(diǎn)G和其子節(jié)點(diǎn)K為例,節(jié)點(diǎn)G的直接父節(jié)點(diǎn)為C,節(jié)點(diǎn)K的上行備份路由表中有節(jié)點(diǎn)Ε、節(jié)點(diǎn)F,相應(yīng)的,在節(jié)點(diǎn)G的下行備份路由表中也存有子節(jié)點(diǎn)K的父節(jié)點(diǎn)集信息。當(dāng)節(jié)點(diǎn)G檢測(cè)到自身處于擁塞狀態(tài)時(shí),組播擁塞通告報(bào)文,由于各節(jié)點(diǎn)在MAC層中采用了地址過(guò)濾策略(即節(jié)點(diǎn)只接受來(lái)自自身父、子節(jié)點(diǎn)的報(bào)文),因此該組播報(bào)文僅能被節(jié)點(diǎn)G的父節(jié)點(diǎn)C和子節(jié)點(diǎn)K、L所接受。父節(jié)點(diǎn)C收到該擁塞通告報(bào)文后,將通向子節(jié)點(diǎn)G的下行路由方式設(shè)置為冗余路由模式,S卩D0WN_R0UTING_FLAG(G) = I,對(duì)其它子節(jié)點(diǎn)仍采用樹(shù)型路由(D0WN_R0UTING_FLAG(F) = 0)。子節(jié)點(diǎn)K、L收到該擁塞通告報(bào)文后,將自身上行路由方式設(shè)置為冗余路由模式,在節(jié)點(diǎn)K中有UP_ROUTING_FLAG(G) = I,節(jié)點(diǎn)L中UP_R0UTING_FLAG(G) = 10D0ffN_R0UTING_FLAG(x)、UP_ROUT ING_FLAG (x)為本節(jié)點(diǎn)到節(jié)點(diǎn)x的路由方式,默認(rèn)值為O,表示采用樹(shù)型路由模式,其值為I時(shí),表示使用冗余路由模式。
[0043 ] 各節(jié)點(diǎn)依據(jù)MAC地址頭和Me sh地址頭進(jìn)行路由尋址,其中MAC地址頭為節(jié)點(diǎn)通過(guò)路由算法計(jì)算得到的下一跳地址,Mesh地址頭中為最初源節(jié)點(diǎn)地址和最終目的節(jié)點(diǎn)地址。為了使樹(shù)型路由尋址支持冗余路由模式,在原適配層頭部中擴(kuò)展了一個(gè)冗余地址頭,如圖3所示,該地址頭用來(lái)向備份父節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)。
[0044]在冗余路由下的上行通信過(guò)程中,如節(jié)點(diǎn)M向網(wǎng)關(guān)節(jié)點(diǎn)A匯報(bào)事件時(shí),當(dāng)消息傳遞至節(jié)點(diǎn)K時(shí),由于節(jié)點(diǎn)K的父節(jié)點(diǎn)G處于擁塞,如果節(jié)點(diǎn)G再繼續(xù)接收數(shù)據(jù)將導(dǎo)致數(shù)據(jù)溢出丟失,因此,節(jié)點(diǎn)K需要選取一條非擁塞路徑將數(shù)據(jù)傳遞至目的節(jié)點(diǎn)。在節(jié)點(diǎn)K啟用上行冗余路由模式后,節(jié)點(diǎn)K首先從父節(jié)點(diǎn)集(E、F)中選取一個(gè)擁塞度最小的節(jié)點(diǎn)如E作為臨時(shí)的上行路徑,為了使節(jié)點(diǎn)K傳遞的數(shù)據(jù)能夠被節(jié)點(diǎn)E接受,節(jié)點(diǎn)K在判斷自身處于上行冗余路由模式后,直接指定MAC地址頭中的下一跳地址為節(jié)點(diǎn)E,Mesh地址頭不變,由非擁塞節(jié)點(diǎn)E完成擁塞節(jié)點(diǎn)G的上行數(shù)據(jù)分流。在下行通信過(guò)程中,如網(wǎng)關(guān)節(jié)點(diǎn)A需要向節(jié)點(diǎn)M發(fā)送數(shù)據(jù),當(dāng)數(shù)據(jù)傳至節(jié)點(diǎn)C時(shí),此時(shí)節(jié)點(diǎn)C已經(jīng)通過(guò)擁塞節(jié)點(diǎn)G組播的擁塞通告報(bào)文開(kāi)啟了下行冗余路由模式,節(jié)點(diǎn)C首先根據(jù)報(bào)文中的Mesh目的地址判斷該報(bào)文的下一跳目的節(jié)點(diǎn)G是否正常,若正常,則直接將報(bào)文傳遞給子節(jié)點(diǎn)G;如果下一跳節(jié)點(diǎn)G處于擁塞狀態(tài),則以Mesh目的地址為請(qǐng)求對(duì)象向節(jié)點(diǎn)G發(fā)送一次,向下一跳節(jié)點(diǎn)G發(fā)送一次父節(jié)點(diǎn)集信息請(qǐng)求報(bào)文,節(jié)點(diǎn)G收到該請(qǐng)求報(bào)文后,將自身傳輸該報(bào)文的下一跳節(jié)點(diǎn)K的父節(jié)點(diǎn)集信息(包括節(jié)點(diǎn)E、F的路由ID和擁塞度)告知節(jié)點(diǎn)C,請(qǐng)求節(jié)點(diǎn)C收到該報(bào)文后從該集中選取一個(gè)擁塞度最小的節(jié)點(diǎn)EHgSf點(diǎn)E較節(jié)點(diǎn)F的擁塞度小)作為轉(zhuǎn)發(fā)節(jié)點(diǎn),將帶有冗余地址頭的消息轉(zhuǎn)發(fā)至節(jié)點(diǎn)E,節(jié)點(diǎn)E將該消息處理后直接傳遞給節(jié)點(diǎn)K,最終由節(jié)點(diǎn)K以樹(shù)路由方式完成消息的下行傳遞。
[0045]在節(jié)點(diǎn)C到節(jié)點(diǎn)E的消息轉(zhuǎn)發(fā)過(guò)程中,節(jié)點(diǎn)C采用擴(kuò)展的冗余地址頭,該頭中的Mesh目的地址緩存域和源地址緩存域分別為節(jié)點(diǎn)M和節(jié)點(diǎn)A的IPv6地址,冗余目的地址緩存域?yàn)楣?jié)點(diǎn)K的IPv6地址,同時(shí)將Mesh地址頭中的目的地址和源地址分別設(shè)置為節(jié)點(diǎn)E和節(jié)點(diǎn)C的IPv6地址,然后根據(jù)樹(shù)型路由算法自動(dòng)進(jìn)行下一跳地址的計(jì)算并進(jìn)行路由轉(zhuǎn)發(fā),節(jié)點(diǎn)C發(fā)出的冗余報(bào)文格式如圖4所示。當(dāng)節(jié)點(diǎn)E收到該報(bào)文時(shí),節(jié)點(diǎn)E將Mesh地址頭中的源地址和目的地址替換為冗余地址頭中的Mesh目的地址緩存域和源地址緩存域中的地址,并將MAC地址頭中的下一跳地址替換為冗余目的地址緩存域中的地址即節(jié)點(diǎn)K的IPv6地址,然后去掉冗余地址頭,并將該報(bào)文直接發(fā)送給下一跳節(jié)點(diǎn)K,節(jié)點(diǎn)E發(fā)出的報(bào)文格式如圖5所示。節(jié)點(diǎn)K收到該報(bào)文后,根據(jù)Mesh地址頭中的目的地址并結(jié)合樹(shù)路由將此消息轉(zhuǎn)發(fā)至目的節(jié)點(diǎn),由此完成報(bào)文的傳遞。
[0046]3、擁塞控制類報(bào)文
[0047]當(dāng)節(jié)點(diǎn)處于擁塞狀態(tài)時(shí)通過(guò)組播擁塞通告報(bào)文使其父子節(jié)點(diǎn)的路由模式動(dòng)態(tài)調(diào)整,父節(jié)點(diǎn)下行路由方式D0WN_R0UTING_FLAG (x)和子節(jié)點(diǎn)的上行路由方式UP_R0UT ING_FLAG(x)被設(shè)置為冗余路由模式,而父節(jié)點(diǎn)上行路由方式和子節(jié)點(diǎn)的下行路由方式仍為樹(shù)路由模式,到相應(yīng)節(jié)點(diǎn)的路由標(biāo)志位為默認(rèn)值O。由此使得傳向擁塞節(jié)點(diǎn)的數(shù)據(jù)流量得到重新分配,使擁塞節(jié)點(diǎn)能夠盡快恢復(fù)。當(dāng)節(jié)點(diǎn)擁塞恢復(fù)后,通過(guò)組播擁塞解除報(bào)文恢復(fù)其父子節(jié)點(diǎn)的路由模式,提高轉(zhuǎn)發(fā)效率。
[0048]最后說(shuō)明的是,以上優(yōu)選實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管通過(guò)上述優(yōu)選實(shí)施例已經(jīng)對(duì)本發(fā)明進(jìn)行了詳細(xì)的描述,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,可以在形式上和細(xì)節(jié)上對(duì)其做出各種各樣的改變,而不偏離本發(fā)明權(quán)利要求書所限定的范圍。
【主權(quán)項(xiàng)】
1.一種基于IPv6的電力線載波通信網(wǎng)絡(luò)擁塞控制方法,其特征在于:該方法包括以下步驟: S1:載波網(wǎng)絡(luò)節(jié)點(diǎn)自行構(gòu)建基于擁塞控制的IPv6層次轉(zhuǎn)發(fā)樹(shù)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),以減小節(jié)點(diǎn)擁塞幾率; S2:節(jié)點(diǎn)在發(fā)生擁塞時(shí),通過(guò)組播擁塞通告報(bào)文重新進(jìn)行父、子節(jié)點(diǎn)的流量分配,并結(jié)合IPv6協(xié)議,使被通告節(jié)點(diǎn)依據(jù)相應(yīng)的冗余路由尋址方法進(jìn)行消息傳遞,以將擁塞區(qū)域的流量轉(zhuǎn)移到其它負(fù)載較輕的區(qū)域從而避開(kāi)該擁塞節(jié)點(diǎn); S3:節(jié)點(diǎn)在擁塞解除后,組播擁塞解除報(bào)文使其父、子節(jié)點(diǎn)恢復(fù)為原來(lái)的流量分配模式。2.根據(jù)權(quán)利要求1所述的一種基于IPv6的電力線載波通信網(wǎng)絡(luò)擁塞控制方法,其特征在于:所述步驟SI具體包括以下步驟: Sll:待入網(wǎng)節(jié)點(diǎn)通過(guò)廣播信標(biāo)請(qǐng)求消息,獲取一跳范圍內(nèi)已入網(wǎng)的鄰居節(jié)點(diǎn)信息,所述鄰居節(jié)點(diǎn)收到該請(qǐng)求消息后,回復(fù)信標(biāo)響應(yīng)消息給待入網(wǎng)節(jié)點(diǎn); S12:所述信標(biāo)響應(yīng)消息中包含了該鄰居節(jié)點(diǎn)自身的后代節(jié)點(diǎn)數(shù),待入網(wǎng)節(jié)點(diǎn)在信標(biāo)響應(yīng)度量閥值時(shí)間T內(nèi)對(duì)收到的信標(biāo)響應(yīng)消息進(jìn)行更新,并依據(jù)后代節(jié)點(diǎn)數(shù)建立備用父節(jié)點(diǎn)集;隨后,節(jié)點(diǎn)從該集中選出一個(gè)后代節(jié)點(diǎn)數(shù)最少的節(jié)點(diǎn)作為直接父節(jié)點(diǎn)進(jìn)行關(guān)聯(lián),并將剩余節(jié)點(diǎn)作為備份父節(jié)點(diǎn)存于備份路由表中; S13:直接父節(jié)點(diǎn)在收到待入網(wǎng)節(jié)點(diǎn)的關(guān)聯(lián)請(qǐng)求消息后為其分配16位的路由ID,并通過(guò)關(guān)聯(lián)響應(yīng)消息將IPv6子網(wǎng)前綴、網(wǎng)絡(luò)PANID—并告知給該待入網(wǎng)節(jié)點(diǎn); S14:待入網(wǎng)節(jié)點(diǎn)收到關(guān)聯(lián)響應(yīng)消息后,進(jìn)行IPv6地址的無(wú)狀態(tài)自動(dòng)配置,隨后該節(jié)點(diǎn)以樹(shù)路由方式向網(wǎng)關(guān)發(fā)送一次新節(jié)點(diǎn)入網(wǎng)消息,轉(zhuǎn)發(fā)路徑上的節(jié)點(diǎn)對(duì)其后代節(jié)點(diǎn)數(shù)字段OFFSPRINGS進(jìn)行更新;待入網(wǎng)節(jié)點(diǎn)在收到網(wǎng)關(guān)的入網(wǎng)確認(rèn)消息時(shí)表明入網(wǎng)成功,否則,重復(fù)上述步驟; S15:節(jié)點(diǎn)在成功入網(wǎng)后,將自身備份路由表中的備份父節(jié)點(diǎn)地址以備份父節(jié)點(diǎn)注冊(cè)消息的形式告知其直接父節(jié)點(diǎn),直接父節(jié)點(diǎn)在收到該注冊(cè)消息后,將該子節(jié)點(diǎn)的備份父節(jié)點(diǎn)地址添加到自身的路由表中,并與該子節(jié)點(diǎn)的地址形成映射關(guān)系,隨后,向該子節(jié)點(diǎn)回復(fù)注冊(cè)確認(rèn)消息,完成注冊(cè)過(guò)程; S16:節(jié)點(diǎn)在完成注冊(cè)后,通過(guò)周期性廣播鄰居請(qǐng)求消息對(duì)自身備用父節(jié)點(diǎn)集中各節(jié)點(diǎn)的擁塞狀態(tài)進(jìn)行更新;若節(jié)點(diǎn)在本次父節(jié)點(diǎn)集擁塞度更新過(guò)程中對(duì)任意節(jié)點(diǎn)的擁塞度進(jìn)行了變更,則節(jié)點(diǎn)需要將本次更新結(jié)果通過(guò)擁塞度更新消息告知給直接父節(jié)點(diǎn),以使直接父節(jié)點(diǎn)對(duì)該子節(jié)點(diǎn)的備份父節(jié)點(diǎn)信息進(jìn)行及時(shí)更新。3.根據(jù)權(quán)利要求1所述的一種基于IPv6的電力線載波通信網(wǎng)絡(luò)擁塞控制方法,其特征在于:所述步驟S2具體包括以下步驟: S21:各已入網(wǎng)節(jié)點(diǎn)以緩存空間占有率和擁塞因子周期性的進(jìn)行自身?yè)砣麢z測(cè),當(dāng)緩存空間占有率超過(guò)擁塞閥值β,且擁塞因子α>1時(shí),標(biāo)志著該節(jié)點(diǎn)出現(xiàn)擁塞,隨即該節(jié)點(diǎn)組播擁塞通告報(bào)文,該報(bào)文僅能夠被其直接父子節(jié)點(diǎn)所接受; S22:收到上述擁塞通告報(bào)文的節(jié)點(diǎn),若為子節(jié)點(diǎn),則該子節(jié)點(diǎn)將自身的上行路由方式設(shè)置為冗余路由模式,若為父節(jié)點(diǎn),則該父節(jié)點(diǎn)將自身的下行路由方式設(shè)置為冗余路由模式。4.根據(jù)權(quán)利要求3所述的一種基于IPv6的電力線載波通信網(wǎng)絡(luò)擁塞控制方法,其特征在于:在步驟S22中所述的冗余路由模式具有以下特征: S221:在上行冗余路由模式中,節(jié)點(diǎn)在傳輸上行數(shù)據(jù)時(shí),直接從自身的備份父節(jié)點(diǎn)中選擇一個(gè)擁塞度最小的節(jié)點(diǎn)進(jìn)行上行報(bào)文的傳輸; S222:在下行冗余路由模式中,節(jié)點(diǎn)在收到下行報(bào)文后,首先判斷該報(bào)文的目的地址是否是自身?yè)砣庸?jié)點(diǎn)的后代節(jié)點(diǎn),若是,則該節(jié)點(diǎn)以本次消息的mesh目的地址作為請(qǐng)求對(duì)象,向擁塞節(jié)點(diǎn)發(fā)送一次父節(jié)點(diǎn)集信息請(qǐng)求報(bào)文,收到該報(bào)文的擁塞節(jié)點(diǎn)將下一跳節(jié)點(diǎn)的注冊(cè)備份父節(jié)點(diǎn)信息以父節(jié)點(diǎn)集信息應(yīng)答報(bào)文反饋給請(qǐng)求節(jié)點(diǎn),請(qǐng)求節(jié)點(diǎn)從反饋回的備份父節(jié)點(diǎn)信息中選擇一個(gè)擁塞度最小的節(jié)點(diǎn)進(jìn)行報(bào)文傳遞,從而避開(kāi)將數(shù)據(jù)轉(zhuǎn)發(fā)給擁塞節(jié)占.V , S223:具有IPv6報(bào)文傳輸能力的冗余路由方法通過(guò)在原適配層頭部中擴(kuò)展一個(gè)冗余地址頭來(lái)進(jìn)行路由轉(zhuǎn)發(fā),擴(kuò)展的冗余地址頭部類型標(biāo)識(shí)符分派值定義為llOOlxxx,后續(xù)字段分別為mesh目的地址緩存域、源地址緩存域和冗余目的地址緩存域,mesh目的地址緩存域和源地址緩存域用于保存當(dāng)前IPv6報(bào)文中的mesh目的地址和源地址,冗余目的地址緩存域存放待轉(zhuǎn)發(fā)的擁塞節(jié)點(diǎn)的子節(jié)點(diǎn)地址;分派值中的后3位分別表示后續(xù)各個(gè)地址域中地址類型,如最后I位若為I,則表示冗余目的地址緩存域中的地址采用的是16位的路由ID,若該位為O則采用EU1-64地址;冗余地址頭部在冗余路由模式下才被采用,當(dāng)節(jié)點(diǎn)恢復(fù)為樹(shù)路由方式時(shí),該頭部被自動(dòng)取消。5.根據(jù)權(quán)利要求1所述的一種基于IPv6的電力線載波通信網(wǎng)絡(luò)擁塞控制方法,其特征在于:所述步驟S3具體包括:當(dāng)節(jié)點(diǎn)擁塞得到緩解時(shí),即節(jié)點(diǎn)的緩存空間占有率<β時(shí),節(jié)點(diǎn)組播擁塞解除報(bào)文,告知其父子節(jié)點(diǎn)取消相應(yīng)的冗余路由模式,進(jìn)而恢復(fù)為原有的樹(shù)型路由模式。
【文檔編號(hào)】H04L12/803GK105897605SQ201610216587
【公開(kāi)日】2016年8月24日
【申請(qǐng)日】2016年4月8日
【發(fā)明人】向敏, 何金星, 王平, 唐亮, 胡向東, 杜延紅
【申請(qǐng)人】重慶郵電大學(xué)