DE60116610T2 - Netzwerkadressenübersetzungsgateway für lokale netzwerke unter verwendung lokaler ip-adressen und nicht übersetzbarer portadressen - Google Patents

Netzwerkadressenübersetzungsgateway für lokale netzwerke unter verwendung lokaler ip-adressen und nicht übersetzbarer portadressen Download PDF

Info

Publication number
DE60116610T2
DE60116610T2 DE60116610T DE60116610T DE60116610T2 DE 60116610 T2 DE60116610 T2 DE 60116610T2 DE 60116610 T DE60116610 T DE 60116610T DE 60116610 T DE60116610 T DE 60116610T DE 60116610 T2 DE60116610 T2 DE 60116610T2
Authority
DE
Germany
Prior art keywords
address
datagram
local
external
spi
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.)
Expired - Lifetime
Application number
DE60116610T
Other languages
English (en)
Other versions
DE60116610D1 (de
Inventor
Daniel Israel SULTAN
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.)
NortonLifeLock Inc
Original Assignee
Nexland Inc
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 Nexland Inc filed Critical Nexland Inc
Application granted granted Critical
Publication of DE60116610D1 publication Critical patent/DE60116610D1/de
Publication of DE60116610T2 publication Critical patent/DE60116610T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • 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/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports

Description

  • Technisches Gebiet
  • Virtuelle private Netze (VPN) unter Verwendung von TCP/IP ermöglichen eine sichere Hochgeschwindigkeitskommunikation zwischen entfernten Computerplätzen unter Verwendung des Internets als Kommunikationsmedium. Die Information, die zwischen den Standorten über das Internet läuft, kann gegen Abfangen durch unerwünschte Lauscher oder bösartige Hacker mittels einer Reihe von Sicherheitsmaßnahmen geschützt werden. Wirksame Sicherheitsmaßnahmen müssen mindestens Funktionen enthalten, die eine oder alle der folgenden Schutzmaßnahmen aufweist: Datenintegrität gegen versehentliche oder bösartige Modifikation der Daten während der Übertragung, Schutz gegen Denial-of-Service-Angriffe durch Vorsehen von Maßnahmen gegen Wiederholung, Quellen-Authentifikation, Vertraulichkeit der Quelladressen und anderer Kopfinformationen während der Übertragung, und Schutz der Paketnutzinformation gegen ungewünschtes Abfangen. Ein Standardmodell der Internet-Sicherheit ist die Internet-Protokollsicherheitsmaßnahme IPSec. IPSec arbeitet mit dem TCP/IP-Kommunikationsprotokoll, um sichere Kommunikation zwischen Geräten, die mit dem Internet verbunden sind oder mit privaten LANs (Local Area Networks) zu ermöglichen, die selbst mit dem Internet verbunden sind.
  • Hintergrund
  • Das TCP/IP-Protokoll (Transmission Control Protocol/Internet Protocol) verwendet IP-Adressen, um jedes Gerät eines Netzwerks zu identifizieren. Eine globale IP-Adresse identifiziert ein einzelnes Gerät im Internet. Solche Geräte können Computer, Drucker, Router, Switches, Gateways oder andere Netzwerkeinrichtungen sein. Geräte, die globale IP-Adressen aufweisen, können direkt als Quelle oder Ziel im Internet referenziert werden. Das TCP/IP-Kommunikationsprotokoll ist jedoch nicht nur auf das Internet beschränkt, sondern kann auch in privaten LANs verwendet werden. Private LANs, die TCP/IP verwenden, nutzen häufig „lokale" IP-Adressen für Netzwerkgeräte. Obgleich keine zwei Netzwerkgeräte in einem privaten LAN die gleiche lokale IP-Adresse verwenden können, sind private LANs vom Internet isoliert und lokale Geräte im LAN sind aus dem Internet nicht sichtbar. IP-Adressen für lokale Geräte müssen daher nicht „global" einmalig sein. Ein LAN, das lokale IP-Adressen verwendet, wird mit dem Internet über ein Gateway verbunden, das ein Gerät ist, das Nachrichten zwischen dem LAN und dem Internet filtern oder routen kann. Da das Gateway direkt an das Internet gekoppelt ist und dorthin sichtbar ist, muss das Gateway eine global einmalige IP-Adresse für die Kommunikation über das Internet aufweisen. Da das LAN jedoch nicht direkt vom Internet aus sichtbar ist, brauchen lokale Maschinen im LAN keine IP-Adresse aufweisen, die global einmalig ist.
  • TCP/IP ist das Kommunikationsprotokoll, das im Internet verwendet wird. Die Information, die unter Verwendung von TCP/IP kommuniziert wird, ist in „Datagrammen" enthalten. Ein Datagramm besteht aus einem diskreten „Paket" von Informationen, an das ein oder mehrere Köpfe angehängt werden. Die Köpfe enthalten Informationen, die von TCP/IP gebraucht werden, um das Paket an das gewünschte Ziel zu richten und sicherzustellen, dass es während des Transits geeignet behandelt wird. Jedes Datagramm ist individuell adressierbar und kann ein verbindungsorientiertes TCP-Datagramm sein oder ein „verbindungsloses" UDP (User Datagram Protocol) sein. Jedes UDP-Datagramm enthält einen IP-Kopf und einen UDP-Kopf. Der IP-Kopf enthält wenigstens eine „Quellen"-IP-Adresse und eine „Ziel"-IP-Adresse, während der UDP-Kopf die Quellen- und Zielservice-Adresse (Portadresse, ausgedrückt als Zahlen) enthält. In IPv4 weisen IP-Adressen eine Länge von 32 Bit auf und sind mit dem nun üblichen xxx.xxx.xxx.xxx.-Fomat assoziiert. In diesem Format ist jedes Drei-Digit-Segment ein binäres Oktett, das eine Zahl zwischen 0 und 255 ist. Eine komplette IP-Adresse kombiniert die Adresse eines logischen Netzwerks oder eines Netzwerksegments mit der Adresse eines (Node) „Knotens" (Gerät) im Netzwerk. Die Adresse des Netzwerks oder Netzwerksegments kann die ersten 3, 6 oder 9 Digits der IP-Adresse umfassen. Ein Gerät im Netzwerk oder Netzwerksegment wird durch die Knotenadresse bestimmt, die aus denjenigen verbleibenden Digits besteht, die nicht in dem Netzwerk oder Netzwerksegment verwendet werden.
  • Die Quellen- und Ziel-Service-Adressen, die in einem UDP-Kopf enthalten sind, sind 16 Bit-Zahl, die verschiedentlich als „Ports" oder „Sockets" bezeichnet werden, die verwendet werden, um das Paket an einen beabsichtigten Prozess zu richten, der auf dem sendenden oder empfangenden Gerät aktiv ist. Der Ausdruck „Port" oder „Portadresse" definiert hier ein Service-Adressfeld in einem UDP-Kopf. Obgleich es in der Theorie so viele Ports gibt, wie Adressen in einer 16 Bit-Zahl vorhanden sind, sind durch Vereinbarung viele Portadressen für feste Dienste reserviert. So ist z. B. der Port 80 für HTTP reserviert und die Ports 20 und 21 sind für FTP reserviert. Durch die Verwendung von Portadressen werden Daten, die an einer lokalen Maschine ankommen, auf der mehr als ein Dienst läuft, an den Dienst gerichtet, für den sie vorgesehen sind. Wenn ein Dienst, der auf einem lokalen Host läuft, nicht einer der reservierten Dienste ist, kann der lokale Host irgendeine Portnummer aus einem Pool von unreservierten Portnummern auswählen, um den „Quellen"-Dienst zu identifizieren. Ein Antwortpaket, das sich auf diese Portnummer im „Ziel"-Feld bezieht, wird an diesen Dienst gerichtet.
  • Mit dem explosiven Anwachsen des Internets in der letzten Dekade und dem erwarteten Wachstum in der Zukunft, werden global einmalige IP-Adressen eine knappe Ressource. Ferner besteht für viele Betriebe, die private LANs einsetzen, keine Notwendigkeit, für jeden Computer und jedes Gerät im LAN eine einmalige globale IP-Adresse zu verwenden. Viele solcher Betriebe würden es in jedem Fall bevorzugen, die Vertraulichkeit ihrer Computer-IP-Adressen zu erhalten. Anstatt die begrenzten globalen Ressourcen zu verbrauchen, indem jedem lokalen Gerät eine einmalige globale IP-Adresse gegeben wird, verwenden viele private LANs lokale IP-Adressen für Geräte im LAN. Um eine Verbindung zum Internet herzustellen, verwenden solche LANs eine einmalige globale Adresse, die durch das Gateway verwendet wird, um das LAN vom Internet zu trennen.
  • Durch Verwendung der Netzwerk-Adressübersetzungs-Technik (NAT) kann ein Gateway, das ein LAN vom Internet trennt, Sicherheit als Firewall zur Verfügung stellen, während es Maschinen mit lokaler IP-Adresse ermöglicht, das Internet über die einmalige globale Adresse des Gateway zu erreichen. Ein Gerät in einem LAN kann eine statische lokale IP-Adresse haben oder eine lokale IP-Adresse, die diesem beim Einloggen dynamisch zugeordnet wird. Das Gateway weist eine Übersetzungstabelle auf, die die lokalen IP-Adressen für jedes Gerät im LAN enthält. Ein von einer lokalen Maschine gesendetes UDP-Paket, das für das Internet bestimmt ist, ist jeweils in den Quellenfeldern der IP- und UDP-Köpfe über ihre lokalen IP-Adressen identifiziert. Das Gateway empfängt das Paket von der lokalen Maschine, ersetzt die externe global einmalige IP-Adresse und eine neue Portadresse (aus einem Pool von nicht verwendeten nicht reservierten Portadressen entnommen) in die Quellfelder der IP- und UDP-Köpfe. Danach wird das CRC (Cyclical Redundancy Check) aktualisiert, es macht alle notwendigen Änderungen, um die Datenintegrität sicherzustellen, und dann sendet es das Paket in das Internet. Als Teil des Verfahrens aktualisiert das Gateway die interne Übersetzungstabelle, um einen Querverweis der IP-Adressen der lokalen Maschine mit der Quellportadresse herzustellen, die ursprünglich von der Maschine gemeldet wurde, wobei die neue Quellportadresse, die dem internetgebundenen Paket zugeordnet ist, der Ziel-IP-Adresse zugeordnet wird. Nach Empfang einer Antwort aus dem Internet erkennt das Gateway die eigene IP-Adresse in dem Paketkopf und prüft die ankommende Paketzielportadresse. Wenn es die Zielportadresse in der internen Tabelle findet, ersetzt das Gateway die durch Querverweis referenzierte lokale IP-Maschinenadresse und die originale Portadresse in das Zielfeld des Pakets, aktualisiert das CRC und andere notwendige Parameter und übermittelt dann das Paket an das LAN, in dem es durch die lokale Maschine empfangen und zum geeigneten Dienst gerichtet wird. Auf diese Weise kann eine Anzahl von Computern in einem LAN, die nur lokale IP-Adressen aufweisen, über das Internet mit einer einzigen globalen IP-Adresse kommunizieren.
  • Obgleich NAT-Gateways eine Firewall-Sicherheit gegen direkten Zugang des LAN aus dem Internet gewährleisten, können diese keine Sicherheit gegen Abhören oder Modifikation eines Pakets gewährleisten, das für das LAN bestimmt ist, während es sich im Transit im Internet befindet und es gibt keine „Vertrauenswürdigkeit" gegenüber Angriffen aus dem LAN. Daher ist die Sicherheit, die durch IPSec zur Verfügung gestellt wird, ein notwendiger Schutz für LANs, die eine Sicherheit erhalten müssen, während sie mit dem Internet verbunden sind.
  • Eine übliche Implementation von IPSec besteht darin, Sicherheit für VPNs zu ermöglichen, die aus wenigstens einem Hauptcomputerstandort und einem oder mehreren entfernten LANs besteht. Der Hauptstandort und die entfernten LANs sind über das Internet miteinander verbunden, indem sie das Hochgeschwindigkeitsmedium benutzen, um damit zwischen den Standorten anstelle mit wesentlich teureren privaten Standleitungen zu kommunizieren. Der Nachteil der Verwendung des Internets als Übertragungsmedium besteht jedoch darin, dass das Internet als nicht sicher anzusehen ist und wenig oder keinen eigenen Schutz gegen Schnüffeln, Ausforschen, Manipulieren oder schließlich Diebstahl, Modifikation oder Umleitung von Nachrichten durch Hacker bietet. Daher besteht eine Notwendigkeit für umfassende Sicherheitsmaßnahmen, wenn eine sichere Datenübertragung gefordert ist. Das IPSec-Protokoll enthält Sicherheitsmaßnahmen, um die Authentizität von Daten und die Datenintegrität sicherzustellen.
  • Das IPSec-Protokoll enthält Sicherheit auf der Netzwerkebene des Mehrschichten-OSI (Open Systems Interconnection)-Netzwerkreferenzmodells. Das Paket enthält eine Anzahl von separaten Protokollen, die in Verbindung mit anderen verwendet werden, um die Sicherheit des UDP-Datagramms sicherzustellen, das Informationen über das Internet trägt. Die Basisarchitektur des IPSec-Standardsystems ist in RFC2401 „Security Architecture for the Internet Protocol" S. Kent und R. Atkinson (November 1998) erklärt. Das AH (Authentication Header)-Protokoll sichert die Datenintegrität, die Quellenauthentifikation und enthält „Anti-Wiederholungs"-Maßnahmen, um Denial-Of-Service-Attacken abzuwehren. Das ESP (Encapsulation Security Payload)-Protokoll gewährleistet einen Schutz ähnlich zu AH, fügt jedoch das zusätzliche Merkmal der Nutzdatenverschlüsselung hinzu. Sowohl AH- als auch ESP-Köpfe weisen ein Feld für einen Sicherheitsparameterindex (SPI) auf. Das SPI ist ein 32-Bit-Pseudo-zufälliger Wert, der verwendet wird, um eine Sicherheitszuordnung (SA) für das Datagramm zu identifizieren. Weitere Informationen bezüglich dieser Protokolle können in RFC1826 „IP Authentication Header" durch R. Atkinson (August 1995) und RFC2406 „IP Encapsulating Security Payload (ESP)" S. Kent und R. Atkinson (November 1998) gefunden werden. ISAKMP/Oakley (Internet Security Association and Key Management Protocol, auch als Internet Key Exchange – IKE) bezeichnet, ist ein quittungsbasiertes Protokoll, das die Parameter für eine sichere Sitzung definiert und die Übertragung von verschlüsselten Daten erlaubt. Das ISAKMP/Oakley-Protokoll (nachfolgend einfach ISAKMP bezeichnet) umfasst den anfänglichen Austausch von nicht verschlüsselten Nachrichten, um bei den Maschinen die Initialisierung von Daten zu ermöglichen, aus denen die Authentifizierung festgelegt und sichere Schlüssel für die Datenverschlüsselung erzeugt werden können. Eine Erläuterung dieser Prozesse kann in RFC2409 „The Internet Key Exchange", D. Harkins und D. Carrel (November 1998) gefunden werden. Sobald Sicherheitsparameter zwischen den Hosts ausreichende Sicherheitsassoziationen (SAs) ausgetauscht sind, werden alle folgenden Übertragungen verschlüsselt und entsprechend den vereinbarten Protokollen authentifiziert. An diesem Punkt endet das ISAKMP-Protokoll. Die nachfolgende Adressierung beruht auf der IP-Adresse jeder Maschine und der SPI jeder Maschine für diese Sitzung. Die SPI ist für jede Maschine während der Sitzung einmalig. Das Gateway für ein privates LAN enthält eine interne Tabelle, in der „SPI-in" mit einem Wert mit der lokalen IP-Adresse der Maschine querverwiesen wird und „SPI-out" mit der IP-Adresse der Maschine im Internet, das mit der lokalen Maschine kommuniziert, querverwiesen wird. Die SPI für jede Maschine wird aus einer Information errechnet, die während der ISKPM-Übertragungen ausgetauscht wurde, und ist in dem AH- oder ESP-Kopf, der den UDP-Paketen angehängt ist, enthalten. Da IPSec-Protokolle verschachtelt werden können, um Sicherheit in verschiedenen Umgebungen zu gewährleisten, kann ein einzelnes Datagramm sowohl einen AH- als auch einen ESP-Kopf enthalten und kann einige Kopfinformationen verschlüsseln.
  • Jedes der vorangehenden Sicherheitsprotokolle modifiziert das UDP-Paket durch Anfügen neuer Kopfinformation an das Paket, Modifizierung bestimmter Felder in dem Paket, um dieses an das verwendete Protokoll anzupassen und in einigen Fällen Verschlüsselung der Nutzinformation und aller Teiler der anderen Paketköpfe. Wenn daher unter IPSec ein UDP-Datagramm eine „sichere" Domain verlässt, um über ein ungesichertes Netzwerk übertragen zu werden, besteht es normalerweise aus einem IP-Kopf, einem AH- oder ESP-Kopf (oder beidem) und einer eingekapselten Nutzlast. Die Kopfinformation enthält eine Zieladresse, ein SPI und ausreichend SA-Information, um sicherzustellen, dass das Datagramm das Ziel erreicht und bis zum Ziel authentifiziert werden kann. Die Einkapselung der Nutzlast stellt sicher, dass die darin enthaltene Information nicht an unerwünschte Lauscher oder Hacker gelangen kann. Der ursprüngliche Zielhost für das Datagramm kann ein Router, ein Gateway oder eine Firewall zwischen einem LAN und dem Internet sein. Nach Ankunft an dem Gerät an der Grenze zwischen dem LAN und dem Internet kann das Datagramm geöffnet werden, geprüft oder insgesamt oder in Teilen entschlüsselt werden, für weitere Adressinformationen analysiert und zu einer lokalen IP-Adresse im LAN geroutet werden.
  • Das in IPSec verwendete ISAKMP-handshaking-Protokoll erfordert, dass beide Hosts, die eine sichere Sitzung etablieren wollen, eine prozessspezifische Portadresse (Port 500) für den anfänglichen Nachrichtenaustausch verwenden. Aus diesem Grunde wurde Port 500 dem exklusiven Gebrauch mit dem ISAKMP-Protokoll zugeordnet. Durch Vereinbarung müssen Computer, die versuchen, sichere Kommunikationsparameter unter Verwendung des ISAKMP-Protokolls auszutauschen, grundsätzlich über den Port 500 jedes Computers kommunizieren. Daher müssen ISAKMP-Nachrichten von jedem Computer den Port 500 sowohl als Quell- als auch als Zielportadresse identifizieren. Wenn ein Computer ein Paket enthält, in dem der Port 500 nicht spezifiziert ist, weder als Quelle noch als Ziel, wird das Paket verworfen.
  • Während dieses Protokoll sichert, dass zwei Hosts miteinander kommunizieren, ist es unbrauchbar, wenn sich ein Host in einem LAN befindet, das lokale IP-Adressen und ein NAT-Gateway verwendet. Z. B. wünscht Host A, der eine lokale IP-Adresse in einem entfernten LAN aufweist, das durch ein NAT-Gateway geschützt ist, eine sichere Verbindung mit Host B aufzubauen, der am Computerstandort des Hauptsitzes angeordnet ist. Host A würde das Protokoll initiieren, indem ein unverschlüsseltes UPD-Datagramm an Host B gesendet wird, in dem als „Ziel" die IP-Adresse von Host B und die Zielportadresse „Port 500" angegeben ist. Wenn das Datagramm jedoch das NAT-Gateway erreicht, das das entfernte LAN mit dem Internet verbindet, übersetzt das Gateway die Zielportadresse in eine zufällige Portnummer. Bei Erreichen des Datagramms an Host B wird das ISAKMP-Protokoll nicht erkannt und Host B antwortet nicht. Die Computer können keine sichere Sitzung einrichten. Aufgrund dieser Schwierigkeit wurde bisher angenommen, dass das ISAKMP-Protokoll nicht verwendet werden könnte, um ein VPN aufzubauen, das ein NAT-Gatway verwendet, bei dem jeder Computer des entfernten LANs eine lokale statt einer globalen IP-Adresse verwendet.
  • Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Gateway anzugeben, das die Verwendung der ISKMP-Protokoll-Authenifizierung und des Schlüsselaustausches zwischen einem Computer mit einer nicht globalen IP-Adresse und einem Host-Computer unter Verwendung des Internets als Übertragungsmedium ermöglicht.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist es, ein Gateway anzugeben, das es jeder Zahl von Computern in einem privaten LAN unter Verwendung lokaler IP-Adressen ermöglicht, Nachrichten über das Internet unter Verwendung des ISAKMP-Protokolls zu initiieren oder zu empfangen.
  • Eine andere Aufgabe der Erfindung liegt darin, ein Verfahren zur Nutzung eines virtuellen privaten Netzwerks zwischen zwei oder mehr LAN-Standorten im Internet unter Verwendung des ISAKMP-Protokolls anzugeben, um eine sichere Kommunikation zu initiieren.
  • Diese und andere Ziele der Erfindung werden nachstehend durch die folgende Beschreibung näher erläutert.
  • Offenbarung der Erfindung
  • Die Aufgaben der Erfindung werden durch eine Einrichtung gemäß Anspruch 1, Verfahren gemäß den Ansprüche 8 und 10 und durch einen maschinenlesbaren Speicher gemäß Anspruch 17 erreicht.
  • Gemäß der vorliegenden Erfindung verwendet ein Computer, der eine lokale IP-Adresse in einem entfernten LAN verwendet, das mit einem externen Netzwerk, wie dem Internet, über ein NAT-Gateway verbunden ist, das ISAKMP-Protokoll, um Schlüssel auszutauschen und SAs zu etablieren, die eine sichere Sitzung unter IPSec unterstützen. Für einen nicht ISAKMP-Verkehr führt das Gateway eine übliche Adressübersetzung aus. Wenn jedoch eine Maschine in dem LAN eine ISAKMP-Protokoll-Nachricht erzeugt, identifiziert das Gateway das Datagramm, das Portadressen des Ports 500 enthält. Nach Feststellung eines solchen Datagramms übersetzt das Gateway die Quell-IP-Adresse, nicht jedoch die Portadresse, die bei 500 bleibt und übergibt das Paket an das Internet, wobei Port 500 sowohl als Quell- als auch als Zielportadresse verwendet ist. Das Gateway aktualisiert auch die interne Tabelle, um den Port 500 an die lokale IP-Adresse zu „binden" und diese Bindung mit der externen IP-Adresse der Zielmaschine für eine bestimmte Zeitdauer zu assoziieren. Wenn innerhalb einer bestimmten Zeitdauer keine gültige Antwort erhalten wird, wird die „Bindung" zwischen Port 500 und der lokalen IP-Adresse aufgelöst. Dieses Merkmal ist notwendig, um sicherzustellen, dass der Port 500 nicht unbestimmt gebunden wird, z. B. in einer Situation, in der die ISAKMP-Protokoll-Übertragung für eine fehlerhafte IP-Adressbestimmung initiiert wurde. Unter diesen Bedingungen würde das Gateway niemals eine gültige Antwort erhalten. Wenn kein Zeitglied vorhanden wäre, um den Port 500 nach einer Zeitdauer freizugeben, in der eine gültige Antwort nicht erreicht ist, würde der Port an die lokale IP-Adresse gebunden bleiben, bis das Gateway resetet würde. Für die meisten Verhältnisse sollte eine Zeitdauer von 2 Sekunden ausreichend sein, um die Bindung zwischen Port 500 und der lokalen IP-Adresse zu halten, während eine gültige Antwort erwartet wird.
  • Während der Zeit, in der der Port 500 an die lokale IP-Adresse gebunden ist, setzt das Gateway die normale Datagrammverarbeitung von Datagrammen fort, die nicht die Port 500 Portadresse aufweisen, während eine gültige Antwort erwartet wird. Eine gültige Antwort ist ein Datagramm, das eine Quell-IP-Adresse aufweist, die die gleiche wie eine externe IP-Adresse ist, die mit dem Port 500 assoziiert ist und die sowohl als Quell- als auch als Zielportadresse Port 500 aufweist. Während eine gültige Antwort erwartet wird, ignoriert das Gateway andere UDP-Datagramme vom externen Netzwerk, welche Port 500 als Quell- und Zielportadresse aufweisen, nicht jedoch die richtige Quell-IP-Adresse. Da Port 500 auch an eine lokale IP-Adresse gebunden ist, werden Datagramme, die von dem LAN empfangen werden und als Quell- und Zielportadressen Port 500 aufweisen, einer „normalen" Adressübersetzung unterzogen, in der die Port 500 Quellportadresse in eine zufällige und unbenutzte Portadresse umgesetzt wird, bevor diese an das externe Netzwerk übertragen wird. Da ein solches Diagramm nicht sowohl als Quell- und Zieladresse Port 500 aufweist, ist es kein gültiges ISAKPM-Datagramm und wird bei Erreichen am IP-Ziel ignoriert. Wenn die Bindungszeit des Ports 500 an die lokale IP-Adresse abgelaufen ist, ohne dass ein gültiges Datagramm durch das Gateway empfangen wurde, wird die Bindung gelöst und Port 500 wird zur Verwendung durch das nächste Datagramm verfügbar, das eine Port 500 Quell- und Zielortadresse aufweist.
  • Während Port 500 gebunden ist, verarbeitet das Gateway nach Empfang eines gültigen Antwortdatagramms mit einer Ziel- und Quellportadresse des Ports 500 und der korrekten Quell-IP-Adresse das Datagramm durch Ersetzen der IP-Adresse der lokalen Maschine in das Adressfeld der Datagrammkopfziel-IP. Dann wird das Datagramm über das LAN zur Übertragung an eine lokale Maschine übermittelt. Wenn das Datagramm das Gateway verlässt, gibt das Gateway die Bindung zwischen der lokalen IP-Adresse und Port 500 frei und nimmt die normale Datagramm-Verarbeitung wieder auf.
  • Wenn keine Antwort mit einer passenden IP-Adresse und Portadresse des Ports 500 vom externen Netzwerk empfangen wird, wird das Gateway nach einer kurzen bestimmten Zeitdauer abgebrochen. Wenn die Zeitdauer des Gateways abgelaufen ist, bevor eine Antwort erhalten wurde, kann dieser ISAKMP-Nachrichtenaustausch nicht abgeschlossen werden und muss neu initiiert werden.
  • Sobald das ISAKMP-Protokoll vervollständigt ist und eine verschlüsselte sichere Sitzung durchgeführt wird, wird das Gateway eine lokale Adressübersetzung durch Referenzierung des SPI in dem ESP-Kopf der einkommenden und ausgehenden Datagramme durchführen. Das Gateway sichert außerdem, dass jeder Pakettyp (Typ 50 für ein ESP-Paket) richtig ist für das Datagramm, das durch das Gateway geleitet wird. Manchmal wird eine sichere Sitzung über ein VPN unterbrochen oder eine neue Sitzung gestartet. Das erste Anzeichen des Gateways dafür ist es, dass ein Typ 50-Datagramm empfangen wird, in dem die IP-Adressen erkannt werden, jedoch die SPI, das mit dem Ziel assoziiert ist, nicht in der internen Tabelle auftaucht. Wenn dies geschieht, übermittelt das Gateway das Datagramm zur Ziel-IP-Adresse unter Verwendung der neuen SPI und setzt auch den Ziel-SPI-Wert (SPI-in oder SPI-out, abhängig von der Richtung der Übertragung) in seiner Tabelle auf den neuen Wert und den Quell-SPI-Wert auf Null. Nach Empfangen einer Antwort auf die Übertragung ersetzt das Gateway den Wert Null in der SPI-Feldtabelle mit der neuen SPI für die Ziel-IP-Adresse.
  • Da das Gateway dieser Erfindung Nachrichten nicht verschlüsselt oder entschlüsselt, sondern einfach die Nutzlast (die verschlüsselt oder unverschlüsselt sein kann) über das LAN oder das Internet zur Verarbeitung an der Empfangsmaschine übermittelt, erfordert dies keine aufwendige Prozessfunktionalität und kann für private LANs verwendet werden, in denen Kosten und Einfachheit der Einrichtung und der Wartung in Betracht zu ziehen sind.
  • Kurze Beschreibung der Zeichnungen
  • Weitere Aufgaben und Vorteile der Erfindung können in der detaillierten Beschreibung des bevorzugten Ausführungsbeispiels gefunden werden, wenn diese in Verbindung mit den begleitenden Zeichnungen betrachtet werden.
  • 1 zeigt ein virtuelles privates Netzwerk, in dem ein entferntes LAN, das lokale IP-Adressen verwendet, mit einem Hauptcomputer-Standort über ein externes Netzwerk, das das Internet sein kann, verbunden ist. Das LAN ist mit dem externen Netzwerk durch ein NAT-Gateway verbunden.
  • 2 zeigt ein Entscheidungsdiagramm, das von dem Gateway dieser Erfindung verwendet wird, um UDP-Datagramme zu verarbeiten, die von dem LAN zur Übertragung an das Internet empfangen werden.
  • 3 zeigt ein Entscheidungsdiagramm der Schritte, die von dem Gateway dieser Erfindung verwendet werden, um UDP-Datagramme zu verarbeiten, die aus dem Internet zur Weitergabe an eine Einrichtung des LANs empfangen werden.
  • 4 dient als Referenz zur Erläuterung der Darstellungen in den 5, 6 und 7. 4 ist eine Tabelle, die die IP-Adressen lokaler Maschinen in einem LAN (L-1 bis L-3), die internen und externen IP-Adressen des Gateways und die IP-Adressen externer Geräte („Ziele" T-1 bis T-3) auf einem externen Netzwerk zeigt.
  • 5a5c zeigen repräsentative Felder aus einer internen Tabelle des Gateways, die den Querverweis der lokalen IP-Adressen der Maschinen in einem LAN (L-1, L-2, ... L-x) zu den externen IP-Adressen von externen Geräten (T-1 bis T-3) mit SPIs (Sicherheitsparameterindizes) zeigt, um verschlüsselte Datagramme zu identifizieren. SPI-out repräsentiert die SPI eines verschlüsselten Datagramms, das das Gateway zu einem Gerät im Internet verlässt, während SPI-in die SPI eines verschlüsselten Datagramms repräsentiert, das für eine lokale Maschine in dem LAN bestimmt ist. Jede Ansicht der Tabelle, a, b, und c reflektiert Kopfwerte für Quelle, Ziel und SPI zu verschiedenen Zeitpunkten. Die Änderungswerte zeigen den Beginn einer neuen Sitzung durch eine lokale Maschine mit einer Zielmaschine.
  • 6 zeigt repräsentative Felder in Datagrammköpfen, die zwischen einer einzelnen lokalen Maschine und einem einzelnen Gerät des externen Netzwerks ausgetauscht werden. Die Kopfwerte werden durch die Verarbeitung durch das Gateway nach der Erfindung modifiziert.
  • 7 zeigt repräsentative Felder in Datagrammköpfen, die zwischen drei lokalen Maschinen (L-1 bis L-3) in einem LAN ausgetauscht werden und drei Ziele (T-1 bis T-3) in einem externen Netzwerk, wie diese durch Verarbeitung über das Gateway nach der Erfindung modifiziert werden.
  • 8 ist ein schematisches Diagramm von Signalen, die zwischen der Datagrammverarbeitungsfunktion und dem Zeitglied übermittelt werden.
  • Beste Art der Ausführung der Erfindung
  • In 1 ist ein virtuelles privates Netzwerk (VPN) dargestellt, in dem ein privates lokales Netzwerk (LAN) 10 mit einem Computerstandort 30 im Internet 50 verbunden ist. Das LAN 10 verwendet lokale IP-Adressen und ist mit dem Internet über ein Gateway mit Netzwerkadressübersetzung (NAT) 20 der Erfindung verbunden. Der Computerstandort 30 kann ein Firmenhauptsitz oder einer einer Anzahl von privaten LANs sein, die durch eine multinationale Firma, eine Ausbildungseinrichtung oder einen anderen Standort gebildet sein kann, auf den häufig von entfernten Stellen zugegriffen wird. Solche Standorte weisen normalerweise eine Firewall oder ein Gateway 35 auf, das in der Lage ist, Entschlüsselungs- und andere Sicherheitsanwendungen auszuführen. Ein solcher Gateway hat die Möglichkeit, ein Paket zu öffnen, zu entschlüsseln oder einen anderen Zugang zum Inhalt herzustellen und eine Adressübersetzung durchzuführen, zu routen, zu entkapseln und Daten zu manipulieren. Während solche Geräte in der Lage sind, ISAKMP und andere IPSec-Protokolle zu unterstützen, indem sie dies durch Öffnen und Entschlüsseln der Pakete und der Manipulation der Daten durchführen, sind sie jedoch im Großen und Ganzen zu teuer und leistungsfähig, um wirksam an entfernten LANs-Standorten verwendet zu werden, die ein VPN mit dem Hauptcomputerstandort herstellen müssen. Auf einem Server (40) des Hauptstandortes läuft die VPN-Server-Software.
  • Auf Computern (15) an entfernten Standorten läuft geeignete VPN-Client-Software, die IPSec-Sicherheitsprotokolle auf jedem Computer implementieren.
  • Ein Computer (15) im LAN (10) kommuniziert mit Geräten im oder über das Internet über das Gateway (20), indem ein IP-Datagramm zu einem Server (40) am Computerstandort (30) übermittelt wird.
  • Datagramme, die an dem Gateway (20) empfangen werden, werden gemäß den Entscheidungscharts in den 2 und 3 verarbeitet. Obgleich die Flussdiagramme in den 2 und 3 sowohl die Verarbeitungsschritte und eine Schrittabfolge zeigen, ist die Reihenfolge der Durchführung einiger der Funktionen nicht kritisch und einige der Schritte können in einer anderen Reihenfolge als in den Flussdiagrammen dargestellt, durchgeführt werden, ohne dass das schließliche Resultat berührt wird. Z. B. zeigen die 2 und 3, dass der erste Schritt, nachdem ein Datagramm durch das Gateway empfangen wurde, darin besteht, den Datagrammtyp zu bestimmen, während der letzte Schritt darin besteht, die IP-Adressübersetzung durchzuführen, die notwendig ist, bevor das Datagramm durch das Gateway geleitet wird. Für einige Ausführungen könnte jedoch der Schritt der Adressübersetzung an einen Punkt früher im Verfahren verschoben worden und dies würde das Ergebnis des Verfahrens nicht berühren. Da die Reihenfolge der Übersetzung der IP-Adresse für das Gesamtverfahren nicht kritisch ist, ist die Bestimmung, wann diese Übersetzung durchzuführen ist, eine Frage der Wahl des Fachmanns.
  • Wie in 2 dargestellt, prüft das Gateway nach Empfang eines Datagramms vom LAN (200), ob das Datagramm verschlüsselt ist (210). Dies macht es dadurch, dass es das „Next Header"-Feld im IP-Kopf prüft, um festzustellen, mit welchem Typ von Datagramm es zu tun hat und zu sehen, ob das Datagramm verschlüsselt ist. Ein Datagrammtyp 50 (ESP) zeigt an, dass das Datagramm verschlüsselt ist und die Portadressinformation nicht verfügbar sein kann.
  • Im weiteren Durchgang durch den Entscheidungsbaum der 2 prüft das Gateway, wenn das Datagramm verschlüsselt ist, die SPI des Datagramms, um zu sehen, ob diese in dem SPI-out-Feld der internen Tabelle (260) des Gateways erscheint. Repräsentative Felder aus einer solchen Tabelle sind in den 5a5c dargestellt. Wenn die SPI des Datagramms in dem SPI-out-Feld der internen Tabelle gefunden wird, modifiziert das Gateway die Quell-IP-Adresse des Datagramms als externe IP-Adresse des Gateways (275) und sendet das Datagramm zum externen Netzwerk zur Abgabe an die externe Einrichtung (280).
  • Wenn das Datagramm verschlüsselt ist, jedoch die SPI nicht in der internen Tabelle des Gateways erscheint, nimmt das Gateway gemäß dem Entscheidungsdiagramm der 2 an, dass das Datagramm eine neue Sitzung initiiert. In diesem Fall setzt das Gateway das SPI-in-Feld der internen Tabelle auf Null (265) und setzt das SPI-out auf die neue SPI des Diagramms (270). Diese Modifikationen an der internen Tabelle sind in den 5a und 5b aufgezeigt, in denen eine „neue" SPI („14662"), die nicht in dem SPI-out-Feld der internen Tabelle des Gateways in 5a erschien, dargestellt ist, als wäre sie in das SPI-out-Feld eingegeben worden, und SPI auf Null gesetzt worden wäre gemäß 5b. Das verschlüsselte Datagramm wird dann zu dem externen Gateway (280) gesendet, nachdem die Quell-IP-Adresse von derjenigen des lokalen Geräts in die externe IP-Adresse des Gateways (275) übersetzt wurde. Diese Schritte sind in den 5b und 5c gezeigt.
  • Wenn weiter im Entscheidungsdiagramm der 2 das Datagramm nicht verschlüsselt ist, prüft das Gateway danach die Bestimmungsportadresse (215) des Datagramms. Wenn die Portadresse anders als Port 500 ist, gibt das Gateway die Quellportadresse in die interne Tabelle ein, ordnet diese der (lokalen) Quell-IP-Adresse zu und setzt dann eine willkürlich, unbenutzte Portadresse in das Quell-Portadressfeld des IP-Kopfes ein. Es gibt auch die neue Portadresse in die interne Tabelle ein und querverweist diese wiederum mit der (lokalen) Quell-IP-Adresse. Dieser Prozess, der für unverschlüsselte Datagramme verwendet wird, die nicht den Port 500 als Portadresse haben, wird nachstehend „normale Adressübersetzung" oder NAPT („Netzwerkadress- und portübersetzung") für Datagramme, die vom LAN (250) stammen, verwendet. Diese Übersetzungen sind in 6 in den Zeilen 1 und 2 gezeigt. Das Datagramm wird dann an das Internet zum Vermitteln an die Ziel-IP-Adresse (215) übermittelt.
  • Wenn gemäß 2 die Quell- und Zielportadressen eines einlaufenden Datagramms Port 500 (215) sind, muss das Gateway danach seine Tabellen prüfen, um zu sehen, ob der Port 500 bereits an eine IP-Adresse (220) gebunden ist. Wenn der Port 500 frei ist, „bindet" das Gateway den Port 500 an die (lokale) Quell-IP-Adresse des Datagramms (240), erzeugt eine Assoziation zwischen dem Port und der (externen) Ziel-IP-Adresse (240) und sendet ein Signal, um das interne Zeitglied (120) zu starten. Das Gateway verarbeitet das Diagramm außerdem durch Ersetzen der externen IP-Adresse des Gateways durch die lokale IP-Adresse in dem Quell-IP-Adressfeld (235). Es übersetzt jedoch nicht die Quell-Portadresse. Durch Aussetzen der „normalen" oder NAPT-Übersetzung der Quell-Portadressen stellt das Gateway sicher, dass die Zielmaschine in der Lage ist, das Datagramm als ISAKMP-Datagramm zu erkennen. Diese Schritte sind ebenfalls in 6, Zeilen 5 und 6 dargestellt.
  • Wenn gemäß 2 ein ankommendes Datagramm aus dem LAN eine Quell- und eine Ziel-Portadresse Port 500 aufweist, jedoch der Port 500 an einige andere lokale IP-Adressen (220) gebunden ist, kann das Gateway den Port 500 nicht an die dann zu verarbeitende Nachricht binden. In diesem Fall verarbeitet das Gateway das Datagramm „normal" unter Verwendung von NAPT (225), als wäre es kein ISAKMP-Datagramm. D. h. es übersetzt die Datagramm-Quell-Portadresse mit einer willkürlichen Nummer und übersetzt die Quell-IP-Adresse als die externe IP-Adresse des Gateways. Das Gateway sendet dann das Datagramm an das Internet (230), wo es vom Ziel zurückgewiesen wird, da es nicht einem ISAKMP-Datagramm entspricht. Dieser Fall ist in 7 in den Zeilen 15 und 16 gezeigt.
  • In 3 ist ein Entscheidungsdiagramm gezeigt, das die Schritte des Gateways bei der Verarbeitung von Datagrammen zeigt, die aus dem Internet empfangen werden. Nach Empfang eines Datagramms (300) prüft das Gateway zunächst den Typ (310), und, wenn das Datagramm verschlüsselt ist, ob die SPI in der internen Tabelle (360) erscheint. Wenn die SPI erkannt wird, wird die Ziel-IP-Adresse so übersetzt, dass sie die IP-Adresse der lokalen Einrichtung (375) ist, und das Datagramm wird dann an das LAN zur Abgabe an die lokale Einrichtung (380) geliefert. Wenn die SPI nicht erkannt wird, prüft das Gateway danach, ob das SPI-in-Feld entsprechend der Datagramm-Quell-IP-Adresse Null ist (365). Wenn SPI-in Null ist, nimmt das Gateway an, dass das Datagramm die erste Antwort einer neuen Sitzung ist und ersetzt den Nullwert in dem SPI-in-Feld mit der SPI des Datagramms (370). Das Gateway übersetzt dann die Ziel-IP-Adresse mit der lokalen IP-Adresse des Geräts des LANs (375) und sendet das Datagramm zum LAN zur Auslieferung (380). Dieser Fall ist in den 5b und 5c dargestellt. In 5b wurde das SPI-in für die lokale Maschine L-1 auf Null gesetzt. Nach Empfang durch das Gateway eines Datagramms aus dem Internet mit einer SPI von 3288 findet das Gateway diese SPI nicht im SPI-in-Feld. Das Gateway prüft dann, ob das SPI-in-Feld einen Wert von Null aufweist. Nach Feststellung, dass das SPI-in für die lokale Maschine L-1 Null ist, ersetzt das Gateway den Nullwert mit der SPI des Datagramms („3288") und sendet das Datagramm an das LAN. Dies ist in 5c dargestellt.
  • Wenn gemäß 3 das Datagramm aus dem Internet nicht verschlüsselt ist (310), prüft das Gateway, ob es eine Portadresse von 500 (315) aufweist. Wenn das nicht der Fall ist, führt das Datagramm eine „normale" Adressübersetzung für Datagramme auf einem externen Netzwerk (325) aus, was bedeutet, dass die lokale Portadresse und die lokale IP-Adresse des Gerätes in dem LAN in die Entscheidungsfelder des Datagramms (325) übersetzt wird und das Datagramm an das LAN zur Auslieferung (330) gesendet wird. Diese „normale" Adress- und Portübersetzung („NAPT") für Datagramme aus dem Internet ist in 6 in den Zeilen 3 und 4 dargestellt.
  • Wenn unter nochmaliger Bezugnahme auf 3 das Datagramm keine Portadresse bei 500 (315) aufweist, muss das Gateway dann prüfen, ob der Port 500 an eine lokale IP-Adresse (30) gebunden ist und der Datagramm (externen)-Quell-IP-Adresse zugeordnet ist. Wenn dies der Fall ist, ist das Datagramm gültig und wird an das LAN (345) nach Übersetzung der Ziel-IP-Adresse von dem externen Gateway auf die IP-Adresse des lokalen Geräts (335) übermittelt. Nach Übergabe des Datagramms an das LAN gibt das Gateway den Port 500 (340) wieder frei. Dieses Ereignis ist in 6 in den Zeilen 7 und 8 dargestellt.
  • Wenn gemäß 3 der Port 500 an eine lokale IP-Adresse (320) gebunden ist und mit einer externen IP-Adresse assoziiert ist, die nicht derjenigen entspricht, die in der Quell-IP-Adresse des Datagramms gefunden wurde, dann ist das Datagramm nicht gültig und wird nicht durch das Gateway (390) verarbeitet. Dieser Fall kann in 7 in den Zeilen 25–31 gefunden werden. In den Zeilen 25 und 26 sendet die lokale Maschine L-1 ein ISAKMP-Datagramm an das Ziel T-1. An dieser Stelle wird Port 500 an die IP-Adresse der lokalen Maschine L-1 gebunden und ist mit der IP-Adresse des Ziels T-1 assoziiert. Wie in 7 dargestellt, bricht das Zeitglied (140) jedoch ab, bevor eine Antwort am Gateway von T-1 empfangen wurde und in der Zeile 27 wird Port 500 freigegeben. In den Zeilen 28 und 29 sendet die lokale Maschine L-3 ein ISAKMP-Datagramm an das Ziel T-3, bindet den Port 500 an die L-3-IP-Adresse und erzeugt eine Assoziation mit der T-3-IP-Adresse. Während Port 500 gebunden ist, wird eine Antwort von T-1 empfangen. Da jedoch der Port 500 gebunden ist und mit T-3-IP-Adresse assoziiert ist, wird die Antwort von T-1 fallengelassen. Dies ist in Zeilen 30 und 31 von 7 gezeigt.
  • Die 5a5c zeigen eine interne Tabelle des Gateways, in der die IP-Adressen und SPI-Nummern für verschlüsselte Kommunikationen zwischen lokalen Computern und Zielen im Internet erhalten werden. Die Felder für „L-1 ", „L-2", „L-x" und „T-1" bis „T-3" sind zur Verdeutlichung des Bezugs enthalten und erscheinen nicht in der internen Tabelle des Gateways. In 5 hält das Feld „SPI-out" die SPI für jede Zielmaschine während einer sicheren Sitzung mit einem speziellen Computer im LAN. Das „SPI-in"-Feld gibt die entsprechende SPI an, die durch den lokalen Computer als Anzeige eines gültigen Datagramms für dieses erkannt wird. 5a zeigt die Tabelle zu einer beginnenden Zeit. Acht (8) lokale Computer haben an Verschlüsselungssitzungen mit drei Zielen T-1 bis T-3 während der Lebensdauer der Tabellendaten teilgenommen. Dies wird durch die Tatsache gezeigt, dass jede lokale Maschine eine SPI-in mit der IP-Adresse assoziiert zeigt. Obgleich in der Tabelle nur drei Ziele gezeigt sind, ist zu beachten, dass jedes Ziel eine unterschiedliche SPI-out für Kommunikationen mit jeder lokalen Maschine verwendet. Auf diese Weise ist ein Ziel dadurch bekannt, dass festgestellt wird, von welcher Quelle ein verschlüsseltes Datagramm erzeugt wurde.
  • 5b zeigt die gleichen lokalen und Zielcomputer wie 5a. Hier ist jedoch die SPI-out für die Sitzung zwischen L-1 und T-1 eine neue SPI, welche anzeigt, dass eine neue Sitzung zwischen den Computern stattfindet. Das erste Anzeichen für das Gateway, dass eine neue Sitzung begonnen hat, ist der Empfang eines verschlüsselten Datagramms aus dem LAN, welches eine SPI-„14662" aufweist, die sich nicht in der Tabelle befindet. Das Gateway übermittelt das Datagramm an das Internet, jedoch modifiziert es auch seine Tabelle, um die neue SPI in das SPI-out-Feld einzugeben, das mit der Quell- und Ziel-IP-Adresse des Datagramms assoziiert ist. Es trägt auch einen Nullwert in das SPI-in-Feld ein als Markierung zur Anzeige, dass auch eine neue SPI-in erwartet wird. 5c zeigt, dass eine neue SPI-„3288" – in einem Datagramm enthalten war, was von T-1 erhalten wurde. Diese SPI wurde in das SPI-in-Feld des Gateways eingetragen und weitere Kommunikationen zwischen L-1 und T-1 während dieser Sitzung verwenden diese SPIs, um ihre Nachrichten zu authentifizieren.
  • 6 zeigt den Lauf repräsentativer Datagramme über das Gateway der Erfindung durch einen einzelnen Computer in einem LAN, der mit einem entfernten Ziel im Internet korrespondiert. Jede Zeile des Charts repräsentiert Information in einem Datagramm entweder am LAN-Interface mit dem Gateway oder dem Internet-Interface mit dem Gateway. Aufeinanderfolgende Zeilen repräsentieren Daten, die in das Gateway von einer Seite eintreten und das Gateway an der anderen Seite verlassen. Das Gateway weist eine IP-Adresse auf, die eine lokale IP-Adresse sein kann am Interface mit dem LAN und eine globale IP-Adresse am Interface mit dem Internet. Die Spalten in 6 zeigen die Seite des Gateway an, welche das Datagramm überquert, den Typ des Datagramms, die IP-Adresse und die Portadresse der Datagrammquelle, die Zieladresse und die Portadresse des Datagramms und den Sicherheitsparameterindex (SPI) des Datagramms für verschlüsselte Datagramme des Typs 50 unter Verwendung von ISP (gekapselte Sicherheitsnutzlast).
  • Zeile 1 von 6 zeigt ein UPD-Datagramm, das an dem lokalen Interface des Gateways ankommt und eine Quell-IP-Adresse aufweist, die dem lokalen Computer L-1 entspricht und eine Ziel-IP-Adresse des Ziels im Internet T-1 aufweist. Zum leichteren Lesen enthält 4 eine Tabelle von IP-Adressen, die Querverweise zwischen lokalen Zielen L-1 bis L-3 verknüpft sind und Bestimmungen T-1 bis T-3 enthält. Die Quell-Portadresse für L-1 ist Port 6404 und Bestimmungsport des Ziels ist Port 80. Da das Datagramm nicht verschlüsselt ist und keine Portnummer 500 aufweist, wird eine normale Übersetzung durchgeführt, bei der eine „willkürliche" Portadresse, Port 10425 verwendet wird, und damit das Quell-Portadressfeld ersetzt wird und die externe IP-Adresse des Gateways durch die Quell-IP-Adresse des Datagramms ersetzt wird. Obwohl die übersetzte Quell-Portadresse als „willkürlich" angegeben ist, ist sie normalerweise die nächste in einer Folge, die aus einem Pool von unreservierten und derzeit unbenutzten Portadressen entnommen wird, die in dem Gateway enthalten sind.
  • Wenn das Datagramm das Gateway verlässt, wie in 6 Zeile 2 gezeigt, hat die Adressübersetzungsfunktion des Gateways die externe IP-Adresse des Gateways in dem Datagrammkopf für die Quell-IP-Adresse gesetzt und hat dem Quell-Port eine willkürliche Nummer gegeben. Die Zeilen 3 und 4 zeigen das Antwortdatagramm des Ziels. In Zeile 3 zeigt ein UDP-Datagramm des Ziels die IP-Adresse des Ziels als externe IP-Adresse des Gateways und ein Zielport als die Portadresse, die durch das Gateway willkürlich zugeordnet wurde. Da das Datagramm nicht verschlüsselt ist und keine Portadresse 500 aufweist, durchläuft das Datagramm eine normale Übersetzung der Portadresse des Ziels und der IP-Adresse, die dann an das LAN gesendet wird. In Zeile 4 hat das Gateway die IP-Adresse des lokalen Computers und die Portadresse in den Zielfeldern des Kopfes ersetzt, bevor das Datagramm an das LAN gesendet wurde.
  • In Zeile 5 der 6 initiiert der lokale Computer ein ISAKMP-Protokoll mit dem Ziel. Der Datagrammtyp ist als ISAKMP gezeigt. Sowohl die Quell- als auch Ziel-Portadressen sind 500. Wenn das Gateway bestimmt, dass die Ziel-Portadresse Port 500 ist, prüft es um zu sehen, ob der Port 500 derzeit an eine IP-Adresse gebunden ist. Da dies nicht der Fall ist, lässt das Gateway das Datagramm durch, übersetzt lediglich das Quell-IP-Adressfeld, um die externe IP-Adresse des Gateways zu zeigen, jedoch ändert nicht die Quell-Portadresse.
  • In 6 zeigen die Zeilen 5–16 die sechs Standard-ISAKMP-„Quittungs" (handshaking)-Datagrammaustausche, die notwendig sind, um SAs (Security Associations) zu etablieren, um voll verschlüsselte und authentifizierte Datagramme zu stützen. Obgleich bestimmte Arten von ISAKMP weniger Austausche verwenden, ist der Hauptmodus in 6 dargestellt. Nach der Ausbildung von SAs beginnt der lokale Computer und das Ziel mit der Kommunikation unter Verwendung des ESP-Protokolls mit verschlüsselten Datagrammen. Hier wird die Datagrammgültigkeit durch Verwendung der Indizierung von Sicherheitsparametern SPI-Nummern in einem SPI-Feld des Datagrammkopfes erhalten. Jeder Host erkennt ein Datagramm, das an seine SPI „adressiert" ist, die während einer Sitzung durch wechselseitige Vereinbarung der Hosts, falls notwendig, modifiziert werden kann, um fortlaufende Sicherheit herzustellen. Wenn ein verschlüsseltes Datagramm das Gateway passiert, wie in 6, Zeilen 17 und 18 dargestellt, wird weder die Quell- noch die Ziel-SPI durch das Gateway modifiziert, obgleich die Quell-IP-Adresse des Datagramms in die externe IP-Adresse des Gateways übersetzt wird.
  • Wenn daher ein verschlüsseltes Datagramm durch das Gateway empfangen wird, wird es durch ein Datagramm des Typs 50 (ESP) angezeigt. Bei Auftreten dieses Datagrammtyps prüft das Gateway den Datagramm-Security-Parameterindex (SPI), um festzustellen, ob diese SPI in der internen Tabelle verzeichnet ist. Wenn dies der Fall ist, übersetzt das Gateway die Quell- oder Ziel-IP-Adresse des Datagramms und sendet das Datagramm je nach Fall an das LAN oder das Internet, abhängig von der Übertragungsrichtung. Wenn jedoch die SPI eines Datagramms aus dem LAN nicht in der internen Tabelle des Gateways enthalten ist, und die Quell- und Zielangaben erkannte IP-Adressen sind, nimmt das Gateway an, dass eine neue Sitzung gestartet wurde. In diesem Fall übermittelt es das Diagramm an das externe Netzwerk, wobei die neue SPI intakt bleibt, zeichnet jedoch die neue SPI in dem „SPI-out"-Feld seiner internen Tabelle auf und setzt einen Nullwert in das SPI-in-Feld. In den Zeilen 25 und 26 ist zu sehen, dass eine neue SPI aufgetreten ist, die eine neue Sitzung kennzeichnet. Dieser Fall entspricht 5b, wobei der Wert „Null" in dem „SPI-in"-Feld dem neuen SPI-out von „14662" entspricht. In den Zeilen 27 und 28 zeigt das Antwortpaket von dem externen Netzwerk, dass die alte SPI „9802" durch die „neue" SPI „3288" ersetzt wurde.
  • 7 ist ähnlich zu 6 mit der Ausnahme, dass der Durchgang durch das Gateway dieser Erfindung von Datagrammen zwischen drei Computern in einem LAN, L-1, L-2 und L-3 und drei Zielen im Internet mit einer einzigen globalen IP-Adresse T-1, T-2 und T-3 gezeigt wird. In 4 ist zum leichteren Bezug eine Tabelle gegeben, die die IP-Adressen dieser Geräte zeigt. Wie in 7 dargestellt, repräsentiert eine Übertragung mit der Bezeichnung „SPI-out" eine Übertragung vom lokalen Computer L-1 zum Gateway. „T-1-in" repräsentiert eine Übertragung von dem Gateway zum Ziel T-1. „T-1 out" repräsentiert eine Übertragung vom Ziel T-1 zum Gateway, während „L-1 in" eine Übertragung vom Gateway zum Computer L-1 repräsentiert.
  • Wie in den Zeilen 1–8 von 7 gezeigt, führen die Computer L-1 und L-2 eine „klare" Kommunikationen mit den Zielen T-1 und T-2 aus. In Zeile 9 beginnt L-1 eine ISAKMP-Sitzung mit T-1. Die Zeilen 9–14 zeigen die ersten drei Nachrichten, die zwischen L-1 und T-1 während des ISAKMP-Protokolls ausgetauscht wurden. In Zeile 15 beginnt der Computer L-3 einen ISAKMP-1-Nachrichtenaustausch mit T-3. Zu dieser Zeit ist jedoch Port 500 an L-1 gebunden und ist mit der IP-Adresse von T-1 assoziiert, und erwartet eine ISAKMP-4-Antwort von T-1. In dieser Situation kann das Datagramm von L-3 Port 500 nicht binden und die Quell-Portadresse wird ersetzt. Als solches kann L-3 nicht die Übertragung beenden, die in Zeile 15 begonnen wurde.
  • Dann wird in den Zeilen 17–18 die T-1-Antwort (ISAKMP-4) am Gateway empfangen und an L-1 gesendet und Port 500 wird unmittelbar verfügbar. Wenn daher L-3 wieder eine ISAKMP-Übermittlung in Zeile 19 versucht, ist die Übermittlung erfolgreich.
  • In den Zeilen 19 und 20 von 7 bindet die Übertragung von L-3s ISAKMP-1 den Port 500 an L-3s IP-Adresse. Wenn daher L-1 in den Zeilen 21–22 eine ISAKMP-5-Übertragung versucht, ist Port 500 nicht verfügbar und das Gateway übersetzt einfach die Ziel-Portadresse von Port 500 zu einer „willkürlichen" Portnummer – in diesem Fall „9063" – und sendet das Datagramm an das Internet, wo das Ziel T-1 dieses nicht als ISAKMP-Datagramm erkennt. Nachdem L-3 den Port 500 freigibt in den Zeilen 23–24 ist L-1's nächster Versuch, seine ISAKMP-5-Übertragung zu senden, erfolgreich von T-1 empfangen worden. Jedoch ist die T-1-Antwort langsam und in Zeile 27 wird Port 500 von der Bindung zu L-1 freigegeben und in den Zeilen 28–29 unmittelbar durch L-3 für eine ISAKMP-3-Transmission erfasst. Wenn daher T-1's ISAKMP-6-Antwort an dem Gateway ankommt, wie in den Zeilen 30 und 31 gezeigt, wird Port 500 geblockt und das Datagramm wird ignoriert. Danach übermittelt L-1, das keine Antwort auf seine ISAKMP-5-Nachricht erhalten hat, die Nachricht noch einmal in den Zeilen 34 und 35, und eine Antwort von T-1 wird in den Zeilen 36–37 erhalten. Nach Austausch ihrer ISAKMP können L-1 und T-1 sicher miteinander korrespondieren unter Verwendung des ESP-Protokolls in den Zeilen 38–39 und 42–43.
  • Die Zeilen 38–57 von 7 zeigen die Behandlung des Gateways einer Variation von Datagrammen zwischen einer Zahl von lokalen Computern und Zielen-UDP-Datagramme sind in den Zeilen 40–41 dargestellt, ESP-Datagrammen in den Zeilen 42–43 und 52–53 und ISAKMP-Datagrammen in den Zeilen 44–45. Obgleich 7 unterschiedliche IP-Adressen für jedes Gerät zeigt, kann es in der Praxis passieren, dass eine Zahl von Diensten auf dem gleichen Gerät läuft. Das Ersetzen des einmaligen Quell-Ports durch das Gateway und die Verwendung von SPIs zur Unterscheidung verschlüsselter Übertragungen sichert zu, dass Datagramme, die von mehreren Prozessen auf einer einzigen Maschine stammen, nicht fehlgeleitet werden.
  • 8 zeigt die Initiierung und den Transfer von Signalen zwischen der Datagrammverarbeitungsschaltung 100 und dem Zeitglied 110. Nach Auftreten eines Ereignisses, das es erfordert, dass eine Portadresse an eine IP-Adresse gebunden wird, wird ein Signal 120 zum Zeitglied gesendet, um die Zeitnahme zu beginnen. Nach Ablauf des passenden Intervalls sendet das Zeitglied ein Signal 140, das anzeigt, dass die Zeit abgelaufen ist, wonach jeder Port, der gebunden ist, freigegeben wird. Wenn zwischenzeitlich ein erwartetes Diagramm angekommen ist und ein früher gebundener Port freigegeben wird, wird ein Freigabesignal 130 zum Zeitglied gesendet, das anzeigt, dass das Zeitglied zurückgesetzt werden sollte, um das nächste Signal abzuwarten, und die Zeitnahme zu beginnen. Es ist offensichtlich, dass es eine Vielzahl von Zeitschaltungen im Stand der Technik gibt und die spezielle Konfiguration in 8 nur eine von mehreren möglichen Ausführungen ist.
  • Aus dem vorstehenden ergibt sich für den Fachmann, dass die darin beschriebene spezielle Ausführungsform nicht das einzige Mittel zur Ausübung der Erfindung ist und dass andere Ausführungen gewählt werden können, um die Erfindung ohne Verlassen des Schutzumfangs der Erfindung ausgeführt werden können. Obgleich die bevorzugte Ausführungsform in Bezug auf Port 500 beschrieben ist, welcher exklusiv zur Verwendung mit dem ISAKMP-Protokoll reserviert ist, kann die Erfindung auf die gleiche Weise zur Verarbeitung von Datagrammen ausgeführt werden, die für andere Portadressen bestimmt sind, die in Zukunft anderen Prozessen oder Protokollen zugeordnet werden. Insbesondere benötigen viele Spiele, die über das Internet gespielt werden, die Verwendung spezieller Ports an lokalen und externen Maschinen, die einer normalen Adressübersetzung nicht standhalten. Wie in erster Linie im Hinblick auf Kommunikation zwischen einem privaten LAN und dem Internet beschrieben ist, ist ersichtlich, dass das Gateway der Erfindung in jedem Interface zwischen zwei Netzwerken verwendet werden kann und die gleiche Funktionalität wie beschrieben aufweist.
  • Die nachfolgenden Ansprüche sind so zu verstehen, dass sie auch Modifikationen und Änderungen innerhalb des Schutzumfangs der vorliegenden Erfindung erfassen.

Claims (20)

  1. Netzwerkadressenübersetzungsgateway (20), das ein LAN (10) mit einem externen Netzwerk (50) verbindet, wobei das LAN lokale IP-Adressen benutzt, wobei das Gateway eine lokale IP-Adresse (4 – Gateway-Intern), die direkt durch Einrichtungen (15) auf dem LAN (10) referenziert werden kann, und eine externe IP-Adresse (4 – Gateway-Extern), die durch Einrichtungen (35) auf dem externen Netzwerk (50) referenziert werden kann, aufweist, wobei das Gateway folgendes umfaßt: mehrere interne Tabellen (4 und 5a5c), die Kombinationen lokaler IP-Adressen lokaler Einrichtungen (15) auf dem LAN (10), externe IP-Adressen externer Einrichtungen (35) auf dem externen Netzwerk (50), SPI-Eingangswerte, SPI-Ausgangswerte, Quellenportadressen, Zielportadressen, reservierte Portadressen, assoziieren und eine Liste reservierter Portadressen führen, Mittel zur Durchführung einer NAPT-Übersetzung an Datagrammen (225), (250), die von dem LAN (10) zu dem externen Netzwerk (50) geleitet werden, und an Datagrammen, die aus dem externen Netzwerk (50) zu dem LAN (10) geleitet werden, Mittel zum Abliefern eines Datagramms aus einer lokalen Einrichtung (15) auf dem LAN (10) zu einer externen Einrichtung (30, 35, 40) auf dem externen Netzwerk (50) durch Empfangen eines Datagramms (200) aus einer lokalen Einrichtung auf dem LAN, das für eine Ablieferung an eine externe Einrichtung auf dem externen Netzwerk bestimmt ist, und zum Bestimmen, ob die Zielportadresse für das Datagramm in der Liste reservierter Portadressen (215) enthalten ist, und wenn die Zielportadresse nicht in der Liste reservierter Portadressen enthalten ist, zum Durchführen der NAPT-Übersetzung an dem Datagramm (250) und zum Leiten des Datagramms zu dem externen Netzwerk (255) zum Routen und Abliefern an die externe Einrichtung, und wenn die Zielportadresse in der Liste reservierter Portadressen (215) enthalten ist, zum Bestimmen, ob die Zielportadresse auf eine lokale IP-Adresse (220) beschränkt ist, und wenn die Zielportadresse auf eine lokale IP-Adresse beschränkt ist, zum Durchführen der NAPT-Übersetzung an dem Datagramm (225) und zum Leiten des Datagramms zu dem externen Netzwerk (230), und wenn die Zielportadresse nicht auf eine lokale IP-Adresse (220) beschränkt ist, zum Modifizieren der Quellen-IP-Adresse des Datagramms, so daß sie die externe IP-Adresse des Gateway (235) ist, zum Anbinden der Zielportadresse an die lokale IP-Adresse der lokalen Einrichtung (240) und zum Erzeugen einer Assoziation zwischen der Zielportadresse und der externen IP-Adresse der externen Einrichtung (240) und zum Leiten des Datagramms zu dem externen Netzwerk zum Routen und Abliefern an die externe Einrichtung (245).
  2. Netzwerkadressenübersetzungsgateway nach Anspruch 1, wobei das Mittel zum Abliefern eines Datagramms aus einer lokalen Einrichtung auf dem LAN (10) an eine externe Einrichtung (35) ferner ein Mittel umfaßt, das bestimmt, ob das Datagramm verschlüsselt ist (210), und das, wenn das Datagramm verschlüsselt ist, bestimmt, ob die SPI des Datagramms in dem SPI-Ausgangsfeld in der internen Tabelle (260) verzeichnet ist, und das, wenn die SPI in dem SPI-Ausgangsfeld verzeichnet ist, Quellen-IP-Adresse des Datagramms so modifiziert, das sie die externe IP-Adresse des Gateway (275) ist und das Datagramm zum Routen und Abliefern an die externe Einrichtung (280) zu dem externen Netzwerk leitet.
  3. Netzwerkadressenübersetzungsgateway nach Anspruch 2, ferner, wenn die SPI nicht in dem SPI-Ausgangsfeld der internen Tabelle (260) verzeichnet ist, mit einem Mittel zum Setzen des der lokalen IP-Adresse der lokalen Einrichtung entsprechenden SPI-Eingangsfeldes gleich null (265) und zum Setzen des SPI-Ausgangsfeldes auf die SPI (270), zum Modifizieren der Quellen-IP-Adresse des Datagramms, so daß sie die externe IP-Adresse des Gateway (120) ist und zum Leiten des Datagramms zu dem externen Netzwerk zum Routen und Abliefern an die externe Einrichtung (280).
  4. Netzwerkadressenübersetzungsgateway (20) nach Anspruch 1, wobei das Netzwerkadressenübersetzungsgateway ferner folgendes umfaßt: ein Mittel zum Abliefern eines Datagramms aus der externen Einrichtung (35) an die lokale Einrichtung (15) durch Empfangen eines Datagramms aus der externen Einrichtung auf dem externen Netzwerk, das für die Ablieferung an die lokale Einrichtung auf dem LAN (300) bestimmt ist, ein Mittel zum Bestimmen, ob das Datagramm verschlüsselt ist (310) und, wenn das Datagramm verschlüsselt ist, zum Bestimmen, ob die SPI des Datagramms in dem SPI-Eingangsfeld der internen Tabelle (360) verzeichnet ist, und, wenn die SPI dem SPI-Eingangsfeld verzeichnet ist, zum Modifizieren der Ziel-IP-Adresse des Datagramms, so daß sie die lokale IP-Adresse der lokalen Einrichtung (375) ist, und zum Leiten des Datagramms zu dem LAN zum Routen und Abliefern an die lokale Einrichtung (380), und wenn die SPI nicht in dem SPI-Eingangsfeld der internen Tabelle verzeichnet ist, zum Bestimmen, ob daß der IP-Adresse der externen Einrichtung entsprechende SPI-Eingangsfeld gleich null ist (365); und, wenn das SPI-Eingangsfeld nicht gleich null ist, zum Verwerfen des Datagramms (385), und wenn das SPI-Eingangsfeld gleich null ist, zum Setzen des SPI-Eingangsfelds gleich der SPI (370), zum Modifizieren der Ziel-IP-Adresse des Datagramms, so daß sie die lokale IP-Adresse der lokalen Einrichtung (375) ist, und zum Leiten des Datagramms zu dem LAN zur Ablieferung an die lokale Einrichtung (380), und wenn das Datagramm nicht verschlüsselt ist (310) zum Bestimmen, ob die Zielportadresse für das Datagramm in der Liste reservierter Portadressen (315) enthalten ist, und, wenn die Zielportadresse nicht in der Liste reservierter Portadressen enthalten ist, zum Durchführen einer NAPT-Übersetzung an dem Datagramm (325) und zum Leiten des Datagramms zu dem LAN zur Ablieferung an die lokale Einrichtung (330), und wenn die Zielportadresse in der Liste reservierter Portadressen enthalten ist, zum Bestimmen, ob die Zielportadresse auf eine lokale IP-Adresse (320) beschränkt ist, und wenn die Zielportadresse nicht auf eine lokale IP-Adresse beschränkt ist, zum Verwerfen des Datagramms (390), und wenn die Zielportadresse auf eine lokale IP-Adresse beschränkt ist, zum Bestimmen, ob die Zielportadresse mit der externen IP-Adresse der externen Einrichtung assoziiert ist, und wenn die Zielportadresse mit der externen IP-Adresse der externen Einrichtung assoziiert ist, zum Modifizieren der Ziel-IP-Adresse des Datagramms, so daß sie die beschränkte lokale IP-Adresse der lokalen Einrichtung (335) ist, zum Entbinden der Zielportadresse von der lokalen IP-Adresse (340) und zum Leiten des Datagramms zu dem LAN zur Ablieferung an die lokale Einrichtung (345).
  5. Netzwerkadressenübersetzungsgateway (20) nach Anspruch 1, ferner mit einem Timer (110), wobei der Timer nach Empfang eines Signals, daß eine Portadresse auf eine IP-Adresse (120) beschränkt wurde, mit dem Timen für eine vorbestimmte Zeitspanne beginnt und bei Ablauf der vorbestimmten Zeitspanne (140) ein Signal sendet, das bewirkt, daß die Portadresse von der IP-Adresse entbunden wird, und bei Empfang eines Signals, das anzeigt, daß die Portadresse von der IP-Adresse entbunden wurde, vor dem Ablauf der vorbestimmten Zeitspanne (130) der Timer mit dem Timen aufhört und sich zurücksetzt.
  6. Netzwerkadressenübersetzungsgateway (20) nach Anspruch 1, wobei das externe Netzwerk das Internet ist.
  7. Netzwerkadressenübersetzungsgateway (20) nach Anspruch 6, wobei das LAN ein virtuelles privates Netzwerk (30, 35, 40) ist.
  8. Verfahren zum Verarbeiten von IP-Datagrammen aus einer lokalen Einrichtung (15) auf einem LAN (10) unter Verwendung lokaler IP-Adressen durch ein Netzwerkadressenübersetzungsgateway (20) zu einer externen Einrichtung (35) auf einem externen Netzwerk (50), mit den folgenden Schritten: Führen mehrerer Tabellen, die lokale IP-Adressen lokaler Einrichtungen auf dem LAN, externe IP-Adressen externer Einrichtungen auf dem externen Netzwerk, Portadressen der lokalen Einrichtung, Portadressen der externen Einrichtungen, SPI-Eingangswerte, SPI-Ausgangswerte und reservierte Portadressen und eine Liste reservierter Portadressen assoziieren, Empfangen eines Datagramms aus dem LAN (200), Bestimmen, ob die Zielportadresse für das Datagramm in der Tabelle reservierter Portadressen (215) enthalten ist, und, wenn die Zielportadresse nicht in der Tabelle reservierter Portadressen enthalten ist, Durchführen einer NAPT-Übersetzung an dem Datagramm (225) und Leiten des Datagramms zu dem externen Netzwerk zum Routen und Abliefern an die externe Einrichtung (230), und wenn die Zielportadresse in der Tabelle reservierter Portadressen (215) enthalten ist, Bestimmen, ob die Zielportadresse auf eine IP-Adresse beschränkt ist, und wenn die Zielportadresse auf eine IP-Adresse beschränkt ist, Durchführen der NAPT-Übersetzung an dem Datagramm (225) und Leiten des Datagramms zu dem externen Netzwerk (230), und wenn die Zielportadresse nicht auf eine IP-Adresse beschränkt ist, Modifizieren der Quellen-IP-Adresse, so daß sie die externe IP-Adresse für das Gateway (235) ist, Anbinden der Zielportadresse an die lokale IP-Adresse der lokalen Einrichtung (240) und Erzeugen einer Assoziation zwischen der Zielportadresse und der externen IP-Adresse der externen Einrichtung (240) und Leiten des Datagramms zu dem externen Netzwerk zum Routen und Abliefern an die externe Einrichtung (245).
  9. Verfahren nach Anspruch 8, ferner mit den folgenden Schritten: Bestimmen, ob das Datagramm verschlüsselt ist (210) und, wenn das Datagramm verschlüsselt ist, Bestimmen, ob die SPI in dem Datagramm in dem SPI-Ausgangsfeld einer der mehreren internen Tabellen (260) verzeichnet ist, und wenn die SPI in dem SPI-Ausgangsfeld der internen Tabelle verzeichnet ist, Modifizieren der Quellen-IP-Adresse, so daß sie die externe IP-Adresse des Gateway ist, und Leiten des Datagramms zu dem externen Netzwerk zum Routen und Abliefern an die externe Einrichtung (275), und wenn die SPI nicht in dem SPI-Ausgangsfeld der internen Tabelle verzeichnet ist, Setzen des der IP-Adresse der externen Einrichtung entsprechenden SPI-Ausgangsfeldes gleich der SPI (270) und Setzen des SPI-Eingangsfeldes der internen Tabelle auf null (265), Modifizieren der Quellen-IP-Adresse, so daß sie die externe IP-Adresse des Gateway (275) ist, und Leiten des Datagramms zu dem externen Netzwerk zum Routen und Abliefern an die externe Einrichtung (280).
  10. Verfahren zum Verarbeiten von IP-Datagrammen aus einer externen Einrichtung (35) auf einem externen Netzwerk (50) durch ein Netzwerkadressenübersetzungsgateway (20) zu einer lokalen Einrichtung (15) auf einem LAN (10) unter Verwendung lokaler IP-Adressen, mit den folgenden Schritten: Führen mehrerer Tabellen, die lokale IP-Adressen lokaler Einrichtungen auf dem LAN, externe IP-Adressen externer Einrichtungen auf dem externen Netzwerk, Portadressen der lokalen Einrichtung, Portadressen der externen Einrichtungen, SPI-Eingangswerte, SPI-Ausgangswerte und reservierte Portadressen und eine Liste reservierter Portadressen assoziieren, Empfangen eines Datagramms aus dem externen Netzwerk (300) Bestimmen, ob die Zielportadresse für das Datagramm in der Tabelle reservierter Portadressen (215) enthalten ist, und, wenn die Zielportadresse nicht in der Tabelle reservierter Portadressen enthalten ist, Durchführen einer NAPT-Übersetzung an dem Datagramm (225) und Leiten des Datagramms zu dem externen Netzwerk zum Routen und Abliefern an die externe Einrichtung (230), [Copy from Claim 8???] und wenn die Zielportadresse in der Liste reservierter Portadressen enthalten ist, Bestimmen, ob die Zielportadresse auf eine lokale IP-Adresse beschränkt ist (320), und wenn der Zielport nicht auf eine lokale IP-Adresse beschräkt ist, verwerfen des Datagramms (390), und wenn die Zielportadresse auf eine lokale IP-Adresse beschränkt ist, Bestimmen, ob die Zielportadresse mit der externen IP-Adresse der externen Einrichtung assoziiert ist, und wenn die Zielportadresse mit der externen IP-Adresse der externen Einrichtung modifiziert ist, Modifizieren der Ziel-IP-Adresse, so daß sie die beschränkte lokale IP-Adresse der lokalen Einrichtung (335) ist, Entbinden der Zielportadresse von der lokalen IP-Adresse (340) und Leiten des Datagramms zu dem LAN zum Routen und Abliefern an die lokale Einrichtung (345).
  11. Verfahren nach Anspruch 10, wobei das Verfahren, wenn das Datagramm verschlüsselt ist (310) ferner die folgenden Schritte umfaßt: Bestimmen, ob die SPI in dem Datagramm in dem SPI-Eingangsfeld einer der mehreren internen Tabellen (360) verzeichnet ist, und wenn die SPI in dem SPI-Eingangsfeld der internen Tabelle verzeichnet ist, Modifizieren der Ziel-IP-Adresse, so daß sie die der SPI entsprechende lokale IP-Adresse ist (375) und Leiten des Datagramms zu dem LAN zum Routen und Abliefern an die lokale Einrichtung (380), und wenn die SPI nicht in dem SPI-Eingangsfeld der internen Tabelle verzeichnet ist, Bestimmen, ob daß der IP-Adresse der externen Einrichtung entsprechende SPI-Eingangsfeld null ist (365), und wenn das SPI-Eingangsfeld nicht null ist, verwerfen des Datagramms (385), und wenn das SPI-Eingangsfeld gleich null ist, Modifizieren des SPI-Eingangsfeldes, so daß es die SPI ist (370), Modifizieren der Ziel-IP-Adresse, so daß sie die lokale IP-Adresse der lokalen Einrichtung (375) ist, und Leiten des Datagramms zu dem LAN zum Routen und Abliefern an die lokale Einrichtung (380).
  12. Verfahren zum Verarbeiten von IP-Datagrammen nach Anspruch 8, ferner mit den folgenden Schritten: Starten eines Timers immer dann, wenn die Zielportadresse auf die lokale IP-Adresse der lokalen Einrichtung (120) beschränkt wird, Zurücksetzen des Timers immer dann, wenn die Zielportadresse freigegeben wurde (130), und Senden eines Signals immer dann, wenn der Timer aktiv ist und eine vorbestimmte Zeitspanne von der Zeit des Startens des Timers an abgelaufen ist (140).
  13. Verfahren zum Verarbeiten von IP-Datagrammen nach Anspruch 11, bei dem das externe Netzwerk (50) das Internet ist.
  14. Verfahren zum Verarbeiten von IP-Datagrammen nach Anspruch 12, bei dem das externe Netzwerk (50) das Internet ist.
  15. Verfahren zum Verarbeiten von IP-Datagrammen nach Anspruch 11, bei dem das LAN (10) ein virtuelles privates Netzwerk ist.
  16. Verfahren zum Verarbeiten von IP-Datagrammen nach Anspruch 12, bei dem das LAN (10) ein virtuelles privates Netzwerk ist.
  17. Maschinenlesbare Speicherung, auf der ein Computerprogramm gespeichert ist, das mehrere Codeteile umfaßt, die durch eine Maschine ausführbar sind, zum Verbinden eines LAN (10) mit einem externen Netzwerk (50) über ein Netzwerkadressenübersetzungsgateway (20), wobei das Gateway eine lokale IP-Adresse, die direkt durch Einrichtungen (15) auf dem LAN (10) referenziert werden kann, und eine externe IP-Adresse, die direkt durch Einrichtungen (35, 30, 40) auf dem externen Netzwerk (50) referenziert werden kann, aufweist, und ferner mit mehreren internen Tabellen (4 und 5a5c), die Kombinationen lokaler IP-Adressen lokaler Einrichtungen auf dem LAN, externe IP-Adressen externer Einrichtungen auf dem externen Netzwerk, Quellenportadressen, Zielportadressen, reservierte Portadressen und eine Liste reservierter Portadressen, einschließlich mindestens Port 500, assoziieren, um zu bewirken, daß die Maschine die folgenden Schritte ausführt: Verarbeiten eines Datagramms aus einer lokalen Einrichtung (15) auf dem LAN (10) durch Empfangen eines Datagramms aus einer lokalen Einrichtung auf dem LAN, das für eine Ablieferung an eine externe Einrichtung auf dem externen Netzwerk (200) bestimmt ist; Bestimmen, ob die Zielportadresse für das Datagramm in der Liste reservierter Portadressen enthalten ist (215), und Bestimmen, ob die Zielportadresse auf eine lokale IP-Adresse auf dem LAN beschränkt ist (220); und wenn die Zielportadresse nicht in der Liste reservierter Portadressen enthalten ist, Durchführen einer NAPT-Übersetzung an dem Datagramm (250) und Leiten des Datagramms zu der externen Einrichtung (255); und wenn die Zielportadresse in der Liste reservierter Portadressen enthalten ist (215) und die Zielportadresse auf eine lokale IP-Adresse beschränkt ist (220), Durchführen einer NAPT-Übersetzung an dem Datagramm (225) und Leiten des Datagramms zu dem externen Netzwerk (230); und wenn die Zielportadresse nicht auf eine lokale IP-Adresse in dem LAN beschränkt ist (220), Modifizieren der Quellen-IP-Adresse des Datagramms, so daß sie die externe IP-Adresse des Gateway ist (235), Anbinden der Zielportadresse an die lokale IP-Adresse der lokalen Einrichtung (240), und Erzeugen einer Assoziation zwischen der Zielportadresse und der externen IP-Adresse der externen Einrichtung (240) und Leiten des Datagramms zu dem externen Netzwerk zum Routen und Abliefern an die externe Einrichtung (245).
  18. Netzwerkadressenübersetzungsgateway nach Anspruch 1, wobei in der Liste reservierter Portadressen Port 500 enthalten ist.
  19. Verfahren nach Anspruch 8, bei dem die Liste gewählter reservierter Portadressen Port 500 umfaßt.
  20. Verfahren nach Anspruch 10, bei dem die Liste der reservierten Portadressen Port 500 umfaßt.
DE60116610T 2000-03-03 2001-02-27 Netzwerkadressenübersetzungsgateway für lokale netzwerke unter verwendung lokaler ip-adressen und nicht übersetzbarer portadressen Expired - Lifetime DE60116610T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US518399 2000-03-03
US09/518,399 US7058973B1 (en) 2000-03-03 2000-03-03 Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses
PCT/US2001/006257 WO2001067258A1 (en) 2000-03-03 2001-02-27 Network address translation gateway for local area networks using local ip addresses and non-translatable port addresses

Publications (2)

Publication Number Publication Date
DE60116610D1 DE60116610D1 (de) 2006-04-06
DE60116610T2 true DE60116610T2 (de) 2006-11-23

Family

ID=24063767

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60116610T Expired - Lifetime DE60116610T2 (de) 2000-03-03 2001-02-27 Netzwerkadressenübersetzungsgateway für lokale netzwerke unter verwendung lokaler ip-adressen und nicht übersetzbarer portadressen

Country Status (14)

Country Link
US (3) US7058973B1 (de)
EP (2) EP1259886B1 (de)
JP (2) JP4634687B2 (de)
KR (2) KR100798660B1 (de)
CN (2) CN1209712C (de)
AT (1) ATE315860T1 (de)
AU (1) AU2001243311B2 (de)
BR (1) BR0109033B1 (de)
CA (1) CA2401103C (de)
DE (1) DE60116610T2 (de)
MX (1) MXPA02008626A (de)
RU (1) RU2241252C2 (de)
TW (1) TW494301B (de)
WO (1) WO2001067258A1 (de)

Families Citing this family (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107614B1 (en) 1999-01-29 2006-09-12 International Business Machines Corporation System and method for network address translation integration with IP security
US7058973B1 (en) * 2000-03-03 2006-06-06 Symantec Corporation Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses
JP3636095B2 (ja) * 2000-05-23 2005-04-06 インターナショナル・ビジネス・マシーンズ・コーポレーション Vpn接続のセキュリティ
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US20030009561A1 (en) 2001-06-14 2003-01-09 Sollee Patrick N. Providing telephony services to terminals behind a firewall and /or network address translator
US7900042B2 (en) * 2001-06-26 2011-03-01 Ncipher Corporation Limited Encrypted packet inspection
US7769865B1 (en) * 2001-10-16 2010-08-03 Sprint Communications Company L.P. Configuring computer network communications in response to detected firewalls
US20030079000A1 (en) * 2001-10-19 2003-04-24 Chamberlain Robert L. Methods and apparatus for configuring multiple logical networks of devices on a single physical network
US7159109B2 (en) 2001-11-07 2007-01-02 Intel Corporation Method and apparatus to manage address translation for secure connections
KR100449809B1 (ko) * 2001-12-27 2004-09-22 한국전자통신연구원 다중 보안 서비스를 제공하는 개선된 아이피 계층에서의패킷 보호 방법
JP2003204326A (ja) 2002-01-09 2003-07-18 Nec Corp 通信システムと暗号処理機能付きlan制御装置、及び通信制御プログラム
KR20030062106A (ko) * 2002-01-16 2003-07-23 한국전자통신연구원 가상 사설망으로부터 데이터 패킷을 수신하는 방법 및 장치
ES2236370T3 (es) * 2002-01-23 2005-07-16 Sony International (Europe) Gmbh Metodo para permitir la negociacion de la calidad de servicio extremo a extremo por utilizacion del protocolo de negociacion extremo a extremo (e2enp).
JP4010830B2 (ja) * 2002-03-05 2007-11-21 富士通株式会社 通信装置およびネットワークシステム
US7243368B2 (en) * 2002-03-29 2007-07-10 Hewlett-Packard Development Company, L.P. Access control system and method for a networked computer system
US7558873B1 (en) 2002-05-08 2009-07-07 Nvidia Corporation Method for compressed large send
US7676579B2 (en) * 2002-05-13 2010-03-09 Sony Computer Entertainment America Inc. Peer to peer network communication
US7243141B2 (en) * 2002-05-13 2007-07-10 Sony Computer Entertainment America, Inc. Network configuration evaluation
CN100433667C (zh) * 2002-05-29 2008-11-12 华为技术有限公司 网络地址转换中私网用户访问资源分配方法
US7143137B2 (en) 2002-06-13 2006-11-28 Nvidia Corporation Method and apparatus for security protocol and address translation integration
US7143188B2 (en) 2002-06-13 2006-11-28 Nvidia Corporation Method and apparatus for network address translation integration with internet protocol security
US7191331B2 (en) 2002-06-13 2007-03-13 Nvidia Corporation Detection of support for security protocol and address translation integration
JP4426443B2 (ja) * 2002-06-13 2010-03-03 エヌヴィディア コーポレイション ネットワークを経て通信するための改善セキュリティ方法及び装置
US7120930B2 (en) 2002-06-13 2006-10-10 Nvidia Corporation Method and apparatus for control of security protocol negotiation
GB2418821B (en) * 2002-06-13 2006-08-09 Nvidia Corp Method and apparatus for enhanced security for communication over a network
JP3564117B2 (ja) * 2002-07-01 2004-09-08 株式会社バッファロー 無線lan装置
KR100878764B1 (ko) * 2002-07-06 2009-01-14 삼성전자주식회사 사용자의 익명성보장을 위한 무선 랜 시스템 및 사용자의익명성 보장방법
US7437548B1 (en) 2002-07-11 2008-10-14 Nvidia Corporation Network level protocol negotiation and operation
JP4056849B2 (ja) * 2002-08-09 2008-03-05 富士通株式会社 仮想閉域網システム
US6826627B2 (en) 2002-09-03 2004-11-30 Burnbag, Ltd. Data transformation architecture
FR2844949B1 (fr) * 2002-09-24 2006-05-26 Radiotelephone Sfr Procede de gestion d'une configuration d'une passerelle par un utilisateur de la passerelle
CZ298394B6 (cs) * 2002-10-01 2007-09-19 Anect A. S. Komunikacní infrastruktura spolupracující korporace
KR100479261B1 (ko) 2002-10-12 2005-03-31 한국전자통신연구원 네트워크 주소 변환 상에서의 데이터 전송 방법 및 장치
TWI220344B (en) * 2002-10-23 2004-08-11 Winbond Electronics Corp Manufacture and method for accelerating network address translation
US7921285B2 (en) * 2002-12-27 2011-04-05 Verizon Corporate Services Group Inc. Means of mitigating denial of service attacks on IP fragmentation in high performance IPsec gateways
US7290134B2 (en) * 2002-12-31 2007-10-30 Broadcom Corporation Encapsulation mechanism for packet processing
CN1311664C (zh) * 2003-03-05 2007-04-18 华为技术有限公司 在分布式网络交换系统中实现的端口捆绑方法
US7634805B2 (en) * 2003-03-05 2009-12-15 Microsoft Corporation Use of network address translation for implementation of stateful routing
DE10310351A1 (de) 2003-03-10 2004-09-23 Giesecke & Devrient Gmbh Laden von Mediendaten in einen tragbaren Datenträger
CN100356743C (zh) * 2003-06-03 2007-12-19 华为技术有限公司 网关地址和网络地址转换地址池中地址重叠的实现方法
CN1331328C (zh) * 2003-06-06 2007-08-08 华为技术有限公司 一种基于身份认证的地址转换方法
CN100356752C (zh) * 2003-06-14 2007-12-19 华为技术有限公司 一种网络地址资源的利用方法
US20050021839A1 (en) * 2003-06-23 2005-01-27 Russell Thomas C. Method and apparatus for providing a selectively isolated equipment area network for machine elements with data communication therebetween and with remote sites
US7620070B1 (en) 2003-06-24 2009-11-17 Nvidia Corporation Packet processing with re-insertion into network interface circuitry
US7913294B1 (en) 2003-06-24 2011-03-22 Nvidia Corporation Network protocol processing for filtering packets
KR100568178B1 (ko) 2003-07-18 2006-04-05 삼성전자주식회사 게이트웨이 장치 및 그 제어방법
CN1571440A (zh) * 2003-07-25 2005-01-26 中兴通讯股份有限公司 一种跨越私网实现多媒体呼叫的系统和方法
JP2005051473A (ja) * 2003-07-28 2005-02-24 Sony Corp ネットワーク相互接続装置及びネットワーク相互接続方法、名前解決装置、並びにコンピュータ・プログラム
CN100463551C (zh) * 2003-08-14 2009-02-18 中兴通讯股份有限公司 一种在移动通信系统中实现加密通信的系统和方法
CN100359893C (zh) * 2003-08-28 2008-01-02 华为技术有限公司 以主机代理方式实现地址转换应用网关的方法
US8687485B1 (en) * 2003-09-12 2014-04-01 Rockstar Consortium USLP Method and apparatus for providing replay protection in systems using group security associations
CN1317874C (zh) * 2003-09-27 2007-05-23 财团法人资讯工业策进会 提供虚拟主机服务快速查询置换的网络地址端口转换网关器与方法
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
CN100454882C (zh) * 2003-12-19 2009-01-21 华为技术有限公司 多isp局域网的出口选择方法及装置
US7992199B1 (en) * 2003-12-31 2011-08-02 Honeywell International Inc. Method for permitting two parties to establish connectivity with both parties behind firewalls
EP1562346A1 (de) * 2004-02-06 2005-08-10 Matsushita Electric Industrial Co., Ltd. Verfahren und System für den zuverlässigen Abbau von IPSec-Sicherheitsverbindungen
US7895648B1 (en) * 2004-03-01 2011-02-22 Cisco Technology, Inc. Reliably continuing a secure connection when the address of a machine at one end of the connection changes
US8186026B2 (en) * 2004-03-03 2012-05-29 Rockstar Bidco, LP Technique for maintaining secure network connections
US8738159B2 (en) * 2004-03-15 2014-05-27 Siemens Industry, Inc. System and method for accessing PLC data on demand
US7539858B2 (en) * 2004-04-05 2009-05-26 Nippon Telegraph And Telephone Corporation Packet encryption substituting device, method thereof, and program recording medium
US7422152B2 (en) 2004-05-13 2008-09-09 Cisco Technology, Inc. Methods and devices for providing scalable RFID networks
FI20045234A0 (fi) * 2004-06-21 2004-06-21 Nokia Corp Datan lähetys viestintäjärjestelmässä
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
EP1771979B1 (de) 2004-07-23 2011-11-23 Citrix Systems, Inc. Verfahren und system zur sicherung von zugriff aus der ferne auf private netze
CA2574776A1 (en) 2004-07-23 2006-02-02 Citrix Systems, Inc. Systems and methods for optimizing communications between network nodes
JP2008510232A (ja) 2004-08-13 2008-04-03 サイトリックス システムズ, インコーポレイテッド 多数のリモートアクセスサーバにわたる処理整合性を維持する方法
CN1756259B (zh) * 2004-09-27 2011-04-20 国际商业机器公司 因特网协议网络中使用网络地址翻译的方法和系统
TWI253818B (en) * 2004-10-29 2006-04-21 Benq Corp Transparent address translation methods
US8458467B2 (en) * 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
US7664879B2 (en) * 2004-11-23 2010-02-16 Cisco Technology, Inc. Caching content and state data at a network element
US7987272B2 (en) 2004-12-06 2011-07-26 Cisco Technology, Inc. Performing message payload processing functions in a network element on behalf of an application
US7725934B2 (en) 2004-12-07 2010-05-25 Cisco Technology, Inc. Network and application attack protection based on application layer message inspection
US8082304B2 (en) * 2004-12-10 2011-12-20 Cisco Technology, Inc. Guaranteed delivery of application layer messages by a network element
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
AU2005321876B2 (en) * 2004-12-31 2011-07-07 Ntrepid, Llc System for protecting identity in a network environment
CN102104632B (zh) 2005-01-24 2012-08-22 茨特里克斯系统公司 在网络中对动态产生的对象执行缓存的系统和方法
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
CN100414929C (zh) * 2005-03-15 2008-08-27 华为技术有限公司 一种移动互联网协议网络中的报文传送方法
US7703124B2 (en) * 2005-03-31 2010-04-20 Hewlett-Packard Development Company, L.P. System and method for implementing a private virtual backbone on a common network infrastructure
JP4768324B2 (ja) * 2005-06-07 2011-09-07 株式会社東芝 無線通信機器
US8266327B2 (en) * 2005-06-21 2012-09-11 Cisco Technology, Inc. Identity brokering in a network element
JP5159619B2 (ja) * 2005-06-22 2013-03-06 ザ・ジョンズ・ホプキンス・ユニバーシティ 卵巣癌のバイオマーカー:ctap3関連タンパク質
IES20050439A2 (en) * 2005-06-30 2006-08-09 Asavie R & D Ltd A method of network communication
KR100799575B1 (ko) * 2005-12-07 2008-01-30 한국전자통신연구원 IPv6 네트워크에서 이동노드에게 VPN 서비스를제공하는 방법 및 이를 위한 게이트웨이
US7345585B2 (en) 2005-08-01 2008-03-18 Cisco Technology, Inc. Network based device for providing RFID middleware functionality
US7672289B2 (en) * 2005-08-09 2010-03-02 Mitsubishi Electric Research Laboratories, Inc. Method for defining, allocating and assigning addresses in ad hoc wireless networks
US20070079366A1 (en) * 2005-10-03 2007-04-05 Microsoft Corporation Stateless bi-directional proxy
US20070088815A1 (en) * 2005-10-13 2007-04-19 Kenneth Ma Automated setup and test confirmation of dynamic DNS service
CN100477671C (zh) * 2005-12-16 2009-04-08 中国科学院计算技术研究所 Pat模式下支持多会话应用层协议的网络地址转换方法
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
CN101047711B (zh) * 2006-04-27 2010-08-18 华为技术有限公司 Ip报文传输、协商带宽节省能力和节省网络带宽的方法
US7797406B2 (en) * 2006-07-27 2010-09-14 Cisco Technology, Inc. Applying quality of service to application messages in network elements based on roles and status
US7539189B2 (en) * 2006-08-01 2009-05-26 Cisco Technology, Inc. Apparatus and methods for supporting 802.1X in daisy chained devices
US8079077B2 (en) 2006-08-08 2011-12-13 A10 Networks, Inc. System and method for distributed multi-processing security gateway
CN101155183B (zh) * 2006-09-29 2012-02-08 松下电器产业株式会社 处理巢状网际网络安全协议信道的方法及网络装置
JP4708297B2 (ja) * 2006-09-29 2011-06-22 富士通テレコムネットワークス株式会社 IPsecの複数セッションを処理する通信装置
US8095786B1 (en) * 2006-11-09 2012-01-10 Juniper Networks, Inc. Application-specific network-layer virtual private network connections
CN100525251C (zh) * 2006-11-30 2009-08-05 中国科学院计算技术研究所 一种网络地址转换方法
CN101072102B (zh) * 2007-03-23 2010-10-06 南京联创科技集团股份有限公司 网络环境下基于安全桌面的信息防泄漏技术
US8621552B1 (en) * 2007-05-22 2013-12-31 Skybox Security Inc. Method, a system, and a computer program product for managing access change assurance
US7729366B2 (en) * 2007-10-03 2010-06-01 General Instrument Corporation Method, apparatus and system for network mobility of a mobile communication device
CN101227494B (zh) * 2008-01-09 2013-06-12 中兴通讯股份有限公司 接入多分组数据网时因特网安全协议安全联盟的建立方法
US7817636B2 (en) * 2008-01-30 2010-10-19 Cisco Technology, Inc. Obtaining information on forwarding decisions for a packet flow
KR20090092503A (ko) * 2008-02-27 2009-09-01 주식회사 휴커넥스 하나의 아이피 주소로 복수의 아이피 장비들을 지원할 수있는 멀티포트 장치
US8228848B2 (en) * 2008-11-17 2012-07-24 Sierra Wireless, Inc. Method and apparatus for facilitating push communication across a network boundary
US8924486B2 (en) * 2009-02-12 2014-12-30 Sierra Wireless, Inc. Method and system for aggregating communications
GB2478470B8 (en) 2008-11-17 2014-05-21 Sierra Wireless Inc Method and apparatus for network port and netword address translation
US20100235689A1 (en) * 2009-03-16 2010-09-16 Qualcomm Incorporated Apparatus and method for employing codes for telecommunications
US8874785B2 (en) * 2010-02-15 2014-10-28 Damaka, Inc. System and method for signaling and data tunneling in a peer-to-peer environment
US8356087B1 (en) * 2010-08-24 2013-01-15 Amazon Technologies, Inc. Automatically configuring virtual private networks
US20120269059A1 (en) * 2010-10-19 2012-10-25 Qualcomm Incorporated Methods and apparatus for contemporaneously providing quality of service functionality and local ip access
US9143480B2 (en) * 2011-01-10 2015-09-22 Secure Global Solutions, Llc Encrypted VPN connection
US9258271B1 (en) * 2011-01-13 2016-02-09 Google Inc. Network address translation for virtual machines
WO2012106820A1 (en) 2011-02-08 2012-08-16 Sierra Wireless, Inc. Method and system for forwarding data between network devices
WO2012145915A1 (zh) * 2011-04-29 2012-11-01 北京中天安泰信息科技有限公司 数据安全读取方法及装置
US8838735B2 (en) 2011-06-28 2014-09-16 At&T Intellectual Property I, L.P. Methods, systems, and products for address translation in residential networks
US8438240B2 (en) * 2011-09-27 2013-05-07 Cloudflare, Inc. Distributing transmission of requests across multiple IP addresses of a proxy server in a cloud-based proxy service
US8621038B2 (en) 2011-09-27 2013-12-31 Cloudflare, Inc. Incompatible network gateway provisioned through DNS
US9258272B1 (en) * 2011-10-21 2016-02-09 Juniper Networks, Inc. Stateless deterministic network address translation
US9178846B1 (en) 2011-11-04 2015-11-03 Juniper Networks, Inc. Deterministic network address and port translation
KR20130052240A (ko) * 2011-11-11 2013-05-22 삼성전자주식회사 네트워크 주소 변환기 통과 기법을 프로비저닝하기 위한 방법 및 장치
CN103139189B (zh) * 2011-12-05 2017-03-22 京信通信系统(中国)有限公司 一种IPSec隧道共用方法、系统及设备
US9118618B2 (en) 2012-03-29 2015-08-25 A10 Networks, Inc. Hardware-based packet editor
US8891540B2 (en) 2012-05-14 2014-11-18 Juniper Networks, Inc. Inline network address translation within a mobile gateway router
US9596286B2 (en) 2012-05-25 2017-03-14 A10 Networks, Inc. Method to process HTTP header with hardware assistance
CN108027805B (zh) 2012-09-25 2021-12-21 A10网络股份有限公司 数据网络中的负载分发
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US10027761B2 (en) 2013-05-03 2018-07-17 A10 Networks, Inc. Facilitating a secure 3 party network session by a network device
JP6489019B2 (ja) * 2013-10-09 2019-03-27 日本電気株式会社 通信システム、通信装置および通信制御方法
CN103797774B (zh) * 2013-11-05 2017-07-21 华为技术有限公司 一种网络地址转换设备及方法
CN103607403A (zh) * 2013-11-26 2014-02-26 北京星网锐捷网络技术有限公司 一种nat网络环境下使用安全域的方法、装置和系统
ES2815568T3 (es) * 2014-02-06 2021-03-30 E^Nat Tech Llc Sistemas y métodos para proporcionar una arquitectura de enlace seguro múltiple
CN103942499B (zh) * 2014-03-04 2017-01-11 中天安泰(北京)信息技术有限公司 基于移动存储器的数据黑洞处理方法及移动存储器
US10020979B1 (en) 2014-03-25 2018-07-10 A10 Networks, Inc. Allocating resources in multi-core computing environments
US9806943B2 (en) 2014-04-24 2017-10-31 A10 Networks, Inc. Enabling planned upgrade/downgrade of network devices without impacting network sessions
US9525627B2 (en) 2014-05-27 2016-12-20 Google Inc. Network packet encapsulation and routing
US10129207B1 (en) 2015-07-20 2018-11-13 Juniper Networks, Inc. Network address translation within network device having multiple service units
CN107925914B (zh) * 2015-08-21 2021-05-11 瑞典爱立信有限公司 分组数据网络上的非ip数据的通信
US10038672B1 (en) * 2016-03-29 2018-07-31 EMC IP Holding Company LLC Virtual private network sessions generation
CN106330653A (zh) * 2016-08-30 2017-01-11 成都极玩网络技术有限公司 基于轻量级安全虚拟专用网的智能分流网关
US10469446B1 (en) 2016-09-27 2019-11-05 Juniper Networks, Inc. Subscriber-aware network address translation
JP2018067248A (ja) * 2016-10-21 2018-04-26 富士通株式会社 制御プログラム、制御方法、及び情報処理装置
KR101920190B1 (ko) * 2016-11-22 2019-02-08 한국인터넷진흥원 임의의 ip 생성 방법 및 그 장치
US10594829B2 (en) * 2017-05-24 2020-03-17 At&T Intellectual Property I, L.P. Cloud workload proxy as link-local service configured to access a service proxy gateway via a link-local IP address to communicate with an external target service via a private network
US10565062B1 (en) * 2017-08-03 2020-02-18 Veritas Technologies Llc Systems and methods for managing replication of data to a remote storage device
CN107547690B (zh) * 2017-09-25 2021-06-18 新华三信息安全技术有限公司 Nat中的端口分配方法、装置、nat设备及存储介质
CN107943438A (zh) * 2017-12-21 2018-04-20 国网河北省电力有限公司衡水供电分公司 无人值守变电站的办公优化方法
US10791091B1 (en) * 2018-02-13 2020-09-29 Architecture Technology Corporation High assurance unified network switch
CN110858229B (zh) 2018-08-23 2023-04-07 阿里巴巴集团控股有限公司 数据处理方法、设备、访问控制系统及存储介质
CN109152096B (zh) * 2018-09-27 2020-09-25 安科讯(福建)科技有限公司 Eps架构的报文传输方法及计算机可读存储介质
CN110138748B (zh) * 2019-04-23 2020-10-23 北京交通大学 一种网络融合通信方法、网关设备和系统
JP7309443B2 (ja) * 2019-05-14 2023-07-18 キヤノン株式会社 印刷装置、制御方法及びプログラム
CN112671939B (zh) * 2020-08-17 2022-07-05 紫光云技术有限公司 一种区分nat删除和nat解绑弹性公网ip的方法
US11394686B1 (en) * 2021-02-25 2022-07-19 Nvidia Corporation Dynamic network address translation using prediction
CN113794788B (zh) * 2021-09-14 2023-07-25 北京百度网讯科技有限公司 网关导流方法、系统、装置、设备、存储介质及产品

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727370A (en) * 1985-12-17 1988-02-23 Ampex Corporation Method and system for synchronous handshake generation
US5577209A (en) * 1991-07-11 1996-11-19 Itt Corporation Apparatus and method for providing multi-level security for communication among computers and terminals on a network
AU1829897A (en) * 1996-01-16 1997-08-11 Raptor Systems, Inc. Transferring encrypted packets over a public network
AU1748797A (en) 1996-01-16 1997-08-11 Raptor Systems, Inc. Key management for network communication
US5781550A (en) * 1996-02-02 1998-07-14 Digital Equipment Corporation Transparent and secure network gateway
KR100317443B1 (ko) * 1996-04-24 2002-01-16 블레이어 에프.모리슨 인터넷프로토콜필터
US5983350A (en) * 1996-09-18 1999-11-09 Secure Computing Corporation Secure firewall supporting different levels of authentication based on address or encryption status
FI105753B (fi) * 1997-12-31 2000-09-29 Ssh Comm Security Oy Pakettien autentisointimenetelmä verkko-osoitemuutosten ja protokollamuunnosten läsnäollessa
US6353614B1 (en) * 1998-03-05 2002-03-05 3Com Corporation Method and protocol for distributed network address translation
US6055236A (en) * 1998-03-05 2000-04-25 3Com Corporation Method and system for locating network services with distributed network address translation
US7032242B1 (en) * 1998-03-05 2006-04-18 3Com Corporation Method and system for distributed network address translation with network security features
US6006259A (en) * 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system
US6691168B1 (en) * 1998-12-31 2004-02-10 Pmc-Sierra Method and apparatus for high-speed network rule processing
US6330562B1 (en) * 1999-01-29 2001-12-11 International Business Machines Corporation System and method for managing security objects
US6615357B1 (en) * 1999-01-29 2003-09-02 International Business Machines Corporation System and method for network address translation integration with IP security
US6449251B1 (en) * 1999-04-02 2002-09-10 Nortel Networks Limited Packet mapper for dynamic data packet prioritization
US6957346B1 (en) * 1999-06-15 2005-10-18 Ssh Communications Security Ltd. Method and arrangement for providing security through network address translations using tunneling and compensations
US6347376B1 (en) * 1999-08-12 2002-02-12 International Business Machines Corp. Security rule database searching in a network security environment
US7058973B1 (en) * 2000-03-03 2006-06-06 Symantec Corporation Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses
JP3597756B2 (ja) * 2000-06-09 2004-12-08 日本電信電話株式会社 ネットワークアドレス変換装置およびvpnクライアント多重化システム

Also Published As

Publication number Publication date
KR20020079979A (ko) 2002-10-21
EP1259886A1 (de) 2002-11-27
US8165140B2 (en) 2012-04-24
EP1130846A3 (de) 2003-09-24
KR100798660B1 (ko) 2008-01-28
BR0109033A (pt) 2003-06-03
ATE315860T1 (de) 2006-02-15
CA2401103C (en) 2007-04-10
AU2001243311B2 (en) 2003-12-18
WO2001067258A1 (en) 2001-09-13
AU4331101A (en) 2001-09-17
JP4634687B2 (ja) 2011-02-16
US7058973B1 (en) 2006-06-06
CA2401103A1 (en) 2001-09-13
US7581247B2 (en) 2009-08-25
EP1259886A4 (de) 2004-04-28
CN1408088A (zh) 2003-04-02
JP2003526270A (ja) 2003-09-02
EP1130846A2 (de) 2001-09-05
CN1209712C (zh) 2005-07-06
MXPA02008626A (es) 2003-02-24
TW494301B (en) 2002-07-11
US20060185010A1 (en) 2006-08-17
DE60116610D1 (de) 2006-04-06
RU2241252C2 (ru) 2004-11-27
JP2001313679A (ja) 2001-11-09
KR20010087322A (ko) 2001-09-15
EP1259886B1 (de) 2006-01-11
US20090059940A1 (en) 2009-03-05
CN1332552A (zh) 2002-01-23
RU2002126235A (ru) 2004-03-27
BR0109033B1 (pt) 2015-03-10

Similar Documents

Publication Publication Date Title
DE60116610T2 (de) Netzwerkadressenübersetzungsgateway für lokale netzwerke unter verwendung lokaler ip-adressen und nicht übersetzbarer portadressen
DE69831974T2 (de) Verfahren zur paketauthentifizierung in gegenwart von netzwerkadressübersetzungen und protokollumwandlungen
DE602004007301T2 (de) Adressierungs-verfahren und -vorrichtung zum aufbau von hip-verbindungen zwischen gewöhnlichen und hip-fähigen netzknoten
DE10052312B4 (de) Automatische Sperre gegen unberechtigten Zugriff im Internet (Snoop Avoider) für virtuelle private Netze
DE10052311B4 (de) Manuelles Verhindern des unerlaubten Mithörens in einem virtuellen privaten Netzwerk über das Internet
DE60224917T2 (de) Verfahren und Vorrichtung zur Fragmentierung und Wiederzusammensetzung von Internet Key Exchange Paketen
DE60121101T2 (de) Gesichtertes Kommunikationsverfahren, gesichtertes Kommunikationssystem und Gerät
DE60203433T2 (de) Externer Zugriff auf eine gesicherte Vorrichtung in einem privaten Netzwerk
DE60311898T2 (de) Verfahren, um ein Paket von einem ersten IPSeC Klienten zu einem zweiten IPSec Klienten über einen L2TP Tunnel zu übertragen
DE60315521T2 (de) Kreuzungen von virtuellen privaten Netzwerken basierend auf Zertifikaten
DE69333852T2 (de) Verfahren, Gerät und Anordnung zur Verschlüsselung von Daten die über verbundene Netze übertragen werden
DE60019997T2 (de) Ggesicherte Kommunikation mit mobilen Rechnern
DE19741246C2 (de) Vorrichtung und Verfahren zur Erhöhung der Sicherheit in Netzwerken
DE60133241T2 (de) Mehranwendung-sicherheitsrelais
DE602004007303T2 (de) Identifizierungs-verfahren und -vorrichtung zum aufbau von hip-verbindungen zwischen gewöhnlichen und hip-fähigen netzknoten
DE60130042T2 (de) Verteilte server-funktionalität für ein emuliertes lan
DE60121755T2 (de) Ipsec-verarbeitung
DE60024237T2 (de) Verfahren und system zur netzwerkadressübersetzung mit sicherheitseigenschaften
DE10008519C1 (de) Verfahren und Kommunikationseinrichtungen zum Aufbau von gesicherten E-Mail-Verkehr zwischen Mail-Domains des Internet
DE60018913T2 (de) Verfahren und Apparat um mit Apparate zu kommunizieren die nicht zum selben virtuellen privaten Netzwerk (VPN) gehören
EP1593253B1 (de) Verfahren und anordnung zur transparenten vermittlung des datenverkehrs zwischen datenverarbeitungseinrichtungen sowie ein entsprechendes computerprogamm-erzeugnis und ein entsprechendes computerlesbares speichermedium
DE60313501T2 (de) System und Verfahren zur Verwaltung passiver Netzwerkeinrichtungen unter Verwendung von Umsetzverbindungen
DE69636513T2 (de) System zur sicherung des flusses und zur selektiven veränderung von paketen in einem rechnernetz
DE102007001831A1 (de) Verfahren und System zur Adressierung und zum Routing bei verschlüsselten Kommunikationsbeziehungen
DE10392807B9 (de) Verfahren und Vorrichtung für eine verbesserte Sicherheit für eine Kommunikation über ein Netzwerk

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: SYMANTEC CORP., CUPERTINO, CALIF., US