一种基于p2p技术的税控设备互联方法

文档序号:9670879阅读:425来源:国知局
一种基于p2p技术的税控设备互联方法
【技术领域】
[0001]本发明涉及互联网网络技术在税控行业中的应用技术领域,具体地说是一种实用性强、基于P2P技术的税控设备互联方法。
【背景技术】
[0002]现有的大部分税控设备已经实现网络化,但通常采用C/S结构,已实现的功能包括发票数据报送、在线发票验旧、设备状态收集在内的多项基础服务,在这些功能中,税控设备始终处于客户端的位置,所有功能均由服务器进行响应处理,缺乏设备间的直接管理、通信功能。
[0003]由于IPv4所支持的网络地址数量有限,目前大量联网设备均通过NAT(NetworkAddress Translator)技术实现地址复用,NAT可将局域网中多台设备的私有地址转换为一个可由Internet所识别的互联网地址,局域网中的设备通过该互联网地址对Internet进行访问。NAT设备在互联网与局域网中间实现了地址转换及内网保护的作用。但是通过NAT访问Internet的网络设备无法对外提供服务,S卩外部网络设备(包括处于其他NAT子网中的设备)无法直接访问NAT内部的网络设备。要建立一个P2P对等网络,必须穿透NAT设备实现网络互联。
[0004]目前NAT技术按照形态可分为两类:
锥形 NAT (Cone NAT)。
[0005]锥形NAT网络中的某内网IP及端口向外发送请求时,会被NAT映射到互联网地址的一个端口上,通过对该地址的访问限制不同,又分为3个小类:
完全锥形 NAT (Full Cone NAT)。
[0006]外网对任何经完全锥形NAT转换后的互联网地址及端口的发送的数据包,均会发送到对应的内网设备,NAT不会对其进行阻拦。
[0007]受限维形NAT(Restricted Cone NAT)。
[0008]与完全锥形NAT处理不同,NAT在会话中记录向外访问的IP地址,NAT仅允许由该IP地址发送的数据包通过,其他IP地址发送到该转换后的互联网地址及端口的数据包会被丢弃。
[0009]端口受限维形NAT(Port Restricted Cone NAT)。
[0010]与受限锥形NAT类似,但在会话中不仅保留了向外访问的IP地址,还保留了其端口信息,NAT仅允许该IP地址与端口发送的数据包通过,若IP地址不同或端口不同,发送到该转换后的互联网地址及端口的数据包将会被丢弃。
[0011]对称NAT (Symmetric NAT)。
[0012]对称NAT把每一个来自相同内部IP地址与端口的请求到一个特定目的地的IP地址和端口,映射到一个独特的外部来源的IP地址和端口。NAT不仅校验来源地址,还需要校验目的地址。若原内部IP地址与端口向另一个目的IP地址与端口创建连接时,会重新映射为新的端口号。
[0013]目前NAT穿透技术大致遵循如下两种方式:
STUN(Simple Traversal of UDP Through NAT,简单的使用UDP穿透NAT)。
[0014]STUN是个轻量级的协议,是基于UDP的完整的穿透NAT的解决方案。它允许应用程序发现它们与公共互联网之间存在的NAT和防火墙及其他类型。它也可以让应用程序确定NAT分配给它们的公网IP地址和端口号。通过STUN无法穿透对称NAT模式的路由设备。
[0015]TURNCTraversal Using Relays around NAT : Relay Extensions to SessionTraversal Utilities for NAT,STUN的扩展:使用中继穿透NAT)。
[0016]TURN是对STUN的扩展,简单的说,TURN与STUN的共同点都是通过修改应用层中的私网地址达到NAT穿透的效果,异同点是TURN是通过两方通讯的“中间人”方式实现穿透。如果一个主机位于NAT的后面,在某些情况下它不能够与其他主机点对点直接连接。在这些情况下,它需要使用中间网点提供的中继连接服务。TURN协议就是用来允许主机控制中继的操作并且使用中继与对端交换数据。TURN与其他中继控制协议不同的是它能够允许一个客户端使用一个中继地址与多个对端连接。
[0017]基于此,现提供一种基于P2P技术的税控设备互联方法。

【发明内容】

[0018]本发明的技术任务是针对以上不足之处,提供一种实用性强、基于P2P技术的税控设备互联方法。
[0019]一种基于P2P技术的税控设备互联方法,包括以下步骤:通过NAT子网穿透功能,经位于公网的辅助服务器提供的辅助连接功能,建立由税控设备及管理节点组成的对等网络,已建立通道的设备或管理节点之间进行直接通信,提高各节点之间通信的灵活度及实时性。
[0020]在网络税控设备中添加P2P功能模块,并在公网搭建实现STUN服务、TRUN服务及设备关联关系服务的辅助服务器辅助下创建P2P对等网络,通过设备关联关系服务取得访问权限,通过STUN服务获取设备自身及目标设备的网络情况,若可以创建对等连接,则直接创建连接,若不能创建对等连接,则通过TRUN服务进行中继连接。
[0021]所述辅助服务器定时或实时由税控管理系统获取设备关联关系,设备关联关系遵循如下约定:管理被管理关系或对等互联关系,其中,
管理被管理关系是指:管理节点与被管理节点进行连接,实现管理功能,受管理节点访问管理节点的公开资源;
对等互联关系是指:处于对等互联关系的各节点互相建立连接来访问各节点的公开资源,加入对等网络的税控设备已在管理系统中注册,且当前状态正常;辅助服务器仅对成功登录的税控设备提供对等网络连接辅助功能;发起通信的税控设备登录辅助服务器时,辅助服务器将把与该设备相关联的已登录设备信息发送给该设备。
[〇〇22]所述辅助服务器定时或实时从税控管理系统中获取设备关联关系信息;实现STUN服务模块,提供两个物理地址、四个端口用于提供网络环境侦测功能,根据设备的唯一编号区分UDP测试包的来源,通过测试步骤号进行步骤区分,使用数据库保存当前设备信息,这里的设备信息包括源地址、源端口、转换后的地址、转换后的端口、TURN服务连接地址、URN服务连接端口、网络状态、时间戳;实现TURN服务模块,提供两个互联的税控设备的中继互联功能。
[0023]所述互联的税控设备为税控设备A与税控设备B,该税控设备A与税控设备B定时向辅助服务器中的STUN服务模块进行登录、网络类型测试及会话保持操作;
当税控设备A要与税控设备B创建连接,且经上一步测试双方均不在对称NAT子网中时,首先向辅助服务器发送包含税控设备A信息的连接辅助请求,辅助服务器向税控设备B发送包含源设备信息的连接辅助命令;税控设备B收到连接辅助命令,解析命令中的消息来源地址,反向发起请求连接,在子网NAT设备上创建一个税控设备A的会话信息;税控设备A向税控设备B发起请求,此时成功创建连接,并将信息发送给税控设备B;
当税控设备A或税控设备B存在于对称NAT子网中时,则两者通过辅助服务器中TURN服务模块提供的中继功能实现互联。
[0024]税控设备A通过P2P功能模块访问辅助服务器,经过如下测试流程判断该设备的网络类型:
步骤1:设备A向辅助服务器的STUN服务的地址A端口 1发送一个UDP数据包,辅助服务器记录设备A的地址为该包的来源IP与端口号,网络类型记录为公网,并将信息写入UDP包中,通过地址A端口 1发送给设备A。设备A收到该数据包,判断IP与端口是否与本机一致,若一致,则证明设备A位于公网地址;若不一致,则继续以下测试;
步骤2:设备A向辅助服务器的STUN服务的地址A端口 1发送一个UDP数据包,辅助服务器更新设备A的地址为该包的来源IP与端口号,网络类型更新为锥形NAT,并将信息写入UDP包中,通过地址B端口 1发送给设备A,设备A判断是否能收到该数据包,若可以收到,则证明设备A位于完全锥形NAT子网内;若不能收到,则继续以下测试;
步骤3:设备A向辅助服务器的STUN服务的地址B端口 2发送一个UDP数据包,辅助服务器更新设备A的地址为该包的来源IP与端口号,网络类型更新为对称NAT,并将信息写入UDP包中,通过地址B端口2发送给设备A,设备A收到该数据包,判断包中的端口与步骤20中返回的端口号是否一致;若不一致,则证明设备A位于对称NAT子网中,仅通过STUN服务无法进行穿透,需要依靠TRUN服务器实现中继通讯;若一致,则继续以下测试;
步骤4:设备A向辅助服务器的STUN服务的地址B端口 1发送一个UDP数据包,辅助服务器更新设备A的地址为该包的来源IP与端口号,网络类型更新为锥形NAT,并将信息写入UDP包中,通过地址B端口2发送给设备A,设备A判断能否收到该数据包,若可以收到,则证明设备A位于受限锥形NAT子网中;若不能收到,则证明设备A位于端口受限锥形NAT子网中;
步骤5:税控设备B通过P2P功能模块访问辅助服务器,同样执行步骤1至步骤4的判断流程,这样服务器同样记录了设备B的IP地址与端口,以及其网络类型;
步骤6:当税控设备A要发起对税控设备B的连接时,首先判断设备之间的关联关系,若允许连接,
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1