吕定坤, 孙友伟
(西安邮电学院 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.