999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

IPv6物聯網層次轉發體系中的地址壓縮

2016-06-30 07:32:03陳文龍肖永康魏云剛
計算機研究與發展 2016年4期

肖 融 孫 波 陳文龍 肖永康 魏云剛

1(北京師范大學信息科學與技術學院 北京 100875)2(首都師范大學信息工程學院 北京 100048)(xiaorong@bnu.edu.cn)

IPv6物聯網層次轉發體系中的地址壓縮

肖融1孫波1陳文龍2肖永康1魏云剛1

1(北京師范大學信息科學與技術學院北京100875)2(首都師范大學信息工程學院北京100048)(xiaorong@bnu.edu.cn)

摘要作為“互聯網+”計劃的重要組成部分,物聯網廣泛應用于人類社會的各個方面.IPv6節點標識是物聯網大規模部署的基礎.然而,128 b的IPv6地址卻給資源受限的物聯網增加了存儲、帶寬等代價.面向物聯網層次轉發體系,設計了IACH地址壓縮機制,包括:去除尾部無效尋徑信息、地址剝離、地址擴展等.接著,提出了地址映射機制,將外部無規律的IPv6地址映射成物聯子網虛擬地址,使其可應用上述IACH機制進行壓縮.該機制與現有6LoWPAN兼容.實驗及性能分析表明:IACH可大幅提升物聯網報文傳輸的有效負載比例.對于相同長度的IP上層負載,IACH轉發時延略低于標準6LoWPAN.

關鍵詞物聯網;層次轉發;地址壓縮;IPv6;地址映射

“互聯網+”計劃正迅速推動社會各行業的互聯網進程,而物聯網是“互聯網+”最核心的技術之一,它在智慧城市、物流管理、環境監測等多個方面發揮重要作用.物聯網部署與現有互聯網的廣泛融合[1],對物聯網體系結構的統一性及規范性提出了更高的要求.一體化節點標識是物聯網技術規范化、標準化的基礎,IPv6地址充當物聯網節點標識是大勢所趨.然而,IPv6地址也給資源受限的物聯網帶來了新的難題,128 b的地址格式使得物聯網節點在存儲、處理、協議帶寬等多個方面增加了代價.所以,物聯網環境中的IPv6地址壓縮機制研究極為重要.現有6LoWPAN[2]的地址壓縮技術雖能有效壓縮IPv6地址存儲,但其在壓縮對象的范圍及可擴展等方面略顯不足.

IPv6物聯網轉發體系以層次樹為主,例如RPL協議[3],它已在典型物聯網操作系統中實現[4-5].文獻[6]為了提升自愈、可擴展等路由性能,設計了一種IPv6輕量級樹型層次轉發模型TFAD.本文針對TFAD提出了層次結構地址壓縮機制(IPv6 address compression based on hierarchical structure, IACH).它利用層次結構中父子節點IPv6地址的繼承關系,設計轉發過程中IP地址的壓縮存儲機制,以最經濟的代價提供IPv6節點標識.主要壓縮方法包括:去除尾部“0”值無效尋徑信息;下行傳輸時的IPv6地址剝離技術;上行傳輸時的IPv6地址擴展技術.另一方面,由于訪問物聯子網的外部IPv6地址范圍大、無特定規律,導致IP地址壓縮困難.提出了基于網關的地址映射機制,將外部IPv6地址映射成物聯子網虛擬地址,再應用前述IPv6地址壓縮機制對虛擬地址進行壓縮.地址映射只在資源豐富、處理能力較強的的網關(根節點)實施,對于通信過程中的其它物聯網節點完全透明.而且,IACH機制基于6LoWPAN協議擴展設計實現,兼容現有6LoWPAN功能.基于真實節點的實驗及性能分析表明:IACH地址壓縮機制大幅增加了物聯網數據傳輸的有效負載比例;對于相同長度的IP上層負載,IACH轉發處理時延略低于標準6LoWPAN.

1相關研究

IEEE 802.15.4標準[10]描述了低速無線個域網(low-rate wireless personal area network, LR-WPAN)的物理層及媒體接入控制層協議規范,其協議復雜度較低、運行成本小,適合傳感節點間的低帶寬傳輸.基于802.15.4的IPv6報文傳輸面臨的一個重要問題是:鏈路層傳輸的每個數據幀承載的有效數據太少.802.15.4協議幀長度不超過127 B,鏈路層MAC幀頭最大為25 B,MAC安全頭最大為21 B.每個數據幀中IP報文只有少量的存儲空間.考慮40 B的IPv6報頭以及傳輸層頭部信息(TCP為20 B、UDP為8 B),應用層協議所能傳輸的信息就極為有限.所以,基于802.15.4的IPv6報文傳輸必須使用壓縮技術提高傳輸性能.

此前的IP壓縮技術研究,如ROHC[11],主要基于有狀態的數據流進行壓縮,核心思想是去除報文中屬于同一數據流的公共信息.這種壓縮技術只對生存期較長的數據流有意義,不適用數據傳輸少且不太頻繁的低功耗有損網絡.最初基于802.15.4的IP壓縮技術由文獻[12]提出,包括HC1和HC2算法.之后,壓縮技術又由文獻[13]優化擴展:使用共享上下文對全局地址壓縮、對流量類別和流標簽單獨壓縮.6LoWPAN工作組針對IPv6頭部提出的LOWPAN_IPHC編碼格式是目前最被各界認可的壓縮算法.

6LoWPAN壓縮技術主要實施3個方面的工作:1)去除不同協議層之間的冗余信息;2)省略IPv6頭部中基本不變化的字段或壓縮取值范圍較小的字段;3)利用共享上下文信息,壓縮部分傳輸內容.

6LoWPAN存在如下局限或不足:1)只對無狀態自動生成的全局IPv6地址或本地鏈路地址(Link local地址)壓縮效果較好.Link local地址只在單跳鏈路傳輸時使用,使用范圍很小;而無狀態自動全局IPv6地址沒有層次性,在物聯子網中無法基于子樹進行地址聚合,無法支撐高效的層次路由.2)沒有提供物聯子網外部IPv6地址的壓縮方法.LOWPAN_IPHC規范中,對于外部地址,如果基于上下文狀態可壓縮至64 b,否則就只能攜帶128 b完整地址傳輸,壓縮效果不理想.3)壓縮機制的可擴展性不強.該規范對主機位給出了典型長度的限制,如64 b或16 b,不支持更靈活的長度變化.本文工作在以上3個方面進行了改進或優化.

無論是早期的無線傳感器網絡還是現在的物聯網,層次體系都是最廣泛使用的路由轉發結構[14].層次結構中,物聯網節點被劃分成多個小組,每組的組員節點與組頭節點嚴格遵循層次隸屬關系,組員總是通過組頭與外部進行通信.RPL路由體系[2]與廣泛使用的分簇路由[15]都屬于層次路由.作者前期完成的輕量級樹型層次轉發模型TFAD[5],支持IPv6地址在子樹范圍內高度聚合,并提供了故障后快速恢復機制,本文工作正是基于TFAD展開.

2地址壓縮模型

首先對TFAD模型進行簡要介紹.TFAD層次轉發樹中,根節點被稱為網關節點,如圖1中的節點1.網關節點的層數為0,各節點的層數等于其父節點的層數加1.層數為最大層次數Lmax的節點稱為底層節點,否則稱為非底層節點.每一層兄弟節點的IPv6地址通過層次比特位(layer bit,LB)進行標識.圖1是一個層次轉發結構示例,該轉發樹的層次比特位為8 b,通過層次比特位的不同取值來標識各自的子樹.如節點2~4的層次比特位為IPv6地址的第65~72位,分別取值0x01,0x02,0xFF標識不同的子樹;節點5,6的層次比特位為IPv6地址的第73~80位.另外,每個節點繼承了父輩節點的地址范圍,在父節點地址范圍的尾部加上自己的層次比特位,就是該節點的地址范圍.例如,節點3的子樹地址范圍為“2500::0200:0:0:072”,節點5繼承父節點3的地址范圍,再加上自身的層次比特位0x01,其子樹地址范圍為“2500::0201:0:0:080”.每個節點的地址是在自己的地址范圍后面加0補足128位即可自動生成,節點3地址為“2500::0200:0:0:064”,節點5地址為“2500::0201:0:0:064”.

Fig. 1 Example of hierarchical forwarding tree.圖1 層次轉發樹示例

定義1. 有效尋徑地址位.層次轉發樹中,從網關節點到節點Ni各級層次比特位組成的部分被稱為節點Ni地址的有效尋徑地址位VA(valid address bits for routing),它在層次轉發樹中可唯一標識節點.VA占用的位數被稱為有效尋徑地址位數VAN(VAnumber).本文地址體系中,有:0

圖1中,節點3的VA=0x02,VAN=8;節點12的VA=0x020101FF,VAN=32.圖2是圖1的簡化圖,只保留了節點的有效尋徑地址位.

Fig. 2 Simplified structure of hierarchical forwarding tree.圖2 層次轉發樹簡化結構

對節點有效尋徑地址位的長度進行分析,令物聯子網節點轉發樹所支持的最大層次數為Lmax,任一節點Ni所在層數為Ni.lay,令第j層的層次比特位為LB[j].n,則節點Ni的有效尋徑地址位數為

(1)

顯然,層次轉發樹中層數越小的節點,對應VAN值越小,底層節點(層數為Lmax)的VAN值最大.

節點標識的核心功能就是網絡尋徑,為確保物聯子網內針對節點的尋徑能正常進行,給出地址壓縮的基本原則:1)針對源地址,需確保最終收到該報文的節點能獲得源節點全部有效尋徑地址位,保證反向尋徑能正常完成;2)針對目的地址,報文首次出現在物聯子網時,目的地址擁有目的節點完整的有效尋徑地址位,確保報文順利傳輸到達目的節點.

LACH壓縮機制的相關定義如下:

定義2. 地址剝離.將16進制原始地址信息AB,剝離高位部分信息A,定義為Addr_strip(AB,A).例如Addr_strip(0x1234,0x12)=0x34.

定義3. 地址擴展.在16進制原始地址信息A的前面增加16進制信息B,定義為Addr_extend(A,B).例如Addr_extend(0x3456,0x12)=0x123456.

定義4. 去除尾部0值.將16進制原始地址信息A末尾的k個位的0值去掉,定義為Addr_tail0_del(A,k).例如:

Addr_tail0_del(0x12340000,16)=0x1234.

定義5. 補足尾部0值.在16進制原始地址信息A的末尾,添加k個位的0值,定義為Addr_tail0_add(A,k).例如Addr_tail0_add(0x1234,16)=0x12340000.

定義6. 頂點轉發.樹型結構的物聯子網內部傳輸時,由上行轉為下行的轉發處理,被稱為頂點轉發.

基于上述定義,提出了報文在物聯子網傳輸過程中的3種IPv6地址壓縮機制.

壓縮技術2:報文中目的IPv6地址剝離技術.包括以下規則:1)IPv6報文在樹型拓撲下行傳輸(向葉子節點方向)過程中,每經過1個轉發節點,報文目的IPv6地址便可去除1段層次比特位;2)若外部報文經過網關(即根節點)向子網內部轉發,則剝離目的IPv6地址的64位物聯子網網絡前綴;3)頂點轉發(上行轉下行)時,報文目的IPv6地址要剝離頂點節點的有效尋徑地址位.

層次轉發樹的下行傳輸尋徑,本質上就是逐層根據報文目的IPv6地址中的層次比特位定位子樹.對于已經完成匹配的地址信息,后續傳輸中可以將其從IP信息中剝離出來,從而實現IPv6傳輸的實時地址壓縮.可以看出,層次轉發樹下行傳輸中,某節點Ni收到報文的目的IPv6地址信息中,只包含節點Ni及后續子孫節點的層次比特位.

以圖2舉例,節點8向節點12發送報文,初始報文的目的地址為節點12的完整有效尋徑地址位:0x020101FF.節點5做頂點轉發,剝離目的地址中節點5的有效尋徑地址位0x0201,變為0x01FF.此后,節點7轉發時從目的IP中剝離其層次比特位0x01,節點12收到報文的目的IP為0xFF.

壓縮技術3:報文IPv6源地址擴展技術.包括以下規則:1)IPv6報文在樹型拓撲上行傳輸(向根節點方向)過程中,每經過1個轉發節點,源IPv6地址擴展1段層次比特位;2)若經根節點向子網外部轉發,則對源IPv6地址增加64位物聯子網前綴;3)頂點轉發時,報文源IPv6地址需擴展頂點節點的有效尋徑地址位.

報文的上行傳輸是逐層向父節點轉發報文的過程,發送節點的IP地址正是由這些祖輩節點的層次比特位組成.所以,報文源IP地址可以在上行傳輸過程中由祖輩節點逐級擴展,從而實現IP地址信息的最小化存儲.

圖2中,節點12向節點8發送報文,上行傳輸時初始源IPv6地址為0xFF.經節點7轉發后,報文源地址擴展為0x01FF.接著,在節點5實施頂點轉發,源地址需增加節點5的有效尋徑地址,擴展為0x020101FF.

3算法設計

物聯子網內部通信時,可直接使用尾部0值已去除的地址進行節點標識及尋徑.所以,去除尾部0值只發生在報文經網關轉發到物聯子網時實施.去除尾部0值,關鍵是計算報文目的IP的有效尋徑地址位數,算法中通過尋找第1個等于0的層次比特位來確定有效尋徑地址位的最后位置.相反,網關節點將物聯子網內的報文轉發到外部時,需要補足尾部的0比特位.

上述IPv6地址壓縮技術通過實施在不同設備的算法來完成.

算法1. 網關實施地址壓縮.

令物聯子網64位前綴為PFX64,LB[j].b為第j層節點的層次比特位在128位IPv6地址中的起始位置.算法1核心思想如圖3所示.

Fig. 3 Address compression in gateway.圖3 網關實施地址壓縮

步驟1. 接收報文,根據目的IPv6地址查轉發表確定報文處理行為.

步驟3. 實施目的IP去除尾部0值操作.

步驟3.1. 初始化j=2.因為第1層層次比特位不為0,只有后續描述的虛擬地址的第1層層次比特位為0,但它并不是尾部0值,不能去除.

步驟3.2. 取IPdst中的第j層的層次比特位為A,它是IPdst從LB[j].b位開始的連續LB[j].n位.

步驟3.3. 若A≠0,執行步驟3.4;若A=0,則可去除IPdst中從第LB[j].b位到末尾的所有0值,即Addr_tail0_del(IPdst,(128-LB[j].b)),執行步驟4.

步驟3.4. 若j=Lmax(最后的層次比特位),表示IPdst尾部并沒有無效的0值,執行步驟4;否則,j++,跳轉執行步驟3.2.

步驟4. 將報文目的IP地址的64位前綴剝離:IPdst=Addr_strip(IPdst,PFX64),將源IP轉換為物聯子網內部虛擬地址(見算法3地址映射),算法結束.

步驟5. 報文目的IP地址轉換為外部IP地址(見算法3地址映射).

步驟6. 將報文源IP地址擴展64位前綴:IPsrc=Addr_extend(IPsrc,PFX64),獲取IPsrc的位數為k,Addr_tail0_add(IPsrc,128-k),算法結束.

算法2. 非網關節點實施地址壓縮.

令該節點Ni的有效尋徑地址位為VA(i),所占比特位數為VAN(i),層次比特位的值為Ni.val,子樹地址范圍為ARST[i].len.本算法不分析報文目的地址為Ni的情況,這由傳統處理完成,算法核心思想如圖4所示.

Fig. 4 Address compression in forwarding node.圖4 轉發節點地址壓縮

步驟1. 節點Ni接收IP報文,根據源MAC地址判斷上一跳身份,如報文來自父節點則執行步驟2,如報文來自子節點則執行步驟3.

步驟2. 此時為下行傳輸,將Ni的層次比特位從報文的目的IP地址中剝離:IPdst=Addr_strip(IPdst,Ni.val),算法結束.

步驟3. 此時為上行傳輸,如果節點的所轄地址范圍ARST[i]與報文目的地址的前ARST[i].len位相等,表示該節點將實施頂點轉發,上行轉下行,執行步驟4;否則繼續上行傳輸,執行步驟5.

步驟4. 將Ni的有效尋徑地址位擴展到報文源IP地址中:IPsrc=Addr_extend(IPsrc,VA(i)),將Ni的有效尋徑位從報文目的IP地址中剝離:IPdst=Addr_strip(IPdst,VA(i)),算法結束.

步驟5. 將Ni的層次比特位擴展到報文源IP地址中:IPsrc=Addr_extend(IPsrc,Ni.val),算法結束.

4報文格式設計

上述3種地址壓縮技術面臨的一個問題是:各物聯網節點IPv6地址的長度是可變的,而且同一報文在傳輸過程中地址長度也不斷發生改變.因此,IACH機制需要在報文中設計專門的地址長度字段.

物聯子網內部傳輸時,節點地址長度大于0且小于等于64 b.壓縮后地址的長度以8 b(1 B)為單位進行描述,3個比特足以存儲壓縮后的IPv6地址長度,但為了處理方便,我們用半個字節(即4 b)來存儲壓縮后的IPv6地址長度.所以報文中源、目的地址長度總共需要1 B的描述.例如,長度字段為0x35,表示報文中源IPv6地址長度為3 B(24 b),目的IPv6地址長度為5 B(40 b).

考慮與現有典型系統的兼容,設計了基于6LoWPAN協議的IACH報文存儲格式.6LoWPAN機制中,IPHC壓縮格式有8 b的固定字段:1) CID(1 b)是上下文標識符位,當CID位為1時在DAM字段后存儲8 b的上下文索引值(源、目的IP各4 b);2)SAC(1 b)與SAM(2 b)共同描述源IPv6地址壓縮狀態;3)DAC(1 b)與DAM(2 b)共同描述目的IPv6地址壓縮狀態;4)M(1 b)表示目的IPv6地址是否為組播地址.IACH機制中,修改協議格式實現本文壓縮技術,如圖5所示:

Fig. 5 Compression address format in 6LoWPAN packet.圖5 6LoWPAN報文中地址壓縮存儲格式

SAC為0且SAM為00表示報文實施了IACH機制的源地址壓縮,4 b的SAL存儲源地址的長度,報文攜帶變長的源IP地址.

DAC為0且DAM為00表示報文實施了IACH機制的目的地址壓縮,4 b的DAL存儲目的地址的長度,報文攜帶變長的目的IP地址.

在原有IPHC壓縮格式中,上述SAC為0且SAM為00和DAC為0且DAM為00的描述均表示無狀態壓縮情況時攜帶完整的128 b源、目的地址.本文IACH機制中,已不需要攜帶128 b地址,所以利用該標志表示IACH壓縮.例如,圖2中節點12向節點9發送報文,IACH機制導致報文在傳輸過程中地址也不斷發生改變,變化過程如圖6所示.方框描述了傳輸過程源目的地址長度及內容.第1項為SAL,第2項為DAL,第3項為壓縮后的源IPv6地址,第4項為壓縮后的目的IPv6地址.例如,轉發第1跳,節點12向節點7發出的報文中,源地址為0xFF且長度為1 B,目的地址為0x02FF01且長度為3 B,所以6LoWPAN報文中的源、目的地址可存儲為:0x1 3 FF 02FF01.

需要說明:IACH壓縮機制中,當層次比特位小于8時,報文中IP地址長度可能不是整數個字節,此時報文中的地址信息需要增加填充位.

Fig. 6 Changes of content and length of packets during transmission.圖6 報文傳輸過程中地址內容及長度的變化

5外部地址動態映射

地址剝離、地址擴展等技術能高效壓縮物聯子網范圍的IPv6地址.然而,當外部系統與物聯網節點通信時,現有機制難以針對物聯子網外部IPv6地址實施壓縮傳輸,因為外部地址范圍太大,不但64 b主機位雜亂無規律,64 b前綴也完全無章可循.

本文提出了基于地址映射的外部地址壓縮方法,網關節點將物聯子網外部IPv6地址映射成規則的、易壓縮的內部IPv6地址,確保物聯子網內傳輸報文時地址壓縮的高效性.IACH機制預留部分內部IPv6地址形成“地址池”,專用于外部地址映射.外部IPv6地址在物聯子網傳輸時臨時映射到“地址池”中的某一個地址,本文稱這些預留的內部地址為虛擬IPv6地址(V_Addr).

設計虛擬地址集合為層次轉發樹中第1層層次比特位為0x00的子樹所轄節點對應的地址(真實物聯網節點不使用這些地址),對應節點被稱為虛擬節點(V_Node).層次轉發模型中虛擬地址沒有被分配給真實節點,該類地址的數量可達256.圖7中橢圓范圍內的著色節點就是虛擬節點,對應的地址為虛擬地址.例如,虛擬節點V_NodeA對應地址PFX64:0001::64(壓縮后為0x0001),虛擬節點V_NodeD對應地址PFX64:0002:0100::64(壓縮后為0x000201).

Fig. 7 Virtual address in IoT subnet.圖7 物聯子樹中的虛擬地址

當然,用于映射的虛擬地址數量并不需要太多,而且也不是越多越好,主要有2個方面考慮:

1) 虛擬地址數量只需支撐同一時刻與物聯子網節點通信的外部系統IPv6地址數量.假如地址為IP6ex的外部系統同時與多個物聯網節點通信,只需使用1個虛擬地址,也只會產生1條地址映射項.

2) 地址池容量可根據實際情況配置,容量太大會給地址映射的實現帶來過多負載.虛擬地址的獲取、釋放以及映射項查找等操作的效率,都與地址池的容量成反比.

定義7. 外部地址映射.物聯網網關構建的外部IPv6地址IP6ex與物聯子網內部IPv6虛擬地址V_Addr的對應關系,稱為外部地址映射(external address mapping,EAM),記為

EAM:V_Addr?IP6ex.

不同時間可能有多個外部地址對應同一個虛擬地址,但某一時刻該映射必定是一對一映射關系.

地址映射相關的處理都在網關實施,描述如下:

算法3. 網關實施外部地址映射.

令全部虛擬地址集合為Sall(默認255個地址),當前可用的虛擬地址集合為Savl,映射項集合為Seam;初始時有:Savl=Sall,Seam=?.本算法不分析報文目的地址為網關的情況,核心思想如圖8所示:

Fig. 8 External Address mapping.圖8 外部地址映射

步驟1. 物聯網網關接收IP報文,根據目的IP查表確定報文處理行為.

步驟2. 若是將物聯子網外部報文向內部轉發,執行步驟3;若是將物聯子網內部報文向外部轉發(此時目的IP為虛擬地址,形如0x00…),執行步驟5.

步驟3. 取出報文源IP為IP6src,從集合Savl中獲得任一地址V_Addr,并生成映射項V_Addr?IP6src;同時,Savl=Savl-{V_Addr},Seam=Seam+{V_Addr?IP6src}.

步驟4. 修改報文的源IP地址為V_Addr,并繼續后續轉發處理,算法結束.

步驟5. 取出報文目的IP地址,令其為IP6dst(一個虛擬IPv6地址),在Seam中查找其對應的映射項.

步驟6. 若查找失敗,報錯,算法結束;否則,找到映射項IP6dst?IP6ex,執行步驟7.

步驟7. 將報文目的IPv6地址由IP6dst更改為IP6ex,繼續后續轉發處理,算法結束.

說明,外部地址映射和物聯子網地址壓縮都在網關融合實施,但為了便于理解,本文分別進行了描述.

上述地址映射處理性能主要與地址映射項查找關聯,由于虛擬地址數量不多,映射表以一維數組形式存儲.如圖9所示,一次內存訪問可完成映射項查詢.當然,特殊場景中如有較大的并發外部訪問數據流,則需要優化上述映射表結構,簡單的HASH存儲就可完成,本文不做詳述.

Fig. 9 Storage of mapping table for virtual address.圖9 虛擬地址映射表存儲

此外,針對地址映射項需要有超時刪除及保活機制.設定單條地址映射項的空閑超時時間為Ttm,若Ttm時間段無數據流匹配該映射項就將其刪除.另外,也需設定映射項保活機制,只要轉發過程中使用了某映射項,其超時時間就恢復到Ttm.

動態地址映射特征包括:1)虛擬地址與真實物聯子網節點的地址屬于同一個64 b前綴,使得物聯子網內的協議報文全部屬于同一個網絡前綴,所有傳輸只需關注IP地址的后64 b主機位;2)地址映射項存儲和地址轉換都在網關處理,映射機制對普通物聯網節點透明;3)使用的虛擬地址壓縮效果極高,128 b的外部地址通常只占用16 b的存儲,可獲得高達8的壓縮比;4)支持地址動態映射,可以使用相對較少的虛擬地址實現其與更多外部地址的轉換,從而提升網關中地址映射模塊的實現效率.

總結IACH機制中各角色的工作如下:

1) 上行轉發節點.源IP地址擴展層次比特位.

2) 下行轉發節點.目的IP地址剝離層次比特位.

3) 頂點轉發節點.源IP地址擴展有效尋徑地址位,目的IP地址剝離有效尋徑地址位.

4) 網關.向物聯子網內部轉發流量時,目的IP去尾部0值及剝離前綴,源IP實施地址映射; 向物聯子網外部轉發流量時,源IP實施補尾部0值及前綴擴展,目的IP進行地址映射.

6實驗及性能分析

IACH機制中,除了8 b IPHC格式的固定字段[6],新增了SAL和DAL字段(共8 b).當然,現有互聯網中傳統非壓縮的IPv6地址存儲占用固定長度,源、目的地址各128 b,共256 b.

IACH機制主要面向非本地鏈路地址的通信,其壓縮性能分析主要涉及以下傳輸場景:

1) CASE1(內外通信).物聯子網節點與物聯子網外部系統通信時,報文在物聯子網傳輸時的地址壓縮分析.源為外部地址,目的為物聯子網內部地址;或是目的為外部地址,源為物聯子網內部地址.

首先,分析CASE1的地址壓縮比.6LoWPAN機制中必須存儲上述8 b固定字段.另外,由于物聯子網可接受任意外部IPv6地址訪問,無法利用上下文標識符進行壓縮,須存儲完整的128 b外部IPv6地址.同時,對于物聯子網內部IPv6全局地址,有2種可能:1)存儲128 b地址信息;2)根據上下文標識省略64 b網絡前綴信息,需要8 b的上下文索引值.所以,上述2種情況的地址壓縮比分別為

令2種情況發生概率相同,則平均壓縮比為1.1.

Fig. 10 Address compression ratio for communication between IoT nodes and external system.圖10 物聯子網節點與外部通信的地址壓縮比

IACH機制中,假設與外部通信的物聯子網節點為Ni,則地址壓縮最好情況發生在Ni向其父節點發送或Ni父節點向Ni發送時;最差情況發生在第1層節點和物聯子網根節點之間的報文傳輸時,此時需要存儲節點Ni整個有效尋徑地址位.例如,圖2中節點12向外部系統發送報文,最好情況發生在節點12到節點7的傳輸,只需存儲節點12的層次比特位0xFF;最壞情況發生在節點3到節點1的傳輸,需存儲節點12的有效尋徑地址位0x020101FF.

圖10給出了IACH和6LoWPAN機制在內外通信時地址壓縮比分析.IACH地址壓縮比最大為8,最小為3.55,且平均壓縮比隨著通信節點的層數增加而減小,但相對6LoWPAN卻有明顯的優勢.

接著,分析CASE2的地址壓縮比.物聯子網內部通信時的地址壓縮分析更為復雜,先給出關于最近公共祖先節點的定義.

(2)

(3)

其中,0

報文上行傳輸時的目的IPv6地址及下行傳輸時的源IPv6地址都需存儲對應節點的整個有效尋徑地址位.針對節點Ni的地址,其作為源地址出現在第k層向k-1層傳輸的報文中的比特位數,與其作為目的地址出現在第k-1層向第k層傳輸的報文中的比特位數相等.當然,這2種情況存儲Ni地址的具體內容也相同.所以,有式(4)成立:

(4)

Fig. 11 Communication topology inside IoT subnet.圖11 物聯子網內部通信拓撲圖

不失一般性,針對圖11計算物聯子網內部通信時地址壓縮比.Ni上行傳輸時目的IP地址存儲長度不變,一直為Nj的有效尋徑地址位,即:

(5)

繼而,圖11中Ni到Nj傳輸時,上行傳輸是Ni到Np,源IP地址存儲長度共為

(6)

同理,分析Ni到Nj下行傳輸過程.最終,可推導得到IP地址平均存儲長度為

(7)

所以,IACH模型物聯子網內部,Ni和Nj通信中,源目的IP地址平均存儲長度與如下因素相關:

1) 最低公共祖先節點的層數Np.lay.其它因素不變,其值越小,IP地址平均存儲長度越小.

2)Ni和Nj到最近公共祖先節點的跳數距離和D(i,j).其它因素不變,其值越小,IP地址平均存儲長度越小.

基于表1所述真實節點進行實驗,并將IACH與現有6LoWPAN進行比較分析.

Table 1 Parameters of IoT Nodes for Experiments

Fig. 12 Experiment topology.圖12 實驗拓撲圖

實驗拓撲如圖12所示,物聯子網層數為6.

1) 測試不同壓縮機制下IP上層數據的最大負載長度.由于物聯子網內部IP地址與其它IP地址在結構上具有明顯的差異,實驗分別針對2種場景進行:CASE1,物聯網節點與外部互聯網設備通信;CASE2,物聯網內部節點間通信.實驗結果如表2所示,IEEE 802.15.4鏈路層幀所能承載的最大字節數都是125,而IACH機制在2種場景下都比原始6LoWPAN獲得更大的IP上層數據負載長度,IACH機制的最差情況也好于6LoWPAN最好情況.

Table 2Max Payload of IP-upper Data in Different

Compression Mechanism

表2 不同壓縮機制下IP上層數據的最大負載

Fig. 13 Forwarding delay.圖13 轉發時延

2) 測試不同壓縮機制的報文轉發時延.無論6LoWPAN或IACH壓縮機制,報文中的鏈路層和6LoWPAN適配層長度都不固定,所以實驗針對不同的IP上層數據長度測量轉發性能.實驗結果如圖13所示,對于相同長度的IP上層負載,無論內外通信或內部通信,IACH機制下的報文轉發時延都略小于原有6LoWPAN機制.圖13中,轉發時延的陡然升高是報文分片導致的,因為此時傳輸內容超過了最大IP上層負載.所以,相對現有6LoWPAN 機制,IACH機制能在不增加轉發時延的前提下,明顯提升網絡帶寬利用率,起到綠色節能的功效.

7總結

IPv6作為物聯網節點的統一標識已得到廣泛認可.然而,128 b的IPv6地址格式在存儲、協議帶寬等方面給物聯網節點帶來了不小的負擔.而且,物聯網典型鏈路層控制協議IEEE 802.15.4所能承載的幀長度較小,這給IPv6頭部壓縮研究提出了很高的要求.本文提出了新型地址壓縮機制IACH,通過地址壓縮提升物聯網報文傳輸的有效帶寬比例.IACH主要包括3種地址壓縮技術:1)去除IPv6地址末尾的無效尋徑信息,即尾部“0”值;2)下行傳輸時針對目的IPv6地址的地址剝離技術;3)上行傳輸時針對源IPv6地址的地址擴展技術.IACH機制還面向物聯子網節點與子網外部互聯網節點的通信提出了基于網關實施的虛擬地址映射機制,確保外部地址在物聯子網傳輸時的高效壓縮存儲.IACH機制突破了現有6LoWPAN壓縮范圍的局限,大幅增加了數據包中IP上層數據的最大負載長度.而且,IACH機制基于6LoWPAN協議擴展實現,與6LoWPAN已有功能兼容.基于真實節點的實驗表明IACH轉發處理時延略低于標準6LoWPAN.

參考文獻

[1]Xie Kaibin, Chen Haiming, Cui Li. PMDA: A physical model driven software architecture for Internet of things[J]. Journal of Computer Research and Development, 2013, 50(6): 1185-1197 (in Chinese)(謝開斌, 陳海明, 崔莉. PMDA: 一種物理模型驅動的物聯網軟件體系結構[J]. 計算機研究與發展, 2013, 50(6): 1185-1197)

[2]Kim E, Kaspar D, Gomez C, et al. RFC 6606: Problem statement and requirements for IPv6 over low-power wireless personal area network (6LoWPAN) routing[S]. The Internet Society, 2012

[3]Winter T, Thubert P, Hui J, et al. RFC 6550: RPL: IPv6 routing protocol for low-power and lossy networks[S]. The Internet Society, 2012

[4]Dunkels A, Gronvall B, Voigt T. Contiki-a lightweight and flexible operating system for tiny networked sensors[C] //Proc of the 29th Annual IEEE Int Conf on Local Computer Networks (LCN’04). Los Alamitos, CA: IEEE Computer Society, 2004: 455-462

[5]Levis P, Madden S, Polastre J, et al. TinyOS: An operating system for sensor networks[G] //Ambient Intelligence. Berlin: Springer, 2005: 115-148

[6]Xiao Rong, Chen Wenlong, Sun Bo. Light weight and tree-based forwarding model in IPv6 IoT subnet[J]. Journal of Software, 2014, 25(8): 1729-1742 (in Chinese)(肖融, 陳文龍, 孫波. 面向IPv6物聯子網的輕量級樹型轉發模型[J]. 軟件學報, 2014, 25(8): 1729-1742)

[7]Vasseur J P, Dunkels A. Interconnecting Smart Objects with IP-the Next Internet[M]. San Francisco, CA: Morgan Kaufmann, 2010: 29-38

[8]Meyer D, Zhang L, Fall K. RFC 4984: Report from the IAB workshop on routing and addressing[S]. The Internet Society, 2007

[9]Deering S, Hinden R. RFC 2460: Internet protocol version 6 (IPv6) specification[S]. The Internet Society, 1998

[10]Gutierrez J A, Naeve M, Callaway E, et al. IEEE 802.15.4: A developing standard for low-power low-cost wireless personal area networks[J]. IEEE Network, 2001, 15(5): 12-19

[11]Pelletier G, Sandlund K. RFC 5225: Robust header compression version 2 (ROHCv2): Profiles for RTP, UDP, IP, ESP and UDP-Lite[S]. The Internet Society, 2008

[12]Montenegro G, Kushalnagar N, Hui J. RFC 4944: Transmission of IPv6 packets over IEEE 802.15.4 networks[S]. The Internet Society, 2007

[13]Hui J, Thubert P. RFC 6282: Compression format for IPv6 datagrams over IEEE 802.15.4-based networks[S]. The Internet Society, 2011

[14]Singh S, Singh M, Singh D. A survey of energy-efficient hierarchical cluster-based routing in wireless sensor networks [J]. International Journal of Advanced Networking and Application, 2010, 2(2): 570-580

[15]Shen Bo, Zhang Shiyong, Zhong Yiping. Cluster-based routing protocols for wireless sensor networks[J]. Journal of Software, 2006, 17(7): 1588-1600 (in Chinese)(沈波, 張世永, 鐘亦平. 無線傳感器網絡分簇路由協議[J]. 軟件學報, 2006, 17(7): 1588-1600)

Xiao Rong, born in 1974. Master, lecturer. Her research interests include Internet of things and Internet architecture.

Sun Bo, born in 1966. PhD, professor. His research interests include computer application technology.

Chen Wenlong, born in 1976. PhD, associate professor. His research interests include network protocol and network architecture.

Xiao Yongkang, born in 1974. PhD, associate professor. His research interests include computer network.

Wei Yungang, born in 1981. PhD, senior engineer. His research interests include computer network.

Address Compression for Hierarchical Forwarding Architecture in IPv6 IoT

Xiao Rong1, Sun Bo1, Chen Wenlong2, Xiao Yongkang1, and Wei Yungang1

1(CollegeofInformationScienceandTechnology,BeijingNormalUniversity,Beijing100875)2(CollegeofInformationEngineering,CapitalNormalUniversity,Beijing100048)

AbstractAs one of the most significant parts of “Internet +”, Internet of things (IoT) is being widely applied in various aspects of human society. IPv6 identification is the base of large-scale deployment and interconnection of IoT. Nevertheless, the 128-bit IPv6 address brings more storage and bandwidth consumptions for resource-constrained IoT. A novel compression mechanism-named IACH is proposed for the hierarchical IoT forwarding architecture, which mainly includes: removing invalid routing message at the end of IPv6 address, address stripping, and address extension. Moreover, the irregular outside IPv6 addresses can be translated into virtual addresses of IoT subnets by means of address mapping, which is compressed according the described mechanism. IACH is fully compatible with 6LoWPAN. Experiments and performance analysis show that IACH can significantly increase the real upper payload in packets transmission. In particular, the forwarding delay of IACH is shorter than standard 6LoWPAN for packets with the same length of IP-upper payload.

Key wordsInternet of things (IoT); hierarchical forwarding; address compression; IPv6; address mapping

收稿日期:2015-12-21;修回日期:2016-02-04

基金項目:國家自然科學基金項目(61373161,61272446,61300171)

中圖法分類號TP393

This work was supported by the National Natural Science Foundation of China (61373161,61272446,61300171).

主站蜘蛛池模板: 亚洲男人在线天堂| 手机在线免费不卡一区二| 国产美女在线观看| 高清亚洲欧美在线看| 亚洲国产成人精品一二区| 波多野吉衣一区二区三区av| 欧美日韩国产在线人成app| 亚洲天堂网在线观看视频| 国产精品2| 成人综合网址| 伊人网址在线| 在线观看精品自拍视频| 久久精品电影| 国产第一页第二页| 青青国产视频| 五月激情综合网| 免费网站成人亚洲| 色婷婷成人网| 精品国产网| 亚洲午夜久久久精品电影院| 婷婷丁香在线观看| 日韩精品一区二区三区视频免费看| 亚洲综合经典在线一区二区| 真实国产乱子伦高清| 亚洲无码视频图片| 美女潮喷出白浆在线观看视频| 人妻一区二区三区无码精品一区| 黄色福利在线| 国产精品极品美女自在线网站| 国产95在线 | 福利姬国产精品一区在线| 国产中文一区二区苍井空| 亚洲欧洲天堂色AV| 青青青国产视频手机| 亚洲成人在线免费| 久久久久久尹人网香蕉| 亚洲乱码精品久久久久..| 免费xxxxx在线观看网站| 亚洲女同欧美在线| 国产永久在线观看| 精品视频福利| 日韩在线成年视频人网站观看| 午夜福利免费视频| 成AV人片一区二区三区久久| 色色中文字幕| 在线观看无码a∨| 国产在线视频欧美亚综合| 91麻豆国产视频| 777午夜精品电影免费看| 亚洲综合久久成人AV| 欧美三级不卡在线观看视频| 欧美.成人.综合在线| 毛片在线播放网址| AV无码无在线观看免费| 国产麻豆精品久久一二三| 亚洲第一成年网| 日韩小视频在线观看| 毛片一区二区在线看| 国产第一页屁屁影院| 国内精品免费| 午夜影院a级片| 中文国产成人精品久久| 国内精品久久久久鸭| 国产精品欧美日本韩免费一区二区三区不卡| 日韩天堂在线观看| 91丝袜美腿高跟国产极品老师| 亚洲国产日韩欧美在线| 欧美成人综合在线| 欧美成人看片一区二区三区 | 国产激情无码一区二区APP | 国产精品55夜色66夜色| 久久久受www免费人成| 亚洲青涩在线| 日本人妻丰满熟妇区| 91九色最新地址| 国产亚洲高清在线精品99| 国产麻豆va精品视频| 亚洲色欲色欲www网| 久久综合干| 亚洲乱伦视频| 日韩第八页| 99视频国产精品|