蓝牙分布式网络的构建及路由协议
发布时间:2006-10-14 7:58:29   收集提供:gaoqian
曹常义 单方骥
  摘要 由蓝牙微微网组成的分布式网络与一种新型的无线局域网----自组网相类似,文章在对自组网进行改造和拓展的基础上,探讨蓝牙分布式网络的构建,同时对其路由协议进行研究。

  关键词 蓝牙 分布式网络 自组网 无线局域网 路由算法

  1 蓝牙分布式网络

  蓝牙技术的提出为短距离低功耗无线通信寻找到一条全新的途径。把一个9mm×9mm芯片嵌入到手机、PDA和数字相机等移动终端中,就可以完成设备之间的无电缆连接,实现无线局域网(WLAN)和信息家电等构想。   Bluetooth采用2.4GHz ISM频段,使用小范围射频链路,链路建立在跳频频谱上,可在同一通信带宽内干扰地传输多个信道信息,实现终端之间的信息交换。共存于同一信道的若干设备单元构成一个微微网(piconet)。在微微网中,若某台设备的时钟和跳频序列用于其它设备,则称为主设备(master),否则就称为从设备(slave),一个微微网中只有一个主设备和多个从设备(不多于8个)。在同一微微网中,所有用户均用一跳频序列同步。若干相互独立的微微网连接在一起,构成蓝牙分布式网络(scatternet)。各微微网由不同的跳频序列区分,在一个互连的分布式网络中,一个节点设备可同时存在于多个微微网中,但不能在两个微微网中处于激活状态(active)。

  不难看出蓝牙分布式网络是自组网(ad hoc networks)的一种特例。自组网是一种新型无线局域网,它起源于美国军事领域,是一种多跳的临时性自治系统,无线终端兼有路由器和主机的功能,网络的拓扑结构是动态和分布式的。自组网是移动计算机通信网络的一种,主要用于移动数据传输,由于无基站支持,使网络中数据转发的选路问题成为研究重点。

  蓝牙特殊利益集团(Bluetooth SIG)制定的协议中,尚未对蓝牙微微网网间通信和蓝牙分布式网络的构建等内容作出描述,本文在类比的基础上,对自组网进行改造和扩展,以使其能符合蓝牙分布式网络的特征。   2 自组网的技术特点

  20世纪70年代,美国国防部开始研究一种新的分组无线网络,以便能在战争中保持通信网络的可靠性。自组网的概念起源于此,后来该技术涉足民用,并已有相关产品面市。

  2.1 自组网的技术特点

  移动无线通信网络通常以蜂窝移动通信网络或传统无线局域网的形式出现,这两种网络具有一个共同点,即移动终端的接入均需通过基站等转接设备来完成。蜂窝移动通信网络中的移动终端不具备路由功能,它是由移动交换机负责路由和交换,并同时充当网关,通过有线方式接入固定网。在传统无线局域网中,配备无线局域网网卡的移动节点,通过无线接入访问点,连接到固定网络,两个距离较远且布线不便的局域网通过无线网桥进行连接,局域网中主机的移动性是通过移动IP协议实现的。

  与移动无线通信网络相比,自组网定义了一种全新的思想。在自组网的局域环境中,每个用户终端不光有简单的主机功能,而且兼有路由器功能,两个无法直接通信的用户终端可以借助其它终端的分组转发进行数据通信。自组网是一种无中心的分布式结构,可以近似地把它看作蓝牙分布式网络中的一种微微网。

  自组网最大的特点是可以无基站支持,每个移动终端的地位是平等的,并可独立进行分组转发的决策,其建网灵活性,多跳性、拓扑结构动态变化和分布式控制等特点是构建蓝牙分布式网络时参考的基础。同时,自组网存在传输带宽有限、可扩展性不强和安全性差的局限。

  2.2 自组网路由选择

  单跳网络的分组传送无须通过网络层,因此无线局域网和红外网络的研究内容主要集中在网络的物理层和数据链路层上(包括信号编码、纠错、频率复用和信道共享等等)。对于多跳的自组网而言,研究重点则在于以路由选择为核心网络层的设计。自组网从被提出之日起,网络中的路由算法便成为研究的主要方向,目前已提出多种路由算法,其中以DSDV、WRP、DSR、ABR、ZRP、AODV、TORA和LS_QoS等协议为代表。

  2.3自组网的应用

  自组网可通过蓝牙、无线局域网网卡或IrDA等设备自主组建,完成无线移动终端之间点对点、点对多点和多点对多点连接。目前,国外已有自组网相关产品面市,可为军事领域和应急民用领域提供较为可靠的通信网络。

  3 蓝牙分布式网络的构建

  3.1 微微网的网络特征

  在蓝牙微微网中,任两单元之间可通过无线信道建立点对点、点对多点连接,多个相互独立的微微网可组成一个具有自组网特征的多跳分布式网络。

  在每个微微网中,用一组伪随机跳频序列来确定79个跳频信道,这个跳频序列对于每个微微网来说是唯一的,由主设备地址和时钟决定。蓝牙无线信道使用跳频/时分复用(FH/TDD)方案,信道以625ps时间长度划分时隙,根据微微网主设备的时钟对时孙进行编号,号码从0-(227-1)以227为一个循环长度,每个时隙对应一个跳频频率,通常跳频速率为1600跳/s。主设备只在偶数时隙开始传送信息,从设备只在奇数时隙开始传送,信息包的开始与时隙的开始相对应。

  微微网中信道的特性完全由主设备决定,主设备的蓝牙地址(BD_ADDR)决定跳频序列和信道接入码,主设备的系统时钟决定跳频序列的相位和时间。根据蓝牙设备的平等性,任何一个设备都可以成为网络中的主设备,而且主、从设备可转换角色。

  3.2 分布式网络的网络特征

  虽然蓝牙的分布式网络与自组网存在极大的相似性,但在构建分布式网络时,必须对自组(特别是对移动自组网MANET)进行优化,这是蓝牙本身具有独特征所决定的。

  这是由于:(1)蓝牙基带层分组大小的限制,MANET解决方案必须在每个中继节点对蓝牙分组进行分段重组,导致每个节点缓冲空间需求增加,每次跳频时的丰储转发时延增大;(2)在互连过程中,分布式网络具有的拓扑结构与自组网存在差别。分布式网络中的移动设备根据连接发起者分为主设备和从设备,从设备之间的通信必须经过主设备才能建立。此外,在流量特征、移动性模型和网络覆盖范围等应用方面,分布式网络与典型的自组网也存在区别。

  由于分布式网络是准静态的,生存周期短,范围小,MANET构建方案中的范围性和可适性考虑就显得没有必要了。多个微微网互连组成分布式网络时,可以通过两种方式,一种是通过同时存在于两个微微网中的从设备进行转接,另一种是两个主设备直接建立连接。

  3.3 分布式网络中微微网的网间切换

  各移动终端之间的对等性使微微网切换成为可能。微微网切换是指主从设备角色的转换,蓝牙系统中采用多路复用技术实现微微网切换。若当前系统只有ACL链接,一个单元可在当前微微网中进入保持或休眠模式,在此期间,它可通过改变信道参数,加入其它微微网;若SCO链接已建立,则只能在两者之间的非保留时隙上,访问其它微微网;若只有一条使用HV分组的SCO链接,则只能保持原样。

  由于多个微微网不能保持同步,所以必须采用保护时间来解决多个微微网未对准的状况。加入两个微微网的一个从单元必须兼顾两个加入到它自身的本地时钟补偿,并创建一个或另一个主单元时钟。由于两个主时钟独立,会发生时间漂移,为了保证从单元与两个主单元同步,必须定期修改补偿值。主从单元切换分为两步:(1)指定主单元与从单元的TDD切换;(2)所有微微网单元的微微网切换。当所有的从单元都接收到FHS分组时,每个单元将使用由新主单元定义的新微微网参数。至此,微微网切换完成。

  4 蓝牙分布式网络的路由算法

  4.1 网络模型元素

  蓝牙系统中的一个移动终端就是一个定义的蓝牙单元,每个单元由唯一的48bit蓝牙地址标识。一个微微网中定义一个主设备和多个从设备。一个从设备由3bit的MAC地址简单标识,用MacAddr表示。这里对MacAddr作如下定义:MacAddr=000时,表示在一个微微网中进行消息广播。本文仅讨论在ACL信道上进行分组传输。

  蓝牙系统把信道分为625ps间隔的时隙。分组数据由72bit的接入码、54bit的头以及净荷组成。

  在分布式网络中进行路由选择时,本文采用路由矢量方法,用第3层(layer III)的控制信息进行协作,本文采用的路由协议中所设计的相关域。本文采用路由矢量选路方式完成蓝牙分组在分布式网络中的传送。该路由选择方式是基于中继表的,这一点与IP或ATM相同,基于源路由,即分组中携带路由信息。对无线网络而言,路由协议表是路由选择的基础。路由矢量方法会导致较大的开销,但它却能体现分布式网络系统的优点,我们必须构造表格实体,删除已完成的连接和连接失败的连接主体。对此,可参考蓝牙系统本身的特点和路由矢量方法,得到针对蓝牙分布式网络中单播和多播传输的有效方法,由LocID标识微微网,可降低分组中的开销。   4.2 微微网内节点之间的通信

  在微微网内部,两个从设备之间进行单播通信时,必须经过主设备才能完成。在第2层(Layer III)的分组头中没有目的从设备的地址信息。这样,若由连接不同微微网的从设备完成分组传送,则必须存在第3层。DA包含目的从设备的MacAddr;当主设备接收到分组后,主设备去掉第2层的头,并把净荷封装成第3层分组格式。当FF=1,第3层处理器就把净荷数据放到一个新的分组中,并把这个分组传送到目的从设备。这个分组传送过程就是微微网内部分组单播传送的过程。如果FF=1,DA=000,则表示分组是在微微网内部进行广播。这种广播方式并不能保证有效性,只是在微微网中多广播几次,高层协议必须重复检测接收到的广播分组是否重复。

  4.2.1微微网内部的单播通信

  为了减小开销,这里用LocID代替48bit的蓝牙地址,由于一个微微网中所允许的从设备不能超过8个,所以LocID取3bit。这3bit的LocID可直接分配给微微网内部相连的节点。分组由源节点生成发出后,传送过程中的分组就会在RVF域的队列中写入相应的ID号,以便记录经过的路由和节点。源节点通过路由发现协议获得分组的路由。当一个中继收到一个分组后,就会把这个分组发向第一个LocID所对应的微微网主设备,在此过程中,由RVF域中的第一个macAddr给出获得的MAC地址。节点在发送分组之前,会去掉第一组标号。

  4.2.2微微网内部的广播通信

  分组的广播与单播通信相似,如果一个单元已经收到该分组,那么以后收到的相同分组就被删除掉,否则该节点就会把这个分组发送给 所有的相邻节点。

  广播分组的数据所中,当BF=1,则RVF域在第3层层面上包含该分组所经过的中继和主设备的48bit蓝牙地址序列。当一个中继节点收到一个微微网内部的广播分组时,该节点就会查看其RVF域,如果RVF域中有该节点的蓝牙地址,节点就会删去该分组,否则这个中继就会把自己的地址加入到RVF域中,并把该分组的净荷部分传给其它相连的主设备。这里,分组中FF=1,DA=000。

  如果分组是一个从设备发出的,它就会把分组发送给主设备,由主设备在整个微微网内部广播。不难想象,若要使分布式网络内部所有节点都接收到一个节点的广播分组,就必须广播多次,导致网内业务量较大,效率降低,为了解决该问题,必须在每个节点中增加相应的缓存,以便存储,减小冗余。

  4.3路由发现

  上述路由选路是基于现有路由矢量表,因此在作路由选路之前,必须运行路由发现协议,建立路由矢量表,而且该表应是动态变化的。

  为了建立路由矢量表,源节点会发送一个搜寻分组(search packet),该数据报是基于第3层的控制分组。该分组在整个分布式网络中广播,搜寻到的数据报中净荷部分就是累积成的源节点到目的节点路由列表。源节点使用自身的MacAddr对路由列表进行初始化,每一个中继节点收到该分组后,就会在该发组数据中加入相关的LocID或MacAddr地址。当目的节点收到搜寻数据分后,会以多播方式返回一个应答分组(reply packet),应答分组按照搜寻分组中的路由返回到源节点,至此,源节点与目的节点之间的路由矢量表就建立起来了。   在未来个人通信,无线局域网、蓝牙系统等技术前景看好,但目前蓝牙标准还没有真正完善,尤其是上层协议尚未建立。在构建蓝牙系统时,必须考虑系统的上层功能,本文仅以自组网中的相似性,对蓝牙分布式网络的构建和上层路由协议进行探讨,自组网的路由协议已成为目前研究的热点,在许多相关协议中,哪些协议更适合蓝牙分布式网络的路由选路和路由发现,仍是今后应关注的问题。


摘自《电信快报》2002.5
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50