基于蓝牙的个人局域网(PAN)的设计
发布时间:2008/5/29 0:00:00 访问次数:769
摘要:为了更好地满足所有移动计算机和通讯设备的通讯需要,蓝牙特别兴趣小组(sig) 提出了一个新的概念——蓝牙个人区域网(personal area networking) 。本文分析了蓝牙个人区域网(pan)的原理,同时提出基于蓝牙模块的蓝牙个人区域网的设计方案。
关键词:蓝牙个人区域网; 组网; 网络访问点;网桥转发算法
引言
人们所携带的电子信息设备越来越多,像笔记本电脑、移动电话、pda 等已不再只是商务人员的必备工具,正逐步进入百姓的日常生活。这些信息设备的功能越来越强大,同时尺寸却越来越小,但是人们已不能仅仅满足于它们各自独立工作,而是迫切需要各种设备之间能方便地进行信息的交互。因此,在小范围内能够将个人设备互联而组成的网络———个人局域网(pan) 便应运而生。蓝牙(bluetooth) 作为一种小范围无线连接技术,能够在设备间实现方便快捷、灵活安全、低成本、低功耗的数据和语音通信,是目前实现无线个域网的主流技术之一。本文提出了怎样实现现有上层协议(如tcp/ ip)与蓝牙协议的无缝连接;怎样实现蓝牙个人区域网的数据转发(主要集中在pan 的网桥算法上) 的解决方法;最后提供了一个蓝牙个人区域网模块的完整设计方案供参考,希望对各个同行有借鉴意义。本文所提出的解决方案现已用软件实现,并投入国外市场,用户反映运行良好。
1 蓝牙pan 实现原理
蓝牙技术是一种近距离无线通信的开放性标准,其目的是单芯片、低功耗,用来代替有线电缆连接,实现短距离无线语音和数据通信。由多个蓝牙设备就可以组成一个蓝牙网络。蓝牙个人区域网pan 有两种应用模型: 一种被称为组网络( group ad - hoc networking ,gn) ;另一种被称为网络访问点(networking access point ,nap) 。这两种实现模式分别有不同的网络结构和协议模型。下面对它们分别进行叙述。
1.1 组网( gn) 与网络访问点(nap)
一个简单的组网由一个主设备和1~7 个活动的从设备组成。在这一个主从网中,主设备与从设备之间的点对点或点对多点通讯在主设备的控制下进行,这个网络不需与外部网络相连。另外一种就是由一个nap和其它蓝牙设备组成的网络。这种无线设备充当网络设备(10baset,gsm 等) 之间的网桥、代理或者路由。网络访问点与internet 相连,它是其它计算机或设备与外部网络相连的中介。计算机通过网络访问点共享所有的网络资源。
1.2 pan 协议栈模型
由上可见,nap 和gn 是两种不同的服务。组网被设计用来允许一个或多个蓝牙设备组成一个局域网络,而网络访问点提供蓝牙设备进入internet 网络的能力。无论是nap 还是gn 都必须提供与tcp/ ip 和其它网络协议的无缝实现。下面是关于nap 和gn 在协议栈部分图示(图1 和图2) 。从协议栈示意图可以看出,与gn 网络比较而言,nap 除了要实现数据转发之外,还必须实现网桥,能够实现网络的路由,从而能通过网络访问外部网络。
2 pan 实现要解决的问题
蓝牙个人区域网就是要用无线代替有线,用蓝牙硬件在不同设备之间建立一条虚拟的蓝牙链路,从而使现有的各种应用软件不经修改,就可以在不同蓝牙设备之间进行数据传输和数据交换。它必须解决以下问题:
(1)怎样支持ipv4 和ipv6 协议和其它可选协议。
(2)怎样实现gn 和nap。
(3)怎样实现蓝牙协议栈与现有网络协议如tcp/ ip和ppp 等网络协议无缝连接,从而通过蓝牙硬件在下层建立一条虚拟的蓝牙链路,使现有网络应用程序就像在有线网络中使用一样。
3 pan 的具体实现
3.1 实现高层协议与蓝牙协议的无缝连接
要充分运用现有的各种协议,如tcp/ ip 协议和其它上层协议的接口,pan 网络需要在上层协议与蓝牙协议栈之间建立一条蓝牙无线链路。怎样实现现有协议与蓝牙协议的无缝连接? 笔者以windows 平台为例提出了一个解决方案,如图3 所示。
摘要:为了更好地满足所有移动计算机和通讯设备的通讯需要,蓝牙特别兴趣小组(sig) 提出了一个新的概念——蓝牙个人区域网(personal area networking) 。本文分析了蓝牙个人区域网(pan)的原理,同时提出基于蓝牙模块的蓝牙个人区域网的设计方案。
关键词:蓝牙个人区域网; 组网; 网络访问点;网桥转发算法
引言
人们所携带的电子信息设备越来越多,像笔记本电脑、移动电话、pda 等已不再只是商务人员的必备工具,正逐步进入百姓的日常生活。这些信息设备的功能越来越强大,同时尺寸却越来越小,但是人们已不能仅仅满足于它们各自独立工作,而是迫切需要各种设备之间能方便地进行信息的交互。因此,在小范围内能够将个人设备互联而组成的网络———个人局域网(pan) 便应运而生。蓝牙(bluetooth) 作为一种小范围无线连接技术,能够在设备间实现方便快捷、灵活安全、低成本、低功耗的数据和语音通信,是目前实现无线个域网的主流技术之一。本文提出了怎样实现现有上层协议(如tcp/ ip)与蓝牙协议的无缝连接;怎样实现蓝牙个人区域网的数据转发(主要集中在pan 的网桥算法上) 的解决方法;最后提供了一个蓝牙个人区域网模块的完整设计方案供参考,希望对各个同行有借鉴意义。本文所提出的解决方案现已用软件实现,并投入国外市场,用户反映运行良好。
1 蓝牙pan 实现原理
蓝牙技术是一种近距离无线通信的开放性标准,其目的是单芯片、低功耗,用来代替有线电缆连接,实现短距离无线语音和数据通信。由多个蓝牙设备就可以组成一个蓝牙网络。蓝牙个人区域网pan 有两种应用模型: 一种被称为组网络( group ad - hoc networking ,gn) ;另一种被称为网络访问点(networking access point ,nap) 。这两种实现模式分别有不同的网络结构和协议模型。下面对它们分别进行叙述。
1.1 组网( gn) 与网络访问点(nap)
一个简单的组网由一个主设备和1~7 个活动的从设备组成。在这一个主从网中,主设备与从设备之间的点对点或点对多点通讯在主设备的控制下进行,这个网络不需与外部网络相连。另外一种就是由一个nap和其它蓝牙设备组成的网络。这种无线设备充当网络设备(10baset,gsm 等) 之间的网桥、代理或者路由。网络访问点与internet 相连,它是其它计算机或设备与外部网络相连的中介。计算机通过网络访问点共享所有的网络资源。
1.2 pan 协议栈模型
由上可见,nap 和gn 是两种不同的服务。组网被设计用来允许一个或多个蓝牙设备组成一个局域网络,而网络访问点提供蓝牙设备进入internet 网络的能力。无论是nap 还是gn 都必须提供与tcp/ ip 和其它网络协议的无缝实现。下面是关于nap 和gn 在协议栈部分图示(图1 和图2) 。从协议栈示意图可以看出,与gn 网络比较而言,nap 除了要实现数据转发之外,还必须实现网桥,能够实现网络的路由,从而能通过网络访问外部网络。
2 pan 实现要解决的问题
蓝牙个人区域网就是要用无线代替有线,用蓝牙硬件在不同设备之间建立一条虚拟的蓝牙链路,从而使现有的各种应用软件不经修改,就可以在不同蓝牙设备之间进行数据传输和数据交换。它必须解决以下问题:
(1)怎样支持ipv4 和ipv6 协议和其它可选协议。
(2)怎样实现gn 和nap。
(3)怎样实现蓝牙协议栈与现有网络协议如tcp/ ip和ppp 等网络协议无缝连接,从而通过蓝牙硬件在下层建立一条虚拟的蓝牙链路,使现有网络应用程序就像在有线网络中使用一样。
3 pan 的具体实现
3.1 实现高层协议与蓝牙协议的无缝连接
要充分运用现有的各种协议,如tcp/ ip 协议和其它上层协议的接口,pan 网络需要在上层协议与蓝牙协议栈之间建立一条蓝牙无线链路。怎样实现现有协议与蓝牙协议的无缝连接? 笔者以windows 平台为例提出了一个解决方案,如图3 所示。