CN112929435A - 一种在ip层实现的跨内网通信方法及通信设备 - Google Patents
一种在ip层实现的跨内网通信方法及通信设备 Download PDFInfo
- Publication number
- CN112929435A CN112929435A CN202110152126.0A CN202110152126A CN112929435A CN 112929435 A CN112929435 A CN 112929435A CN 202110152126 A CN202110152126 A CN 202110152126A CN 112929435 A CN112929435 A CN 112929435A
- Authority
- CN
- China
- Prior art keywords
- host
- communication
- udp
- virtual
- communication terminal
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 162
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000013507 mapping Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种在IP层实现的跨内网通信方法,在不同局域网中的通信设备,尽管各自都能主动连接互联网,但因为没有公网IP地址,无法发现对方,无法实现直接的IP通信,本发明提出一种,让不同局域网中的通信设备可以直接实现IP通信的方法。局域网A和局域网B中的两台通信设备,各自利用软件方法创建一个虚拟网卡并配置虚拟IP地址。通过该虚拟网卡获得需要发送给目标通信设备的IP数据包。将该IP数据包通过UDP协议转发到目标通信设备,目标通信设备收到该UDP信息后,解析出IP包,写入本机的虚拟网卡,从而实现一种让两台不同局域网内的通信设备可以直接进行IP通信的方法。
Description
技术领域
本发明涉及跨内网通信领域,特别涉及在IP层实现的跨内网通信领域。
背景技术
由于IPV4的ip地址资源特别稀缺,全世界大量的通信设备都不可能分配到可以直接参与全球互联网通信的公网IP地址,从而只能运行在各自不同的局域网络中。但是这些机器只能主动发起对公网通信设备的通信连接,无法接受公网通信设备或其他局域网通信设备发起的通信连接。
这极大限制了全球各种通信设备之间的通信,特别是全球互联网得到极大发展的今天,众多处于不同局域网络的通信设备之间具有越来越强烈和普遍的直接通信需求。本发明提供一种可行的在IP层实现的跨内网通信方法,可以让处于不同局域网络中的通信设备直接发起通信连接,因为是在IP实现的通信连接,以往任何只能在局域网络中运行的应用程序,立即可以扩展到全世界,从而极大促进全球互联网的发展。
发明内容
为了解决以上的问题,本发明提出了一种在IP层实现的跨内网通信方法及通信设备,可以有效的在IP层实现通信设备之间跨内网的IP通信,从而有效地解决前述的问题。
第一方面,本发明实施例提供了一种在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数据包,并写入所述的自身虚拟网卡;
以上达成在IP层实现的跨内网通信方法。
进一步方案为,所述的公网主机,指的是任何具有公网IP地址的通信设备或通过端口映射等形式,可以直接通过公网地址访问的通信设备。
进一步方案为,所述的主机A和主机B运行一个软件程序,即所述的通信端A和所述的通信端B,所述的通信端A和所述的通信端B用软件方法建立所述的虚拟网卡,并为所述的虚拟网卡配置所述的虚拟IP地址(IP_A和IP_B),所述的虚拟IP地址IP_A和IP_B不能相同。
进一步方案为,所述的通信端A和所述的通信端B主动发起对所述软路由的UDP连接,并定时向所述的软路由发送包含自身虚拟IP地址的UDP心跳信息,保持连接;所述的软路由收到所述的心跳信息,将所述的心跳信息中的所述虚拟IP和发起连接的所述外网地址对应,并保存。
进一步方案为,所述的软路由定时将所述的IP_A对应的所述外网地址发送给所述的通信端B,将所述的IP_B对应的外网地址发送给通信端A。
进一步方案为,所述的通信端A收到所述的软路由发送过来的所述通信端B的外网地址,并立即向该外网地址发送UDP数据包,因为是所述的内网主机A主动发起的连接,所述的主机A所在的局域网路由器就会允许连接,并将分配给主机A的外网端口和所述的主机A之间建立NAT映射,以后该外网端口(外网地址)收到的UDP信息,就会被所述的路由器转发给所述的主机A。
进一步方案为,所述的通信端B收到所述的软路由发送过来的所述通信端A的外网地址,立即向该外网地址发送UDP数据包,因为是所述的内网主机B主动发起的连接,所述的主机B所在的局域网路由器就会允许连接,并将分配给主机B的外网端口和所述的主机B之间建立NAT映射,以后该外网端口(外网地址)收到的UDP信息,就会被所述的路由器转发给所述的主机B。
进一步方案为,所述的通信端A和所述的通信端B通过所述的虚拟网卡,获得需要发往对方的所述的IP数据包,并以UDP信息的形式发送到对方的外网地址,因为权利7所述的过程,对方主机所在局域网的路由器会将该UDP信息转发给所述的主机A或主机B,所述的主机A和主机B收到该UDP信息之后,解析并解密出UDP信息中的所述IP数据包,写入所述的本地虚拟网卡。
第二方面,本发明实施例提供了一种通信设备,所述通信设备包括处理器及含有计算机程序代码的存储器,所述存储器和所述的计算机程序代码被配置为利用所述处理器,并能处理操作第一方面所述的方法。
实施本发明的跨内网通信方法,具有以下有益的技术效果,可以让因为成本或安全等各种原因,必须运行在不同局域网中的通信设备建立起IP层的直接连接,建立跨越内网的安全IP通信,可以让以往只能运行在局域网中的应用程序,突破距离的限制,降低网络通信成本和增强网络通信的安全性。
附图说明
图1为本发明的实施例的在IP层实现的跨内网通信工作原理图;
图2为本发明的实施例的程序逻辑原理图;
图3为本发明的实施例的数据形态转换图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1至图3所示,通常情况下,处于不同局域网的主机,因为没有公网地址,无法直接通信。
在公网中的一台主机运行一个软件路由程序(soft router),并监听某个UDP端口(例如5009)。
局域网A和局域网B中的通信设备各自运行一个通信客户端程序,即通信端A和通信端B,通信端A和通信端B通过软件方法创建一个虚拟网卡,并配置虚拟IP地址(例如:A端192.168.10.2,B端192.168.10.3)。通信端A和通信端B在启动时,主动发起对软路由的UDP连接,并定时发送包含自身虚拟IP的心跳信息,保持连接。
软路由定期交换主机A和主机B的外网连接地址,通信端A和通信端B获得对方的外网地址之后,各自向对方外网地址发送UDP数据包,让各自的路由器建立起自己、路由器分配给自己的外网端口以及对方外网地址之间的NAT通信映射,建立起能穿越内网的UDP直连通道;
主机A和主机B需要通信的时候,主动方通信端通过虚拟网卡获得本主机发往目标主机的IP数据包,通过UDP协议,将该IP数据包以UDP信息的形式,通过前面建立的UDP直连通道,发送给目标通信端,目标通信端收到UDP信息之后,将该UDP信息还原出IP数据包,写入目标通信端的虚拟网卡,从而实现主机A和主机B之间的直接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数据包,并写入所述的自身虚拟网卡;
以上达成在IP层实现的跨内网通信方法。
进一步地,所述的公网主机,指的是任何具有公网IP地址的通信设备或通过端口映射等形式,可以直接通过公网地址访问的通信设备。
进一步地,所述的主机A和主机B运行一个软件程序,即所述的通信端A和所述的通信端B,所述的通信端A和所述的通信端B用软件方法建立所述的虚拟网卡,并为所述的虚拟网卡配置所述的虚拟IP地址(IP_A和IP_B),所述的虚拟IP地址IP_A和IP_B不能相同。
进一步地,所述的通信端A和所述的通信端B主动发起对所述软路由的UDP连接,并定时向所述的软路由发送包含自身虚拟IP地址的UDP心跳信息,保持连接;所述的软路由收到所述的心跳信息,将所述的心跳信息中的所述虚拟IP和发起连接的所述外网地址对应,并保存。
进一步地,所述的软路由定时将所述的IP_A对应的所述外网地址发送给所述的通信端B,将所述的IP_B对应的外网地址发送给通信端A。
进一步地,所述的通信端A收到所述的软路由发送过来的所述通信端B的外网地址,并立即向该外网地址发送UDP数据包,因为是所述的内网主机A主动发起的连接,所述的主机A所在的局域网路由器就会允许连接,并在主机A、路由器分配给主机A的外网端口和此外网地址之间建立NAT映射,以后该外网地址发送过来的UDP信息,就会被所述的路由器转发给所述的主机A。
进一步地,所述的通信端B收到所述的软路由发送过来的所述通信端A的外网地址,立即向该外网地址发送UDP数据包,因为是所述的内网主机B主动发起的连接,所述的主机B所在的局域网路由器就会在允许连接,并在主机B、路由器分配给主机B的外网端口以及该外网地址之间建立NAT映通信映射,以后该外网地址发送过来的UDP信息,就会被所述的路由器转发给所述的主机B。
进一步地,所述的通信端A和所述的通信端B通过所述的虚拟网卡,获得需要发往对方的所述的IP数据包,并以UDP信息的形式发送到对方的外网地址,因为权利要求7所述的过程,对方主机所在局域网的路由器会将该UDP信息转发给所述的主机A或主机B,所述的主机A和主机B收到该UDP信息之后,解析并解密出UDP信息中的所述IP数据包,写入所述的本地虚拟网卡。
利用本专利发明的方法,可以让任何处于局域网内的通信设备之间直接发起IP通信。以往只能在局域网环境下的应用,利用本发明的方法,可以不做任何的改动和适配,即可跨越互联网安全远程运行。给社会带来显著的成本降低和效率提高。
本申请实施例还公开了一种通信设备,所述通信设备包括处理器及含有计算机程序代码的存储器,所述存储器和所述的计算机程序代码被配置为利用所述处理器,并能处理操作上述实施例所述的方法。
以上所述仅为本专利优选实施方式,并非限制本专利范围,凡是利用说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其它相关的技术领域,均属于本专利保护范围。
Claims (9)
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连接,并定时向所述的软路由发送包含自身虚拟IP地址的UDP心跳信息,保持连接;所述的软路由收到所述的心跳信息,将所述的心跳信息中的所述虚拟IP和发起连接的所述外网地址对应,并保存。
5.根据权利要求1所述的在IP层实现的跨内网通信方法,其特征在于,所述的软路由定时将所述的IP_A对应的所述外网地址发送给所述的通信端B,将所述的IP_B对应的外网地址发送给通信端A。
6.根据权利要求1所述的在IP层实现的跨内网通信方法,其特征在于,所述的通信端A收到所述的软路由发送过来的所述通信端B的外网地址,立即向该外网地址发送UDP数据包,因为是所述的内网主机A主动发起的连接,所述的主机A所在的局域网路由器就会允许连接,并将分配给主机A的外网端口和所述的主机A之间建立NAT映射,以后该外网地址收到的UDP信息,就会被所述的路由器转发给所述的主机A。
7.根据权利要求1所述的在IP层实现的跨内网通信方法,其特征在于,所述的通信端B收到所述的软路由发送过来的所述通信端A的外网地址,立即向该外网地址发送UDP数据包,因为是所述的内网主机B主动发起的连接,所述的主机B所在的局域网路由器就会允许连接,并将分配给主机B的外网端口和所述的主机B之间建立NAT映射,以后该外网地址发送过来的UDP信息,就会被所述的路由器转发给所述的主机B。
8.根据权利要求1所述的在IP层实现的跨内网通信方法,其特征在于,所述的通信端A和所述的通信端B通过所述的虚拟网卡,获得需要发往对方的所述的IP数据包,并对该IP数据包进行对称或非对称加密,再以UDP信息的形式发送到对方的外网地址,因为权利7所述的过程,对方主机所在局域网的路由器会将该UDP信息转发给所述的主机A或主机B,所述的主机A和主机B收到该UDP信息之后,解析出UDP信息中的所述IP数据包,写入所述的本地虚拟网卡。
9.一种通信设备,其特征在于,所述通信设备包括处理器及含有计算机程序代码的存储器,所述存储器和所述的计算机程序代码被配置为利用所述处理器,并能处理操作权利要求1~8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110152126.0A CN112929435A (zh) | 2021-02-03 | 2021-02-03 | 一种在ip层实现的跨内网通信方法及通信设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110152126.0A CN112929435A (zh) | 2021-02-03 | 2021-02-03 | 一种在ip层实现的跨内网通信方法及通信设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112929435A true CN112929435A (zh) | 2021-06-08 |
Family
ID=76170165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110152126.0A Pending CN112929435A (zh) | 2021-02-03 | 2021-02-03 | 一种在ip层实现的跨内网通信方法及通信设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112929435A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040153858A1 (en) * | 2002-12-23 | 2004-08-05 | Hwang Shaw Hwa | Direct peer-to-peer transmission protocol between two virtual networks |
CN101918926A (zh) * | 2007-10-24 | 2010-12-15 | 乔纳森·彼得·多伊奇 | 用于通过虚拟ip地址访问没有可访问地址的联网装置的各种方法和设备 |
CN105072213A (zh) * | 2015-08-28 | 2015-11-18 | 迈普通信技术股份有限公司 | 一种IPSec NAT双向穿越方法、系统及VPN网关 |
-
2021
- 2021-02-03 CN CN202110152126.0A patent/CN112929435A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040153858A1 (en) * | 2002-12-23 | 2004-08-05 | Hwang Shaw Hwa | Direct peer-to-peer transmission protocol between two virtual networks |
CN101918926A (zh) * | 2007-10-24 | 2010-12-15 | 乔纳森·彼得·多伊奇 | 用于通过虚拟ip地址访问没有可访问地址的联网装置的各种方法和设备 |
CN105072213A (zh) * | 2015-08-28 | 2015-11-18 | 迈普通信技术股份有限公司 | 一种IPSec NAT双向穿越方法、系统及VPN网关 |
Non-Patent Citations (1)
Title |
---|
龚俭, 东南大学出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107682284B (zh) | 发送报文的方法和网络设备 | |
CN110870277B (zh) | 将中间盒引入到客户端与服务器之间的安全通信中 | |
US7447901B1 (en) | Method and apparatus for establishing a dynamic multipoint encrypted virtual private network | |
US8713305B2 (en) | Packet transmission method, apparatus, and network system | |
US7546385B1 (en) | Network access device having internetworking driver with active control | |
US9350711B2 (en) | Data transmission method, system, and apparatus | |
WO2016210196A1 (en) | Media relay server | |
US10454880B2 (en) | IP packet processing method and apparatus, and network system | |
JP2001313679A (ja) | ローカルipアドレス及び変換不能ポート・アドレスを使用するローカル・エリア・ネットワーク対応ネットワーク・アドレス変換ゲートウェイ | |
JP6107498B2 (ja) | 通信方法、通信装置及び通信プログラム | |
WO2016210202A1 (en) | Media relay server | |
CN111787025B (zh) | 加解密处理方法、装置、系统以及数据保护网关 | |
JP6617984B2 (ja) | IPSecアクセラレーション方法、装置およびシステム | |
CN114844729B (zh) | 一种网络信息隐藏方法及系统 | |
CN109981820B (zh) | 一种报文转发方法及装置 | |
CN113852552B (zh) | 一种网络通讯方法、系统与存储介质 | |
CN113726795A (zh) | 报文转发方法、装置、电子设备及可读存储介质 | |
CN106209401B (zh) | 一种传输方法及装置 | |
CN108924157B (zh) | 一种基于IPSec VPN的报文转发方法及装置 | |
CN112887187B (zh) | 一种设备间通信建立方法、系统、装置、设备及介质 | |
US7093030B1 (en) | Internetworking driver with active control | |
WO2019165235A1 (en) | Secure encrypted network tunnels using osi layer 2 protocol | |
JP2019050628A5 (zh) | ||
CN112929435A (zh) | 一种在ip层实现的跨内网通信方法及通信设备 | |
CN111903105A (zh) | 多路复用安全隧道 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210608 |