CN114598532A - 连接建立方法、装置、电子设备和存储介质 - Google Patents

连接建立方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN114598532A
CN114598532A CN202210238577.0A CN202210238577A CN114598532A CN 114598532 A CN114598532 A CN 114598532A CN 202210238577 A CN202210238577 A CN 202210238577A CN 114598532 A CN114598532 A CN 114598532A
Authority
CN
China
Prior art keywords
node
connection
visited
information
access
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.)
Granted
Application number
CN202210238577.0A
Other languages
English (en)
Other versions
CN114598532B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202210238577.0A priority Critical patent/CN114598532B/zh
Publication of CN114598532A publication Critical patent/CN114598532A/zh
Priority to US17/985,341 priority patent/US11863630B2/en
Application granted granted Critical
Publication of CN114598532B publication Critical patent/CN114598532B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2578NAT traversal without involvement of the NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2589NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
    • 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/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本公开提供了一种连接建立方法、装置、电子设备和存储介质,涉及通信领域,可以应用在云计算、物联网和媒体云场景下。具体实现方案为:接收受访节点发送的建立连接请求,与所述受访节点建立连接,并获取所述受访节点的受访连接信息;接收访问节点发送的受访地址请求,并确定所述访问节点的访问连接信息;将所述访问连接信息发送至所述受访节点,以使所述受访节点根据所述访问连接信息,打通所述访问节点与所述受访节点之间的连接通道;将所述受访节点的受访连接信息发送至所述访问节点,以使所述访问节点在所述连接通道打通的情况下,根据所述受访连接信息与所述受访节点建立连接。本公开实施例可以降低访问成本,提高访问成功率。

Description

连接建立方法、装置、电子设备和存储介质
技术领域
本公开涉及通信领域,可以应用在云计算、物联网和媒体云场景下,尤其涉及一种连接建立方法、装置、电子设备和存储介质。
背景技术
随着边缘计算技术的发展,海量的设备部署在内网(经由路由器网络地址转换((Network Address Translation,NAT)代理上网),连接内网设备是边缘计算的重要技术。
在现有的Internet网络环境中,内网设备通常位于NAT设备或防火墙之后。NAT设备允许内网内主机主动向公网服务器发起连接,但是却禁止相反方向的主动连接。。
发明内容
本公开提供了一种连接建立方法、装置、电子设备和存储介质。
根据本公开的一方面,提供了一种连接建立方法,应用于服务器,包括:
接收受访节点发送的建立连接请求,与受访节点建立连接,并获取受访节点的受访连接信息;
接收访问节点发送的受访地址请求,并确定访问节点的访问连接信息;
将访问连接信息发送至受访节点,以使受访节点根据访问连接信息,打通访问节点与受访节点之间的连接通道;
将受访节点的受访连接信息发送至访问节点,以使访问节点在连接通道打通的情况下,根据受访连接信息与受访节点建立连接。
根据本公开的一方面,提供了一种连接建立方法,应用于受访节点,包括:
向服务器发送建立连接请求,并与服务器建立连接,以使服务器获取受访连接信息并转发访问节点;
接收服务器发送的访问节点的访问连接信息;
根据访问连接信息向访问节点发送打洞数据,以使访问节点与受访节点之间的连接通道打通;
接收访问节点根据受访连接信息发送的建立连接请求,与访问节点建立连接。
根据本公开的一方面,提供了一种连接建立方法,应用于访问节点,包括:
向服务器发送受访地址请求,以使服务器获取访问连接信息并转发受访节点,以及通过受访节点根据访问连接信息,打通访问节点与受访节点之间的连接通道;
接收服务器发送的受访节点的受访连接信息;
在连接通道打通的情况下,根据受访连接信息与受访节点建立连接。
根据本公开的一方面,提供了一种连接建立装置,配置于服务器中,包括:
受访连接信息获取模块,用于接收受访节点发送的建立连接请求,与受访节点建立连接,并获取受访节点的受访连接信息;
访问连接信息获取模块,用于接收访问节点发送的受访地址请求,并确定访问节点的访问连接信息;
访问连接信息发送模块,用于将访问连接信息发送至受访节点,以使受访节点根据访问连接信息,打通访问节点与受访节点之间的连接通道;
受访连接信息发送模块,用于将受访节点的受访连接信息发送至访问节点,以使访问节点在连接通道打通的情况下,根据受访连接信息与受访节点建立连接。
根据本公开的一方面,提供了一种连接建立装置,配置于受访节点中,包括:
服务器连接建立模块,用于向服务器发送建立连接请求,并与服务器建立连接,以使服务器获取受访连接信息并转发访问节点;
访问连接信息获取模块,用于接收服务器发送的访问节点的访问连接信息;
访问通道打洞模块,用于根据访问连接信息向访问节点发送打洞数据,以使访问节点与受访节点之间的连接通道打通;
访问节点连接建立模块,用于接收访问节点根据受访连接信息发送的建立连接请求,与访问节点建立连接。
根据本公开的一方面,提供了一种连接建立装置,配置于访问节点中,包括:
受访地址请求模块,用于向服务器发送受访地址请求,以使服务器获取访问连接信息并转发受访节点,以及通过受访节点根据访问连接信息,打通访问节点与受访节点之间的连接通道;
受访连接信息获取模块,用于接收服务器发送的受访节点的受访连接信息;
受访节点连接建立模块,用于在连接通道打通的情况下,根据受访连接信息与受访节点建立连接。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开任一实施例的连接建立方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开任一实施例的连接建立方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开任一实施例的连接建立方法。
本公开实施例可以降低访问成本,提高访问成功率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例公开的一种连接建立方法的示意图;
图2是根据本公开实施例公开的另一种连接建立方法的示意图;
图3是根据本公开实施例公开的另一种连接建立方法的示意图;
图4是根据本公开实施例公开的另一种连接建立方法的示意图;
图5是根据本公开实施例公开的另一种连接建立方法的示意图;
图6是根据本公开实施例公开的另一种连接建立方法的场景图
图7是根据本公开实施例公开的一种连接建立装置的示意图;
图8是根据本公开实施例公开的一种连接建立装置的示意图;
图9是根据本公开实施例公开的一种连接建立装置的示意图;
图10是用来实现本公开实施例的连接建立方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开实施例中,实现连接建立方法的连接建立系统包括访问节点、受访节点和服务器,访问节点需要与受访节点建立连接。受访节点位于NAT设备之后,NAT设备保护内网中的受访节点,使得外网中的访问节点无法直接与受访节点进行通信。受访节点可以预先在服务器中进行注册,将关联信息的存储在服务器中。访问节点访问服务器,并通过服务器获取受访节点的信息,与受访节点建立连接。
其中,服务器用于辅助访问节点与受访节点建立连接。访问节点可以是指需要和受访节点建立连接的节点。受访节点可以是指位于NAT设备之后的内网节点。其中,访问节点可以是位于NAT设备之后的节点,也可以不位于NAT设备之后,也即访问节点也可以是另一个内网节点,或者直接是外网节点。需要说明的是,访问节点可以是与受访节点位于相同的内网的内网节点,也可以是与受访节点位于不同的内网的内网节点。实际上,访问节点可以是任意网络环境中的节点,对访问节点的网络环境不做限定。
受访节点向服务器发送数据包1,数据包1经过NAT设备,数据的源网际协议(Internet Protocol,IP)地址由X.X.X.X变为了Y.Y.Y.Y,以及将端口A映射为端口B,从而,与公网的服务器进行连接的地址由内网的私有地址变为了公网地址,NAT设备将内部使用的私有地址进行隐藏,并在地址转换表中记录内外网间转换的对应地址。外网的服务器向内网的受访节点发送消息返回数据包2时,数据包2经过NAT设备,NAT设备会查询数据包的目标地址,在网络地址转换表中查询到地址映射关系,用X.X.X.X:A替换掉原先的目标地址Y.Y.Y.Y:B,从而实现了内外网之间的数据通信。如果受访节点未曾向服务器进行过通信,则该服务器主动发送给受访节点的数据包会被阻挡。受访节点向外网发送数据经过的NAT设备的类型不受限制。在访问节点发送的数据同样经过NAT设备时,经过的NAT设备的类型同样不受限制。
图1是根据本公开实施例公开的一种连接建立方法的流程图,本实施例可以适用于建立受访节点与访问节点之间的通信连接的情况。本实施例方法可以由连接建立装置来执行,该装置可采用软件和/或硬件的方式实现,并具体配置于具有一定数据运算能力的电子设备中,该电子设备可以是服务器设备。
S101,接收受访节点发送的建立连接请求,与受访节点建立连接,并获取受访节点的受访连接信息。
建立连接请求用于建立受访节点和服务器之间的连接。受访连接信息用于访问节点获取,以使访问节点根据受访连接信息,建立与受访节点之间的连接。受访连接信息可以是指访问节点连接受访节点所需的受访地址,该受访地址具体包括IP地址和端口。
其中,受访节点在NAT设备之后,服务器开始无法主动向受访节点发送信息,只有受访节点向服务器发送信息之后,服务器才能主动向受访节点发送信息。其中,服务器可以与受访节点建立长连接。
S102,接收访问节点发送的受访地址请求,并确定访问节点的访问连接信息。
受访地址请求用于访问节点请求获取受访节点的受访地址。受访地址用于受访节点访问访问节点。访问节点可以与服务器建立短连接。
S103,将访问连接信息发送至受访节点,以使受访节点根据访问连接信息,打通访问节点与受访节点之间的连接通道。
将访问连接信息发送至受访节点,访问连接信息携带有访问节点的访问地址,用于受访节点向访问地址发送数据,实现受访节点主动向访问节点发送数据,从而实现打通访问节点与受访节点之间的连接通道。实际上,受访节点位于NAT设备之后,NAT设备会对受访节点未曾通信过的访问节点发送的数据进行阻挡。从而,需要受访节点主动先对访问节点发送数据,以使访问节点与受访节点之间的连接通道打通,从而,NAT设备不会阻挡该访问节点向受访节点发送的数据,从而实现访建立问节点与受访节点之间的连接。其中,一个连接通道与一个访问地址对应,即一个连接通道与一个访问节点的IP地址和端口对应。
S104,将受访节点的受访连接信息发送至访问节点,以使访问节点在连接通道打通的情况下,根据受访连接信息与受访节点建立连接。
将受访连接信息发送至访问节点,受访连接信息携带有受访节点的受访地址,用于访问节点向受访地址发送数据,实现访问节点与受访节点建立连接。
在现有技术中,现有STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序)网络协议,允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。基于STUN网络协议的NAT穿越技术,要求连接的两方都运行有TNAT(Traversal NAT,穿越NAT)的应用程序。但实际有不少场景,访问节点没有STUN功能,不支持TNAT的应用程序,例如浏览器或轻量级客户端等,没有STUN功能的访问节点无法实现NAT穿越,与NAT后的节点建立连接。
根据本公开的技术方案,获取受访节点发送的建立连接请求,获取受访节点的受访连接信息,并接收访问节点发送的受访地址请求,获取访问节点的访问连接信息,将访问连接信息发送至受访节点,使得受访节点打通访问节点与受访节点之间的连接通道,并将受访连接信息发送至访问节点,以使访问节点通过打通的连接通道与受访节点建立连接,可以针对不支持TANT功能的访问节点,提供受访节点的连接辅助功能,实现访问节点与位于NAT设备之后的受访节点之间的连接,无需访问节点具备穿越NAT设备功能,降低内网节点的访问成本,降低访问节点的复杂度,丰富访问节点的应用场景,提高内网节点的访问效率。
图2是根据本公开实施例公开的另一种连接建立方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。受访连接信息包括第一受访外网信息和受访内网信息。
S201,接收受访节点发送的建立连接请求,与受访节点建立连接,并获取受访节点的受访连接信息,受访连接信息包括第一受访外网信息和受访内网信息。
受访连接信息包括受访节点的受访外网信息和受访内网信息。其中,受访外网信息可以包括受访外网IP地址和受访外网端口;受访内网信息可以包括受访内网IP地址和受访内网端口。其中,建立连接请求包括受访内网信息和受访外网信息。具体的,受访节点生成的建立连接请求中仅包括受访内网信息,建立连接请求经过NAT设备,将建立连接请求中的部分受访内网信息映射为受访外网信息,形成同时包括受访内网信息和受访外网信息的建立连接请求,并发送给服务器。从而服务器接收到的建立连接请求包括受访内网信息和受访外网信息。服务器从建立连接请求中提取受访连接信息。示例性的,可以从建立连接请求中的报文头提取受访外网信息,并从报文体中提取受访内网信息,将提取的受访外网信息和受访内网信息,确定为受访连接信息。
第一受访外网信息可以是在受访节点发送建立连接请求的情况下,将受访内网信息映射形成的受访外网信息。
服务器与受访节点建立连接之后,还可以向受访节点回复建连成功的消息。并为受访节点记录一条数据,该数据包括([服务器IP地址,服务端口],[受访节点第一外网IP地址,受访节点第一外网端口],[受访节点内网IP地址,受访节点内网端口]),如果受访节点的外网地址发生变化则及时更新记录。
S202,接收访问节点发送的受访地址请求,并确定访问节点的访问连接信息。
受访地址请求中包括访问内网信息和访问外网信息,其中,在访问节点不在NAT设备之后,或访问节点不是内网节点的情况下,访问内网信息和访问外网信息相同,可以统称为访问信息。其中,访问外网信息可以包括访问外网IP地址和访问外网端口;访问内网信息可以包括访问内网IP地址和访问内网端口。访问连接信息的获取,可以参考受访连接信息的获取方式。
实际上,访问节点和受访节点处于同一内网,访问节点可以直接通过受访节点的内网IP地址和内网端口,与受访节点建立连接。在访问节点和受访节点不处于同一内网,例如,访问节点处于外网,受访节点处于内网,访问节点可以通过受访节点的外网IP地址和外网端口,与受访节点建立连接。
可选的,确定访问节点的访问连接信息,包括:根据受访地址请求,获取访问节点的第一初始信息;根据第一初始信息和第一端口调整量,确定访问节点的备选信息;将备选信息和第一初始信息,确定为访问节点的访问连接信息。
其中,同一内网节点同一端口,对于锥型NAT,无论与哪一外网节点通讯,都不改变所分配的端口;而对于对等型NAT,同一内网节点同一端口,每一次与不同的外网节点通讯,就重新分配另一个端口。实际上,在访问节点位于NAT设备之后,且该NAT设备为对称型,访问节点在与服务器发送受访地址请求的情况下,访问节点在向受访节点发送建立连接的请求,此时,该请求经过NAT设备,NAT设备会分配新的外网端口,由此,服务器获取的访问连接信息是针对上一次分配的外网端口确定的访问外网信息。由此,服务器需要根据访问节点的NAT设备的端口分配方式,对访问连接信息中的访问外网信息进行调整,得到对称型NAT设备后的访问节点的访问外网端口,并添加到原访问外网信息中,以应用于对称型NAT设备后的访问节点与受访节点建立连接的应用场景。
受访地址请求,可以提取访问节点的第一初始信息,具体可以参照受访连接信息的获取方式获取第一初始信息。第一初始信息用于确定备选信息。第一初始信息可以是指访问节点在发送受访地址请求的情况下,服务器获取到的访问节点的访问内网信息和第一访问外网信息。其中,第一访问外网信息可以包括第一访问外网IP地址和第一访问外网端口;访问内网信息可以包括访问内网IP地址和访问内网端口。
第一端口调整量用于对第一初始信息中的外网端口进行调整,得到在对称型NAT设备后的访问节点的应用场景中,访问节点向受访节点发送数据的外网端口。第一端口调整量可以根据访问节点的NAT设备的端口分配规则确定。示例性的,对称型NAT设备的端口分配规则可以是递增、递减和跳跃等。具体的,对称型NAT设备的端口分配规则是递增+1规则的情况下,第一端口调整量为1,且计算方法是累加1。
备选信息可以是在对称型NAT设备后的访问节点的应用场景中,访问节点向受访节点发送数据的第二访问外网信息,具体可以包括第二访问外网端口,或者还可以包括第二访问外网IP地址。实际上外网IP地址不随着访问节点向不同节点发送数据而发生改变。在备选信息存在第二外网IP地址的情况下,第一外网IP地址和第二外网IP地址相同。如前例,第一访问外网端口为C,第二访问外网端口为C+1。第一访问外网信息为:X.X.X.X:C。相应的,第二访问外网信息为X.X.X.X:C+1。
在访问节点为外网节点(即访问外网信息和访问内网信息相同),或位于锥型NAT设备之后的内网节点的情况下,访问节点的访问外网信息不会随着发送目标不同而改变访问外网端口和访问外网IP地址。从而,访问连接信息可以仅包括第一访问外网信息和访问内网信息,受访信息可以仅根据第一访问外网信息和访问内网信息,向访问节点发送数据。
在访问节点为位于对称型NAT设备之后的内网节点的情况下,访问节点的访问外网信息会随着发送目标不同而改变访问外网端口。从而,访问连接信息还需要包括第二访问外网信息,以确定访问节点向受访节点发送数据时的访问外网IP地址和NAT设备重新分配的访问外网端口。受访信息可以根据新分配的第二访问外网信息和访问内网信息,向访问节点发送数据,以建立访问节点基于第二访问外网信息与受访节点的连接通道。
将第一初始信息和备选信息进行结合,确定为访问连接信息,可以获取在不同应用场景中的访问节点,向受访节点发送数据时的访问外网信息,以适配不同应用场景中的访问节点。同时无需进行访问节点的NAT设备的类型检测,简化连接建立操作。
通过获取第一初始信息,并根据第一端口调整量,确定备选信息,并将备选信息和第一初始信息确定为访问节点的访问连接信息,可以适配不处于NAT内网或位于锥型NAT设备或对称型NAT设备之后的访问节点,增加连接建立的应用场景的范围。
S203,将访问连接信息发送至受访节点,以使受访节点根据访问连接信息,打通访问节点与受访节点之间的连接通道。
S204,将受访节点的受访连接信息发送至访问节点,以使访问节点在连接通道打通的情况下,根据受访连接信息与受访节点建立连接。
可选的,服务器与受访节点建立QUIC连接,服务器与访问节点建立QUIC连接。
其中,QUIC(Quick UDP Internet Connection)协议是一种基于UDP(UserDatagram Protocol,用户数据报协议)的传输层协议。受访节点和服务器采用QUIC传输层协议建立连接,访问节点和服务器采用QUIC传输层协议建立连接。受访节点和访问节点采用QUIC传输层协议建立连接。HTTP3协议是应用层协议,通常使用QUIC协议进行数据传输,HTTP3协议又称HTTP(HyperText Transfer Protocol,超文本传输协议)Over QUIC。此外HTTP3是下一代HTTP的标准(当前是HTTP2)。其中,QUIC协议还可以替换为采用IQUIC(IETF创建的QUIC)、或GQUIC(Google QUIC),以及其它扩展后的QUIC协议等。
访问节点是任意可以使用采用标准QUIC/HTTP3协议的应用,例如浏览器。受访节点和服务器同样可以采用标准QUIC/HTTP3协议进行数据传输。
通过配置受访节点、服务器和访问节点均采用QUIC/HTTP3协议进行传输数据,可以提高QUIC/HTTP3协议的连接成功率。
根据本公开的技术方案,通过将受访连接信息配置为第一受访外网信息和受访内网信息,可以针对处于不同网络或处于相同网络的受访节点和访问节点均建立连接,丰富建立连接的网络应用场景。
图3是根据本公开实施例公开的另一种连接建立方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。连接建立方法,优化为:获取受访节点发送的打洞数据,并确定受访节点针对在先向访问节点发送打洞数据的第二受访外网信息;根据第二受访外网信息,更新受访连接信息。
S301,接收受访节点发送的建立连接请求,与受访节点建立连接,并获取受访节点的受访连接信息,受访连接信息包括第一受访外网信息和受访内网信息。
S302,接收访问节点发送的受访地址请求,并确定访问节点的访问连接信息。
S303,将访问连接信息发送至受访节点,以使受访节点根据访问连接信息,打通访问节点与受访节点之间的连接通道。
S304,获取受访节点发送的打洞数据,并确定受访节点针对在先向访问节点发送打洞数据的第二受访外网信息。
在受访节点打洞完成之后,也即在受访节点向访问节点发送打洞数据之后,受访节点还会向服务器发送打洞数据。打洞数据用于服务器预测受访节点发送访问节点所使用的第二受访外网信息。通常,受访节点先向访问节点发送打洞数据,并在之后,将该打洞数据发送至服务器。服务器获取打洞数据的受访外网信息,并预测受访节点之前发送数据的受访外网信息,确定为第二受访外网信息。其中,第二受访外网信息可以是指在受访节点向访问节点发送打洞数据的情况下,受访内网信息映射形成的受访外网信息。
在受访节点为位于锥型NAT设备之后的内网节点的情况下,受访节点的受访外网信息不会随着发送目标不同而改变受访外网端口和受访外网IP地址。第二受访外网信息和第一受访外网信息相同。
而在受访节点为位于对称型NAT设备之后的内网节点的情况下,受访节点的受访外网信息会随着发送目标不同而改变受访外网端口。从而,访问节点接收到的打洞数据对应的受访外网信息,与服务器接收到打洞数据对应的受访外网信息不同,具体是受访外网端口不同。服务器可以在接收打洞数据的情况下,获取受访节点的当前受访外网信息,并根据受访节点的NAT设备的端口分配规则对当前受访外网信息进行调整,确定第二受访外网信息,从而预测受访节点向访问节点发送打洞数据所用的受访外网信息。
S305,根据第二受访外网信息,更新受访连接信息。
根据第二受访外网信息,更新受访连接信息,可以是将第二受访外网信息添加到受访连接信息中。此时,受访连接信息包括受访内网信息、第一受访外网信息和第二受访外网信息。其中,第一受访内网信息适配于位于锥型NAT设备后的受访节点的应用场景,第二受访外网信息适配于位于对称型NAT设备后的受访节点的应用场景。
可选的,确定访问节点的访问连接信息,包括:根据受访地址请求,获取访问节点的第一初始信息;根据第一初始信息和第一端口调整量,确定访问节点的备选信息;将备选信息和第一初始信息,确定为访问节点的访问连接信息。
可选的,确定受访节点针对在先向访问节点发送打洞数据的第二受访外网信息,包括:根据打洞数据,确定受访节点的第二初始信息;根据第一端口调整量,确定第二端口调整量;根据第二端口调整量,对第二初始信息进行调整,确定受访节点的第二受访外网信息。
第二初始信息可以是指受访节点向服务器发送打洞数据时所使用的受访外网信息。第二端口调整量用于对第二初始信息中的外网端口进行调整,得到在对称型NAT设备后的受访节点的应用场景中,受访节点向服务器发送打洞数据的外网端口。第二端口调整量可以根据访问节点的NAT设备的端口分配规则和第二端口调整量确定。实际上,由于第一端口调整量存在,导致受访节点向访问节点的多个访问地址发送数据,每个访问地址对应分配不同的外网端口。相应的,受访节点在向服务器发送打洞数据之前,已经向访问节点的多个访问地址发送打洞数据。从而,根据第一端口调整量的数量,确定第二端口调整量的数量,以表示对受访外网端口进行多次调整,确定受访节点向访问节点发送数据的每次操作对应的受访外网端口,第二端口调整量的数量等于第一端口调整量加1;根据端口分配规则,确定各第二端口调整量的数值,在外网端口的基础上该数量次调整第二端口调整量,得到该数量个外网端口,确定第二受访外网信息。调整方式与端口分配规则的计算方式相反。例如,端口分配规则为递减,调整方式为递增。
在一个具体的例子中,第一端口调整量的数量为1,则第二端口调整量的数量为1+1=2。对称型NAT设备的端口分配规则是递增+1规则,访问节点的发送操作在先,服务器的发送操作在后,第二端口调整量递增规则的计算方式相反,第二端口调整量的数值为1。例如,第二受访外网端口包括第二初始信息中外网端口-1,第二初始信息中外网端口-2。
具体说明应用场景:
端口分配规则为递增+1。其中,连接信息包括的内网信息和外网IP地址始终不变,后面不再赘述,仅描述连接信息包括的外网端口的内容。
1、不处于NAT内网或位于锥型NAT设备后的访问节点,与处于锥型NAT设备之后的受访节点。其中,访问节点的访问外网端口不变,例如,访问节点向服务器发送受访地址请求时和向受访节点发送数据时的访问外网端口均为a,访问连接信息仅包括访问外网端口a。受访节点的受访外网端口不变,例如,受访节点向访问节点发送打洞数据时和向服务器发送打洞数据时的受访外网端口均为b,受访连接信息仅包括受访外网端口b。实际上,a为第一初始信息中的访问外网端口,b为第一受访外网信息中的受访外网端口。
2、位于对称型NAT设备后的访问节点,与处于锥型NAT设备之后的受访节点。其中,访问节点的访问外网端口变化,例如,访问节点向服务器发送受访地址请求时的访问外网端口为a,访问节点向受访节点发送数据的访问外网端口为a+1,访问连接信息包括访问外网端口a和a+1。受访节点的受访外网端口不变,例如,受访节点向访问节点发送打洞数据时和向服务器发送打洞数据时的受访外网端口均为b,受访连接信息仅包括受访外网端口b。实际上,a为第一初始信息中的访问外网端口,a+1为备选信息中的访问外网端口,b为第一受访外网信息中的受访外网端口。
3、不处于NAT内网或位于锥型NAT设备后的访问节点,与处于对称型NAT设备之后的受访节点。其中,访问节点的访问外网端口不变,例如,访问节点向服务器发送受访地址请求时和向受访节点发送数据时的访问外网端口均为a,访问连接信息仅包括访问外网端口a。受访节点的受访外网端口变化,例如,受访节点向访问节点发送打洞数据时的受访外网端口为b-1,受访节点向服务器发送打洞数据时的受访外网端口为b,受访连接信息包括受访外网端口b-1和b。实际上,a为第一初始信息中的访问外网端口,b为第一受访外网信息中的受访外网端口,b-1为第二受访外网信息中的受访外网端口。
4、位于对称型NAT设备后的访问节点,与处于对称型NAT设备之后的受访节点。其中,访问节点的访问外网端口变化,例如,访问节点向服务器发送受访地址请求时的访问外网端口为a,访问节点向受访节点发送数据的访问外网端口为a+1,访问连接信息包括访问外网端口a和a+1。受访节点的受访外网端口不变,例如,受访节点向访问节点(分别向访问外网端口a和访问外网端口a+1)发送打洞数据时的受访外网端口为b和b+1,受访节点向服务器发送打洞数据时的受访外网端口为b+1+1=b+2,受访连接信息包括受访外网端口b-2、b-1和b。实际上,a为第一初始信息中的访问外网端口,a+1为备选信息中的访问外网端口,b为第一受访外网信息中的受访外网端口,b-1和b-2为第二受访外网信息中的受访外网端口。
由此,将第一初始信息和备选信息,确定为访问连接信息,以及将第一受访外网信息和第二受访外网信息,确定为受访连接信息,可以覆盖以上四种连接的应用场景,实现任意网络环境的访问节点,与任意类型NAT设备之后的受访节点,建立连接,提高连接方法的通用性。
需要说明的是,上述仅仅是针对端口分配规则为递增+1的示例,还可以替换为递增+i,i=1、2、3……此外,还可以替换为递减-i等。
通过打洞数据获取受访节点的第二初始信息,并根据第二端口调整量,对第二初始信息进行调整,确定受访节点的第二受访外网信息,并更新受访连接信息,可以适配不处于NAT内网或位于锥型NAT设备或对称型NAT设备之后的访问节点和处于对称型NAT设备之后的受访节点之间的连接,增加连接建立的应用场景的范围。
S306,将受访节点的受访连接信息发送至访问节点,以使访问节点在连接通道打通的情况下,根据受访连接信息与受访节点建立连接。
现有的STUN只支持CONE锥型NAT设备后的受访节点打洞。本公开实施例实现服务器预测对称型NAT设备后的受访节点,在先向访问节点发送数据的外网端口,尤其是预测端口递增型规则的对称型NAT设备后的受访节点,在先向访问节点发送数据的外网端口,实现支持对称型NAT设备后的受访节点打洞,尤其是支持端口递增型规则的对称型NAT设备后的受访节点的打洞。
根据本公开的技术方案,通过服务器接收受访节点发送的打洞数据,以便根据打洞数据,确定第二受访外网信息,并更新受访连接信息,可以增加受访连接信息的内容,可以适配位于锥型NAT设备或对称型设备之后的受访节点,增加连接建立的应用场景的范围,并且无需获取NAT的类型,降低NAT之后的受访节点的连接复杂性,提高连接效率。
图4是根据本公开实施例公开的一种连接建立方法的流程图,本实施例可以适用于建立受访节点与访问节点之间的通信连接的情况。本实施例方法可以由连接建立装置来执行,该装置可采用软件和/或硬件的方式实现,并具体配置于具有一定数据运算能力的电子设备中,该电子设备可以是客户端设备,具体是受访节点,客户端设备例如手机、平板电脑、车载终端和台式电脑等。
S401,向服务器发送建立连接请求,并与服务器建立连接,以使服务器获取受访连接信息并转发访问节点。
可以与服务器建立QUIC长连接。并周期性发送心跳包,周期例如30秒,心跳包的内容可以与建立连接请求的内容相同。
S402,接收服务器发送的访问节点的访问连接信息。
S403,根据访问连接信息向访问节点发送打洞数据,以使访问节点与受访节点之间的连接通道打通。
打洞数据用于受访节点打通访问节点与受访节点之间的连接通道。其中,打洞数据包括的内容不限定,只需要受访节点和访问节点预先约定好即可。其中,打洞数据包括PUNCH消息。访问连接信息包括访问节点的至少一个访问外网端口,受访节点可以根据各访问外网端口分别向对应的连接通道发送打洞数据,以适配不同应用场景中的访问节点,打通对应的连接通道。
S404,接收访问节点根据受访连接信息发送的建立连接请求,与访问节点建立连接。
可选的,向服务器发送建立连接请求,包括:向网络地址转换节点发送建立连接请求,并通过网络地址转换节点向服务器发送建立连接请求;其中,建立连接请求用于服务器获取受访连接信息,受访连接信息包括第一受访外网信息和受访内网信息。
网络地址转换节点为NAT设备,用于将受访节点的受访内网信息映射为受访外网信息,具体是受访内网IP地址映射为受访外网IP地址,并将受访内网端口映射为受访外网端口。受访节点位于网络地址转换节点之后,受访节点将建立连接请求发送至网络地址转换节点,网络地址转换节点将建立连接请求中源IP地址和源端口进行内外网映射,并将更新之后的建立连接请求向服务器发送,从而服务器接收到网络地址转换节点转发的建立连接请求。此外,建立连接请求中还携带有受访内网信息,不会被网络地址转换节点进行映射,从而,服务器可以获取受访内网信息,并根据建立连接请求中的源IP地址和源端口,获取受访外网信息。
由于网络地址转换节点的类型不同,导致受访外网信息可能会随着连接的地址不同而改变。将受访节点发送建立连接请求,也即网络地址转换节点转发建立连接请求时,形成的受访外网信息,确定为第一受访外网信息。
通过网络地址转换节点对建立连接请求中的源IP地址和源端口进行内外网映射,并将更新之后的建立连接请求向服务器发送,从而服务器接收到网络地址转换节点转发的建立连接请求,可以提高受访节点的安全,同时,将受访连接信息配置为第一受访外网信息和受访内网信息,可以针对处于不同网络或处于相同网络的受访节点和访问节点均建立连接,丰富建立连接的网络应用场景。
可选的,通过网络地址转换节点向服务器发送建立连接请求,包括:通过网络地址转换节点,根据第一传输属性信息向服务器发送建立连接请求,第一受访外网信息通过网络地址转换节点基于第一传输属性信息对受访内网信息进行映射得到;方法还包括:在向访问节点发送打洞数据的情况下,向网络地址转换节点发送打洞数据,并通过网络地址转换节点,根据第二传输属性信息,向服务器发送打洞数据,以使服务器获取第二初始信息,并确定第二受访外网信息;其中,第二初始信息通过网络地址转换节点基于第二传输属性信息对受访内网信息进行映射得到,第一传输属性信息与第二传输属性信息不同。
第一传输属性信息可以是指受访节点发送建立连接请求时的受访节点和服务器的地址信息,具体可以包括下述至少一项:第一源IP地址、第一源端口、第一目的IP地址和第一目的端口等。第二传输属性信息与第一传输属性信息不同,第二传输属性可以是指受访节点向服务器发送打洞数据时的受访节点和服务器的地址信息,具体可以包括下述至少一项:第二源IP地址、第二源端口、第二目的IP地址和第二目的端口等。其中,第二传输属性信息中至少一个参数与第一传输属性信息中的相应参数的内容不同,示例性的,第一目的端口与第二目的端口不同,又如,第一源IP地址与第二源IP地址不同等。第二初始信息为网络地址转换节点向服务器发送打洞数据时,映射形成的受访外网信息。此外,由于发送打洞数据时不携带有受访内网信息,从而,服务器不会知道第二传输属性信息中的第二源IP地址和第二源端口是否发生变化,服务器仅会根据心跳包携带的受访内网信息进行更新。
其中,第一传输属性信息和第二传输属性信息,表明受访节点发送建立连接请求时的连接通道,与受访节点向服务器发送打洞数据时的连接通道不同。由此,在网络地址转换节点为对称型的情况下,会将两个不同的连接通道对应的源端口映射为不同的受访外网端口,从而,在受访节点先向访问节点发送打洞数据再向服务器发送打洞数据的情况下,两次打洞数据映射的受访外网端口符合网络地址转换节点所适用的端口分配规则,从而服务器可以根据第二初始信息预测受访节点向访问节点发送打洞数据时所分配的受访外网端口,即第二受访外网信息。
通过配置第一传输属性向服务器发送建立连接请求,并配置第二传输属性向服务器发送打洞数据,可以使得两次数据传输的受访外网端口不同,从而实现服务器根据第二初始信息预测第二受访外网信息,提高受访节点打洞时的受访外网信息的预测准确率,适配对称型的网络地址转换节点的应用场景,从而提高受访节点与访问节点的连接成功率。
可选的,网络地址转换节点的类型包括对称型节点或锥型节点,对称型节点通过端口递增方式对受访内网信息进行映射。
本公开实施例中的网络地址转换节点的类型不限于锥型节点,还适用于对称型节点,使得本公开实施例的连接建立方法广泛应用不同类型的网络地址转换节点,提高连接建立方法的通用性,以及连接成功率。
根据本公开的技术方案,向服务器发送的建立连接请求,并通过建立的连接发送受访连接信息,并接收服务器发送的访问节点的访问连接信息,根据访问连接信息打通访问节点与受访节点之间的连接通道,以从打通的连接通道中获取访问节点发送的建立连接请求,与访问节点建立连接,可以与不支持TANT功能的访问节点建立连接,无需受访节点获取自身NAT设备类型,降低内网节点的访问成本,降低受访节点的复杂度提高内网节点的访问效率。
图5是根据本公开实施例公开的一种连接建立方法的流程图,本实施例可以适用于建立受访节点与访问节点之间的通信连接的情况。本实施例方法可以由连接建立装置来执行,该装置可采用软件和/或硬件的方式实现,并具体配置于具有一定数据运算能力的电子设备中,该电子设备可以是客户端设备,具体是访问节点,客户端设备例如手机、平板电脑、车载终端和台式电脑等。
S501,向服务器发送受访地址请求,以使服务器获取访问连接信息并转发受访节点,以及通过受访节点根据访问连接信息,打通访问节点与受访节点之间的连接通道。
访问节点具体是标准的HTTP3或者QUIC协议进行数据传输的节点。
S502,接收服务器发送的受访节点的受访连接信息。
S503,在连接通道打通的情况下,根据受访连接信息与受访节点建立连接。
可选的,根据受访连接信息与受访节点建立连接,包括:根据受访连接信息,确定至少一个连接通道;采用各连接通道与受访节点建立连接,并获取各连接通道的连接性能信息;根据各连接通道的连接性能信息,筛选出目标通道;通过目标通道与受访节点进行数据传输。
受访连接信息可以包括访问节点的至少一个受访外网端口和一个受访内网端口,一个端口确定一个连接通道。访问节点可以根据各端口分别向对应的连接通道发送建立连接请求,以适配不同应用场景中的访问节点和受访节点,均建立连接。
连接性能信息用于检测连接通道是否成功建立,以及成功建立的连接通道的数据传输性能。目标通道可以是指可用且连接性能好的连接通道。由于受访连接信息中存在预测的外网端口,从而,部分端口无法连接,获取连接成功的连接通道,如果连接成功的数量为至少两个,根据连接性能信息进一步筛选传输质量更好的连接通道。通过目标通道传输数据,确保数据可传输,以及提高数据传输性能。示例性的,连接性能信息可以包括连接耗时,目标通道可以是连接耗时最短的连接通道,相应的,通过目标通道传输数据,可以提高数据传输效率。
通过分别与受访连接信息中的多个端口,建立连接通道,并根据连接通道的连接性能信息,筛选出目标通道,与受访节点进行数据传输,确保连接可用,并提高连接稳定性和数据传输效率。
现有的访问节点如需和服务器建立连接,需要安装TNAT的应用程序(或SDK(Software Development Kit,软件开发工具包)),在服务器中进行注册,才能和NAT设备内网后的受访节点建立连接。本公开实施例可以访问节点通过HTTP3或者QUIC协议与TNAT服务器结合,无需通过内置SDK才能实现建立连接的功能,仅仅通过HTTP3或者QUIC协议与TNAT服务器建立连接,获取受访节点的受访连接信息,并与受访节点建立连接。
根据本公开的技术方案,获取访问节点向服务器发送受访地址请求,并获取受访节点的受访连接信息,并在连接通道打通的情况下,根据受访连接信息与受访节点建立连接,以使访问节点通过打通的连接通道与受访节点建立连接,可以针对不支持TANT功能的访问节点,实现访问节点与位于NAT设备之后的受访节点之间的连接,无需访问节点具备穿越NAT设备功能,降低内网节点的访问成本,降低访问节点的复杂度,丰富访问节点的应用场景,提高内网节点的访问效率。
图6是根据本公开实施例公开的另一种连接建立方法的场景图。连接建立系统包括服务器601、受访节点602和访问节点603。此外,受访节点602向外网发出的数据通过网络地址转换节点604转发。其中,服务器601为辅助TNAT服务器,分别与访问节点603和受访节点602建立QUIC连接。连接建立方法可以包括:
服务器601,监听两类端口,一类是QUIC端口(1个),一类是普通UDP端口(多个,或UDP混杂模式)。QUIC端口用于Cone的打洞,UDP端口用于预测Symmetrict(对称型)网络地址转换节点604分配的端口,其中,Symmetrict网络地址转换节点604的端口分配规则可以是端口递增性规律。访问节点603或受访节点602的访问(建连)请求是通过端口发出,QUIC端口为接收访问节点603和受访节点602建连请求的端口;普通UDP端口为只接收受访节点602的UDP请求。服务器601、访问节点603和受访节点602中配置有上述两类端口,访问节点603和受访节点602之间的连接请求通过端口实现。
受访节点602基于第一传输属性信息,具体包括:第一受访内网IP地址、第一受访内网端口、第一服务器IP地址和第一服务器端口,向服务器601发送QUIC的建立连接请求,与服务器601建立QUIC长连接通道(地址:是服务器601的QUIC IP地址+QUIC端口),建立连接请求具体包括<控制建联消息>,消息包含受访节点602的[内网IP、内网端口],并周期性心跳(周期<30秒),心跳包内容同<控制建联消息>。建立连接请求和心跳包的报文体携带有受访内网信息,具体是第一受访内网IP地址和第一受访内网端口。网络地址转换节点604对第一受访内网IP地址、第一受访内网端口,进行映射,得到第一受访外网信息,具体是第一受访外网IP地址和第一受访外网端口。
服务器601为受访节点602记录一条信息([服务器IP地址,服务器端口],[第一受访外网IP地址,第一受访外网端口(QUIC端口)],[第一受访内网IP地址,第一受访内网端口]),以及服务器601向受访节点602回复<QUIC建联成功>信息,如果受访节点602外网地址发生变化则及时更新记录。
访问节点603向服务器601发起QUIC连接请求,具体是受访地址请求,(地址:是服务器601的QUIC IP地址+QUIC端口),请求是:<请求受访连接地址>,包体内携带访问节点603的([访问内网IP地址,访问内网端口])。服务器601可以从包体内提取访问内网信息,具体是访问内网IP地址,访问内网端口,并在访问节点603位于网络地址转换节点后的情况下,服务器601可以获取网络地址转换节点对访问内网IP地址和访问内网端口,映射形成的第一初始信息,具体是访问外网IP地址和访问外网端口。
服务器601获取到访问节点603的第一初始信息,确定访问外网IP地址和访问外网端口。第一端口调整量为1,计算方式为递增,根据第一端口调整量,对初始信息中访问外网端口进行调整,确定备选信息包括访问外网IP地址和访问外网端口+1,并将第一初始信息和备选信息,即([访问外网IP地址,访问外网端口],[访问外网IP地址,访问外网端口+1]),作为<辅助TNAT>,确定为访问连接信息,通过QUIC控制通道,发送到受访节点602。
受访节点602,采用第一传输属性信息,具体包括:第一受访内网IP地址、第一受访内网端口、第一服务器IP地址和第一服务器端口,(即与服务器601QUIC建连的地址相同),分别向访问连接信息,即<辅助TNAT>包中两个地址,发送打洞数据,即<PUNCH>消息;目的是适应访问节点603存在的网络地址转换节点的类型是Cone锥型(TURN(Traversal UsingRelay NAT,通过Relay方式穿越NAT)协议中定义的名词)或端口递增型规律的Symmetrict,在受访节点602的网络地址转换节点上开洞;<PUNCH>中的内容不做限定。实际上,打通访问外网端口对应的连接通道,以及打通访问外网端口+1对应的连接通道。
受访节点602,采用新的第二传输属性信息,随机选择一个服务器601的UDP端口,发送打洞数据,即<PUNCH>消息至服务器601,为了防止丢包连发10次,每次间隔5毫秒。第二传输属性信息具体包括:第二受访内网IP地址、第二受访内网端口、第二服务器IP地址和第二服务器端口,其中,第一传输属性信息和第二传输属性信息中至少一个参数的内容不同。
服务器601,接收到受访节点602发送的PUNCH数据包,得到出受访节点602的第二初始信息,具体包括第二受访外网IP地址和第二受访外网端口(UDP端口)。根据第一端口调整量的数量,确定第二端口调整量的数量,并根据端口递增规则,确定第二端口调整量的数值为1,基于第二端口调整量,对第二初始信息进行调整,确定第二受访外网信息。将第二受访外网信息、第一受访外网信息和受访内网信息,确定为受访连接信息。通过前述中建连的访问节点603的QUIC通道发送<返回受访连接地址>消息,该包内包含数据([第一受访外网IP地址,第一受访外网端口],[第一受访内网IP地址,第一受访内网端口],[第一受访外网IP地址,第二初始信息中外网端口-1],[第一受访外网IP地址,第二初始信息中外网端口-2])(-1、-2是基于端口递增规则设置)。将受访连接信息发送至访问节点603,其中,发送受访连接信息的<返回受访连接地址>时机是min(接收到中访问节点603的QUIC请求即受访地址请求后的200ms,接收到受访节点602的PUNCH包)。其中,接收到中访问节点603的QUIC请求即受访地址请求后的200ms表明,服务器601可以只发送([第一受访外网IP地址,第一受访外网端口],[第一受访内网IP地址,第一受访内网端口]),也即此时受访连接信息仅包括第一受访外网信息和受访内网信息。接收到受访节点602的PUNCH包表明,服务器601发送([第一受访外网IP地址,第一受访外网端口],[第一受访内网IP地址,第一受访内网端口],[第一受访外网IP地址,第二初始信息中外网端口-1],[第一受访外网IP地址,第二初始信息中外网端口-2]),也即此时受访连接信息包括第二受访外网信息、第一受访外网信息和受访内网信息。采用UDP端口方式,当受访节点602是端口递增型规律的Symmetrict类,根据UDP新会话猜测受访节点602向访问节点603发送Punch所采用的端口。其中,内部端口直连,部分运营商内部地址可以互通。
访问节点603同时向受访连接信息,即<返回受访方地址>地址列表中的每一个,发起QUIC连接,建立至少一个QUIC的连接通道。如果连接成功的地址有多个,选取连接耗时最短的一个连接通道,确定为目标通道,并确定QUIC打洞建连成功,访问节点603与受访节点602成功建立连接,并进行数据传输。其中,QUIC协议还可以是IQUIC、或GQUIC,以及其它扩展后的QUIC协议等。
根据本公开的技术方案,允许访问端采用标准QUIC/HTTP3协议,连通NAT内网的设备,访问端无需实现NAT穿越客户端功能,降低了访问端的复杂度,同时扩展支持端口递增型规律的Symmetrict类型NAT穿越,提升NAT穿越成功率。访问端是一切使用QUIC传输协议的应用及协议(例如HTTP3、浏览器、或是QUIC协议等),并且不限定访问端是否在NAT内网,访问端无需安装NAT客户功能的插件,可以与NAT内网的设备进行连接访问。访问端是使用HTTP3协议的应用,而HTTP3是下一代HTTP的标准(当前是HTTP2),在物联网、云计算中大量的设备部署在内网,应用场景推测非常广泛。
根据本公开的实施例,图7是本公开实施例中的连接建立装置的结构图,本公开实施例适用于建立受访节点与访问节点之间的通信连接的情况。该装置采用软件和/或硬件实现,并具体配置于具备一定数据运算能力的电子设备中。
如图7所示的一种连接建立装置700,包括:受访连接信息获取模块701、访问连接信息获取模块702、访问连接信息发送模块703和受访连接信息发送模块704;其中,
受访连接信息获取模块701,用于接收受访节点发送的建立连接请求,与受访节点建立连接,并获取受访节点的受访连接信息;
访问连接信息获取模块702,用于接收访问节点发送的受访地址请求,并确定访问节点的访问连接信息;
访问连接信息发送模块703,用于将访问连接信息发送至受访节点,以使受访节点根据访问连接信息,打通访问节点与受访节点之间的连接通道;
受访连接信息发送模块704,用于将受访节点的受访连接信息发送至访问节点,以使访问节点在连接通道打通的情况下,根据受访连接信息与受访节点建立连接。
根据本公开的技术方案,获取受访节点发送的建立连接请求,获取受访节点的受访连接信息,并接收访问节点发送的受访地址请求,获取访问节点的访问连接信息,将访问连接信息发送至受访节点,使得受访节点打通访问节点与受访节点之间的连接通道,并将受访连接信息发送至访问节点,以使访问节点通过打通的连接通道与受访节点建立连接,可以针对不支持TANT功能的访问节点,提供受访节点的连接辅助功能,实现访问节点与位于NAT设备之后的受访节点之间的连接,无需访问节点具备穿越NAT设备功能,降低内网节点的访问成本,降低访问节点的复杂度,丰富访问节点的应用场景,提高内网节点的访问效率。
进一步的,受访连接信息包括第一受访外网信息和受访内网信息。
进一步的,连接建立方法,还包括:第二受访外网该信息获取模块,用于获取受访节点发送的打洞数据,并确定受访节点针对在先向访问节点发送打洞数据的第二受访外网信息;受访连接信息更新模块,用于根据第二受访外网信息,更新受访连接信息。
进一步的,访问连接信息获取模块702,包括:初始信息获取单元,用于根据受访地址请求,获取访问节点的第一初始信息;备选信息获取单元,用于根据第一初始信息和第一端口调整量,确定访问节点的备选信息;访问连接信息确定单元,用于将备选信息和第一初始信息,确定为访问节点的访问连接信息。
进一步的,第二受访外网该信息获取模块,包括:第二初始信息获取单元,用于根据打洞数据,确定受访节点的第二初始信息;端口调整量确定单元,用于根据第一端口调整量,确定第二端口调整量;初始信息调整单元,用于根据第二端口调整量,对第二初始信息进行调整,确定受访节点的第二受访外网信息。
进一步的,服务器与受访节点建立QUIC连接,服务器与访问节点建立QUIC连接。
上述连接建立装置可执行本公开任意实施例所提供的连接建立方法,具备执行连接建立方法相应的功能模块和有益效果。
根据本公开的实施例,图8是本公开实施例中的连接建立装置的结构图,本公开实施例适用于建立受访节点与访问节点之间的通信连接的情况。该装置采用软件和/或硬件实现,并具体配置于具备一定数据运算能力的电子设备中。
如图8所示的一种连接建立装置800,包括:服务器连接建立模块801、访问连接信息获取模块802、访问通道打洞模块803和访问节点连接建立模块804;其中,
服务器连接建立模块801,用于向服务器发送建立连接请求,并与服务器建立连接,以使服务器获取受访连接信息并转发访问节点;
访问连接信息获取模块802,用于接收服务器发送的访问节点的访问连接信息;
访问通道打洞模块803,用于根据访问连接信息向访问节点发送打洞数据,以使访问节点与受访节点之间的连接通道打通;
访问节点连接建立模块804,用于接收访问节点根据受访连接信息发送的建立连接请求,与访问节点建立连接。
根据本公开的技术方案,向服务器发送的建立连接请求,并通过建立的连接发送受访连接信息,并接收服务器发送的访问节点的访问连接信息,根据访问连接信息打通访问节点与受访节点之间的连接通道,以从打通的连接通道中获取访问节点发送的建立连接请求,与访问节点建立连接,可以与不支持TANT功能的访问节点建立连接,无需受访节点获取自身NAT设备类型,降低内网节点的访问成本,降低受访节点的复杂度提高内网节点的访问效率。
进一步的,服务器连接建立模块801,包括:网络地址转换单元,用于向网络地址转换节点发送建立连接请求,并通过网络地址转换节点向服务器发送建立连接请求;其中,建立连接请求用于服务器获取受访连接信息,受访连接信息包括第一受访外网信息和受访内网信息。
进一步的,网络地址转换单元,具体用于:通过网络地址转换节点,根据第一传输属性信息向服务器发送建立连接请求,第一受访外网信息通过网络地址转换节点基于第一传输属性信息对受访内网信息进行映射得到;连接建立方法还包括:在向访问节点发送打洞数据的情况下,向网络地址转换节点发送打洞数据,并通过网络地址转换节点,根据第二传输属性信息,向服务器发送打洞数据,以使服务器获取第二初始信息,并确定第二受访外网信息;其中,第二初始信息通过网络地址转换节点基于第二传输属性信息对受访内网信息进行映射得到,第一传输属性信息与第二传输属性信息不同。
上述连接建立装置可执行本公开任意实施例所提供的连接建立方法,具备执行连接建立方法相应的功能模块和有益效果。
根据本公开的实施例,图9是本公开实施例中的连接建立装置的结构图,本公开实施例适用于建立受访节点与访问节点之间的通信连接的情况。该装置采用软件和/或硬件实现,并具体配置于具备一定数据运算能力的电子设备中。
如图9所示的一种连接建立装置900,包括:受访地址请求模块901、受访连接信息获取模块902和受访节点连接建立模块903;其中,
受访地址请求模块901,用于向服务器发送受访地址请求,以使服务器获取访问连接信息并转发受访节点,以及通过受访节点根据访问连接信息,打通访问节点与受访节点之间的连接通道;
受访连接信息获取模块902,用于接收服务器发送的受访节点的受访连接信息;
受访节点连接建立模块903,用于在连接通道打通的情况下,根据受访连接信息与受访节点建立连接。
根据本公开的技术方案,获取访问节点向服务器发送受访地址请求,并获取受访节点的受访连接信息,并在连接通道打通的情况下,根据受访连接信息与受访节点建立连接,以使访问节点通过打通的连接通道与受访节点建立连接,可以针对不支持TANT功能的访问节点,实现访问节点与位于NAT设备之后的受访节点之间的连接,无需访问节点具备穿越NAT设备功能,降低内网节点的访问成本,降低访问节点的复杂度,丰富访问节点的应用场景,提高内网节点的访问效率。
进一步的,受访节点连接建立模块903,包括:连接通道确定单元,用于根据受访连接信息,确定至少一个连接通道;通道性能检测单元,用于采用各连接通道与受访节点建立连接,并获取各连接通道的连接性能信息;连接通道筛选单元,用于根据各连接通道的连接性能信息,筛选出目标通道;数据传输单元,用于通过目标通道与受访节点进行数据传输。
上述连接建立装置可执行本公开任意实施例所提供的连接建立方法,具备执行连接建立方法相应的功能模块和有益效果。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性区域图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如连接建立方法。例如,在一些实施例中,连接建立方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的连接建立方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行连接建立方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或区域图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (17)

1.一种连接建立方法,应用于服务器,包括:
接收受访节点发送的建立连接请求,与所述受访节点建立连接,并获取所述受访节点的受访连接信息;
接收访问节点发送的受访地址请求,并确定所述访问节点的访问连接信息;
将所述访问连接信息发送至所述受访节点,以使所述受访节点根据所述访问连接信息,打通所述访问节点与所述受访节点之间的连接通道;
将所述受访节点的受访连接信息发送至所述访问节点,以使所述访问节点在所述连接通道打通的情况下,根据所述受访连接信息与所述受访节点建立连接。
2.根据权利要求1所述的方法,其中,所述受访连接信息包括第一受访外网信息和受访内网信息。
3.根据权利要求2所述的方法,还包括:
获取所述受访节点发送的打洞数据,并确定所述受访节点针对在先向所述访问节点发送所述打洞数据的第二受访外网信息;
根据所述第二受访外网信息,更新所述受访连接信息。
4.根据权利要求3所述的方法,其中,所述确定所述访问节点的访问连接信息,包括:
根据所述受访地址请求,获取所述访问节点的第一初始信息;
根据所述第一初始信息和第一端口调整量,确定所述访问节点的备选信息;
将所述备选信息和所述第一初始信息,确定为所述访问节点的访问连接信息。
5.根据权利要求4所述的方法,其中,所述确定所述受访节点针对在先向所述访问节点发送打洞数据的第二受访外网信息,包括:
根据所述打洞数据,确定所述受访节点的第二初始信息;
根据所述第一端口调整量,确定第二端口调整量;
根据所述第二端口调整量,对所述第二初始信息进行调整,确定所述受访节点的第二受访外网信息。
6.根据权利要求1所述的方法,其中,所述服务器与所述受访节点建立QUIC连接,所述服务器与所述访问节点建立QUIC连接。
7.一种连接建立方法,应用于受访节点,包括:
向服务器发送建立连接请求,并与所述服务器建立连接,以使所述服务器获取受访连接信息并转发访问节点;
接收所述服务器发送的所述访问节点的访问连接信息;
根据所述访问连接信息向所述访问节点发送打洞数据,以使所述访问节点与所述受访节点之间的连接通道打通;
接收所述访问节点根据所述受访连接信息发送的建立连接请求,与所述访问节点建立连接。
8.根据权利要求7所述的方法,其中,所述向服务器发送建立连接请求,包括:
向网络地址转换节点发送建立连接请求,并通过所述网络地址转换节点向服务器发送所述建立连接请求;
其中,所述建立连接请求用于所述服务器获取所述受访连接信息,所述受访连接信息包括第一受访外网信息和受访内网信息。
9.根据权利要求8所述的方法,其中,所述通过所述网络地址转换节点向服务器发送所述建立连接请求,包括:
通过所述网络地址转换节点,根据第一传输属性信息向所述服务器发送所述建立连接请求,所述第一受访外网信息通过所述网络地址转换节点基于所述第一传输属性信息对所述受访内网信息进行映射得到;
所述方法还包括:
在向所述访问节点发送打洞数据的情况下,向网络地址转换节点发送所述打洞数据,并通过所述网络地址转换节点,根据第二传输属性信息,向所述服务器发送所述打洞数据,以使所述服务器获取第二初始信息,并确定第二受访外网信息;
其中,所述第二初始信息通过所述网络地址转换节点基于所述第二传输属性信息对所述受访内网信息进行映射得到,所述第一传输属性信息与所述第二传输属性信息不同。
10.一种连接建立方法,应用于访问节点,包括:
向服务器发送受访地址请求,以使所述服务器获取访问连接信息并转发受访节点,以及通过所述受访节点根据所述访问连接信息,打通所述访问节点与所述受访节点之间的连接通道;
接收所述服务器发送的所述受访节点的受访连接信息;
在所述连接通道打通的情况下,根据所述受访连接信息与所述受访节点建立连接。
11.根据权利要求10所述的方法,其中,所述根据所述受访连接信息与所述受访节点建立连接,包括:
根据所述受访连接信息,确定至少一个连接通道;
采用各所述连接通道与所述受访节点建立连接,并获取各所述连接通道的连接性能信息;
根据各所述连接通道的连接性能信息,筛选出目标通道;
通过所述目标通道与所述受访节点进行数据传输。
12.一种连接建立装置,配置于服务器中,包括:
受访连接信息获取模块,用于接收受访节点发送的建立连接请求,与所述受访节点建立连接,并获取所述受访节点的受访连接信息;
访问连接信息获取模块,用于接收访问节点发送的受访地址请求,并确定所述访问节点的访问连接信息;
访问连接信息发送模块,用于将所述访问连接信息发送至所述受访节点,以使所述受访节点根据所述访问连接信息,打通所述访问节点与所述受访节点之间的连接通道;
受访连接信息发送模块,用于将所述受访节点的受访连接信息发送至所述访问节点,以使所述访问节点在所述连接通道打通的情况下,根据所述受访连接信息与所述受访节点建立连接。
13.一种连接建立装置,配置于受访节点中,包括:
服务器连接建立模块,用于向服务器发送建立连接请求,并与所述服务器建立连接,以使所述服务器获取受访连接信息并转发访问节点;
访问连接信息获取模块,用于接收所述服务器发送的所述访问节点的访问连接信息;
访问通道打洞模块,用于根据所述访问连接信息向所述访问节点发送打洞数据,以使所述访问节点与所述受访节点之间的连接通道打通;
访问节点连接建立模块,用于接收所述访问节点根据所述受访连接信息发送的建立连接请求,与所述访问节点建立连接。
14.一种连接建立装置,配置于访问节点中,包括:
受访地址请求模块,用于向服务器发送受访地址请求,以使所述服务器获取访问连接信息并转发受访节点,以及通过所述受访节点根据所述访问连接信息,打通所述访问节点与所述受访节点之间的连接通道;
受访连接信息获取模块,用于接收所述服务器发送的所述受访节点的受访连接信息;
受访节点连接建立模块,用于在所述连接通道打通的情况下,根据所述受访连接信息与所述受访节点建立连接。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的连接建立方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-11中任一项所述的连接建立方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-11中任一项所述的连接建立方法。
CN202210238577.0A 2022-03-11 2022-03-11 连接建立方法、装置、电子设备和存储介质 Active CN114598532B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210238577.0A CN114598532B (zh) 2022-03-11 2022-03-11 连接建立方法、装置、电子设备和存储介质
US17/985,341 US11863630B2 (en) 2022-03-11 2022-11-11 Connection establishment method, server, accessed node, access node, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210238577.0A CN114598532B (zh) 2022-03-11 2022-03-11 连接建立方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN114598532A true CN114598532A (zh) 2022-06-07
CN114598532B CN114598532B (zh) 2023-07-28

Family

ID=81808552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210238577.0A Active CN114598532B (zh) 2022-03-11 2022-03-11 连接建立方法、装置、电子设备和存储介质

Country Status (2)

Country Link
US (1) US11863630B2 (zh)
CN (1) CN114598532B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499411A (zh) * 2022-09-21 2022-12-20 北京百度网讯科技有限公司 一种网络穿透系统、方法、装置及电子设备

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050238034A1 (en) * 2004-04-12 2005-10-27 Brian Gillespie System and method for automatically initiating and dynamically establishing secure internet connections between a fire-walled server and a fire-walled client
CN101217482A (zh) * 2008-01-18 2008-07-09 杭州华三通信技术有限公司 一种穿越nat下发策略的方法和一种通信装置
CN101730997A (zh) * 2007-06-26 2010-06-09 法国电信公司 用于将互联网协议地址请求传送至受访服务网关的装置和方法
CN104065620A (zh) * 2013-03-21 2014-09-24 苏州方位通讯科技有限公司 一种访问受限设备的网络服务访问连接方法
US20140289791A1 (en) * 2013-03-25 2014-09-25 International Business Machines Corporation Network-level access control management for the cloud
CN105429844A (zh) * 2015-11-30 2016-03-23 上海迈外迪网络科技有限公司 网络系统、内网设备及内网设备的访问方法
CN106790758A (zh) * 2016-12-29 2017-05-31 杭州迪普科技股份有限公司 一种访问nat网络内部的网络对象的方法及装置
CN108600204A (zh) * 2018-04-11 2018-09-28 浙江大学 一种基于反向连接和应用层隧道的企业内网访问方法
CN110611692A (zh) * 2018-06-15 2019-12-24 上海宽翼通信科技股份有限公司 一种基于点对点穿越的web访问方法、系统及客户端
CN110809045A (zh) * 2019-11-05 2020-02-18 深圳市网心科技有限公司 一种数据通信方法及其相关设备
CN111314458A (zh) * 2020-02-13 2020-06-19 深圳市网心科技有限公司 P2p网络的打洞方法、打洞装置及计算机可读存储介质
CN113660356A (zh) * 2021-08-16 2021-11-16 迈普通信技术股份有限公司 网络访问方法、系统、电子设备及计算机可读存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007048344A1 (fr) * 2005-10-28 2007-05-03 Huawei Technologies Co., Ltd. Procede d’etablissement de la connexion poste a poste, procede, dispositif et systeme de realisation de nat de traversee de communication reseau
US9332582B2 (en) * 2010-04-30 2016-05-03 Qualcomm Incorporated System, apparatus and method for coordinating peer communication in wireless systems
US20110276703A1 (en) * 2010-05-06 2011-11-10 Jonathan Weizman System and Method for Establishing a Peer-to-Peer Communication Session
US20110246577A1 (en) * 2010-06-23 2011-10-06 Self Michael R System, Method and Apparatus for Enhanced Processing of Communication in a Peer-to-Peer Network
TWI429308B (zh) * 2011-02-14 2014-03-01 Wistron Corp 建立點對點傳輸的方法及行動通訊系統
US9667713B2 (en) * 2011-03-21 2017-05-30 Apple Inc. Apparatus and method for managing peer-to-peer connections between different service providers
US20220029697A1 (en) * 2014-12-12 2022-01-27 Tarana Wireless, Inc. System architecture and method for duplexing with high mobility networks including air based nodes and computing devices
RO131306A2 (ro) * 2014-12-16 2016-07-29 Ixia, A California Corporation Metode, sisteme şi suport citibil pe calculator pentru iniţierea şi execuţia testelor de performanţă a unei reţele private şi/sau a componentelor acesteia
CN107911483A (zh) * 2017-12-12 2018-04-13 阿里巴巴集团控股有限公司 一种信息传输方法和装置
US20190327220A1 (en) * 2018-04-23 2019-10-24 Slack Technologies, Inc. Method, apparatus, and computer program product for secure direct remote server communication of encrypted group-based communication data with security controls
US11665132B2 (en) * 2018-12-31 2023-05-30 Dish Network Technologies India Private Limited Client-server connections over wide area network
WO2021084326A1 (en) * 2019-11-01 2021-05-06 Telefonaktiebolaget Lm Ericsson (Publ) Enhancement function discovery via wireless network assistance framework
US11997733B2 (en) * 2020-05-27 2024-05-28 Qualcomm Incorporated Transitioning between multi-link and single-link mode on a transmission opportunity (TXOP) basis
US11621986B2 (en) * 2021-06-29 2023-04-04 Western Digital Technologies, Inc. Peer-to-peer media streaming from an edge data storage device to a browser

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050238034A1 (en) * 2004-04-12 2005-10-27 Brian Gillespie System and method for automatically initiating and dynamically establishing secure internet connections between a fire-walled server and a fire-walled client
CN101730997A (zh) * 2007-06-26 2010-06-09 法国电信公司 用于将互联网协议地址请求传送至受访服务网关的装置和方法
CN101217482A (zh) * 2008-01-18 2008-07-09 杭州华三通信技术有限公司 一种穿越nat下发策略的方法和一种通信装置
CN104065620A (zh) * 2013-03-21 2014-09-24 苏州方位通讯科技有限公司 一种访问受限设备的网络服务访问连接方法
US20140289791A1 (en) * 2013-03-25 2014-09-25 International Business Machines Corporation Network-level access control management for the cloud
CN105429844A (zh) * 2015-11-30 2016-03-23 上海迈外迪网络科技有限公司 网络系统、内网设备及内网设备的访问方法
CN106790758A (zh) * 2016-12-29 2017-05-31 杭州迪普科技股份有限公司 一种访问nat网络内部的网络对象的方法及装置
CN108600204A (zh) * 2018-04-11 2018-09-28 浙江大学 一种基于反向连接和应用层隧道的企业内网访问方法
CN110611692A (zh) * 2018-06-15 2019-12-24 上海宽翼通信科技股份有限公司 一种基于点对点穿越的web访问方法、系统及客户端
CN110809045A (zh) * 2019-11-05 2020-02-18 深圳市网心科技有限公司 一种数据通信方法及其相关设备
CN111314458A (zh) * 2020-02-13 2020-06-19 深圳市网心科技有限公司 P2p网络的打洞方法、打洞装置及计算机可读存储介质
CN113660356A (zh) * 2021-08-16 2021-11-16 迈普通信技术股份有限公司 网络访问方法、系统、电子设备及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高东日;魏海平;杨建功;王福威;: "基于UDP协议的内外网通信实施方案", no. 04 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115499411A (zh) * 2022-09-21 2022-12-20 北京百度网讯科技有限公司 一种网络穿透系统、方法、装置及电子设备
CN115499411B (zh) * 2022-09-21 2023-07-21 北京百度网讯科技有限公司 一种网络穿透系统、方法、装置及电子设备

Also Published As

Publication number Publication date
CN114598532B (zh) 2023-07-28
US20230291802A1 (en) 2023-09-14
US11863630B2 (en) 2024-01-02

Similar Documents

Publication Publication Date Title
CA2968964C (en) Source ip address transparency systems and methods
WO2020248963A1 (zh) 一种建立端到端网络连接的方法、装置及网络系统
EP3026872B1 (en) Packet forwarding method, apparatus, and system
KR20150013860A (ko) 클라이언트 없는 클라우드 컴퓨팅
EP3462713B1 (en) Nat entry management method and apparatus, and nat device
CN114095430B (zh) 一种访问报文的处理方法、系统及工作节点
JP2018085776A (ja) 負荷分散装置、中継装置、負荷分散方法及びプログラム
CN104488240B (zh) 一种会话管理方法、地址管理方法及相关装置
CN112351115B (zh) 对称型nat设备的端口预测方法及装置
CN109413224B (zh) 报文转发方法和装置
CN114598532B (zh) 连接建立方法、装置、电子设备和存储介质
CN114500633A (zh) 数据转发方法、相关装置、程序产品及数据传输系统
US11122131B1 (en) Edge cloud resource location using enhanced DNS service
CN115022279B (zh) 内网穿透方法和装置
US10904037B2 (en) Relaying apparatus, relaying method, and relaying system
US9781038B2 (en) Packet routing and forwarding in information centric networking
CN112019641B (zh) 数据传输方法和装置
CN112511440B (zh) 报文转发方法、系统、存储介质和电子设备
CN115499411B (zh) 一种网络穿透系统、方法、装置及电子设备
CN115225634B (zh) 虚拟网络下的数据转发方法、装置及计算机程序产品
CN113032659B (zh) 针对设备信息的信息处理方法、电子设备和介质
CN111953804B (zh) 一种网络数据传输的方法、装置、介质和电子设备
CN114500062B (zh) 一种nat穿越方法、装置、电子设备及存储介质
CN115834487A (zh) 跨私有云服务访问方法、负载均衡系统和计算设备
TW201713087A (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
GR01 Patent grant
GR01 Patent grant