無線傳感器網(wǎng)絡(luò)中互聯(lián)網(wǎng)協(xié)議版本6地址的壓縮的制作方法
【專利說明】
[0001] 對相關(guān)申請的奪叉引用
[0002] 本申請要求2014年9月19日提交的美國臨時(shí)專利申請?zhí)?2/053, 002的權(quán)益,通 過引用該申請的全文將其并入本文。
技術(shù)領(lǐng)域
[0003] 本公開的實(shí)施例總體涉及無線傳感器網(wǎng)絡(luò),并且更具體地涉及這種網(wǎng)絡(luò)中互聯(lián)網(wǎng) 協(xié)議版本6 (IPv6)地址的壓縮。
【背景技術(shù)】
[0004] 無線傳感器網(wǎng)絡(luò)被部署在許多不同環(huán)境中。這種網(wǎng)絡(luò)中使用的傳感器是通常是具 有有限的存儲(chǔ)空間、計(jì)算能力和功率的低成本裝置。這些裝置的主要功能通常是獲取數(shù)據(jù), 具有的輔助功能是通過無線網(wǎng)絡(luò)實(shí)現(xiàn)對已獲取數(shù)據(jù)的通信。這些裝置的典型構(gòu)架包括微控 制器、劃分為只讀存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器的數(shù)萬字節(jié)量級的存儲(chǔ)器、低功率射頻裝置和 功率管理電路??紤]到這些裝置有限的存儲(chǔ)容量,節(jié)約使用存儲(chǔ)器非常重要。
【發(fā)明內(nèi)容】
[0005] 本公開的實(shí)施例涉及用于在無線傳感器網(wǎng)絡(luò)中管理IPv6地址的方法、設(shè)備和計(jì) 算機(jī)可讀介質(zhì)。一方面,提供一種用于在無線傳感器網(wǎng)絡(luò)中管理互聯(lián)網(wǎng)協(xié)議版本6 (IPv6) 地址的方法,該方法包括:將與密鑰相關(guān)聯(lián)的IPv6地址的前綴存儲(chǔ)在該無線傳感器網(wǎng)絡(luò)內(nèi) 的無線傳感器裝置上;形成該IPv6地址的地址指示符,該地址指示符由該密鑰和該IPv6地 址的節(jié)點(diǎn)地址組成;以及將該地址指示符存儲(chǔ)在該無線傳感器裝置上的至少一個(gè)存儲(chǔ)器位 置中以代替該IPv6地址。
[0006] -方面,提供了一種無線傳感器裝置,該無線傳感器裝置包括:存儲(chǔ)器,該存儲(chǔ)器 存儲(chǔ)用于管理互聯(lián)網(wǎng)協(xié)議版本6 (IPv6)地址的軟件指令;以及處理器,該處理器被配置成 用于執(zhí)行軟件指令,在該處理器中軟件指令的執(zhí)行將與密鑰相關(guān)聯(lián)的IPv6地址的前綴存 儲(chǔ)在該存儲(chǔ)器中;形成該IPv6地址的地址指示符,該地址指示符由該密鑰和該IPv6地址的 節(jié)點(diǎn)地址組成;以及將該地址指示符存儲(chǔ)在該存儲(chǔ)器中的至少一個(gè)位置中以代替該IPv6 地址。
[0007] -方面,提供了一種存儲(chǔ)軟件指令的非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)。當(dāng)由無線傳感器網(wǎng) 絡(luò)中的無線傳感器裝置的處理器執(zhí)行軟件指令時(shí),軟件指令使得一種用于管理互聯(lián)網(wǎng)協(xié)議 版本6 (IPv6)地址的方法被執(zhí)行。該方法包括:將與密鑰相關(guān)聯(lián)的IPv6地址的前綴存儲(chǔ)在 該無線傳感器網(wǎng)絡(luò)中的無線傳感器裝置上;形成該IPv6地址的地址指示符,該地址指示符 由該密鑰和該IPv6地址的節(jié)點(diǎn)地址組成;以及將該地址指示符存儲(chǔ)在該無線傳感器裝置 上的至少一個(gè)存儲(chǔ)器位置中以代替該IPv6地址。
【附圖說明】
[0008] 現(xiàn)在將僅以舉例方式參照附圖來描述這些具體實(shí)施例:
[0009] 圖1是基于無線傳感器網(wǎng)絡(luò)的互聯(lián)網(wǎng)協(xié)議版本6 (IPv6)的簡單示例;
[0010] 圖2是示出了 IPv6地址的示例;
[0011] 圖3和圖4是分別示出了 IPv6地址壓縮和IPv6地址解壓的示例;
[0012] 圖5示出了在示例網(wǎng)絡(luò)協(xié)議棧背景下的IPv6地址壓縮和解壓操作;以及
[0013] 圖6是示例無線傳感器裝置的簡化框圖。
【具體實(shí)施方式】
[0014] 現(xiàn)在將參看附圖詳細(xì)說明本公開的具體實(shí)施例。為了一致性,各圖中的相似元件 用相似附圖標(biāo)記。
[0015] 圖1是基于無線傳感器網(wǎng)絡(luò)的互聯(lián)網(wǎng)協(xié)議版本6 (IPv6)的簡單示例。在此示例中, 標(biāo)注為L-x的傳感器裝置是葉節(jié)點(diǎn),標(biāo)注為Int-x的裝置是中間節(jié)點(diǎn),而標(biāo)注為RootNode 的裝置是網(wǎng)絡(luò)的根節(jié)點(diǎn)并且作為互聯(lián)網(wǎng)的網(wǎng)關(guān)進(jìn)行工作。裝置到裝置的無線通信由裝置間 的"閃電"箭頭指出。中間節(jié)點(diǎn)和根節(jié)點(diǎn)可操作用于對圍繞網(wǎng)絡(luò)的通信進(jìn)行路由。每個(gè)裝 置實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議棧,用于使用IPv6地址通過無線網(wǎng)絡(luò)通信。
[0016] IPv6地址的長度是128位并且可以用十六進(jìn)制計(jì)數(shù)法表示為"xxxx:xxxx:xxxx:x XXX : XXXX : XXXX : XXXX : XXXX ",其中每個(gè)" X "代表一個(gè)十六進(jìn)制數(shù)字,每四個(gè)數(shù)字為一組代表 兩個(gè)字節(jié),如" 0000: FFE0:0000:0003: FFFF: FFFF: FFFC: 00FD "。因此,存儲(chǔ)完整的 IPv6 地址 需要十六個(gè)字節(jié)的內(nèi)存。此處,在IPv6地址中,兩個(gè)十六進(jìn)制數(shù)字為一組可被稱作是一個(gè) 八位字節(jié)。網(wǎng)絡(luò)協(xié)議棧的實(shí)現(xiàn)可能需要將IPv6地址存儲(chǔ)在裝置上的多個(gè)位置中,如網(wǎng)絡(luò)表 格條目中。本公開的實(shí)施例中,裝置按照本文所描述的壓縮IPv6地址并且將壓縮版本存儲(chǔ) 在一個(gè)或更多個(gè)多位置中,而不是存儲(chǔ)完整的IPv6地址。當(dāng)需要完整的IPv6地址來進(jìn)行 網(wǎng)絡(luò)通信時(shí),該裝置按照本文描述的解壓壓縮的地址。
[0017] 在IPv6地址中,具有N個(gè)高階八位字節(jié)的前綴指定一個(gè)特定網(wǎng)絡(luò),并且剩余的八 位字節(jié)指定該網(wǎng)絡(luò)內(nèi)的地址。從而,該網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的地址可有一個(gè)具有N個(gè)八位字節(jié) 的公共前綴。前綴的大小基于網(wǎng)絡(luò)的地址空間的要求。例如,如在圖2的示例中所示出的, 如果在網(wǎng)絡(luò)中能夠被尋址的節(jié)點(diǎn)的最大數(shù)量是256,則該網(wǎng)絡(luò)中的節(jié)點(diǎn)地址的公共前綴是 120個(gè)高階位,即高階15個(gè)八位字節(jié)。進(jìn)一步的,最后一個(gè)八位字節(jié)唯一地標(biāo)識網(wǎng)絡(luò)中的節(jié) 點(diǎn),即最后一個(gè)八位字節(jié)是節(jié)點(diǎn)地址。
[0018] 在IPv6地址壓縮和解壓的一些實(shí)施例中,假定無線傳感器網(wǎng)絡(luò)內(nèi)所有IPv6地址 的前綴是高階的,即最高階15個(gè)八位字節(jié)。圖3和圖4是分別示出了假定前綴是高階15 個(gè)八位字節(jié)時(shí)IPv6地址壓縮和IPv6地址解壓的示例。首先參照圖3,為了在傳感器裝置上 壓縮IPv6地址300,地址的15個(gè)八位字節(jié)的前綴被存儲(chǔ)在該傳感器裝置的存儲(chǔ)器的前綴表 302中。存儲(chǔ)該前綴的表?xiàng)l目索引充當(dāng)標(biāo)識該前綴的密鑰。如果地址的前綴已經(jīng)被存儲(chǔ)在 該前綴表中,則該密鑰被返回。而后,8位密鑰和地址的最后一個(gè)八位字節(jié)被序連以產(chǎn)生16 位的IPv6地址指示符304, IPv6地址指示符304被存儲(chǔ)在其中本來會(huì)存儲(chǔ)完整IPv6地址 的裝置上的任意位置中。在一些實(shí)施例中,最后一個(gè)八位字節(jié)是地址指示符的頭八位,而密 鑰是地址指示符的后八位;在其他實(shí)施例中,這個(gè)順序是相反的。注意,不是將一個(gè)128位 的地址存儲(chǔ)在多個(gè)位置中,而是將一個(gè)16位的地址指示符存儲(chǔ)在多個(gè)位置中,每個(gè)位置節(jié) 省了 112位。
[0019] 現(xiàn)在參照圖4,為了解壓在傳感器裝置上的地址指示符304,逆向壓縮循環(huán)。地址 指不符304中的如綴密鑰被用于定位如綴表302中的相關(guān)聯(lián)如綴。標(biāo)識的如綴與地址指不 符304中的最后一個(gè)八位字節(jié)序連以重新產(chǎn)生完整的IPv6地址300。
[0020] 在具體傳感器裝置上待存儲(chǔ)的IPv6地址的數(shù)量可以變化。例如,在圖1的網(wǎng)絡(luò)中, 為了從網(wǎng)絡(luò)中路由出傳感器數(shù)據(jù),葉節(jié)點(diǎn)可存儲(chǔ)相關(guān)聯(lián)中間節(jié)點(diǎn)地址和根節(jié)點(diǎn)地址。例如, 葉裝置L-12可存儲(chǔ)中間裝置Int-ΙΙ的IPv6地址和RootNode裝置的IPv6地址。然而,因 為葉裝置L-6與中間節(jié)點(diǎn)不相關(guān)聯(lián),該裝置僅僅可存儲(chǔ)根節(jié)點(diǎn)的IPv6地址。在一些實(shí)施例 中,葉節(jié)點(diǎn)也可知道鄰居節(jié)點(diǎn)并且可存儲(chǔ)這些節(jié)點(diǎn)的IPv6地址。例如,在這些實(shí)施例中,葉 裝置L-10可存儲(chǔ)葉裝置L-9、L-8和L-7的IPv6地址以及中間裝置Int-3和RootNode裝 置的IPv6地址。
[0021] 中間節(jié)點(diǎn)為相關(guān)聯(lián)葉節(jié)點(diǎn)執(zhí)行路由功能,并且因此可能需要存儲(chǔ)該相關(guān)聯(lián)葉節(jié)點(diǎn) 和根節(jié)點(diǎn)的IPv6地址。例如,在圖1的網(wǎng)絡(luò)中,中間裝置Int-ΙΙ可存儲(chǔ)相關(guān)聯(lián)葉裝置L-11 和L-12的地址,并且中間裝置Int-5可存儲(chǔ)中間裝置Int-ΙΙ的地址。根節(jié)點(diǎn)也執(zhí)行路由功 能并且充當(dāng)互聯(lián)網(wǎng)的網(wǎng)關(guān)。在一些實(shí)施例中,根節(jié)點(diǎn)可存儲(chǔ)網(wǎng)絡(luò)中所有節(jié)點(diǎn)的IPv6地址。
[0022] 如之前所提到的,無線傳感器網(wǎng)絡(luò)中的裝置實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議棧。圖5示出了在示例 網(wǎng)絡(luò)協(xié)議棧背景下上述IPv6地址壓縮和解壓操作。兩個(gè)裝置500、502上的示例網(wǎng)絡(luò)協(xié)議 棧包括應(yīng)用層504、524,網(wǎng)絡(luò)層508