DE102021109193B4 - Verfahren und systeme zur netzwerkadressen-übersetzung ( nat) unter verwendung eines meet-in-the-middle-proxys - Google Patents

Verfahren und systeme zur netzwerkadressen-übersetzung ( nat) unter verwendung eines meet-in-the-middle-proxys Download PDF

Info

Publication number
DE102021109193B4
DE102021109193B4 DE102021109193.4A DE102021109193A DE102021109193B4 DE 102021109193 B4 DE102021109193 B4 DE 102021109193B4 DE 102021109193 A DE102021109193 A DE 102021109193A DE 102021109193 B4 DE102021109193 B4 DE 102021109193B4
Authority
DE
Germany
Prior art keywords
client
server
edge
proxy component
network
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
DE102021109193.4A
Other languages
English (en)
Other versions
DE102021109193A1 (de
Inventor
Christopher Davenport
Kenneth Leach
Jorge Daniel Cisneros
Ivan Farkas
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of DE102021109193A1 publication Critical patent/DE102021109193A1/de
Application granted granted Critical
Publication of DE102021109193B4 publication Critical patent/DE102021109193B4/de
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/0281Proxies
    • 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/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a 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
    • 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/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/59Network arrangements, protocols or services for addressing or naming using proxies for addressing
    • 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/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • 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

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)

Abstract

Ein Verfahren, das Folgendes umfasst:Empfangen, durch eine Proxy-Komponente, einer Serververbindungsanforderung von einem Edge-Client, der auf einem oder mehreren Edge-Clientgeräten läuft die über eine Firewall mit einem öffentlichen Netzwerk verbunden sind, wobei die Anforderung eine Anforderung ist eine Verbindung zu einem angeforderten Server-Client herzustellen, der auf einem oder mehreren Netzwerkgeräten läuft, die mit dem öffentlichen Netzwerk verbunden sind, und der so konfiguriert ist, dass er einen Dienst bereitstellt, wobei die Serververbindungsanforderung durch eine Firewall an die Proxy-Komponente gesendet wird;Identifizierung des angeforderten Server-Clients durch die Proxy-Komponente auf der Grundlage der Server-Verbindungsanforderung;Aufbau einer Proxy-Verbindung mit dem angeforderten Server-Client durch die Proxy-Komponente;Empfangen eines oder mehrerer Datenpakete von dem angeforderten Server-Client durch die Proxy-Komponente; undWeiterleitung des einen oder der mehreren Datenpakete durch die Proxy-Komponente an den Edge-Client,wobei die Kommunikation zwischen dem Edge-Client und dem Server-Client unter Verwendung eines Server-Management-Protokolls erfolgt; undwobei die Proxy-Komponente eine virtuelle Komponente umfasst, die auf demselben Netzwerkgerät wie der Server-Client läuft, wobei die Proxy-Komponente über einen virtuellen, dem Server zugewandten Port mit dem Server-Client kommunikativ verbunden ist, und die Proxy-Komponente über einen physischen, der Edge zugewandten Port des Netzwerkgeräts über das öffentliche Netzwerk mit dem Edge-Client kommunikativ verbunden ist.

Description

  • Beschreibung des zugehörigen Standes der Technik
  • Netzwerkadressübersetzung (NAT) ist eine Methode, um einen IP-Adressraum in einen anderen Adressraum umzuwandeln, indem die Netzwerkadressinformationen im IP-Header von Paketen während der Übertragung geändert werden. Firewalls, Router, Gateways und andere Netzwerkgeräte können für die Implementierung von NAT konfiguriert werden. Durch die Übersetzung der IP-Adressen, bevor die Pakete von einem NAT-fähigen -Netz an ein anderes öffentliches und/oder privates Netz gesendet werden-, verbirgt das NAT-Protokoll die tatsächlichen IP-Adressen der einzelnen Netzgeräte innerhalb des NAT-fähigen -Netzes.
  • Damit Geräte außerhalb des NAT-fähigen -Netzes direkt mit einem Netzgerät des NAT-fähigen -Netzes -kommunizieren können, -müssen sie die wahre IP-Adresse des Geräts des NAT-fähigen -Netzes -kennen oder erhalten-. NAT-Traversal ist eine Technik zur Herstellung und Aufrechterhaltung einer Verbindung über die Firewall oder ein anderes Gateway-Netzwerkgerät, das für die Implementierung des NAT-Protokolls konfiguriert ist. Es gibt mehrere Arten von NAT-Traversal-Methoden, darunter Socket Secure (SOCKS), Traversal unter Verwendung von Relais um NAT (TURN), Session Traversal Utilities für NAT (STUN), virtuelle private Netze (VPNs) und andere.
  • Aus der US 9 100 369 B1 ist ein Verfahren zur Herstellung einer Verbindung eines Clients mit einem Server über ein öffentliches Netzwerk bekannt. Dabei wird eine Anforderung von einem Proxy empfangen und an einen Server weitergeleitet.
  • Kurzbeschreibung der Zeichnungen
  • Die vorliegende Offenbarung wird in Übereinstimmung mit einer oder mehreren verschiedenen Ausführungsformen unter Bezugnahme auf die folgenden Figuren im Detail beschrieben. Die Figuren dienen lediglich der Veranschaulichung und stellen lediglich typische oder beispielhafte Ausführungsformen dar.
    • 1 zeigt ein Beispiel für ein verwaltetes Netz in Übereinstimmung mit Ausführungsformen der hier offengelegten Technologie.
    • 2 ist ein Blockdiagramm, das eine beispielhafte Randgeräteverbindung in Übereinstimmung mit Ausführungsformen der hier offengelegten Technologie zeigt.
    • 3 ist ein Blockdiagramm, das ein weiteres Beispiel für eine Randgeräteverbindung gemäß den Ausführungsformen der hier offengelegten Technologie zeigt
    • 4 zeigt ein Beispiel für einen Nachrichtenfluss in Übereinstimmung mit Ausführungsformen der hier offengelegten Technologie.
    • 5 ist ein Beispiel für ein Verfahren, das mit den Ausführungsformen der hier offengelegten Technologie übereinstimmt.
    • 6 ist ein Beispiel für eine Computerplattform in Übereinstimmung mit Ausführungsformen der hier offengelegten Technologie.
    • 7 ist ein Beispiel für eine Computerkomponente, die zur Implementierung verschiedener Merkmale der in der vorliegenden Offenbarung beschriebenen Ausführungsformen verwendet werden kann.
  • Die Abbildungen sind nicht erschöpfend und beschränken die vorliegende Offenbarung nicht auf die genaue Form, die offengelegt wird.
  • Detaillierte Beschreibung
  • NAT-Geräte, wie z. B. NAT-Firewalls, ermöglichen die Verwendung privater IP-Adressen in privaten Netzen, während für die Verbindung mit einem öffentlichen Netz (z. B. dem Internet) eine einzige öffentliche IP-Adresse verwendet wird. Die NAT-Geräte ändern die Quelladresse ausgehender Anfragen in die öffentlich zugängliche -IP-Adresse des NAT-Geräts. Wenn ein externes Gerät oder Netz eine Antwort zurücksendet, wird die Antwort über die öffentlich zugängliche -IP-Adresse des NAT-Geräts -adressiert-, das so konfiguriert ist, dass es die Antwort an das Ursprungsgerät (d. h. den Client) -weiterleitet. Auf diese Weise wird die Kommunikation mit externen Netzwerken ermöglicht, ohne dass die privaten, zugewiesenen IP-Adressen der einzelnen Netzwerkgeräte hinter dem NAT-Gerät offengelegt werden.
  • Obwohl der allgemeine Netzverkehr durch das NAT-Protokoll nicht beeinträchtigt wird, können bestimmte Anwendungen wie -Peer-to-Peer-Filesharing, Voice-over-IP-Dienste (VoIP), Gaming-Netzwerke u. a. erfordern, dass die Clients auch Server umfassen. Wenn eine Verbindungsanfrage zu einem Client von außerhalb des NAT-geschützten -Netzes eingeht, ist es außerdem -schwierig, den richtigen Client zu identifizieren, an den die empfangenen Daten weitergeleitet werden sollen. Aktuelle NAT-Traversal-Konzepte ermöglichen es den Clients, ihren Pfad unter Verwendung der öffentlichen -IP-Adresse zu -veröffentlichen-, so dass externe Clients eine direkte Kommunikation aufbauen können (z. B. -Peer-to-Peer-Verbindungen) und so das NAT-Protokoll umgehen.
  • Im Allgemeinen erfordern die derzeitigen NAT-Traversal-Ansätze diese Art der öffentlichen Offenlegung von Identifizierungsinformationen für die Clients, die sich hinter dem NAT-Gerät im NAT-fähigen -Netz befinden-. Das STUN-Protokoll setzt beispielsweise voraus, dass -jeder Client (innerhalb und außerhalb des NAT-fähigen -Netzes) in der Lage ist, mit einem STUN-Server zu kommunizieren. Wenn ein NAT-geschützter -Client -eine Verbindung herstellen möchte, -kann er eine Anfrage an den STUN-Server senden, der daraufhin mit der öffentlich zugänglichen -IP-Adresse und den Portinformationen des zugehörigen NAT-Geräts -antwortet. Diese Informationen sind nun über den STUN-Server zugänglich und können von den Clients verwendet werden, um eine Verbindung unter Umgehung des NAT-Protokolls herzustellen. Der STUN-Server stellt eine verfügbare öffentliche Quelle für Adressierungsinformationen für NATgeschützte -Clients dar-. In ähnlicher Weise erfordern andere NAT-Traversal-Ansätze, dass die öffentlichen Adressierungsinformationen für einen NAT-geschützten -Client öffentlich veröffentlicht werden.
  • Darüber hinaus sind die derzeitigen NAT-Traversal-Protokolle proprietär und erfordern, dass alle verbindenden Clients mit dem jeweils verwendeten NAT-Traversal-Protokoll kompatibel sind. Dementsprechend erfordert die Implementierung von NAT-Traversal-Protokollen in einer verwalteten Netzwerkinfrastruktur, wie z. B. in Netzwerken mit Edge-Geräten, dass die Firmware und Hardware so konfiguriert sind, dass sie ein oder mehrere NAT-Traversal-Protokolle implementieren. Dies erhöht den Aufwand für die Clients innerhalb des Netzes, erhöht den benötigten Platz und die Komplexität der Integration. Außerdem müssen in einem bestimmten Netz möglicherweise mehrere aktuelle NAT-Traversal-Ansätze implementiert werden, um NAT-Traversal zu ermöglichen. Beispielsweise kann eine solche Implementierung neben dem STUN-Protokoll auch TURN und/oder ICE-Protokolle (Interactive Connectivity Establishment) erfordern, die ebenfalls in die Clients integriert werden müssen.
  • Ausführungsformen der vorliegenden Offenlegung stellen Verfahren und Systeme zur Verfügung, die NAT-Traversal ermöglichen, ohne dass der Adresspfad eines Clients öffentlich bekannt gemacht werden muss, um eine direkte Verbindung unter Umgehung des NAT-Protokolls zu ermöglichen. Eine „meetinthemiddle-“-Proxykomponente wird verwendet, um einen bekannten Dienststandort bereitzustellen, mit dem sich ein Edge-Client, der auf einem Kundengerät hinter einer NAT-Firewall läuft, verbinden kann. Die Proxy-Komponente kann empfangene Datenpakete und/oder Anfragen nach Datenpaketen vom Edge-Client an einen Server-Client weiterleiten, der auf einem Server-Gerät läuft (d. h. der Server, mit dem der Edge-Client kommunizieren möchte). Unter Verwendung der sicheren Kommunikationsverbindung zwischen dem Edge-Client und der Proxy-Komponente können Datenpakete zum und vom Server-Client durch die NAT-Firewall übertragen werden, ohne dass die Adressierungsinformationen für den Edge-Client oder den Server-Client öffentlich bekannt gegeben werden. In verschiedenen Ausführungsformen kann die NAT-Firewall so konfiguriert werden, dass Clients, die sich hinter der NAT-Firewall befinden, nur ausgehende Verbindungen herstellen können, ohne dass Verbindungen über eingehende Anfragen hergestellt werden können. Dieses NAT-Traversal kann mit einem Server-Verwaltungsprotokoll implementiert werden, das traditionell in -Client-Server-Netzen wie den hier erörterten enthalten ist-.
  • 1 zeigt ein Beispiel für ein verwaltetes Netzwerk 100, in dem Ausführungsformen der hierin offenbarten Technologie implementiert werden können. Das Beispiel für ein verwaltetes Netzwerk 100 dient nur zur Veranschaulichung und sollte nicht als Einschränkung des Umfangs der hier offengelegten Technologie verstanden werden. Wie in 1 dargestellt, umfasst das verwaltete Netzwerk 100 einen Verwaltungsdienst 102, ein öffentliches Netzwerk 110, Firewalls 105a, 105b (im Allgemeinen „die Firewall 105“, zusammen „die Firewalls 105“) und eine Vielzahl von Randgeräten 103af -(im Allgemeinen „das Randgerät 103“, zusammen „die Randgeräte 103“). In verschiedenen Ausführungsformen können ein oder mehrere zusätzliche Elemente in das verwaltete Netzwerk 100 aufgenommen werden, ohne die Anwendbarkeit der hier offengelegten Technologie einzuschränken.
  • Der Verwaltungsdienst 102 kann Verwaltungsdienste für eine Vielzahl von Netzwerkgeräten bereitstellen, die innerhalb des verwalteten Netzwerks 100 arbeiten, einschließlich, aber nicht beschränkt auf Edge-Geräte 103. In verschiedenen Ausführungsformen kann der Verwaltungsdienst 102 in einem Datenzentrum angeordnet sein, das eine Vielzahl von Servergeräten, Routern, Switches und anderen Netzwerkgeräten umfasst. Der Verwaltungsdienst 102 dient als Backend für die Verwaltung und Steuerung der Edge-Geräte 103 innerhalb des verwalteten Netzwerks 100. In verschiedenen Ausführungsformen kann jedes Servergerät so konfiguriert sein, dass es ein oder mehrere Randdienstnetzwerke 104a, 104b (allgemein „das Randdienstnetzwerk 104“, gemeinsam „die Randdienstnetzwerke 104“) überwacht, steuert oder anderweitig verwaltet, die einem Kunden zugeordnet sind, der den Verwaltungsdienst 102 nutzt. Als nicht einschränkendes -Beispiel kann ein Server des Verwaltungsdienstes 102 so konfiguriert sein, dass er Edge-Geräte 103 bereitstellt, die in jedem Edge-Dienstnetz 104 betrieben werden, das einem jeweiligen Kunden zugeordnet ist.
  • Jedes Edge-Service-Netz 104 kann mit einem separaten Kunden verbunden sein oder zwei verschiedene Zweige umfassen, die mit demselben Kunden verbunden sind. Innerhalb jedes Edge-Service-Netzes 104 dient die Firewall 105 als öffentlich zugängliches -Gateway, das das Edge-Service-Netz 104 mit dem öffentlichen Netz 110 verbindet. In verschiedenen Ausführungsformen kann das öffentliche Netz 110 aus dem Internet bestehen. Obwohl der Einfachheit halber als „Firewall“ bezeichnet, können die Firewalls 105 aus einem oder mehreren NAT-Firewall-Geräten, einem NAT-fähigen -Router, einem Netzwerk-Gateway-Gerät, einem Zugangspunkt oder einem anderen Netzwerk-Nexus -bestehen-, der es den Edge-Geräten 103 eines Edge-Service-Netzes 104 ermöglicht, auf das öffentliche Netzwerk 110 zuzugreifen (d. h. auf ein externes Netzwerk vom Edge-Service-Netz 104 aus). Obwohl in 1 nur zwei Edge-Service-Netze 104 dargestellt sind, kann eine Vielzahl von Edge-Service-Netzen 104 in verschiedene Ausführungsformen des verwalteten Netzes 100 einbezogen werden, ohne die Anwendbarkeit der hier offengelegten Technologie einzuschränken. Das öffentliche Netz 110 stellt ein Verbindungsmedium bereit, über das jedes der Randdienstnetze 104 mit dem Standort des Verwaltungsdienstes 102 verbunden werden kann.
  • Jede Firewall 105 kann so konfiguriert werden, dass Verbindungen mit jedem der Randgeräte 103, die sich hinter der jeweiligen Firewall 105 befinden, nur vom Randdienstnetz 104 aus hergestellt werden können. Das heißt, jedes Edge-Gerät 103 kann eine Verbindung mit einem externen Gerät herstellen dürfen, aber ein externes Gerät darf keine Verbindung mit einem Edge-Gerät 103 herstellen. Die Firewall 105 isoliert die Edge-Geräte 103 des Edge-Service-Netzwerks 104, so dass jedem Edge-Service-Netzwerk 104 ein privater IP-Adressraum zugeordnet werden kann. In verschiedenen Ausführungsformen kann die Firewall 105 ein NAT-Protokoll implementieren, um die Adressinformationen in den von einem Randgerät empfangenen Paketköpfen (z. B. die private IP-Adresse des Randgeräts 103) so zu ändern, dass der Absender als die Firewall 105 identifiziert wird. Auf diese Weise kennt das externe Gerät, mit dem das Edge-Gerät 103 verbunden ist, nur die IP-Adresse der Firewall 105. Indem externen Geräten der Aufbau von Verbindungen zu Randgeräten 103 innerhalb eines Randdienstnetzes 104 untersagt wird, kann die Integrität des Randdienstnetzes 104 (und der zugehörigen Randgeräte 103) gewahrt werden.
  • Wie bereits erwähnt, erschwert die NAT-Firewall den Aufbau direkter Verbindungen zwischen einem Edge-Gerät und einem externen Gerät ohne ein NAT-Traversal-Protokoll. Die derzeitigen Umgehungsmethoden erfordern eine öffentliche Bekanntgabe der privaten IP-Adresse der Edge-Geräte 103. Die Implementierung der hier offengelegten Technologie ermöglicht NAT-Traversal ohne die Notwendigkeit der öffentlichen Bekanntgabe von Adressinformationen und ohne die Notwendigkeit komplexer Traversal-Protokolle für Clients von Edge-Geräten 103 und Server-Geräten des Verwaltungsdienstes 102.
  • 2 ist ein Blockdiagramm, das eine beispielhafte Randgeräteverbindung 200 gemäß den Ausführungsformen der Technologie der vorliegenden Offenbarung zeigt. Das Beispiel für eine Edge-Device-Verbindung 200 dient nur der Veranschaulichung und ist nicht so zu verstehen, dass der Anwendungsbereich der Technologie nur auf die dargestellte Ausführungsform beschränkt ist. Der Einfachheit halber wird 2 in Bezug auf eine NAT-Traversal-Verbindung zwischen dem Verwaltungsdienst 102 und einem Randgerät 103c des verwalteten Beispielnetzes 100 von 1 erörtert. Bei gemeinsamen Verweisen zwischen den Figuren ist davon auszugehen, dass die Erörterung solcher Verweise in Bezug auf eine beliebige Figur gilt, sofern nicht ausdrücklich anders angegeben. Obwohl sich die Ausführungen auf ein einzelnes Edge-Gerät 103c beziehen, gelten sie für alle Edge-Geräte 103.
  • Wie in 2 dargestellt, befindet sich das Edge-Gerät 103c hinter der Firewall 105a innerhalb des Edge-Service-Netzwerks 104a. In verschiedenen Ausführungsformen kann das Edge-Gerät 103c ein Netzwerkgerät umfassen, das mit dem Edge-Service-Netzwerk 104a am Standort eines Kunden verbunden ist. Als nicht einschränkendes -Beispiel kann das Edge-Service-Netzwerk 104a einen Zweig der internen Netzwerkkonfiguration eines Kunden umfassen, und das Edge-Gerät 103c kann einen Server, einen Desktop, eine Computerstation, ein Point-of-Sale-System- (PoS) oder ein anderes Netzwerkgerät -umfassen. Das Edge-Gerät 103c kann über eine drahtgebundene und/oder drahtlose Verbindung mit der Firewall 105a verbunden sein. Als nicht einschränkendes -Beispiel kann das Edge-Gerät 103c mit der Firewall 105a über ein physisches Ethernet-Kabel von einem Port des Edge-Geräts 103c zu einem Port der Firewall 105a verbunden werden, während in anderen Ausführungsformen das Edge-Gerät 103c mit der Firewall 105a über eine WiFi-Verbindung -verbunden werden kann.
  • In verschiedenen Ausführungsformen kann der Edge-Client 202 ein Programm umfassen, das auf dem Edge-Gerät 103c läuft und so konfiguriert ist, dass es direkte Verbindungen mit einem Server des Verwaltungsdienstes 102 ermöglicht. Der Edge-Client 202 kann als ein Satz von nicht transitorischen-, maschinenlesbaren -Anweisungen ausgeführt werden, die von einem Prozessor oder einer anderen Verarbeitungsschaltung des Edge-Geräts 103c ausgeführt werden können. In verschiedenen Ausführungsformen ist der Edge-Client 202 kommunikativ mit einer oder mehreren Anwendungen 212 verbunden, die auf dem Edge-Gerät 103c laufen. In einigen Ausführungsformen kann die Anwendung 212 eine Netzwerkkonfigurationsanwendung umfassen, die Verwaltungsfunktionen für das Edge-Gerät 103c bereitstellt. Die Verwaltungsfunktionalität kann die Bereitstellung des Edge-Geräts 103c für den ordnungsgemäßen Betrieb innerhalb des Edge-Service-Netzwerks 104a mit den anderen Edge-Geräten (in 2 nicht dargestellt) des Edge-Service-Netzwerks 104a umfassen.
  • Um die Firewall 105 und das NAT-Protokoll zu umgehen, sendet der Edge-Client 202, der auf dem Edge-Gerät 103c läuft, eine Serververbindungsanfrage an eine Proxy-Komponente 204. Im Allgemeinen muss ein Edge-Client (wie der Edge-Client 202) ein NAT-Traversal-Protokoll verwenden, um die Firewall 105 zu umgehen, was voraussetzt, dass das Edge-Gerät, auf dem der Client ausgeführt wird (wie das Edge-Gerät 103c), seine private IP-Adresse öffentlich bekannt gibt. Außerdem stützen sich diese Protokolle in der Regel auf öffentlich zugängliche Server von Drittanbietern, was dazu führt, dass die private IP-Adresse des Edge-Geräts einem Server außerhalb der Kontrolle des Verwaltungsdienstes (wie dem Verwaltungsdienst 102) bekannt ist. Obwohl einige aktuelle NAT-Traversal-Protokolle einen gewissen Schutz gegen unbeabsichtigte Verwendungen bieten, ist die Adresse außerhalb des verwalteten Netzes immer noch öffentlich zugänglich. Um die öffentliche Offenlegung der privaten IP-Adresse zu vermeiden, werden bei der hier vorgestellten Technologie eindeutige private Namen verwendet, die es den Edge-Geräten ermöglichen, sich mit einer Proxy-Komponente des Verwaltungsdienstes (wie der Proxy-Komponente 220) zu verbinden, die als „Maninthemiddle-“ außerhalb der Firewall dient-, um das Traversal ohne die zusätzliche Komplexität der aktuellen NAT-Traversal-Protokolle zu ermöglichen.
  • Wie in 2 dargestellt, kann der Edge-Client 202 eine sichere Kommunikationsverbindung 231 mit der Proxy-Komponente 220 unter Verwendung eindeutiger Gerätekennungen herstellen. Bei aktuellen Traversal-Protokollen muss der Edge-Client 202 seine öffentliche -IP-Adresse erhalten-. Die Technologie der vorliegenden Offenlegung weist jedoch dem Edge-Client 202 und der Proxy-Komponente 220 einen eindeutigen Namen zu, so dass der Edge-Client 202 eine direkte Verbindung mit der Proxy-Komponente 220 herstellen kann, ohne dass ein spezielles NAT-Traversal-Protokoll erforderlich ist. In verschiedenen Ausführungsformen kann die sichere Kommunikationsverbindung 231 eine Transport Layer Security (TLS) Verbindung sein. In verschiedenen Ausführungsformen kann die sichere Kommunikationsverbindung 231 mit jedem in der Technik bekannten sicheren Kommunikationsansatz -hergestellt werden. Die sichere Kommunikationsverbindung 231 wird durch den Edge-Client 202 aufgebaut (d. h. es handelt sich um eine ausgehende Verbindung), wodurch die -Einweg-Verbindungsaufbau-Funktionalität der Firewall 105a erhalten bleibt-. Dadurch wird die Integrität des NAT-fähigen -Randdienstnetzes 104a -aufrechterhalten-.
  • In einigen Ausführungsformen kann der Edge-Client 202 eine Anforderung zum Aufbau der sicheren Kommunikationsverbindung 231 an die Proxy-Komponente 220 senden, wobei die Anforderung an die Proxy-Komponente 220 unter Verwendung des eindeutigen verwalteten Netzwerknamens, der der Proxy-Komponente 220 zugewiesen ist, gerichtet ist. Der Edge-Client 202 kann so konfiguriert sein, dass er den der Proxy-Komponente 220 zugewiesenen eindeutigen verwalteten Netzwerknamen kennt. In einigen Ausführungsformen kann der eindeutige verwaltete Netzwerkname in einem nicht-übertragbaren-, maschinenlesbaren -Speichermedium (in 2 nicht dargestellt) des Edge-Service-Netzwerks 104a gespeichert werden-. In verschiedenen Ausführungsformen kann das Speichermedium eine Speicherkomponente des Randgeräts 103c sein, während in einigen Ausführungsformen das Speichermedium eine gemeinsam genutzte Speicherressource des Randdienstnetzwerks 104a sein kann. In einigen Ausführungsformen können die eine oder die mehreren Anwendungen 212 so konfiguriert werden, dass sie den eindeutigen verwalteten Netzwerknamen kennen, der der Proxy-Komponente 220 zugewiesen ist, und diese Informationen dem Edge-Client 202 zur Verfügung stellen, wenn er versucht, eine Verbindung mit der Proxy-Komponente 220 herzustellen. In einigen Ausführungsformen kann der Edge-Client 202 den verwalteten Netzwerknamen, der der Proxy-Komponente 220 zugewiesen ist, während einer ersten Aktivierung des Edge-Clients 202 auf dem Edge-Gerät 103c identifizieren. Wenn ein Edge-Gerät dem Edge-Service-Netz 104a hinzugefügt wird, kann ein vordefinierter Aktivierungsprozess für den Edge-Client 202 zur Kommunikation mit mindestens einem Server 210 des Verwaltungsdienstes 102 durchgeführt werden. Während dieses vordefinierten Aktivierungsprozesses kann dem Edge-Client 202 und/oder den Anwendungen 212 der Name des verwalteten Netzwerks für eine oder mehrere Proxy-Komponenten 220 bekannt gemacht werden.
  • In verschiedenen Ausführungsformen umfasst der Verwaltungsdienst 102 die Proxy-Komponente 220 und den einen oder die mehreren Server 210. Wie in 2 gezeigt, können die Proxy-Komponente 220 und mindestens ein Server 210 -in einem Datenzentrum 240 untergebracht sein-. In verschiedenen Ausführungsformen kann die Proxy-Komponente 220 ein physisches Netzwerkgerät umfassen, einschließlich, aber nicht beschränkt auf einen Server, Router oder ein Gateway, das über einen physischen, dem Server zugewandten -Port der Proxy-Komponente 220 -mit dem Server 210 verbunden ist-. In einigen Ausführungsformen kann die Proxy-Komponente 220 ein virtuelles Netzwerkgerät umfassen, das auf demselben Server 210 oder einem anderen Server innerhalb des Rechenzentrums 240 läuft und über einen virtuellen, dem Server zugewandten -Port der Proxy-Komponente 220 mit dem Server 210 verbunden ist-. In verschiedenen Ausführungsformen ist die Proxy-Komponente 220 über einen einzigen serverzugewandten Port mit dem Server 210 verbunden-. In einigen Ausführungsformen kann die Proxy-Komponente 220 eine Vielzahl von serverzugewandten -Ports -umfassen-, wobei jeder serverzugewandte -Port einem Server 210 aus der Vielzahl der Server 210 des Verwaltungsdienstes 102 entspricht.
  • Nachdem der Edge-Client 202 eine sichere Kommunikationsverbindung 231 mit der Proxy-Komponente 220 hergestellt hat, kann eine Proxy-Verbindung 232 zwischen der Proxy-Komponente 220 und dem Server-Client 208 des Servers 210 hergestellt werden. In verschiedenen Ausführungsformen kann die Proxy-Komponente 220 dem Server-Client 208 anzeigen, dass der Edge-Client 202 des Edge-Geräts 103c versucht, eine Verbindung mit dem Server 210 herzustellen, und der Server-Client 208 kann die Proxy-Verbindung 232 herstellen. In anderen Ausführungsformen kann die Proxy-Komponente 220 als Reaktion auf den Aufbau der sicheren Kommunikationsverbindung 231 durch den Edge-Client 202 die Proxy-Verbindung 232 mit dem Server-Client 208 aufbauen. Die Proxy-Verbindung 232 kann zwischen dem Proxy-Port des Servers 210 und dem dem Server zugewandten -Port der Proxy-Komponente 220, die mit dem jeweiligen Server 210 verbunden ist, hergestellt werden-. In verschiedenen Ausführungsformen kann die Proxy-Verbindung 232 eine dauerhafte Verbindung zwischen dem Server 210 und der Proxy-Komponente 220 sein. In anderen Ausführungsformen kann die Proxy-Verbindung 232 zwischen dem Server-Client 208 und der Proxy-Komponente 220 hergestellt werden, wenn dies zur Erleichterung der Kommunikation (d. h. zum Senden und/oder Empfangen von Datenpaketen) oder zur Wiederherstellung der Verbindung mit der Proxy-Komponente 220 im Falle einer Unterbrechung erforderlich ist.
  • Der Server 210 kann in verschiedenen Ausführungsformen einen Server-Client 208 und Server-Ressourcen 216 umfassen. Jeder Server des Verwaltungsdienstes 102 ist so konfiguriert, dass er den Randgeräten 103 der Randdienstnetze 104 innerhalb des verwalteten Netzes 100 Ressourcen zur Verfügung stellt. In verschiedenen Ausführungsformen können die Server-Ressourcen 216 unter anderem Daten, die auf einem nicht-übertragbaren-, maschinenlesbaren -Speichermedium gespeichert sind-, auf das der Server 210 zugreifen kann, Rechenressourcen zur Durchführung einer oder mehrerer angeforderter Aktionen, Konfigurationsdaten für die Bereitstellung der Edge-Geräte 103, Steuerbetriebsdaten, Systemstatusüberwachungsdaten, Binärdaten und andere Arten angeforderter Daten umfassen. Der Server-Client 208 überträgt über die Proxy-Verbindung 232 ein oder mehrere Datenpakete an die Proxy-Komponente 220. In einigen Ausführungsformen ist der Server-Client 208 in der Lage, Datenpakete als Antwort auf eine Anforderung vom Edge-Client 202 zu übertragen, und in einigen Ausführungsformen ist der Server-Client 208 in der Lage, Datenpakete zu übertragen, die den Edge-Client 202 auffordern, eine Antwort (z. B. ein oder mehrere Datenpakete vom Server-Client 208 zu verarbeiten und eine auf der Verarbeitung basierende Antwort zurückzugeben) und/oder Steuerdaten bereitzustellen.
  • Nach dem Aufbau der Proxy-Verbindung 232 kann der Server-Client 208 eine Randverbindungsanfrage an die Proxy-Komponente 220 senden. Die Randverbindungsanforderung vom Server-Client 208 kann das Randgerät 103c identifizieren, zu dem eine Verbindung hergestellt werden soll. In verschiedenen Ausführungsformen kann zur Identifizierung des Edge-Geräts 103c der eindeutige verwaltete Netzwerkname verwendet werden, der dem Edge-Gerät 103c zugewiesen ist. Basierend auf dem identifizierten Edge-Gerät 103c kann die Proxy-Komponente 220 so konfiguriert werden, dass sie die Datenpakete vom Server-Client 208 an den Edge-Port -der Proxy-Komponente 220 weiterleitet-, über den der Edge-Client 202 des vorgesehenen Edge-Geräts 103c unter Verwendung der sicheren Kommunikationsverbindung 231 verbunden ist. Als Reaktion auf den Empfang der Randverbindungsanforderung vom Server-Client 208 kann die Proxy-Komponente 220 in verschiedenen Ausführungsformen eine Proxy-Bestätigung an den Server-Client 208 senden. Die an den Server-Client 208 gesendete Proxy-Bestätigung kann einen Hinweis darauf liefern, dass die Proxy-Komponente 220 den Routing-Pfad erfolgreich so eingestellt hat, dass der Server-Client 208 direkt mit dem Edge-Client 202 kommunizieren kann. Das heißt, die Proxy-Komponente 220 ist so konfiguriert, dass sie Daten, die über den serverzugewandten -Port der Proxy-Verbindung 232 empfangen werden-, an den edgezugewandten -Port der sicheren Kommunikationsverbindung 231 weiterleitet-.
  • In 4 ist ein Beispiel für den Nachrichtenfluss 400 dargestellt, der zeigt, wie der Verbindungsprozess in Übereinstimmung mit den Ausführungsformen der hier offengelegten Technologie ablaufen kann. Das Beispiel des Nachrichtenflusses 400 dient nur zur Veranschaulichung und sollte nicht als Einschränkung des Anwendungsbereichs der Technologie auf das dargestellte Beispiel verstanden werden.
  • Wie in 4 dargestellt, sind sowohl der Edge-Client als auch der Server-Client so konfiguriert, dass sie Nachrichten an die Proxy-Komponente weiterleiten und von ihr empfangen, um eine sichere Verbindung bzw. eine Proxy-Verbindung herzustellen. Nachdem die Verbindung hergestellt ist, kann der Edge-Client eine Server-Verbindungsanforderung an die Proxy-Komponente senden und verlangen, dass der Edge-Client mit einem identifizierten Server-Client des Verwaltungssystems verbunden wird. Der Server-Client kann auch eine Edge-Verbindungsanforderung an die Proxy-Komponente senden, um anzufordern, dass der Server-Client mit einem identifizierten Edge-Client verbunden ist. In verschiedenen Ausführungsformen kann der verwaltete Netzwerkname für den Edge-Client, die Proxy-Komponente und/oder den Server-Client in die von der Proxy-Komponente empfangenen Verbindungsanfragen aufgenommen werden. Wenn die Proxy-Komponente den Kommunikationspfad ordnungsgemäß konfiguriert hat, um Daten zwischen dem Server-Client und dem Edge-Client weiterzuleiten, kann die Proxy-Komponente eine Bestätigung an den Edge-Client und den Server-Client senden. Nach Erhalt der Bestätigung können sowohl der Edge-Client als auch der Server-Client über die Firewall miteinander kommunizieren, ohne dass ein spezielles, in der Technik bekanntes NAT-Traversal-Protokoll verwendet werden muss. Der Edge-Client, der Server-Client oder eine Kombination aus beiden kann Anfragen an den jeweils anderen senden. Wie im Beispiel von 4 gezeigt, sendet der Server-Client nach Erhalt der Verbindungsbestätigung von der Proxy-Komponente eine Edge-Request-Nachricht. Die Edge-Request-Nachricht kann Daten und/oder Befehle für den Edge-Client enthalten, um einen oder mehrere Prozesse in verschiedenen Ausführungsformen durchzuführen. In anderen Ausführungsformen kann der Edge-Client eine Server-Anforderungsnachricht ähnlich der Edge-Anforderungsnachricht senden. In einigen Ausführungsformen kann die zwischen dem Server-Client und dem Edge-Client aufgebaute Verbindung beendet werden, nachdem die Edge-Anforderungsnachricht an den Edge-Client gesendet und eine Edge-Antwortnachricht von diesem empfangen wurde.
  • Der Server-Client 208 und die Proxy-Komponente 220 kommunizieren unter Verwendung eines Server-Management-Protokolls. Nicht einschränkende -Beispiele für Server-Management-Protokolle sind das Redfish-Protokoll und andere Standardprotokolle, die für die Fernverwaltung und -überwachung von verteilten Netzwerkgeräten -entwickelt wurden, wie z. B. die von der Distributed Management Task Force (DMTF) veröffentlichten Protokolle. Durch die Verwendung eines oder mehrerer standardisierter Server-Management-Protokolle ermöglicht die Technologie der vorliegenden Erfindung NAT-Traversal, ohne dass zusätzliche, komplexe Traversal-Protokolle wie STUN, WebRTC, TURN und andere erforderlich sind. Die Server-Verwaltungsprotokolle werden im Allgemeinen bereits von den Netzwerkgeräten (z. B. den Servern 210, den Edge-Geräten 103c) intern verwendet, um die Funktionalität und Konfiguration der Geräte im verwalteten Netzwerk 100 zu verwalten. Dies reduziert den Overhead der Firmware, der für die Implementierung von NAT-Traversal innerhalb des verwalteten Netzwerks 100 erforderlich ist. Der Edge-Client 202 und der Server-Client 208 können beide so konfiguriert werden, dass sie das Server-Management-Protokoll implementieren. Durch diese Konfiguration des Edge-Clients 202 und des Server-Clients 208 sind der Server 210 und das Edge-Gerät 103c in der Lage, über die sichere Kommunikationsverbindung 231 unter Verwendung des Server-Management-Protokolls zu kommunizieren und dabei die Firewall 105a zu umgehen, ohne den eindeutigen verwalteten Netzwerknamen des Edge-Geräts 103c öffentlich bekannt zu geben.
  • Wie in 1 dargestellt, können die Randdienstnetze 104 und der Verwaltungsdienst 102 über ein öffentliches Netz 110 verbunden sein. In verschiedenen Ausführungsformen kann die in 2 beschriebene Proxy-Komponente 220 innerhalb des öffentlichen Netzes 110 angeordnet sein. Das heißt, die Proxy-Komponente 220 kann sich außerhalb desselben Rechenzentrums wie die Server 210 befinden, wobei die Proxy-Komponente 220 mit den Servern 210 über das öffentliche Netz 110 verbunden ist. 3 ist ein Blockdiagramm, das ein weiteres Beispiel für eine Edge-Device-Verbindung 300 in Übereinstimmung mit Ausführungsformen der Technologie der vorliegenden Offenbarung zeigt. Wie in 3 dargestellt, ist die Proxy-Komponente 220 zwischen dem Datenzentrum 240 und dem Randdienstnetz 104a angeordnet, wobei sich die Proxy-Komponente 220 innerhalb des öffentlichen Netzes 110 befindet. Obwohl die Proxy-Komponente 220 innerhalb des öffentlichen Netzes 110 angeordnet ist, kann es sich um ein privates Gerät handeln, das für Geräte außerhalb des verwalteten Netzes 100, das in Bezug auf 1 beschrieben wurde, nicht verfügbar ist. In solchen Ausführungsformen kann die Proxy-Komponente 220 über das öffentliche Netzwerk 110 (z. B. das Internet) eine Verbindung mit dem Randgerät 103c und dem Server 210 herstellen. Der Verbindungsprozess kann derselbe sein wie der in 2 beschriebene und der in 4 dargestellte Nachrichtenfluss.
  • 5 ist ein Beispiel für ein Verfahren 500 in Übereinstimmung mit Ausführungsformen der hier offengelegten Technologie. Das Beispielverfahren 500 dient nur zur Veranschaulichung und sollte nicht als Beschränkung des Anwendungsbereichs der Technologie auf das dargestellte Verfahren 500 verstanden werden. Das Beispielverfahren 500 kann NAT-Traversal unter Verwendung eines Server-Management-Protokolls ermöglichen. In verschiedenen Ausführungsformen kann das Verfahren 500 durch die Proxy-Komponente 220 implementiert werden, die in Bezug auf die 2 und 3 erörtert wurde. Wie in 5 gezeigt, kann das Verfahren 500 in Operation 502 durch den Empfang einer Serververbindungsanfrage von einem Edge-Client beginnen. Wie in den 2 und 3 beschrieben, kann der Edge-Client eine Serververbindungsanforderung an die Proxy-Komponente senden. In verschiedenen Ausführungsformen kann die Serververbindungsanforderung Teil des Aufbaus der sicheren Kommunikationsverbindung sein, die in den 2 und 3 beschrieben ist. In einigen Ausführungsformen kann die Serververbindungsanforderung als TLS-Verbindungsanforderung gesendet werden. Die Server-Verbindungsanforderung kann den eindeutigen verwalteten Netzwerknamen für die Proxy-Komponente enthalten, so dass der Edge-Client direkt eine Verbindung zu einem bekannten Dienststandort herstellen kann, ohne ein zusätzliches, komplexes NAT-Traversal-Protokoll wie STUN, TURN oder WebRTC verwenden zu müssen, um nur einige zu nennen.
  • Bei Operation 504 kann die Proxy-Komponente auch eine Randverbindungsanforderung von einem Server-Client eines Servers empfangen. In einigen Ausführungsformen kann eine dauerhafte Proxy-Verbindung zwischen der Proxy-Komponente und dem Server-Client einmal aufgebaut werden und offen bleiben. In einigen Ausführungsformen kann die Proxy-Komponente nach dem Empfang der Server-Verbindungsanforderung in Operation 502 die Proxy-Verbindung mit einem der Proxy-Komponente zugeordneten Server herstellen. In verschiedenen Ausführungsformen können der Edge-Client und der Server-Client Datenpakete in Übereinstimmung mit dem in der Implementierung verwendeten Server-Verwaltungsprotokoll senden, wobei die Proxy-Komponente die Übertragung der Datenpakete ohne Änderung erleichtert.
  • In Operation 506 konfiguriert die Proxy-Komponente einen Pfad von einem dem Server zugewandten -Port der Proxy-Komponente zu einem dem Rand zugewandten -Port der Proxy-Komponente auf der Grundlage der Server-Verbindungsanforderung und der RandVerbindungsanforderung. Die Proxy-Komponente kann den beabsichtigten Server und das beabsichtigte Randgerät auf der Grundlage der Server-Verbindungsanforderung bzw. der Randverbindungsanforderung identifizieren. Die Proxy-Komponente kann einen Pfad so konfigurieren, dass Daten, die an einem -dem beabsichtigten Edge-Gerät zugeordneten Edge-Port empfangen werden-, an den dem -beabsichtigten Server zugeordneten Server--Port weitergeleitet werden -und vice versa. Sobald der Pfad konfiguriert ist, kann die Proxy-Komponente bei Vorgang 508 eine Proxy-Bestätigung sowohl an den Server-Client als auch an den Edge-Client senden. Die Bestätigungsnachricht zeigt dem Edge-Client und dem Server-Client an, dass der Pfad für die Übertragung von Datenpaketen bereit ist.
  • Bei Operation 510 kann die Proxy-Komponente ein oder mehrere Datenpakete empfangen. Das eine oder die mehreren Datenpakete können entweder von dem Edge-Client oder dem Server-Client empfangen werden. In einigen Ausführungsformen können das eine oder die mehreren Datenpakete eine Anforderung vom Edge-Client oder vom Server-Client umfassen, und in einigen Ausführungsformen können das eine oder die mehreren Datenpakete Daten umfassen, die auf eine zuvor empfangene Anforderung reagieren. In einigen Ausführungsformen kann die Server-Verbindungsanforderung und/oder die Edge-Verbindungsanforderung eine Anforderung von Daten oder der Nutzung von Ressourcen enthalten, und die Proxy-Komponente kann so konfiguriert sein, dass sie die Server-Verbindungsanforderung oder die Edge-Verbindungsanforderung an ihren jeweiligen Empfänger übermittelt, zusätzlich zur Verwendung der Verbindungsanforderungen, um den Pfad für die direkte Kommunikation zwischen dem Server-Client und dem Edge-Client herzustellen.
  • Die Proxy-Komponente kann ein oder mehrere empfangene Datenpakete von einem ersten Port zu einem zweiten Port des konfigurierten Pfads bei Operation 512 weiterleiten. Der erste Port kann der dem Server zugewandte -Port der Proxy-Komponente sein-, wenn das empfangene eine oder die mehreren Datenpakete über die Proxy-Verbindung vom Server-Client empfangen werden, während der erste Port der dem Rand zugewandte -Port der Proxy-Komponente -sein kann-, wenn das empfangene eine oder die mehreren Datenpakete über die sichere Kommunikationsverbindung vom Rand-Client empfangen werden. Die Richtung, in der die empfangenen Datenpakete weitergeleitet werden, hängt von dem Anschluss der Proxy-Komponente ab, an dem die Datenpakete empfangen werden. Die empfangenen Datenpakete können in Übereinstimmung mit dem im verwalteten Netzwerk implementierten Server-Management-Protokoll empfangen werden. Als nicht einschränkendes -Beispiel können die ein oder mehreren empfangenen Datenpakete einen oder mehrere Redfish-Aufrufe umfassen. Der empfangende Client (entweder der Edge-Client oder der Server-Client) kann so konfiguriert sein, dass er die Datenpakete des Server-Management-Protokolls interpretiert. In einigen Ausführungsformen kann der Edge-Client so konfiguriert sein, dass er die von der Proxy-Komponente empfangenen Datenpakete an eine oder mehrere Anwendungen -weiterleitet, die auf dem Edge-Gerät laufen, ähnlich wie die in den 2 und 3 gezeigte Anwendung 212.
  • In verschiedenen Ausführungsformen müssen Datenpakete möglicherweise mehrmals zwischen dem Edge-Client und dem Server-Client ausgetauscht werden. Die Proxy-Komponente kann so konfiguriert werden, dass sie feststellt, ob eine Endverbindungsanforderung empfangen wird. Wenn keine Endverbindungsanforderung empfangen wird, kann das Verfahren 500 zum Vorgang 510 zurückkehren, um ein oder mehrere zusätzliche Datenpakete zu empfangen. Wenn eine Verbindungsendeanforderung empfangen wird, kann die Kommunikationsverbindung zwischen dem Server-Client und dem Edge-Client in Vorgang 514 beendet werden. In verschiedenen Ausführungsformen kann das Beenden der Kommunikationsverbindung das Beenden der Routenkonfiguration der Proxykomponente umfassen, während in anderen Ausführungsformen das Beenden der Kommunikationsverbindung das Beenden der Proxykommunikation und/oder der sicheren Kommunikationsverbindung umfassen kann.
  • 6 ist ein Beispiel für eine Computerplattform 600 in Übereinstimmung mit Ausführungsformen der vorliegenden Offenbarung. Wo Operationen und Funktionen der Computerplattform 600 denen ähnlich sind, die in Bezug auf FIG. -15 diskutiert werden-, sollte die Beschreibung als zutreffend interpretiert werden. In verschiedenen Ausführungsformen kann die Computerplattform 600 der Proxy-Komponente 220, dem Server 210 und/oder dem Edge-Gerät 103 ähnlich sein, die in den 1-5 beschrieben sind. Die Datenverarbeitungsplattform 600 umfasst Hardware-Prozessoren 602. In einigen Ausführungsformen können die Hardware-Prozessoren 602 eine oder mehrere Verarbeitungsschaltungen umfassen, die so konfiguriert sind, dass sie einen Client ausführen und/oder Datenpakete zwischen den Ports der Computerplattform 600 weiterleiten.
  • Die Hardware-Prozessoren 602 sind so konfiguriert, dass sie Anweisungen ausführen, die auf einem maschinenlesbaren -Medium 604 gespeichert sind-. Bei dem maschinenlesbaren -Medium 604 kann es sich um eine oder mehrere Arten von nicht-übertragbaren -Computerspeichermedien -handeln-. Zu den nicht einschränkenden -Beispielen gehören: Flash-Speicher, Solid-State-Speichergeräte (SSDs), ein Storage Area Network (SAN), herausnehmbarer Speicher (z. B. Memory Stick, CS, SD-Karten usw.) oder interner Computer-RAM oder -ROM, neben anderen Arten von Computerspeichermedien. In verschiedenen Ausführungsformen -kann das maschinenlesbare -Medium 604 dem nicht transitorischen -maschinenlesbaren -Speichermedium -ähneln, das im Zusammenhang mit -FIG. -15- erörtert wurde-. Die auf dem maschinenlesbaren Speichermedium 604 -gespeicherten Befehle können verschiedene Unterbefehle -zur Ausführung der in FIG. -15- beschriebenen Funktionalität enthalten-. Zum Beispiel kann die Anweisung „Aufbau einer sicheren Kommunikationsverbindung“ 606 verschiedene Unteranweisungen -zum Aufbau einer TLS- oder einer anderen sicheren Verbindung in ähnlicher Weise wie oben in Bezug auf FIG. -15- beschrieben -enthalten-. In verschiedenen Ausführungsformen kann die Anweisung 606 von einem Edge-Client eines Edge-Geräts oder einer Proxy-Komponente eines Verwaltungsdienstes ausgeführt werden. Die Anweisung „Aufbau einer Proxy-Verbindung“ 608 kann verschiedene Unteranweisungen -zum Aufbau einer Verbindung zwischen der Proxy-Komponente und dem Server-Client eines Servers in ähnlicher Weise enthalten-, wie sie oben in Bezug auf FIG. -15- beschrieben wurden-. In verschiedenen Ausführungsformen kann der Befehl 608 von der Proxy-Komponente oder dem Server-Client eines Servers ausgeführt werden.
  • Die Anweisung „Empfang einer Serververbindungsanforderung“ 610 kann eine oder mehrere Unteranweisungen -für den Empfang von Datenpaketen von einem Edge-Client in ähnlicher Weise enthalten-, wie oben in Bezug auf FIG. -15- beschrieben-. In verschiedenen Ausführungsformen -können -die Unterbefehle -außerdem Unterbefehle -für die Kommunikation mit einem Server-Management-Protokoll enthalten. Die Anweisung „receive an edge connection request“ 612 kann eine oder mehrere Unteranweisungen -zum Empfangen von Datenpaketen von einem Server-Client in ähnlicher Weise wie oben in Bezug auf FIG. -15- beschrieben -enthalten-. In verschiedenen Ausführungsformen kann die Anweisung 612 außerdem Unteranweisungen -für die Kommunikation mit einem Server-Management-Protokoll enthalten. Die Anweisung „Konfiguriere einen Pfad von einem ersten Proxy-Port zu einem zweiten Proxy-Port“ 614 kann eine oder mehrere Unteranweisungen -zum Konfigurieren eines Pfades von einem dem Server zugewandten -Port zu einem dem Rand zugewandten -Port der Proxy-Komponente in einer ähnlichen Weise wie in FIG. -15- beschrieben enthalten-. Die Anweisung „Senden eines oder mehrerer Datenpakete unter Verwendung eines Server-Verwaltungsprotokolls“ 616 kann eine oder mehrere Unteranweisungen -zur Kommunikation unter Verwendung eines Server-Verwaltungsprotokolls in einer ähnlichen Weise wie in FIG. -15- beschrieben enthalten-.
  • 7 zeigt ein Blockdiagramm eines beispielhaften Computersystems 700, in dem verschiedene der hier beschriebenen Ausführungsformen implementiert werden können. Das Computersystem 700 umfasst einen Bus 702 oder einen anderen Kommunikationsmechanismus zur Übermittlung von Informationen sowie einen oder mehrere Hardware-Prozessoren 704, die zur Verarbeitung von Informationen mit dem Bus 702 verbunden sind. Bei dem/den Hardware-Prozessor(en) 704 kann es sich zum Beispiel um einen oder mehrere Allzweck-Mikroprozessoren handeln.
  • Das Computersystem 700 umfasst auch einen Hauptspeicher 706, z. B. einen Speicher mit wahlfreiem Zugriff (RAM), einen Cache und/oder andere dynamische Speichergeräte, die mit dem Bus 702 verbunden sind, um Informationen und Anweisungen zu speichern, die vom Prozessor 704 ausgeführt werden sollen. Der Hauptspeicher 706 kann auch zum Speichern von temporären Variablen oder anderen Zwischeninformationen während der Ausführung von Anweisungen verwendet werden, die vom Prozessor 704 ausgeführt werden sollen. Solche Befehle, die in Speichermedien gespeichert sind, auf die der Prozessor 704 zugreifen kann, machen das Computersystem 700 zu einer Spezialmaschine, die so angepasst ist, dass sie die in den Befehlen angegebenen Operationen ausführen kann.
  • Das Computersystem 700 umfasst außerdem einen Festwertspeicher (ROM) 708 oder ein anderes statisches Speichergerät, das mit dem Bus 702 verbunden ist, um statische Informationen und Anweisungen für den Prozessor 704 zu speichern. Ein Speichergerät 710, wie z. B. eine Magnetplatte, eine optische Platte oder ein USB-Stick (Flash-Laufwerk) usw., ist vorgesehen und mit dem Bus 702 verbunden, um Informationen und Anweisungen zu speichern.
  • Das Computersystem 700 kann über den Bus 702 mit einer Anzeige 712, z. B. einer Flüssigkristallanzeige (LCD) (oder einem Berührungsbildschirm), verbunden sein, um einem Computerbenutzer Informationen anzuzeigen. Ein Eingabegerät 714, einschließlich alphanumerischer und anderer Tasten, ist mit dem Bus 702 gekoppelt, um Informationen und Befehlsauswahlen an den Prozessor 704 zu übermitteln. Eine andere Art von Benutzereingabegerät ist die Cursorsteuerung 716, wie z. B. eine Maus, ein Trackball oder Cursorrichtungstasten zur Übermittlung von Richtungsinformationen und Befehlsauswahlen an den Prozessor 704 und zur Steuerung der Cursorbewegung auf dem Display 712. In einigen Ausführungsformen können die gleichen Richtungsinformationen und Befehlsauswahlen wie bei der Cursorsteuerung über den Empfang von Berührungen auf einem Touchscreen ohne Cursor implementiert werden.
  • Das Computersystem 700 kann ein Benutzerschnittstellenmodul enthalten, um eine grafische Benutzeroberfläche zu implementieren, die in einem Massenspeichergerät als ausführbare Softwarecodes gespeichert werden kann, die von dem/den Computergerät(en) ausgeführt werden. Dieses und andere Module können beispielsweise Komponenten wie Softwarekomponenten, objektorientierte Softwarekomponenten, Klassenkomponenten und Aufgabenkomponenten, Prozesse, Funktionen, Attribute, Prozeduren, Unterprogramme, Segmente von Programmcode, Treiber, Firmware, Mikrocode, Schaltkreise, Daten, Datenbanken, Datenstrukturen, Tabellen, Arrays und Variablen umfassen.
  • Im Allgemeinen kann sich der hier verwendete Begriff „Komponente“, „Engine“, „System“, „Datenbank“, „Datenspeicher“ und dergleichen auf eine in Hardware oder Firmware verkörperte Logik oder auf eine Sammlung von Softwareanweisungen beziehen, die möglicherweise Ein- und Ausstiegspunkte haben und in einer Programmiersprache wie z. B. Java, C oder C++ geschrieben sind. Eine Softwarekomponente kann kompiliert und zu einem ausführbaren Programm verknüpft werden, in einer dynamischen Link-Bibliothek installiert werden oder in einer interpretierten Programmiersprache wie BASIC, Perl oder Python geschrieben sein. Es ist klar, dass Softwarekomponenten von anderen Komponenten oder von sich selbst aus aufgerufen werden können und/oder als Reaktion auf erkannte Ereignisse oder Unterbrechungen aufgerufen werden können. Softwarekomponenten, die für die Ausführung auf Computergeräten konfiguriert sind, können auf einem computerlesbaren Medium, wie z. B. einer Compact Disc, einer digitalen Videodisc, einem Flash-Laufwerk, einer Magnetplatte oder einem anderen greifbaren Medium, oder als digitaler Download bereitgestellt werden (und können ursprünglich in einem komprimierten oder installierbaren Format gespeichert sein, das vor der Ausführung eine Installation, Dekomprimierung oder Entschlüsselung erfordert). Ein solcher Softwarecode kann teilweise oder vollständig in einem Speicher des ausführenden Computergeräts zur Ausführung durch das Computergerät gespeichert werden. Softwareanweisungen können in Firmware, wie z. B. einem EPROM, eingebettet sein. Darüber hinaus können die Hardwarekomponenten aus verbundenen Logikeinheiten wie Gattern und Flipflops und/oder aus programmierbaren Einheiten wie programmierbaren Gatteranordnungen oder Prozessoren bestehen.
  • Das Computersystem 700 kann die hierin beschriebenen Techniken unter Verwendung von kundenspezifischer festverdrahteter Logik, einem oder mehreren ASICs oder FPGAs, Firmware und/oder Programmlogik implementieren, die in Kombination mit dem Computersystem bewirkt oder programmiert, dass das Computersystem 700 eine Spezialmaschine ist. Gemäß einer Ausführungsform werden die hierin beschriebenen Techniken vom Computersystem 700 als Reaktion auf den/die Prozessor(en) 704 ausgeführt, der/die eine oder mehrere Sequenzen von einem oder mehreren im Hauptspeicher 706 enthaltenen Befehlen ausführt/ausführen. Solche Anweisungen können in den Hauptspeicher 706 von einem anderen Speichermedium, wie z. B. dem Speichergerät 710, eingelesen werden. Die Ausführung der im Hauptspeicher 706 enthaltenen Befehlssequenzen veranlasst den/die Prozessor(en) 704, die hier beschriebenen Prozessschritte durchzuführen. In alternativen Ausführungsformen können festverdrahtete Schaltungen anstelle von oder in Kombination mit Softwareanweisungen verwendet werden.
  • Der Begriff „nichtflüchtige Medien“ und ähnliche Begriffe, wie sie hier verwendet werden, beziehen sich auf alle Medien, die Daten und/oder Befehle speichern, die eine Maschine in einer bestimmten Weise arbeiten lassen. Solche nichtflüchtigen Medien können nichtflüchtige Medien und/oder flüchtige Medien umfassen. Zu den nichtflüchtigen Medien gehören beispielsweise optische oder magnetische Festplatten, wie die Speichervorrichtung 710. Zu den flüchtigen Medien gehören dynamische Speicher, wie der Hauptspeicher 706. Zu den gängigen Formen nichtflüchtiger Medien gehören beispielsweise Disketten, flexible Platten, Festplatten, Solid-State-Laufwerke, Magnetbänder oder andere magnetische Datenspeichermedien, CD-ROMs, andere optische Datenspeichermedien, physische Medien mit Lochmustern, RAM, PROM und EPROM, FLASH-EPROM, NVRAM, andere Speicherchips oder -kassetten sowie deren vernetzte Versionen.
  • Nicht-transitorische Medien unterscheiden sich von Übertragungsmedien, können aber in Verbindung mit ihnen verwendet werden. Übertragungsmedien sind an der Übertragung von Informationen zwischen nicht-transitorischen Medien beteiligt. Zu den Übertragungsmedien gehören z. B. Koaxialkabel, Kupfer- und Glasfaserkabel, einschließlich der Drähte, aus denen der Bus 702 besteht. Übertragungsmedien können auch in Form von Schall- oder Lichtwellen auftreten, wie sie bei der Datenkommunikation über Funk und Infrarot erzeugt werden.
  • Das Computersystem 700 umfasst auch eine Kommunikationsschnittstelle 718, die mit dem Bus 702 verbunden ist. Die Netzwerkschnittstelle 718 stellt eine Zwei-Wege-Datenkommunikationsverbindung zu einer oder mehreren Netzwerkverbindungen her, die mit einem oder mehreren lokalen Netzwerken verbunden sind. Bei der Kommunikationsschnittstelle 718 kann es sich beispielsweise um eine ISDN-Karte (Integrated Services Digital Network), ein Kabelmodem, ein Satellitenmodem oder ein Modem handeln, um eine Datenkommunikationsverbindung zu einer entsprechenden Art von Telefonleitung herzustellen. Ein weiteres Beispiel: Die Netzwerkschnittstelle 718 kann eine LAN-Karte (Local Area Network) sein, um eine Datenkommunikationsverbindung zu einem kompatiblen LAN (oder einer WAN-Komponente zur Kommunikation mit einem WAN) herzustellen. Es können auch drahtlose Verbindungen implementiert werden. In jeder dieser Implementierungen sendet und empfängt die Netzwerkschnittstelle 718 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme mit verschiedenen Informationstypen übertragen.
  • Eine Netzverbindung ermöglicht in der Regel die Datenkommunikation über ein oder mehrere Netze zu anderen Datengeräten. So kann eine Netzverbindung beispielsweise eine Verbindung über ein lokales Netz zu einem Host-Computer oder zu Datengeräten eines Internetdienstanbieters (ISP) herstellen. Der ISP wiederum bietet Datenkommunikationsdienste über das weltweite Paketdatenkommunikationsnetz an, das heute gemeinhin als „Internet“ bezeichnet wird. Sowohl das lokale Netz als auch das Internet verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen. Die Signale über die verschiedenen Netze und die Signale auf der Netzverbindung und über die Kommunikationsschnittstelle 718, die die digitalen Daten zum und vom Computersystem 700 übertragen, sind Beispiele für Übertragungsmedien.
  • Das Computersystem 700 kann über das/die Netzwerk(e), die Netzwerkverbindung und die Kommunikationsschnittstelle 718 Nachrichten senden und Daten, einschließlich Programmcode, empfangen. In dem Internet-Beispiel könnte ein Server einen angeforderten Code für ein Anwendungsprogramm über das Internet, den ISP, das lokale Netzwerk und die Kommunikationsschnittstelle 718 übertragen.
  • Der empfangene Code kann vom Prozessor 704 bei seinem Empfang ausgeführt und/oder in der Speichervorrichtung 710 oder einem anderen nichtflüchtigen Speicher zur späteren Ausführung gespeichert werden.
  • Jeder der in den vorstehenden Abschnitten beschriebenen Prozesse, Methoden und Algorithmen kann in Code-Komponenten verkörpert und vollständig oder teilweise durch diese automatisiert werden, die von einem oder mehreren Computersystemen oder Computerprozessoren mit Computerhardware ausgeführt werden. Das eine oder die mehreren Computersysteme oder Computerprozessoren können auch so betrieben werden, dass sie die Ausführung der entsprechenden Vorgänge in einer „Cloud Computing“-Umgebung oder als „Software as a Service“ (SaaS) unterstützen. Die Prozesse und Algorithmen können teilweise oder vollständig in anwendungsspezifischen Schaltkreisen implementiert sein. Die verschiedenen oben beschriebenen Merkmale und Verfahren können unabhängig voneinander verwendet oder auf verschiedene Weise kombiniert werden. Verschiedene Kombinationen und Unterkombinationen sollen in den Anwendungsbereich dieser Offenlegung fallen, und bestimmte Verfahrens- oder Prozessblöcke können in einigen Implementierungen weggelassen werden. Die hier beschriebenen Methoden und Prozesse sind auch nicht auf eine bestimmte Reihenfolge beschränkt, und die damit verbundenen Blöcke oder Zustände können in anderen geeigneten Reihenfolgen, parallel oder auf andere Weise ausgeführt werden. Blöcke oder Zustände können zu den offengelegten Beispielen hinzugefügt oder aus ihnen entfernt werden. Die Ausführung bestimmter Operationen oder Prozesse kann auf Computersysteme oder Computerprozessoren verteilt werden, die sich nicht nur in einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen verteilt sind.
  • Wie hierin verwendet, kann eine Schaltung in jeder Form von Hardware, Software oder einer Kombination davon implementiert werden. Beispielsweise können ein oder mehrere Prozessoren, Controller, ASICs, PLAs, PALs, CPLDs, FPGAs, logische Komponenten, Software-Routinen oder andere Mechanismen implementiert werden, um eine Schaltung zu bilden. Bei der Implementierung können die verschiedenen hier beschriebenen Schaltungen als diskrete Schaltungen implementiert werden, oder die beschriebenen Funktionen und Merkmale können teilweise oder insgesamt auf eine oder mehrere Schaltungen aufgeteilt werden. Auch wenn verschiedene Merkmale oder Funktionselemente einzeln als separate Schaltungen beschrieben oder beansprucht werden, können diese Merkmale und Funktionen von einer oder mehreren gemeinsamen Schaltungen gemeinsam genutzt werden, und eine solche Beschreibung soll nicht voraussetzen oder implizieren, dass separate Schaltungen erforderlich sind, um diese Merkmale oder Funktionen zu implementieren. Wenn eine Schaltung ganz oder teilweise mit Software implementiert ist, kann diese Software so implementiert werden, dass sie mit einem Computer- oder Verarbeitungssystem arbeitet, das in der Lage ist, die beschriebene Funktionalität auszuführen, wie z. B. das Computersystem 700.
  • Wie hierin verwendet, kann der Begriff „oder“ sowohl im einschließenden als auch im ausschließenden Sinne verstanden werden. Darüber hinaus ist die Beschreibung von Ressourcen, Vorgängen oder Strukturen im Singular nicht so zu verstehen, dass der Plural ausgeschlossen wird. Bedingte Ausdrücke, wie z. B. „kann“, „könnte“, „könnte“ oder „darf“, sollen im Allgemeinen vermitteln, dass bestimmte Ausführungsformen bestimmte Merkmale, Elemente und/oder Schritte einschließen, während andere Ausführungsformen diese nicht einschließen, es sei denn, es ist ausdrücklich etwas anderes angegeben oder im Zusammenhang mit der Verwendung anders zu verstehen.
  • Die in diesem Dokument verwendeten Begriffe und Ausdrücke sowie deren Abwandlungen sind, sofern nicht ausdrücklich etwas anderes angegeben ist, nicht als einschränkend, sondern als offen zu verstehen. Adjektive wie „konventionell“, „traditionell“, „normal“, „Standard“, „bekannt“ und Begriffe mit ähnlicher Bedeutung sind nicht so zu verstehen, dass sie den beschriebenen Gegenstand auf einen bestimmten Zeitraum oder auf einen zu einem bestimmten Zeitpunkt verfügbaren Gegenstand beschränken, sondern sollten so verstanden werden, dass sie konventionelle, traditionelle, normale oder Standardtechnologien umfassen, die jetzt oder zu einem beliebigen Zeitpunkt in der Zukunft verfügbar oder bekannt sein können. Das Vorhandensein erweiternder Wörter und Ausdrücke wie „eine oder mehrere“, „mindestens“, „aber nicht beschränkt auf“ oder ähnliche Ausdrücke in einigen Fällen ist nicht so zu verstehen, dass der engere Fall beabsichtigt oder erforderlich ist, wenn solche erweiternden Ausdrücke nicht vorhanden sind.

Claims (19)

  1. Ein Verfahren, das Folgendes umfasst: Empfangen, durch eine Proxy-Komponente, einer Serververbindungsanforderung von einem Edge-Client, der auf einem oder mehreren Edge-Clientgeräten läuft die über eine Firewall mit einem öffentlichen Netzwerk verbunden sind, wobei die Anforderung eine Anforderung ist eine Verbindung zu einem angeforderten Server-Client herzustellen, der auf einem oder mehreren Netzwerkgeräten läuft, die mit dem öffentlichen Netzwerk verbunden sind, und der so konfiguriert ist, dass er einen Dienst bereitstellt, wobei die Serververbindungsanforderung durch eine Firewall an die Proxy-Komponente gesendet wird; Identifizierung des angeforderten Server-Clients durch die Proxy-Komponente auf der Grundlage der Server-Verbindungsanforderung; Aufbau einer Proxy-Verbindung mit dem angeforderten Server-Client durch die Proxy-Komponente; Empfangen eines oder mehrerer Datenpakete von dem angeforderten Server-Client durch die Proxy-Komponente; und Weiterleitung des einen oder der mehreren Datenpakete durch die Proxy-Komponente an den Edge-Client, wobei die Kommunikation zwischen dem Edge-Client und dem Server-Client unter Verwendung eines Server-Management-Protokolls erfolgt; und wobei die Proxy-Komponente eine virtuelle Komponente umfasst, die auf demselben Netzwerkgerät wie der Server-Client läuft, wobei die Proxy-Komponente über einen virtuellen, dem Server zugewandten Port mit dem Server-Client kommunikativ verbunden ist, und die Proxy-Komponente über einen physischen, der Edge zugewandten Port des Netzwerkgeräts über das öffentliche Netzwerk mit dem Edge-Client kommunikativ verbunden ist.
  2. Verfahren nach Anspruch 1, wobei die Firewall eine Network Address Translation (NAT)-Firewall umfasst, die so konfiguriert ist, dass sie ausgehende Verbindungen ermöglicht und eingehende Verbindungen sperrt.
  3. Verfahren nach Anspruch 1, wobei die Proxy-Komponente zusammen mit dem Server-Client untergebracht ist.
  4. Verfahren nach Anspruch 3, wobei die Proxy-Komponente und der Server-Client in einem Rechenzentrum angeordnet sind.
  5. Verfahren nach Anspruch 1, ferner umfassend das Senden der Server-Verbindungsanforderung an den Server-Client durch die Proxy-Komponente über die Proxy-Verbindung.
  6. Verfahren nach Anspruch 1 ferner umfassend die Herstellung einer sicheren Kommunikationsverbindung zwischen dem Edge-Client und der Proxy-Komponente.
  7. Verfahren nach Anspruch 6, wobei die Firewall so konfiguriert ist, dass sie die sichere Kommunikationsverbindung zwischen der Proxy-Komponente und dem Edge-Client ermöglicht.
  8. Verfahren nach Anspruch 1, ferner umfassend den Empfang einer Datenanforderung vom Edge-Client durch die Proxy-Komponente, die das eine oder die mehreren Datenpakete identifiziert.
  9. Verfahren nach Anspruch 1, ferner umfassend: Empfangen eines oder mehrerer übertragener Datenpakete von dem Edge-Client durch die Proxy-Komponente, wobei das eine oder die mehreren übertragenen Datenpakete an den Server-Client adressiert sind; und Weiterleitung des einen oder der mehreren übertragenen Datenpakete vom Edge-Client zum Server-Client durch die Proxy-Komponente über eine sichere Kommunikationsverbindung.
  10. Verfahren nach Anspruch 9, wobei das Weiterleiten des einen oder der mehreren übertragenen Datenpakete das Weiterleiten des einen oder der mehreren übertragenen Datenpakete, die an einem Randanschluss der Proxy-Komponente empfangen wurden, an einen Serveranschluss der Proxy-Komponente umfasst.
  11. Verfahren nach Anspruch 1, wobei der Server-Client so konfiguriert ist, dass er mit einer Vielzahl von Edge-Clients über eine gleiche Proxy-Verbindung über einen Server-zugewandten Port der Proxy-Komponente kommuniziert.
  12. Verfahren nach Anspruch 1, wobei der Edge-Client ein -Out-of-Band-Management-System umfasst.
  13. Ein System, das Folgendes umfasst: einen Edge-Client, der auf einem oder mehreren Edge-Geräten eines Edge-Netzwerks läuft, wobei das Edge-Netzwerk über eine Firewall mit einem öffentlichen Netzwerk verbunden ist, wobei das eine oder die mehreren Edge-Geräte einen Prozessor umfassen, der mit einem nicht-flüchtigen Speicher verbunden ist, der durch einen Prozessor ausführbare Anweisungen speichert; einen Server-Client, der auf einem oder mehreren Netzwerkgeräten an einem Service-Hub läuft und mit dem öffentlichen Netzwerk verbunden ist, wobei das eine oder die mehreren Netzwerkgeräte einen Prozessor umfassen, der mit einem nicht-flüchtigen Speicher verbunden ist, der durch einen Prozessor ausführbare Anweisungen speichert; und eine Proxy-Komponente, die operativ mit dem Server-Client verbunden ist, wobei der Edge-Client und der Server-Client so konfiguriert sind, dass sie über die Proxy-Komponente unter Verwendung eines Server-Management-Protokolls kommunizieren, das sowohl auf einem Edge-Gerät, auf dem der Edge-Client läuft, als auch auf einem Server-Gerät, auf dem der Server-Client läuft, konfiguriert ist; und wobei die Proxy-Komponente eine virtuelle Komponente umfasst, die auf demselben Netzwerkgerät wie der Server-Client läuft, wobei die Proxy-Komponente über einen virtuellen, dem Server zugewandten Port mit dem Server-Client kommunikativ verbunden ist, und die Proxy-Komponente über einen physischen, der Edge zugewandten Port des Netzwerkgeräts über das öffentliche Netzwerk mit dem Edge-Client kommunikativ verbunden ist.
  14. System nach Anspruch 13, wobei die Proxy-Komponente ein zwischengeschaltetes Netzwerkgerät umfasst, das über das öffentliche Netzwerk mit dem einen oder den mehreren Kundengeräten und dem einen oder den mehreren Netzwerkgeräten kommuniziert.
  15. System nach Anspruch 14, wobei die Proxy-Komponente mit dem Server-Client über einen dem Server zugewandten -Port der Proxy-Komponente über das öffentliche Netz kommunikativ gekoppelt ist -und die Proxy-Komponente mit dem Edge-Client über einen dem Edge zugewandten -Port der Proxy-Komponente über das öffentliche Netz -kommunikativ gekoppelt ist-.
  16. System nach Anspruch 13, wobei die Firewall eine Network Address Translation (NAT)-Firewall umfasst, die so konfiguriert ist, dass sie ausgehende Verbindungen von der Kundenvorrichtung ermöglicht und eingehende Verbindungen zu der Kundenvorrichtung sperrt.
  17. System nach Anspruch 13, wobei der Edge-Client so konfiguriert ist, dass er auf einem Baseboard Management Controller (BMC) auf dem einen oder den mehreren Kundengeräten läuft.
  18. Ein System, umfassend: einen Edge-Client, der auf einem oder mehreren Edge-Geräten eines Edge-Netzwerks läuft, wobei das Edge-Netzwerk über eine Firewall mit einem öffentlichen Netzwerk verbunden ist, wobei das eine oder die mehreren Edge-Geräte einen Prozessor umfassen, der mit einem nicht- flüchtigen Speicher verbunden ist der durch einen Prozessor ausführbare Anweisungen speichert; einen Server-Client, der auf einem oder mehreren Netzwerkgeräten an einem Service-Hub läuft und mit dem öffentlichen Netzwerk verbunden ist, wobei das eine oder die mehreren Netzwerkgeräte einen Prozessor umfassen, der mit einem nicht-flüchtigen Speicher verbunden ist der durch einen Prozessor ausführbare Anweisungen speichert; und eine Proxy-Komponente, die operativ mit dem Server-Client verbunden ist, wobei der Edge-Client und der Server-Client so konfiguriert sind, dass sie über die Proxy-Komponente unter Verwendung eines Server-Management-Protokolls kommunizieren, das sowohl auf einem Edge-Gerät, auf dem der Edge-Client läuft, als auch auf einem Server-Gerät, auf dem der Server-Client läuft, konfiguriert ist; wobei der Server-Client ferner einen Server-Shim umfasst, der so konfiguriert ist, dass er ein oder mehrere Datenpakete vom Server-Client adressiert, um einen beabsichtigten Edge-Client-Empfänger über eine Proxy-Verbindung zwischen dem Server-Client und der Proxy-Komponente zu identifizieren.
  19. Ein nicht-flüchtiges, maschinenlesbares Speichermedium, das Befehle speichert, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor veranlassen: Empfangen, durch eine Proxy-Komponente, einer Serververbindungsanforderung von einem Edge-Client, der auf einem oder mehreren Edge-Clientgeräten läuft die über eine Firewall mit einem öffentlichen Netzwerk verbunden sind, wobei die Anforderung eine Anforderung ist eine Verbindung zu einem angeforderten Server-Client herzustellen, der auf einem oder mehreren Netzwerkgeräten läuft, die mit dem öffentlichen Netzwerk verbunden sind, und der so konfiguriert ist, dass er einen Dienst bereitstellt, wobei die Serververbindungsanforderung durch eine Firewall an die Proxy-Komponente gesendet wird; Identifizierung des angeforderten Server-Clients durch die Proxy-Komponente auf der Grundlage der Server-Verbindungsanforderung; Aufbau einer Proxy-Verbindung mit dem angeforderten Server-Client durch die Proxy-Komponente; Empfangen eines oder mehrerer Datenpakete von dem angeforderten Server-Client durch die Proxy-Komponente; und Weiterleitung des einen oder der mehreren Datenpakete durch die Proxy-Komponente an den Edge-Client, wobei die Kommunikation zwischen dem Edge-Client und dem Server-Client unter Verwendung eines Server-Management-Protokolls erfolgt; und wobei die Proxy-Komponente eine virtuelle Komponente umfasst, die auf demselben Netzwerkgerät wie der Server-Client läuft, wobei die Proxy-Komponente über einen virtuellen, dem Server zugewandten Port mit dem Server-Client kommunikativ verbunden ist, und die Proxy-Komponente über einen physischen, der Edge zugewandten Port des Netzwerkgeräts über das öffentliche Netzwerk mit dem Edge-Client kommunikativ verbunden ist.
DE102021109193.4A 2020-06-21 2021-04-13 Verfahren und systeme zur netzwerkadressen-übersetzung ( nat) unter verwendung eines meet-in-the-middle-proxys Active DE102021109193B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
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
US16/907,279 2020-06-21

Publications (2)

Publication Number Publication Date
DE102021109193A1 DE102021109193A1 (de) 2021-12-23
DE102021109193B4 true DE102021109193B4 (de) 2024-05-29

Family

ID=78823301

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021109193.4A Active DE102021109193B4 (de) 2020-06-21 2021-04-13 Verfahren und systeme zur netzwerkadressen-übersetzung ( nat) unter verwendung eines meet-in-the-middle-proxys

Country Status (3)

Country Link
US (1) US11563721B2 (de)
CN (1) CN113824808B (de)
DE (1) DE102021109193B4 (de)

Citations (1)

* Cited by examiner, † Cited by third party
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

Family Cites Families (13)

* Cited by examiner, † Cited by third party
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
AU2010313127B2 (en) * 2009-11-02 2016-05-26 Assia Spe, Llc Device abstraction proxy
US9152784B2 (en) * 2012-04-18 2015-10-06 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
CN110247846B (zh) * 2019-07-26 2021-09-03 宙安科技河北有限公司 一种虚拟专用网的路由方法及路由装置
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
CN110933197B (zh) * 2019-11-27 2022-04-19 太仓市同维电子有限公司 一种分布式代理网络
CN111131448B (zh) * 2019-12-23 2023-01-24 万翼科技有限公司 ADSL Nat的运维管理的边缘管理方法、边缘端代理设备及计算机可读存储介质
US11425043B2 (en) * 2020-06-16 2022-08-23 T-Mobile Usa, Inc. Duplex load balancing for massive IoT applications

Patent Citations (1)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
CN113824808B (zh) 2024-04-12
CN113824808A (zh) 2021-12-21
US11563721B2 (en) 2023-01-24
DE102021109193A1 (de) 2021-12-23
US20210400022A1 (en) 2021-12-23

Similar Documents

Publication Publication Date Title
DE60221557T2 (de) Methode und gerät zur adressenübersetzung für gesicherte verbindungen
EP3210358B1 (de) Telekommunikationsanordnung und verfahren zum traversieren einer application-layer-gateway-firewall beim aufbau einer rtc-kommunikationsverbindung zwischen einem rtc-client und einem rtc-server
DE112008002439T5 (de) Architektur und Protokoll für die erweiterbare und skalierbare Kommunikation
DE202021103381U1 (de) Computerlesbares Medium und Systeme zur Implementierung eines regional zusammenhängenden Proxy-Dienstes
DE202014010925U1 (de) Dienstbrücken
DE102021109547A1 (de) Sdwan overlay- routing- dienst
DE102015003235A1 (de) Verfahren und System zum Bereitstellen von Kommunikationskanälen, welche verschiedene sichere Kommunikationsprotokolle verwenden
DE102014219472A1 (de) Verfahren zum Übertragen von Daten, Netzknoten und Netzwerk
DE112010003638T5 (de) Öffentliche BOT-Verwaltung in privaten Netzwerken
EP3105898B1 (de) Verfahren zur kommunikation zwischen abgesicherten computersystemen sowie computernetz-infrastruktur
EP3529967B1 (de) Verfahren zum verbinden von geräten mit der sogenannten cloud, computerprogramm mit einer implementation des verfahrens und verarbeitungseinheit zur ausführung des verfahrens
DE102021109193B4 (de) Verfahren und systeme zur netzwerkadressen-übersetzung ( nat) unter verwendung eines meet-in-the-middle-proxys
EP2557733A1 (de) Konfiguration eines Kommunikationsnetzwerks
EP2680497A1 (de) Externer Zugriff auf IP-basierte Haussteuereinheit in lokalem Netzwerk
EP2898649B1 (de) Überwachungssystem mit nachrichtenweiterleitung, verfahren sowie computerprogramm
EP3537654B1 (de) Verfahren und system zum ermitteln einer konfiguration einer schnittstelle
DE102022205863A1 (de) Cloud-automatisierungs-erfüllungsbefähigung
DE102020113257A1 (de) Policy management system zur bereitstellung von autorisierungsinformationen über den distributed data store
EP3813315A1 (de) Verfahren zur diagnose des datenverkehrs, verfahren zum ermitteln einer konfiguration, cluster, computerprogramm und computerlesbares medium
DE102006038599B3 (de) Verfahren zur Wiederaktivierung einer sicheren Kommunikationsverbindung
DE102022109142A1 (de) Smart zero-touch-bereitstellung (ztp)
DE102014102627B3 (de) Arbeitsverfahren für ein System sowie System
DE102022108628A1 (de) Umgehung der ike-firewall für cloud-verwaltete ipsec-schlüssel in der sdwan-struktur
EP3439259B1 (de) Härten eines kommunikationsgerätes
EP3236637B1 (de) Kommunikation über ein weitverkehrsnetz mittels eines applikationsspezifischen protokolls

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029060000

Ipc: H04L0065000000

R081 Change of applicant/patentee

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, SPR, US

Free format text: FORMER OWNER: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOUSTON, TX, US

R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0065000000

Ipc: H04L0065104500