-
Technisches
Gebiet
-
Die
Erfindung betrifft ein Verfahren zur redundanten Datenhaltung in
einem Computernetzwerk, bei dem Daten auf zumindest zwei Rechnern
eines Netzwerkes konsistent gespeichert werden.
-
Computernetzwerke
haben sich in den letzten Jahren zu einem bedeutenden Kommunikationsmedium
entwickelt, über
welches eine Vielzahl von Diensten angeboten wird. Das weltweit
bekannteste Computernetzwerk ist das Internet, wie die Gesamtheit
aller miteinander verbundenen und das Internet Protokoll IP als
Transportprotokoll nutzenden Netze bezeichnet wird.
-
Das
Internet Protokoll IP ist auf Ebene 3 des OSI-Schichtenmodells für den verbindungslosen Transport
von Daten von einem Sender – gegebenenfalls über mehrere
Netze – zum
Empfänger
zuständig,
wobei weder Fehlererkennung noch Fehlerkorrektur erfolgt.
-
Auf
dem Internet Protokoll setzen Transport Protokolle wie das Transmission
Control Protocol TCP oder User Datagram Protocol UDP auf.
-
Das
Transmission Control Protocol TCP ist ein verbindungsorientiertes
Transportprotokoll, welches eine logische, sichere Vollduplex Punkt-zu-Punkt
Verbindung ermöglicht.
Es stellt dabei sicher, dass Datenpakete fehlerfrei und in der gewünschten
Reihenfolge über
ein darunter liegendes Netz nach dem Internet Protokoll IP übertragen
werden.
-
Das
User Datagram Protocol UDP ermöglicht
eine verbindungslose Punkt-zu-Punkt Kommunikation. Die einzelnen
Datenpakete (Datagramme) sind dabei voneinander unabhängig. Die Übertragung
ist nicht gesichert. Dies bedeutet, dass Datenpakete verloren gehen
können
und dass die Empfangsreihenfolge nicht mit der Sendereihenfolge übereinstimmen
muss. Eine allfällige
Sicherung des Datentransports hat, falls es erforderlich ist, auf
der Applikationsebene zu erfolgen. UDP wird im Allgemeinen für einfache
Dienste verwendet, bei denen auf eine einfache Anfrage (ein Datagramm)
eine einfache Antwort (ein Datagramm) erwartet wird.
-
Eine
der beliebtesten Anwendungen des Internets ist das World Wide Web
WWW, das mittels Hyperlinks den einfachen Zugriff auf multimediale Daten
entfernter WWW-Server ermöglicht.
Betrachtet und dargestellt werden die Daten, die Texte, Audiosequenzen,
Standbilder und Filme umfassen können,
mittels WWW-Browser, einer lokalen Frontend Software. Das World
Wide Web beruht auf dem Client/Server Prinzip, auf dem alle wichtigen
Anwendungen im Internet, neben WWW auch FTP oder News basieren.
-
Nach
dem Client-Server Prinzip gestaltete Anwendungen verwenden auf der
Benutzerseite ein Clientprogramm, das mit einem bestimmten Dienstrechner
im Netz – dem
Server – Daten
austauscht. Der Server ist dabei in der Regel für die Datenhaltung zuständig, während der
Client die Präsentation
dieser Daten und die Interaktion mit dem Benutzer übernimmt.
Dazu bedienen sich Client und Server eines genau definierten Protokolls.
-
Betrieben
werden die Server des Internets entweder von kommerziellen oder
auch nicht kommerziellen Organisationen, wie z.B. Universitäten, die
verschiedene Online-Dienste, also Informationsdienste (Wetterbericht,
Zugfahrpläne,
Nachrichtendienste) und Kommunikationsdienste (E-Mail, Chat, Foren)
anbieten, welche mittels entsprechenden Anwendungsprogrammen realisiert
werden.
-
Ein
wesentliches Kriterium für
die Qualität
eines angebotenen Dienstes ist die Wahrscheinlichkeit, mit der ein
potentieller Benutzer den Dienst auch nutzen kann, die entsprechende
Maßzahl – welche sich
aus der Störzeit
während
einer bestimmten Beobachtungsdauer ergibt – die sogenannte Verfügbarkeit
dieses Dienstes, hat maßgeblichen
Einfluss auf die Zufriedenheit der Benutzer und damit auf den Erfolg
des jeweiligen Dienstes.
-
Zur
Erhöhung
der Verfügbarkeit
besteht daher oftmals die Forderung, Dienste bzw. die jeweils zugrundeliegenden
Daten gegen Ausfälle
der maßgeblichen
Hardwarekomponenten des Computernetzes, also der Rechner und der
Verbindungen abzusichern. Dies geschieht üblicherweise durch redundante
Datenhaltung auf mehreren voneinander unabhängigen Rechnern eines Netzwerkes.
Dazu ist es beispielsweise aus dem Beitrag „FPGA-based load balancer
for Internet Servers, Harik, L., Kayssi, A."; erschienen in Microelectronics, The
14th International Conference on 2002-ICM bekannt, mittels sogenanntem „Load Balancer" eintreffende Nachrichten
auf unterschiedliche Server zu verteilen. Der „Load Balancer" bildet dabei einen „single
point of failure",
d.h. bei Ausfall des „Load
Balancers" selbst
ist keiner der nachfolgenden Server erreichbar.
-
Darstellung
der Erfindung
-
Der
Erfindung liegt die Aufgabe zugrunde, ein verbessertes Verfahren
zur redundanten Datenhaltung in Computernetzen anzugeben.
-
Erfindungsgemäß geschieht
dies mit einem Verfahren zur redundanten Datenhaltung in Computernetzwerken,
bei dem Daten auf zumindest zwei Rechnern konsistent gespeichert
werden, wobei die für
die Datenhaltung vorgesehenen Anwendungsprogramme der zumindest
zwei Rechner eine übereinstimmende
Adresskennung aufweisen, welche diese Anwendungsprogramme als Bestandteil
eines virtuellen Subnetzes eines Computernetzwerkes ausweist und
wobei die voneinander unabhängigen Rechner
Routingfunktionen aufweisen, über
welche der Zugriff auf die Anwendungsprogramme erfolgt.
-
Die
Erfindung ist besonders vorteilhaft bei Computernetzwerken anwendbar,
bei denen die Kommunikation auf dem Internet Protokoll beruht, und
bei denen als Transportprotokolle das Transmission Control Protocol
TCP oder das User Datagram Protocol UDP angewendet werden.
-
Günstig ist
es weiterhin, wenn durch entsprechende Gestaltung der Routingfunktion
eine Zugriffsrangfolge auf die für
die Datenhaltung vorgesehenen Anwendungsprogramme festgelegt wird.
-
Kurzbeschreibung
der Zeichnung
-
Die
Erfindung wird anhand einer Figur näher erläutert, welche in einer schematischen
Darstellung die Adressierung in einem beispielhaften Computernetzwerk
zeigt.
-
Ausführung der
Erfindung
-
Die
Adressierung im dargestellten Computernetzwerk N erfolgt nach dem
Internet-Protokoll Version 4 durch die sogenannte IP(Internet-Protokoll)-Adresse,
die jeden Netzteilnehmer auf Ebene 3 des OSI-Schichtenmodelles,
also auf einer logischen Ebene eindeutig kennzeichnet.
-
Die
IP-Adresse ist nach dem Internet-Protokoll Version 4 ein 32-Bit-Wort,
welches einen ersten Bereich aufweist, der zur Adressierung des
Netzes herangezogen wird, und einen zweiten Bereich, mittels dem
der Rechner im Netz identifiziert wird.
-
Die
Größe der beiden
Bereiche ist normiert, wir unterscheiden 5 Klassen von IP-Adressen:
- – Klasse
A Netze mit 7 bit Netzadressierung und 24 bit für die Teilnehmeradresse,
- – Klasse
B Netze mit 14 bit Netzadressierung und 16 bit Teilnehmeradressierung,
- – Klasse
C Netze mit 21 bit Netzadressierung und 8 bit Teilnehmeradresse.
- – Klasse
D für die
Adressierung innerhalb des Netzes mit 28 bit Teilnehmeradressen
und der für Forschungszwecke
reservierten
- – Klasse
E
-
Die
Klasse der IP-Adresse ist in den führenden bits dargestellt, Adressen
der Klasse A sind dadurch erkenntlich, dass das führende bit
den Wert 0 aufweist, Klasse B durch den Wert 10 der beiden führenden
bits, Klasse C durch 110 der drei ersten bits usw.
-
Die
Information über
die Adressklasse benötigen
die Router eines Netzwerkes um mit Hilfe der sogenannten Netzmaske
aus der IP-Adresse eines Zielteilnehmers die Information über die
Adresse des Zielnetzes herauszufiltern. Während die Netzadressen global
verwaltet werden, erfolgt die Verwaltung der Teilnehmeradressen
lokal durch den jeweiligen Netzbetreiber. Dieser hat dabei auch
die Möglichkeit, durch
entsprechende Vergabe der Teilnehmeradressen sein Netz durch Unterteilung
in Subnetze zu strukturieren, ohne zusätzliche Netznummern zu verwenden.
Dazu wird der Teilnehmeranteil der IP-Adresse in eine
- – Subnetzwerkadresse
und die
- – eigentliche
Teilnehmeradresse unterteilt.
-
Die
IP-Adresse ist dann dreiteilig aufgebaut, sie umfasst die Netzwerkadresse,
die Subnetzadresse und die eigentliche Teilnehmeradresse.
-
Als
einfaches Beispiel sei ein Netz der Adressklasse B angegeben, bei
dem die IP-Adresse die Binärzahl
10 in den führenden
beiden bits und weitere 14 bits für die Adresse des Netzes aufweist. Der
bei dieser Netzwerkklasse vorgesehene Teilnehmeradressierungsteil
von 16 bit wird wiederum unterteilt in einen 8 bit Teil zur Adressierung
der Subnetze SN1,...SN 25,..., SN 255 und in ein 8 bit Element zur Adressierung
der Teilnehmer TN in den Subnetzen. Damit können maximal 254 Subnetze mit
jeweils 254 Teilnehmern adressiert werden.
-
In
der allgemein üblichen
4 Oktett-Schreibweise der IP-Adressen,
bei der die einzelnen Bytes (8 bit) durch dezimal numerische Werte
dargestellt und durch Punkte getrennt werden, sieht eine typische IP-Adresse
wie folgt aus:
172.16.115.54
-
Die
Adresse des Netzes N selbst beträgt
dabei 172.16.0.0. ..SN 25,..., SN 255 Diese umfasst bis zu 254 Subnetze
SN1,. mit den Adressen
172.16.1.0,...,172.16.254.0.
-
Die
254 möglichen
Teilnehmer TN in dem Subnetz SN 25 mit der Adresse 172.16.25.0 weisen dann
folgende Adressen auf:
172.16.25.1 ,...,172.16.25.254
-
Erfindungsgemäß werden
nun auf zwei voneinander unabhängigen
Rechnern R1, R2 des Netzes N die redundant zu haltenden Daten konsistent gespeichert,
wobei der Datenabgleich zwischen den redundanten Einheiten mit bekannten
Verfahren sichergestellt wird. Dabei ist es möglich, dass die beiden Rechner
R1, R2 einem Netz N eines Betreibers oder aber verschiedenen miteinander
verbundenen Netzen unterschiedlicher Betreiber angehören.
-
Den
zugehörigen
Anwendungsprogrammen der zwei Rechner wird eine übereinstimmende Adresskennung
zugeordnet, welche diese Anwendungsprogramme als Bestandteil eines
virtuellen Subnetzes SN 25 eines Computernetzwerkes N ausweist,
wie beispielsweise die Nummer 172.16.25.0. Das Anwendungsprogramm
läuft aus
Sicht des Benutzers auf einem Rechner in diesem Subnetz SN 25, zum
Beispiel auf einem Rechner mit der Adresse 172.16.25.1.
-
Dieses
virtuelle Subnetz SN 25 ist über
zwei Router logisch mit dem Gesamtnetz verbunden. Dazu sind die
beiden voneinander unabhängigen Rechner
R1, R2, welche unter anderem die für die redundante und konsistente
Speicherung der Daten vorgesehenen Anwendungsprogramme enthalten
, als Router ausgestaltet, über
welche ausschließlich der
Zugriff auf die Anwendungsprogramme – das virtuelle Subnetz – erfolgt.
-
Die übrigen Router
der Netzwerke enthalten in ihren Routingtabellen daher einen Hinweis,
dass Adressen des Typs 172.16.25.XXX, die ja das virtuelle Subnetz
SN 25 betreffen, nur über
einen der beiden genannten Router erreichbar sind. Der Eintrag in der
Routingtabelle der übrigen
Router enthält
in diesem Beispiel die Netzwerkadresse 172.16.25.0, die Netzwerkmaske
255.255.255.0, die Kosten für
den Weg zu diesem Subnetz und das Interface, über das dieses Netz N erreichbar
ist.
-
Alle
Datenpakete mit diesen Zieladressen gelangen daher an einen der
beiden Router – und werden
von diesem an das entsprechende Anwendungsprogramm mit dem jeweils
zugehörigen Speicherbereich
weitergeleitet.
-
Wenn
das Netz N, wie allgemein üblich
mit einem dynamischen Routingverfahren ausgestattet ist, wird bei
Belegung eines der beiden Anwendungsprogramme automatisch die nächste Anfrage
zu dem jeweils günstigsten
freien Speicherbereich geroutet. Sind die beiden Router, über die
das virtuelle Subnetz SN 25 erreicht werden kann, über gleich
teure Wege erreichbar, so wird ein Router zufällig ausgewählt und damit eine Lastaufteilung
vorgenommen.
-
Bei
einem Netz mit einem statischen Routingverfahren muß eine entsprechende
Lastaufteilung bei der Festlegung der Routingtabellen erfolgen.
-
Das
gegenständliche
Ausführungsbeispiel beschreibt
den Einsatz der Erfindung bei einem Computernetzwerk N mit einer
Adressierung nach IP-Protokoll Version 4, die Erfindung ist aber
beispielsweise auch bei IP-Protokoll Version 6 vorteilhaft einsetzbar. Ebenso
ist die Anwendung der Erfindung für alle gebräuchlichen auf IP aufsetzenden
Transportprotokolle wie TCP oder UDP möglich.
-
Bei
Anwendung des TCP-Protokolles muss allerdings sichergestellt werden,
dass der Zugriff jeweils über
einen bestimmten Router erfolgt. Dies kann beispielsweise über die
Kostenfunktionalität
dynamischer Routingfunktionen erfolgen.