-
Die
vorliegende Erfindung betrifft die IP-Kommunikation zwischen Endgeräten, die
mit Netzwerken mit verschiedenen Protokollen verbunden sind, und
insbesondere ein Verfahren zur Verbindung von IEEE 1394-Netzwerken
und IP-Netzwerken.
-
Wenn
ein Internetprotokollpaket zwischen lokalen Netzwerken mit verschiedenen
Protokollen weitergeleitet wird, ist es gängige Praxis, das Paket auf
Schicht 2 zu beenden und seine Zieladresse auf Schicht 3 zu
untersuchen und das Paket dann an eine passende Schnittstelle weiterzuleiten.
-
Die
gegenwärtige
Praxis ist nützlich,
um große
Netze aufzubauen, bei denen die Adresse auf einer Seite eines Grenzpunkts
sich von der Adresse auf der anderen Seite unterscheidet. Die Verwendung
der gegenwärtigen
Praxis für
große
Netze ist jedoch für
Anwendungen, bei denen die Anzahl der Benutzerendgeräte relativ
klein ist, nicht gerechtfertigt. Insbesondere würden für Kommunikationen zwischen
Endgeräten
Server installiert.
-
Ein
Verfahren zum Vernetzen einer Anzahl von lokalen Netzwerken mit
verschiedenen Protokollen in ein einziges logisches Netzwerk wurde
von der IETF (Internet Engineering Task Force) als RFC 925 (Request
for Comment 925 „Multi-LAN
Address Resolution")
standardisiert. In diesem Verfahren arbeitet ein Zwischenverstärker als
ein Proxy-ARP-Server für jedes
Endgerät,
um ARP-Pakete (Address Resolution Protocol = Adreßauflösungsprotokoll)
zu verarbeiten. Damit ein IP-Paketzwischenverstärker Unicast-Pakete (Punkt-zu-Punkt-Pakete)
zwischen einem IEEE 1394-Netzwerk und einem IEEE 802.x-Netz werk
zwischenverstärkt,
muß der
Zwischenverstärker
eine Kopfzeilenübersetzung
durchführen,
indem er die Quelladresse eines Pakets von einem Endgerät neu in
die physikalische Adresse des Zwischenverstärkers schreibt, wenn der Zwischenverstärker ein
ARP-Paket als Broadcast sendet, um die physikalische Adresse oder
die GUID (global unique ID = global eindeutige Adresse) eines 1394-Endgeräts zu erhalten,
und muß die
GUID der physikalischen Adresse oder der MAC-Adresse des 802.x-Endgeräts und ihre
IP Adressen zuordnen.
-
Wenn
ein Gerät
an den IEEE 1394-Bus angeschlossen wird, wird ein Zurücksetzen
des Busses ausgelöst,
und der ganze Bus wird automatisch neu konfiguriert. Diese Businitialisierung
besteht aus drei Phasen: Zurücksetzen,
Baumidentifizierung und Selbstidentifizierung. Während der ersten Phase werden
alle Knoten über
das Ereignis informiert, daß ein
Bus zurückgesetzt
wird. In der folgenden Phase wird die Topologie des Busses bestimmt.
Die letzte Phase ist dafür
verantwortlich, jedem Gerät
eine physikalische ID zuzuweisen. Um ein Gerät nach dem Zurücksetzen
eines Busses zu erkennen, wird eine global eindeutige Kennung (GUID)
für eine
eindeutige Adressierung verwendet.
-
Ansprechend
auf das ARP-Anfragepaket liest der Paketzwischenverstärker das
Sender-IP-Adreßfeld,
das GUID-Feld, das
Unicast-Sender-FIFO-Feld und gibt die Inhalte dieser Felder jeweils
in das IP-Adreßfeld,
das GUID-Feld und das Unicast-Sender-FIFO-Feld (verfügbar beim
Empfang von IP-Datagrammen)
einer ARP-Paketverwaltungstabelle ein. Der Paketzwischenverstärker schreibt das
ARP-Paket mit dem IEEE 1394-Format neu in das IEEE 802.x-Format,
indem er die Sender- und Ziel-IP-Adressen von dem 1394-ARP-Paket
in das 802.x-ARP-Paket einliest und in dem Ziel-MAC-Adreßfeld des
802.x-ARP-Pakets lauter Nullen und in dem Sender-MAC-Adreßfeld des 802.x-ARP-Pakets
die MAC-Adresse des Zwischenverstärkers einstellt.
-
Das
802.x-ARP-Paket wird dann in einen 802.x-Rahmen verpackt, welcher
eine 802.x-Kopfzeile enthält,
in der das Ziel-MAC-Adreßfeld
auf lauter Nullen gesetzt ist und für das Sender-MAC-Adreßfeld die
Zwischenverstärker-MAC-Adresse
eingestellt ist. Der Rahmen wird dann als Broadcast an alle Endgeräte des 802.x-Netzwerks
gesendet. Da in dem Sender-MAC-Adreßfeld des
Rahmens die Zwischenverstärker-MAC-Adresse
eingestellt ist, erkennen alle Empfängerendgeräte in dem 802.x-Netzwerk, daß der Zwischenverstärker der
Sender des Pakets ist. Als ein Ergebnis ist ein ARP-Antwortpaket,
das von einem 802.x-Zielendgerät
gesendet wird, für
den Paketzwischenverstärker
bestimmt.
-
Die
MAC-Adresse und die IP-Adresse des 802.x-Zielendgeräts sind
jeweils in dem Sender-MAC-Adreßfeld
und dem Sender-IP-Adreßfeld dieses
ARP-Antwortpakets eingestellt. Die MAC-Adresse des Paketzwischenverstärkers ist
in dem Ziel-MAC-Adreßfeld
und die IP-Adresse des 1394-Engeräts ist in dem Ziel-IP-Adreßfeld des ARP-Antwortpakets
eingestellt.
-
Wenn
der Paketzwischenverstärker
dieses ARP-Antwortpaket empfängt,
liest er eine Kopie seiner MAC-Adresse des 802.x-Zielendgeräts aus der Sender-MAC-Adresse
und stellt die Kopie in dem MAC-Adreßfeld der ARP-Verwaltungstabelle
ein und liest eine Kopie der IP-Adresse des 802.x-Zielendgeräts aus dem
Sender-IP-Adreßfeld
und stellt die Kopie in dem IP-Adreßfeld ein.
-
Das
ARP-Antwortpaket wird dann in ein IEEE 1394-Paket verpackt, das
eine asynchrone Blockschreibkopfzeile (ABW-Kopfzeile) enthält, in der
das Unicast-FIFO-Feld des anfordernden 1394-Endgeräts in ihrem
Versatzadreßfeld
eingestellt ist, und wird von dem Paketzwischenverstärker zu
dem 1394-Netzwerk gesendet.
-
Wenn
das anfordernde 1394-Endgerät
nach dem ARP-Verfahren ein Paket an das 802.x-Zielendgerät sendet,
bildet das 1394-Endgerät
ein Paket, indem es die IP-Adresse des 802.x-Endgeräts in dem Zieladreßfeld einstellt
und die GUID und das Unicast-FIFO-Feld des Paketzwischenverstärkers angibt,
und leitet das Paket weiter. Bei Empfang des Pakets erkennt der
Paketzwischenverstärker,
daß er adressiert
ist und sendet dieses Paket erneut an das 802.x-Endgerät. Wenn
ein Paket von dem 802.x-Endgerät
an das 1394-Endgerät
gesen det wird, stellt das 802.x-Endgerät die IP-Adresse des 1394-Endgeräts in dem
Zieladreßfeld
des Pakets ein und gibt die MAC-Adresse des Zwischenverstärkers an.
-
Während einer
Session liest der Paketzwischenverstärker die IP-Adresse, die in
einem auf einer Seite des Zwischenverstärkers empfangenen Paket eingestellt
wurde, als einen Suchbegriff, um die ARP-Paketverwaltungstabelle
nach einem zugehörigen
Satz aus MAC-Adresse, GUID und Unicast-FIFO-Feld des Zielendgeräts zu durchsuchen, und
schreibt die Zieladresse des empfangenen Pakets für eine Übertragung
auf die andere Seite des Zwischenverstärkers neu.
-
Andererseits
wurde das PPPoE-Protokoll (Point to Point Protocol (PPP) over Ethernet
= Punkt-zu-Punkt-Protokoll über
Ethernet)(802.3) entwickelt, um eine PPP-Verbindung über Ethernet
aufzubauen. Dieses Protokoll ist entsprechend verschiedenen Kommunikationsbetriebsarten
in zwei Stufen geteilt. In der ersten Stufe, Discovery Stage genannt, wird
eine Verbindung zwischen einem Nicht-1394-Host-Endgerät und einem
PPPoE-Server (oder Knoten), der als ein Zugangskonzentrator verwendet
werden kann, hergestellt. Das Hostendgerät gibt eine MAC-Adresse des
Servers an, um eine Session-Kennung zu bekommen. In der folgenden
Stufe oder Verbindungsstufe (Session Stage) wird eine Verbindung
mit einem Inernet-Serviceanbieter hergestellt, um unter Verwendung
der zugewiesenen Session-ID eine IP-Kommunikation durchzuführen. Wenn
die Session beendet wird, wird die Discovery-Stufe wiederaufgenommen.
Die Discovery- und Session-Stufen können durch einen in dem Ethernet-Typenfeld
des IP 1394-Pakets gesetzten Wert und einen in dem Ethernet-Typenfeld des 802.x-Pakets
gesetzten Werts voneinander unterschieden werden. Wenn ein IEEE
802.x-Endgerät
eine Kommunikation initiiert, sendet es ein PADI-Paket (PPPoE Active
Discovery Initiation = PPPoE-Einleitung der Discovery), welches
den Namen eines Service angibt, den der Host anfordert. Da das Nicht-1394-Host-Endgerät die MAC-Adresse des PPPoE-Servers
während
der Discovery-Stufe nicht kennt, sendet es ein PADI-PAket als Broadcast
an das Netz. Ansprechend darauf antwortet ein PPPoE-Server mit einem
PADO-Paket (PPPoE Active Discovery Offer = akitves PPPoE Angebot
für Discovery)
an das Hostendgerät,
welches den Namen des Servers und einen unterstützten Servicenamen enthält. Das
Hostendgerät
antwortet auf dieses PADO-Paket durch Zurücksenden eines PADR-Pakets (PPPoE
Active Discovery Request = aktive PPPoE Anforderung für Discovery),
welches den Servicenamen und den PPPoE-Servernamen enthält, die
vorher in dem PADO-Paket eingestellt wurden. Wenn der PPPoE-Server
dieses Paket empfängt,
sendet er ein PADS-Paket (PPPoE Active Discovery Session Confirmation
= aktive PPPoE-Verbindungsbestätigung
für Discovery),
in dem entsprechend dem angefragten Servicenamen eine Session-ID
eingestellt ist. Wenn das Hostendgerät dieses PADS-Paket empfängt, beginnt
eine Session-Stufe. Während
der Session-Stufe wird eine durch die Session-Kennung spezifizierte
IP-Verbindung zwischen dem Hostendgerät und dem Internet ausgeführt. Die
Session-Stufe wird beendet, wenn das Host-Endgerät oder die Zugangssteuerung
ein PADT-Paket (PPPoE Active Discovery Terminate = aktive PPPoE-Discovery
beenden) senden.
-
Das
1394-Netzwerk kann jedoch dem Punkt-zu-Punkt-Protokoll nicht Rechnung tragen. Wenn
ein 1394-Netzwerk mit einem 802.x-Netzwerk verbunden würde, könnten die
Hostendgeräte
daher keine PPP-Pakete übertragen.
Wenn in einem System, in dem ein 1394-Netzwerk und ein 802.x-Netzwerk
durch einen Paketzwischenverstärker
miteinander verbunden sind, eine PPP-Verbindung aufgebaut würde, könnten am
Beginn einer PPP-Verbindung weder der Paketzwischenverstärker noch
das 1394-Endgerät
die Zieladresse gewinnen. Da Unicast-Verbindungen zwischen 1394-Endgeräten nicht nur
mit einer global eindeutigen Kennung ablaufen können, ist zusätzlich eine
Unicast-FIFO-Kennung (d. h. eine Registeradresse eines Geräts, das
an einen seriellen 1394-Bus angeschlossen ist) erforderlich, um
den 1394-Zielknoten zu spezifizieren, der an den seriellen 1394-Bus
des Hostendgeräts
angeschlossen ist. Das Hostendgerät muß jedoch ein ARP-Paket als
Broadcast senden, um durch Anzeigen seiner IP-Adresse die Register adresse
des Zielknotens zu erhalten. Da dem Hostendgerät vor der Herstellung einer
PPP-Verbindung keine IP-Adresse zugewiesen ist, und da das ARP-Verfahren
eine IP-Adresse erfordert, kann das Hostendgerät sich nicht auf das ARP-Verfahren
verlassen, um die Adresse eines Ziels zu gewinnen, und folglich
kann es das entsprechende Endgerät
nicht identifizieren. Daher können
zwischen 1394-Endgeräten
keine PPP-Verbindungen eingerichtet werden.
-
Die
Idee in „RFC
925 – Multi-LAN
Address Resolution",
Postel J, IETF, Oktober 1984, XP002218286, ist, das ARP zu erweitern,
um in einer Umgebung mit vielen miteinander verbundenen LANs zu
arbeiten, wobei das ARP genau wie es ist verwendet wird. Das neue
Element ist eine „Wunderkiste" („ARP-basierte
Bridge"), die die
ARP-Anfrage in benachbarte LANs weiterleitet und als ein Agent zum
Weiterleiten von Datagrammen zu Hosts von anderen LANs arbeitet.
-
Das
Dokument von Johannson, „RFC
2734 – IPv4
over IEEE 1394",
IETF, Dezember 1999, XP002238651, spezifiziert, wie der IEEE Standard 1394–1995, Standard
for a High Performance Serial Bus (und seine Ergänzungen) für den Transport von Datagrammen
der Internetprotokollversion 4 (IPv4) verwendet werden soll; er
definiert die notwendigen Verfahren, Datenstrukturen und Codes für diesen Zweck.
Diese umfassen nicht nur Paketformate und Verpackungsverfahren für Datagramme,
sondern auch ein Adreßauflösungsprotokoll
(1394 ARP) und ein Multicast-Kanalzuweisungsprotokoll (MCAP). Sowohl
1394 ARP als auch MCAP sind spezifisch für einen seriellen Bus, das
letztere ermöglicht
die Verwaltung von seriellen Busressourcen, wenn sie von IP-Multicast-Gruppen
verwendet werden.
-
Das
Dokument von Makamos L. et al, „RFC 2516 – A Method for Transmitting
PPP over Ethernet (PPPoE)",
IETF, Februar 1999, XP002198847, beschreibt, wie PPP-Sessions aufzubauen
und PPP-Pakete über
Ethernet zu verpacken sind. Diese Spezifikation kann von vielen
Hosts auf einem gemeinsam genutzten Ethernet verwendet werden, um PPP-Sessions
zu vielen Zielen über
ein oder mehrere Brückenmodems
zu öffnen.
-
Es
ist daher ein Hauptziel der vorliegenden Erfindung, einen Paketzwischenverstärker in
die Lage zu versetzen, in der Zeit vor der Herstellung einer PPP-Verbindung
die physikalische Adresse eines IEEE 1394-Hostendgeräts zu erkennen,
woraufhin dem 1394-Hostendgerät
eine IP-Adresse zugewiesen wird. Die Aufgabe der Erfindung wird
mit den Merkmalen der Patentansprüche gelöst.
-
Das
angegebene Ziel der vorliegenden Erfindung wird erreicht durch Bereitstellung
eines IEEE 1394-Hostendgeräts
zum Übertragen
eines PPP-Pakets mit einem neuen Datenformat, welches eine physikalische
Adresse des an den seriellen IEEE 1394-Bus angeschlossenen Hostendgeräts anzeigt. Insbesondere
umfaßt
die physikalische Adresse eine global eindeutige Kennung und eine
Registeradresse (oder Unicast-FIFO-Adresse).
-
Die
vorliegende Erfindung wird unter Bezug auf die folgenden Zeichnungen
weiter im Detail beschrieben, wobei:
-
1 ein
Blockschaltbild eines Kommunikationssystems gemäß einer ersten Ausführungsform der
vorliegenden Erfindung ist;
-
2 eine
Abbildung des Datenformats eines IEEE 1394-PPPoE-Pakets ist, das
gemäß der vorliegenden
Erfindung zwischen IEEE 1394-Hostendgeräten und einem Paketzwischenverstärker transportiert
wird;
-
3 eine
Abbildung von Details einer Zielverwaltungstabelle ist;
-
4 eine
Abbildung des Datenformats eines IEEE 802-PPPoE-Pakets ist, das
zwischen dem Paketzwischenverstärker
und einem PPPoE-Server transportiert wird;
-
5 ein
Flußdiagramm
des Betriebs der Steuerung des Paketzwischenverstärkers von 1 ist;
-
6 ein
Blockschaltbild eines Kommunikationssystems gemäß einer zweiten Ausführungsform der
vorliegenden Erfindung ist;
-
7 eine
Abbildung von Details der Zielverwaltungstabelle und einer Knotentabelle
von 6 ist;
-
8 ein
Ablaufdiagramm zur Darstellung von DHCP-(dynamic host configuration protocol
= dynamisches Hostkonfigurationsprotokoll) und ARP-Verfahren ist,
die durchgeführt
werden, bevor eine PPP-Verbindung hergestellt wird; und
-
9 ein
Flußdiagramm
des Betriebs der Steuerung des Paketzwischenverstärkers von 6 ist.
-
Nun
Bezug nehmend auf 1 wird ein Kommunikationssystem
gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung gezeigt. Das System weist mehrere IEEE
1394-Endgeräte 11, 12, 13 auf,
die zum Beispiel über
Wählverbindungen
logisch mit einem Paketzwischenverstärker verbunden sind.
-
Der
Paketzwischenverstärker 20 umfaßt eine
Steuerung 21, die auf einer Seite über eine IEEE 1394-Schnittstelle 22 mit
den 1394-Endgeräten 11, 12, 13 verbunden
ist und auf der anderen Seite über eine
IEEE-802.x-Schnittstelle 23 mit einem ADSL-Modem verbunden
ist.
-
Das
ADSL-Modem 30 ist über
eine Kommunikationsverbindung 31 mit einem PPPoE-Server 40 eines
Netzbetreibers verbunden, der seinerseits über eine Kommunikationsverbindung 41 mit
dem Internet oder IP-Netzwerk 50 verbunden
ist.
-
Ein
als IP 1394 (oder IPv4 über
IEEE 1394, RFC 2734) bekanntes Protokoll ist in jedem der 1394-Endgeräte installiert,
um ein in ein IP 1394-Paket verpacktes IP-Datagramm zu senden. Um
das IP 1394-Paket in einem IEEE 802.x-Netzwerk zu wiederholen, extrahiert
der Paketzwischenverstärker 20 ein
in dem Paket enthaltendes IP-Datagramm und hängt eine IEEE 802.x-Kopfzeile
an das Paket und leitet es an das ADSL-Modem 30 weiter.
-
Ein
von dem ADSL-Modem 30 gesendetes IEEE 802.x-Paket wird
von dem Paketzwischenverstärker 20 empfangen,
wo das IP-Datagramm extrahiert und das Format in ein 1394-Paket übersetzt wird,
indem eine IEEE 1394-Kopfzeile angehängt wird, die eine GASP-Kopfzeile 201 (wenn
die Sendeart Broad cast oder Multicast ist)/asynchrone Blockschreib-Kopfzeile 202 (ABW)(wenn
die Sendeart Unicast ist) und IP 1394-Nutzdaten 203 aufweist,
und wird, wie in 2 dargestellt, an das 1394-Netzwerk weitergeleitet. 4 stellt
das Datenformat eines IEEE 802.x-Rahmens dar, in dem eine PPPoE-Kopfzeile
und ein Datagramm in einen IEEE 802.x-Rahmen verpackt sind.
-
Der
802.x-Rahmen umfaßt
ein Pakettypen- (oder Code-) Feld 431 zum Einstellen eines
Werts, der einen von sechs Pakettypen, einschließlich PADI, PADO, PADR, PADS
und PADT, anzeigt. Ein Session-ID-Feld 432 wird verwendet,
um eine zugewiesene Session-Kennung einzustellen, die verwendet werden
soll, wenn eine Session hergestellt wird. Der in diesem Feld eingestellte
Wert ist nur für
Pakete, wie etwa PADS-Pakete und diejenigen, die während der
Session-Stufe verwendet werden, und PADT-Pakete wirksam. Für andere
Pakete wird in dieses Feld der Wert "Null" eingestellt.
-
Wenn
der Paketzwischenverstärker 20 dieses
PPPo1394-Paket von
einem 1394-Endgerät empfängt, liest
er die Host-eindeutige
ID aus dem Kennzeichenwertfeld 247 des Pakets und die global eindeutige
Kennung des 1394-Endgeräts
und das Unicast-FIFO-Feld des Endgeräts. Die Host-eindeutige ID
ist ein eindeutiger Wert, der aus der physikalischen Adresse eines
IEEE 1394-Hostendgeräts
abgeleitet wird. Das Kennzeichentypfeld 245 zeigt an, daß die in
dem Kennzeichenwertfeld 247 gespeicherten Daten die Host-eindeutige ID sind.
Die Länge
der Host-eindeutigen ID ist in dem Kennzeichenlängenfeld 246 eingestellt.
-
Während der
Discovery-Stufe verwendet der Paketzwischenverstärker 20 die Host-eindeutige
ID als einen Suchbegriff, um Knoteninformationen des IEEE 1394-Hostendgeräts zu erhalten.
Wie in 3 dargestellt, umfaßt die Zielverwaltungstabelle 25 ein HUID-Feld 25A,
in dem die Host-eindeutige ID gespeichert ist, um die Knoteninformationen
des Hostendgeräts
und die MAC-Adresse des PPPoE-Servers 40 aufeinander abzubilden.
Die Knoteninformationen des Hostendgeräts umfassen die Knoten-ID, die
GUID und die Unicast-FIFO- ID
eines Geräts,
das an den seriellen 1394-Bus des Hostendgeräts angeschlossen ist, welche
jeweils in einem Knoten-ID-Feld 25C,
einem GUID-Feld 25D und einem Unicast-FIFO-Feld 25E eingestellt
sind. Die MAC-Adresse des Servers ist in einem MAC-Adreßfeld 25F eingestellt.
Die Knoten-ID ist eine logische Adresse, welche ein 1394-Gerät des Hostendgeräts eindeutig
identifiziert. Die global eindeutige Kennung (GUID) ist eine physikalische
Adresse, um das Gerät eindeutig
zu adressieren. Die Unicast-FIFO-Adresse ist eine Registeradresse
für eine
Unicast-Übertragung.
-
Wie
in 2 gezeigt, bildet das Hostendgerät IP 1394-Nutzdaten 203 mit
einer IP 1394-Kopfzeile 231, einer PPPo1394-Kopfzeile 232,
die eine PPPoE-Kopfzeile 242, ein GUID-Feld 243 (8
Byte) und ein Unicast-FIFO-Feld 244 (6 Byte) enthält, welcher PPPo1394-Nutdaten 233 folgen
und welcher eine GASP-Kopfzeile 201 und eine ABW-Kopfzeile 202 vorausgeht.
Das Hostendgerät
stellt in jeweiligen Feldern 243 und 244 seine
eigene global eindeutige Kennung und Unicast-FIFO-Adresse ein. Da die feststehende
Maximallänge
eines PADI-Pakets 1484 Byte ist, überschreiten die zusätzlichen
14 Byte der GUID- und Unicast-FIFO-Felder 243 und 244 diese Maximallänge nicht.
Das PPPo1394-Nutzdatenfeld 233 weist ein Kennzeichentypenfeld 245,
ein Kennzeichenlängenfeld 246,
ein Kennzeichenwertfeld 247 und ein Nutzdatenfeld 248 auf.
-
Das
Folgende ist eine Beschreibung des Betriebs der Steuerung 21 des
Paketzwischenverstärkers 20 von 1 mit
Hilfe eines in 5 gezeigten Flußdiagramms,
wenn ein Paket entweder von einem 1394-Hostendgerät oder einem
PPPoE-Server 40 empfangen
wird.
-
Wenn
der Paketzwischenverstärker 20 zum Beispiel
ein Paket mit dem Format von 2 von dem
IEEE 1394-Endgerät 11 empfängt, liest
die Steuerung 21 das Ethernettypenfeld 241 der
IP 1394-Kopfzeile 231 (Schritt 501) und beginnt
eine Discovery-Stufe.
-
Die
Steuerung 21 fährt
fort mit dem Pakettypbestimmungsschritt 502, um die Pakettypendaten aus
dem Codefeld 250 der PPPoE-Kopfzeile 242 zu lesen,
und erkennt, daß das Paket
ein PADI-Paket ist. Die Steuerung 21 geht dann von Schritt 502 weiter
zu Schritt 503 und liest das Kennzeichenwertfeld 245 (das
die Host-eindeutige ID enthält),
das GUID-Feld 243, das Unicast-FIFO-Feld 244 und
das Senderknoten-ID-Feld 211 und kopiert die Inhalte dieser
Felder in entsprechende Felder der Zielverwaltungstabelle 25.
-
Wie
in 2 gezeigt, speichert die Zielverwaltungstabelle 25 eine
Host-eindeutige ID, eine Session-Kennung, und eine Knoteninformation,
die für
eine Unicast-Übertragung
notwendig ist. Die Host-eindeutige ID und die Session-Kennung werden einzeln
als ein Suchbegriff zur Durchführung
einer Suche durch die Zielerwaltungstabelle 25 nach einer entsprechenden
Knotenkennung, global eindeutigen Kennung, Sender-Unicast-FIFO-Adresse
und einer Server-MAC-Adresse
verwendet.
-
Die
Steuerung 21 geht von Schritt 503 weiter zu Schritt 504,
um das Datenformat des empfangenen PADI-Pakets in ein PADI-Paket
mit dem 802.x-Datenformat (4) zu übersetzen.
Das IEEE 802.x-Paket weist ein PPPoE-Nutzdatenfeld 401 auf, dem
eine 802-Kopfzeile 402 und eine PPPoE-Kopfzeile 403 vorangeht. Das
PPPoE-Nutzdatenfeld 401 umfaßt ein Kennzeichentypenfeld 411,
ein Kennzeichenlängenfeld 412,
ein Kennzeichenwertfeld 413, ein Kennzeichenfeld 414 und
ein Nutzdatenfeld 415. Dieses PPPoE-Nutzdatenfeld 401 wird
nur während der
anfänglichen
Discovery-Stufe verwendet.
-
Die
Steuerung 21 übersetzt
das PADI-Paket mit dem 1394-Format von 2 in das
802.x-Format von 4 und sendet das Paket als Broadcast
an das Netzwerk (Schritt 505) und kehrt zu Schritt 501 zurück. Es ist
zu beachten, daß das
PADI-Paket mit dem 802.x-Format keine global eindeutige Kennung und
nicht die Unicast-FIFO-Adresse des anfragenden 1394-Hostendgeräts enthält.
-
Wenn
der PPPoE-Server 40 das PADI-Paket über das ADSL-Modem 30 empfängt, antwortet
er mit einem PADO-Paket.
-
Wenn
der Paketzwischenverstärker 20 das PADO-Paket
empfängt,
untersucht die Steuerung 21 das Ethernettypenfeld 421 der
802.X-Paketkopfzeile (siehe 4) und erkennt,
daß die
gegenwärtige Stufe
eine Discovery-Stufe ist (Schritt 501) und fährt mit
Schritt 502 fort, um den Pakettyp in dem Pakettypenfeld 431 der
PPPoE-Kopfzeile 403 zu untersuchen, und erkennt, daß das empfangene
Paket ein PADO-Paket ist. Der Paketzwischenverstärker 20 geht weiter
zu Schritt 506 und kopiert die MAC-Adresse des PPPoE-Servers 40 aus
dem Ziel-MAC-Adreßfeld 422 der
802.x-Kopfzeile 402 in das MAC-Adreßfeld 25F der Zielverwaltungstabelle 25.
-
In
Schritt 507 verwendet die Steuerung 21 die in
dem Kennzeichenwertfeld 413 der PPPoE-Nutzdaten 401 eingestellte
Host-eindeutige ID als einen Suchbegriff und durchsucht die Zielverwaltungstabelle 25 nach
einer entsprechenden Host-eindeutigen
ID, die in einem Eintrag (einer Reihe) des Host-ID-Felds 25A der Verwaltungstabelle 25 gespeichert
ist. Wenn ein derartiger Eintrag erkannt wird, geht die Steuerung 21 von
Schritt 507 weiter zu Schritt 508, um die in den
Feldern 25C, 25D und 25E des erkannten
Eintrags der Verwaltungstabelle 25 gespeicherten Knoteninformationen
zu lesen, und bestimmt, ob das Paket für das anfragende 1394-Hostendgerät oder den
PPPoE-Server 40 bestimmt ist. Wenn bestimmt wird, daß das Ziel
des Pakets das 1394-Hostendgerät
ist, geht die Steuerung von Schritt 508 weiter zu Schritt 509,
um das PADO-Paket mit dem 802.x-Format (4) in das 1394-Datenformat
(2) zu übersetzen,
indem die Knoteninformationen aus den Feldern 25C, 25D, 25E in
das Zielknoten-ID-Feld 221 und das Versatzadreßfeld 222 der
ABW-Kopfzeile 202 kopiert werden. Die Steuerung 21 sendet
das PADO-Paket mit dem 1394-Datenformat
als Unicast an das 1394-Hostendgerät (Schritt 510) und
kehrt zu Schritt 501 zurück.
-
Ansprechend
auf das PADO-Paket von dem Paketzwischenverstärker 20 antwortet
das 1394-Hostendgerät
mit einem PADR-Paket.
-
Bei
Empfang des PADR-Pakets geht die Steuerung 21 des Paketzwischenverstärkers 20 durch
die Schritte 501 und 502 weiter zu Schritt 507, um
die in dem empfangenen Paket enthaltene Host-eindeutige ID im Hinblick
auf eine entspre chende Host-eindeutige ID mit den in dem Host-ID-Feld 25A der
Zielverwaltungstabelle 25 gespeicherten zu vergleichen.
Wenn sie in einem der Einträge
(Reihen) der Tabelle 25 übereinstimmen, untersucht die
Steuerung 21 die MAC-Adresse des PPPoE-Servers, die in
dem übereinstimmenden
Eintrag enthalten ist. Wenn die MAC-Adresse des PPPoE-Servers erkannt wird,
wandelt die Steuerung 21 das PADR-Paket mit dem 1394-Format in das 802.x-Format
um (Schritt 509) und sendet es als Unicast an den PPPoE-Server 40 (Schritt 510).
-
Der
Server 40 antwortet auf das PADR-Paket von dem Paketzwischenverstärker 20 mit
einem PADS-Antwortpaket.
-
Bei
Empfang des PADS-Pakets von dem PPPoE-Server erkennt die Steuerung 21,
daß sie
ein PADS-Paket empfangen hat und geht von Schritt 502 weiter
zu Schritt 512. Da das Paket eine Session-Kennung in dem
Session-ID-Feld 432 (siehe 4) enthält, extrahiert
die Steuerung diese Session-Kennung und stellt sie in dem Session-ID-Feld 25B der
Zielverwaltungstabelle 25 ein (Schritt 512).
-
Die
Steuerung 21 geht von Schritt 512 weiter zu Schritt 507,
um eine Suche nach einer entsprechenden Host-eindeutigen ID, die in einem Eintrag (einer
Reihe) des Host-ID-Felds 25A der
Zielverwaltungstabelle gespeichert ist, durch die Zielverwaltungstabelle 25 durchzuführen. Wenn
ein derartiger Eintrag erkannt wird, geht die Steuerung 21 von Schritt 507 weiter
zu Schritt 508, um die in den Feldern 25D und 25E des
ermittelten Eintrags gespeicherten Knoteninformationen zu lesen,
und bestimmt, ob das Paket für
das anfragende 1394-Hostendgerät
oder den PPPoE-Server 40 bestimmt ist. Wenn bestimmt wird,
daß das
Ziel des Pakets das 1394-Hostendgerät ist, geht
die Steuerung von Schritt 508 weiter zu Schritt 509,
um das PADS-Paket mit dem 802.x-Format in das 1394-Datenformat zu übersetzen,
indem die Knoteninformationen aus den Felder 25C, 25D und 25E in
das Zielknoten-ID-Feld 221 und
das Versatzadreßfeld 222 der
ABW-Kopfzeile 202 kopiert werden. Die Steuerung 21 sendet
das PADS-Paket mit dem 1394-Datenformat als Unicast an das 1394-Hostendgerät (Schritt 510)
und kehrt zu Schritt 501 zurück.
-
Die
Discovery-Stufe endet nun, und der Paketzwischenverstärker tritt
in eine Session-Stufe ein. Die Pakete, die während der Session-Stufe verwendet
werden, enthalten keine Host-eindeutige ID. Wenn der Paketzwischenverstärker während der Session-Stufe
ein Paket empfängt,
geht die Steuerung 21 von Schritt 501 weiter zu
Schritt 513, um die Session-Kennung aus dem Session-ID-Feld 251 (2)
des Pakets zu extrahieren, wenn das Paket von dem 1394-Hostendgerät empfangen
wurde, oder es aus dem Session-ID-Feld 432 (4)
zu extrahieren, wenn das Paket von dem Server 40 empfangen wurde.
Die Steuerung 21 verwendet die extrahierte Session-Kennung
als einen Suchbegriff, um die Zielverwaltungstabelle 25 nach
einer entsprechenden physikalischen Knotenadresse zu durchsuchen,
und fährt
mit Schritt 508 fort, um auf der Basis der extrahierten
physikalischen Knotenadresse zu bestimmen, ob das Paket für das 1394-Hostendgerät oder für den PPPoE-Server 40 bestimmt
ist. Dem 1394-Hostendgerät wird am
Beginn der Session-Stufe eine IP-Adresse
zugewiesen.
-
Während der
Session-Stufe führt
die Steuerung 21 für
die Paketübertragung
von dem Hostendgerät
an den PPPoE-Server die Schritte 401, 413, 408, 409 und 410 aus
und führt
für die
Paketübertragung
von dem PPPoE-Server zu dem Hostendgerät die Schritte 401, 413, 408, 411 und 410 aus.
Wenn für ein
empfangenes Paket kein Ziel erkannt wird (Schritt 508),
geht die Steuerung 21 weiter zu Schritt 515, um das
Paket zu verwerfen.
-
Wenn
der 1394-Host oder der PPPoE-Server ein PADT-Anfragepaket sendet, um die Session
zu beenden, geht die Steuerung 21 weiter zu Schritt 514,
um eine in dem Paket enthaltene Session-Kennung zu lesen und alle
in einem dieser Session-Kennung entsprechenden Eintrag der Verwaltungstabelle 25 gespeicherten
Daten zu löschen,
und geht dann weiter zu Schritt 513, um die Verwaltungstabelle 25 unter
Verwendung der Session-Kennung nach einem Zielort zu durchsuchen.
Wenn das PADT-Anfragepaket von dem Hostendgerät empfangen wurde, werden die
Schritte 508, 509, 510 ausgeführt, um
das PADT-Anfragepaket erneut an den PPPoE-Server 40 zu
senden. Andernfalls werden die Schritte 508, 511, 510 ausgeführt, um
das Paket erneut an das 1394-Hostendgerät zu senden.
-
Wenn
der Zielort das PADT-Anfragepaket von dem Paketzwischenverstärker 20 empfängt, antwortet
er mit einem PADT-Antwortpaket. Als ein Ergebnis liest der Paketzwischenverstärker 20,
wenn er das PADT-Antwortpaket empfängt, die Session-Kennung aus
dem Session-ID-Feld 431 des Pakets (4) und löscht alle
Daten, die in einem der Session-Kennung entsprechenden Eintrag der
Zielverwaltungstabelle 25 gespeichert sind (Schritt 514)
und geht weiter zu Schritt 513, um die Verwaltungstabelle 25 unter
Verwendung dieser Session-Kennung
nach dem Zielort zu durchsuchen. Wenn das PADT-Antwortpaket von
dem PPPoE-Server 40 gesendet wurde, werden die Schritte 508, 511, 510 ausgeführt, um das
Paket erneut an das 1394-Hostendgerät zu senden. Andernfalls werden
die Schritte 508, 509, 510 ausgeführt, um
das Paket erneut an den PPPoE-Server zu senden.
-
Ein
Kommunikationssystem einer zweiten Ausführungsform der vorliegenden
Erfindung ist in 6 gezeigt, wobei Teile, deren
Bedeutung denen in 1 entspricht, mit den gleichen
Ziffern bezeichnet sind und deren Beschreibung weggelassen wird. Ähnlich der
vorhergehenden Ausführungsform
sind die Hostendgeräte 11, 12, 13 über Wählverbindungen
logisch mit einem Paketzwischenverstärker 60 verbunden.
-
In 6 weist
der Paketzwischenverstärker 60 eine
Zielverwaltungstabelle 62 und eine Knotentabelle 63 auf,
die beide mit einer Steuerung 61 verbunden sind.
-
Wie
in 7 gezeigt, ist die Zielverwaltungstabelle 62 im
Aufbau identisch mit der Zielverwaltungstabelle 25 von 1.
Die physikalische Adreßtabelle 63 hat
eine Vielzahl von Hosteinträgen
(Reihen), die in ein Hostnamenfeld 63A, ein 1394-Knoten-ID-Feld 63B,
ein GUID-Feld 63C und ein Unicast-FIFO-Adreßfeld 63D unterteilt
sind. Die Knotentabelle 63 wird verwendet, um den Namen
des Hostendgeräts
auf seine eigene Knotenkennung (d. h. die logische Adresse eines
Geräts
des Hostendgeräts),
eine global eindeutige Kennung und die Unicast-FIFO-Adresse (die
als Kombination eine physikalischen Adresse des Geräts darstellen)
abzubilden. Das Knoten-ID-Feld 63C und das entsprechende
GUID-Feld 63D jedes Eintrags werden aktualisiert, wann
immer die Konfiguration des Hostendgeräts durch ein Ereignis geändert wird,
das als „Zurücksetzen
des Busses" bekannt
ist und das durch das Anschließen
eines neuen Geräts
(z. B. 1394-Knoten) oder die Entfernung eines vorhandenen Knotens
von dem seriellen 1394-Bus des Hostenedgeräts ausgelöst wird.
-
Der
Betrieb der Steuerung 61 zum Herstellen einer PPP-Verbindung
wird durch die Beschreibung eines in 9 gezeigten
Flußdiagramms
verständlich.
Bevor der Betrieb von 9 beginnt, führt die Steuerung 61 jedoch
DHCP- und ARP-Verfahren durch,
wie in 8 dargestellt.
-
Wenn
die Hostendgeräte 11, 12, 13 nacheinander
gestartet werden, sendet jedes Hostendgerät ein DHCP-Discovery-Paket,
das die MAC-Adresse des Hosts und Parameter, die der Host von dem IP-Netzwerk
erhalten möchte,
enthält,
an den Paketzwischenverstärker 60.
In dem Paketzwischenverstärker
ist ein DHCP-Server 64 vorgesehen, um dieses Discovery-Paket zu empfangen,
und dieser sendet ein DHCP-Angebot an das anfragende Endgerät. Das Hostendgerät antwortet
mit einem DHCP-Anfragepaket, das für den Server bestimmt ist,
von dem das DHCP-Angebot gesendet wurde. Der DHCP-Server 64 weist
dem anfragenden Hostendgerät
eine vorläufige
Adresse zu und sendet ein für
die IP-Adresse bestimmtes DHCP-Bestätigungspaket. Die Steuerung 61 stellt
die zugewiesene IP-Adresse
in der Knotentabelle 63 ein. Nach dem Senden des DHCP-Bestätigungspakets
sendet die Steuerung 61 ein ARP-Anfragepaket, das für die IP-Adresse
bestimmt ist, die der DHCP-Server 64 gerade zugewiesen
hat. Daher antwortet das Hostendgerät auf das ARP-Anfragepaket
mit einem ARP-Antwortpaket, das seine eigene Knotenkennung, global eindeutige
Kennung und Unicast-FIFO-Kennung enthält. Die Steuerung 61 empfängt das
ARP-Anfragepaket und bildet die in dem ARP-Antwortpaket enthaltene
Knotenkennung, die global eindeutige Kennung und die Unicast-FIFO-ID
auf die entsprechende IP-Adresse
in der Knotentabelle 63 ab.
-
Wenn
die DHCP-/ARP-Verfahren auf allen IEEE 1394-Hostendgeräten 11, 12, 13 ausgeführt wurden,
werden in ihren Knotentabellen 63 daher, wie in 7 gezeigt,
Daten eingestellt, die für
ihre PPP-Verbindungen notwendig sind.
-
Alternativ
können
die 1394-Hostendgeräte ein
DHCP-Discovery-Paket
als Broadcast über
den Paketzwischenverstärker 60 senden,
um ein DHCP-Angebotspaket von einem DHCP-Server außerhalb
des Paketzwischenverstärkers 60 zu
empfangen. Der Paketzwischenverstärker 60 arbeitet als eine Überwachung
zur Überwachung
aller an die Hostendgeräte 11, 12, 13 gesendeten
DHCP-Bestätigungspakete
und speichert ihre zugewiesenen Adressen in der Knotentabelle 63 als
vorübergehende
IP-Adressen.
-
Nach
den DHCP- und ARP-Verfahren ist die Steuerung 61 bereit,
gemäß dem Flußdiagramm
von 9 zu arbeiten. Es ist zu beachten, daß in 9 Teile,
deren Bedeutung der in dem Flußdiagramm von 6 entspricht,
mit den gleichen Ziffern markiert sind und ihre Beschreibung weggelassen
wird.
-
Wenn
das Hostendgerät 11 zum
Beispiel ein PADI-Paket an den Paketzwischenverstärker 60 sendet,
um eine PPP-Verbindung zu dem IP-Netzwerk 50 herzustellen,
erkennt die Steuerung 61 zuerst, daß eine Discovery-Stufe für das Endgerät 11 begonnen
wurde (Schritt 501) und geht dann weiter zu Schritt 901,
wobei sie erkennt, daß sie
ein PADI-Paket empfangen hat (Schritt 502). In Schritt 901 kopiert die
Steuerung 61 die Host-eindeutige ID und die 1394-Knotenkennung
des anfragenden Endgeräts aus
dem PADI-Paket in die Zielverwaltungstabelle 62. Die Steuerung 61 geht
weiter zu Schritt 902, um eine Suche nach einer entsprechenden
global eindeutigen Kennung und einer Unicast-FIFO-ID (wie in 2 durch
eine gestrichelte Linie angezeigt) durch die Knotentabelle 63 mit
der Knotenkennung als Suchbegriff durchzuführen, und kopiert die erkannte global
eindeutige Kennung und die Uni cast-FIFO-Adresse Zielverwaltungstabelle 62 (wie durch
durchgezogene Linien in 7 angezeigt).
-
Die
Steuerung 61 geht nun von Schritt 902 weiter zu
Schritt 504, um das Paket in das 802.x-Format zu übersetzen,
und sendet es als Broadcast an das Netzwerk (Schritt 505)
und kehrt zu Schritt 501 zurück. Danach arbeitet die Steuerung 61 auf
die gleiche Weise wie in der vorhergehenden Ausführungsform, wenn also in die
Session-Stufe eingetreten wird, wird dem Hostendgerät eine formale IP-Adresse
zugewiesen, welche die vorübergehend zugewiesene
IP-Adresse ersetzt.