CN112398847B - 一种基于TCP Socket和改进心跳机制的内网穿透方法和系统 - Google Patents

一种基于TCP Socket和改进心跳机制的内网穿透方法和系统 Download PDF

Info

Publication number
CN112398847B
CN112398847B CN202011261194.2A CN202011261194A CN112398847B CN 112398847 B CN112398847 B CN 112398847B CN 202011261194 A CN202011261194 A CN 202011261194A CN 112398847 B CN112398847 B CN 112398847B
Authority
CN
China
Prior art keywords
intranet
heartbeat
client
server
extranet
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.)
Active
Application number
CN202011261194.2A
Other languages
English (en)
Other versions
CN112398847A (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.)
Huaqiao University
Original Assignee
Huaqiao University
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 Huaqiao University filed Critical Huaqiao University
Priority to CN202011261194.2A priority Critical patent/CN112398847B/zh
Publication of CN112398847A publication Critical patent/CN112398847A/zh
Application granted granted Critical
Publication of CN112398847B publication Critical patent/CN112398847B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于TCP Socket和改进心跳机制的内网穿透方法和系统,包括如下步骤:用户请求外网第一服务端,外网第一服务端接收到用户请求后与用户建立连接;外网心跳服务端向内网心跳客户端发送激活数据包;内网心跳客户端接收到激活数据包后,激活内网客户端,使得内网第一客户端主动连接部署在内网的应用,内网第二客户端主动连接外网第二服务端;内网应用程序将响应发送到内网第一客户端,内网第一客户端接收到数据包后放入缓冲区,由内网第二客户端转发给外网第二服务端,外网第二服务端接收到请求后将数据包放入缓冲区,由外网第一服务端转发给用户。本发明提出的方法能够解决现有技术中部署成本高昂,配置复杂等问题,同时本发明还具有可分布式配置、扩展性强等特征。

Description

一种基于TCP Socket和改进心跳机制的内网穿透方法和系统
技术领域
本发明涉及内网访问领域,特别是指一种基于TCP Socket和改进心跳机制的内网穿透方法和系统。
背景技术
在企业、学校等环境中,常在企业内网或者校园网内部署应用程序,例如实验室管理平台、员工管理系统等。但是有些应用程序不一定只能在内网进行访问,比如教务系统等,这时就要考虑将这些内网应用映射到互联网上。
由于IPV4地址在整个互联网环境中有着举足轻重的地位,随着IPV4资源的枯竭,使得目前IPV4地址的使用越发紧张,内网应用向外网映射的需求越发迫切。
由于内网的ip地址是不能直接在因特网上进行路由的,因此常使用NAT(网络地址转换)技术来解决此类问题,NAT技术又分为静态NAT、动态NAT和网络地址端口转换NAPT。在被分配到的公网IP地址极为有限的情况下,一般使用NAPT。除了NAT技术,还有一种常用的方式是使用VPN,通过隧道连接来从外网访问内部网络。同时,一些公司也提供了自己的商用内网穿透方案。
基于网络地址转换的内外网访问技术,通常需要硬件设备的支持,而且需要经过繁琐的配置,若利用VPN进行内外网访问,部署成本高、而且后期需要专人进行账号密码管理等相关维护操作,且用户配置起来难度较大。若使用现成的商用解决方案,购买成本高昂也是一个需要面对的问题。
发明内容
本发明的主要目的在于克服现有技术中的上述缺陷,提出一种基于TCP Socket和改进心跳机制的内网穿透方法,可以解决现有技术中部署成本高昂,配置复杂等问题,同时本发明还具有可分布式配置、扩展性强等特征。
本发明采用如下技术方案:
一种基于TCP Socket和改进心跳机制的内网穿透方法,包括如下步骤:
用户请求外网第一服务端,外网第一服务端接收到用户请求后与用户建立连接;
外网心跳服务端向内网心跳客户端发送激活数据包;
内网心跳客户端接收到激活数据包后,激活内网客户端,使得内网第一客户端主动连接部署在内网的应用,内网第二客户端主动连接外网第二服务端;
内网应用程序将响应发送到内网第一客户端,内网第一客户端接收到数据包后放入缓冲区,由内网第二客户端转发给外网第二服务端,外网第二服务端接收到请求后将数据包放入缓冲区,由外网第一服务端转发给用户。
具体地,当没有接收到用户请求时;
外网心跳服务端向内网心跳客户端发送心跳包;
内网心跳客户端判断外网心跳服务端发送的是心跳包后,回应握手包。
具体地,用户请求外网第一服务端,外网第一服务端接收到用户请求后与用户建立连接之前,还包括如下步骤:
将外网第一服务端、外网心跳服务端以及外网第二服务端的模式设置为阻塞式,并在外网心跳服务端程序中设置心跳标志变量标示心跳服务是否建立;
将外网第一服务端和外网第二服务端加入监听列表。
具体地,用户请求外网第一服务端,外网第一服务端接收到用户请求后与用户建立连接之前,还包括如下步骤:
读取配置文件,获取内网客户端所要连接的远程IP以及端口号。
具体地,外网心跳服务端向内网心跳客户端发送心跳包之后,还包括如下步骤:
开启线程进行心跳监测,当接收到内网心跳客户端在收到心跳包后回复的握手包时,将心跳标示变量设为True;
循环监听外网第一服务端和外网第二服务端,当监听列表中无事件发生时,进程被阻塞,如存在一个及以上的监听事件发生,进程被唤醒。
本发明还提供一种基于TCP Socket和改进心跳机制的内网穿透系统,包括:
移动端,用于发送用户请求;
外网服务器,包括外网心跳服务端、外网第一服务端和外网第二服务端,所述外网第一服务端用于接收所述用户请求并与移动端建立连接,外网心跳服务端与内网心跳客户端建立连接,用于向内网心跳客户端发送心跳包和激活数据包,外网第二服务端与内网第二服务端建立连接,用于传递数据;
内网服务器,包括内网心跳客户端、内网第一客户端和内网第二客户端,所述内网第一客户端用于连接内网应用程序,内网心跳客户端与外网心跳服务端建立连接,用于接收外网心跳客户端发送的心跳包和激活数据包,并做出反馈,内网第二服务端与外网第二服务端建立连接,用于传递数据。
由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:
(1)本发明提出的一种基于TCP Socket和改进心跳机制的内网穿透方法,通过外网心跳服务端和内网心跳客户端建立心跳连接,且通过部署外网其他服务端和内网其他客户端,建立了用户、外网和内网应用程序的连接,解决了现有技术中部署成本高昂,配置复杂等问题,同时本发明还具有可分布式配置、扩展性强等特征。
(2)本发明通过多线程的设置,实现了多用户的同时请求,通过多端口多进程的设置,实现了内网多个应用程序的同时访问,且均相互独立,互不影响;高效便捷,功能性强。
(3)本发明采用心跳机制,外网心跳服务端会向内网心跳客户端定时发送心跳包,内网心跳客户端作出回应,表明内网客户端的存活状态,通过这种机制能够阻止无效的用户请求;且将外网服务端的模式设为阻塞式,防止接收到的数据为空或发送的数据为空时产生系统错误。
(4)利用TCP Socket技术,由于TCP是一个面向连接的可靠协议,因此确保了本发明在整个网络连接过程中的稳定性。
附图说明
图1本发明实施例的整体方法流程图;
图2本发明实施例单一请求情况下的数据流示意图;
图3本发明实施例多次请求情况下的多线程数据流示意图;
图4本发明实施例多个应用程序下的多进程数据流示意图;
图5本发明实施例外网服务端的实现流程图;
图6本发明实施例内网客户端的实现流程图;
图7本发明实施例内网心跳客户端的实现流程图;
图8本发明实施例外网心跳服务端的实现流程图;
图9本发明实施例外网服务器的分布式配置示意图。
以下结合附图和具体实施例对本发明作进一步详述。
具体实施方式
以下通过具体实施方式对本发明作进一步的描述。
如图1,是本发明整体方法流程图,一种基于TCP Socket和改进心跳机制的内网穿透方法,包括如下步骤:
S1:用户请求外网第一服务端,外网第一服务端接收到用户请求后与用户建立连接;
S2:外网心跳服务端向内网心跳客户端发送激活数据包;
S3:内网心跳客户端接收到激活数据包后,激活内网客户端,使得内网第一客户端主动连接部署在内网的应用,内网第二客户端主动连接外网第二服务端;
S4:内网应用程序将响应发送到内网第一客户端,内网第一客户端接收到数据包后放入缓冲区,由内网第二客户端转发给外网第二服务端,外网第二服务端接收到请求后将数据包放入缓冲区,由外网第一服务端转发给用户。
当没有接收到用户请求时;
外网心跳服务端向内网心跳客户端发送心跳包;
内网心跳客户端判断外网心跳服务端发送的是心跳包后,回应握手包。
具体地,用户请求外网第一服务端,外网第一服务端接收到用户请求后与用户建立连接之前,还包括如下步骤:
将外网第一服务端、外网心跳服务端以及外网第二服务端的模式设置为阻塞式,并在外网心跳服务端程序中设置心跳标志变量标示心跳服务是否建立;
将外网第一服务端和外网第二服务端加入监听列表。
具体地,用户请求外网第一服务端,外网第一服务端接收到用户请求后与用户建立连接之前,还包括如下步骤:
读取配置文件,获取内网客户端所要连接的远程IP以及端口号。
具体地,外网心跳服务端向内网心跳客户端发送心跳包之后,还包括如下步骤:
开启线程进行心跳监测,当接收到内网心跳客户端在收到心跳包后回复的握手包时,将心跳标示变量设为True;
循环监听外网第一服务端和外网第二服务端,当监听列表中无事件发生时,进程被阻塞,如存在一个及以上的监听事件发生,进程被唤醒。
本发明还提供一种基于TCP Socket和改进心跳机制的内网穿透系统,包括:
移动端,用于发送用户请求;
外网服务器,包括外网心跳服务端、外网第一服务端和外网第二服务端,所述外网第一服务端用于接收所述用户请求并与移动端建立连接,外网心跳服务端与内网心跳客户端建立连接,用于向内网心跳客户端发送心跳包和激活数据包,外网第二服务端与内网第二服务端建立连接,用于传递数据;
内网服务器,包括内网心跳客户端、内网第一客户端和内网第二客户端,所述内网第一客户端用于连接内网应用程序,内网心跳客户端与外网心跳服务端建立连接,用于接收外网心跳客户端发送的心跳包和激活数据包,并做出反馈,内网第二服务端与外网第二服务端建立连接,用于传递数据。
下面通过具体的实施例解释内网穿透的技术框图与数据流走向;
本实例将从两个方面进行阐述:单一请求情况下的数据流和多请求情况下的数据流。
单一请求情况下的数据流,假设此时是映射内网的一个web应用,如图2所示。
(1)用户首先请求部署在外网的第一服务端,第一服务端接收到用户的请求后与用户建立连接,同时,心跳服务器向内网心跳客户端发送一个数据包,数据包中包含一个”ACTIVATE”字符串,表示要激活内网客户端。
(2)内网心跳客户端接收到激活数据包后,让内网的第一客户端主动连接部署在内网的Web服务器,例如Apache、Nginx等,让内网的第二客户端主动连接部署在外网的第二服务端,这样,一个内网应用到外网用户的数据流管道就已经建成了。
(3)当用户发起请求时,第一服务端将用户的请求每1024个字节进行打包放入缓冲区,第二服务端将缓冲区的数据包取走,传递给部署在内网的第二客户端。类似的,第二客户端也将接收到的1024个字节打包成数据包放入缓冲区,第一客户端再将其取走,传递给内网的应用程序。数据从内网传递到外网也是一个相同的过程,只不过数据流的方向不同而已。
(4)多次请求情况下的数据流,如同3所示。通过观察发现,一些TCP应用具有它们自己的一些连接特征。例如http应用,在网页请求完成后,就会主动断开连接;而数据库客户端应用,会建立一个长连接,目的是能与数据库服务器进行持续的交互。为了能满足各种不同的情况,在用户进行每一次请求时,本发明会给每一次请求建立一个线程,每一个线程在传输数据时都是相互独立的,数据传输的过程与上文提及的单用户情况下的数据流是一致的,在传输结束后,用户断开连接时,服务器会主动通知内网的客户端断开连接,释放资源。
在实际应用中,用户的内外网映射应用可能不止一个,如果单单使用单线程,是无法满足这个需求的。如图3,图4所示(为描述方便,这里将构成内网客户端和外网服务器的子服务器略去,统称为内网客户端和外网服务端),本发明在启动时,会首先读取配置文件,此时,本发明就可以知道用户打算对多少个应用程序进行内外网映射,例如图中有三个应用程序,因此,对于要映射的每一个内外网应用程序,本发明会单独启动一个进程来进行处理。图4中的三条线分别代表三个应用的进程,它们的端口号互不相同,也就是说,它们是相互独立的。
对于每一个应用的多用户请求,会使用多线程进行处理。如同所示,假设此时有三个用户从外网同时访问部署在内网中的一个应用,本发明就会开启三个线程进行处理,图3中的三条线段分别表示一个用户所创建的线程。这样就可以保证应用间的相互独立和用户请求间的相互独立。数据流的走向与上文叙述的一致。
从上述的阐述中,可知在本发明中部署在外网的服务端由三个子服务器组成,以及它们是如何相互配合工作的,在这里,将说明外网服务端的实现细节,流程图如图5所示。外网服务器端的三个子服务器的实质是三个TCP Server Socket。在初始化的时候,要绑定的端口号从配置文件中获取;同时,要将ServerA、ServerB和心跳服务器ServerC设置成SO_REUSEADDR,也就是可重用Socket;最后,要将这三个子服务器的阻塞模式设置为阻塞式,这么做的目的是为了防止如果接收到的数据为空或者发送的数据为空时,产生系统错误。在服务器端程序中还需要一个标志变量来标示心跳服务是否建立。
初始化完服务器后,在应用启动时,除了心跳服务器外,将其余子服务器对象加入一个监听列表,并使用操作系统内核进行监听,当监听列中没有事件发生时,进程会被阻塞,如果有一个或多个监听事件发生,进程将被唤醒。
程序启动时首先开启一个线程用于心跳检测,连接成功后,将心跳标识符设置为True。所有的操作都是在内外网心跳连接成功后才会进行,然后,循环监听子服务器的动态。每次被唤醒时,查看是哪些子服务器触发了事件,如果是第一服务端,说明有新的用户请求,则开启一个新的线程对其进行处理,如果是第二服务端,说明内网服务器传来数据,需要对其进行转发,如果数据传输完成,则对第一服务端和第二服务端进行关闭。以上描述的是用户请求数据的情况,反过来便是数据传送到用户的情况。
对于心跳服务器,每隔一秒,服务器端的心跳服务器就会向内网的心跳客户端发送一个心跳包,正常情况下,会接收到一条回复消息,如果接收不到,说明内网的心跳客户端出现问题,此时需要将心跳标志位设置为False,并等待内网心跳客户端的重新连接。
此外,从上述的阐述中,可知本发明的内网客户端由三个子客户端组成,以及它们是如何配合工作的,在这里,将详细说明内网客户端的实现细节,流程图如图6所示。
通外网服务器类似,内网客户端的实质是三个TCP Socket Client。在初始化时,每个客户端所要连接的远程IP以及端口号从配置文件中获取。
当程序启动时,负责心跳模块的客户端会首先连接部署在外网的服务器,同时将自己加入到监听列表中。如果自身被激活,说明外部服务器有指令传入,首先,心跳客户端要判断外网传入内网的是心跳信息还是激活应用信息,如果是心跳信息则回应一个握手包,表示内网服务在正常运行,如果是激活应用指令,则开启一个线程进行处理。
若是外部用户请求内网资源,在由心跳服务器开启一个线程后,第一客户端会主动连接内网应用,例如网站服务器、数据库服务器等,第二客户端会主动连接部署在外网的第一服务端,这样边建立了从内网到外网的管道连接。同时,将第一客户端和第二客户端加入到系统的监听列表中。
如果被激活的是第二客户端,说明有用户的请求传入内网,此时,第二客户端每接收1024个字节,就将其放入缓冲区并转发给第一客户端;如果被激活的是第一客户端,说明第一客户端接收到了第二客户端所传递的数据,便将其转发给内网应用程序。以上描述的是数据从外网传递到内网的场景,反过来便是数据从内网传递到外网的场景。
心跳机制是本发明的一个重要组成部分,它承担着系统保活和内网应用激活两大作用。心跳客户端和服务器的流程图分别如图7和图8所示。
本发明在启动时,首先会在内外网的心跳服务端和客户端上建立一个长连接,每隔一秒,服务端会向客户端发送一个心跳包,其中包含一个特定字符串,客户端接收到该字符串后需要立即做出回应,这样,服务器就能知道客户端是存活的。否则就要进行重新连接,同时设置服务端和客户端的心跳服务标志位为False,这样就可以阻止无效的用户请求。
如果接收到外网用户的请求,同时内外网心跳服务能成功建立,在外网第一服务端接收到用户请求的同时,心跳服务器会向内网发送一个字符串,表示要激活内网应用,内网心跳客户端接收到后,就会启动部署在内网的第一客户端和第二客户端主动向内网应用和外网服务进行连接。
关于内网应用分布式部署的具体实现过程如下:
在实际应用中,可能有许多内网应用需要映射至公共互联网上,而且这些应用可能分布在不同的内网计算机上。类似的,如果将这些应用都映射到公网的一台计算机上,并由这台计算机进行请求的转发和处理,势必会加重这台计算机的负担。为了能适应这种应用场景,本发明支持内网穿透应用的分布式部署。
本发明使用JSON进行配置文件的编写,下面从客户端和服务端两个角度介绍分布式配置。
对于客户端来说,管理员可以给每一个内网应用设定一个应用名称,同时,可以设定其要连接的心跳服务端口、公网主机端口、用于内外网数据流传输的端口、内网应用地址、以及内网访问端口。每一个配置选项使用键值对进行表示,每一个应用被当成一个对象属性封装进一个全局JSON对象中。
对于服务端来说,与客户端类似,管理员可以给每个应用分配一个标签,同时,可以分别配置每一个应用程序的心跳检测端口、内外网数据流传输端口、以及外网用户要访问的端口号。其中,心跳检测端口与内外网数据流传输端口要与内网对应应用的客户端中的配置文件设置一致。
这里给出一种分布式的配置样例,如图9所示。例如内网中IAPP1与IAPP2为网站应用,IAPP3属于远程控制类应用,此时可以考虑在外网部署两台服务器,Server1专门用于处理属于网站应用的请求,Server2专门用于处理远程控制类应用的请求。由于对于每一个应用程序,本发明会分别开启一个进程来处理,因此应用间是相互独立的。
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。

Claims (6)

1.一种基于TCP Socket和改进心跳机制的内网穿透方法,其特征在于,包括如下步骤:
用户请求外网第一服务端,外网第一服务端接收到用户请求后与用户建立连接;
外网心跳服务端向内网心跳客户端发送激活数据包;
内网心跳客户端接收到激活数据包后,激活内网客户端,使得内网第一客户端主动连接部署在内网的应用,内网第二客户端主动连接外网第二服务端;
内网应用程序将响应发送到内网第一客户端,内网第一客户端接收到数据包后放入缓冲区,由内网第二客户端转发给外网第二服务端,外网第二服务端接收到请求后将数据包放入缓冲区,由外网第一服务端转发给用户。
2.根据权利要求1所述的一种基于TCP Socket和改进心跳机制的内网穿透方法,其特征在于,当没有接收到用户请求时;
外网心跳服务端向内网心跳客户端发送心跳包;
内网心跳客户端判断外网心跳服务端发送的是心跳包后,回应握手包。
3.根据权利要求2所述的一种基于TCP Socket和改进心跳机制的内网穿透方法,其特征在于,用户请求外网第一服务端,外网第一服务端接收到用户请求后与用户建立连接之前,还包括如下步骤:
将外网第一服务端、外网心跳服务端以及外网第二服务端的模式设置为阻塞式,并在外网心跳服务端程序中设置心跳标志变量标示心跳服务是否建立;
将外网第一服务端和外网第二服务端加入监听列表。
4.根据权利要求2所述的一种基于TCP Socket和改进心跳机制的内网穿透方法,其特征在于,用户请求外网第一服务端,外网第一服务端接收到用户请求后与用户建立连接之前,还包括如下步骤:
读取配置文件,获取内网客户端所要连接的远程IP以及端口号。
5.根据权利要求4所述的一种基于TCP Socket和改进心跳机制的内网穿透方法,其特征在于,外网心跳服务端向内网心跳客户端发送心跳包之后,还包括如下步骤:
开启线程进行心跳监测,当接收到内网心跳客户端在收到心跳包后回复的握手包时,将心跳标示变量设为True;
循环监听外网第一服务端和外网第二服务端,当监听列表中无事件发生时,进程被阻塞,如存在一个及以上的监听事件发生,进程被唤醒。
6.一种基于TCP Socket和改进心跳机制的内网穿透系统,其特征在于,包括:
移动端,用于发送用户请求;
外网服务器,包括外网心跳服务端、外网第一服务端和外网第二服务端,所述外网第一服务端用于接收所述用户请求并与移动端建立连接,外网心跳服务端与内网心跳客户端建立连接,用于向内网心跳客户端发送心跳包和激活数据包,外网第二服务端与内网第二服务端建立连接,用于传递数据;
内网服务器,包括内网心跳客户端、内网第一客户端和内网第二客户端,所述内网第一客户端用于连接内网应用程序,内网心跳客户端与外网心跳服务端建立连接,用于接收外网心跳客户端发送的心跳包和激活数据包,并做出反馈,内网第二服务端与外网第二服务端建立连接,用于传递数据。
CN202011261194.2A 2020-11-12 2020-11-12 一种基于TCP Socket和改进心跳机制的内网穿透方法和系统 Active CN112398847B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011261194.2A CN112398847B (zh) 2020-11-12 2020-11-12 一种基于TCP Socket和改进心跳机制的内网穿透方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011261194.2A CN112398847B (zh) 2020-11-12 2020-11-12 一种基于TCP Socket和改进心跳机制的内网穿透方法和系统

Publications (2)

Publication Number Publication Date
CN112398847A CN112398847A (zh) 2021-02-23
CN112398847B true CN112398847B (zh) 2022-11-01

Family

ID=74600717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011261194.2A Active CN112398847B (zh) 2020-11-12 2020-11-12 一种基于TCP Socket和改进心跳机制的内网穿透方法和系统

Country Status (1)

Country Link
CN (1) CN112398847B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112954063A (zh) * 2021-02-25 2021-06-11 福州创实讯联信息技术有限公司 一种tftp内网穿透方法及tftp服务端
CN113364842B (zh) * 2021-05-31 2022-12-16 深圳市光网世纪科技有限公司 一种网络数据传输方法
CN113162954B (zh) * 2021-06-23 2021-09-03 西南石油大学 靶机的创建方法以及网络攻防训练系统
CN115633081A (zh) * 2022-10-13 2023-01-20 南京联创数字科技有限公司 一种基于Eureka心跳连接的优化方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008119214A1 (fr) * 2007-04-02 2008-10-09 Beijing Hitea Technologies Ltd. Procédé pour accéder au service web de réseau interne d'internet
CN109150702A (zh) * 2018-08-16 2019-01-04 南京南瑞信息通信科技有限公司 一种连通信息内外网的高性能移动接入网关及其方法
CN109905397A (zh) * 2019-03-12 2019-06-18 深圳市网心科技有限公司 一种建立数据连接的方法及内网服务器
CN110166432A (zh) * 2019-04-17 2019-08-23 平安科技(深圳)有限公司 对内网目标服务的访问方法、提供内网目标服务的方法
CN110581903A (zh) * 2019-09-16 2019-12-17 上海享途网络科技有限公司 一种多层内网穿透方法、系统及介质
CN110661858A (zh) * 2019-09-12 2020-01-07 南京博联智能科技有限公司 基于websocket的内网穿透方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9459936B2 (en) * 2009-05-01 2016-10-04 Kaazing Corporation Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008119214A1 (fr) * 2007-04-02 2008-10-09 Beijing Hitea Technologies Ltd. Procédé pour accéder au service web de réseau interne d'internet
CN109150702A (zh) * 2018-08-16 2019-01-04 南京南瑞信息通信科技有限公司 一种连通信息内外网的高性能移动接入网关及其方法
CN109905397A (zh) * 2019-03-12 2019-06-18 深圳市网心科技有限公司 一种建立数据连接的方法及内网服务器
CN110166432A (zh) * 2019-04-17 2019-08-23 平安科技(深圳)有限公司 对内网目标服务的访问方法、提供内网目标服务的方法
CN110661858A (zh) * 2019-09-12 2020-01-07 南京博联智能科技有限公司 基于websocket的内网穿透方法及系统
CN110581903A (zh) * 2019-09-16 2019-12-17 上海享途网络科技有限公司 一种多层内网穿透方法、系统及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Design of P2P network communication based on MODUBS/TCP protocol";YAN Hui等;《2009 Second Pacific-Asia Conference on Web Mining and Web-based Application》;20090904;138-141 *
端口转发技术实现局域网穿透(上);杨勇;《电脑编程技巧与维护》;20130503(第09期);83-89 *

Also Published As

Publication number Publication date
CN112398847A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
CN112398847B (zh) 一种基于TCP Socket和改进心跳机制的内网穿透方法和系统
Cheshire et al. Nat port mapping protocol (nat-pmp)
EP1484860B1 (en) Automatic discovery and configuration of external network devices
CN112997463B (zh) 用于跨公用互联网的服务器集群网络通信的系统和方法
JP4965574B2 (ja) 複数のプロセスにおけるポートの共有
US7991877B2 (en) Rogue router hunter
US9143421B2 (en) Network system capable of implementing stun with the assistance of two network devices and method thereof
US20060174031A1 (en) Data transmission among network-connected information processors
US7930370B2 (en) Method and system for remote configuration of managed nodes
US20070016670A1 (en) Determining data flows in a network
JP2012138901A (ja) リレーサーバを利用したデータ伝送システム及び方法
CN111225020A (zh) 一种用户态网络文件系统双栈访问方法、装置及设备
WO2020135522A1 (zh) 一种数据传输方法及装置
CN113810349B (zh) 数据传输方法、装置、计算机设备和存储介质
JP2018510538A (ja) ネットワーク共有実施方法及び装置
US8489727B2 (en) Active storage area network discovery system and method
US9083718B1 (en) Global grid protocal, a system and method for establishing and simplifying peer-to-peer networking connections among a plurality of computers and divices by dynamically generating identifiers and performing routing and traversal processes
CN102577249A (zh) 动态寻址主机的连接的实例组
CN111641664B (zh) 一种爬虫设备业务请求方法、装置、系统和存储介质
US11310191B2 (en) Receiving device, receiving device control method, network system, network system control method, and medium
US9912557B2 (en) Node information detection apparatus, node information detection method, and program
CN115604160A (zh) 网络检测处理方法及装置、电子设备、存储介质
US8660143B2 (en) Data packet interception system
Cheshire et al. RFC 6886: Nat port mapping protocol (NAT-PMP)
CN111866216A (zh) 基于无线网络接入点的nat设备检测方法及系统

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