当前位置:首页 > 通信技术 > 通信技术
[导读]为了更好地满足所有移动计算机和通讯设备的通讯需要,蓝牙特别兴趣小组(SIG) 提出了一个新的概念——蓝牙个人区域网(Personal Area Networking) 。本文分析了蓝牙个人区域网(PAN)的原理,同时提出基于蓝牙模块的蓝牙个人区域网的设计方案。

AN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">    摘要:为了更好地满足所有移动计算机和通讯设备的通讯需要,蓝牙特别兴趣小组(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 所示。

在Windows 驱动程序设计构架中,现在的通讯协议(如TCP ,IPX/ SPX等) 都是建立在Miniport Driver 之上的。因此,只需实现一个Windows 关于NDIS 的Miniport 驱动程序(图4) 即可。从TCP/ IP 等高层协议过来的数据通过Miniport 进入Dispatch Driver ,然后进入个人区域网应用程序,通过应用程序进入蓝牙协议栈。当然,PAN Interface 也可以在Kernel Mode 层实现。通过PAN Interface ,数据就可以进入蓝牙协议栈了(图5) 。

    3.2 网桥转发算法(实现GN 和NAP)

为了实现GN 和NAP ,就必须在GN 和NAP 端实现一个虚拟网桥,实现数据的转发。网桥转发算法是蓝牙个人区域网PAN 实现的关键技术。根据蓝牙个人区域网的特点,笔者提出了网桥三个端口的模型,并提出了一个网桥转发算法。

3.2.1 网桥转发算法基本思想

网桥在一定程度上就相当于一个集线器。在它上边可以有三种类型的端口:BNEP 端口(数据转发是直接建立在BNEP[3]之上的) ,本地端口(服务端本身) 和外部网络端口(如接入Internet) 。由于一个蓝牙主设备只能连接七台蓝牙从设备,所以网桥的BNEP 端口最多能有七个;本地端口表示的就是提供服务设备自己,它只有一个;如果本设备支持NAP ,那么将会注册一个外部网络端口。可见,一个网桥最多有九个端口,它的主要功能就是根据相应的网桥转发算法,把数据从一个蓝牙设备转发到其它的蓝牙设备或者外部网络,从而实现在不同设备间(GN) 或者和外部网络(NAP) 通信的目的。在每一个BNEP 端口设置一个自学习标志位来标志来自这个端口的数据包的源地址和目的地址是否已经被记忆下来,这样就没必要每次都去查找来自这个端口的每一个数据包的源地址或目的地址。如果要转发的数据包不是来自内部网络,并且在端口列表中没有找到目标端口,则默认为被转发到外部网络, 如果没有外部网络端口,则丢弃该包。另外,在每一个端口还有一个包过滤器,它可以过滤掉某些类型的网络包和来自或发往某地址范围段的网络包。

3.2.2 算法具体步骤

(1) 有数据包到达网桥,该数据包可能来自本地设备、其它蓝牙设备或外部网络(如果实现了NAP) 。

(2) 从包头中取得该数据包得源地址,检查该数据包的是否来自外部网络。若是,则检查数据包的源端口是否自学习的;若不是,则记下该数据包的源地址并设置自学习标志位为TRUE。

(3) 从包头中取得该数据包的类型。如果它是EARP/ ERARP 类型数据包,则把它作为广播包,并对除源端口外的每一个端口进行广播,然后转到(8) 。

    (4) 如果它是IPv4 , IPv6 或者其它类型的数据包,则检查所记忆的目标端口是否是一个有效端口。如果所记忆的目标端口有效,则把所记忆的目标端口作为该数据包要转发的目标端口。

(5) 如果该数据包的目标地址是一个广播地址或多播地址,则把该数据包进行广播或多播,然后转到(8) ;否则,在除源端口外的所有端口中查找目标端口。

(6) 如果找到目标端口, 则记忆该目标端口;否则,若该网桥有默认端口(即外部网络端口) ,并且源端口不是外部网络端口,则把外部网络端口作为目标口,若没有外部网络端口, 则丢弃该包, 然后转到(8) 。

(7) 进行包过滤, 如果该包没有被过滤掉, 则转发该数据包到目标端口。

(8) 接收下一个到来的数据包,重复上述步骤。

4  模块介绍

4.1  PAN UI

PAN UI 模块是位于最上层的图形用户界面,它是与用户交互的接口。它使用户能够方便快捷地完成相应操作,如建立网络,进行数据交互等。

4.2  PAN Profile

PAN Profile 模块是蓝牙个人区域网PAN 实现的关键模块。一方面,它与用户界面打交道,另一方面,它又要负责与协议栈和网络驱动程序的数据交互。它有以下功能:

①一方面它能提供PAN 服务,并等待接收来自客户端的连接。

②另一方面它又能作为客户端,发出建立连接请求,并接收来自服务端的响应。

③如果提供NAP服务,则还需实现一个网桥,详见网桥算法。

    4.3 Pan Interface

PAN Interface 模块是与系统相关的模块, 它直接和位于核心态的Virtual NIC 模块进行交互,接收来自Virtual NIC 模块的数据(即TCP/ IP 等上层协议发来的数据)或发送数据到Virtual NIC(即TCP/ IP 等上层协议接收的数据) 。

4.4 Virtual NIC

Virtual NIC 模块即网卡驱动部分,它位于Windows 系统的核心态,实现了一个虚拟的蓝牙网卡,直接与Windows 系统通信。

5  结束语

本文首先对PAN 蓝牙协议进行了一个概括性的描述,然后对PAN 设计中会遇到的问题进行了阐述,并在最后提出了作者对问题的解决方法。本文描述了PAN 的设计和实现过程,提出了算法及解决方案,具有很强的实用性。 AN>

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭