呂定坤, 孫友偉
(西安郵電學院 a.研究生院;b.通信與信息工程學院,陜西 西安 710061)
隨著通信網絡技術的發展,為了能夠給用戶的生產生活帶來更大的便利,現今的通信網絡架構由骨干網絡,接入網絡不斷向用戶延伸,發展到了今天的物聯網層面[1]。然而,“物聯網技術”的核心和基礎仍然是“互聯網技術”,是在互聯網技術基礎上延伸和擴展的一種網絡技術;而且從無線傳感網所采集的大量信息都需要通過接入網絡發送到特定的管理服務器去處理。
一個典型的無線傳感器網絡[2]如圖1所示,對于一個監測區域,可以將其分為幾個監測子區間,一個子區間內可以通過各種不同的傳感節點采集多種類型的數據(如A和B類型數據),對于同一種類型的數據,可以有多個數據采集節點(如A類型數據節點1和A類型數據節點2)。目前無線傳感器網絡的組網核心802.15.4協議,而接入網主要基于以太接入方式,其核心協議是802.3[3-4],因此在Sink節點完成802.15.4與802.3協議幀格式的轉換便具有了實際的意義。
MAC層幀結構的設計目標是用最低復雜度實現在多噪聲無線信號環境下的可靠數據傳輸[5]。每個MAC子層的幀都由幀頭(MHR,MAC Header),負載和幀尾(MFR,MAC Footer)這3部分組成,如圖2所示。幀頭由幀控制信息(Frame Control),幀序列號(Sequence Number)和地址信息(Addressing Fields)組成。MAC子層負載具有可變長度,具體內容由幀類型決定,后面將詳細解釋各類負載字段的內容。幀尾是幀頭和負載數據的16為CRC校驗序列[6]。

圖1 典型的無線傳感器網絡
以太網幀結構是OSI參考模型數據鏈路層的封裝,其MAC子層結構如圖3所示。
前導序列碼,由7個字節的10101010組成。

起始幀定界,表示一幀的開始,碼元序列為10101011。
源地址與目的地址各48 bit,其中最高位表示是單址還是多地址,0表示單個地址,以 1表示多址,源地址的最高位保留并置 0。次高位表示是本地的管理地址還是全局的管理地址,0表示全局管理地址,1表示本地的管理地址。若采用廣播方式,本位置1。
長度,表示MAC數據的字節數或者MAC客戶協議的類型。
數據字段,其長度為46~1 500 Byte,若小于46 Byte,則自動填充0補齊。
幀校驗,采用32為冗余監測碼,檢驗從目的地址開始到數據字段的所有內容[7]。
Sink節點將完成802.15.4幀結構與以太網幀結構的轉換,從而使無線傳感網收集的數據可以從無線側經由Sink節點轉換為有線側數據,進而送到特定的服務器去處理[8]。Sink節點協議棧模型如圖 4所示,轉換基本過程為,首先,由傳感器節點采集的數據以無線的方式送入Sink節點,在其無線側物理層進行數據的接收,然后無線側的MAC層將數據恢復為IEEE 802.15.4格式的幀格式,然后將其目的地址,源地址等字段轉換位IEEE 802.3的格式,再將其組織成IEEE802.3的MAC層幀結構,然后送入Sink節點的有線側,以有線方式送入交換機,進入以太網絡。有線側收到的數據安反向進行。

然而這種設置的地址長度為32 bit,即:16_bit_PAN ID+16_bit_short_address
而802.3的MAC地址格式為48 bit,即:
24_bit_網絡ID+24_bit_主機ID
所以再將 802.15.4MAC幀的源地址轉換為802.3MAC幀的源地址時,需要形成48 bit地址,首先先將16 bit的PAN ID與24 bit的網絡ID相對應,由于802.3MAC中全“1”碼表示廣播地址,而802.15.4中PAN ID的廣播地址也是全“1”碼,所以在對應時,具體辦法是在Sink節點,在802.15.4的16 bit尾部填充8 bit的“1”序列,即:
16_bit_PAN ID+8_bit_one
這樣,在將802.15.4的廣播地址轉換為802.3的廣播地址時,便可以直接使用。
對于802.15.4的16 bit的短地址與802.3的24 bit主機 ID相對應時,也是采取在其尾部填充8 bit的“1”序列:
16_bit_short_address+8_bit_one
這種設置也不會影響到廣播地址。
有時傳感器網絡的監測區域較大,而且檢測的節點數據類型(溫度,濕度,電器開關等)較多,如果所有的傳感節點都按照網絡協調器隨機分配地址的話,不便于數據的識別和管理,而且希望能將不同類型的數據經由路由器送到不同的云端服務器去處理,而目前對于傳感節點的16位短地址并沒有統一的標準,所以,現在定義一種節點地址格式,以便于數據類型的識別和管理,將16位短地址分成4段,第0位是標志位,第1位到第3位表示目前檢測區域中的各個子區間,因為無線傳感本身比較小,所以在這里用3比特表示各個子區間基本能滿足要求,第4到第9位表示節點數據的類型,如溫度,濕度,電器開關等。第10到第15位表示在同一種數據類型下的各個節點編號,因為在一個監測區間內,同一種類型的數據可能需要多個監測節點,這主要基于兩點考慮,第一,不同事物可能同時需要監測同一種類型的數據;第二,對同一種類型的數據需要多重采集以確定數據的可靠性。另外,基于廣播地址的需要,除標志位外,其他3段均不能取全“1”碼。具體的地址格式如圖5所示。

由于這種無線傳感器網絡是采用將無線監測數據以有線的方式送入以太網,進而送入數據管理服務器,Sink節點主要完成了兩種協議硬件地址的轉換,因此其特點與網橋類似,只是因為是進行無線幀與有線幀的轉換,所以結構更為復雜。同時,文中根據實際應用場景的需要,提出了利用短地址對無線監測區域和傳感器節點進行區分識別的短地址格式,研究同時發現,其16位短地址仍未得到更有效地利用,這種地址格式還有待進一步的分析和研究。
[1] 孫鵬,王耀輝,陳超.物聯網核心技術與應用場景[J].通信技術,2011,44(05):100-102.
[2] 石明明,魯周迅.三種無線通信協議綜述[J].通信技術,2011,44(07):72-73.
[3] 孫友偉.基于GPON技術的下一代數字有線電視接入網絡[J].電視技術,2008,31(10):51-53.
[4] 孫友偉.構建下一代有線數字電視傳送網[J].電視技術,2009,32(03):43-44.
[5] 司宏林.基于ZigBee技術的高性能MAC機制與接入控制策略[D].南京:東南大學,2006.
[6] 賈玉鳳.基于多重無線通訊協議的WSN的設計[D].山東:山東大學,2008.
[7] 孫友偉. 無線傳感器網絡與以太網幀結構轉換[J].西安郵電學院學報,2010,15(03):68-71.
[8] 孫友偉.有線數字電視光分組交換網絡物理層協議配置[J].電視技術,2006,30(03):62-65.