-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft das Gebiet von Computern und Kommunikation.
Genauer, bezieht sich die vorliegende Erfindung auf das Durchqueren
einer Firewall.
-
HINTERGRUND
DER ERFINDUNG
-
Computernetzwerke
sind verbreitet. Die Verbindung zu anderen Computernetzwerken ist
ebenfalls verbreitet. Bei der Verbindung von Netzwerken, zum Beispiel
ein lokales Netzwerk (LAN) an ein Weitraumnetzwerk (WAN), kann das
Bedürfnis
bestehen, die Netzwerke zu isolieren um den Zugriff einzuschränken. Es
gibt verschiedene Ansätze,
um diese Isolierung zu erreichen. Ein Ansatz ist die Verwendung
von dem, was in der Technik als eine Firewall bezeichnet wird. Eine
Firewall kann auf einer Vielzahl von Wegen implementiert werden.
-
Einen
Ansatz, den eine Firewall implementieren kann, ist Paketfilterung.
Bei der Paketfilterung analysiert die Firewall den Netzwerkverkehr
auf und unterhalb der Transportprotokollschicht. In Bezug auf das
Internet kann eine Firewall das Internetprotokoll (IP) Paket untersuchen.
Auf einen vordefinierten Satz von Regeln basierend, kann die paktefilternde
Firewall die Kommunikation basierend auf solchen Faktoren wie Richtung
der Kommunikation, wo das Paket physikalisch ankommt, die vermeintliche
Quelle und/oder das vermeintliche Ziel der Kommunikation, den Typ
der Transportschicht etc., erlauben. Gewöhnliche Transportschichten,
die in der Umgebung des Internets überprüft werden können sind Transmission Control
Protocol (TCP), User Datagram Protocol (UDP), Internet Control Message
Protocol (ICMP), etc. Zum Beispiel kann eine Firewall ein TCP und/oder
UDP Transportschichtprotokoll untersuchen, um die Quell- und Zielportnummern
zu überprüfen. Zusätzlich können Firewalls,
die Paketfilterung verwenden, ebenfalls eine Netzwerk-Adressenübersetzung
(NAT) durchführen.
NAT adressiert Pakete neu, sodass die Topologie eines internen Netzwerkes
für einen
Außenstehenden
verborgen bleibt. Dies bedeutet, dass das Neuadressieren auf ein
Verstecken der internen IP Adressen vor externer Sicht abzielt.
Verkehr, der im internen Netzwerk entsteht und durch die Firewall
hinaus gesendet wird, wird neu adressiert, sodass der ausgehende
Verkehr den Anschein haben kann, von einem anderen Host als dem
internen Host zu entspringen.
-
Ein
weiterer Ansatz für
die Sicherheit ist eine Firewall auf Schaltkreisebene. Dieser Ansatz
versucht das Aufbauen und Abbauen von Verbindungen zu überwachen
und zu validieren. Sobald eine Verbindung aufgebaut ist, werden
die Kommunikationen mittels dieses Verbindungsschaltkreises validiert
und ihr Durchgang erlaubt. Zum Beispiel kann eine Firewall das Aufbauen
einer TCP Verbindung überwachen
und, nach Überprüfung, dass
die TCP Verbindung richtig aufgebaut wurde, den Durchgang der Kommunikation
erlauben, bis zu dem Zeitpunkt, an dem die Verbindung abgebaut wird.
Die Firewall kann ebenfalls die Quell- und Ziel- IP Adressen für zusätzliche
Sicherheit überwachen,
um zu versuchen eine andere Einheit davon abzuhalten, unbekannte
Pakete zu senden und/oder zu empfangen. Zusätzlich kann eine Firewall auf
Schaltkreisebene ein NAT, wie oben diskutiert, einsetzen.
-
Ein
weiterer Ansatz wird Application Layer Firewall genannt. Wie der
Name andeutet, wertet die Application Layer Firewall die Gültigkeit
von Paketen im Hinblick auf eine Anwendung aus. Application Layer
Firewalls beinhalten im Allgemeinen Proxydienste. Proxydienste sind
Programme, die den Netzwerkverkehr durch eine Firewall für einen
spezifischen Typ von Dienst verwalten. Zum Beispiel beinhalten viele
gewöhnliche
Proxydienste die Unterstützung
für das
Hypertext Transfer Protocol (HTTP), das File Transfer Protocol (FTP),
Gopher, Telnet, etc. Da die Proxydienste eingehende Anfragen von
lokalen Benutzern untersuchen, sie validieren und dann an ein außenseitiges
Netzwerk weiterleiten und dann eine Antwort vom außenseitigen
Netzwerk empfangen und diese an den ursprünglich Anfragenden zurück weiterleiten,
werden Proxydienste manchmal einfach als ein Proxy und/oder ein
Proxyserver bezeichnet. Dies bedeutet, dass im Hinblick auf den
lokalen Anwender der Proxy die Funktion eines Servers erfüllt, indem
er die Information an den lokalen Anwender liefert, ohne dass der
lokale Anwender wirklich direkt zu der außenseitigen Informationsquelle
verbunden ist. Im Hinblick auf eine außenseitige oder externe Quelle,
erscheint der Proxy wie ein Standardclient, der eine Anfrage aufgibt
und Information empfängt.
Wegen dieses Proxy Prozesses, sind interne IP Adressen generell
von externem Zugang abgeschirmt. Zusätzlich ist ein Proxy, da ein
Proxy Pakete im Hinblick auf spezifische Anwendungen untersuchen
kann, in der Lage, abgefragte Informationen zwischenzuspeichern,
spezifische Informationen herauszufiltern, Authentifizierung des
Benutzers durchzuführen,
etc.
-
WO
A-98/34385 beschreibt ein Verfahren zum Durchqueren einer Firewall,
das automatisch das vorteilhafteste Protokoll für die Kommunikation mit einem
Client-Computer erkennt, wobei der Client-Computer zur Kopplung
mit einem Server-Computer über
ein Computernetzwerk konfiguriert wird. Das Verfahren schließt das Einleiten
einer Vielzahl von Protokoll-Threads ein zum Senden einer Vielzahl von
Datenanfragen vom Client-Computer zum Server-Computer. Jede der
Datenanfragen setzt ein unterschiedliches Protokoll und eine unterschiedliche Verbindung
ein. Der Client sendet mehrere Protokoll-Threads zum, im Wesentlichen,
gleichen Zeitpunkt, oder gibt anderenfalls mehrere Protokoll-Threads
aus, die simultan ausgeführt werden, unabhängig davon,
wann sie eingeleitet wurden. Die Datenanfragen sind konfiguriert,
um beim Server-Computer einen Satz von Antworten in Antwort auf
die Datenanfragen nachzufragen. Jede dieser Antworten verwendet
ein Protokoll, das zu jeweils einer der Datenanfrage gehört.
-
US 6,044,401 beschreibt
ein System zur Lokalisierung von angeforderten Datenströmen mittels Zuordnung
der Daten, die überwacht
wurden durch einen „Netzwerk
Sniffer" für einen
bestimmten Knotenpunkt und Auswertung der Daten, die innerhalb der
Privilegien eines bestimmten Nutzers liegen. Ein Netzwerk Sniffer
wird gewöhnlich
verwendet, um die Netzwerkaktivität bei der Lösung von Netzwerkproblemen
zu überwachen,
oder bei der Verbesserung der Netzwerkeffizienz; wegen der Sensitivität von manchen
Daten in Netzwerken ist den durchschnittlichen Benutzern generell
der Zugang zu Netzwerk Sniffer nicht erlaubt. Ein „Zugangs
Sniffer" wird ebenfalls
vom System eingesetzt und beinhaltet ein Zugangselement und eine
Zugangschnittstelle; das Zugangselement besitzt eine Datenbank,
während
die Zugangsschnittstelle mit einem Netzwerkcontroller verbunden
ist. Das Zugangselement greift auf den Netzwerk Sniffer zu und filtert
nichtverfügbare
Informationen, die jenseits der Privilegierungsstufe eines bestimmten
Anwenders liegen aus; es wertet öffentliche
Informationsdatenströme
aus und speichert diese, falls diese die festgelegten Kriterien
erfüllen,
in seiner Datenbank. Informationen, die als für einen bestimmten Anwender
verfügbar
bestimmt wurden, werden mittels des Zugangselements zur Zugangsschnittstelle
transferiert, von wo aus sie sukzessiv an den Netzwerkcontroller
transferiert werden. Der Internet-Draft „Web Proxy Auto-Discovery
Protocol" <drfat-cooper-webi-wpad-00.txt>, Cooper I, et al.,
beschreibt einen Mechanismus, um es Netz-Clienten zu erlauben, in
der Nähe
befindliche (zwischenspeichernde) Netzproxies zu lokalisieren.
-
Ein
hinter einer Firewall befindliches Gerät ist mit Problemen beim Versuch
eine externe oder außenseitige
Quelle zu kontaktieren konfrontiert. Ähnlich präsentiert sich einem externen
Gerät,
das versucht eine interne Quelle hinter einer Firewall zu erreichen,
das Erfordernis durch diese Firewall hindurch zu kommen. Falls die
Geräte
hinter der Firewall Computer mit Tastaturen, Monitoren und ladbarer Software
sind, ist es häufig
möglich,
Konfigurationsseiten aufzurufen, um die Geräte korrekt für die Kommunikation
durch die Firewall zu konfigurieren. Es ist nicht so einfach im
Falle eines Geräts
vom Typ einer Vorrichtung, dem die Möglichkeit der Anwendereingabe
fehlt um konfiguriert zu werden. Dies stellt ein Problem dar.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Ein
Verfahren, ein maschinenlesbares Medium und eine Vorrichtung wie
in Ansprüchen
1 beziehungsweise 10 und 13, zum Durchqueren einer Firewall sind
offenbart. Andere Merkmale der vorliegenden Erfindung werden aus
den begleitenden Zeichnungen und aus der folgenden detaillierten
Beschreibung ersichtlich.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
vorliegende Erfindung wird exemplarisch illustriert, und nicht limitiert,
mittels der Abbildungen der begleitenden Zeichnungen, in denen gleiche
Referenzen ähnliche
Elemente anzeigen und in denen:
-
1 eine
vernetzte Computerumgebung illustriert;
-
2 ein
Blockdiagramm eines Computersystems ist;
-
3 eine
Firewall zwischen zwei Netzwerken illustriert; und
-
4, 5 und 6 mögliche Ausführungsformen
der Erfindung illustrieren.
-
DETAILLIERTE
BESCHREIBUNG
-
Ein
Verfahren und eine Vorrichtung zum Durchqueren einer Firewall werden
beschrieben. Zum Zwecke der Diskussion der Erfindung versteht es
sich, dass verschiedene Begriffe von denjenigen verwendet werden,
die in der Technik bewandert sind, um Kommunikationen, Protokolle,
Anwendungen, Sicherungsmechanismen etc. zu beschreiben. Ein solcher
Begriff ist Firewall. Eine Firewall ist ein industrieller Standardbegriff
der in einer Ausführungsform
Hardware, Software, oder jegliche Kombination dieser umfassen kann.
Die Funktion einer Firewall ist, in irgendeiner Art und Weise den
Zugang und/oder die Kommunikation zwischen zwei Netzwerken zu kontrollieren.
Zum Beispiel kann eine Firewall in einem Fall einen Internetbenutzer
davon abhalten auf ein privates Intranet zuzugreifen. Die obige
kurze Beschreibung soll nur als Beispiel dienen und soll nicht die
Standarddefinitionen der Industrie aufheben, die vom Fachmann verstanden
werden.
-
Ein
maschinenlesbares Medium wird verstanden, jeglichen Mechanismus
zur Speicherung oder Übermittlung
von Informationen zu enthalten, in einer Form, die von einer Maschine
(z.B. einem Computer) lesbar ist. Zum Beispiel schließt ein maschinenlesbares
Medium, Festspeicher (ROM); frei adressierbaren Festspeicher (RAM);
magnetische Disketten-Speichermedien; optische Speichermedien; Flash-Speicher
Geräte;
elektrische, optische, akustische, oder andere Formen von propagierte
Signalen (z.B. Trägerwellen,
Infrarotsignale, Digitalsignale, etc.); etc. ein.
-
1 illustriert
eine Netzwerkumgebung, in der die beschriebene Technik angewendet
werden kann. Wie gezeigt, sind verschiedene Computersysteme in der
Form von M Servern 104-1 bis 104-M und N
Clienten 108-1 bis 108-N miteinander über ein Netzwerk 102 verbunden,
das zum Beispiel das Internet sein kann. Beachte, dass Netzwerk 102 alternativ sein
oder enthalten kann, eines oder mehre von: einem lokalen Netzwerk
(LAN), Weitraumnetzwerk (WAN), Heimnetzwerk, Satellitenverbindung,
Glasfasernetzwerk, Kabelnetzwerk, oder eine Kombination dieser und/oder
anderer. Das Verfahren und die Vorrichtung, die hier beschrieben
sind, können
im Wesentlichen auf jeglichen Typ von Kommunikationsmittel oder
-gerät,
ob lokal oder entfernt, wie ein LAN, ein WAN, ein Computer, einer
Vorrichtung, ein Heimsicherheitssystem, ein Diskettenlaufwerk, eine
Heimcomputerumgebung, ein Unterhaltungssystem, Medienspeicher, etc.,
angewendet werden.
-
2 illustriert
einen Computer in Blockdiagrammform, der für jeglichen der in 1 gezeigten Clienten
und Server repräsentativ
sein kann. Das Blockdiagramm ist eine konzeptionelle Darstellung auf
hohem Niveau und kann in einer Vielzahl von Wegen und mittels verschiedener
Architekturen implementiert werden. Bus-System 202 verbindet
eine Zentraleinheit (CPU) 204, Festspeicher (ROM) 206, frei
adressierbarer Festspeicher (RAM) 208, Speicher 210,
Bildschirm 220, Audio 222, Tastatur 224, Zeiger 226,
verschiedene Eingabe/Ausgabe (I/O) Geräte 228 und Kommunikationen 230 miteinander. Das
Bus-System 202 kann zum Beispiel ein oder mehrere solcher
Busse als einen System-Bus, Peripheral Component Interconnect (PCI),
Advanced Graphics Port (AGP), Small Computer System Interface (SCSI),
Institute of Electrical and Electronics Engineers (IEEE) Standardnummer
1394 (FireWire), etc., sein. Die CPU 204 kann eine einzelne,
mehrere, oder sogar eine verteilte Computer-Ressource sein. Das
ROM 206 kann jeglicher Typ von nicht-flüchtigem Speicher sein, der
programmierbar sein kann, wie maskenprogrammierbar, Flash, etc.
RAM 208 kann, zum Beispiel, statisch, dynamisch, synchron, asynchron,
oder jegliche Kombination sein. Speicher 210 kann sein
eine Compact Disc (CD), Digital Versatile Disk (DVD), Festplatten,
optische Disketten, Band, Flash, Speichersticks, Videorecorder,
etc. Der Bildschirm 220 kann, zum Beispiel, eine Kathodenstrahlenröhre (CRT),
eine Flüssigkristallanzeige (LCD),
ein Projektionssystem, ein Fernseher (TV), etc. sein. Audio 222 kann
eine monophonische, eine stereo, eine dreidimensionale Tonkarte
sein, etc. Die Tastatur 224 kann eine Tastatur, eine Klaviatur,
ein Tastenfeld, eine Reihe von Schaltern, etc. sein. Der Zeiger 226 kann,
zum Beispiel, eine Maus, ein integriertes Berührungsfeld, eine Steuerkugel,
ein Steuerknüppel,
etc. sein. I/O Geräte 228,
können
ein Stimmkontroll-Eingabegerät,
ein Fingerabdruck-Eingabegerät,
ein Schacht für
eine SmartCard, eine Personal Computer Karten (PC Card) Schnittstelle,
Zubehör
für virtuelle
Realität,
etc. sein, die optional mit einem Eingabe/Ausgabeanschluss 229 an
andere Geräte
oder Systeme verbunden werden können.
Ein Beispiel für
ein sonstiges I/O Gerät 228 wäre eine Musikinstrumenten-Schnittstellen
(MIDI) Karte, deren I/O Anschluss 229 mit dem/den Musikinstrument(en)
verbunden ist. Das Kommunikationsgerät 230 könnte, zum
Beispiel, ein Ethernetadapter für
lokale Netzwerk (LAN) Verbindungen, eine Satellitenverbindung, ein
Set-Top-Box Adapter, ein Adapter für eine digitale Teilnehmeranschlussleitung
(xDSL), ein drahtloses Modem, ein konventionelles Telefonmodem,
eine direkte Telefonverbindung, eine Hybrid-Faser Koaxial (HFC)
Verbindung, ein Kabelmodem, etc. sein. Der externe Verbindungsport 232 kann
jegliche Verbindung, wie benötigt,
zwischen einem entfernten Gerät
und dem Bus-System 202 durch das Kommunikationsgerät 230 zur
Verfügung
stellen. Das Kommunikationsgerät 230 könnte, zum
Beispiel, ein IEE 802.3 (Ethernet) Adapter sein, welcher über den
Verbindungsport 232 mit, zum Beispiel, einem externen DSL
Modem verbunden ist. Beachte, dass abhängig von der wirklichen Konfiguration
eins Computersystems, das Computersystem einige, alle, mehrere, oder
ein Umstellung der Komponenten des Blockdiagramms enthalten kann.
Zum Beispiel könnte
ein Thin-Client aus einem drahtlosen, tragbaren Gerät bestehen,
das zum Beispiel keine traditionelle Tastatur besitzt.
-
Ein
anderes Beispiel kann, zum Beispiel, ein Heimvideorekorder mit begrenzter
Benutzer-Eingabekapazität sein.
Noch ein weiteres Beispiel kann ein Haushaltsgerät, wie eine Waschmaschine,
ein Trockner, ein Kühlschrank,
eine Klimaanlage etc., sein. Was zu würdigen ist, ist dass alle diese
Geräte
mit unterschiedlicher Unterstützung
und Benutzereingabe-Ressourcen an ein Netzwerk, zum Beispiel ein Heimnetzwerk,
angeschlossen werden können.
Daher sind viele Variationen des Systems aus 2 möglich.
-
Auf 1 zurückverweisend,
sind Clienten 108-1 bis 108-N effektiv über das
Netzwerk 102 mit Webseiten, Anwendungsdienstleistungsprovidern, Suchmaschinen
und/oder Datenbank Ressourcen verbunden, die durch Server, wie Server 104-1 bis 104-M,
repräsentiert
werden. Die Webbrowser und/oder andere Anwendungen laufen für gewöhnlich auf
den Clienten 108-1 bis 108-N. während die Information
generell auf den Servern 104-1 bis 104-M liegt.
Zur Vereinfachung der Erklärung,
wird angenommen, dass ein einzelner Client 108-1 eine Ausführungsform
der vorliegenden Techniken darstellt. Es wird leicht ersichtlich
sein, dass solche Techniken einfach auf mehrere Clienten angewendet
werden können.
-
In 1 kann
Client 108-1 die Fähigkeit
haben, auf das Netzwerk 102 zuzugreifen. Diese Fähigkeit
kann das Hochfahren, Aktualisierungen, oder der Transfer von Informationen
dorthin von einem Server über
das Internet, einem anderen Netzwerk, einem lokalen Netzwerk, einer
lokalen Maschine, oder einer Kombination dieser zu/vom Clienten
erlauben. Eine Beschreibung des Verfahrens zur Aktualisierung oder
Installation von jeglichem überarbeiteten
Code und/oder Daten oder Einstellungen ist für das Verstehen der vorliegenden
Erfindung nicht erforderlich.
-
Der
Transfer von Informationen in der vorliegenden Erfindung können, jedoch
ohne darauf beschränkt
zu sein, Zugriffe über,
zum Beispiel, das Kommunikationsgerät 230 sein, welches,
zum Beispiel, ein Ethernet Adapter sein könnte, der es erlaubt auf ein
Netzwerk zuzugreifen, aus dem die Information abgerufen werden kann.
-
Ein
Client kann, ohne darauf beschränkt
zu sein, ein oder mehrere der Elemente von 2 sein.
Zum Beispiel, kann Speicher 210 ein autonomer Client sein,
der abwickelt, wie Daten gespeichert und abgefragt werden sollen.
Audio 222 kann ein Subsystem sein, das zum Beispiel abwickelt:
Zugreifen auf Ressourcen; Pufferung von erhaltenem Inhalt von, zum
Beispiel, einer Webseite; Abspielen von Musik; Abschalten von Lautsprechern;
etc. Das Kommunikationsgerät 230 kann,
zum Beispiel, ein Teil eines Systems sein, das auf das Erhalten
einer Nachricht hin starten kann, oder mit anderen Geräten kommuniziert.
-
3 stellt
eine Netzwerkumgebung in größerem Detail
dar, in welchem die beschriebenen Techniken angewendet werden können. Wie
gezeigt, sind mehrere Computersysteme in Form von M Servern 304-1 bis 304-M und
N Clienten 308-1 bis 308-N miteinander über ein
Netzwerk 302 verbunden, das zum Beispiel das Internet sein
kann. Beachte, dass alternativ das Netzwerk 302 sein oder
einschließen kann
eins oder mehrere von: einem lokales Netzwerk (LAN), einem Weitraumnetzwerk
(WAN), einem Heimnetzwerk, einer Satellitenverbindung, einem Glasfasernetzwerk,
einem Kabelnetzwerk, oder einer Kombination von diesen und/oder
anderen.
-
Die
Firewall 310 ist mit dem Netzwerk 302 und einem
lokalen Netzwerk (LAN) 311 verbunden, welches hinter der
Firewall 310 lokalisiert ist. Das LAN 311 besitzt
Computer 312-1 bis 312-P, die mit der Firewall 310 verbunden
sind. Zusätzlich
verbindet das LAN 311 einige untraditionelle Geräte (314-1 bis 314-Q mit
der Firewall 310. Diese untraditionellen Geräte werden
durch eine Waschmaschine 314-1, einen Trockner 314-2,
einen Kühlschrank 314-3,
eine Luftstromheizungs/Klimaanlagen (HVAC) Einheit 314-4,
ein Heimunterhaltungssystem 314-5 und andere 314-Q Geräte dargestellt.
-
Traditionell
haben verbundene Geräte,
wie Computer 312-1 bis 312-P, für gewöhnlich Benutzerschnittstellen
wie Tastaturen und Bildschirme, welche die Einstellung von Parametern
zur Konfiguration des Geräts
für die
Kommunikation durch die Firewall 310 zu, zum Beispiel,
einem außenseitigen
Netzwerk 302, das zum Beispiel das Internet sein kann,
ermöglichen.
Untraditionelle Geräte,
wie durch 314-1 bis 314-Q veranschaulicht, haben
für gewöhnlich keine solchen
Schnittstellen zur Konfiguration ihrer jeweiligen Geräte zur Kommunikation
durch eine Firewall.
-
Die
Verbindung von untraditionellen Geräten mit, zum Beispiel, dem
Internet kann fortgeschrittene Merkmale zur Verfügung stellen. Zum Beispiel
kann die Verbindung einer Waschmaschine 314-1, eines Trockners 314-2,
eines Kühlschranks 314-3 und HVACs 314-4 diesen
Geräten
erlauben, betriebliche Informationen, wie Störungen, Temperatur, Gasdruck und
Betriebsbedingungen an, zum Beispiel einen Hersteller oder eine
Reparatureinrichtung, weiterzuleiten, die ebenfalls mit dem Internet
verbunden sind. In diesem Szenario kann ein frühe Diagnose und präventive
Wartung möglich
sein. Diese Information muss von den untraditionellen Geräten über das
LAN 311, durch die Firewall 310 zu einem Ziel
transferiert werden. Ein weiteres Beispiel ist ein Heimunterhaltungssystem 314-5,
das, wenn es zunächst
gekauft und, zum Beispiel in ein Heimnetzwerk eingestöpselt wurde,
fähig sein
kann, sich zum Sitz des Herstellers zu verbinden, registriert zu
werden und vollen Zugriff auf, zum Beispiel, einen Musikanbieter
zu haben. Andere Anbieter können
lediglich einen beschränkten Zugriff
zulassen, zum Beispiel, um einen einführenden Musiktitel anzuhören, oder
sie können
eine Werbung empfangen, die dem Kunden mitteilt, wie und wann ein
Produkt erworben werden kann. Es ist einzusehen, dass sich verschiedene
Geschäftsmodelle aus
solchen Fähigkeiten
entwickeln können.
Die Fähigkeit
durch eine Firewall hindurch zu dringen, ist wo die vorliegende
Erfindung zum Durchqueren einer Firewall anwendbar ist. Der Fachmann
wird erkennen, dass eine zweiseitige Kommunikation bequem möglich ist,
sobald die Firewall durchquert wurde.
-
Das
Netzwerk, mit dem dieses untraditionelle Gerät verbunden sein kann, kann
einen Dynamic Host Configuration Protocol (DHCP) Server haben, der
einem Gerät
erlauben kann, eine IP Adresse für die
Kommunikation zu erhalten. Falls das Gerät nicht erfolgreich ist, ohne
Benutzerinteraktion eine IP Adresse für die Kommunikation zu erhalten,
können andere
Verfahren zur Eingabe einer IP Adresse vonnöten sein. Ein solcher Ansatz
kann sein, dass der Benutzer Informationen mittels einer Eingabe/Ausgabe
Schnittstelle eingibt. Zum Beispiel kann das Gerät ein Tastenfeld zur Eingabe
solcher Informationen haben. Ein anderer Ansatz, falls das Gerät mit einem Netzwerk
mit einem angeschlossenen Computer verbunden ist, kann sein den
Computer zu verwenden, um das Gerät zu konfigurieren. Zum Beispiel
kann der Benutzer in der Lage sein, Adress- und Konfigurationsinformationen
einzugeben, die an das Gerät transferiert
werden, oder der Computer kann in der Lage sein, zum Beispiel ein
Zusatzmodul herunter zu laden, dass das Gerät konfiguriert. Eine andere
Alternative kann zum Beispiel sein, eine serielle Verbindung, wie
den Electronic Industries Association (EIA) RS232 Standard, den
Universal Serial Bus (USB), den infrarot Datenverbindung (IrDA)
Standard etc., zwischen einem Computer und dem Gerät zu verwenden,
um das Gerät
zu konfigurieren. Noch ein weiterer Ansatz kann sein, es das Gerät versuchen zu
lassen, verschiedene Adressen auszuprobieren.
-
4 zeigt
ein Flussdiagramm, welches die Hauptoperationen zum Durchqueren
einer Firewall in einer Ausführungsform
darstellt. Es versteht sich, dass das Öffnen einer Verbindung oder
die Herstellung einer Kommunikationsverbindung sich effektiv auf
dieselbe Sache beziehen, dass sobald erreicht, ein Transfer von
Informationen (d.h. Kommunikation) mit einer Einheit auf der anderen
Seite einer Firewall möglich
ist. Der Fachmann wird erkennen, dass ein bestimmtes Protokoll,
zum Beispiel, Handshakes, Synchronisationsbits, einen Identifikationsnachweis etc.
verlangen kann, bevor eine Verbindung geöffnet wird, so dass die Kommunikation
zwischen Geräten fortgeführt werden
kann. Für
Zwecke dieser Diskussion sind diese Details jedoch nicht nötig, um
die Erfindung zu verstehen. Daher, wenn nicht anderweitig angegeben,
bezieht sich eine Bezugnahme auf das Offnen einer Verbindung und/oder
der Herstellung einer Kommunikationsverbindung auf das Endergebnis,
dass Geräte
fähig sind,
Information zu transferieren und dabei miteinander kommunizieren
können. Transfer
von Information wird verstanden als Senden von Information, Empfangen
von Information, oder sowohl Senden als auch Empfangen von Information.
-
Bezug
nehmend auf 4, versucht ein Gerät gemäß einer
Ausführungsform
der Erfindung, eine TCP Verbindung zu einem zuvor spezifizierten Port
(angegeben als x) 402 bei einer gegebenen Adresse zu öffnen. Da
das Gerät
versucht, eine Verbindung zu öffnen,
werden wir es als Client bezeichnen und das Ziel, mit dem es eine
Verbindung herstellen möchte,
werden wir einen Server nennen. Dies sind Standard-Industrie-Bezeichnungen
und in der Technik wohl bekannt. Der zuvor spezifizierte Port kann
basierend auf, zum Beispiel, der Charakterisierung von Firewalls
von verschiedenen Herstellern ausgewählt werden und repräsentiert
eine anfängliche
beste Schätzung
eines Ports der eine Verbindung erlauben wird. Da TCP das IP im
Internet verwendet, kann eine IP Adresse, zum Beispiel die des Herstellers
des Geräts
oder eine zentrale Stelle verwendet werden. Das Verbinden zur Herstellerstelle,
zum Beispiel im Internet, kann dem Hersteller erlauben, Diagnostiken
an dem Gerät
durchzuführen, Aktualisierungen
an Code oder der Firmware durchzuführen, etc. Solche Dienstleistungen
können
kostenlos und/oder kostenpflichtig sein. Auf ähnliche Weise kann ein(e) zentrale(r)
Stelle oder Anbieter kontaktiert werden, welche(r) solche Dienstleistungen
ausführen
kann. Zusätzlich
kann eine zentrale Stelle das Gerät an (eine) andere Stelle(n)
weiterleiten. Diese anderen Stellen können weitere Dienstleistungen
zur Verfügung
stellen und/oder eine Betreuung durch eine dritte Person sein. Zum
Beispiel kann eine Stelle das Gerät hinsichtlich der neuesten und/oder
besten Ansätze
von Strategien zur Firewall Durchquerung aktualisieren. Solche Aktualisierungen
können
innerhalb des Geräts
selbst (z.B. Flash Speicher, etc.) und/oder eines Speichergeräts gespeichert
werden, auf das das Gerät
Zugriff hat (z.B. Diskettenspeicher, etc.).
-
Als
nächstes
wird eine Kontrolle durchgeführt
um festzustellen, ob die TCP Verbindung mit zuvor spezifiziertem
Port x hergestellt ist 404. Falls die TCP Port x Verbindung
hergestellt ist, kann das Gerät dann
die Kommunikation beginnen 406. Falls die TCP Port x Verbindung
nicht hergestellt ist, kann das Gerät dann versuchen eine HTTP
Verbindung zu öffnen 408.
Eine Prüfung
wird durchgeführt
um festzustellen, ob die HTTP Verbindung hergestellt ist 410. Falls
eine HTTP Verbindung hergestellt ist, kann das Gerät dann mit
der Kommunikation beginnen 406. Falls die HTTP Verbindung
nicht hergestellt ist, kann das Gerät dann versuchen eine HTTP
Verbindung über
eine Proxy Verbindung zu öffnen 412.
Eine Kontrolle wird durchgeführt
um zu überprüfen, ob
die HTTP Verbindung über
eine Proxy Verbindung hergestellt ist 414. Falls eine HTTP
Verbindung über eine
Proxy Verbindung hergestellt ist, kann das Gerät dann mir der Kommunikation
beginnen 406. Falls die HTTP Verbindung über eine
Proxy Verbindung nicht hergestellt ist, kann das Gerät dann andere
Optionen ausprobieren um eine Verbindung zu öffnen 416, wie eine
verschiedene Adresse mit der oben beschriebenen Sequenz zu versuchen.
Es versteht sich, dass die in 4 angegebenen
und oben diskutierten Blöcke
auf/in eine(r) Vielzahl von Wegen und/oder Formen implementiert
werden können.
Zum Beispiel können
in einer Implementierung die Blöcke
der 4 auf einem computerbasierten System implementiert
werden, welches Softwarecode ausführt. Zum Beispiel kann das
Versuchen, eine Verbindung zu öffnen
(z.B. 402, 408, 412) mittels Softwarecode implementiert
werden, welcher, zum Beispiel, eine Ethernetadapter Karte konfiguriert. Ähnlich kann
die Kontrolle um festzustellen, ob eine Verbindung hergestellt wurde
(z.B. 404, 410, 414) mittels Software implementiert
werden, die kontrolliert, ob auf ausgehende Nachricht hin geantwortet
wird. Ähnlich
kann auch das Versuchen anderer Optionen um eine Verbindung zu öffnen 416 und
die Kommunikation zu beginnen 406 mittels ausgeführter Software
auf einem computerbasierten System implementiert werden, das zum
Beispiel mit einer Ethernet Schnittstelle verbunden ist.
-
Während 4 eine
Ausführungsform
unter Verwendung von TCP veranschaulichte, wird der Fachmann erkennen,
dass derselbe Ansatz für
andere Transportprotokolle, zum Beispiel UDP, verwendet werden kann.
-
5 ist
eine Ausführungsform
eines Ansatzes um zu versuchen, eine HTTP Verbindung über eine
Proxy Verbindung herzustellen. In dieser Ausführungsform wird das Gerät, das versucht
zu kommunizieren, versuchen, die korrekte Adresse und den korrekten
Port für
die Verbindung durch, zum Beispiel, einen Proxy zu erkennen. Das
Gerät wird Pakete
sniffen 502 die das Kommunikationsmedium durchqueren, mit
dem das Gerät
verbunden ist; zum Beispiel ein Ethernet. Dies bedeutet, dass wenn
das Gerät
an ein Ethernet gekoppelt ist, die Ethernet Schnittstelle des Geräts in den
promiscuous Modus versetzt wird, was es dem Gerät erlauben kann, den Ethernet
Netzwerkverkehr zu überwachen.
Das Gerät
wird dann eine Datenbank (DB) von Adressen und Ports 504 aufbauen,
die aus den Paketen extrahiert wurden. Danach wird das Gerät die/den
wahrscheinlichste(n) Adresse und Port aus der Datenbank auswählen 506 und
versuchen, eine HTTP Verbindung über
eine Proxy Verbindung 508 zu öffnen. Das Gerät wird dann überprüfen, ob
die HTTP Verbindung über die
Proxy Verbindung hergestellt ist 510. Falls die Verbindung
hergestellt ist, wird das Gerät
dann die Adress- und die Portinformationen abspeichern 512 und
mit der Kommunikation fortschreiten 514. Wenn, auf der
anderen Seite, die HTTP Verbindung über eine Proxy Verbindung nicht
hergestellt ist, wird das Gerät überprüfen, ob
irgendwelche Adressen und/oder Ports verbleiben 516. Falls
keine Adressen und/oder Ports mehr zum Ausprobieren übrig sind, kann
das Gerät
dann andere Optionen versuchen 518. Falls irgendwelche
Adressen und/oder Ports verbleiben 516, dann wird das Gerät erneut
die/den wahrscheinlichste(n) Adresse und Port auswählen 506 und
den Prozess erneut versuchen. Es versteht sich, dass die Auswahl
der wahrscheinlichsten Adresse und des wahrscheinlichsten Ports 506 auf einer
Datenbank von Adressen und Ports basiert und, dass sich diese Datenbank ändert. Das
bedeutet, dass wenn eine Adresse und/oder ein Port keine erfolgreiche
Verbindung ergibt, das Gerät
beim nächsten
Mal, bei dem es die wahrscheinlichste Adresse und den wahrscheinlichsten
Port auswählt 506,
den nicht erfolgreichen Port nicht mitberücksichtigt. Zum Beispiel kann
das Resultat des Aufbauens einer DB von Adressen und Ports 504 zum
Beispiel die Ports 23, 7, 110, 49, 69, 1433 und 25 für eine gegebene
Adresse enthalten. Angenommen, dass für dieses Beispiel die Reihenfolge
vom wahrscheinlichsten zum am wenigsten wahrscheinlichsten Port 110,
7, 25, 49, 1433, 69 und 23 ist. Dann wird das Gerät zu Beginn
den am wahrscheinlichsten Port 506 für die gegebene Adresse auswählen, was
Port 110 ist. Falls eine HTTP Verbindung über eine Proxy Verbindung mit
diesem Port 110 nicht hergestellt werden kann, wird das Gerät kontrollieren
ob irgendwelche Ports verbleiben 516 und, feststellend,
dass dieses zutrifft, erneut den am wahrscheinlichsten Port auswählen 506.
Dieses Mal jedoch hat Port 110 fehlgeschlagen und deswegen wird
Port 7 der am wahrscheinlichste sein. Es wird verstanden werden,
dass dieses fortgeführt
werden kann, bis keine weiteren Adressen und/oder Ports verbleiben.
-
Das
Gerät wird
eine Datenbank (DB) von Adressen und Ports aufbauen 504 die
von den Paketen gesnifft wurden. Diese Datenbank kann über eine Zeitspanne,
entweder kurz oder lang, aufgebaut werden. Zusätzlich kann das Gerät den gesamten
Verkehr abfangen, oder eine Probe des Verkehrs nehmen. Als Beispiel
kann das Gerät,
wenn es limitierte Ressourcen hat, Proben vom Verkehr über eine
lange Zeitspanne nehmen um die Datenbank aufzubauen. Falls das Gerät die Uhrzeit
kennt, kann es entscheiden, Pakte auf der Basis von Proben von,
beispielsweise 8 Uhr früh
bis 9 Uhr früh
zu sniffen, in der Annahme, dass ein guter Teil des Netzwerkverkehrs Ressourcen,
die zum Beispiel im Internet und damit jenseits der Firewall lokalisiert
sind, abfragen könnte. Auf ähnliche
Weise kann das Gerät
den Verkehr zwischen 1 Uhr früh
und 5 Uhr früh
nicht kontrollieren, annehmend, dass ein Großteil des Netzwerkverkehrs auf
Intranetaktivität,
wie automatisierten Datensicherungen etc., basiert. Ein Gerät, welches
mehr Ressourcen hat, kann in der Lage sein, das Sniffen in Echtzeit
durchzuführen.
-
Sobald
die Datenbank von Adressen und Ports aufgebaut ist, wird das Gerät die wahrscheinlichste
Adresse und den wahrscheinlichsten Port 506 aus der Datenbank
auswählen.
Die Auswahlkriterien für
die wahrscheinlichste Adresse und den wahrscheinlichsten Port, die
eine HTTP Verbindung über eine
Proxy Verbindung erlauben, können
auf verschiedenen Faktoren basieren. Ein solcher Faktor kann einfach
die Adresse und der Port mit der meisten Aktivität sein. Wenn natürlich das
meiste der Aktivität
im Intranet stattfindet, werden diese Adresse und dieser Port keinen
externen Zugriff jenseits der Firewall, zum Beispiel Zugriff auf
das Internet, zulassen. Ein weiteres Kriterium kann sein, auf den
Inhalt des Netzwerkverkehrs zu schauen. Zum Beispiel ist es wahrscheinlich,
dass Verkehr, der einen HTTP Inhalt zu haben scheint, von einer
externen Stelle, von zum Beispiel dem Internet, stammt. Ein Rangliste
basierend auf dem Inhalt des Verkehrs kann deswegen ein verlässlicherer
Indikator einer Adresse und eines Ports sein, die wahrscheinlich
sind, beim Durchqueren einer Firewall erfolgreich zu sein. Wenn
dies so ist, dann kann dies einen wahrscheinlichen Kandidaten anzeigen,
der für
eine erfolgreiche Verbindung ausprobiert werden kann. Zusätzlich,
kann es möglich
sein, einen wahrscheinlichen Kandidaten für eine erfolgreiche Verbindung
zu extrahieren, indem die Zugriffsmuster des Verkehrs analysiert
werden. Dies bedeutet, wenn viele Verbindungen zu einem Gerät im Netz
hergestellt werden, aber wenige von diesem zu anderen Geräten ausgehen,
kann dies ein Anzeichen für
einen Proxy sein. Ein weiteres Anzeichen für einen Proxy kann sein, wo
der meiste Verkehr von einem Gerät
zu vielen anderen Geräten
transferiert wird.
-
Nachdem
das Gerät
die wahrscheinlichste Adresse und den wahrscheinlichsten Port, die
ausprobiert werden sollen, ausgewählt hat 506, kann
es andere Operationen geben, die durchgeführt werden müssen, bevor
das Gerät
versuchen kann, eine HTTP Verbindung über eine Proxy Verbindung zu öffnen 508.
Zum Beispiel muss die Portnummer, wenn das lokale Netzwerk ein Ethernet
ist und eine Proxy Firewall mit diesem Ethernet verbunden ist, dann
mit einer Ethernetadresse assoziiert werden, um mit dem Proxy zu
kommunizieren.
-
Falls
eine HTTP Verbindung über
eine Proxy Verbindung hergestellt ist, kann das Gerät dann die Adress-
und Portinformationen speichern 512 und mit der Kommunikation
fortfahren 514. Das Gerät kann
die Adress- und Portinformationen auf eine Vielzahl von Wegen speichern 512.
Zum Beispiel kann das Gerät,
in einer Ausführungsform,
die Adress- und Portinformationen in einem on-board Flash Speicher speichern.
In einer anderen Ausführungsform
kann das Gerät
einen Indikator in der Datenbank der Adressen und Ports platzieren,
dass eine bestimmte Adresse und ein bestimmter Port erfolgreich
bei der Herstellung einer Verbindung waren. Der Fachmann wird die
Vielzahl von Wegen erkennen, auf welche diese Art von Information
gespeichert werden kann.
-
Falls
keine Ports mehr übrig
sind, die ausprobiert werden können,
kann das Gerät
dann andere Optionen ausprobieren 518. Andere Optionen
können
sein, ohne jedoch darauf beschränkt
zu sein, ein erneuter Versuch des gesamten Prozesses (von 502 an),
das Sniffen von Pakten zu einem anderen Zeitpunkt, Abwarten und
erneutes Versuchen der Ports in der Datenbank zu einem späteren Zeitpunkt,
etc.
-
Sogar
falls eine erfolgreiche Verbindung hergestellt wurde, wird der Fachmann
erkennen, dass Netzwerke neu konfiguriert werden, neue Geräte (wie
Router, Switche, Firewalls, etc.) hinzugefügt und/oder alte entfernt werden.
Unter diesen Umständen
ist es umsichtig, dass das Gerät
periodisch versucht, neue Verbindungen herzustellen, für den Fall, dass
die früheren
Ansätze
nicht länger
funktionieren. Statt auf eine nichterfolgreiche Verbindung zu warten,
um diesen Prozess, erfolgreiche Verbindungen zu lokalisieren, anzustoßen, kann
das Gerät
periodisch versuchen Verbindungen aufzubauen und solche Resultate,
wie zuvor beschrieben, in der Datenbank aufzeichnen. Auf diese Art
und Weise kann das Gerät
eine aktuelle Datenbank haben, die jene erfolgreichen Versuche anzeigt.
Zusätzlich
kann die Suche nach einer erfolgreichen Verbindung auf eine solche Art
und Weise geordnet werden, dass die effizientesten Verfahren zur
Kommunikation durch eine Firewall zuerst ausprobiert werden. In
diesem Fall wird dann die erste solcher erfolgreichen Verbindungen
auch höchstwahrscheinlich
die am effizienteste sein.
-
6 stellt
eine weiter mögliche
Ausführungsform
der vorliegenden Erfindung als ein Gerät 600 dar. Das Gerät 600 hat
ein Hauptsystem 602, das an einen Speicher 604,
ein Kommunikationssubsystem 606, ein Subsystem zur Untersuchung
von Paketen 608 und ein Datenbanksystem 610 gekoppelt
ist. Das Kommunikationssubsystem 606 ist weiterhin an ein
Kommunikationsmedium 612 und ein Subsystem zur Untersuchung
von Paketen 608 gekoppelt. Das Subsystem zur Untersuchung
von Paketen ist ebenfalls an das Datenbanksystem 610 gekoppelt.
Der Fachmann versteht, dass die Ausführungsform von Gerät 600,
das Hauptsystem 602, der Speicher 604, das Kommunikationssubsystem 606, das
Subsystem zur Untersuchung von Paketen 608 und das Datenbanksystem 610 eine
oder mehrere und/oder eine Kombination der Elemente aus 2 sein
können,
aber darauf nicht limitiert sind.
-
Ein
Beispiel für
den Betrieb der Ausführungsform
von Gerät 600,
wie in 6 gezeigt, ist wie folgt. Das Hauptsystem 602 führt Code
aus, welcher versucht eine Kommunikationsverbindung durch das Kommunikationsmedium 612 aufzubauen,
indem es das Kommunikationssubsystem 606 konfiguriert und Information
zu/von dem Kommunikationssubsystem 606 sendet und empfängt. Das
Kommunikationssubsystem 606 kann, zum Beispiel, eine Ethernet Schnittstelle
sein. Das Hauptsystem 602 kann, zum Beispiel, versuchen
durch das Kommunikationsmedium 612 zu kommunizieren, indem
es ein TCP Paket mit einem IP Datagramm zu einer spezifizierten Ethernet
Adresse schickt. Wenn, auf der anderen Seite, die versuchte Kommunikation
erfolglos ist, dann muss das Gerät 600 den
Netzwerkverkehr durch das Kommunikationsmedium 612 beobachten, im
Versuch, diejenigen Parameter zu bestimmen, die eine erfolgreiche
Verbindung zulassen. Diese Parameter können sein, sind aber nicht
darauf limitiert, Quell- und/oder Zielportnummern, Quell- und/oder Zieladressen
für IP
und/oder Ethernet. Zusätzlich
untersucht das Subsystem zur Untersuchung von Paketen 608 den
Dateninhalt der Pakete in einem Versuch, wahrscheinlichere Parameter
für eine
erfolgreiche Kommunikation zu finden. Zum Beispiel untersucht das
Subsystem zur Untersuchung von Paketen 608 Pakete auf HTTP
artige Daten. HTTP artige Daten können ein Hinweis auf Daten
sein, die von außerhalb
der Firewall kommuniziert werden und deshalb können die Ports und/oder Adressen,
die mit diesem Paket assoziiert sind, eine bessere Möglichkeit
darstellen, die Firewall erfolgreich zu durchqueren.
-
Datenbanksysteme 610 können, zum
Beispiel, sein eine Liste von wahrscheinlichen Portnummern für den erfolgreichen
Zugriff jenseits einer Firewall. Das Datenbanksystem kann auch ein
hochentwickeltes System sein, das fähig ist, eine statistische Analyse
der Ergebnisse, die durch das Subsystem zur Untersuchung von Paketen 608 erzeugt
wurden, durchzuführen.
Das Hauptsystem 602 kann das Subsystem zur Untersuchung
von Paketen 608 konfigurieren, auf bestimmte interessierende
Eigenschaften zu schauen, zum Beispiel IP Portnummern.
-
-
Hauptsystem 602 kann
mit dem Datenbanksystem 610 interagieren, durch Empfang
von Parametern und Versuch, unter Verwendung jener Parameter, zu
kommunizieren, und wenn erfolgreiche Kommunikationen hergestellt
werden konnten, kann das Hauptsystem 602 dann diese Parameter
im Speicher 604 speichern, oder dem Datenbanksystem 610 einen
Erfolg oder einen Misserfolg mitteilen, so dass diese Information über Erfolg
oder Misserfolg mit dem Datenbankeintrag des bestimmten Parameters assoziiert
werden.
-
Während die
obigen Darstellungen verschiedene Ausführungsformen der vorliegenden
Erfindung gezeigt haben, versteht es sich, dass die vorliegende Erfindung
eine Implementierung eines adaptiven Algorithmus zum Durchqueren
einer Firewall ist. Als solches versteht der Fachmann, dass es viele
Wege gibt, solch einen adaptiven Algorithmus zu implementieren.
Was zu erkennen ist, ist die adaptive Natur der vorliegenden Erfindung
um die Kommunikation mit einer anderen Einheit herzustellen.
-
Zusätzlich haben
die obigen Darstellungen die häufigsten
Ausführungsformen
für Protokolle
gezeigt. Der Fachmann versteht, dass es bei der Ausführung der
vorliegenden Erfindung viele andere Netzwerke und Schnittstellen
als nur Ethernet (z.B. Glasfaser, Koax, drahtlos, etc.) gibt und
das IP und andere Protokolle über
andere Kommunikationsverbindungen ausgeführt werden können (z.B.
serielles Punkt zu Punkt Protokoll (PPP) für IP).
-
Zusätzlich versteht
es sich, wo Bezüge
auf Industriestandard Protokolle, wie TCP, IP, etc., gemacht wurden,
dass andere Protokolle für
die Implementierung nötig
sein können
und es versteht sich, dass deshalb auch darauf verwiesen ist. Zum
Beispiel definiert Request For Comment (RFC) 1011 offizielle Internetprotokolle.
Innerhalb von RFC 1011 können
Protokolle erforderlich, empfohlen, wahlweise, experimentell, keines,
etc. sein. Daher ist, zum Beispiel die Implementierung von IP (Internetprotokoll),
wie in RFC 791 spezifiziert, erforderlich. Weiterhin erforderlich
in jeglicher IP Implementierung ist das Internet Control Message
Protocol (ICMP), wie in RFC 792 definiert. Daher impliziert jegliche
Diskussion von IP die Existenz von wenigstens diesen Protokollen.
Diese Standards können
sich über
die Zeit weiterentwickeln und sich verändern, jedoch werden die Techniken
der vorliegenden Erfindung als anpassungsfähig an solche Änderungen
angesehen.
-
Eine
Bezugname auf UDP ist wie definiert in RFC 768, TCP wie definiert
in RFC 793, HTTP wie definiert in RFC 2616, etc. und andere Standards
wie von den jeweiligen RFCs referenziert, oder der Haupt-RFC Liste
(Datei: rfc-index.txt). Eine Bezugnahme auf ein bestimmtes RFC soll
nicht anzeigen, dass dieses das einzige RFC ist, welches mit der Spezifizierung
in Verbindung steht, sondern dient eher als ein Ausgangspunkt für eine Referenz.
Dies bedeutet, zum Beispiel, dass ARP verschiedene RFCs hat, abhängig von
seiner Verwendung (z.B. beschreibt RFC 826 das Adressauflösungsprotokoll, RFC
925 beschreibt Proxy ARP, etc.).
-
Ähnlich wurden
in einigen illustrativen Ausführungsformen
und der Diskussion Referenzen auf spezifische Portnummern gegeben.
RFC 1700, zugeordnete Nummern, hat eine Liste von wohlbekannten
Portnummern. Dieses kann sich im Laufe der Zeit ändern und soll nicht als die
Anwendbarkeit der offenbarten Techniken limitierend interpretiert
werden.
-
Daher
sind ein Verfahren, ein maschinenlesbares Medium und eine Vorrichtung
zum Durchqueren einer Firewall offenbart. Obwohl die vorliegende Erfindung
vollständig
mittels Beispielen unter Bezugnahme auf die begleitenden Zeichnungen
beschrieben wurde, wird angemerkt, dass verschiedene Modifikationen
und Veränderungen,
die für
den Fachmann offensichtlich sind, durchgeführt werden können, ohne
vom weiteren Umfang der vorliegenden Erfindung, wie in den angefügten Ansprüchen bestimmt,
abzuweichen.