Internetwork Packet Exchange
aus Wikipedia, der freien Enzyklopädie
IPX, Internetwork Packet eXchange, ist ein von Novell entwickeltes Computer-Netzwerkprotokoll. Es stammt vom Protokoll IDP der Xerox Network Services (XNS) ab und wurde primär für das Netzbetriebssystem (NOS) NetWare eingesetzt.
IPX ist ein verbindungsloses, proprietäres Protokoll mit Routing-Fähigkeiten, das funktionell dem IP bzw. UDP entspricht. Das auf IPX aufbauende Protokoll SPX (Sequenced Packet Exchange) realisiert analog zum TCP der TCP/IP-Protokollfamilie die gesicherte, verbindungsorientierte Kommunikation. Allerdings verwenden die Serverfunktionen von NetWare nur IPX, die Sicherungsfunktionen sind im NetWare Core Protocol (NCP) selbst unabhängig von SPX implementiert. Mit Hilfe des Service Advertising Protocol (SAP) ist es möglich, innerhalb eines IPX-Netzes angebotene Dienste zu finden.
Mit zunehmender Verbreitung des Internets ab Mitte der 1990er, der direkten Unterstützung von TCP/IP in Novell NetWare und dem sinkenden Marktanteil von NetWare verlor IPX/SPX gegenüber TCP/IP zunehmend an Bedeutung. Es wird heute nur noch selten eingesetzt, obwohl es sowohl von NetWare als auch von Clients wie Windows oder Linux immer noch unterstützt wird.
Inhaltsverzeichnis |
[Bearbeiten] Das Protokoll im OSI-Modell
Das Protokoll im OSI-Modell (siehe im Vergleich dazu das TCP/IP-Referenzmodell, OSI-Modell):
OSI-Schicht | Englisch | Einordnung | TCP/IP-Schicht | Einordnung | IPX/SPX/NCP | ||
---|---|---|---|---|---|---|---|
7 | Anwendung | Application | Anwendungs- orientiert |
Anwendung | Ende zu Ende (Multihop) |
NCP | – |
6 | Darstellung | Presentation | |||||
5 | Sitzung | Session | |||||
4 | Transport | Transport | Transport- orientiert |
Host to Host |
SPX | ||
3 | Vermittlung | Network | Internet | Punkt zu Punkt |
IPX | ||
2 | Sicherung | Data Link | Netzwerk |
Ethernet Token Ring FDDI ARCNET |
|||
1 | Bitübertragung | Physical |
[Bearbeiten] Adressierung
IPX wurde von Anfang an mit Bezug auf das ebenfalls bei Xerox entstandene Ethernet entwickelt. IPX verwendet binäre Adressen, bestehend aus einer 32 bit langen Netzwerknummer, einer 48 bit langen Hostadresse (der MAC-Adresse des Interfaces) und einer 16 bit langen Socket-Nummer, die etwa der Portadresse in TCP oder UDP entspricht. Interessanterweise verfügt IPX daher über einen wesentlich größeren Adressraum als IP Version 4, wo Netzwerk und Host zusammen in 32 Bit kodiert sind.
[Bearbeiten] Aufbau von Datenpaketen
Ein IPX-Paket besteht aus den 30 Byte großen IPX-Kopfdaten gefolgt von den Nutzdaten:
IPX Kopfdaten (Internetwork Packet Exchange) | |||||||||||||||||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Checksum (Prüfsumme) | Packet Length (Paketlänge) | ||||||||||||||||||||||||||||||
Transport Control (Transportkontrolle) |
Type (Typ) |
Destination Network (Zielnetz) |
|||||||||||||||||||||||||||||
Destination Network (Zielnetz) |
Destination Node (Zielknoten) |
||||||||||||||||||||||||||||||
Destination Node (Zielknoten) |
|||||||||||||||||||||||||||||||
Destination Socket (Zielsocket) |
Source Network (Quellnetz) |
||||||||||||||||||||||||||||||
Source Network (Quellnetz) |
Source Node (Quellknoten) |
||||||||||||||||||||||||||||||
Source Node (Quellknoten) |
|||||||||||||||||||||||||||||||
Source Socket (Quellsocket) |
Data (Daten) |
- Das 16 Bit lange Feld Prüfsumme wird immer auf 0xFFFF gesetzt, da Prüfsummen für IPX nicht unterstützt werden.
- Das 16 Bit lange Feld Paketlänge enthält die Gesamtgröße des Pakets (Kopf- und Nutzdaten).
- Die 8 Bit lange Zahl im Feld Transport Control ist der Hop-Zähler, der beim Durchlaufen eines Routers erhöht wird. Falls er irgendwann 16 erreicht, wird das Paket üblicherweise verworfen (Zweck siehe TTL).
- Das 8 Bit lange Feld Typ beschreibt das eingebettete Protokoll (encapsulated protocol):
Typ | Inhalt des Datenbereiches |
---|---|
0x00 | unbekannt ("Rohdaten") |
0x01 | RIP (Routing Information Packet) |
0x02 | Echo Packet |
0x03 | Error Packet |
0x04 | PEP (Packet Exchange Protocol) |
0x05 | SPX (Sequenced Packet Protocol) |
0x10 – 0x1F |
Experimentelle Protokolle. |
0x11 | NCP (NetWare Core Protocol) |
0x12 – 0xFF |
- Die Felder Source Network/Node/Socket und Destination Network/Node/Socket enthalten die entsprechenden Komponenten von Sender- bzw. Empfängeradresse, wobei folgende Socketnummern festgelegt sind:
Socket | Funktion |
---|---|
0x00 | unbekannt |
0x01 | RIP (Routing Information Packet) |
0x02 | Error Handling Packet |
0x20 – 0x3F |
"Experimentell" |
0x1 – 0xBB8 |
"Xerox vorbehalten" |
0xBB9 | Dynamically Assigned. (dynamisch zugeordnet) |
0x451 | NCP (NetWare Core Protocol) |
0x452 | SAP (Service Advertising Protocol) |
0x453 | RIP (Routing Information Protocol) |
0x455 | NetBIOS |
0x456 | Diagnostic |
0x457 | Serialization |
0x8060 | IPX |
0x9091 | TCP über IPXF |
0x9092 | UDP über IPXF |
0x9093 | IPXF, IPX Fragmentation Protocol |
Der Datenbereich hat eine variable Länge. Da IPX-Pakete standardmäßig nicht fragmentiert werden, hängt die maximale Paketgröße vom Netzwerkmedium ab – bei Ethernet z. B. 1536 Bytes abzüglich der 30 Bytes des IPX-Kopfdatenbereiches selbst.
[Bearbeiten] Routing
Ein Netzwerkteilnehmer erzeugt seine eigene Adresse aus seiner MAC-Adresse und der vom Administrator konfigurierten Netzwerknummer. (In IPX ist im Gegensatz zu IP nicht vorgesehen, dass auf einem physischen Netzwerksegment mehrere Netzwerknummern nebeneinander verwendet werden).
Pakete innerhalb des eigenen Netzwerks (gleiche Netzwerknummer) werden direkt an die enthaltene MAC-Adresse zugestellt. Erkennt ein Teilnehmer eine Zieladresse in einem fremden Netzwerk, fragt er per RIP-Broadcast nach einem zuständigen Router, an dessen MAC-Adresse er das Paket dann schickt. Die erhaltenen Router-Adressen werden lokal zwischengespeichert. Router ihrerseits broadcasten in regelmäßigen Abständen (standardmäßig eine Minute) Listen der Netzwerknummern, die über sie erreicht werden können, wobei RIP-Pakete weiter entfernt liegender Router nicht einzeln weitergeleitet, sondern zusammengefasst werden.
RIP erzeugt laufenden Broadcast-Traffic und ist dadurch auf WAN-Strecken ineffizient und bei Wählverbindungen mit automatischem Verbindungsauf/abbau nur mit Mühe verwendbar. Es wurde daher durch ein Link-State Routing-Protokoll namens NLSP abgelöst, wobei aber die grundlegenden RIP-Funktionen zur Routersuche abwärtskompatibel blieben.
[Bearbeiten] Dienstesuche (Service advertising)
Analog zur Ermittlung von Routeradressen mit RIP verwaltet SAP mit einer Kombination von regelmäßigen Broadcasts und Broadcast-Anfragen eine Liste im Netzwerk angebotener Services. Auch diese Listen werden an Routern zusammengefasst.