Internetwork Packet Exchange

Das Internetwork Packet Exchange (IPX) ist ein von Novell entwickeltes Netzwerkprotokoll. Es stammt vom Protokoll Internetwork Datagram Protocol (IDP) der Xerox Network Services (XNS) ab und wurde primär für das Netzwerkbetriebssystem 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. Microsoft stellte den Support ab Windows Vista ein, somit ist Windows XP das vorerst letzte Windows für Privatanwender mit IPX-Unterstützung. Ubuntu unterstützte IPX zuletzt in der Version 13.10.[1] In Version 14.04 sollte das IPX-Paket zunächst noch installierbar sein, doch kurz vor dem Release wurde es entfernt und wird seitdem nicht mehr angeboten.[2] Debian bot IPX zuletzt in der Version "Wheezy" an, mangels Unterstützung wurde es ab Version "Jessie" nicht mehr ausgeliefert.[3] Netware (und damit der primäre Benutzer von IPX) wird seit März 2010 auch nicht mehr durch Novell unterstützt.[4] Ebenso wurde seitens marktführender Netzwerkkomponentenhersteller die Unterstützung von IPX aus ihrer Router-Firmware mittlerweile entfernt.

Das Protokoll im OSI-Modell

Das Protokoll im OSI-Modell (siehe im Vergleich dazu das TCP/IP-Referenzmodell, OSI-Modell):

OSI-SchichtEnglischEinordnungTCP/IP-SchichtEinordnungIPX/SPX/NCP
7AnwendungApplicationAnwendungs-
orientiert
AnwendungEnde zu
Ende
(Multihop)
NCP
6DarstellungPresentation
5SitzungSession
4TransportTransportTransport-
orientiert
Host to
Host
SPX
3VermittlungNetworkInternetPunkt zu
Punkt
IPX
2SicherungData LinkNetzwerk
Ethernet
Token Ring
FDDI
ARCNET
1BitübertragungPhysical

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. IPX verfügt daher über einen wesentlich größeren Adressraum als IP Version 4, wo Netzwerk und Host zusammen in 32 Bit kodiert sind.

Aufbau von Datenpaketen

Ein IPX-Paket besteht aus den 30 Byte großen IPX-Kopfdaten gefolgt von den Nutzdaten:

IPX Kopfdaten (Internetwork Packet Exchange)
012345678910111213141516171819202122232425262728293031
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):
TypInhalt des Datenbereiches
0x00unbekannt („Rohdaten“)
0x01RIP (Routing Information Packet)
0x02Echo Packet
0x03Error Packet
0x04PEP (Packet Exchange Protocol)
0x05SPX (Sequenced Packet Protocol)
0x10

0x1F
Experimentelle Protokolle.
0x11NCP (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:
SocketFunktion
0x0000unbekannt
0x0001RIP (Routing Information Packet)
0x0002Error Handling Packet
0x0020

0x003F
„Experimentell“
0x0001

0x0BB8
„Xerox vorbehalten“
0x0BB9Dynamically Assigned. (dynamisch zugeordnet)
0x0451NCP (NetWare Core Protocol)
0x0452SAP (Service Advertising Protocol)
0x0453RIP (Routing Information Protocol)
0x0455NetBIOS
0x0456Diagnostic
0x0457Serialization
0x8060IPX
0x9091TCP über IPXF
0x9092UDP über IPXF
0x9093IPXF, 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.

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.

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.

Einzelnachweise

  1. ipx : amd64 : Saucy (13.10) : Ubuntu. 28. April 2015, abgerufen am 19. November 2024 (englisch).
  2. ipx : amd64 : Trusty (14.04) : Ubuntu. 1. Mai 2015, abgerufen am 19. November 2024 (englisch).
  3. #712779 - RM: ncpfs -- RoQA; Unmaintained - Debian Bug report logs. Abgerufen am 19. November 2024.
  4. End of Support for NetWare (Memento vom 28. August 2010 im Internet Archive)