当前位置: 首页 > 专利查询>胡轶翔专利>正文

一种在IP层实现的跨内网通信方法及通信设备技术

技术编号:28780419 阅读:17 留言:0更新日期:2021-06-09 11:11
本发明专利技术提出了一种在IP层实现的跨内网通信方法,在不同局域网中的通信设备,尽管各自都能主动连接互联网,但因为没有公网IP地址,无法发现对方,无法实现直接的IP通信,本发明专利技术提出一种,让不同局域网中的通信设备可以直接实现IP通信的方法。局域网A和局域网B中的两台通信设备,各自利用软件方法创建一个虚拟网卡并配置虚拟IP地址。通过该虚拟网卡获得需要发送给目标通信设备的IP数据包。将该IP数据包通过UDP协议转发到目标通信设备,目标通信设备收到该UDP信息后,解析出IP包,写入本机的虚拟网卡,从而实现一种让两台不同局域网内的通信设备可以直接进行IP通信的方法。设备可以直接进行IP通信的方法。设备可以直接进行IP通信的方法。

【技术实现步骤摘要】
一种在IP层实现的跨内网通信方法及通信设备


[0001]本专利技术涉及跨内网通信领域,特别涉及在IP层实现的跨内网通信领域。

技术介绍

[0002]由于IPV4的ip地址资源特别稀缺,全世界大量的通信设备都不可能分配到可以直接参与全球互联网通信的公网IP地址,从而只能运行在各自不同的局域网络中。但是这些机器只能主动发起对公网通信设备的通信连接,无法接受公网通信设备或其他局域网通信设备发起的通信连接。
[0003]这极大限制了全球各种通信设备之间的通信,特别是全球互联网得到极大发展的今天,众多处于不同局域网络的通信设备之间具有越来越强烈和普遍的直接通信需求。本专利技术提供一种可行的在IP层实现的跨内网通信方法,可以让处于不同局域网络中的通信设备直接发起通信连接,因为是在IP实现的通信连接,以往任何只能在局域网络中运行的应用程序,立即可以扩展到全世界,从而极大促进全球互联网的发展。

技术实现思路

[0004]为了解决以上的问题,本专利技术提出了一种在IP层实现的跨内网通信方法及通信设备,可以有效的在IP层实现通信设备之间跨内网的IP通信,从而有效地解决前述的问题。
[0005]第一方面,本专利技术实施例提供了一种在IP层实现的跨内网通信的方法,所述方法包括:
[0006]S01.所述位于公网的主机运行所述的路由软件,并监听一个UDP端口;
[0007]S02.所述主机A运行软件通信端A,并用软件方法建立所述虚拟网卡,配置所述的虚拟IP地址;
[0008]S03.所述主机B运行软件通信端B,并用软件方法建立所述虚拟网卡,配置所述的虚拟IP地址;
[0009]S04.所述通信端A主动发起对所述软路由的UDP连接,并定时发送包含自身虚拟IP地址的心跳信息,保持彼此的连接;
[0010]S05.所述通信端B主动发起对所述软路由的UDP连接,并定时发送包含自身虚拟IP地址的心跳信息,保持彼此的连接;
[0011]S06.所述软路由定时将所述通信端A的外网地址发送给所述的通信端B,将所述的通信端B的所述外网地址发送给所述通信端A;
[0012]S07.所述的通信端A和通信端B,收到对方的所述外网地址之后,各自发送所述的UDP数据包到所述的对方的外网地址;
[0013]S08.所述的通信端A和通信端B通信各自通过自身的所述虚拟网卡获得需要发往对方虚拟IP的所述IP数据包,并对该所述IP数据包进行所述的对称或非对称加密,再通过UDP协议将该所述IP数据包以UDP信息的形式发送给所述的对方的外网地址;
[0014]S09.所述的通信端A或通信端B收到UDP数据之后,还原并解密出所述的原来的IP
数据包,并写入所述的自身虚拟网卡;
[0015]以上达成在IP层实现的跨内网通信方法。
[0016]进一步方案为,所述的公网主机,指的是任何具有公网IP地址的通信设备或通过端口映射等形式,可以直接通过公网地址访问的通信设备。
[0017]进一步方案为,所述的主机A和主机B运行一个软件程序,即所述的通信端A和所述的通信端B,所述的通信端A和所述的通信端B用软件方法建立所述的虚拟网卡,并为所述的虚拟网卡配置所述的虚拟IP地址(IP_A和IP_B),所述的虚拟IP地址IP_A和IP_B不能相同。
[0018]进一步方案为,所述的通信端A和所述的通信端B主动发起对所述软路由的UDP连接,并定时向所述的软路由发送包含自身虚拟IP地址的UDP心跳信息,保持连接;所述的软路由收到所述的心跳信息,将所述的心跳信息中的所述虚拟IP和发起连接的所述外网地址对应,并保存。
[0019]进一步方案为,所述的软路由定时将所述的IP_A对应的所述外网地址发送给所述的通信端B,将所述的IP_B对应的外网地址发送给通信端A。
[0020]进一步方案为,所述的通信端A收到所述的软路由发送过来的所述通信端B的外网地址,并立即向该外网地址发送UDP数据包,因为是所述的内网主机A主动发起的连接,所述的主机A所在的局域网路由器就会允许连接,并将分配给主机A的外网端口和所述的主机A之间建立NAT映射,以后该外网端口(外网地址)收到的UDP信息,就会被所述的路由器转发给所述的主机A。
[0021]进一步方案为,所述的通信端B收到所述的软路由发送过来的所述通信端A的外网地址,立即向该外网地址发送UDP数据包,因为是所述的内网主机B主动发起的连接,所述的主机B所在的局域网路由器就会允许连接,并将分配给主机B的外网端口和所述的主机B之间建立NAT映射,以后该外网端口(外网地址)收到的UDP信息,就会被所述的路由器转发给所述的主机B。
[0022]进一步方案为,所述的通信端A和所述的通信端B通过所述的虚拟网卡,获得需要发往对方的所述的IP数据包,并以UDP信息的形式发送到对方的外网地址,因为权利7所述的过程,对方主机所在局域网的路由器会将该UDP信息转发给所述的主机A或主机B,所述的主机A和主机B收到该UDP信息之后,解析并解密出UDP信息中的所述IP数据包,写入所述的本地虚拟网卡。
[0023]第二方面,本专利技术实施例提供了一种通信设备,所述通信设备包括处理器及含有计算机程序代码的存储器,所述存储器和所述的计算机程序代码被配置为利用所述处理器,并能处理操作第一方面所述的方法。
[0024]实施本专利技术的跨内网通信方法,具有以下有益的技术效果,可以让因为成本或安全等各种原因,必须运行在不同局域网中的通信设备建立起IP层的直接连接,建立跨越内网的安全IP通信,可以让以往只能运行在局域网中的应用程序,突破距离的限制,降低网络通信成本和增强网络通信的安全性。
附图说明
[0025]图1为本专利技术的实施例的在IP层实现的跨内网通信工作原理图;
[0026]图2为本专利技术的实施例的程序逻辑原理图;
[0027]图3为本专利技术的实施例的数据形态转换图。
具体实施方式
[0028]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0029]如图1至图3所示,通常情况下,处于不同局域网的主机,因为没有公网地址,无法直接通信。
[0030]在公网中的一台主机运行一个软件路由程序(soft router),并监听某个UDP端口(例如5009)。
[0031]局域网A和局域网B中的通信设备各自运行一个通信客户端程序,即通信端A和通信端B,通信端A和通信端B通过软件方法创建一个虚拟网卡,并配置虚拟IP地址(例如:A端192.168.10.2,B端192.168.10.3)。通信端A和通信端B在启动时,主动发起对软路由的UDP连接,并定时发送包含自身虚拟IP的心跳信息,保持连接。
[0032]软路由定期交换本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在IP层实现的跨内网通信方法,其特征在于,所述方法包括:S01.所述位于公网的主机运行软路由,并监听一个UDP端口;S02.所述主机A运行软件通信端A,建立所述虚拟网卡,配置所述的虚拟IP地址;S03.所述主机B运行软件通信端B,建立所述虚拟网卡,配置所述的虚拟IP地址;S04.所述通信端A主动发起对所述软路由的UDP连接,并定时发送包含自身虚拟IP地址的心跳信息,保持彼此的连接;S05.所述通信端B主动发起对所述软路由的UDP连接,并定时发送包含自身虚拟IP地址的心跳信息,保持彼此的连接;S06.所述软路由定时将所述通信端A的外网地址发送给所述的通信端B,将所述的通信端B的所述外网地址发送给所述通信端A;S07.所述的通信端A和通信端B,收到对方的所述外网地址之后,各自发送所述的UDP数据包到所述的对方的外网地址;S08.所述的通信端A和通信端B通信各自通过自身的所述虚拟网卡获得需要发往对方虚拟IP的所述IP数据包,并对该所述IP数据包进行所述的对称或非对称加密,再通过UDP协议将该所述IP数据包以UDP信息的形式发送给所述的对方的外网地址;S09.所述的通信端A或通信端B收到UDP数据之后,还原并解密出所述的原来的IP数据包,并写入所述的自身虚拟网卡。2.根据权利要求1所述的在IP层实现的跨内网通信方法,其特征在于,所述的公网主机,指的是任何具有公网IP地址的通信设备或通过端口映射等形式,可以直接通过公网地址访问的通信设备。3.根据权利要求1所述的在IP层实现的跨内网通信方法,其特征在于,所述的主机A和主机B运行一个软件程序所述的通信端A和所述的通信端B,所述的通信端A和所述的通信端B用软件方法建立所述的虚拟网卡,并为所述的虚拟网卡配置所述的虚拟IP地址(IP_A和IP_B),所述的虚拟IP地址IP_A和IP_B不能相同。4.根据权利要求1所述的在IP层实现的跨内网通信方法,其特征在于,所述的通信端A和所述的通信端B主动发起对所述软路由的UDP连接,并定时向所述的软路由发送包含自...

【专利技术属性】
技术研发人员:胡轶翔
申请(专利权)人:胡轶翔
类型:发明
国别省市:

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

1