Internetwork Packet Exchange (IPX) je protokol síťové vrstvy v sadě protokolů IPX/SPX. Může fungovat i jako nespojovaný protokol transportní vrstvy. IPX je odvozen od svého protějšku Internet Datagram Protocol (IDP) v sadě protokolů Xerox Network Services (XNS) firmy Xerox.
Doménou protokolu IPX byly lokální sítě v 90. letech 20. století, ve kterých se používal pro komunikaci se servery Novell Netware. Hlavními přednostmi IPX je snadná konfigurace klientských počítačů a malý rozsah paměti obsazené ovladačem IPX, což bylo velmi důležité pro MS-DOS a Microsoft Windows do verze Windows 95.
V období kolem roku 1990 byl protokol IPX nejpoužívanějším síťovým protokolem, díky velké oblibě síťového operačního systému Novell NetWare.
IPX ale nefunguje dobře v rozsáhlých sítích jako je Internet[1], a s rostoucí oblibou sítě Internet, která používá protokoly TCP/IP, podíl IPX klesal. Protože počítače a sítě mohou používat několik síťových protokolů současně, okolo roku 1996 používala stále větší část počítačů TCP/IP pro připojení do Internetu[2] současně s IPX pro komunikaci v lokální síti. K dalšímu poklesu používání IPX přispěl NetWare verze 5 uvedený v roce 1998, který umožňoval rovnocenné připojení ke svým serverům pomocí protokolů IPX i TCP/IP[3].
Velkou výhodou protokolu IPX je jeho malá nebo žádná potřeba konfigurace. V době, kdy protokoly pro dynamickou konfiguraci stanice neexistovaly a protokol BOOTP pro centralizované přidělování adres nebyl příliš rozšířený, mohla být IPX síť zkonfigurována téměř automaticky. Klientské počítače používají MAC adresy síťové karty jako adresu uzlu a číslo sítě zjistí od serveru nebo routeru. Číslo sítě je odvozeno z MAC adresy serveru.
Správci IPX sítě stačilo
Každý IPX paket začíná hlavičkou s následující strukturou:
Oktetů | Pole |
---|---|
2 | Kontrolní součet (vždy 0xFFFF - žádný kontrolní součet) |
2 | Délka paketu (včetně IPX hlavičky) |
1 | Řízení transportu (počet hopů) |
1 | Typ paketu |
12 | Cílová adresa |
12 | Zdrojová adresa |
Pole typ paketu rozlišuje protokol vyšší vrstvy:
Hodnota | Význam/Protokol |
---|---|
0 | neznámý |
1 | RIP (Routing Information Protocol) (RFC 1582, RFC 2091) |
2 | Echo paket |
3 | Chybový paket |
4 | PEP (Packet Exchange Protocol), používaný pro SAP (Service Advertising Protocol) |
5 | SPX (Sequenced Packet Exchange) |
17 | NCP (NetWare Core Protocol) |
Protokol IPX podporuje vytváření rozsáhlých sítí (anglicky internetwork), které se vytvářejí propojováním menších sítí pomocí routerů (anglicky internetworking). Firma Novell používá pro tyto malé sítě termín kabelový systém, který znamená síť, v níž lze pro komunikaci používat protokol linkové vrstvy.
IPX adresa má následující strukturu:
Oktetů | Složka |
---|---|
4 | Číslo sítě |
6 | Číslo uzlu |
2 | Číslo soketu |
Číslo sítě umožňuje adresovat IPX uzly, které nepatří do stejného kabelového systému a tak komunikovat mezi různými sítěmi (internetworking), které musí být propojeny pomocí IPX routerů. Jakýkoli server Novell Netware může fungovat jako IPX router. Novell také dodával samostatné routery. Multiprotokolové routery jiných dodavatelů často podporují směrování protokolu IPX. Používání různých formátů rámců na jednom kabelovém systému je možné, ale funguje stejně, jako kdyby komunikace probíhala po různých kabelech (tj. pro různé formáty rámců musí být na stejném kabelovém systému použita různá čísla sítí a pro komunikaci mezi uzly používajícími různé formáty rámců na stejném kabelovém systému se musí používat router).
Pomocí čísla uzlu se vybírá určitý počítač (lépe řečeno jeho síťové rozhraní) v síti.
Klientské stanice používají jako číslo uzlu MAC adresu své síťové karty. Hodnotu FF:FF:FF:FF:FF:FF lze používat jako cílovou adresu pro broadcast s význam "všechny uzly v aktuální síti".
Číslo soketu umožňuje vybrat proces nebo aplikaci v cílovém uzlu. Přítomnost čísla soketu v IPX adrese umožňuje, aby IPX fungovalo i jako protokol transportní vrstvy podobně jako User Datagram Protocol (UDP) v TCP/IP.
Číslo soketu | Protokol |
---|---|
0x0001-0x0BB8 | Sokety registrované firmou Xerox |
0x0001 | Směrovací pakety (RIP) |
0x0002 | Echo pakety |
0x0003 | Chybové pakety |
0x0020-0x003F | Experimentální sokety |
0x0BB9-0xFFFF | Dynamicky přiřazované sokety |
0x0451 | NetWare Core Protocol (NCP) používaný servery Novell NetWare |
0x0452 | Service Advertising Protocol (SAP) |
0x0453 | Routing Information Protocol (RIP) |
0x0455 | NetBIOS |
0x0456 | Diagnostické pakety |
0x0457 | Serializační pakety (používané i pro NCP) |
0x4000-0x4FFF | Dynamicky přidělovaná čísla soketů |
0x4003 | Používáno klientem Novell NetWare |
0x8000-0xFFFF | Staticky přidělovaná čísla soketů |
0x8060 | IPX |
0x9091 | TCP přes IPXF |
0x9092 | UDP přes IPXF |
0x9093 | IPXF, IPX Fragmentation Protocol |
Číslo sítě má podobnou funkci jako síťová část IP adresy (část, u které jsou bity masky sítě nastaveny na 1); číslo uzlu má podobnou funkci jako zbytek IP adresy (část, u které jsou bity v masce sítě nastaveny na 0). Protože číslo uzlu je u stanic shodné s MAC adresou síťové karty, zjistí stanice tuto složku vlastní adresy sama, a pro komunikaci s ostatními stanicemi není potřeba Address Resolution Protocol.
Směrovací tabulky protokolu IPX se podobají směrovacím tabulkám protokolu IP; směrování do jiných sítí se provádí podle čísla sítě a pro každé číslo sítě obsahují tabulky adresu routeru. Na rozdíl od směrovacích tabulek IP není potřeba síťová maska, protože rozdělení na číslo sítě a číslo uzlu je pevné.
V sítích Ethernet se pro IPX používají čtyři způsoby zapouzdření neboli formáty rámců:
V jiných sítích než Ethernet se používají pouze rámce 802.2 a SNAP.
V tomto článku byl použit překlad textu z článku Internetwork Packet Exchange na anglické Wikipedii.