一种基于隧道机制的蓝牙路由器及路由方法技术

技术编号:15794813 阅读:152 留言:0更新日期:2017-07-10 10:00
本发明专利技术公开了一种基于隧道机制的蓝牙路由器及路由方法,包括路由器、单片机、蓝牙单元和电源管理模块;路由器的存储器内存储有隧道服务进程和蓝牙设备IP地址表,单片机的存储器内存储有隧道客户进程、蓝牙连接管理进程、蓝牙MAC地址和IP地址转换表,蓝牙路由器接受任意蓝牙终端设备的连接请求,通过蓝牙连接,为各蓝牙终端动态分配内网侧IP地址、转发各蓝牙终端的IP分组到互联网并从互联网接收IP分组转发回正确的终端,实现任意蓝牙终端设备的互联网通信。本发明专利技术提供了携带各种蓝牙版本的蓝牙终端设备的直连路由器的上网解决方案,给用户以简单、方便、一致的上网体验,解决了各种类型蓝牙终端设备统一上网的复杂、不便性。

【技术实现步骤摘要】
一种基于隧道机制的蓝牙路由器及路由方法
本专利技术涉及通讯领域,更具体的说,尤其涉及一种基于隧道机制的蓝牙路由器及路由方法。
技术介绍
目前,各种蓝牙终端设备无法通过传统路由器直接上网。如需访问互联网各种蓝牙终端设备必须升级至蓝牙4.2或以上版本,且设备的系统软件也需相应更改以便配合支持4.2或以上蓝牙版本的软硬件,且建立与之配合的支持蓝牙4.2及以上版本的无线个域网——6LoWPAN网络,再通过该个域网中特定的终端节点设备间接连接互联网。这给当前带有各种蓝牙版本的各类终端设备的随时随地上网交互通信带来了不便。因此,设计一种在传统路由器基础上易扩展、成本低的、无缝支持各种蓝牙版本下的各类蓝牙终端设备直接上网的路由器是很有必要的。
技术实现思路
本专利技术的目的在于解决上述问题而提供一种在传统路由器基础上易扩展、成本低的、无缝支持各种蓝牙版本终端设备直接上网的基于隧道机制的蓝牙路由器及路由方法。本专利技术通过以下技术方案来实现上述目的:一种基于隧道机制的蓝牙路由器,包括路由器、单片机、蓝牙单元和电源管理模块,所述单片机与所述蓝牙单元电连接,所述单片机具有网络接口,且与所述路由器的网络接口之一进行网络连接,所述电源管理模块与上述的路由器、单片机、蓝牙单元均电连接并为它们供电;所述路由器的存储器内存储有隧道服务进程和蓝牙设备IP地址表,所述单片机的存储器内存储有隧道客户进程、蓝牙连接管理进程、蓝牙MAC地址和IP地址转换表,所述蓝牙路由器接受任意蓝牙终端设备的连接请求,通过蓝牙连接,为各蓝牙终端动态分配内网侧IP地址、转发各蓝牙终端的IP分组到互联网并从互联网接收IP分组转发回正确的终端,实现任意蓝牙终端设备的互联网通信。进一步的,所述IP地址转换表是一种二维表数据结构,每一行保存一个蓝牙终端设备与所述蓝牙路由器之间所建立的蓝牙连接的记录,记录包括蓝牙连接描述符、蓝牙MAC地址和IP地址三个属性字段,其中,蓝牙连接描述符表示某一蓝牙终端设备与所述蓝牙单元之间建立的蓝牙连接的描述符;蓝牙MAC地址表示这个蓝牙终端设备的48位蓝牙MAC地址;IP地址表示分配给这个蓝牙终端设备的32位内网IP地址;所述蓝牙设备IP地址表是一种一维数组数据结构,其每一个数组成员保存一个当前分配给一蓝牙终端设备的IP地址。一种基于隧道机制的蓝牙路由器的路由方法,包括如下步骤:1)为单片机分配固定内网IP地址,具体步骤如下:蓝牙路由器加电启动后,其路由器通过内部的DHCP和网络接口之一将内网地址池中的第一个IP地址记为IP1,固定分配给所述单片机的网络接口;2)建立工作隧道,具体步骤如下:路由器运行隧道服务进程,隧道服务进程对所述路由器内网侧的IP地址,记为IP0的进行绑定、侦听;在接受所述隧道客户进程的TCP或UDP连接后,等待所述隧道客户进程发出“隧道建立请求”信令,在接收到“隧道建立请求”信令后,建立服务端的隧道环境,并封装“隧道建立结果回应”信令,发回所述隧道客户进程;3)初始化蓝牙MAC地址与内网IP地址转换表;具体步骤如下:①所述蓝牙连接管理进程通过所述蓝牙单元接受任一主动发起蓝牙搜索的蓝牙终端设备的连接请求,②将代表此蓝牙连接的描述符、蓝牙终端设备的48位蓝牙MAC地址,作为一行新记录插入到所述蓝牙MAC地址与IP地址转换表的末尾;③初始化“IP地址”字段为NULL,NULL表示未分配IP;④并发跳转至本流程①、步骤4,并发执行;4)分配内网IP地址并记录蓝牙MAC地址与内网IP映射,具体步骤如下:蓝牙终端设备通过上述蓝牙连接,传递需获取IP地址的请求包至所述蓝牙连接管理进程;蓝牙连接管理进程将蓝牙终端设备的蓝牙MAC地址作为参数,发送给所述隧道客户进程;隧道客户进程保存上述蓝牙MAC地址的参数,封装“内网IP地址申请”信令,通过所述隧道发送至隧道服务进程;隧道服务进程接收到“内网IP地址申请”信令,通过所述路由器内部DHCP从内网地址池中获取一个未分配的内网IP地址IPX;封装“内网IP地址申请回应”信令,再通过所述隧道发送至所述隧道客户进程;将内网地址IPX插入到所述蓝牙设备IP地址表末尾;隧道客户进程取出内网地址IPX和所保存的蓝牙MAC地址,一起作为参数发送至所述蓝牙连接管理进程;蓝牙连接管理进程取出蓝牙MAC地址值,查询IP地址转换表,使该蓝牙MAC地址值所在的记录行的“IP地址”字段赋予地址IPX;将IPX填入IP地址请求的响应包,通过上述记录行中蓝牙连接的描述符将该包传回至蓝牙终端设备,该蓝牙终端设备协议栈用IPX作为本地IP地址;5)发送蓝牙终端设备的IP分组,具体步骤如下:所述蓝牙单元接收任一蓝牙终端设备从蓝牙通信层发送的每一个IP分组;所述蓝牙连接管理进程通过蓝牙终端设备的蓝牙连接描述符读取IP分组;以每一IP分组作为参数发送至所述隧道客户进程一次;隧道客户进程每次将得到的一个IP分组封装进入“发送IP分组”信令;通过所述隧道传递至所述隧道服务进程;隧道服务进程接收此信令,取得待发送的IP分组;通过所述路由器转发;6)接收IP分组转发回蓝牙终端设备,具体步骤如下:所述路由器从收到每一个IP分组中取出目的IP地址并查找所述蓝牙设备IP地址表;若目的IP地址在蓝牙设备IP地址表中,发送每一IP分组至所述隧道服务进程;若目的IP地址不在蓝牙设备IP地址表中,转发IP分组至其他路由器接口;所述隧道服务进程一次用一个IP分组封装一个“接收IP分组”信令,通过所述隧道传递至所述隧道客户进程;隧道客户进程接收此信令,取得待接收IP分组作为参数,发送至所述蓝牙连接管理进程;蓝牙连接管理进程取出待接收IP分组的目的IP地址,查找IP地址转换表中该目的IP地址所在的行;若找到该行,取出蓝牙终端设备的蓝牙MAC地址、蓝牙连接描述符,否则直接丢弃此待接收IP分组;通过蓝牙连接描述符传递此待接收的IP分组至正确的蓝牙终端设备,该蓝牙终端设备IP层获得此IP分组;7)释放内网IP地址,终端上网结束,具体步骤如下:①蓝牙终端设备断蓝牙连接,协议栈删除已分配的内网地址IPX;②所述蓝牙连接管理进程获得蓝牙连接断开的通知;③以此连接的描述符查找IP地址转换表,取得所在记录行的“IP地址”字段的地址;④将此IP地址作为参数,发送至所述隧道客户进程;⑤删除本行记录;⑥隧道客户进程将上述的IP地址参数封装进入“内网IP地址释放”信令,通过所述隧道传递至所述隧道服务进程;⑦隧道服务进程接收信令后取出要释放的IP地址,通过所述路由器内部DHCP将其释放回地址池中;⑧封装“内网IP地址释放回应”信令,通过所述隧道传递至所述隧道客户进程;⑨查找所述蓝牙设备IP地址表,删除释放的IP地址的对应行;⑩隧道客户进程解析回应信令,若得到释放IP地址失败,则重复该步骤中的⑥至⑩步,若得到释放IP地址成功,则跳转至整体工作步骤3;8)重复步骤3~7,直至所述蓝牙路由器电源关闭。进一步的,所述步骤2中隧道客户端的具体实现流程如下:①所述单片机运行所述隧道客户进程;②隧道客户进程以所述网络接口地址IP1作为本地地址,所述路由器的内网侧地址IP0作为目标地址,发起TCP或UDP连接;③封装“隧道建立请求”信令,发送至所述隧道服务进程;④等待隧道服务端的回应信令;⑤接收本文档来自技高网...
一种基于隧道机制的蓝牙路由器及路由方法

【技术保护点】
一种基于隧道机制的蓝牙路由器,其特征在于:包括路由器(1)、单片机(2)、蓝牙单元(3)和电源管理模块(4),所述单片机(2)与所述蓝牙单元(3)电连接,所述单片机(2)具有网络接口(5),且与所述路由器(1)的网络接口之一(6)进行网络连接,所述电源管理模块(4)与上述的路由器(1)、单片机(2)、蓝牙单元(3)均电连接并为它们供电;所述路由器(1)的存储器内存储有隧道服务进程和蓝牙设备IP地址表,所述单片机(2)的存储器内存储有隧道客户进程、蓝牙连接管理进程、蓝牙MAC地址和IP地址转换表,所述蓝牙路由器接受任意蓝牙终端设备的连接请求,通过蓝牙连接,为各蓝牙终端动态分配内网侧IP地址、转发各蓝牙终端的IP分组到互联网并从互联网接收IP分组转发回正确的蓝牙终端,实现任意蓝牙终端设备的互联网通信。

【技术特征摘要】
1.一种基于隧道机制的蓝牙路由器,其特征在于:包括路由器(1)、单片机(2)、蓝牙单元(3)和电源管理模块(4),所述单片机(2)与所述蓝牙单元(3)电连接,所述单片机(2)具有网络接口(5),且与所述路由器(1)的网络接口之一(6)进行网络连接,所述电源管理模块(4)与上述的路由器(1)、单片机(2)、蓝牙单元(3)均电连接并为它们供电;所述路由器(1)的存储器内存储有隧道服务进程和蓝牙设备IP地址表,所述单片机(2)的存储器内存储有隧道客户进程、蓝牙连接管理进程、蓝牙MAC地址和IP地址转换表,所述蓝牙路由器接受任意蓝牙终端设备的连接请求,通过蓝牙连接,为各蓝牙终端动态分配内网侧IP地址、转发各蓝牙终端的IP分组到互联网并从互联网接收IP分组转发回正确的蓝牙终端,实现任意蓝牙终端设备的互联网通信。2.根据权利要求1所述的一种基于隧道机制的蓝牙路由器,其特征在于:所述IP地址转换表是一种二维表数据结构,每一行保存一个蓝牙终端设备与所述蓝牙路由器之间所建立的蓝牙连接的记录,记录包括蓝牙连接描述符、蓝牙MAC地址和IP地址三个属性字段,其中,蓝牙连接描述符表示某一蓝牙终端设备与所述蓝牙单元(3)之间建立的蓝牙连接的描述符;蓝牙MAC地址表示这个蓝牙终端设备的48位蓝牙MAC地址;IP地址表示分配给这个蓝牙终端设备的32位内网IP地址;所述蓝牙设备IP地址表是一种一维数组数据结构,其每一个数组成员保存一个当前分配给一蓝牙终端设备的IP地址。3.一种基于隧道机制的蓝牙路由器的路由方法,其特征在于,包括如下步骤:1)为单片机(2)分配固定内网IP地址,具体步骤如下:蓝牙路由器加电启动后,其路由器(1)通过内部的DHCP和网络接口之一(6)将内网地址池中的第一个IP地址记为IP1,固定分配给所述单片机(2)的网络接口(5);2)建立工作隧道,具体步骤如下:路由器(1)运行隧道服务进程,隧道服务进程对所述路由器(1)内网侧的IP地址,记为IP0的进行绑定、侦听;在接受所述隧道客户进程的TCP或UDP连接后,等待所述隧道客户进程发出“隧道建立请求”信令,在接收到“隧道建立请求”信令后,建立服务端的隧道环境,并封装“隧道建立结果回应”信令,发回所述隧道客户进程;3)初始化蓝牙MAC地址与内网IP地址转换表;具体步骤如下:①所述蓝牙连接管理进程通过所述蓝牙单元(3)接受任一主动发起蓝牙搜索的蓝牙终端设备的连接请求,②将代表此蓝牙连接的描述符、蓝牙终端设备的48位蓝牙MAC地址,作为一行新记录插入到所述蓝牙MAC地址与IP地址转换表的末尾;③初始化“IP地址”字段为NULL,NULL表示未分配IP;④并发跳转至本流程①、步骤4,并发执行;4)分配内网IP地址并记录蓝牙MAC地址与内网IP映射,具体步骤如下:蓝牙终端设备通过上述蓝牙连接,传递需获取IP地址的请求包至所述蓝牙连接管理进程;蓝牙连接管理进程将蓝牙终端设备的蓝牙MAC地址作为参数,发送给所述隧道客户进程;隧道客户进程保存上述蓝牙MAC地址的参数,封装“内网IP地址申请”信令,通过所述隧道发送至隧道服务进程;隧道服务进程接收到“内网IP地址申请”信令,通过所述路由器(1)内部DHCP从内网地址池中获取一个未分配的内网IP地址IPX;封装“内网IP地址申请回应”信令,再通过所述隧道发送至所述隧道客户进程;将内网地址IPX插入到所述蓝牙设备IP地址表末尾;隧道客户进程取出内网地址IPX和所保存的蓝牙MAC地址,一起作为参数发送至所述蓝牙连接管理进程;蓝牙连接管理进程取出蓝牙MAC地址值,查询IP地址转换表,使该蓝牙MAC地址值所在的记录行的“IP地址”字段赋予地址IPX;将IPX填入IP地址请求的响应包,通过上述记录行中蓝牙连接的描述符将该包传回至蓝牙终端设备,该蓝牙终端设备协议栈用IPX作为本地IP地址;5)发送蓝牙终端设备的IP分组,具体步骤如下:所述蓝牙单元(3)接收任一蓝牙终端设备从蓝牙通信层发送的每一个IP分组;所述蓝牙连接管理进程通过蓝牙终端设备的蓝牙连接描述符读取IP分组;以每一IP分组作...

【专利技术属性】
技术研发人员:赵双强包志炎周建芬
申请(专利权)人:浙江水利水电学院
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1