CN106936723A - 一种基于隧道机制的蓝牙路由器及路由方法 - Google Patents

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

Info

Publication number
CN106936723A
CN106936723A CN201710123631.6A CN201710123631A CN106936723A CN 106936723 A CN106936723 A CN 106936723A CN 201710123631 A CN201710123631 A CN 201710123631A CN 106936723 A CN106936723 A CN 106936723A
Authority
CN
China
Prior art keywords
bluetooth
address
tunnel
signaling
router
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710123631.6A
Other languages
English (en)
Other versions
CN106936723B (zh
Inventor
赵双强
包志炎
周建芬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Water Resources and Electric Power
Original Assignee
Zhejiang University of Water Resources and Electric Power
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Water Resources and Electric Power filed Critical Zhejiang University of Water Resources and Electric Power
Priority to CN201710123631.6A priority Critical patent/CN106936723B/zh
Publication of CN106936723A publication Critical patent/CN106936723A/zh
Application granted granted Critical
Publication of CN106936723B publication Critical patent/CN106936723B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

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

Description

一种基于隧道机制的蓝牙路由器及路由方法
技术领域
本发明涉及通讯领域,更具体的说,尤其涉及一种基于隧道机制的蓝牙路由器及路由方法。
背景技术
目前,各种蓝牙终端设备无法通过传统路由器直接上网。如需访问互联网各种蓝牙终端设备必须升级至蓝牙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连接;③封装“隧道建立请求”信令,发送至所述隧道服务进程;④等待隧道服务端的回应信令;⑤接收到服务端“隧道建立回应”信令,解析、判断服务端隧道建立的结果;⑥若服务端建立成功,则继续建立客户端隧道环境;⑦若客户端也建立成功,则隧道建立成功,运行所述蓝牙连接管理进程;⑧若服务端建立不成功,或者客户端建立不成功,则隧道建立失败,重新启动所述蓝牙路由器。
进一步的,所述信令的格式包括8位隧道源地址、8位隧道目的地址、4位信令类型、4位错误码和根据不同信令类型的需求另行附加的0个或多个字节的数据;8位隧道源地址、8位隧道目的地址字段均为自定义的ID,用于标识隧道两端的进程;4位信令类型包括隧道建立请求信令0000、隧道建立回应信令0001、内网IP地址申请信令0010、内网IP地址申请回应信令0011、发送IP分组信令0100、接收IP分组信令0101、内网IP地址释放信令0110和内网IP地址释放回应信令0111;无错误发生时,所有信令的4位错误码字段均为0000;根据不同错误类别,自定义其他错误码值。
进一步的,对于内网IP地址申请回应信令,错误码为0000时,附加4字节分配的内网IP地址;有分配错误发生时,无附加IP地址数据;对于内网IP地址释放信令、内网IP地址释放回应信令,分别附加4字节的申请释放的、释放后的内网IP地址;对于发送IP分组信令、接收IP分组信令,均附加16位的IP分组长度字段和待转发的IP分组。
本发明的有益效果在于:本发明提供了携带各种蓝牙版本的蓝牙终端设备的直连路由器的上网解决方案,给用户以简单、方便、一致的上网体验,解决了各种类型蓝牙终端设备统一上网的复杂、不便性。本发明是在传统的路由器模块基础上进行简单、低成本的扩展,为所述的蓝牙路由器的制造生产提供了便捷。
附图说明
图1是本发明一种基于隧道机制的蓝牙路由器的连接示意图。
图2是本发明一种基于隧道机制的蓝牙路由器整体工作流程图。
图3是本发明一种基于隧道机制的蓝牙路由器的路由方法步骤2的流程示意图。
图4是本发明一种基于隧道机制的蓝牙路由器的路由方法步骤3的流程示意图。
图5是本发明一种基于隧道机制的蓝牙路由器的路由方法步骤4的流程示意图。
图6是本发明一种基于隧道机制的蓝牙路由器的路由方法步骤5的流程示意图。
图7是本发明一种基于隧道机制的蓝牙路由器的路由方法步骤6的流程示意图。
图8是本发明一种基于隧道机制的蓝牙路由器的路由方法步骤7的流程示意图。
图9是本发明信令的数据结构示意图。
图10是本发明隧道建立请求信令的结构示意图。
图11是本发明隧道建立回应信令的结构示意图。
图12是本发明内网IP地址申请信令的结构示意图。
图13是本发明内网IP地址申请回应信令的结构示意图。
图14是本发明发送IP分组信令的结构示意图。
图15是本发明接收IP分组信令的结构示意图。
图16是本发明内网IP地址释放信令的结构示意图。
图17是本发明内网IP地址释放回应信令的结构示意图。
图中,1-路由器、2-单片机、3-蓝牙单元、4-电源管理模块、5-网络接口、6-网络接口之一。
具体实施方式
下面结合附图对本发明作进一步说明:
如图1~8所示,一种基于隧道机制的蓝牙路由器,包括路由器1、单片机2、蓝牙单元3和电源管理模块4,所述单片机2与所述蓝牙单元3电连接,所述单片机2具有网络接口5,且与所述路由器1的网络接口之一6进行网络连接,所述电源管理模块4与上述的路由器1、单片机2、蓝牙单元3均电连接并为它们供电;所述路由器1的存储器内存储有隧道服务进程和蓝牙设备IP地址表,所述单片机2的存储器内存储有隧道客户进程、蓝牙连接管理进程、蓝牙MAC地址和IP地址转换表,所述蓝牙路由器接受任意蓝牙终端设备的连接请求,通过蓝牙连接,为各蓝牙终端动态分配内网侧IP地址、转发各蓝牙终端的IP分组到互联网并从互联网接收IP分组转发回正确的终端,实现任意蓝牙终端设备的互联网通信。
所述IP地址转换表是一种二维表数据结构,每一行保存一个蓝牙终端设备与所述蓝牙路由器之间所建立的蓝牙连接的记录,记录包括蓝牙连接描述符、蓝牙MAC地址和IP地址三个属性字段,其中,蓝牙连接描述符表示某一蓝牙终端设备与所述蓝牙单元3之间建立的蓝牙连接的描述符;蓝牙MAC地址表示这个蓝牙终端设备的48位蓝牙MAC地址;IP地址表示分配给这个蓝牙终端设备的32位内网IP地址;所述蓝牙设备IP地址表是一种一维数组数据结构,其每一个数组成员保存一个当前分配给一蓝牙终端设备的IP地址。
一种基于隧道机制的蓝牙路由器的路由方法,包括如下步骤:
1)为单片机2分配固定内网IP地址,具体步骤如下:蓝牙路由器加电启动后,其路由器1通过内部的DHCP和网络接口之一6将内网地址池中的第一个IP地址记为IP1,固定分配给所述单片机2的网络接口5;
2)建立工作隧道,具体步骤如下:路由器1运行隧道服务进程,隧道服务进程对所述路由器1内网侧的IP地址,记为IP0的进行绑定、侦听;在接受所述隧道客户进程的TCP或UDP连接后,等待所述隧道客户进程发出“隧道建立请求”信令,在接收到“隧道建立请求”信令后,建立服务端的隧道环境,并封装“隧道建立结果回应”信令,发回所述隧道客户进程;
3)初始化蓝牙MAC地址与内网IP地址转换表;具体步骤如下:①所述蓝牙连接管理进程通过所述蓝牙单元3接受任一主动发起蓝牙搜索的蓝牙终端设备的连接请求,②将代表此蓝牙连接的描述符、蓝牙终端设备的4位蓝牙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分组作为参数发送至所述隧道客户进程一次;隧道客户进程每次将得到的一个IP分组封装进入“发送IP分组”信令;通过所述隧道传递至所述隧道服务进程;隧道服务进程接收此信令,取得待发送的IP分组;通过所述路由器1转发;
6)接收IP分组转发回蓝牙终端设备,具体步骤如下:所述路由器1从收到每一个IP分组中取出目的IP地址并查找所述蓝牙设备IP地址表;若目的IP地址在蓝牙设备IP地址表中,发送每一IP分组至所述隧道服务进程;若目的IP地址不在蓝牙设备IP地址表中,转发IP分组至其他路由器1接口;所述隧道服务进程一次用一个IP分组封装一个“接收IP分组”信令,通过所述隧道传递至所述隧道客户进程;隧道客户进程接收此信令,取得待接收IP分组作为参数,发送至所述蓝牙连接管理进程;蓝牙连接管理进程取出待接收IP分组的目的IP地址,查找IP地址转换表中该目的IP地址所在的行;若找到该行,取出蓝牙终端设备的蓝牙MAC地址、蓝牙连接描述符,否则直接丢弃此待接收IP分组;通过蓝牙连接描述符传递此待接收的IP分组至正确的蓝牙终端设备,该蓝牙终端设备IP层获得此IP分组;
7)释放内网IP地址,终端上网结束,具体步骤如下:①蓝牙终端设备断蓝牙连接,协议栈删除已分配的内网地址IPX;②所述蓝牙连接管理进程获得蓝牙连接断开的通知;③以此连接的描述符查找IP地址转换表,取得所在记录行的“IP地址”字段的地址;④将此IP地址作为参数,发送至所述隧道客户进程;⑤删除本行记录;⑥隧道客户进程将上述的IP地址参数封装进入“内网IP地址释放”信令,通过所述隧道传递至所述隧道服务进程;⑦隧道服务进程接收信令后取出要释放的IP地址,通过所述路由器1内部DHCP将其释放回地址池中;⑧封装“内网IP地址释放回应”信令,通过所述隧道传递至所述隧道客户进程;⑨查找所述蓝牙设备IP地址表,删除释放的IP地址的对应行;⑩隧道客户进程解析回应信令,若得到释放IP地址失败,则重复该步骤中的⑥至⑩步,若得到释放IP地址成功,则跳转至整体工作步骤3;
8)重复步骤3~7,直至所述蓝牙路由器电源关闭。
所述步骤2中隧道客户端的具体实现流程如下:①所述单片机2运行所述隧道客户进程;②隧道客户进程以所述网络接口5地址IP1作为本地地址,所述路由器1的内网侧地址IP0作为目标地址,发起TCP或UDP连接;③封装“隧道建立请求”信令,发送至所述隧道服务进程;④等待隧道服务端的回应信令;⑤接收到服务端“隧道建立回应”信令,解析、判断服务端隧道建立的结果;⑥若服务端建立成功,则继续建立客户端隧道环境;⑦若客户端也建立成功,则隧道建立成功,运行所述蓝牙连接管理进程;⑧若服务端建立不成功,或者客户端建立不成功,则隧道建立失败,重新启动所述蓝牙路由器。
如图9~17所示,所述信令的格式包括8位隧道源地址、8位隧道目的地址、4位信令类型、4位错误码和根据不同信令类型的需求另行附加的0个或多个字节的数据。8位隧道源地址、8位隧道目的地址字段均为自定义的ID,用于标识隧道两端的进程。4位信令类型包括隧道建立请求信令0000、隧道建立回应信令0001、内网IP地址申请信令0010、内网IP地址申请回应信令0011、发送IP分组信令0100、接收IP分组信令0101、内网IP地址释放信令0110和内网IP地址释放回应信令0111。无错误发生时,所有信令的4位错误码字段均为0000;根据不同错误类别,自定义其他错误码值;
对于内网IP地址申请回应信令,错误码为0000时,附加4字节分配的内网IP地址;有分配错误发生时,无附加IP地址数据;对于内网IP地址释放信令、内网IP地址释放回应信令,分别附加4字节的申请释放的、释放后的内网IP地址。对于发送IP分组信令、接收IP分组信令,均附加16位的IP分组长度字段和待转发的IP分组。
上述实施例只是本发明的较佳实施例,并不是对本发明技术方案的限制,只要是不经过创造性劳动即可在上述实施例的基础上实现的技术方案,均应视为落入本发明专利的权利保护范围内。

Claims (6)

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分组作为参数发送至所述隧道客户进程一次;隧道客户进程每次将得到的一个IP分组封装进入“发送IP分组”信令;通过所述隧道传递至所述隧道服务进程;隧道服务进程接收此信令,取得待发送的IP分组;通过所述路由器(1)转发;
6)接收IP分组转发回蓝牙终端设备,具体步骤如下:所述路由器(1)从收到每一个IP分组中取出目的IP地址并查找所述蓝牙设备IP地址表;若目的IP地址在蓝牙设备IP地址表中,发送每一IP分组至所述隧道服务进程;若目的IP地址不在蓝牙设备IP地址表中,转发IP分组至其他路由器(1)接口;所述隧道服务进程一次用一个IP分组封装一个“接收IP分组”信令,通过所述隧道传递至所述隧道客户进程;隧道客户进程接收此信令,取得待接收IP分组作为参数,发送至所述蓝牙连接管理进程;蓝牙连接管理进程取出待接收IP分组的目的IP地址,查找IP地址转换表中该目的IP地址所在的行;若找到该行,取出蓝牙终端设备的蓝牙MAC地址、蓝牙连接描述符,否则直接丢弃此待接收IP分组;通过蓝牙连接描述符传递此待接收的IP分组至正确的蓝牙终端设备,该蓝牙终端设备IP层获得此IP分组;
7)释放内网IP地址,终端上网结束,具体步骤如下:①蓝牙终端设备断蓝牙连接,协议栈删除已分配的内网地址IPX;②所述蓝牙连接管理进程获得蓝牙连接断开的通知;③以此连接的描述符查找IP地址转换表,取得所在记录行的“IP地址”字段的地址;④将此IP地址作为参数,发送至所述隧道客户进程;⑤删除本行记录;⑥隧道客户进程将上述的IP地址参数封装进入“内网IP地址释放”信令,通过所述隧道传递至所述隧道服务进程;⑦隧道服务进程接收信令后取出要释放的IP地址,通过所述路由器(1)内部DHCP将其释放回地址池中;⑧封装“内网IP地址释放回应”信令,通过所述隧道传递至所述隧道客户进程;⑨查找所述蓝牙设备IP地址表,删除释放的IP地址的对应行;⑩隧道客户进程解析回应信令,若得到释放IP地址失败,则重复该步骤中的⑥至⑩步,若得到释放IP地址成功,则跳转至整体工作步骤3;
8)重复步骤3~7,直至所述蓝牙路由器电源关闭。
4.根据权利要求3所述的一种基于隧道机制的蓝牙路由器的路由方法,其特征在于:所述步骤2中隧道客户端的具体实现流程如下:①所述单片机(2)运行所述隧道客户进程;②隧道客户进程以所述网络接口(5)地址IP1作为本地地址,所述路由器(1)的内网侧地址IP0作为目标地址,发起TCP或UDP连接;③封装“隧道建立请求”信令,发送至所述隧道服务进程;④等待隧道服务端的回应信令;⑤接收到服务端“隧道建立回应”信令,解析、判断服务端隧道建立的结果;⑥若服务端建立成功,则继续建立客户端隧道环境;⑦若客户端也建立成功,则隧道建立成功,运行所述蓝牙连接管理进程;⑧若服务端建立不成功,或者客户端建立不成功,则隧道建立失败,重新启动所述蓝牙路由器。
5.根据权利要求3所述的一种基于隧道机制的蓝牙路由器的路由方法,其特征在于:所述信令的格式包括8位隧道源地址、8位隧道目的地址、4位信令类型、4位错误码和根据不同信令类型的需求另行附加的0个或多个字节的数据;8位隧道源地址、8位隧道目的地址字段均为自定义的ID,用于标识隧道两端的进程;4位信令类型包括隧道建立请求信令0000、隧道建立回应信令0001、内网IP地址申请信令0010、内网IP地址申请回应信令0011、发送IP分组信令0100、接收IP分组信令0101、内网IP地址释放信令0110和内网IP地址释放回应信令0111;无错误发生时,所有信令的4位错误码字段均为0000;根据不同错误类别,自定义其他错误码值。
6.根据权利要求5所述的一种基于隧道机制的蓝牙路由器的路由方法,其特征在于:对于内网IP地址申请回应信令,错误码为0000时,附加4字节分配的内网IP地址;有分配错误发生时,无附加IP地址数据;对于内网IP地址释放信令、内网IP地址释放回应信令,分别附加4字节的申请释放的、释放后的内网IP地址;对于发送IP分组信令、接收IP分组信令,均附加16位的IP分组长度字段和待转发的IP分组。
CN201710123631.6A 2017-03-03 2017-03-03 一种基于隧道机制的蓝牙路由器及路由方法 Active CN106936723B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710123631.6A CN106936723B (zh) 2017-03-03 2017-03-03 一种基于隧道机制的蓝牙路由器及路由方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710123631.6A CN106936723B (zh) 2017-03-03 2017-03-03 一种基于隧道机制的蓝牙路由器及路由方法

Publications (2)

Publication Number Publication Date
CN106936723A true CN106936723A (zh) 2017-07-07
CN106936723B CN106936723B (zh) 2023-05-12

Family

ID=59424107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710123631.6A Active CN106936723B (zh) 2017-03-03 2017-03-03 一种基于隧道机制的蓝牙路由器及路由方法

Country Status (1)

Country Link
CN (1) CN106936723B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111065080A (zh) * 2019-12-20 2020-04-24 深圳市椰壳信息科技有限公司 基于蓝牙路由器的数据传输方法及蓝牙路由器
CN114531656A (zh) * 2021-12-31 2022-05-24 珠海雷特科技股份有限公司 蓝牙设备的同步通信方法、计算机装置及计算机可读存储介质
CN115866007A (zh) * 2023-02-21 2023-03-28 成都字节流科技有限公司 一种医保专网对外通信实现方法、系统、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117508A1 (en) * 2002-02-20 2004-06-17 Keiichi Shimizu Mobile body network
US20050080884A1 (en) * 2002-01-29 2005-04-14 David Siorpaes Method and system for connecting mobile client devices to the internet
CN201995142U (zh) * 2011-01-10 2011-09-28 西安龙飞软件有限公司 一种蓝牙3g路由器
US20120044920A1 (en) * 2009-05-12 2012-02-23 Zte Corporation Method, System and Terminal for Accessing Packet Data Serving Node
CN103874168A (zh) * 2013-12-27 2014-06-18 北京奇虎科技有限公司 一种通过蓝牙匹配进行网络鉴权的方法和路由装置
CN104469776A (zh) * 2014-12-05 2015-03-25 成都布林特信息技术有限公司 带有蓝牙的数字终端路由器
CN105490949A (zh) * 2016-01-06 2016-04-13 江苏大学 一种基于蓝牙4.0的智能路由器及其控制方法
CN105897542A (zh) * 2016-05-13 2016-08-24 浙江宇视科技有限公司 一种隧道建立方法及视频监控系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050080884A1 (en) * 2002-01-29 2005-04-14 David Siorpaes Method and system for connecting mobile client devices to the internet
US20040117508A1 (en) * 2002-02-20 2004-06-17 Keiichi Shimizu Mobile body network
US20120044920A1 (en) * 2009-05-12 2012-02-23 Zte Corporation Method, System and Terminal for Accessing Packet Data Serving Node
CN201995142U (zh) * 2011-01-10 2011-09-28 西安龙飞软件有限公司 一种蓝牙3g路由器
CN103874168A (zh) * 2013-12-27 2014-06-18 北京奇虎科技有限公司 一种通过蓝牙匹配进行网络鉴权的方法和路由装置
CN104469776A (zh) * 2014-12-05 2015-03-25 成都布林特信息技术有限公司 带有蓝牙的数字终端路由器
CN105490949A (zh) * 2016-01-06 2016-04-13 江苏大学 一种基于蓝牙4.0的智能路由器及其控制方法
CN105897542A (zh) * 2016-05-13 2016-08-24 浙江宇视科技有限公司 一种隧道建立方法及视频监控系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111065080A (zh) * 2019-12-20 2020-04-24 深圳市椰壳信息科技有限公司 基于蓝牙路由器的数据传输方法及蓝牙路由器
CN111065080B (zh) * 2019-12-20 2023-07-18 深圳市椰壳信息科技有限公司 基于蓝牙路由器的数据传输方法及蓝牙路由器
CN114531656A (zh) * 2021-12-31 2022-05-24 珠海雷特科技股份有限公司 蓝牙设备的同步通信方法、计算机装置及计算机可读存储介质
CN115866007A (zh) * 2023-02-21 2023-03-28 成都字节流科技有限公司 一种医保专网对外通信实现方法、系统、设备及存储介质
CN115866007B (zh) * 2023-02-21 2023-05-02 成都字节流科技有限公司 一种医保专网对外通信实现方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN106936723B (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
CN101917707B (zh) 无线传感器网络的ip寻址方法及系统
US8103784B2 (en) Communication device and communication control method using efficient echonet address determination scheme
US6122268A (en) Method for allocating geographical identifier and network corresponding to movable hosts
CN101588293B (zh) Ad Hoc网络与IPv6网络全IP通信互联系统
CN102209121A (zh) IPv6网络和IPv4网络之间互通的方法和装置
CN104247349B (zh) 一种通信方法、装置及系统
CN102308523B (zh) 数据通信网络配置方法、网关网元及数据通信系统
CN107277190B (zh) 一种sdn设备自动上线的方法、sdn设备和控制器
CN101247253A (zh) Ip网络中基于虚拟分发网的多播传送方法
CN101072158A (zh) 一种发布及处理虚线路信息的方法和供应商边缘设备
CN104954265A (zh) 发送组播报文的方法及交换机
US20120082110A1 (en) Method and terminal for transmitting service data
CN106936723A (zh) 一种基于隧道机制的蓝牙路由器及路由方法
CN104243427A (zh) 虚拟机在线迁移方法、数据包传输方法和设备
CN101242370B (zh) 实现以太网与帧中继互联的方法与协议转换设备
CN104540180B (zh) 一种无需根权限的安卓多跳路由实现方法
CN107370839A (zh) 工业现场设备的寻址方法及相关装置、系统
CN104104749B (zh) 一种隧道ip地址的分配方法及装置
CN107623752A (zh) 基于链路层的网络管理方法和装置
CN108696370B (zh) 一种服务器与业务绑定和解绑定方法、装置及系统
CN103957242A (zh) 一种ip虚拟化转换的物联网网关
CN102511152A (zh) 在共享网络中实现组播的方法、系统及装置
CN106657377B (zh) 一种wia-pa/全互联制造网络信息服务适配器及实现方法
CN102957755B (zh) 一种地址解析方法、装置及信息传输方法
US11523443B2 (en) Extraction, conversion, and transmission of user packet from encapsulated packet

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant