Internetwork Packet Exchange

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von IPX/SPX)
Zur Navigation springen Zur Suche springen

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

[Bearbeiten | Quelltext bearbeiten]

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

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

[Bearbeiten | Quelltext bearbeiten]

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
0x0000 unbekannt
0x0001 RIP (Routing Information Packet)
0x0002 Error Handling Packet
0x0020

0x003F
„Experimentell“
0x0001

0x0BB8
„Xerox vorbehalten“
0x0BB9 Dynamically Assigned. (dynamisch zugeordnet)
0x0451 NCP (NetWare Core Protocol)
0x0452 SAP (Service Advertising Protocol)
0x0453 RIP (Routing Information Protocol)
0x0455 NetBIOS
0x0456 Diagnostic
0x0457 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.

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)

[Bearbeiten | Quelltext bearbeiten]

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

[Bearbeiten | Quelltext bearbeiten]
  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)