基于蓝牙的个人局域网(PAN)的设计
(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的设计和实现过程,提出了算法及解决方案,具有很强的实用性。
- 不断提升的蓝牙数据速率催生多种新兴应用(09-04)
- 面向大众市场的超宽带技术(09-04)
- 标准化进程难挡UWB市场增长,2011年出货量接近3亿 (09-04)
- 基于CSR CVC-HF系统的汽车蓝牙免提解决方案(09-08)
- 蓝牙与UART:互补配合,相辅相成(09-27)
- 浅析蓝牙技术 (上)(09-27)