DE60210927T2 - Verfahren und Vorrichtung zur Zulassung der Datenübertragung über Firewalls - Google Patents

Verfahren und Vorrichtung zur Zulassung der Datenübertragung über Firewalls Download PDF

Info

Publication number
DE60210927T2
DE60210927T2 DE60210927T DE60210927T DE60210927T2 DE 60210927 T2 DE60210927 T2 DE 60210927T2 DE 60210927 T DE60210927 T DE 60210927T DE 60210927 T DE60210927 T DE 60210927T DE 60210927 T2 DE60210927 T2 DE 60210927T2
Authority
DE
Germany
Prior art keywords
computer
internal
network address
external
port
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
DE60210927T
Other languages
English (en)
Other versions
DE60210927T3 (de
DE60210927D1 (de
Inventor
Christopher West Vancouver PICHE
Md. Shahadatullah North Vancouver KHAN
Everett David North Vancouver MARWOOD
Michael Gibsons CHUNG
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.)
Eyeball Networks Inc
Original Assignee
Eyeball Networks 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23026907&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60210927(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Eyeball Networks Inc filed Critical Eyeball Networks Inc
Application granted granted Critical
Publication of DE60210927D1 publication Critical patent/DE60210927D1/de
Publication of DE60210927T2 publication Critical patent/DE60210927T2/de
Publication of DE60210927T3 publication Critical patent/DE60210927T3/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/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • 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/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • 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/2521Translation architectures other than single NAT servers
    • H04L61/2535Multiple local networks, e.g. resolving potential IP address conflicts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2578NAT traversal without involvement of the NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

  • Technisches Gebiet
  • Diese Erfindung bezieht sich auf das Gebiet der Datenübertragung über ein Computernetzwerk und insbesondere auf Verfahren zum Zulassen von Datenübertragungen unter Verwendung von auf Paketen basierenden Übertragungsprotokollendurchgang durch Firewalls.
  • Stand der Technik
  • Mit weiträumigen Netzen wie dem Internet verbundene Computer sind im Allgemeinen durch Firewalls geschützt. Firewalls werden im Allgemeinen verwendet zum Schutz von Computern, die lokalen Netzen arbeiten, aber sie können auch verwendet werden zum Schutz zum individuellen Computern einschließlich Servern, die zu einem weiträumigen Netz zugreifen. In dieser Anmeldung umfasst der Begriff "Klientencomputer" jeden Computer mit Zugriff zu einem weiträumigen Netz, und auch ein Programm, mit dem ein derartiger Computer arbeitet. Ein derartiger Computer kann, muss jedoch nicht, mit einem lokalen Netz zusammenarbeiten, und er kann die Funktionen eines Servers für das weiträumige Netz durchführen.
  • Firewalls führen typischerweise eine Anzahl von Funktionen durch. Sie schützen interne Computer gegenüber externen Computern in dem weiträumigen Netz, während sie internen Computern ermöglichen, zu dem weiträumigen Netz zuzugreifen. Firewalls können auch die Verwaltung des lokalen Netzes effizienter machen, in dem sie einer großen Anzahl von Klientencomputern ermöglichen, einen begrenzten Pool von Internet-Protokoll(IP)-Adressen in dem weiträumigen Netz zu teilen, und durch Anpassen an Änderungen innerhalb des lokalen Netzes, ohne dass der Zugriff zu den anderen Computern in dem weiträumigen Netzwerk neu konfiguriert werden muss.
  • Eine Firewall ist typischerweise ein Programm oder eine Sammlung von auseinander bezogenen Programmen bei einem Netzgatewayserver, die jedes Netzpaket prüfen, um zu bestimmen, ob es zu seinem Bestimmungsort weitergeleitet wird. Um eine Barriere zwischen einem internen Computer und dem externen weiträumigen netz zu schaffen, verwenden Firewalls üblicherweise eine NAT (Netzadressenumsetzung) oder NAPT (Netzadressen- und Port(Tor)-Umsetzung). NAT ist die Umsetzung einer internen IP-Adresse, die von einem Klientencomputer verwendet wird (und innerhalb des internen Netzes bekannt ist, wenn der Klientencomputer mit einem zusammenarbeitet), in eine unterschiedliche IP-Adresse, die innerhalb des externen weiträumigen Netzes bekannt ist. Die Firewall kartiert interne IP-Adressen in eine oder mehr globale externe IP-Adressen, und kartiert in umgekehrter Richtung die externen IP-Adressen in eintreffenden Paketen zurück in interne IP-Adressen. NAPT ist die Umsetzung sowohl von internen IP-Adressen als auch internen Ports in unterschiedliche externe IP-Adressen und externe Ports, die innerhalb des externen Netzwerks bekannt sind. Firewalls, die NAPT verwenden, schirmen üblicherweise eintreffende Pakete ab, um sicherzustellen, dass sie von einer vorher identifizierten IP-Adresse und Port kommen. D.h., eine Anforderung von einer besonderen IP-Adresse und einem Port geht nur durch die Firewall hindurch, wenn vorher eine Anforderung von der Firewall zu dieser IP-Adresse und dem Port herausgegangen ist.
  • Die Datenübertragung über das Internet ist ein alltäglicher Vorgang geworden. Viele Internet-Datenübertragungen werden verwendet, um Audio- und/oder Videodaten von einem direkt oder auf Anforderung übertragenden, im streaming-arbeitenden Server zu im Streaming-Betrieb arbeitenden Klienten zu transportieren, eine interaktive Echtzeit-Kommunikation (wie "chaten") zwischen Klientencomputern vorzusehen, den Inhalt von Netzseiten von Netzservern zu Netzklienten zu transportieren, und für viele andere Typen von Kommunikation zwischen vernetzten Programmen. Unterschiedliche Protokolle werden verwendet, um unterschiedliche Typen von Daten zu übertragen. Beispielsweise wird Textchaten im Allgemeinen unter Verwendung des Transmission Control Protocol (TCP) übertragen, während Audio/Video-Konferenzdaten und Direkt-Streaming von Audio/Video-Daten im Allgemeinen unter Verwendung des UDP (User Datagram Protocol) übertragen werden. Kommunikationen über einen direkt mit dem Internet verbundenen Server (d.h., nicht hinter einer Firewall) werden im Allgemeinen nicht durch klienten seitige Firewalls behindert; die Tätigkeit des Anmeldens bei einem Server öffnet im Allgemeinen einen Rückkehrpfad von dem Server durch die Firewall. Jedoch blockieren Firewalls im Allgemeinen die direkte Kommunikation von Klient zu Klient oder von "Gleichem zu Gleichem". Eine versuchte Lösung besteht darin, bestimmte Ports in der Firewall zu öffnen, aber diese Lösung (i) erfordert die Modifikation der Firewalleinstellungen, die die meisten Netzadministratoren widerstrebend durchführen und (ii) arbeitet nicht bei Firewalls, die jede Sorte von Portumsetzung durchführen. Die vorliegende Erfindung liefert ein Verfahren zum Zulassen von auf Paketen basierender Datenübertragung zur Durchquerung von Firewalls, die entweder NAPT oder NAT verwenden, ohne die Firewalleinstellungen zu ändern. Die Erfindung ist offenbart in dem Kontext einer NAPT verwendenden Firewall, welche der allgemeinere Fall ist. Jedoch ist das durch die Erfindung erhaltene Verfahren gleichermaßen anwendbar auf eine NAT verwendende Firewall sowie auch auf andere Typen von Vorrichtungen wie Router, die entweder NAPT oder NAT verwenden.
  • Der betreffende Stand der Technik enthält: Eschenburg, A.: "Wo laufen Sie denn? ICQ Haelt Verbindung zu Bekannten", CT Magazin für Computertechnik, Verlag Heinz Heise GmbH, Hannover, DE, XP000779803; und Rosenberg J et al: "Getting SIP Through Firewalls and NATs", Internet Draft, XP002167710.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung ist ein Verfahren zum Senden eines UDP-Datenpakets von einem ersten Computer zu einem zweiten Computer über ein weiträumiges Computernetz vorgesehen, welcher erste Computer eine erste interne Netzadresse und einen bestimmten internen Port hat, von denen er das UDP-Datenpaket senden wird, und welcher zweite Computer eine zweite interne Netzadresse und ein bestimmtes internes Tor, an denen er das UDP-Datenpaket empfangen wird, hat, wobei der erste Computer durch eine erste Firewall geschützt ist, die die erste interne Netzadresse in eine erste externe Netzadresse umsetzt, wenn über das weiträumige Computernetz kommuniziert wird, und der zweite Computer durch eine zweite Firewall geschützt ist, die die zweite interne Netzadresse in eine zweite externe Netzadresse umsetzt, wenn über das weiträumige Computernetz kommuniziert wird, welche erste und zweite Firewall über das weiträumige Computernetzwerk kommunizieren, gekennzeichnet durch das Verfahren, das einen bestimmten Empfangscomputer in Kommunikation mit dem ersten und zweiten Computer über das weiträumige Computernetz verwendet, welches Verfahren aufweist:
    • a) der erste Computer sendet ein erstes UDP-Datenpaket zu dem bestimmten Empfängercomputer unter Verwendung seines bestimmten internen Sendeports, und der zweite Computer sendet ein zweites UDP-Datenpaket zu dem bestimmten Empfängercomputer unter Verwendung seines bestimmten internen Empfangsports;
    • b) der bestimmte Empfängercomputer teilt den zweiten Computer die erste externe Netzadresse und den bestimmten internen Sendeport, das von dem ersten UDP-Datenpaket bestimmt wurde, mit, und teilt dem ersten Computer die zweite externe Netzadresse und das bestimmte interne Empfangsport, das von dem zweiten UDP-Datenpaket bestimmt wurde, mit;
    • c) der zweite Computer sendet ein UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangsports zu der ersten externen Netzadresse und dem bestimmten internen Sendeport des ersten Computers; und
    • d) der erste Computer sendet ein UDP-Daten paket unter Verwendung seines bestimmten internen Sendeports zu der zweiten externen Netzadresse und dem bestimmten internen Empfangsport des zweiten Computers.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist ein Verfahren zum Ermöglichen einer Zweiwegeübertragung von UDP-Datenpaketen zwischen einem ersten Computer und einem zweiten Computer über ein weiträumiges Computernetz vorgesehen, wobei sowohl der erste als auch der zweite Computer eine interne Netzadresse, ein bestimmtes internes Port, von dem er die UDP-Datenpaketen senden wird, und ein bestimmtes internes Port, an dem er die UDP-Datenpakete empfangen wird, hat, wobei der erste Computer durch eine erste Firewall geschützt ist, die die erste interne Netzadresse des ersten Computers in eine erste externe Netzadresse umsetzt, wenn über das weiträumige Computernetz kommuniziert wird, und der zweite Computer durch eine zweite Firewall geschützt ist, die die zweite interne Netzadresse in eine zweite externe Netzadresse umsetzt, wenn über das weiträumige Computernetzwerk kommuniziert wird, welche erste und zweite Firewall über das weiträumige Computernetz kommunizieren, dadurch gekennzeichnet, dass das Verfahren einen bestimmten Empfängercomputer in Kommunikation mit dem ersten und dem zweiten Computer über das weiträumige Computernetz verwendet, welches Verfahren aufweist:
    • a) der erste Computer sendet zwei UDP-Datenpakete zu dem bestimmten Empfängercomputer, wobei das eine unter Verwendung des bestimmten internen Sendeports des ersten Computers gesendet wird und das andere unter Verwendung des bestimmten internen Empfangsports des ersten Computers gesendet wird, und der zweite Computer zwei UDP-Datenpakete zu dem bestimmten Empfängercomputer sendet, wobei das eine un ter Verwendung des bestimmten internen Sendeports des zweiten Computers gesendet wird und das andere unter Verwendung des bestimmten internen Empfangsports des zweiten Computers gesendet wird;
    • b) der bestimmte Empfängercomputer teilt dem zweiten Computer die erste externe Netzadresse, das bestimmte interne Sendeport und das bestimmte interne Empfangsport des ersten Computers mit, das aus den von dem ersten Computer gesendeten Datenpaketen bestimmt wurde, mit, und dem ersten Computer die zweite externe Netzadresse, das bestimmte interne Sendeport und das bestimmte interne Empfangsport des zweiten Computers, das aus den von dem zweiten Computer gesendeten Datenpaketen bestimmt wurde, mit;
    • c) der zweite Computer sendet ein UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangsport zu der ersten externen Netzadresse und dem bestimmten internen Sendeport des ersten Computers, und der erste Computer sendet ein UDP-Paket unter Verwendung seines bestimmten internen Empfangsports zu der zweiten externen Netzadresse und dem bestimmten internen Sendeport des zweiten Computers;
    • d) der erste Computer sendet UDP-Datenpakete unter Verwendung seines bestimmten internen Sendeports zu der zweiten externen Netzadresse und dem bestimmten internen Empfangsport des zweiten Computers, und der zweite Computer sendet UDP-Datenpakete unter Verwendung seines bestimmten internen Sendeports zu der ersten Netzadresse und dem bestimmten internen Empfangsport des ersten Computers.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung ist ein Verfahren zum Ermöglichen einer Zweiwegeübertragung von UDP-Datenpaketen zwischen jeweils zwei von mehreren Computern über ein weiträumiges Computernetz vorgesehen, wobei jeder Computer eine interne Netzadresse, ein bestimmtes internes Port, von dem er die UDP-Datenpakete senden wird, und ein bestimmtes internes Port, an dem er die UDP-Datenpakete empfangen wird, hat, worin jeder Computer durch eine Firewall geschützt ist, die die interne Netzadresse des Computers in eine externe Netzadresse umsetzt, wenn über das weiträumige Computernetz kommuniziert wird, welche Firewalls über das weiträumige Computernetz kommunizieren, dadurch gekennzeichnet, dass das Verfahren einen bestimmten Empfängercomputer in Kommunikation mit mehreren Computern über das weiträumige Computernetz verwendet, welches Verfahren aufweist:
    • a) die mehreren Computer senden jeweilige UDP-Datenpakete zu dem bestimmten Empfängercomputer unter Verwendung ihrer bestimmten internen Empfangsports, und senden jeweilige UDP-Datenpakete zu dem bestimmten Empfängercomputer unter Verwendung ihrer bestimmten internen Sendeports;
    • b) der bestimmte Empfängercomputer teilt den mehreren Computern die jeweiligen externen Netzadressen, bestimmten internen Sendeports und bestimmten internen Empfangsports, die aus den Datenpaketen bestimmt wurden, mit;
    • c) ein erster der mehreren Computern mit einer ersten externen Netzadresse sendet ein erstes UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangstors zu einer zweiten externen Netzadresse und dem bestimmten internen Sendeport, das mit einem zweiten der mehreren Computer assoziiert ist, und der zweite der mehreren Computer sendet ein UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangsports zu der ersten externen Netzadresse und dem bestimmten internen Sendeport, das mit dem ersten der mehreren Computer assoziiert ist, und
    • d) der zweite Computer sendet UDP-Datenpakete unter Verwendung seines bestimmten internen Sende ports zu der ersten externen Netzadresse und dem bestimmten internen Empfangsport, das mit dem ersten Computer assoziiert ist, und der erste Computer sendet UDP-Datenpakete unter Verwendung seines bestimmten internen Sendeports zu der zweiten externen Netzwerkadresse und dem internen Empfangsport, das mit dem zweiten Computer assoziiert ist.
  • Gemäß einem vierten Aspekt der vorliegenden Erfindung ist ein Computerprogrammerzeugnis zum Übertragen eines UDP-Datenpakets von einem ersten Computer zu einem zweiten Computer über ein weiträumiges Computernetz vorgesehen, wobei das Computerprogrammerzeugnis Computerprogramm-Codemittel aufweist zum Bestimmen eines internen Ports, von dem der erste Computer das UDP-Datenpaket überträgt, und Bestimmen eines internen Ports, an dem der zweite Computer das UDP-Datenpaket empfängt, welcher erste Computer eine erste interne Netzadresse hat und der zweite Computer eine zweite interne Netzadresse hat, worin der erste Computer durch eine erste Firewall geschützt ist, die die erste interne Netzadresse in eine erste externe Netzadresse umsetzt, wenn über das weiträumige Computernetz kommuniziert wird, und der zweite Computer durch eine zweite Firewall geschützt ist, die die zweite interne Netzadresse in eine zweite externe Netzadresse umsetzt, wenn über das weiträumige Computernetz kommuniziert wird, welche erste und zweite Firewall über das weiträumige Computernetz kommunizieren, gekennzeichnet durch Verwendung eines bestimmten Empfängercomputers im Kommunikation mit dem ersten und zweiten Computer über das weiträumige Computernetzwerk, welches Computerprogrammerzeugnis aufweist:
    • a) ein computerverwendbares Medium mit computerlesbarem Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der erste Computer ein erstes UDP-Datenpaket zu dem bestimmten Empfängercomputer unter Verwendung seines bestimmten internen Sendeports sendet, und zu bewirken, dass der zweite Computer ein zweites UDP-Datenpaket zu dem bestimmten Empfängercomputer unter Verwendung seines bestimmten internen Empfangsports sendet;
    • b) das computerverwendbare Medium mit computerlesbaren Programmcodemitteln versehen ist, die in dem Medium aufgenommen sind, um zu bewirken, dass der bestimmte Empfängercomputer dem zweiten Computer die erste externe Netzadresse und das bestimmte interne Sendeport, das von dem ersten UDP-Datenpaket bestimmt wurde, mitteilt und dem ersten Computer die zweite externe Netzadresse und das bestimmte interne Empfangsport, das von dem UDP-Datenpaket bestimmt wurde, mitteilt;
    • c) das computerverwendbare Medium mit computerlesbaren Programmcodemitteln versehen ist, die in den Medien aufgenommen sind, um zu bewirken, dass der zweite Computer ein UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangsports zu der ersten externen Netzadresse und dem bestimmten internen Sendeport des ersten Computers sendet; und
    • d) das computerwendbare Medium mit computerlesbaren Programmcodemitteln versehen ist, die in dem Medium aufgenommen sind, um zu bewirken, dass der erste Computer ein UDP-Datenpaket unter Verwendung seines internen Sendetors zu der zweiten externen Netzadresse und dem bestimmten internen Empfangstor des zweiten Computers sendet.
  • Gemäß einem fünften Aspekt der vorliegenden Erfindung ist ein Computerprogrammerzeugnis zum Ermöglichen einer Zweiwegeübertragung von Datenpaketen zwischen einem ersten Computer und einem zweiten Computer über ein weiträumiges Computernetz vorgesehen, welches Computerprogrammerzeugnis Computerprogramm-Codemittel aufweist zum Bestimmen eines internen Ports für jeden Computer, von dem der Computer die UDP-Datenpakete senden wird, und zum Bestimmen eines internen Ports für jeden Computer, an dem der Computer die UDP-Datenpakete empfangen wird, wobei jeder der Computer eine interne Netzadresse hat, worin der erste Computer durch eine erste Firewall geschützt ist, die die erste interne Netzadresse in eine erste externe Netzadresse umsetzt, wenn über das weiträumige Computernetz kommuniziert wird, und der zweite Computer durch eine zweite Firewall geschützt ist, die die zweite interne Netzadresse in eine zweite externe Netzadresse übersetzt, wenn über das weiträumige Computernetz kommuniziert wird, welche erste und zweite Firewall über das weiträumige Computernetz kommunizieren, gekennzeichnet durch Verwendung eines bestimmten Empfängercomputers in Kommunikation mit dem ersten und zweiten Computer über das weiträumige Computernetz, welches Computerprogrammerzeugnis enthält:
    • a) ein computerverwendbares Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der erste Computer zwei UDP-Datenpakete zu dem bestimmten Empfängercomputer sendet, wobei eines unter Verwendung des bestimmten internen Sendeports des ersten Computers gesendet wird und eines unter Verwendung des bestimmten internen Empfangsports des ersten Computers gesendet wird, um zu bewirken, dass der zweite Computer zwei UDP-Datenpakete zu dem bestimmten Empfängercomputer sendet, wobei eines unter Verwendung des bestimmten internen Sendeports des zweiten Computers gesendet wird und eines unter Verwendung des bestimmten internen Empfangsports des zweiten Computers gesendet wird;
    • b) das computerverwendbare Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der bestimmte Empfängercomputer dem zweiten Computer die erste externe Netzadresse, das bestimmte interne Sendeport und das bestimmte interne Empfangsport des ersten Computers, die aus dem von dem ersten Computer gesendeten Datenpaketen bestimmt sind, mitteilt, und dem ersten Computer die zweite externe Netzwerkadresse, das bestimmte interne Sendeport und das bestimmte interne Empfangsport des zweiten Computers, die aus den von dem zweiten Computer gesendeten Datenpaketen bestimmt wurden, mitteilt;
    • c) das computerverwendbare Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der zweite Computer ein UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangsports zu der ersten externen Messadresse und dem bestimmten internen Sendeport des ersten Computers sendet, und zu bewirken, dass der erste Computer ein UDP-Paket unter Verwendung seines bestimmten internen Empfangsports zu der zweiten externen Netzadresse und dem bestimmten internen Sendeport des zweiten Computers sendet; und
    • d) das computerverwendbare Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der erste Computer UDP-Datenpakete unter Verwendung seines bestimmten internen Sendeports zu der zweiten externen Netzadresse und dem bestimmten Empfangsport des zweiten Computers sendet, und zu bewirken, dass der zweite Computer UDP-Datenpakete unter Verwendung seines bestimmten internen Sendeports zu der ersten externen Netzadresse und dem bestimmten internen Empfangsport des ersten Computers sendet.
  • Gemäß einem sechsten Aspekt der vorliegenden Erfindung ist ein Computerprogrammerzeugnis zum Ermöglichen einer Zweiwegeübertragung von UDP-Datenpaketen zwischen jeweils zwei von mehreren Computern über ein weiträumiges Computernetz vorgesehen, welches Computerprogrammerzeugnis Computerprogramm-Codemittel aufweist zum Bestimmen eines internen Ports für jeden Computer der mehreren Computern, von dem er die UDP-Datenpakete übertragen wird, und eines internen Ports, an dem er die UDP-Datenpakete empfangen wird, wobei jeder Computer eine interne Netzadresse hat, worin jeder Computer durch eine Firewall geschützt ist, die die erste interne Adresse des Computers in eine externe Netzadresse übersetzt, wenn über das weiträumige Computernetz kommuniziert wird, die Firewalls über das weiträumige Computernetz kommunizieren, gekennzeichnet durch Verwendung eines bestimmten Empfängercomputers in Kommunikation mit den mehreren Computern über das weiträumige Computernetz, welche Computerprogrammerzeugnis enthält:
    • a) ein computerverwendbares Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass jeder Computer der mehreren Computer jeweilige UDP-Datenpakete zu dem bestimmten Empfängercomputer unter Verwendung ihrer bestimmten internen Empfangsports sendet und jeweilige UDP-Datenpakete zu dem bestimmten Empfängercomputer unter Verwendung ihrer bestimmten internen Sendeports sendet;
    • b) ein computerverwendbares Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der bestimmte Empfängercomputer den mehreren Computern die jeweiligen externen Netzadressen, bestimmten internen Sendeports und bestimmten internen Empfangsports, die aus dem Datenpaket bestimmt wurden, mitteilt;
    • c) ein computerverwendbares Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass ein erster der mehreren Computer mit einer ersten externen Netzadresse ein erstes UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangsports zu einer zweiten externen Netzwerkadresse und dem bestimmten internen Sendeport, das mit einem zweiten der mehreren Computer assoziiert ist, sendet, und zu bewirken, dass der zweite der mehreren Computer ein UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangsports zu der ersten externen Netzadresse und dem bestimmten internen Sendeport, dass mit dem ersten der mehreren Computer assoziiert ist, sendet; und
    • d) ein computerverwendbares Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der zweite Computer UDP-Datenpakete unter Verwendung seines bestimmten internen Sendeports zu der ersten externen Netzadresse und dem bestimmten internen Empfangsport, das mit dem ersten Computer assoziiert ist, sendet, und zu bewirken, dass der erste Computer UDP-Datenpakete unter Verwendung seines bestimmten internen Sendeports zu der zweiten externen Netzadresse und dem internen Empfangsport, das mit dem zweiten Computer assoziiert ist, sendet.
  • Gemäß einem siebten Aspekt der vorliegenden Erfindung ist ein System zum Übertragen eines UDP-Datenpakets zwischen zwei firewallgeschützten Computern über ein weiträumiges Netz vorgesehen, welches System aufweist: einen ersten und einen zweiten Computer, die ausgebildet sind zum Kommunizieren über ein weiträumiges Computernetz, worin der erste Computer eine erste interne Netzadresse und ein bestimmtes internes Port zum Senden des UDP-Pakets hat, und der zweite Computer eine zweite interne Netzadresse und ein bestimmtes internes Port zum Empfanges des UDP-Pakets hat, worin der erste Computer durch eine erste Firewall geschützt ist, die die erste interne Netzadresse und das bestimmte interne Sendeport in eine erste externe Netzadresse und ein externes Sendeport übersetzt, wenn über das weiträumige Netz kommuniziert, und der zweite Computer durch eine zweite Firewall geschützt ist, die die zweite interne Netzadresse und das bestimmte interne Empfangsport in eine zweite externe Netzadresse und ein externes Empfangsport umsetzt, wenn er über das weiträumige Netzwerk kommuniziert, wobei die erste und die zweite Firewall über das weiträumige Computernetz kommunizieren;
    gekennzeichnet durch
    einen bestimmten Empfängercomputer in Kommunikation mit dem ersten und dem zweiten Computer über das weiträumige Computernetz;
    worin der erste und der zweite Computer Mittel aufweisen zum Senden eines ersten und eines zweiten UDP-Datenpakets zu dem bestimmten Empfängercomputer; der erste Computer ausgebildet ist zum Senden des erstens UDP-Datenpakets unter Verwendung seines bestimmten internen Sendeports und der zweite Computer ausgebildet ist zum Senden des zweiten UDP-Datenpakets unter Verwendung seines bestimmten internen Empfangsports; der bestimmte Empfängercomputer Mittel aufweist zum Mitteilen der ersten externen Netzadresse und des externen Sendeports, die aus dem ersten UDP-Datenpaket bestimmt sind, an den zweiten Computer und zum Mitteilen der zweiten externen Netzadresse und des externen Empfangsports, die aus dem zweiten UDP-Datenpaket bestimmt sind, an den ersten Computer; der zweite Computer Mittels aufweist zum Senden des UDP-Datenpakets unter Verwendung seines internen Empfang sports zu der ersten externen Netzadresse und dem externen Sendeport des ersten Computers; und der erste Computermittel aufweist zum Senden des UDP-Datenpakets unter Verwendung seines internen Sendeports zu der zweiten externen Netzadresse und dem externen Empfangsport des zweiten Computers.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist ein schematisches Diagramm, das ein bevorzugtes Ausführungsbeispiel der Erfindung illustriert; und
  • 2 ist ein Flussdiagramm, das ein bevorzugtes Ausführungsbeispiel der Erfindung illustriert.
  • Beste Art(en) zum Ausführen der Erfindung
  • 1 illustriert ein schematisch einen Klientencomputer C1 (12) in einem lokalen Netz (14), geschützt durch eine NAPT-Firewall FW1 (16), der einen UDP-Datenstrom wie einen direkt übertragenen Videodatenstrom über das Internet 10 zu einem Klientencomputer C2 (20) im lokalen Netz (22), das durch eine NAPT-Firewall FW2 (24) geschützt ist, zu senden wünscht. Innerhalb dieses Schemas hat C1 eine interne IP-Adresse H1 und verwendet das interne Port h1, um den UDP-Datenstrom zu übertragen. Die Firewall FW1 setzt diese in die externe IP-Adresse F1 und das externe Port f1 (18) um. C2 hat die interne IP-Adresse H2 und verwendet das interne Port h2, um den UDP-Datenstrom zu empfangen. Die Firewall FW2 empfängt UDP-Pakete, die für C2 bestimmt sind, an der externen IP-Adresse F2 und dem externen Port f2 (26). Sowohl C1 als auch C2 sind bei einem Server S1 (28) angemeldet, dessen Zweck die Errichtung eines Pfades zum Übertragen des UDP-Datenstroms von C1 nach C2 ist. Jedoch wird der UDP-Datenstrom nicht über den Server übertragen. Er wird von Klient zu Klient gesendet, um den Vorteil der Effizienz und der Skalierbarkeit in Anspruch zu nehmen, der bei einer Kommunikation zwischen gleichrangigen über das Internet realisiert werden kann.
  • Eine Kommunikation zwischen Gleichrangigen wird durch nahezu alle Firewalls verhindert. NAPT-Firewalls FW1 und FW2 lassen nur ein eintreffendes UDP-Paket passieren, wenn (i) seine Quellen- und Bestimmungsadresse mit der Bestimmungs- bzw. Quellenadresse eines kürzlich herausgehenden UDP-Pakets übereinstimmt, und (ii) sein Quellen- und Bestimmungsport mit dem Bestimmungs- bzw. Quellenport eines kürzlich herausgehenden UDP-Pakets übereinstimmen. Wenn entweder C1 oder C2 versucht, ein Paket zu dem anderen zu senden, blockiert die Firewall des Empfängers das eintreffende Paket, wenn es nicht diesen Kriterien entspricht.
  • Die vorliegende Erfindung ermöglicht, dass C1 einen UDP-Datenstrom zu C2 sendet, durch die folgenden Schritte:
    • (1) C1 sendet ein UDP-Paket U1 zum Server S1. C1 initiiert die Übertragung von seiner internen IP-Adresse und dem UDP-Port (H1:h1). Die Firewall FW1 setzt die IP-Adresse und das Port an der externen Schnittstelle von FW1 in F1:f1 um.
    • (2) Wenn S1 das Paket U1 von F1:f1 empfängt, kann S1 F1 und f1 als die externe IP-Adresse und das externe Port identifizieren, von denen FW1 den von C1 stammenden UDP-Datenstrom sendet.
    • (3) C2 sendet ein UDP-Paket U2 zum Server S1. C2 initiiert die Übertragung von seiner internen IP-Adresse und dem UDP-Port (H2:h2). Die Firewall FW2 setzt die IP-Adresse und das Port an der externen Schnittstelle von FW2 in F2:f2 um.
    • (4) Wenn S1 das Paket U2 von F2:f2 empfängt, kann S1 F2 und f2 als die externe IP-Adresse und dass externe Port identifizieren, an denen FW2 den von C1 nach C2 zu übertragenden UDP-Datenstrom empfängt.
    • (5) S1 teilt C2 mit, dass F1:f1 die externe IP-Adresse und das Port sind, von denen C1 den UDP-Datenstrom senden wird.
    • (6) S1 teilt C1 mit, dass F2:f2 die externe IP-Adresse und das Port sind, zu denen der für C2 bestimmte UDP-Datenstrom gesendet werden sollte.
    • (7) C2 sendet ein UDP-Paket U3 zu F1:f1 unter Verwendung seines internen Ports h2. Die Firewall FW2 sendet das Paket von F2:f2. Dieses Paket wird durch die Firewall FW1 blockiert. Jedoch wird sie, wie in Schritt (8) beschrieben ist, die Firewall FW2 veranlassen nachfolgende Pakete, die von C1 gesendet und für C2 bestimmt sind, durchzulassen.
    • (8) Wenn C1 nachfolgend einen Datenstrom bestehend aus UDP-Paketen, die für C2 bestimmt sind, von seinem internen Port h1 sendet, sendet die Firewall FW1 sie von F1:f1 zu F2:f2. Wegen des im Schritt (7) gesendeten Pakets erkennt die Firewall FW2 F1:f1 als eine Adresse und ein Port, zu denen sie kürzlich ein Paket von F2:f2 gesendet hat. Dem gemäß ermöglicht sie, dass von F1:f1 nach F2:f2 gesendete Pakete durch die Firewall hindurchgehen und leitet sie zu H2:h2, der internen IP-Adresse und dem Port für C2 weiter.
  • Auf diese Weise schafft die Erfindung ein Mittel, durch das von C1 stammende UDP-Datenströme zu C2 hindurchgelassen werden. Dieses kann für Streaminganwendungen verwendet werden, bei denen C1 einen direkt übertragenen oder angeforderten Datenstrom zu C2 sendet. Schritte Ähnlich zu (1) bis (8), die umgekehrt ausgeführt werden, ermöglichen, dass von C2 stammende UDP-Datenströme durch die Firewall FW1 zu C1 gelangen. Somit können C1 und C2 Anwendungen nutzen, die von einer Zweiwegeübertragungen von UDP-Datenströmen abbringe, wie bei Videokonferenzen. Ähnliche Schritte, die von einer Anzahl von Klientencomputern C1, ..., CN ausgeführt werden, ermöglichen eine von einem zu vielen, von vielen zu einem oder von vielen zu vielen -Übertragung von UDP-Datenströmen durch NAPT-Firewalls.
  • Für das Verfahren zum Arbeiten mit einer NAPT verwendenden Firewall müssen die in den Schritten (1) und (3) gesendeten Pakete im Allgemeinen vom selben Typ (das heißt, TCP, UDP, usw.) wie der zum Übertragen der Daten im Schritt (8) verwendete Typ sein. Der Grund dafür besteht darin, dass viele Computeranwendungen oder Firewalls verschiedene Ports verwenden, um unterschiedliche Typen von Daten zu senden und zu empfangen. Wenn dies jedoch nicht der Fall ist, brauchen die in den Schritten (1) und (3) gesendeten Pakete nicht vom selben Typ wie der in Schritt (8) verwendete Typ zu sein. Zusätzlich muss die Firewall FW1 dieselbe externe IP-Adresse und das Port zum Senden des anfänglichen Pakets im Schritt (1) verwenden, die sie nachfolgend verwendet, um das Senden der Daten zu C2 im Schritt (8) zu beginnen (obgleich das Verfahren angepasst werden kann an nachfolgende Änderungen in den IP-Adressen und Ports, wie nachfolgend im einzelnen beschrieben wird). Dies findet im Allgemeinen in der Praxis statt, solange wie die Software am Klientencomputer C1 geschrieben ist, um beide Übertragungen von derselben internen IP-Adresse und dem Port zu senden, da die meisten Firewallprogramme, die NAPT verwenden, gegenwärtig eins zu eins-Kartierungen wischen internen IP-Adressen und Ports und externen IP-Adressen und Ports, die zum Senden desselben Typs von Paket verwendet werden, schaffen. In ähnlicher Weise muss die Firewall FW2 dieselbe externe IP-Adresse und das Port verwenden, um das Paket im Schritt (3) zu senden, das sie verwenden wird, um den Empfang der Daten im Schritt (8) zu beginnen. Dies wird im Allgemeinen auch in der Praxis stattfinden, solange wie die Software beim Klientencomputer C2 beschrieben ist, um das Paket im Schritt (3) von und die Daten im Schritt (8) an derselben internen IP-Adresse und dem Port zu senden und zu empfangen.
  • Wie für den Fachmann ersichtlich ist, kann das Verfahren einfach angepasst werden zum Stützen einer Zweiwege-Datenübertragung zwischen C1 und C2, zum Stützen einer eins zu Vielen-Datenübertragung von C1 zu Klientencomputern C2, ..., CN zum Stützen einer viele zu Einem-Datenübertragung von Klientencomputern C2, ..., CN nach C1, oder zum Stützen einer viele zu Viele-Datenübertragung zwischen Klientencomputern C1, ..., CN. Ebenso wurde die Erfindung so beschrieben, dass sowohl C1 als auch C2 durch Firewalls geschützt sind, da diese Situation die klarste Beschreibung der Erfindung ergibt. Jedoch ist das Verfahren einfach an die Situation anzupassen, in der nur der empfangene Klientencomputer durch eine Firewall geschützt ist.
  • Der bestimmte Empfängercomputer kann jeder Typ von Computer sein, enthaltend ohne Beschränkung einen bestimmten Server, einen gleichrangigen Computer, der in die Datenübertragung einbezogen ist, oder ein gleichrangiger Computer, der nicht in die Datenübertragung einbezogen ist.
  • Die möglichen Änderungen und Modifikationen enthalten, sind jedoch nicht beschränkt auf die folgenden:
    • 1. Zur Robustheit gegen Paketverlust oder Verzögerung können C1 und/oder C2 in den Schritten (1) und (3) anstelle eines einzelnen Pakets mehrere Pakete zu S1 senden. Pakete können gesendet werden, bis die Bestätigung empfangen wird, dass S1 eines der Pakete empfangen hat.
    • 2. Auch kann C2 zur Robustheit gegen Paketverlust oder Verzögerung im Schritt (7) anstelle eines einzelnen Pakets mehrere Pakete senden. Pakete können gesendet werden, bis die Bestätigung empfangen wird, dass FW1 eines der Pakete empfangen hat.
    • 3. Das Verfahren kann auch angewendet werden, wenn entweder C1 oder C2 getrennte Ports zum Senden und Empfangen von UDP-Datenströmen verwenden. Wenn beispielsweise C1 h1 zum Senden von UDP-Datenströmen und h3 zum Empfangen von Datenströmen verwendet, setzt die Firewall FW1 diese in f1 bzw. f3 um. C2 muss dann ein UDP-Paket von seinem Empfangsport nach f1 senden, und C1 muss dann ein UDP-Paket von f3 zu dem Sendeport für C2 senden. Diese Pakete würden Pfade öffnen, über die C1 zu C2 (über f1) senden kann, und über die C2 zu C1 (über f3) senden kann.
    • 4. In dem Fall der Zweiwegekommunikation und wenn die Firewalls FW1 und FW2 dieselben externen Ports sowohl zum Senden als auch zum Empfangen von UDP-Daten verwenden, können die anfänglichen Datenpakete in den Datenströmen verwendet werden als die Pakete, die zum Öffnen der Pfade erforderlich sind (wie im Schritt (7)). Die anfänglichen Datenpakete können blockiert werden, bis ein Datenpaket in der anderen Richtung gesendet wird. Jedoch sind Anwendungen, die UDP-Übertragungen verwenden, typischerweise robust gegen Paketverlust und das Verfahren arbeitet solange, wie der Verlust des anfänglichen Datenpakets oder von Paketen für die fragliche Anwendung nicht kritisch ist.
    • 5. Wenn die Firewall FW1 (oder FW2) die externe IP-Adresse oder das externe Port ändert, die sie verwendet, um UDP-Daten zu übertragen, aus irgendeinem Grund (wie eine lange Datenübertragung oder Ruheperiode), kann das Verfahren angepasst werden, um die Daten, die die externen IP-Adressen und Ports identifizieren, wieder aufzufrischen, um offenen Übertragungspfade aufrechtzuerhalten. Wenn beispielsweise FW1 die externe IP-Adresse oder das externe Port, die zum Übertragen von von C1 stammenden UDP-Daten verwendet wurden, ändert, werden neue Pakete periodisch zu dem Zwischenserver S1 wie im obigen Schritt (1) gesendet, um jede neue IP-Adresse oder jedes neue Port zu identifizieren, die von FW1 verwendet werden. Die verbleibenden Schritte (2) bis (8) können dann unter Verwendung neuer Daten wiederholt werden. Alles das, was das Verfahren benötigt, besteht darin, dass dieselbe IP-Sendeadresse und das Port von FW1 während einer ausreichend langen Zeitperiode verwendet werden, dass das im Schritt (1) zu S1 gesendete anfängliche Paket von derselben IP-Adresse und von dem Port wie die anfänglichen Pakete in den UDP-Datenstrom kommen.
    • 6. In dem vorstehend beschriebenen besten Modus wird der Server S1 als Zwischenglied verwendet, um UDP-Pakete zu empfangen, die von C1 und C2 stammen, und um Informationen, die in solchen Paketen enthalten sind, zu verwenden, um die externen Ports zu identifizieren, die von FW1 und FW2 verwendet werden. Jedoch arbeitet auch jedes andere Mittel zum Informieren jedes Endgeräts über die externen Ports des anderen gemäß der Erfindung. Beispielsweise können C1 und C2 verschiedene Echoserver S1 und S2 verwenden, die jedes UDP-Paket zu seiner Quelle zurückschicken. Dies ermöglicht C1 und C2, F1:f1 bzw. F2:f2 zu identifizieren. C1 und C2 können jedes andere Mittel verwenden, wie den Offline-Austausch von Informationen durch die Benutzer oder TCP-Übertragungen entweder direkt zu dem anderen oder über einen gemeinsamen Server, um einander über F1:f1 und F2:f2 zu informieren.
    • 7. Das Verfahren kann verwendet werden, wenn Klientencomputer über einen Servercomputer kommunizieren, obgleich das Verfahren gewöhnlich nicht in diesem Fall benötigt wird, da ein Klientencomputer im Allgemeinen einen Rückkehrpfad von dem Server öffnet, wenn er bei dem Server angemeldet ist.
    • 8. Das Verfahren kann auch verwendet werden, wenn nur der empfangende Klientencomputer hinter einer Firewall ist, aber keine den sendenden Klientencomputer schützende Firewall vorhanden ist.
    • 9. Obgleich das obige Verfahren im Kontext von Echtzeit-Audio- und Videokommunikationen unter Verwendung von UDP-Paketen beschrieben wurde, ist für den Fachmann offensichtlich, dass das Verfahren für andere Formen von auf Paketen basierender Datenübertragung angewendet werden kann.
    • 10. Das Verfahren kann auch an Firewalls angepasst werden, die keine eins zu eins-Kartierungen zwischen internen und externen IP-Adressen und Ports schaffen, durch Ableiten des Kartierungsschemas anhand empfangener Pakete und dann Verwenden der abgeleiteten Kartierungsschemen, um die erforderlichen Pakete von den externen IP-Empfangsadressen und Ports jedes Klientencomputers zu den externen IP-Sendeadressen und Ports jedes anderen Klientencomputers zu senden.
    • 11. Während die Erfindung in Verbindung mit einer NAPT-Firewall offenbart wurde, arbeitet sie auch in derselben Weise, wenn die Firewalls FW1 und FW2 NAT-Firewalls sind. In diesem Fall würde NAT-FW1 H1:h1 in F1:h1 umsetzen und NAT-FW2 würde H2:h2 in F2:h2 umsetzen. Das Verfahren ist ansonsten identisch.

Claims (35)

  1. Verfahren zum Senden eines UDP (Benutzerdatagrammprotokoll)-Datenpakets von einem ersten Computer (12) zu einem zweiten Computer (20) über ein weiträumiges Computernetzwerk (10), welcher erste Computer eine erste interne Netzwerkadresse (H1) und ein bestimmtes internes Tor (h1), von dem er das UDP-Datenpaket senden wird, hat, und welcher zweite Computer eine zweite interne Netzwerkadresse (H2) und ein bestimmtes internes Tor (h2), an dem er das UDP-Datenpaket empfangen wird, hat, wobei der erste Computer durch eine erste Firewall (16) geschützt ist, die die erste interne Netzwerkadresse in eine erste externe Netzwerkadresse (F1) übersetzt, wenn über das weiträumige Computernetzwerk kommuniziert wird, und der zweite Computer durch eine zweite Firewall (24) geschützt ist, die die zweite interne Netzwerkadresse in eine zweite externe Netzwerkadresse (F2) übersetzt, wenn über das weiträumige Computernetzwerk kommuniziert wird, welche erste und zweite Firewall über das weiträumige Computernetzwerk kommunizieren, gekennzeichnet durch das Verfahren, das einen bestimmten Empfängercomputer (28) in Kommunikation mit dem ersten und dem zweiten Computer über das weiträumige Computernetzwerk verwendet, welches Verfahren aufweist: a) der erste Computer sendet ein erstes UDP-Datenpaket (U1) zu dem bestimmten Empfänger computer unter Verwendung seines bestimmten internen Sendetors, und der zweite Computer sendet ein zweites UDP-Datenpaket (U2) zu dem bestimmten Empfängercomputer unter Verwendung seines bestimmten internen Empfangstors; b) der bestimmte Empfängercomputer teilt dem zweiten Computer die erste externe Netzwerkadresse und das bestimmte interne Sendetor, das von dem ersten UDP-Datenpaket bestimmt wurde, mit, und teilt dem ersten Computer die zweite externe Netzwerkadresse und das bestimmte interne Empfangstor, das von dem zweiten UDP-Datenpaket bestimmt wurde, mit; c) der zweite Computer sendet ein UDP-Datenpaket (U3) unter Verwendung seines bestimmten internen Empfangstors zu der ersten externen Netzwerkadresse und dem bestimmten internen Sendetor des ersten Computers; und d) der erste Computer sendet ein UDP-Datenpaket unter Verwendung seines bestimmten internen Sendetors zu der zweiten externen Netzwerkadresse und dem bestimmten internen Empfangstor des zweiten Computers.
  2. Verfahren zum Ermöglichen einer Zweiwegeübertragung von UDP-Datenpaketen zwischen einem ersten Computer (12) und einem zweiten Computer (20) über ein weiträumiges Computernetzwerk (10), wobei sowohl der erste als auch der zweite Computer eine interne Netzwerkadresse, ein bestimmtes internes Tor, von dem er die UDP-Datenpakete senden wird, und ein bestimmtes internes Tor, an dem er die UDP-Datenpakete empfangen wird, hat, wobei der erste Computer durch eine erste Firewall (16) geschützt ist, die die erste interne Netzwerkadresse (H1) des ersten Computers in eine erste externe Netzwerkadresse (F1) übersetzt, wenn über das weiträumige Computernetzwerk kommuniziert wird, und der zweite Computer durch eine zweite Firewall (24) geschützt ist, die die zweite interne Netzwerkadresse (H2) in eine zweite externe Netzwerkadresse (F2) übersetzt, wenn über das weiträumige Computernetzwerk (10) kommuniziert wird, welche erste und zweite Firewall über das weiträumige Computernetzwerk kommunizieren, dadurch gekennzeichnet, dass das Verfahren einen bestimmten Empfängercomputer (28) in Kommunikation mit dem ersten und dem zweiten Computer über das weiträumige Computernetzwerk verwendet, welches Verfahren aufweist: a) der erste Computer sendet zwei UDP-Datenpakete zu dem bestimmten Empfängercomputer, wobei das eine unter Verwendung des bestimmten internen Sendetors (h1) des ersten Computers gesendet wird und das andere unter Verwendung des bestimmten internen Empfangstors des ersten Computers gesendet wird, und der zweite Computer zwei UDP-Datenpakete zu dem bestimmten Empfängercomputer sendet, wobei das eine unter Verwendung des bestimmten internen Sendetors des zweiten Computers gesendet wird und das andere unter Verwendung des bezeichneten internen Empfangstors (h2) des zweiten Computers gesendet wird; b) der bestimmte Empfängercomputer teilt dem zweiten Computer die erste externe Netzwerkadresse, das bestimmte interne Sendetor und das bestimmte interne Empfangstor des ersten Computers, das aus den von dem ersten Computer gesendeten Datenpaketen bestimmt wurde, mit, und dem ersten Computer die zweite externe Netzwerkadresse, das bestimmte interne Sendetor und das bestimmte interne Empfangstor des zweiten Computers, das aus den von dem zweiten Computer gesendeten Datenpaketen bestimmt wurde, mit; c) der zweite Computer sendet ein UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangstors zu der ersten externen Netzwerkadresse und dem bestimmten internen Sendetor des ersten Computers, und der erste Computer sendet ein UDP-Paket unter Verwendung seines bestimmten internen Empfangstors zu der zweiten externen Netzwerkadresse und dem bestimmten internen Sendetor des zweiten Computers; d) der erste Computer sendet UDP-Datenpakete unter Verwendung seines bestimmten internen Sendetors zu der zweiten externen Netzwerkadresse und dem bestimmten internen Empfangstor des zweiten Computers, und der zweite Computer sendet UDP-Datenpakete unter Verwendung seines bestimmten internen Sendetors zu der ersten Netzwerkadresse und dem bestimmten internen Empfangstor des ersten Computers.
  3. Verfahren zum Ermöglichen einer Zweiwegeübertragung von UDP-Datenpaketen zwischen jeweils zwei von mehreren Computern über ein weiträumiges Computernetzwerk (10), wobei jeder Computer eine interne Netzwerkadresse, ein bestimmtes internes Tor, von dem er die UDP-Datenpakete senden wird, und ein bestimmtes internes Tor, an dem er die UDP-Datenpakete empfangen wird, hat, worin jeder Computer durch eine Firewall geschützt ist, die die interne Netzwerkadresse des Computers in eine externe Netzwerkadresse übersetzt, wenn über das weiträumige Computernetzwerk kommuniziert wird, welche Firewalls über das weiträumige Computernetzwerk kommunizieren, dadurch gekennzeichnet, dass das Verfahren einen bestimmten Empfängercomputer (28) in Kommunikation mit mehreren Computern über das weiträumige Computernetzwerk verwendet, welches Verfahren aufweist: a) die mehreren Computer senden jeweilige UDP-Datenpakete zu dem bestimmten Empfängercomputer unter Verwendung ihrer bestimmten internen Empfangstore, und senden jeweilige UDP-Datenpakete zu dem bestimmten Empfängercomputer unter Verwendung ihrer bestimmten internen Sendetore; b) der bestimmte Empfängercomputer teilt den mehreren Computern die jeweiligen externen Netzwerkadressen, bestimmten internen Sendetore und bestimmten internen Empfangstore, die aus den Datenpaketen bestimmt wurden, mit; c) ein erster der mehreren Computer (12) mit einer ersten externen Netzwerkadresse (H1) sendet ein erstes UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangstors zu einer zweiten externen Netzwerkadresse (H2) und dem bestimmten internen Sendetor, das mit einem zweiten der mehreren Computer (20) assoziiert ist, und der zweite der mehreren Computer sendet ein UDP-Daten paket unter Verwendung seines bestimmten internen Empfangstors zu der ersten externen Netzwerkadresse (F1) und dem bestimmten internen Sendetor, das mit dem ersten der mehreren Computer assoziiert ist, und d) der zweite Computer sendet UDP-Datenpakete unter Verwendung seines bestimmten internen Sendetors zu der ersten externen Netzwerkadresse (F1) und dem bestimmten internen Empfangstor, das mit dem ersten Computer assoziiert ist, und der erste Computer sendet UDP-Datenpakete unter Verwendung seines bestimmten internen Sendetors zu der zweiten externen Netzwerkadresse (F2) und dem internen Empfangstor, das mit dem zweiten Computer assoziiert ist.
  4. Verfahren nach Anspruch 1, bei dem jede der Firewalls, die jeden der Computer schützen, weiterhin die bestimmten internen Sende- und Empfangstore von jedem der Computer in externe Sende- und Empfangstore übersetzt, und: i) im Schritt b) von Anspruch 1 der bestimmte Empfängercomputer dem zweiten Computer die erste externe Netzwerkadresse und ein externes Sendetor (f1), das aus dem ersten UDP-Datenpaket bestimmt wurde, mitteilt und dem ersten Computer die zweite externe Netzwerkadresse und ein externes Empfangstor (f2), das aus dem zweiten UDP-Datenpaket bestimmt wurde, mitteilt; ii) im Schritt c) von Anspruch 1 das von dem zweiten Computer gesendete UDP-Datenpaket unter Verwendung des bestimmten internen Empfangstors des zweiten Computers zu der ersten externen Netzwerkadresse und dem externen Sendetor des ersten Computers gesendet wird; und iii) im Schritt d) von Anspruch 1 das von dem ersten Computer gesendete UDP-Datenpaket unter Verwendung des bestimmten internen Sendetors des ersten Computers zu der zweiten externen Netzwerkadresse und dem externen Empfangstor des zweiten Computers gesendet wird.
  5. Verfahren nach Anspruch 2, bei dem jede der Firewalls, die jeden der Computer schützen, weiterhin die bestimmten internen Sende- und Empfangstore von jedem der Computer in externe Sende- und Empfangstore übersetzt, und: i) im Schritt b) von Anspruch 2 der bestimmte Empfängercomputer dem zweiten Computer die erste externe Netzwerkadresse, das externe Sendetor (f1) und das externe Empfangstor des ersten Computers, das aus den von dem ersten Computer gesendeten Datenpaketen bestimmte wurde, mitteilt und dem ersten Computer die zweite externe Netzwerkadresse, das externe Sendetor (f2) und das externe Empfangstor des zweiten Computer, das aus den von dem zweiten Computer gesendeten Datenpaketen bestimmt wurde, mitteilt; ii) im Schritt c) von Anspruch 2 das von dem zweiten Computer gesendete UDP-Datenpaket unter Verwendung des bestimmten internen Empfangstors des zweiten Computers zu der ersten externen Netzwerkadresse und dem ex ternen Sendetor des ersten Computers gesendet wird, und das von dem ersten Computer gesendete UDP-Datenpaket unter Verwendung des bestimmten internen Empfangstors des ersten Computers zu der zweiten externen Netzwerkadresse und dem externen Sendetor des zweiten Computers gesendet wird; und iii) im Schritt d) von Anspruch 2 die von dem ersten Computer gesendeten UDP-Datenpakete unter Verwendung des bestimmten internen Sendetors des ersten Computers zu der zweiten externen Netzwerkadresse und dem externen Empfangstor des zweiten Computers gesendet werden, und die von dem zweiten Computer gesendeten UDP-Pakete unter Verwendung des bestimmten internen Sendetors des zweiten Computers zu der ersten externen Netzwerkadresse und dem externen Empfangstor des ersten Computers gesendet werden.
  6. Verfahren nach Anspruch 3, bei dem jede der Firewalls, die jeden der Computer schützen, weiterhin die bestimmten internen Sende- und Empfangstore von jedem der Computer in externe Sende- und Empfangstore übersetzt, und: i) im Schritt b) von Anspruch 3 der bestimmte Empfängercomputer den mehreren Computern die jeweiligen externen Netzwerkadressen, externen Sendetore und externen Empfangstore, die aus den Datenpaketen bestimmt wurden, mitteilt; ii) im Schritt c) von Anspruch 3 der erste der mehreren Computer ein erstes UDP-Paket unter Verwendung seines bestimmten internen Empfangstors zu der zweiten externen Netzwerkadresse und dem externen Sendetor (f2), das mit dem zweiten der mehreren Computer assoziiert ist, sendet, und der zweite der mehreren Computer ein UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangstors zu der ersten externen Netzwerkadresse und dem externen Sendetor (f1), das mit dem ersten der mehreren Computer assoziiert ist, sendet; und iii) im Schritt d) von Anspruch 3 der zweite Computer UDP-Datenpakete unter Verwendung seines bestimmten internen Sendetors zu der ersten externen Netzwerkadresse und dem externen Empfangstor, das mit dem ersten Computer assoziiert ist, sendet, und der erste Computer UDP-Datenpakete unter Verwendung seines bestimmten internen Sendetors zu der zweiten externen Netzwerkadresse und dem externen Empfangstor, das mit dem zweiten Computer assoziiert ist, sendet.
  7. Verfahren nach den Ansprüchen 1 bis 3, bei dem die Firewalls NAT-Firewalls sind.
  8. Verfahren nach den Ansprüchen 4 bis 6, bei dem die Firewalls NAPT-Firewalls sind.
  9. Verfahren nach den Ansprüchen 1 bis 6, bei dem die Datenpakete aus Live-Audio/Video-Datenströmen bestehen.
  10. Verfahren nach den Ansprüchen 1 bis 6, bei dem die Datenpakete aus gespeicherten Audio/Video-Daten bestehen.
  11. Verfahren nach den Ansprüchen 1 bis 6, bei dem die Datenpakete aus den Inhalten einer gespeicherten Computerdatei bestehen.
  12. Verfahren nach den Ansprüchen 1 bis 6, bei dem die Datenpakete aus Datenströmen bestehen, die eine Audio/Video-Konferenzkommunikation tragen.
  13. Verfahren nach den Ansprüchen 1 bis 6, bei dem im Schritt (a) mehrere Datenpakete von jedem der sendenden Computer gesendet werden.
  14. Verfahren nach den Ansprüchen 1 bis 6, bei dem im Schritt c) mehrere Datenpakete von jedem der sendenden Computer gesendet werden.
  15. Verfahren nach den Ansprüchen 1 bis 6, bei dem im Schritt d) mehrere Datenpakete von jedem der sendenden Computer gesendet werden.
  16. Verfahren nach den Ansprüchen 1 bis 3, bei dem jeder der Computer dieselben internen Tore zum Senden und Empfangen der Datenpakete verwendet, und: i) die von jedem sendenden Computer gesendeten UDP-Datenpakete unter Verwendung des gemeinsamen internen Sende- und Empfangstors des Computers gesendet werden; und ii) die zu jedem empfangenden Computer gesendeten UDP-Datenpakete zu dem gemeinsamen internen Sende- und Empfangstor des Computers gesendet werden.
  17. Verfahren nach den Ansprüchen 4 bis 6, bei dem jeder der Computer dieselben internen Tore zum Senden und Empfangen der Datenpakete verwendet, welche internen Tore durch die Firewalls in die selben externen Tore zum Senden und Empfangen der Datenpakete übersetzt werden, und: i) die von jedem sendenden Computer gesendeten UDP-Datenpakete unter Verwendung des gemeinsamen internen Sende- und Empfangstors des Computers gesendet werden, und ii) die zu jedem empfangenden Computer gesendeten UDP-Datenpakete zu dem gemeinsamen externen Sende- und Empfangstor des Computers gesendet werden.
  18. Verfahren nach den Ansprüchen 1 bis 6, bei dem die Schritte darin periodisch wiederholt werden für die Anpassung an Änderungen in den externen Toren, die von einigen oder sämtlichen der Firewalls verwendet werden.
  19. Verfahren nach den Ansprüchen 1 bis 6, bei dem der bestimmte Empfängercomputer ein gemeinsamer Server ist.
  20. Verfahren nach den Ansprüchen 1 bis 6, bei dem der bestimmte Empfängercomputer ein ebenbürtiger Computer ist, der in die Datenübertragung einbezogen ist.
  21. Verfahren nach den Ansprüchen 1 bis 6, bei dem der bestimmte Empfängercomputer ein ebenbürtiger Computer ist, der nicht in die Datenübertragung einbezogen ist.
  22. Verfahren nach den Ansprüchen 1 bis 6, bei dem: i) der bestimmte Empfängercomputer ein Echoserver ist und der Echoserver die Adressen und Tore von jedem der UDP-Datenpakete, die zu dem bestimmten Empfängercomputer über tragen wurden, dem Computer, der die Quelle des UDP-Datenpakets war, mitteilt, und ii) die Quellencomputer ihre jeweiligen Adressen und Tore den anderen Computern über das weiträumige Computernetzwerk mitteilen.
  23. Verfahren nach den Ansprüchen 1 bis 6, bei dem die Computer über ein weiträumiges Netzwerk durch Übertragen von Daten über einen Servercomputer kommunizieren.
  24. Computerprogrammerzeugnis zum Übertragen eines UDP-Datenpakets von einem ersten Computer (12) zu einem zweiten Computer (20) über ein weiträumiges Computernetzwerk (10), wobei das Computerprogrammerzeugnis Computerprogramm-Codemittel aufweist zum Bestimmen eines internen Tors (h1), von dem der erste Computer das UDP-Datenpaket überträgt, und Bestimmen eines internen Tors (h2), an dem der zweite Computer das UDP-Datenpaket empfängt, welcher erste Computer eine erste interne Netzwerkadresse (H1) hat und der zweite Computer eine zweite interne Netzwerkadresse (H2) hat, worin der erste Computer durch eine erste Firewall (16) geschützt ist, die die erste interne Netzwerkadresse in eine erste externe Netzwerkadresse (F1) übersetzt, wenn über das weiträumige Computernetzwerk kommuniziert wird, und der zweite Computer durch eine zweite Firewall (24) geschützt ist, die die zweite interne Netzwerkadresse in eine zweite externe Netzwerkadresse (F2) übersetzt, wenn über das weiträumige Computernetzwerk kommuniziert wird, welche erste und zweite Firewall über das weiträumige Computernetzwerk kommunizieren, gekennzeichnet durch Verwendung eines bestimmten Emp fängercomputers (28) in Verbindung mit dem ersten und zweiten Computer über das weiträumige Computernetzwerk, welches Computerprogrammerzeugnis aufweist: a) ein computerverwendbares Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der erste Computer ein erstes UDP-Datenpaket (U1) zu dem bestimmten Empfängercomputer unter Verwendung seines bestimmten internen Sendetors sendet, und zu bewirken, dass der zweite Computer ein zweites UDP-Datenpaket (U2) zu dem bestimmten Empfängercomputer unter Verwendung seines bestimmten internen Empfangstors sendet; b) das computerverwendbare Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der bestimmte Empfängercomputer dem zweiten Computer die erste externe Netzwerkadresse und das bestimmte interne Sendetor, das von dem ersten UDP-Datenpaket bestimmt wurde, mitteilt und dem ersten Computer die zweite externe Netzwerkadresse und das bestimmte interne Empfangstor, das von dem zweiten UDP-Datenpaket bestimmt wurde, mitteilt; c) das computerverwendbare Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der zweite Computer ein UDP-Datenpaket (U3) unter Verwendung seines bestimmten internen Empfangstors zu der ersten externen Netzwerkadresse und dem bestimmten internen Sendetor des ersten Computers sendet; und d) das computerverwendbare Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der erste Computer ein UDP-Datenpaket unter Verwendung seines internen Sendetors zu der zweiten externen Netzwerkadresse und dem bestimmten internen Empfangstor des zweiten Computers sendet.
  25. Computerprogrammerzeugnis zum Ermöglichen einer Zweiwegeübertragung von Datenpaketen zwischen einem ersten Computer (12) und einem zweiten Computer (20) über ein weiträumiges Computernetzwerk (10), welches Computerprogrammerzeugnis Computerprogramm-Codemittel aufweist zum Bestimmen eines internen Tors für jeden Computer, von dem der Computer die UDP-Datenpakete senden wird, und zum Bestimmen eines internen Tors für jeden Computer, an dem der Computer die UDP-Datenpakete empfangen wird, wobei jeder der Computer eine interne Netzwerkadresse hat, worin der erste Computer durch eine erste Firewall (16) geschützt ist, die die erste interne Netzwerkadresse (H1) in eine erste externe Netzwerkadresse (F1) übersetzt, wenn über das weiträumige Computernetzwerk kommuniziert wird, und der zweite Computer durch eine zweite Firewall (24) geschützt ist, die die zweite interne Netzwerkadresse (H2) in eine zweite externe Netzwerkadresse (F2) übersetzt, wenn über das weiträumige Computernetzwerk kommuniziert wird, welche erste und zweite Firewall über das weiträumige Computernetzwerk kommunizieren, gekennzeichnet durch Verwendung eines bestimmten Empfängercomputers (28) in Kommunikation mit dem ersten und zweiten Computer über das weiträumige Computernetzwerk (10), welches Computerprogrammerzeugnis enthält: a) ein computerverwendbares Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der erste Computer zwei UDP-Datenpakete zu dem bestimmten Empfängercomputer sendet, wobei eines unter Verwendung des bestimmten internen Sendetors des ersten Computers gesendet wird und eines unter Verwendung des bestimmten internen Empfangstors des ersten Computers gesendet wird, und zu bewirken, dass der zweite Computer zwei UDP-Datenpakete zu dem bestimmten Empfängercomputer sendet, wobei eines unter Verwendung des bestimmten internen Sendetors des zweiten Computers gesendet wird und eines unter Verwendung des bestimmten internen Empfangstors des zweiten Computers gesendet wird; b) das computerverwendbare Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der bestimmte Empfängercomputer dem zweiten Computer die erste externe Netzwerkadresse, das bestimmte interne Sendetor und das bestimmte interne Empfangstor des ersten Computers, die aus den von dem ersten Computer gesendeten Datenpaketen bestimmt sind, mitteilt, und dem ersten Computer die zweite externe Netzwerkadresse, das bestimmte interne Sendetor und das bestimmte interne Empfangstor des zweiten Computers, die aus den von dem zweiten Computer gesendeten Datenpaketen bestimmt wurden, mitteilt; c) das computerverwendbare Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der zweite Computer ein UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangstors zu der ersten externen Netzwerkadresse und dem bestimmten internen Sendetor des ersten Computers sendet, und zu bewirken, dass der erste Computer ein UDP-Paket unter Verwendung seines bestimmten internen Empangstors zu der zweiten externen Netzwerkadresse und dem bestimmten internen Sendetor des zweiten Computers sendet; und d) das computerverwendbare Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der erste Computer UDP-Datenpakete unter Verwendung seines bestimmten internen Sendetors zu der zweiten externen Netzwerkadresse und dem bestimmten Empfangstor des zweiten Computers sendet, und zu bewirken, dass der zweite Computer UDP-Datenpakete unter Verwendung seines bestimmten internen Sendetors zu der ersten externen Netzwerkadresse und dem bestimmten internen Empfangstor des ersten Computers sendet.
  26. Computerprogrammerzeugnis zum Ermöglichen einer Zweiwegeübertragung von UDP-Datenpaketen zwischen jeweils zwei von mehreren Computern über ein weiträumiges Computernetzwerk (10), welches Computerprogrammerzeugnis Computerprogramm-Codemittel aufweist zum Bestimmen eines internen Tors für jeden Computer der mehreren Computer, von dem er die UDP-Datenpakete übertragen wird, und eines internen Tors, an dem er die UDP-Da tenpakete empfangen wird, wobei jeder Computer eine interne Netzwerkadresse hat, worin jeder Computer durch eine Firewall geschützt ist, die die erste interne Adresse des Computers in eine externe Netzwerkadresse übersetzt, wenn über das weiträumige Computernetzwerk kommuniziert wird, die Firewalls über das weiträumige Computernetzwerk (10) kommunizieren, gekennzeichnet durch Verwendung eines bestimmten Empfängercomputers (28) in Kommunikation mit den mehreren Computern über das weiträumige Computernetzwerk, welches Computerprogrammerzeugnis enthält: a) ein computerverwendbares Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass jeder Computer der mehreren Computer jeweilige UDP-Datenpakete zu dem bestimmten Empfängercomputer unter Verwendung ihrer bestimmten internen Empfangestore sendet und jeweilige UDP-Datenpakete zu dem bestimmten Empfängercomputer unter Verwendung ihrer bestimmten internen Sendetore sendet; b) ein computerverwendbares Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der bestimmte Empfängercomputer den mehreren Computern die jeweiligen externen Netzwerkadressen, bestimmten internen Sendetore und bestimmten internen Empfangstore, die aus dem Datenpaket bestimmt wurden, mitteilt; c) ein computerverwendbares Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass ein erster der mehreren Computer (12) mit einer ersten externen Netzwerkadresse (F1) ein erstes UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangstors zu einer zweiten externen Netzwerkadresse (F2) und dem bestimmten internen Sendetor, das mit einem zweiten der mehreren Computer (20) assoziiert ist, sendet, und zu bewirken, dass der zweite der mehreren Computer ein UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangstors zu der ersten externen Netzwerkadresse und dem bestimmten internen Sendetor, das mit dem ersten der mehreren Computer assoziiert ist, sendet; und d) ein computerverwendbares Medium mit computerlesbaren Programmcodemitteln, die in dem Medium aufgenommen sind, um zu bewirken, dass der zweite Computer UDP-Datenpakete unter Verwendung seines bestimmten internen Sendetors zu der ersten externen Netzwerkadresse und dem bestimmten internen Empfangstor, das mit dem ersten Computer assoziiert ist, sendet, und zu bewirken, dass der erste Computer UDP-Datenpakete unter Verwendung seines bestimmten internen Sendetors zu der zweiten externen Netzwerkadresse und dem internen Empfangstor, das mit dem zweiten Computer assoziiert ist, sendet.
  27. Computerprogrammerzeugnis nach Anspruch 24, bei dem jeder der Computer durch eine Firewall geschützt ist, die weiterhin die bestimmten internen Sende- und Empfangstore von jedem der Computer in bestimmte externe Sende- und Empfangstore übersetzt, und: i) in den Computerprogramm-Codemitteln b) nach Anspruch 24 teilt der bestimmte Empfängercomputer dem zweiten Computer die erste externe Netzwerkadresse und ein externes Sendetor (f1), das aus dem ersten UDP-Datenpaket bestimmt wurde, mit und teilt dem ersten Computer die zweite externe Netzwerkadresse und ein externes Empfangstor (f2), das aus dem zweiten UDP-Datenpaket bestimmt wurde, mit, ii) in den Computerprogramm-Codemitteln c) nach Anspruch 24 wird das von dem zweiten Computer gesendete UDP-Datenpaket unter Verwendung des bestimmten internen Empfangstors des zweiten Computers zu der ersten externen Netzwerkadresse und dem externen Sendetor des ersten Computers gesendet; und iii) in den Computerprogramm-Codemitteln d) nach Anspruch 24 wird das von dem ersten Computer gesendete UDP-Datenpaket unter Verwendung des bestimmten internen Sendetors des ersten Computers zu der zweiten externen Netzwerkadresse und dem externen Empfangstor des zweiten Computers gesendet.
  28. Computerprogrammerzeugnis nach Anspruch 25, bei dem jeder der Computer durch eine Firewall geschützt ist, die weiterhin die bestimmten internen Sende- und Empfangstore von jedem der Computer in bestimmte externe Sende- und Empfangstore übersetzt, und: i) in den Computerprogramm-Codiermitteln b) nach Anspruch 25 teilt der bestimmte Empfängercomputer dem zweiten Computer die erste externe Netzwerkadresse, das externe Sendetor (f1) und das externe Empfangstor des ersten Computers, die aus den von dem ersten Computer gesendeten Datenpaketen bestimmt wurden, mit, und teilt dem ersten Computer die zweite externe Netzwerkadresse, das externe Sendetor (f2) und das externe Empfangstor des zweiten Computers, die aus den von dem zweiten Computer gesendeten Datenpaketen bestimmt wurden, mit, ii) in den Computerprogramm-Codemitteln c) nach Anspruch 25 wird das von dem zweiten Computer gesendete UDP-Datenpaket unter Verwendung des bestimmen internen Empfangstors (h2) des zweiten Computers zu der ersten externen Netzwerkadresse und dem externen Sendetor des ersten Computers gesendet, und das von dem ersten Computer gesendete UDP-Datenpaket wird unter Verwendung des bestimmten internen Empfangstors (h1) des ersten Computers zu der zweiten externen Netzwerkadresse und dem externen Sendetor des zweiten Computers gesendet, und iii) in den Computerprogramm-Codemitteln d) nach Anspruch 25 werden die von dem ersten Computer gesendeten UDP-Datenpakete unter Verwendung des bestimmten internen Sendetors des ersten Computers zu der zweiten externen Netzwerkadresse und dem externen Empfangstor des zweiten Computers gesendet, und die von dem zweiten Computer gesendeten UDP-Pakete werden unter Verwendung des bestimmten internen Sendetors des zweiten Computers zu der ersten externen Netzwerk adresse und dem externen Empfangstor des ersten Computers gesendet.
  29. Computerprogrammerzeugnis nach Anspruch 26, bei dem jeder der Computer durch eine Firewall geschützt ist, die weiterhin die bestimmten internen Sende- und Empfangstore von jedem der Computer in bestimmte externe Sende- und Empfangstore übersetzt, und: i) in den Programmprogramm-Codemitteln b) nach Anspruch 26 teilt der bestimmte Empfängercomputer den mehreren Computern die jeweiligen externen Netzwerkadressen, externen Sendetore und externen Empfangstore, die aus den Datenpaketen bestimmt wurden, mit; ii) in den Computerprogramm-Codemitteln c) nach Anspruch 26 sendet der ersten der mehreren Computer ein erstes UDP-Paket unter Verwendung seines bestimmten internen Empfangstors zu der zweiten externen Netzwerkadresse (F2) und dem externen Sendetor (f2), das mit dem zweiten der mehreren Computer assoziiert ist, und der zweite der mehreren Computer sendet ein UDP-Datenpaket unter Verwendung seines bestimmten internen Empfangstors (h2) zu der ersten externen Netzwerkadresse und dem externen Sendetor (h1), das mit dem ersten der mehreren Computer assoziiert ist; und iii) in den Computerprogramm-Codemitteln d) nach Anspruch 26 sendet der zweite Computer UDP-Datenpakete unter Verwendung seines bestimmten internen Sendetors zu der ersten externen Netzwerkadresse und dem externen Empfangstor, das mit dem ersten Computer assoziiert ist, und der erste Computer sendet UDP-Datenpakete unter Verwendung seines bestimmten internen Sendetors zu der zweiten externen Netzwerkadresse und dem externen Empfangstor, das mit dem zweiten Computer assoziiert ist.
  30. Computerprogrammerzeugnis nach den Ansprüchen 24 bis 29, bei dem die Übertragung von UDP-Datenpaketen eine Echtzeitlieferung von Live-Audio/Videodaten einbezieht.
  31. Computerprogrammerzeugnis nach den Ansprüchen 24 bis 29, bei dem die Übertragung von UDP-Datenpaketen die Echtzeitlieferung von gespeicherten, angeforderten Audio/Video-Datenströmen einbezieht.
  32. Computerprogrammerzeugnis nach den Ansprüchen 24 bis 29, bei dem die Übertragung von UDP-Datenpaketen eine Echtzeitlieferung von Inhalten einer gespeicherten Computerdatei einbezieht.
  33. Computerprogrammerzeugnis nach den Ansprüchen 24 bis 29, bei dem die Übertragung von UDP-Datenpaketen die Echtzeitlieferung von Audio/Video-Konferenzkommunikationen einbezieht.
  34. Computerprogrammerzeugnis nach den Ansprüchen 24 bis 29, bei dem das Programm bewirkt, dass der Computer, bei dem das Computerprogramm durchgeführt wird, ein UDP-Datenpaket zu einem Zwischenglied sendet für den Zweck des Identifizierens des externen Sendetors, dem es zugewiesen wird, und Daten von dem Zwischenglied empfängt, um das externe Empfangstor, das dem anderen Teilnehmer zugeteilt ist, zu identifizieren.
  35. System zum Übertragen eines UDP-Datenpakets zwischen zwei firewallgeschützten Computern über ein weiträumiges Netzwerk (10), welches System aufweist: einen ersten und einen zweiten Computer, die ausgebildet sind zum Kommunizieren über ein weiträumiges Computernetzwerk, worin der erste Computer (12) eine erste interne Netzwerkadresse (H1) und ein bestimmtes internes Tor (h1) zum Senden des UDP-Pakets hat und der zweite Computer (20) eine zweite interne Netzwerkadresse (H2) und ein bestimmtes internes Tor (h2) zum Empfangen des UDP-Pakets hat, worin der erste Computer durch eine erste Firewall (16) geschützt ist, die die erste interne Netzwerkadresse und das bestimmte interne Sendetor in eine erste externe Netzwerkadresse (F1) und ein externes Sendetor (f1) übersetzt, wenn er über das weiträumige Netzwerk kommuniziert, und der zweite Computer durch eine zweite Firewall (24) geschützt ist, die die zweite interne Netzwerkadresse und das bestimmte interne Empfangstor in eine zweite externe Netzwerkadresse (F2) und ein externes Empfangstor (f2) übersetzt, wenn er über das weiträumige Netzwerk kommuniziert, wobei die erste und die zweite Firewall über das weiträumige Computernetzwerk kommunizieren; gekennzeichnet durch einen bestimmten Empfängercomputer (28) in Kommunikation mit dem ersten und dem zweiten Computer über das weiträumige Computernetzwerk; worin der erste und der zweite Computer Mittel aufweisen zum Senden eines ersten (U1) und eines zweiten (U2) UDP-Datenpakets zu dem bestimmten Empfängercomputer; der erste Computer ausgebildet ist zum Senden des ersten UDP-Datenpakets (U1) unter Verwendung seines bestimmten internen Sendetors und der zweite Computer ausgebildet ist zum Senden des zweiten UDP-Datenpakets unter Verwendung seines bestimmten internen Empfangstors; der bestimmte Empfängercomputer Mittel aufweist zum Mitteilen der ersten externen Netzwerkadresse und des externen Sendetors, das aus dem ersten UDP-Datenpaket bestimmt ist, an den zweiten Computer und zum Mitteilen der zweiten externen Netzwerkadresse und des externen Empfangstors, das aus dem zweiten UDP-Datenpaket bestimmt ist, an den ersten Computer; der zweite Computer Mittel aufweist zum Senden eines UDP-Datenpakets (U3) unter Verwendung seines internen Empfangstors zu der ersten externen Netzwerkadresse und dem externen Sendetor des ersten Computers; und der erste Computer Mittel aufweist zum Senden des UDP-Datenpakets unter Verwendung seines internen Sendetors zu der zweiten externen Netzwerkadresse und dem externen Empfangstor des zweiten Computers.
DE60210927T 2001-02-20 2002-02-19 Verfahren und Vorrichtung zur Zulassung der Datenübertragung über Firewalls Expired - Lifetime DE60210927T3 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US26935701P 2001-02-20 2001-02-20
US269357P 2001-02-20
EP02702189A EP1362460B2 (de) 2001-02-20 2002-02-19 Verfahren und Vorrichtung zur Zulassung der Datenübertragung über Firewalls
PCT/CA2002/000214 WO2002067531A1 (en) 2001-02-20 2002-02-19 Method and apparatus to permit data transmission to traverse firewalls

Publications (3)

Publication Number Publication Date
DE60210927D1 DE60210927D1 (de) 2006-06-01
DE60210927T2 true DE60210927T2 (de) 2006-09-14
DE60210927T3 DE60210927T3 (de) 2012-03-15

Family

ID=23026907

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60210927T Expired - Lifetime DE60210927T3 (de) 2001-02-20 2002-02-19 Verfahren und Vorrichtung zur Zulassung der Datenübertragung über Firewalls

Country Status (10)

Country Link
US (1) US7602784B2 (de)
EP (1) EP1362460B2 (de)
JP (1) JP3917076B2 (de)
KR (1) KR100949510B1 (de)
CN (1) CN1327679C (de)
AT (1) ATE324736T1 (de)
CA (2) CA2761983C (de)
CY (1) CY1105508T1 (de)
DE (1) DE60210927T3 (de)
WO (1) WO2002067531A1 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US7068655B2 (en) * 2001-06-14 2006-06-27 Nortel Networks Limited Network address and/or port translation
US20030009561A1 (en) * 2001-06-14 2003-01-09 Sollee Patrick N. Providing telephony services to terminals behind a firewall and /or network address translator
US7769865B1 (en) * 2001-10-16 2010-08-03 Sprint Communications Company L.P. Configuring computer network communications in response to detected firewalls
US7752334B2 (en) 2002-10-15 2010-07-06 Nomadix, Inc. Intelligent network address translator and methods for network address translation
JP4374202B2 (ja) 2003-02-28 2009-12-02 株式会社日立製作所 ストリーム配信計算機、プログラム、nas装置
US7363378B2 (en) * 2003-07-01 2008-04-22 Microsoft Corporation Transport system for instant messaging
CN1317874C (zh) * 2003-09-27 2007-05-23 财团法人资讯工业策进会 提供虚拟主机服务快速查询置换的网络地址端口转换网关器与方法
CN100382552C (zh) * 2003-10-17 2008-04-16 西安大唐电信有限公司 穿透防火墙建立voip通信的方法
US7886057B2 (en) * 2003-10-20 2011-02-08 Logitech Europe S.A. Method and apparatus for communicating data between two hosts
TWI257217B (en) * 2003-11-10 2006-06-21 Inst Information Industry Method to detect the form of network address translation
CN100414938C (zh) * 2004-01-05 2008-08-27 华为技术有限公司 一种网络安全***和方法
WO2005078593A1 (ja) * 2004-02-13 2005-08-25 Sony Chemicals Corporation 業務プロセスシステム及び業務プロセス方法、並びに情報処理装置
JP2008505512A (ja) * 2004-04-12 2008-02-21 エックスディエス・インコーポレイテッド ファイアウォールを有するサーバとファイアウォールを有するクライアントとの間の安全なインターネット接続を自動的に起動し動的に確立するためのシステムおよび方法
ATE347774T1 (de) * 2004-10-04 2006-12-15 Cit Alcatel Vorrichtungen und verfahren zum führen von bidirektionellen verbindungen über eine zwischengeschaltete firewall mit adresstransformationsgerät
US7948890B2 (en) * 2004-12-14 2011-05-24 Industrial Technology Research Institute System and method for providing a communication channel
CN100426769C (zh) * 2005-01-12 2008-10-15 腾讯科技(深圳)有限公司 一种建立对等直连通道的方法
US20060230163A1 (en) * 2005-03-23 2006-10-12 Fish Russell H Iii System and method for securely establishing a direct connection between two firewalled computers
CN100583814C (zh) * 2005-05-12 2010-01-20 中兴通讯股份有限公司 一种实现多媒体业务nat穿越的方法
JP4557803B2 (ja) * 2005-05-27 2010-10-06 富士通株式会社 ネットワークシステム及び通信方法
JP4721782B2 (ja) * 2005-06-16 2011-07-13 パナソニック株式会社 通信管理装置および通信システム
CN1917512B (zh) * 2005-08-18 2010-09-29 腾讯科技(深圳)有限公司 一种建立对等直连通道的方法
KR101361061B1 (ko) 2007-04-09 2014-02-07 삼성전자주식회사 서버/클라이언트 네트워크에서의 효율적인 정보 전송 방법및 이를 이용한 서버 장치와 클라이언트 장치
CN101431511B (zh) * 2007-11-09 2013-03-06 友讯科技股份有限公司 一种穿透防火墙在网络终端装置间建立联机信道的方法
KR100917660B1 (ko) * 2009-05-11 2009-09-18 (주)비전소프트 연계아답터를 이용한 방화벽 단일포트를 통해 내부망과 외부망의 서버들 간의 네트워크 연결 시스템
US8886756B2 (en) * 2011-05-13 2014-11-11 Qualcomm Incorporated Exchanging data between a user equipment and an application server
TWI484804B (zh) * 2011-11-09 2015-05-11 Quanta Comp Inc 網路系統之資料管理方法及其相關系統
CN102497446B (zh) * 2011-12-26 2015-04-15 杭州华三通信技术有限公司 一种穿越nat设备的业务流传输方法及装置
CN104660722A (zh) * 2013-11-21 2015-05-27 倚强科技股份有限公司 网络连线方法及其网络***
US10085070B2 (en) 2015-12-29 2018-09-25 The Directv Group, Inc. Network address translator (NAT) traversal for out of home streaming
CN109787986A (zh) * 2019-01-29 2019-05-21 黄策 文件碎片化公网安全传输方法
WO2022126200A1 (en) * 2020-12-18 2022-06-23 Dull Pty Ltd Method for establishing trusted data communication between networks
FR3119290A1 (fr) * 2021-01-27 2022-07-29 Eho.Link Procede d’etablissement d’un canal de communication poste-a-poste securise, dedie a une application reseau, entre deux equipements reseau distants

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721908A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Computer network for WWW server data access over internet
US5793763A (en) * 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US5673322A (en) * 1996-03-22 1997-09-30 Bell Communications Research, Inc. System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks
EP0858201A3 (de) * 1997-02-06 1999-01-13 Sun Microsystems, Inc. Verfahren und Vorrichtung zum ermöglichen gesicherte Transaktionen durch ein Firewall
NZ500566A (en) * 1997-05-12 2002-05-31 Mlk Software Internet based collection of data with data validation at source and centralized database
US6259701B1 (en) * 1997-09-11 2001-07-10 At&T Corp. Method and system for a unicast endpoint client to access a multicast internet protocol (IP) session
US6618368B1 (en) * 1998-02-19 2003-09-09 Hitachi, Ltd. Data gateway and method for relaying data
US6055236A (en) * 1998-03-05 2000-04-25 3Com Corporation Method and system for locating network services with distributed network address translation
US6496935B1 (en) * 2000-03-02 2002-12-17 Check Point Software Technologies Ltd System, device and method for rapid packet filtering and processing
US7797433B2 (en) * 2000-06-30 2010-09-14 Net2Phone System, method, and computer program product for resolving addressing in a network including a network address translator
US20020032798A1 (en) * 2000-09-08 2002-03-14 Wei Xu Systems and methods for packet sequencing
KR20010008358A (ko) * 2000-11-27 2001-02-05 조용근 인트라넷을 기반으로 하는 전자상거래 시스템과 그 운영방법
US6993012B2 (en) * 2001-02-20 2006-01-31 Innomedia Pte, Ltd Method for communicating audio data in a packet switched network

Also Published As

Publication number Publication date
CY1105508T1 (el) 2010-04-28
ATE324736T1 (de) 2006-05-15
US7602784B2 (en) 2009-10-13
DE60210927T3 (de) 2012-03-15
JP2004528748A (ja) 2004-09-16
CA2761983A1 (en) 2002-08-29
WO2002067531A1 (en) 2002-08-29
CA2476722A1 (en) 2002-08-29
JP3917076B2 (ja) 2007-05-23
KR20030080006A (ko) 2003-10-10
US20040095937A1 (en) 2004-05-20
CN1327679C (zh) 2007-07-18
CA2476722C (en) 2011-12-20
KR100949510B1 (ko) 2010-03-24
CN1493140A (zh) 2004-04-28
EP1362460A1 (de) 2003-11-19
EP1362460B1 (de) 2006-04-26
DE60210927D1 (de) 2006-06-01
EP1362460B2 (de) 2010-09-29
CA2761983C (en) 2012-11-27

Similar Documents

Publication Publication Date Title
DE60210927T2 (de) Verfahren und Vorrichtung zur Zulassung der Datenübertragung über Firewalls
DE10245330B4 (de) Softwareschalter der verteilte Firewalls für eine Lastteilung von Internet-Telefonie-Verkehr in einem IP-Netz verwendet
DE602004010920T2 (de) Verfahren zur Implementierung eines Multimediaprotokolls mit Durchlauf durch eine Netzwerkadressentransformations-Einrichtung
DE69727447T2 (de) Übertragungstrennung und Ebene-3-Netzwerk-Vermittlung
DE10022431B4 (de) Integriertes IP-Netzwerk
DE69726701T2 (de) Verfahren zur Übertragung von Verbindungsverwaltungsinformationen in World Wide Web Anforderungen und Antworten
DE102015004668B4 (de) Aufgeteilte netzwerkadressenübersetzung
DE102005020098B4 (de) Verfahren und System zum Zuweisen von Teilnehmeridentifizierungsdaten zu Netzwerkübertragungsereignissen und Computerprogrammprodukt
WO2009046729A1 (de) Verfahren und vorrichtung zur verbindung paketorientierter kommunikationsendgeräte
DE60026006T2 (de) System zum Empfang von Mehrfachdaten
DE602005005727T2 (de) Verfahren und Vorrichtung zur Verbindung von Knoten mit heterogenen Kommunikationsprotokollen
DE102019210229A1 (de) Verfahren und Vorrichtung zur Analyse dienste-orientierter Kommunikation
DE60126725T2 (de) Adressierungsverfahren in einem Satelliten Zugriff- oder Infrastruktur- netzwerk für Datenübertragung in einem nicht geschaltetem Modus
DE10231958B4 (de) Verfahren und System zum Übertragen von Datenpaketen über ein Netzwerk an ausgewählte mehrere Bestimmungsorte, sowie computerlesbares Medium
EP2351332A2 (de) Verfahren und einrichtung zur bidirektionalen adressumsetzung in sip-gesteuerten datenströmen zwischen ipv4- und ipv6- datenendgeräten
EP1421766B1 (de) Vorabaushandlung von nat-adressen
DE102005035733A1 (de) Verfahren zum Datenaustausch zwischen Netzelementen
EP1841161B1 (de) Verfahren zur gesicherten Nutzdatenübertragung
EP1623559B1 (de) Verfahren zum datenaustausch zwischen netzelementen in netzwerken mit verschiedenen adressbereichen
EP1263188A2 (de) Verfahren zum Vermitteln von Daten zwischen einem lokalen Netzwerk und einem externen Gerät und Router dafür
DE60320567T2 (de) Adressenverwaltungsverfahren
EP1269718B1 (de) Verfahren zur signalisierung unterschiedlicher kopfinformationen
DE102010033432B3 (de) Verfahren zur Übermittlung von Multicast-Datenpaketen durch einen Switch
DE102006030591A1 (de) Verfahren zur Verwaltung von Kommunikationsverbindungen
DE102005039343B4 (de) Verfahren zum Übertragen von Datenpaketen und Datenverarbeitungseinheit

Legal Events

Date Code Title Description
8363 Opposition against the patent
8366 Restricted maintained after opposition proceedings
R074 Re-establishment allowed

Ref document number: 1362460

Country of ref document: EP