CN113824808B - 用于使用中间相遇代理的网络地址转换穿透的方法和系统 - Google Patents
用于使用中间相遇代理的网络地址转换穿透的方法和系统 Download PDFInfo
- Publication number
- CN113824808B CN113824808B CN202110436505.2A CN202110436505A CN113824808B CN 113824808 B CN113824808 B CN 113824808B CN 202110436505 A CN202110436505 A CN 202110436505A CN 113824808 B CN113824808 B CN 113824808B
- Authority
- CN
- China
- Prior art keywords
- client
- edge
- server
- proxy component
- proxy
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000013519 translation Methods 0.000 title claims description 5
- 230000035515 penetration Effects 0.000 title description 2
- 238000004891 communication Methods 0.000 claims description 44
- 238000007726 management method Methods 0.000 description 40
- 238000005516 engineering process Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000001994 activation Methods 0.000 description 3
- 241001290266 Sciaenops ocellatus Species 0.000 description 2
- 108700023290 Stanford University protocol Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2567—NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2589—NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2592—Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/59—Network arrangements, protocols or services for addressing or naming using proxies for addressing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
Abstract
提供了用于使用服务器管理协议来绕过防火墙的系统和方法。在各种实施例中,代理组件充当边缘客户端与服务器客户端之间的“中间人”。代理组件可以从边缘客户端接收服务器连接请求,以使用与服务器客户端相关联的受管理网络名称连接到所请求的服务器客户端。代理组件可以建立与所请求的服务器客户端的代理连接,并且在服务器客户端与边缘客户端之间路由数据分组。在没有对边缘客户端和服务器客户端的私有地址的公共通告的情况下,边缘客户端与服务器客户端被连接。
Description
背景技术
网络地址转换(NAT)是通过在输送的同时修改分组的IP报头中的网络地址信息来将IP地址空间重新映射到另一地址空间中的方法。防火墙、路由器、网关以及其他联网设备可以被配置为实现NAT。通过在分组从启用NAT的网络被发送到另一公共和/或私有网络之前转换IP地址,NAT协议隐藏启用NAT的网络内的单独网络设备的实际IP地址。
为了让启用NAT的网络之外的设备与启用NAT的网络的网络设备直接通信,该设备会需要知晓或者获得启用NAT的网络的设备的真实IP地址。NAT穿透是建立并且维持跨被配置为实现NAT协议的防火墙或其他网关网络设备的连接的技术。若干类型的NAT穿透方法存在,包括套接字安全(SOCKS)、使用围绕NAT中继穿透(TURN)、NAT会话穿透应用程序(STUN)、虚拟私有网络(VPN)等。
附图说明
根据一个或多个各种实施例,参考以下附图详细描述了本公开。提供这些附图仅出于说明的目的,并且仅描绘了典型的或示例性的实施例。
图1图示了根据本文中所公开的技术的实施例的示例受管理网络。
图2是图示根据本文中所公开的技术的实施例的示例边缘设备连接的框图。
图3是图示根据本文中所公开的技术的实施例的另一示例边缘设备连接的框图。
图4图示了根据本文中所公开的技术的实施例的示例消息流。
图5是根据本文中所公开的技术的实施例的示例方法。
图6是根据本文中所公开的技术的实施例的示例计算平台。
图7是可以被用于实现本公开中所描述的实施例的各种特征的示例计算组件。
附图不是详尽的,并且不将本公开限制为所公开的精确形式。
具体实施方式
NAT设备(诸如NAT防火墙)允许在使用当连接到公共网络(例如,互联网)时要被使用的单个公共IP地址的同时,在私有网络上使用私有IP地址。NAT设备将传出请求的源地址改变为NAT设备的面向公众IP地址。当外部设备或者网络发送回复时,该回复使用NAT设备的面向公众IP地址被寻址,其被配置为将回复路由到起源设备(即,客户端)。以这种方式,在不暴露NAT设备后面每个网络设备的私有的、被指派的IP地址的情况下,到网络之外的通信被启用。
尽管一般网络业务不受NAT协议负面影响,但是某些应用(诸如对等到对等文件共享、IP语音(VoIP)服务、游戏网络等)可以要求客户端也包括服务器。此外,当对连接到客户端的请求从NAT保护的网络之外被接收时,难以标识所接收的数据应当被路由到的恰当的客户端。当前NAT穿透方法使客户端能够使用面向公众IP地址发布其路径,使外部客户端能够建立直接通信(例如,对等到对等连接),从而绕过NAT协议。
通常,当前的NAT穿透方法要求针对坐落在启用NAT的网络上的NAT设备后面的客户端的标识信息的该类型的公共暴露以用于坐落在启用NAT的网络上的NAT设备后面的客户端。作为一个示例,STUN协议要求(对启用NAT的网络是内部的或外部的)客户端各自能够与STUN服务器通信。当寻求建立连接时,NAT保护的客户端可以向STUN服务器发送请求,该STUN服务器将利用面向公众IP地址和相关联的NAT设备的端口信息来进行响应。该信息现在通过STUN服务器可访问,其可以由客户端使用来建立绕过NAT协议的连接。STUN服务器提供可用公共源用于针对NAT保护的客户端的寻址信息。类似地,其他NAT穿透方法要求针对NAT保护的客户端的公共寻址信息被公开地发布。
此外,当前NAT穿透协议的使用是专属的,要求所有连接的客户端需要与正在被使用的相应NAT穿透协议兼容。因此,在受管理网络基础设施(诸如包括边缘设备的网络)内实现NAT穿透协议要求固件和硬件被配置为实现一个或多个NAT穿透协议。这增加了网络内客户端上的开销,增加了所要求的空间和集成的复杂性。此外,多个当前的NAT穿透方法可能需要在给定网络内被实现,以便启用NAT穿透。作为示例,除了STUN协议以外,这样的实现还可以要求TURN和/或交互式连接性建立(ICE)协议也可能需要被包括在客户端内。
本公开的实施例提供方法和系统,该方法和系统用于在不需要公开地通告客户端的地址路径以便允许绕过NAT协议的直接连接的情况下启用NAT穿透。“中间相遇”代理组件被利用来提供已知的服务器位置,在NAT防火墙后面的客户设备上运行的边缘客户端可以连接到该已知的服务器位置。代理组件可以将所接收的数据分组和/或针对数据分组的请求从边缘客户端路由到在服务器设备(即,边缘客户端寻求与其通信的服务器)上运行的服务器客户端。利用边缘客户端与代理组件之间的安全通信连接,往返服务器客户端的数据分组可以在既没有公开地通告针对边缘客户端的寻址信息、也没有公开地通告针对服务器客户端的寻址信息的情况下通过NAT防火墙而被传输。在各种实施例中,NAT防火墙可以被配置,使得坐落在NAT防火墙后面的客户端可以在没有允许连接通过传入请求被建立的情况下仅建立传出连接。使用传统上被包括在如本文中所讨论的那些客户端-服务器网络中的服务器管理协议,该NAT穿透可以被实现。
图1图示了在其中可以实现本文中所公开的技术的示例受管理网络100。提供示例受管理网络100仅出于说明性目的,并且不应被解释为限制本文中所公开的技术的范围。如图1所示,受管理网络100包括管理服务102、公共网络110、防火墙105a、防火墙105b(一般地,“防火墙105”,集体地,“防火墙105”)、以及多个边缘设备103a-f(一般地,“边缘设备103”,集体地,“边缘设备103”)。在各种实施例中,一个或多个附加的元件可以在不限制本文中所公开的技术的适用性的情况下被包括在受管理网络100内。
管理服务102可以向在受管理网络100内操作的多个网络设备提供管理服务,包括但不限于边缘设备103。在各种实施例中,管理服务102可以在包括多个服务器设备、路由器、交换机以及其他网络设备的数据中心内被布置。管理服务102充当用于管理和控制受管理网络100内的边缘设备103的后端。在各种实施例中,每个服务器设备可以被配置为监视、控制或者以其他方式管理一个或多个边缘服务网络104a、104b(一般地,“边缘服务网络104”,集体地,“边缘服务网络104”),该一个或多个边缘服务网络104a、104b与利用管理服务102的客户相关联。作为非限制性的示例,管理服务102的服务器可以被配置为供应在与相应客户相关联的每个边缘服务网络104内操作的边缘设备103。
每个边缘服务网络104可以与单独的客户相关联,或者可以包括与相同客户相关联的两个不同的分支。在每个边缘服务网络104内,防火墙105充当面向公众的网关,该面向公众的网关将边缘服务网络104连接到公共网络110。在各种实施例中,公共网络110可以包括互联网。尽管为容易讨论起见而被称为“防火墙“,但是防火墙105可以包括以下一项或多项:NAT防火墙设备、启用NAT的路由器、网络网关设备、接入点、或者使边缘服务网络104的边缘设备103能够访问公共网络110的其他网络设备(即,从边缘服务网络104访问外部网络)。尽管图1中仅图示了两个边缘服务网络,但是多个边缘服务网络104可以在不限制本文中所公开的技术的适用性的情况下被包括在受管理网络100的各种实施例内。公共网络110提供连接介质,通过该连接介质,边缘服务网络104中的每个边缘服务网络可以与管理服务102位置连接。
每个防火墙105可以被配置,使得与坐落在相应的防火墙105后面的边缘设备103中的每个边缘设备103的连接仅可以从边缘服务网络104向外被建立。即是说,每个边缘设备103可以被允许建立与外部设备的连接,但是外部设备不被允许建立与边缘设备103的连接。防火墙105隔离边缘服务网络104的边缘设备103,使私有IP地址空间能够与每个边缘服务网络104相关联。在各种实施例中,防火墙105可以实现NAT协议以改变从边缘设备所接收的分组报头内的地址信息(例如,边缘设备103的私有IP地址),使得发送方可以被标识为防火墙105。以这种方式,边缘设备103正在连接到的外部设备仅知晓防火墙105的IP地址。通过禁止外部设备建立到边缘服务网络104内的边缘设备103的连接,边缘服务网络104(以及其相关联的边缘设备103)的完整性可以被维持。
如以上所讨论的,NAT防火墙使得在缺乏NAT穿透协议的情况下难以建立边缘设备与外部设备之间的直接连接。当前穿透方法要求边缘设备103的私有IP地址的公共通告。实现本文中所公开的技术允许NAT穿透,而无需地址信息的公共通告、并且无需复杂的穿透协议被包括用于边缘设备103的客户端和管理服务102的服务器设备。
图2是图示根据本公开的技术的实施例的边缘设备连接200的框图。提供示例边缘设备连接200仅出于说明性目的,并且不应被解释为将技术的范围限制为仅所描绘的实施例。为容易讨论起见,可以关于图1的示例受管理网络100的管理服务102与边缘设备103c之间的NAT穿透连接来讨论图2。在附图之间共同使用附图标记的情况下,应该解释为,除非另外明确指出,否则关于任何附图的这种附图标记的讨论都是适用的。尽管关于单个边缘设备103c来讨论,但是该讨论适用于所有的边缘设备103。
参考图2,边缘设备103c坐落在边缘服务网络104a内的防火墙105a后面。在各种实施例中,边缘设备103c可以包括被连接到客户的位置处的边缘服务网络104a的网络设备。作为非限制性的示例,边缘服务网络104a可以包括客户的内部网络配置的分支,并且边缘设备103c可以包括服务器、桌上型计算机、计算机站、销售点(PoS)系统或者其他网络设备。边缘设备103c可以通过有线和/或无线连接而被连接到防火墙105a。作为非限制性的示例,通过从边缘设备103c的端口到防火墙105a的端口的以太网电缆,边缘设备103c可以被连接到防火墙105a,而在其他一些实施例中,边缘设备103c可以通过WiFi连接被连接到防火墙105a。
在各种实施例中,边缘客户端202可以包括在边缘设备103c上运行、并且被配置为启用与管理服务102的服务器的直接连接的程序。边缘客户端202可以被体现为由边缘设备103c的处理器或其他处理电路装置可执行的一组非瞬态机器可读指令。在各种实施例中,边缘客户端202被通信地耦合到在边缘设备103c上运行的一个或多个应用212。在一些实施例中,应用212可以包括网络配置应用,该网络配置应用提供针对边缘设备103c的管理功能性。管理功能性可以包括供应边缘设备103c以在边缘服务网络104a内与边缘服务网络104a的其他边缘设备(图2中未示出)一起适当地操作。
为了绕过防火墙105和NAT协议,在边缘设备103c上运行的边缘客户端202向代理组件204传输服务器连接请求。通常,边缘客户端(例如边缘客户端202)必须利用NAT穿透协议来绕过防火墙105,这要求客户端正在其上运行的边缘设备(如边缘设备103c)公开地通告其私有IP地址。此外,这些协议经常依赖于公开地可访问的第三方服务器,导致边缘设备的私有IP地址对在管理服务(例如管理服务102)的控制之外的服务器是已知的。尽管一些当前的NAT穿透协议提供一些针对非预期使用的保护,但是该地址在受管理网络之外仍然公开地可访问。为了避免私有IP地址的公共的公开,本文中所公开的技术利用独特私有名称以使边缘设备能够连接到管理服务的代理组件(例如代理组件220),该代理组件充当防火墙之外的“中间人”,以在没有当前NAT穿透协议被增加的复杂性的情况下启用穿透。
参考图2,边缘客户端202可以利用独特设备标识符来建立与代理组件220的安全通信连接231。当前穿透协议要求边缘客户端202获取其面向公众IP地址。然而,本公开的技术向边缘客户端202和代理组件220指派独特名称,使边缘客户端202能够建立与代理组件220的直接连接,而无需特定NAT穿透协议被包括。在各种实施例中,安全通信连接231可以是传输层安全性(TLS)连接。在各种实施例中,可以使用本领域已知的任何安全连接方法来建立安全通信连接231。安全通信连接231由边缘客户端202建立(即,其是传出连接),从而维持防火墙105a的单向连接建立功能性。这维持了启用NAT的边缘服务网络104a的完整性。
在一些实施例中,在利用被指派给代理组件220的独特受管理网络名称将请求寻址到代理组件220的情况下,边缘客户端202可以向代理组件220发送用以建立安全通信连接231的请求。边缘客户端202可以被配置为具有被指派给代理组件220的独特受管理网络名称的知识。在一些实施例中,独特受管理网络名称可以被维持在边缘服务网络104a的非瞬态机器可读存储介质(图2中未示出)内。在各种实施例中,存储介质可以是边缘设备103c的存储器组件,而在一些实施例中,存储介质可以是边缘服务网络104a的共享存储器资源。在一些实施例中,一个或多个应用212可以被配置为具有被指派给代理组件220的独特受管理网络名称的知识,并且可以在寻求建立到代理组件220的连接时向边缘客户端202提供该信息。在一些实施例中,边缘设备103c的边缘客户端202的初始激活期间,边缘客户端202可以标识被指派给代理组件220的受管理网络名称。当边缘设备被添加到边缘服务网络104a时,针对边缘客户端202的与管理服务102的至少一个服务器210通信的预定义激活过程可以被执行。在该预定义激活过程期间,边缘客户端202和/或应用212可以被提供针对一个或多个代理组件220的受管理网络名称的知识。
在各种实施例中,管理服务102包括代理组件220和一个或多个服务器210。如图2所示,代理组件220和至少一个服务器210可以被共置在数据中心240内。在各种实施例中,代理组件220可以包括物理网络设备,包括但不限于服务器、路由器、或网关,该物理网络设备通过代理组件220的物理的面向服务器端口被连接到服务器210。在一些实施例中,代理组件220可以包括虚拟网络设备,该虚拟网络设备在数据中心240内的同一服务器210或不同的服务器上运行,该虚拟网络设备通过代理组件220的虚拟的面向服务器端口被连接到服务器210。在各种实施例中,代理组件220通过单个面向服务器端口而被连接到服务器210。在一些实施例中,代理组件220可以包括多个面向服务器端口,每个面向服务器端口与管理服务102的多个服务器210中的服务器210对应。
在边缘客户端202建立与代理组件220的安全通信连接231之后,代理连接232可以在代理组件220与服务器210的服务器客户端208之间被建立。在各种实施例中,代理组件220可以指示服务器客户端208边缘设备103c的边缘客户端202正在寻求建立到服务器210的连接,并且服务器客户端208可以建立代理连接232。在其他一些实施例中,响应于边缘客户端202建立安全通信连接231,代理组件220可以建立与服务器客户端208的代理连接232。代理连接232可以在服务器210的代理端口与关联于相应的服务器210的代理组件220的面向服务器端口之间被建立。在各种实施例中,代理连接232可以是服务器210与代理组件220之间的持久性连接。在其他一些实施例中,代理连接232可以在必要时在服务器客户端208与代理组件220之间被建立,以支持通信(即,发送和/或接收数据分组)或者如果断开连接发生则重新连接到代理组件220。
在各种实施例中,服务器210可以包括服务器客户端208和服务器资源216。管理服务102的每个服务器被配置为向受管理网络100内的边缘服务网络104的边缘设备103提供资源。在各种实施例中,服务器资源216可以包括但不限于:被存储在由服务器210可访问的非瞬态机器可读存储介质上的数据、执行一个或多个所请求的动作的计算资源、用于供应边缘设备103的配置数据、控制操作数据、系统状况监视数据、二进制数据、以及其他类型的所请求的数据。服务器客户端208通过代理连接232向代理组件220传输一个或多个数据分组。在一些实施例中,服务器客户端208能够响应于来自边缘客户端202的请求而传输数据分组,并且在一些实施例中,服务器客户端208能够传输如下数据分组,该数据分组请求边缘客户端202提供响应(例如,处理来自服务器客户端208的一个或多个数据分组,并且基于处理来返回响应)和/或控制数据。
在建立代理连接232之后,服务器客户端208可以向代理组件220发送边缘连接请求。来自服务器客户端208的边缘连接请求可以标识边缘设备103c,到该边缘设备103c的连接要被做出。在各种实施例中,标识边缘设备103c可以利用被指派给边缘设备103c的独特受管理网络名称。基于所标识的边缘设备103c,代理组件220可以被配置为从服务器客户端208向代理组件220的面向边缘端口路由数据分组,所预期的边缘设备103c的边缘客户端202通过该面向边缘端口使用安全通信连接231而被连接。在各种实施例中,响应于从服务器客户端208接收边缘连接请求,代理组件220可以向服务器客户端208发送代理确认(acknowledgement)。被发送到服务器客户端208的代理确认可以提供如下指示:代理组件220已经成功地设置路由路径,使得服务器客户端208可以与边缘客户端202直接通信。即是说,代理组件220被配置为向安全通信连接231的面向边缘端口路由通过代理连接232的面向服务器端口所接收的数据。
图4中图示了的示例消息流400,示例消息流400示出了根据本文中所公开的技术的实施例连接过程可以如何被处理。提供示例消息流400仅出于说明性目的,并且不应被解释为将技术的范围限制为仅所描绘的实施例。
如图4所示,边缘客户端和服务器客户端两者都被配置为传递往返代理组件的消息,以分别建立安全连接或者代理连接。在连接被建立之后,边缘客户端可以向代理组件发送服务器连接请求,请求边缘客户端被连接到管理系统的被标识的服务器客户端。服务器客户端也可以向代理组件发送边缘连接请求,请求服务器客户端被连接到被标识的边缘客户端。在各种实施例中,针对边缘客户端、代理组件、和/或服务器客户端的受管理网络名称可以被包括在由代理组件接收的连接请求中。当代理组件已经适当地配置在服务器客户端与边缘客户端之间路由数据的通信路径时,代理组件可以向边缘客户端和服务器客户端发送确认。在接收确认之后,边缘客户端和服务器客户端中的每项可以在不使用本领域中已知的专用NAT穿透协议的情况下通过防火墙在彼此之间通信。边缘客户端、服务器客户端、或者两者的组合可以向另一方发送请求。如图4的示例中所示,服务器客户端在从代理组件接收连接的确认之后发送边缘请求消息。在各种实施例中,边缘请求消息可以包括数据和/或命令,用于边缘客户端执行一个或多个过程。在其他一些实施例中,边缘客户端可以发送类似于边缘请求消息的服务器请求消息。在一些实施例中,在边缘请求消息被发送到边缘客户端并且边缘响应消息从边缘客户端被接收之后,在服务器客户端与边缘客户端之间所建立的连接可以被终止。
服务器客户端208和代理组件220利用服务器管理协议来通信。服务器管理协议的非限制性示例包括不同的Redfish协议和被创建来启用远程管理和对分布式网络设备的监视的其他标准协议,诸如由分布式管理任务组(DMTF)发布的那些。通过利用一个或多个标准服务器管理协议,本发明的技术启用NAT穿透而无需附加的、复杂的穿透协议(诸如STUN、WebRTC、TURN等)。服务器管理协议通常已经由网络设备(例如,服务器210、边缘设备103c)内部地利用来管理受管理网络100中的设备的功能性和配置。这减少了在受管理网络100内实现NAT穿透所要求的固件的开销。边缘客户端202和服务器客户端208两者都可以被配置为实现服务器管理协议。通过以这种方式来配置边缘客户端202和服务器客户端208,服务器210和边缘设备103c能够使用服务器管理协议通过安全通信连接231通信,在没有公开地通告边缘设备103c的独特受管理网络名称的情况下绕过防火墙105a。
如图1所示,边缘服务网络104和管理服务102可以通过公共网络110而被连接。在各种实施例中,关于图2所讨论的代理组件220可以被布置在公共网络110内。即是说,在代理组件220通过公共网络110被连接到服务器210的情况下,代理组件220可以位于与服务器210相同的数据中心之外。图3是图示根据本公开的技术的实施例的另一示例边缘设备连接300的框图。如图3所示,代理组件220被布置在数据中心240与边缘服务网络104a之间,其中代理组件220在公共网络110内。尽管被图示为被布置在公共网络110内,但是代理组件220可以是私有设备,该私有设备对关于图1所讨论的受管理网络100之外的设备不可用。在这样的实施例中,代理组件220可以通过公共网络110(例如,互联网)连接到边缘设备103c和服务器210。该连接过程可以与关于图2所讨论的以及图4所示的消息流相同。
图5是根据本文中所公开的技术的实施例的示例方法500。提供示例方法500仅出于说明性目的,并且不应被解释为将技术的范围限制为仅所描绘的方法500。示例方法500可以利用服务器管理协议来启用NAT穿透。在各种实施例中,方法500可以由关于图2和图3所讨论的代理组件220实现。如图5所示,方法500可以是在操作502处,通过从边缘客户端接收服务器连接请求。如关于图2和图3所讨论的,边缘客户端可以向代理组件发送服务器连接请求。在各种实施例中,服务器连接请求可以是关于图2和图3所讨论的安全通信连接的建立的一部分。在一些实施例中,服务器连接请求可以作为TLS连接请求而被发送。服务器连接请求可以包括针对代理组件的独特受管理网络名称,使得边缘客户端可以直接连接到已知的服务位置,而无需使用附加的、复杂的穿透协议(诸如STUN、TURN、WebRTC等)。
在操作504处,代理组件还可以从服务器的服务器客户端接收边缘连接请求。在一些实施例中,代理组件与服务器客户端之间的持久性代理连接可以被建立一次并且保持打开。在一些实施例中,在于操作502处接收服务器连接请求之后,代理组件可以建立与服务器的代理连接,该服务器与代理组件相关联。在各种实施例中,边缘客户端和服务器客户端可以发送符合实现中所使用的服务器管理协议的数据分组,其中代理组件支持数据分组在没有修改的情况下的传输。
在操作506处,代理组件基于服务器连接请求和边缘连接请求来配置从代理组件的面向服务器端口到代理组件的面向边缘端口的路径。代理组件可以分别基于服务器连接请求和边缘连接请求来标识所预期的服务器和所预期的边缘设备。代理组件可以配置路径,使得在与所预期的边缘设备相关联的面向边缘端口上所接收的数据被路由到与所预期的服务器相关联的面向服务器端口,反之亦然。一旦路径被配置,代理组件就可以在操作508处向服务器客户端和边缘客户端两者都发送代理确认。确认消息向边缘客户端和服务器客户端指示路径已经准备好用于要被传输的数据分组。
在操作510处,代理组件可以接收一个或多个数据分组。一个或多个数据分组可以从边缘客户端被接收,或者从服务器客户端被接收。在一些实施例中,一个或多个数据分组可以包括来自边缘客户端或者服务器客户端的请求,并且在一些实施例中,一个或多个数据分组可以包括响应于先前所接收的请求的数据。在一些实施例中,服务器连接请求和/或边缘连接请求可以包括针对数据或者资源的使用的请求,并且代理组件可以被配置为:除了使用连接请求来建立用于服务器客户端与边缘客户端之间的直接通信的路径以外,向其相应的接收方传输服务器连接请求或者边缘连接请求。
在操作512处,代理组件可以路由一个或多个所接收的数据分组,该一个或多个所接收的数据分组可以从被配置的路径的第一端口被路由到被配置的路径的第二端口。如果所接收的一个或多个数据分组通过代理连接从服务器客户端被接收,则该第一端口可以是代理组件的面向服务器端口,而如果所接收的一个或多个数据分组通过安全通信连接从边缘客户端被接收,则该第一端口可以是代理组件的面向边缘端口。所接收的数据分组被路由的方向取决于数据分组在其上被接收的代理组件端口。所接收的数据分组可以根据在受管理网络中所实现的服务器管理协议而被接收。作为非限制性的示例,一个或多个所接收的数据分组可以包括一个或多个Redfish调用。接收客户端(或者边缘客户端,或者服务器客户端)可以被配置为解释服务器管理协议数据分组。在一些实施例中,边缘客户端可以被配置为向在边缘设备上运行的一个或多个应用(与图2和图3中所示的应用212类似)路由从代理组件所接收的数据分组。
在各种实施例中,数据分组可能需要在边缘客户端与服务器客户端之间被交换数次。代理组件可以被配置为确定结束连接请求是否被接收。如果没有结束连接请求被接收,则方法500可以返回到操作510以用于接收一个或多个附加的数据分组。如果结束连接请求被接收,则服务器客户端与边缘客户端之间的通信连接可以在操作514处被结束。在各种实施例中,结束通信连接可以包括结束代理组件的路由配置,而在其他一些实施例中,结束通信连接可以包括结束代理通信和/或安全通信连接。
图6是根据本公开的实施例的示例计算平台600。计算平台600的操作和功能性与关于图1-图5所讨论的那些类似之处,本描述应当被解释为适用。在各种实施例中,计算平台600可以与关于图1-图5所讨论的代理组件220、服务器210、和/或边缘设备103类似。计算平台600包括硬件处理器602。在一些实施例中,硬件处理器602可以包括一个或多个处理电路,该一个或多个处理电路被配置为运行客户端和/或在计算平台600的端口之间路由数据分组。
硬件处理器602被配置为执行被存储在机器可读介质604上的指令。机器可读介质604可以是一个或多个类型的非瞬态计算机存储介质。非限制性的示例包括:闪存、固态存储设备(SSD);存储区域网络(SAN);可移除存储器(例如,记忆棒、CS、SD卡等);或者内部计算机RAM或ROM;以及其他类型的计算机存储介质。在各种实施例中,机器可读介质604可以与关于图1-图5所讨论的非瞬态机器可读存储介质类似。被存储在机器可读存储介质604上的指令可以包括用于执行关于图1-图5所讨论的功能性的各个子指令。例如,指令“建立安全通信连接”606可以包括用于以与以上关于图1-图5所讨论的那些类似的方式来建立TLS或者其他安全连接的各个子指令。在各种实施例中,指令606可以由边缘设备的边缘客户端或者管理服务的代理组件执行。指令“建立代理连接”608可以包括用于以与以上关于图1-图5所讨论的那些类似的方式来建立代理组件与服务器的服务器客户端之间的连接的各个子指令。在各种实施例中,指令608可以由代理组件或者服务器的服务器客户端执行。
指令“接收服务器连接请求”610可以包括用于以与以上关于图1-图5所讨论的方式类似的方式来从边缘客户端接收数据分组的一个或多个子指令。在各种实施例中,子指令还可以包括用于使用服务器管理协议通信的子指令。指令“接收边缘连接请求”612可以包括用于以与以上关于图1-图5所讨论的方式类似的方式来从服务器客户端接收数据分组的一个或者多个子指令。在各种实施例中,指令612还可以包括用于使用服务器管理协议通信的子指令。指令“配置从第一代理端口到第二代理端口的路径”614可以包括用于以与关于图1-图5所讨论的方式类似的方式来配置从代理组件的面向服务器端口到面向边缘端口的路径的一个或者多个子指令。指令“利用服务器管理协议来发送一个或多个数据分组”616可以包括用于以与关于图1-图5所讨论的方式类似的方式来利用服务器管理协议通信的一个或多个子指令。
图7描绘了在其中可以实现本文中所描述的实施例中的各种实施例的示例计算机系统700的框图。计算机系统700包括总线702或者用于传达信息的其他通信机制、与总线702耦合用于处理信息的一个或多个硬件处理器704。(多个)硬件处理器704可以是例如一个或多个通用微处理器。
计算机系统700还包括主存储器706(诸如随机存取存储器(RAM)、高速缓存和/或其他动态存储设备),该主存储器706被耦合到总线702,用于存储要由处理器704执行的信息和指令。主存储器706还可以被用于在要由处理器704执行的指令的执行期间存储临时变量或其他中间信息。这样的指令当被存储在对处理器704可访问的存储介质中时,将计算机系统700渲染到被定制化以执行指令中所指定的操作的专用机器中。
计算机系统700还包括被耦合到总线702的只读存储器(ROM)708或其他静态存储设备。用于存储用于处理器704的静态信息和指令。存储设备710(诸如磁盘、光盘或USB拇指驱动(闪存驱动)等)被提供给并且被耦合到总线702用于存储信息和指令。
计算机系统700可以经由总线702被耦合到显示器712(诸如液晶显示器(LCD)(或触摸屏))以用于向计算机用户显示信息。包括字母数字和其他键的输入设备714被耦合到总线702用于将信息和命令选择传达到处理器704。另一类型的用户输入设备是光标控制716(诸如鼠标、跟踪球、或光标方向键)用于将方向信息和命令选择传达给处理器704以及用于控制显示器712上的光标移动。在一些实施例中,可以经由在没有光标的情况下在触摸屏上接收触摸来实现与光标控制相同的方向信息和命令选择。
计算机系统700可以包括用户界面模块以实现GUI,该GUI可以作为由(多个)计算设备执行的可执行软件代码而被存储在大容量存储设备中。作为示例,该模块和其他模块可以包括组件,诸如软件组件、面向对象的软件组件、类组件和任务组件、进程、功能、属性、过程(procedure)、子例程、程序代码段、驱动、固件、微代码、电路装置、数据、数据库、数据结构、表、数组和变量。
通常,短语“组件”、“引擎”、“系统”、“数据库”、“数据存储”等,如本文中所使用的,可以指的是被体现在硬件或固件中的逻辑,或者指的是可能具有入口和出口点的、以编程语言(诸如,例如Java、C或C++)编写的软件指令的集合。可以将软件组件编译并且链接到可执行程序中、安装在动态链接库中,或者可以使用解释型编程语言(诸如,例如,BASIC、Perl或Python)编写软件组件。将理解,软件组件可以是从其他组件或从其自身可调用的,和/或可以响应于检测到的事件或中断而被调用。被配置为在计算设备上执行的软件组件可以在计算机可读介质(诸如光盘、数字视频光盘、闪存驱动器、磁盘、或者任何其他有形介质)上被提供,或者可以被提供为数字下载文件(并且可以最初以经压缩或可安装的格式被存储,要求在执行之前的安装、解压缩或者解密)。这样的软件代码可以部分地或全部地被存储在执行中的计算设备的存储器设备上,以由计算设备执行。软件指令可以被嵌入在诸如EPROM的固件中。还将理解,硬件组件可以由连接的逻辑单元(诸如门和正反器)组成,和/或可以由可编程单元(例如可编程门阵列或处理器)组成。
计算机系统700可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件、和/或程序逻辑来实现本文中所描述的技术,前述各项与计算机系统结合使计算机系统700成为专用机器,或者将计算系统700编程为专用机器。根据一个实施例,本文中的技术由计算机系统700响应于(多个)处理器704执行被包含在主存储器706中的一个或多个指令的一个或多个序列而执行。这样的指令可以从另一存储介质(诸如存储设备710)被读入主存储器706中。被包含在主存储器706中的指令序列的执行使(多个)处理器704执行本文中所描述的处理步骤。在备选的实施例中,可以使用硬连线电路代替软件指令或者与软件指令组合使用。
如本文所使用的,术语“非瞬态介质”和类似术语指的是存储使机器以特定方式操作的数据和/或指令的任何介质。这样的非瞬态介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备710。易失性介质包括动态存储器,诸如主存储器706。非瞬态介质的常见形式包括例如软盘、软磁盘、硬盘、固态驱动器、磁带、或者任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔洞纹理的任何物理介质、RAM、PROM、以及EPROM、FLASH-EPROM、NVRAM、任何其他存储芯片或内存匣、以及它们的联网的版本。
非瞬态介质与传输介质不同,但是可以与传输介质结合使用。传输媒体参与非瞬态介质之间的信息传送。例如,传输介质包括同轴电缆、铜线和光纤,包括组成总线702的电线。传输介质还可以采取声波或光波的形式,诸如在无线电波和红外数据通信期间所生成的那些。
计算机系统700还包括被耦合到总线702的网络接口718。网络接口718提供与连接到一个或多个本地网络的一个或多个网络链路的双向数据通信。例如,网络接口718可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或向相应类型的电话线提供数据通信连接的调制解调器。作为另一示例,网络接口718可以是局域网(LAN)卡,以提供到兼容LAN(或与广域网通信的广域网组件)的数据通信连接。也可以实现无线链接。在任何这样的实现中,网络接口718发送和接收携带代表各种类型信息的数字数据流的电、电磁或光信号。
网络链路通常通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路可以通过本地网络向主机计算机或者向由因特网服务提供方(ISP)操作的数据设备提供连接。ISP转而通过现在通常称为“互联网”的全球分组数据通信网络来提供数据通信服务。本地网络和互联网两者都使用携带数字数据流的电、电磁或光学信号。通过各种网络的信号以及在网络链路上并且通过网络接口718的信号是传输介质的示例形式,这些信号携带去往和来自计算机系统700的数字数据。
计算机系统700可以通过(多个)网络、网络链路和网络接口718来发送消息并且接收数据,包括程序代码。在互联网示例中,服务器可能通过互联网、ISP、本地网络以及网络接口718来传输用于应用程序的被请求的代码。
所接收的代码可以在其被接收时由处理器704执行,和/或被存储在存储设备710或其他非易失性存储器中以供稍后执行。
前述各节中所描述的过程、方法和算法可以被体现在在由一个或多个计算机系统或者包括计算机硬件的计算机处理器执行的代码组件中,并且由该代码组件完全或部分自动化。该一个或多个计算机系统或计算机处理器还可以在“云计算”环境中或作为“软件即服务”(SaaS)而操作,以支持相关操作的性能。过程和算法可以部分或全部在专用电路中被实现。上述各种特征和过程可以与彼此独立地被使用,也可以以各种方式组合地被使用。不同的组合和子组合旨在落入本公开的范围内,并且在一些实现中可以省略某些方法或过程框。本文中所描述的方法和过程也不限于任何特定的顺序,并且与其相关的框或状态可以以其他恰当的顺序执行,或者可以并行地被执行,或者以其他方式被执行。可以在所公开的示例实施例中添加或移除框或状态。操作或过程的中的某些操作或过程的性能可以被分布在计算机系统或计算机处理器之中,不仅驻留在单个机器内,而且跨多个机器被部署。
如本文中所使用,可以利用任何形式的硬件、软件或者其组合来实现电路。例如,可以实现一个或多个处理器、控制器、ASIC、PLA、PAL、CPLD、FPGA、逻辑组件、软件例程或者其他机制来构成电路。在实现中,本文中所描述的各种电路可以被实现为分立电路,或者所描述的功能和特征可以在一个或多个电路间部分或全部被共享。尽管各种特征或者功能性的元件可以作为单独的电路被描述或者作为单独的电路被要求保护,但是这些特征和功能性可以在一个或多个通用电路间共享,并且这样的描述将不需要或暗示要求单独的电路来实现这样的特征或者功能性。在电路全部或部分地使用软件而被实现之处,这样的软件可以被实现以与计算或操作系统一起操作,该计算或操作系统能够执行关于其所描述的功能性,诸如计算机系统700。
如本文中所使用,术语“或”可以被解释为包含性或排他性。此外,单数形式的资源、操作或结构的描述不应被理解为排除复数形式。条件性语言,诸如“可以(can)”、“可能(could)”、“可能(might)”或“可以(may)”,除非另有明确说明,或者上下文内如所使用的以其他方式被理解,否则通常旨在传达某些实施例包括、而其他实施例不包括某些特征、元素和/或步骤。
除非另有明确说明,否则本文档中使用的术语和短语以及其变体应当被解释为开放式的,而非限制性的。诸如“常规的”、“传统的”、“通常的”、“标准的”、“已知的”的形容词和具有类似含义的术语不应被解释为将所描述的项限制为给定的时间段或限制为截至给定时间可用的项,而是应被理解为包含可以在现在或在将来任何时候可用或已知的常规的、传统的、通常的或者标准的技术。在一些实例中诸如“一个或多个”、“至少”、“但不限于”或者其他类似短语的拓宽词语和短语的出现不应被理解为意味着在可能缺少这样的拓宽短语的实例中旨在或者要求需要更窄的情况。
Claims (17)
1.一种用于通信的方法,包括:
由代理组件使用唯一的设备标识符与边缘客户端建立安全通信连接;
由所述代理组件从所述边缘客户端接收服务器连接请求,所述边缘客户端运行在经由防火墙被连接到公共网络的一个或多个边缘客户端设备上,所述请求是用于连接到在被连接到所述公共网络的一个或多个网络设备上运行的所请求的服务器客户端并且被配置为提供服务的请求,所述服务器连接请求经由防火墙被发送给所述代理组件;
由所述代理组件基于所述服务器连接请求来标识所述所请求的服务器客户端;
由所述代理组件建立与所述所请求的服务器客户端的代理连接;
由所述代理组件通过所述代理连接从所述所请求的服务器客户端接收一个或多个数据分组;以及
由所述代理组件通过所述安全通信连接向所述边缘客户端路由所述一个或多个数据分组,
其中所述边缘客户端与所述所请求的服务器客户端之间的通信使用服务器管理协议而被执行,
并且其中所述代理组件包括与所述所请求的服务器客户端在同一网络设备上运行的虚拟组件,所述代理组件经由虚拟面向服务器端口被通信地耦合到所述服务器客户端,并且所述代理组件通过所述公共网络经由所述网络设备的物理面向边缘端口被通信地耦合到所述边缘客户端。
2.根据权利要求1所述的方法,其中所述防火墙包括网络地址转换NAT防火墙,所述网络地址转换NAT防火墙被配置为启用来自所述边缘客户端的传出连接并且禁用传入连接。
3.根据权利要求1所述的方法,其中所述代理组件与所述服务器客户端共置。
4.根据权利要求3所述的方法,其中所述代理组件和所述服务器客户端被布置在数据中心中。
5.根据权利要求1所述的方法,还包括:由所述代理组件通过所述代理连接向所述服务器客户端发送所述服务器连接请求。
6.根据权利要求1所述的方法,其中所述防火墙被配置为启用所述代理组件与所述边缘客户端之间的所述安全通信连接。
7.根据权利要求1所述的方法,还包括:由所述代理组件从所述边缘客户端接收标识所述一个或多个数据分组的数据请求。
8.根据权利要求1所述的方法,还包括:
由所述代理组件从所述边缘客户端接收一个或多个被传输的数据分组,所述一个或多个被传输的数据分组被寻址到所述服务器客户端;以及
由所述代理组件通过所述代理连接向所述服务器客户端路由来自所述边缘客户端的所述一个或多个被传输的数据分组。
9.根据权利要求8所述的方法,其中路由所述一个或多个被传输的数据分组包括:向所述代理组件的面向服务器端口路由在所述代理组件的面向边缘端口处所接收的所述一个或多个被传输的数据分组。
10.根据权利要求1所述的方法,其中所述服务器客户端被配置为通过同一代理连接经由所述代理组件的面向服务器端口与多个边缘客户端通信。
11.根据权利要求1所述的方法,其中所述边缘客户端包括带外管理系统。
12.一种用于通信的系统,包括:
边缘客户端,在边缘网络的一个或多个边缘设备上运行,所述边缘网络经由防火墙连接到公共网络,所述一个或多个边缘设备包括被耦合到存储处理器可执行指令的非瞬态存储器的处理器;
服务器客户端,在服务中枢处的一个或多个网络设备上运行,并且被连接到所述公共网络,所述一个或多个网络设备包括被耦合到存储处理器可执行指令的非瞬态存储器的处理器;以及
代理组件,被可操作地耦合到所述服务器客户端,
其中所述边缘客户端被配置为使用唯一的设备标识符来建立与所述代理组件的安全通信连接;
其中所述边缘客户端和所述服务器客户端被配置为使用服务器管理协议经由所述代理组件通信,所述服务器管理协议被配置在运行所述边缘客户端的边缘设备和运行所述服务器客户端的服务器设备两者上;
并且其中所述代理组件包括与所述服务器客户端在同一网络设备上运行的虚拟组件,所述代理组件经由虚拟面向服务器端口被通信地耦合到所述服务器客户端,并且所述代理组件通过所述公共网络经由所述网络设备的物理面向边缘端口被通信地耦合到所述边缘客户端。
13.根据权利要求12所述的系统,其中所述代理组件包括中间网络设备,所述中间网络设备通过所述公共网络被通信地耦合到所述一个或多个边缘设备和所述一个或多个网络设备。
14.根据权利要求13所述的系统,所述代理组件通过所述公共网络经由所述代理组件的面向服务器端口被通信地耦合到所述服务器客户端,并且所述代理组件通过所述公共网络经由所述代理组件的面向边缘端口被通信地耦合到所述边缘客户端。
15.根据权利要求12所述的系统,其中所述防火墙包括网络地址转换NAT防火墙,所述网络地址转换NAT防火墙被配置为启用来自所述边缘设备的传出连接,并且禁用到所述边缘设备的传入连接。
16.一种用于通信的系统,包括:
边缘客户端,在边缘网络的一个或多个边缘设备上运行,所述边缘网络经由防火墙连接到公共网络,所述一个或多个边缘设备包括被耦合到存储处理器可执行指令的非瞬态存储器的处理器;
服务器客户端,在服务中枢处的一个或多个网络设备上运行,并且被连接到所述公共网络,所述一个或多个网络设备包括被耦合到存储处理器可执行指令的非瞬态存储器的处理器;以及
代理组件,被可操作地耦合到所述服务器客户端,
其中所述边缘客户端被配置为使用唯一的设备标识符来建立与所述代理组件的安全通信连接;
其中所述边缘客户端和所述服务器客户端被配置为使用服务器管理协议经由所述代理组件通信,所述服务器管理协议被配置在运行所述边缘客户端的边缘设备和运行所述服务器客户端的服务器设备两者上。
17.一种存储指令的非瞬态机器可读存储介质,所述指令当由处理器执行时,使所述处理器:
从边缘客户端接收服务器连接请求,所述边缘客户端在经由防火墙被连接到公共网络的一个或多个边缘客户端设备上运行,所述请求是用于连接到在经由防火墙被连接到公共网络的一个或多个边缘客户端设备上运行的所请求的服务器客户端的请求,所述请求是被配置为提供服务的请求,所述服务器连接请求经由防火墙被发送给代理组件;
使用唯一的设备标识符在所述边缘客户端与所述代理组件之间建立安全通信连接;
基于所述服务器连接请求来标识所述所请求的服务器客户端;
建立与所述所请求的服务器客户端的代理连接;
从所述所请求的服务器客户端接收一个或多个数据分组;
向所述边缘客户端路由来自所述服务器客户端的所述一个或多个数据分组;
从所述边缘客户端接收一个或多个被传输的数据分组,所述一个或多个被传输的数据分组被寻址到所述服务器客户端;以及
通过所述代理连接向所述服务器客户端路由来自所述边缘客户端的所述一个或多个被传输的数据分组,
其中所述边缘客户端与所述所请求的服务器客户端之间的通信使用服务器管理协议而被执行;
并且其中所述代理组件包括与所述服务器客户端在同一网络设备上运行的虚拟组件,所述代理组件经由虚拟面向服务器端口被通信地耦合到所述服务器客户端,并且所述代理组件通过所述公共网络经由所述网络设备的物理面向边缘端口被通信地耦合到所述边缘客户端。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/907,279 | 2020-06-21 | ||
US16/907,279 US11563721B2 (en) | 2020-06-21 | 2020-06-21 | Methods and systems for network address translation (NAT) traversal using a meet-in-the-middle proxy |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113824808A CN113824808A (zh) | 2021-12-21 |
CN113824808B true CN113824808B (zh) | 2024-04-12 |
Family
ID=78823301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110436505.2A Active CN113824808B (zh) | 2020-06-21 | 2021-04-22 | 用于使用中间相遇代理的网络地址转换穿透的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11563721B2 (zh) |
CN (1) | CN113824808B (zh) |
DE (1) | DE102021109193A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9100369B1 (en) * | 2012-08-27 | 2015-08-04 | Kaazing Corporation | Secure reverse connectivity to private network servers |
CN110247846A (zh) * | 2019-07-26 | 2019-09-17 | 宙安科技河北有限公司 | 一种虚拟专用网的路由方法及路由装置 |
CN110933197A (zh) * | 2019-11-27 | 2020-03-27 | 太仓市同维电子有限公司 | 一种分布式代理网络 |
CN111131448A (zh) * | 2019-12-23 | 2020-05-08 | 万翼科技有限公司 | ADSL Nat的运维管理的边缘管理方法及相关产品 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6345300B1 (en) * | 1997-03-25 | 2002-02-05 | Intel Corporation | Method and apparatus for detecting a user-controlled parameter from a client device behind a proxy |
KR100358387B1 (ko) * | 2000-06-27 | 2002-10-25 | 엘지전자 주식회사 | 네트워크망에서 내부자원의 보호기능이 강화된 보안장치및 그 운용방법 |
US20030172264A1 (en) * | 2002-01-28 | 2003-09-11 | Hughes Electronics | Method and system for providing security in performance enhanced network |
US20040044909A1 (en) * | 2002-09-04 | 2004-03-04 | Mirza Absar Ahmed | Method and system for accessing an object behind a firewall |
US7694127B2 (en) * | 2003-12-11 | 2010-04-06 | Tandberg Telecom As | Communication systems for traversing firewalls and network address translation (NAT) installations |
US8230484B1 (en) * | 2007-05-01 | 2012-07-24 | Emc Corporation | Control of resource access privileges via agent authentication |
CA2779631C (en) * | 2009-11-02 | 2020-06-16 | Adaptive Spectrum And Signal Alignment, Inc. | Device abstraction proxy |
US9152784B2 (en) * | 2012-04-18 | 2015-10-06 | Mcafee, Inc. | Detection and prevention of installation of malicious mobile applications |
US11218445B2 (en) * | 2019-07-29 | 2022-01-04 | Dell Products L.P. | System and method for implementing a web application firewall as a customized service |
US11425043B2 (en) * | 2020-06-16 | 2022-08-23 | T-Mobile Usa, Inc. | Duplex load balancing for massive IoT applications |
-
2020
- 2020-06-21 US US16/907,279 patent/US11563721B2/en active Active
-
2021
- 2021-04-13 DE DE102021109193.4A patent/DE102021109193A1/de active Granted
- 2021-04-22 CN CN202110436505.2A patent/CN113824808B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9100369B1 (en) * | 2012-08-27 | 2015-08-04 | Kaazing Corporation | Secure reverse connectivity to private network servers |
CN110247846A (zh) * | 2019-07-26 | 2019-09-17 | 宙安科技河北有限公司 | 一种虚拟专用网的路由方法及路由装置 |
CN110933197A (zh) * | 2019-11-27 | 2020-03-27 | 太仓市同维电子有限公司 | 一种分布式代理网络 |
CN111131448A (zh) * | 2019-12-23 | 2020-05-08 | 万翼科技有限公司 | ADSL Nat的运维管理的边缘管理方法及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
DE102021109193A1 (de) | 2021-12-23 |
US20210400022A1 (en) | 2021-12-23 |
CN113824808A (zh) | 2021-12-21 |
US11563721B2 (en) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6505171B2 (ja) | 仮想ネットワーク環境でループバックインタフェースを利用してdsrロードバランシングを処理する方法およびシステム | |
EP3021534B1 (en) | A network controller and a computer implemented method for automatically define forwarding rules to configure a computer networking device | |
CN107852604B (zh) | 用于提供全局虚拟网络(gvn)的系统 | |
EP3834393B1 (en) | Systems and methods for server cluster network communication across the public internet | |
CN107113342B (zh) | 使用软件定义网络的中继优化 | |
EP3225014B1 (en) | Source ip address transparency systems and methods | |
US11546444B2 (en) | Traffic forwarding and disambiguation by using local proxies and addresses | |
US9578126B1 (en) | System and method for automatically discovering wide area network optimized routes and devices | |
US9723069B1 (en) | Redistributing a connection | |
US8817815B2 (en) | Traffic optimization over network link | |
US9444723B1 (en) | Passing data over virtual links | |
US10778465B1 (en) | Scalable cloud switch for integration of on premises networking infrastructure with networking services in the cloud | |
JP2011160041A (ja) | フロントエンドシステム、フロントエンド処理方法 | |
US9967140B2 (en) | Virtual links for network appliances | |
US11075792B2 (en) | Scalable and robust network management for cloud-based NAT environments | |
JPWO2015068255A1 (ja) | ネットワークシステム、通信制御装置、及び通信方法 | |
WO2023114184A1 (en) | Encrypted data packet forwarding | |
CN113055220B (zh) | 基于云的nat环境的可缩放且鲁棒的网络管理 | |
US20110276673A1 (en) | Virtually extending the functionality of a network device | |
CN113824808B (zh) | 用于使用中间相遇代理的网络地址转换穿透的方法和系统 | |
CN112334879A (zh) | 提供用于桌面即服务(DaaS)会话到私有网络的直接路由的计算系统及相关方法 | |
KR20180054112A (ko) | 네트워크 기능 가상화 시스템을 운용하는 방법, 장치 및 컴퓨터 프로그램 | |
KR101538667B1 (ko) | 네트워크 시스템 및 네트워크 제어 방법 | |
CN113542431B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
US20240015140A1 (en) | Systems and Methods for Redirecting Service and API Calls for Containerized Applications |
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 |