一種無線局域網(wǎng)中ip地址動(dòng)態(tài)分配方法
【專利摘要】本發(fā)明公開了一種無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方法,利用協(xié)議中周期性廣播的HELLO包來傳送IP地址,每個(gè)節(jié)點(diǎn)建立表格來存儲(chǔ)IP和MAC的對應(yīng)關(guān)系,節(jié)點(diǎn)在收到HELLO包時(shí),判斷HELLO包攜帶的IP地址是否和表中的沖突,沖突則發(fā)送沖突通知給沖突節(jié)點(diǎn),沖突節(jié)點(diǎn)重新生成IP地址,并丟棄此HELLO包;反之,繼續(xù)處理HELLO包。本發(fā)明將IP分配與L2MPM協(xié)議結(jié)合,實(shí)現(xiàn)了動(dòng)態(tài)IP分配及沖突檢測和解決的方法;采用了新的HELLO包幀結(jié)構(gòu)和沖突通知包結(jié)構(gòu);實(shí)現(xiàn)了基于L2MPM協(xié)議的WMN網(wǎng)絡(luò)中動(dòng)態(tài)IP配置。本發(fā)明的方法簡單,操作方便,較好的解決了現(xiàn)有技術(shù)基于L2MPM協(xié)議搭建的拓?fù)涫莿?dòng)態(tài)變化的,維護(hù)網(wǎng)絡(luò)結(jié)構(gòu)的分群本身工作量很大,不適合節(jié)點(diǎn)移動(dòng)快,拓?fù)渥兓瘎×揖W(wǎng)絡(luò)的問題。
【專利說明】一種無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于局域網(wǎng)【技術(shù)領(lǐng)域】.,尤其涉及一種無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方 法。
【背景技術(shù)】
[0002] 任何一種網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)通信的前提都是具有全網(wǎng)唯一的IP地址,WMN也不例 夕卜,通信兩端節(jié)點(diǎn)必需有不同IP地址。小規(guī)模的應(yīng)用可以手動(dòng)配置IP地址,但網(wǎng)絡(luò)規(guī)模變 大時(shí),手動(dòng)配置就顯得無能為力,因此需要設(shè)計(jì)適合L2MPM協(xié)議的動(dòng)態(tài)IP分配方法,以方便 基于L2MPM協(xié)議的WMN部署。
[0003] 前人提出在進(jìn)行地址分配之前,對網(wǎng)絡(luò)的所有節(jié)點(diǎn)進(jìn)行分群,把一組相距小于或 等于r跳的節(jié)點(diǎn)劃分為一個(gè)群,選舉鄰居節(jié)點(diǎn)數(shù)最多的節(jié)點(diǎn)作為群首節(jié)點(diǎn),孤立節(jié)點(diǎn)可自 立為群首。群內(nèi)所有節(jié)點(diǎn)共同構(gòu)成一個(gè)子網(wǎng),群首節(jié)點(diǎn)負(fù)責(zé)選擇一個(gè)子網(wǎng)ID,并且在所有群 首節(jié)點(diǎn)中進(jìn)行Duplicate Address Detection (DAD)檢測以保證該子網(wǎng)ID的唯一性。在子 網(wǎng)ID確定下來以后,群首向群內(nèi)節(jié)點(diǎn)周期性地廣播Router Advertisements(RA)消息,消 息中包含子網(wǎng)ID。新加入節(jié)點(diǎn)先隨機(jī)產(chǎn)生一個(gè)本地鏈路地址,并在群內(nèi)進(jìn)行DAD檢測,如果 檢測到?jīng)]有沖突,則將該本地鏈路地址和接收到的RA中的子網(wǎng)ID合成節(jié)點(diǎn)地址,否則重新 選取地址,并重復(fù)上述過程。該算法實(shí)現(xiàn)了網(wǎng)絡(luò)結(jié)構(gòu)的分群,將本地鏈路地址的DAD檢測限 制在群內(nèi),而ID的DAD檢測限制在群首之間,降低了協(xié)議開銷。
[0004] 現(xiàn)有技術(shù)基于L2MPM協(xié)議搭建的拓?fù)涫莿?dòng)態(tài)變化的,維護(hù)網(wǎng)絡(luò)結(jié)構(gòu)的分群本身是 一筆不小的開銷,該算法不適合節(jié)點(diǎn)移動(dòng)快,拓?fù)渥兓瘎×业木W(wǎng)絡(luò)。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于提供一種無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方法,旨在解決現(xiàn)有 技術(shù)基于L2MPM協(xié)議搭建的拓?fù)涫莿?dòng)態(tài)變化的,維護(hù)網(wǎng)絡(luò)結(jié)構(gòu)的分群本身工作量很大,不 適合節(jié)點(diǎn)移動(dòng)快,拓?fù)渥兓瘎×揖W(wǎng)絡(luò)的問題。
[0006] 本發(fā)明是這樣實(shí)現(xiàn)的,一種無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方法,該無線局域網(wǎng)中 IP地址動(dòng)態(tài)分配方法利用協(xié)議中周期性廣播的HELLO包來傳送IP地址,每個(gè)節(jié)點(diǎn)建立表格 來存儲(chǔ)IP和MAC的對應(yīng)關(guān)系,節(jié)點(diǎn)在收到HELLO包時(shí),判斷HELLO包攜帶的IP地址是否和 表中的沖突,沖突則發(fā)送沖突通知給沖突節(jié)點(diǎn),沖突節(jié)點(diǎn)重新生成IP地址,并丟棄此ffiLLO 包;反之,繼續(xù)處理ffiLLO包。
[0007] 進(jìn)一步,該無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方法包括兩個(gè)新的幀結(jié)構(gòu)和一個(gè)新的 發(fā)送/接收函數(shù)。
[0008] 進(jìn)一步,幀結(jié)構(gòu)包括:
[0009] 包類型:標(biāo)識(shí)HELLO消息;
[0010] Version :收到的HELLO消息的版本號(hào)與自己的Version相同則處理,不同則丟 棄;
[0011] ITL :HELLO 消息生存期;
[0012] 標(biāo)識(shí):標(biāo)識(shí)直接鄰居、雙向鏈路、可視化;
[0013] Initiator IP地址:產(chǎn)生HELLO消息的節(jié)點(diǎn)的IP地址;
[0014] Seq :HELL0 消息的新舊;
[0015] Initiator MAC地址:產(chǎn)生HELLO消息的接口地址;
[0016] Sender MAC地址:轉(zhuǎn)發(fā)HELLO消息的節(jié)點(diǎn)的MAC地址;
[0017] flag :標(biāo)識(shí)是否是網(wǎng)關(guān)節(jié)點(diǎn);
[0018] qos :鏈路質(zhì)量;
[0019] 沖突通知包格式:
[0020] 頭部:L2MPM協(xié)議頭部;
[0021] 標(biāo)識(shí):沖突通知包標(biāo)識(shí);
[0022] IP地址:沖突的IP地址;
[0023] Dst :沖突節(jié)點(diǎn)的MAC地址;
[0024] Src :發(fā)送沖突通知的節(jié)點(diǎn)的MAC地址。
[0025] 進(jìn)一步,新的發(fā)送/接收函數(shù)如下:
[0026] 新定義的發(fā)送沖突通知函數(shù)格式如下:
[0027] L2MPM_send_collimsg (structL2MPM_pri*m_pri, -be32ip, uint8_t*mac);
[0028] 新定義的接收沖突通知函數(shù)格式如下:
[0029] L2MPM_receive_collimsg(struct sk_buff*skb,struct L2MPM_port*receive_ if) 〇
[0030] 本發(fā)明的另一目的在于提供一種所述的無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方法在基 于WIFI的WMN場景的應(yīng)用。
[0031] 本發(fā)明提供的無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方法,通過周期性廣播攜帶節(jié)點(diǎn)IP 地址的HELLO包將IP地址分配與L2MPM協(xié)議結(jié)合,實(shí)現(xiàn)動(dòng)態(tài)IP分配,解決了大規(guī)模網(wǎng)絡(luò)中 IP分配問題;每個(gè)節(jié)點(diǎn)收到HELLO包后提取其中IP地址和MAC地址,與存儲(chǔ)表中的IP和 MAC條目比較,若存在沖突,節(jié)點(diǎn)發(fā)送沖突通知給沖突節(jié)點(diǎn),通知其重新選擇IP,實(shí)現(xiàn)了沖 突檢測并解決沖突,使網(wǎng)絡(luò)中節(jié)點(diǎn)擁有全網(wǎng)唯一 IP ;采用了新的ffiLLO包幀結(jié)構(gòu)和沖突通 知包結(jié)構(gòu),突破傳統(tǒng)IP分配方法,減小網(wǎng)絡(luò)開銷;實(shí)現(xiàn)了基于L2MPM協(xié)議的WMN網(wǎng)絡(luò)中動(dòng)態(tài) IP分配,解決拓?fù)渥兓瘎×业木W(wǎng)絡(luò)的IP地址分配問題。本發(fā)明的方法簡單,操作方便,較好 的解決了現(xiàn)有技術(shù)基于L2MPM協(xié)議搭建的拓?fù)涫莿?dòng)態(tài)變化的,維護(hù)網(wǎng)絡(luò)結(jié)構(gòu)的分群本身工 作量很大,不適合節(jié)點(diǎn)移動(dòng)快,拓?fù)渥兓瘎×揖W(wǎng)絡(luò)的問題,使得WMN部署更簡單化,自動(dòng)化。
【專利附圖】
【附圖說明】
[0032] 圖1是本發(fā)明實(shí)施例提供的無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方法流程圖;
[0033] 圖2是本發(fā)明實(shí)施例提供的Init函數(shù)流程圖;
[0034] 圖3是本發(fā)明實(shí)施例提供的RandIP函數(shù)流程圖;
[0035] 圖4是本發(fā)明實(shí)施例提供的ConfiglP函數(shù)流程圖;
[0036] 圖5是本發(fā)明實(shí)施例提供的檢測IP沖突記錄文件流程圖;
[0037] 圖6是本發(fā)明實(shí)施例提供的HELLO包處理流程圖。
【具體實(shí)施方式】
[0038] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施例,對本發(fā)明 進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于 限定本發(fā)明。
[0039] 下面結(jié)合附圖及具體實(shí)施例對本發(fā)明的應(yīng)用原理作進(jìn)一步描述。
[0040] 如圖1所示,本發(fā)明實(shí)施例的無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方法包括以下步驟:
[0041] 步驟一,從程序參數(shù)列表中解析出需要的參數(shù),并建立對IP記錄文件變化的監(jiān)控 機(jī)制;
[0042] 步驟二,節(jié)點(diǎn)隨機(jī)選擇一個(gè)IP并通過ifconfig配置IP地址,將IP地址填充到 HELLO包中通知給其它節(jié)點(diǎn);
[0043] 步驟三,檢測IP沖突記錄文件是否有改動(dòng),若有則讀取文件中改動(dòng)的IP地址,與 之前隨機(jī)選擇的IP比較是否相同,相同則重新隨機(jī)選擇并配置,不相同則不做處理。
[0044] 本發(fā)明的工作原理:
[0045] 本發(fā)明利用協(xié)議中周期性廣播的HELLO包來傳送IP地址,并建立表格來存儲(chǔ)IP 和MAC的對應(yīng)關(guān)系,在收到HELLO包時(shí),判斷其中攜帶的IP地址是否和表中的沖突,若沖突 則發(fā)送沖突通知給沖突節(jié)點(diǎn),沖突節(jié)點(diǎn)重新生成IP地址,并丟棄此HELLO包;反之,繼續(xù)處 理HELLO包。該方法適用于使用基于WIFI的WMN場景。
[0046] 本發(fā)明包括兩個(gè)新的幀結(jié)構(gòu)和一個(gè)新的發(fā)送/接收函數(shù):
[0047] (1)新的幀結(jié)構(gòu):如表1和表2所示
[0048] 表1HELL0消息的一般格式
[0049]
【權(quán)利要求】
1. 一種無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方法,其特征在于,該無線局域網(wǎng)中IP地址動(dòng) 態(tài)分配方法利用協(xié)議中周期性廣播的肥化0包來傳送IP地址,每個(gè)節(jié)點(diǎn)建立表格來存儲(chǔ)IP 和MAC的對應(yīng)關(guān)系,節(jié)點(diǎn)在收到肥LLO包時(shí),判斷肥LLO包攜帶的IP地址是否和表中的沖 突,沖突則發(fā)送沖突通知給沖突節(jié)點(diǎn),沖突節(jié)點(diǎn)重新生成IP地址,并丟棄此肥LLO包;反之, 繼續(xù)處理肥LLO包。
2. 如權(quán)利要求1所述的無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方法,其特征在于,該無線局域 網(wǎng)中IP地址動(dòng)態(tài)分配方法包括兩個(gè)新的帖結(jié)構(gòu)和一個(gè)新的發(fā)送/接收函數(shù)。
3.如權(quán)利要求2所述的無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方法,其特征在于,帖結(jié)構(gòu)包 括: 包類型;標(biāo)識(shí)肥LLO消息; Version ;收到的肥LLO消息的版本號(hào)與自己的Version相同則處理,不同則丟棄; TTL出ELL0消息生存期; 標(biāo)識(shí);標(biāo)識(shí)直接鄰居、雙向鏈路、可視化; Initiator IP地址;產(chǎn)生肥LL0消息的節(jié)點(diǎn)的IP地址; Seq出ELL0消息的新舊; Initiator MAC地址;產(chǎn)生肥LL0消息的接口地址; SenderMAC地址;轉(zhuǎn)發(fā)HELLO消息的節(jié)點(diǎn)的MAC地址;flag ;標(biāo)識(shí)是否是網(wǎng)關(guān)節(jié)點(diǎn); qos ;鏈路質(zhì)量; 沖突通知包格式: 頭部;L2MPM協(xié)議頭部; 標(biāo)識(shí);沖突通知包標(biāo)識(shí); IP地址;沖突的IP地址; 化t ;沖突節(jié)點(diǎn)的MAC地址; Src ;發(fā)送沖突通知的節(jié)點(diǎn)的MAC地址。
4.如權(quán)利要求2所述的無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方法,其特征在于,新的發(fā)送/ 接收函數(shù)如下: 新定義的發(fā)送沖突通知函數(shù)格式如下: L2MPM_send_col1imsg(struct L2MPM_pri*m_pri,一be32ip, uint8_t*mac); 新定義的接收沖突通知函數(shù)格式如下: L2MPM_receive_collimsg(struct sk_buff*skb, struct L2MPM_port*receive_if)。
5. -種如權(quán)利要求1-4任意一項(xiàng)所述的無線局域網(wǎng)中IP地址動(dòng)態(tài)分配方法在基于 WIFI的WMN場景的應(yīng)用。
【文檔編號(hào)】H04L29/12GK104468867SQ201410829938
【公開日】2015年3月25日 申請日期:2014年12月26日 優(yōu)先權(quán)日:2014年12月26日
【發(fā)明者】劉乃安, 陳晨, 王在剛, 郭峰 申請人:陳晨, 劉乃安