首页> 中国专利> 基于令牌协议的令牌组网构建方法

基于令牌协议的令牌组网构建方法

摘要

本发明公开的基于令牌协议的令牌组网构建方法,定义物联网用户端到云端或网关到云端或用户端到网关的通讯协议。通讯指令格式以工业标准Modbus-RTU为蓝本,数据以二进制格式传输 ,应用于高速且相对稳定的有线网络,可靠性由底层提供,支持TCP/UDP/HTTP/RS232/RS485等网络传输,令牌组网技术基于令牌作为身份验证,把众多服务器、传感器设备和用户端程序组建成为一个分布式网络,网络节点之间基于令牌验证身份。

著录项

  • 公开/公告号CN106209522A

    专利类型发明专利

  • 公开/公告日2016-12-07

    原文格式PDF

  • 申请/专利权人 东莞市星东升实业有限公司;

    申请/专利号CN201510213377.X

  • 发明设计人 黄国石;杨家盛;

    申请日2015-04-30

  • 分类号H04L12/28(20060101);H04L29/08(20060101);H04L9/32(20060101);H04W84/18(20090101);

  • 代理机构北京科亿知识产权代理事务所(普通合伙);

  • 代理人汤东凤

  • 地址 523000 广东省东莞市高埗镇广场北路冼沙第三工业区(宝源工业园)一楼

  • 入库时间 2023-06-19 01:04:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-02

    授权

    授权

  • 2017-10-13

    实质审查的生效 IPC(主分类):H04L12/28 申请日:20150430

    实质审查的生效

  • 2016-12-07

    公开

    公开

说明书

技术领域

本发明涉及令牌组网技术领域,尤其涉及一种基于令牌协议的令牌组网构建方法。

背景技术

在物联网领域 ,特别是智能家居市场 ,各种传感器、控制器、手机、平板和电脑等网络设备将彼此通过网络联系在一起。现有的组网技术普遍是手机连接云端 ,然后控制家里的智能设备 ,或者办公室内部系统经云端连接远程传感器采集数据 ,对于绝大多数物联网公司而言难以实现 ,并且存在多种缺陷 ,不利于物联网的快速发展。

现有物联网组网技术存在以下问题:

1.双内网难以组网:随着全球IP资源枯竭 ,绝大多数公司内网都通过 NAT连接互联网 ,公司内部数据中心服务器不具备公网IP地址,远程传感器无法直接访问。而数量众多的传感器同样不具有公网IP地址 ,一般藏在NAT路由器后面 ,只能向外建立数据连接。 数据中心和传感器都位于内网 ,都只能向外建立数据连接 ,必须借助第三方中继服务器才能完成数据传输。而绝大多数物联网公司并没有熟悉掌握中继技术。

2.用户隐私安全:现有组网技术普遍由手机链接云端 ,转发控制指令给家里的智能设备。或者家里智能设备触发安全警报时 ,经云端转发给手机。经过调查 ,绝大部分大众用户难以接受涉及个人隐私的数据经过厂商的云端 ,更加无法接收厂商云端可直接下发指令打开家里的大门。

3.厂商云端安全:各家厂商基于投入成本的考虑 ,只投入有限的数台云端服务器 ,为用户提供云服务。一旦云端服务器遭受拒绝服务攻击(DDOS)或者重放攻击(RelayAttach)等攻击手段 ,将会大大降低给用户服务的中转速度 ,甚至无法提供服务。用户家里遭受入侵、火灾或者煤气泄漏等发出报警信息时 ,无法到达用户手机 ,甚至用户即使在家里也无法收到报警信息。有心人仅需要很低的成本即可完成此类攻击。

4.云端扩展性:随着联网设备的增加 ,很快就会达到云端服务器所能支撑的上限 ,需要增加更多的服务器来扩展。但是很多组网方案无法实现动态扩展 ,只能够在出厂安装实施时就指定了使用的云端服务器。一旦某台云端服务器业务繁忙压力过大 ,甚至拓机,这个时候即使有其它云端服务器空闲,也无法实现动态切换。已有云端服务器收到拒绝服务攻击(DDOS)或者重放攻击(RelayAttach)等攻击手段时,也无法快速有效迁移到新的云端服务器上。

发明内容

本发明的目的在于提供一种基于令牌协议的令牌组网构建方法,有效解决上述技术问题。

为有效解决上述技术问题,本发明采取的技术方案如下:

基于令牌协议的令牌组网构建方法,该方法包括以下步骤:

(1)建设通讯协议:以工业标准 Modbus-RTU 为蓝本,主要包含令牌、 指令类型、 数据 长度、数据体及校验部分;

(2)实现通讯协议:设定以令牌为核心的令牌协议,在通信会话中表示用户的身份,登录的 0x01系统指令及注销的 0x02 系统指令,且其它所有指令必须携带令牌,否则将作为非法指令处理,通信的任意一方,有权拒绝无法识别的另一方;

(3)通讯方式设定:通过外网连接实现网关与云端服务器之间的通讯网络;

(4)系统指令设定:设定令牌系统自身使用的指令,系统保留指令代码为 0x01~0x0F,用户从0x10 开始使用;

(5)用户指令设定:设定用户指令从 0x10 开始使用。

特别的,所述步骤(1)还包括以下步骤:

(1-1)用户端设定:包括笔记本、台式//手机平板移动设备或代理Web站点;

(1-2)云端:设定身份验证、数据转发、穿透握手及系统更新功能;

(1-3)网关:整个无线子网的管理者,接入以太网的入口点;

(1-4)云端转发:以云端作为控制逻辑的核心,并将网关作为内外网数据协议的转换;

(1-5)直连网关:以网关作为控制逻辑的核心,云端作为握手所需要的一个中间点。

特别的,所述步骤(2)还包括以下步骤:

(2-1)请求应答:组网基本模型采用请求应答机制,网络中任意一个节点均可主动发起请求,接收者无论处理结果如何,都要在指定时间内做出响应,否则发送者可能根据业务重要程度采用错误重发机制重复发送若干次请求;

(2-2)指令格式:外网组网由网关和服务端组成,基本上基于以太网TCP/UDP/HTTP;

(2-3)令牌:在通讯时,令牌Token是一个由服务端生产的随机数,用于服务端确认客户端身份;

(2-4)指令类型:指令类型采用 1个字节 ,数值范围 1~127,最高位为 1表示该指令是响应指令;响应指令的低7位必须与请求指令的低7位一致;

(2-5)数据部分:数据长度范围0~127,128及以上最高位为表示采用7位压缩编码整数扩展,小数据量时用 1个字节,数据长度指明后续数据部分的字节数;

(2-6)数据校验 :默认采用CRC32校验指令前面部分,各系统根据需要可能更换校验算法或者加盐实现数字签名;

(2-7)加密保护:指令在传输过程中加密 ,,采用XOR或者RC4加密。

4.根据权利要求1所述的基于令牌协议的令牌组网构建方法,其特征在于,所述步骤(3)还包括以下步骤:

(3-1)HTTP通讯:优先考虑 HTTP传输通讯指令,采用十六进制字符串编码要传输的二进制数据内容,通过POST谓语传输;

(3-2)TCP通讯:TCP保持连接,云端可主动向网关推送指令,保证指令实时转发;

(3-3)UDP通讯:有令牌存在为前提,即使使用无连接的UDP传输指令数据包,用于识别指令属于哪一个会话。

特别的,所述步骤(4)还包括以下步骤:

(4-1)登录指令0x01:

客户端请求:0x000x000x000x00+0x01+ 长度 +N 身份证明 + 校验;

服务端响应:新令牌 +0x01+ 长度 +1状态 +S附加数据 + 校验客户端,联网第一步就是向服务端发送登录 ,此时令牌全0 ,服务端验明客户端身份后,将会在响应中为客户端指定新的令牌,身份证明用于向服务端表明身份,可以是设备ID ,也可以是用户名密码能够证明身份的数据 ,根据实际需要可能有调整 ,具体数据格式请参看具体设备指令说明;服务端响应的状态 ,0表示成功 ,其它数字表示相应错误码 ,后面的附加数据是成功或失败详细说明的字符串;

(4-2)注册指令0x02:

服务端请求:0x000x000x000x00 +0x02 + 长度 +N 身份证明 + 校验;

客户端响应:0x000x000x000x00 +0x02 + 长度 +1状态 +S附加数据 + 校验;

根据业务需要 ,客户端需要注册帐号时 ,采用注册指令 ,此时也不需要令牌,无论注册成功或者失败 ,服务端都不分配令牌 ,登录指令是取得令牌的唯一方式;

(4-3)心跳指令0x03:

客户端请求:令牌 +0x03 + 长度 +N 数据 + 校验;

服务端响应:令牌 +0x03 + 长度 +N 数据 + 校验;

通过心跳指令向服务端报告客户端的在线状态,可指定任意长度负载数据,参照以太网ICMP协议,默认负载数据为8字节,存储客户端时间嘀嗒数。服务端原样返回,客户端可依此计算网络传输时间响应必须包含同样的数据部分;

(4-4)注销指令0x04:

客户端请求:令牌 +0x04 + 长度 +0 数据 + 校验;

服务端响应:令牌 +0x04 + 长度 +1 状态 + 校验;

客户端通知服务端注销当前登录状态,服务端亦可通知客户端注销当前令牌,客户端需要重新登录, 响应状态0表示成功 ,其它数字表示相应错误码;

(4-5)读取内存0x05:

服务端请求:令牌 +0x05 + 长度 +4 地址 +4 数量 + 校验;

客户端响应:令牌 +0x05 + 长度 +N 数据 + 校验;

读取指定内存地址的数据;

(4-6)写入内存0x06:

服务端请求:令牌 +0x06 + 长度 +4 地址 +N 数据 + 校验;

客户端响应:令牌 +0x06 + 长度 +4 成功数量 + 校验;

向指定内存地址写入数据。

特别的,所述步骤(5)还包括以下步骤:

令牌协议承载智能家居指令时,数据部分第一个字节表示节点地址。

本发明的有益效果为:本发明提供的基于令牌协议的令牌组网构建方法,定义物联网用户端(手机)到云端(服务器)或网关(设备端)到云端(服务器)或用户端到网关的通讯协议。通讯指令格式以工业标准 Modbus-RTU为蓝本 ,数据以二进制格式传输 ,应用于高速且相对稳定的有线 网络,可靠性由底层提供,支持TCP/UDP/HTTP/RS232/RS485等网络传输,令牌组网技术基于令牌作为身份验证 ,把众多服务器、传感器设备和用户端程序组建成为一个分布式网络,网络节点之间基于令牌验证身份。

下面结合附图对本发明进行详细说明。

附图说明

图1是本发明所述基于令牌协议的令牌组网终端结构示意图;

图2是本发明所述基于令牌协议的令牌组网应用终端结构示意图。

具体实施方式

实施例1:

在本实施例中,所述传统公知结构的组成原件在图中不做文字说明及显示。

如图1及图2所示,本实施例公开的基于令牌协议的令牌组网构建方法, 该方法包括以下步骤:

(1)建设通讯协议:以工业标准 Modbus-RTU 为蓝本,主要包含令牌、 指令类型、 数据 长度、数据体及校验部分;

(1-1)用户端设定:包括笔记本、台式//手机平板移动设备或代理Web站点;

(1-2)云端:设定身份验证、数据转发、穿透握手及系统更新功能;

(1-3)网关:整个无线子网的管理者,接入以太网的入口点;

(1-4)云端转发:以云端作为控制逻辑的核心,并将网关作为内外网数据协议的转换;

(1-5)直连网关:以网关作为控制逻辑的核心,云端作为握手所需要的一个中间点。

(2)实现通讯协议:设定以令牌为核心的令牌协议,在通信会话中表示用户的身份,登录的 0x01系统指令及注销的 0x02 系统指令,且其它所有指令必须携带令牌,否则将作为非法指令处理,通信的任意一方,有权拒绝无法识别的另一方;

(2-1)请求应答:组网基本模型采用请求应答机制,网络中任意一个节点均可主动发起请求,接收者无论处理结果如何,都要在指定时间内做出响应,否则发送者可能根据业务重要程度采用错误重发机制重复发送若干次请求;

(2-2)指令格式:外网组网由网关和服务端组成,基本上基于以太网TCP/UDP/HTTP;

(2-3)令牌:在通讯时,令牌Token是一个由服务端生产的随机数,用于服务端确认客户端身份;

(2-4)指令类型:指令类型采用 1个字节 ,数值范围 1~127,最高位为 1表示该指令是响应指令;响应指令的低7位必须与请求指令的低7位一致;

(2-5)数据部分:数据长度范围0~127,128及以上最高位为表示采用7位压缩编码整数扩展,小数据量时用 1个字节,数据长度指明后续数据部分的字节数;

(2-6)数据校验 :默认采用CRC32校验指令前面部分,各系统根据需要可能更换校验算法或者加盐实现数字签名;

(2-7)加密保护:指令在传输过程中加密 ,,采用XOR或者RC4加密。

(3)通讯方式设定:通过外网连接实现网关与云端服务器之间的通讯网络;

(3-1)HTTP通讯:优先考虑 HTTP传输通讯指令,采用十六进制字符串编码要传输的二进制数据内容,通过POST谓语传输;

(3-2)TCP通讯:TCP保持连接,云端可主动向网关推送指令,保证指令实时转发;

(3-3)UDP通讯:有令牌存在为前提,即使使用无连接的UDP传输指令数据包,用于识别指令属于哪一个会话。

(4)系统指令设定:设定令牌系统自身使用的指令,系统保留指令代码为 0x01~0x0F,用户从0x10 开始使用;

(4-1)登录指令0x01:

客户端请求:0x000x000x000x00+0x01+ 长度 +N 身份证明 + 校验;

服务端响应:新令牌 +0x01+ 长度 +1状态 +S附加数据 + 校验客户端,联网第一步就是向服务端发送登录 ,此时令牌全0 ,服务端验明客户端身份后,将会在响应中为客户端指定新的令牌,身份证明用于向服务端表明身份,可以是设备ID ,也可以是用户名密码能够证明身份的数据 ,根据实际需要可能有调整 ,具体数据格式请参看具体设备指令说明;服务端响应的状态 ,0表示成功 ,其它数字表示相应错误码 ,后面的附加数据是成功或失败详细说明的字符串;

(4-2)注册指令0x02:

服务端请求:0x000x000x000x00 +0x02 + 长度 +N 身份证明 + 校验;

客户端响应:0x000x000x000x00 +0x02 + 长度 +1状态 +S附加数据 + 校验;

根据业务需要 ,客户端需要注册帐号时 ,采用注册指令 ,此时也不需要令牌,无论注册成功或者失败 ,服务端都不分配令牌 ,登录指令是取得令牌的唯一方式;

(4-3)心跳指令0x03:

客户端请求:令牌 +0x03 + 长度 +N 数据 + 校验;

服务端响应:令牌 +0x03 + 长度 +N 数据 + 校验;

通过心跳指令向服务端报告客户端的在线状态,可指定任意长度负载数据,参照以太网ICMP协议,默认负载数据为8字节,存储客户端时间嘀嗒数。服务端原样返回,客户端可依此计算网络传输时间响应必须包含同样的数据部分;

(4-4)注销指令0x04:

客户端请求:令牌 +0x04 + 长度 +0 数据 + 校验;

服务端响应:令牌 +0x04 + 长度 +1 状态 + 校验;

客户端通知服务端注销当前登录状态,服务端亦可通知客户端注销当前令牌,客户端需要重新登录, 响应状态0表示成功 ,其它数字表示相应错误码;

(4-5)读取内存0x05:

服务端请求:令牌 +0x05 + 长度 +4 地址 +4 数量 + 校验;

客户端响应:令牌 +0x05 + 长度 +N 数据 + 校验;

读取指定内存地址的数据;

(4-6)写入内存0x06:

服务端请求:令牌 +0x06 + 长度 +4 地址 +N 数据 + 校验;

客户端响应:令牌 +0x06 + 长度 +4 成功数量 + 校验;

向指定内存地址写入数据。

(5)用户指令设定:设定用户指令从 0x10 开始使用。

令牌协议承载智能家居指令时,数据部分第一个字节表示节点地址。

申请人声明,所属技术领域的技术人员在上述实施例的基础上,将上述实施例某步骤,与发明内容部分的技术方案相组合,从而产生的新的方法,也是本发明的记载范围之一,本申请为使说明书简明,不再罗列这些步骤的其它实施方式。

本实施例中区别于现有技术的技术路线为:

令牌组网技术基于令牌作为身份验证 ,把众多服务器、传感器设备和用户端程序组建成为一个分布式网络,网络节点之间基于令牌验证身份。

1.组网便捷:设备端登录云端 ,通过身份验证后 ,取得云端颁发的全网通行令牌 ,前往分配的中继服务器;用户端登录云端 ,通过身份验证后 ,取得云端颁发的全网通行令牌 ,指定要连接的设备端,得到设备到所在中继服务器;设备端和用户端在中继服务器上完成组网,实现数据转发。 中继服务器由专业的服务提供商提供,物联网公司仅需要取得授权 ,既可以让自己的设备跟用户端建立网络连接。

2.用户隐私安全:负责身份验证的云端主服务器仅提供身份验证服务,不涉及具体业务。负责数据转发的中继服务器只是给设备端和用户端双方提供数据转发 ,不存储数据,不会收集用户隐私。用户端和设备端采用独有的加密密码对数据进行全程加密 ,云端中继服务器无法得知内容。

3.厂商云端安全:各家厂商基于投入成本的考虑 ,投入的服务器资源会逐步增加。令牌组网本身是一个分布式网络 ,每一个设备端或者用户端只会跟两台服务器(验证和中继 )通信 ,无法得知所有服务器地址。这就把拒绝服务攻击(DDOS)或者重放攻击(RelayAttach)等攻击的范围缩小到最小,避免造成大范围影响。整个云端网络也会逐步把受攻击服务器服务的设备端和用户端自动转移到其它服务器上,确保合法用户的正常使用。

4.网络扩展:令牌组网方案对各种云端服务器(包括验证和中继服务器)实行动态管理 ,组成集群网络。前端负载均衡负责把设备和用户登录请求分发到负载较轻的验证服务器上 ,进行身份验证。待验证服务器通过身份验证后 ,抽取空闲中继服务器供设备端和用户端使用。整个过程自动完成。如果云端服务器(包括验证和中继服务器)负载较重 ,或者收到攻击压力过大,将自动上报,不再为更多新来的设备端和用户端提供服务。

5.本地网优先:在某些场合 ,特别是绝大部分智能家居场合 ,用户端和设备端都位于同一个内网,可以直接通信 ,无需云端服务器。此时用户数据没有经过云端服务器 ,丝毫不需要担心隐私安全 ,也不用担心厂商云端服务器不稳定时无法连接设备端的问题发生。设备端和用户端连接云端服务器验证身份的时候 ,服务器同时记录设备端和用户端的公网地址和内网地址 ,用户端请求进入设备端时 ,可以得到设备端的内网地址和公网地址。此时用户端可以直接尝试连接设备端内网地址 ,如果设备端和用户端处于同一个内网,连接将会成功,而无需经过中继服务器。

6.NAT穿透:尽管用户端和设备端可能位于不同的 NAT之后 ,但是有过半的路由器 NAT支持完全圆锥NAT。

申请人又一声明,本发明通过上述实施例来说明本发明的实现方法及装置结构,但本发明并不局限于上述实施方式,即不意味着本发明必须依赖上述方法及结构才能实施。所属技术领域的技术人员应该明了,对本发明的任何改进,对本发明所选用实现方法等效替换及步骤的添加、具体方式的选择等,均落在本发明的保护范围和公开范围之内。

本发明并不限于上述实施方式,凡采用与本发明相似结构及其方法来实现本发明目的的所有实施方式均在本发明保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号