IPX/SPX

IPX/SPXは、ノベルのオペレーティングシステムNetWareで主に使われていた通信プロトコルである。IPXはInternetwork Packet Exchange、SPX はSequenced Packet Exchangeの略。

 プロトコル階層 
IPXとSPXは、Xerox Network ServicesのIDPとSPPプロトコルから派生したものである。IPXはネットワーク層プロトコル（OSI参照モデルの第三層）、SPXはトランスポート層プロトコル（OSI参照モデルの第四層）に対応する。SPXはIPXの上位にあり、ネットワーク上の二つのノード間のコネクション指向サービスを提供する。SPXは主にクライアントサーバ型アプリケーションで使われる。

IPXとSPXはTCP/IPとよく似たサービスを提供する。その意味では、IPX は IP に近く、SPXはTCPに近い。IPX/SPXは主にLAN向けに設計されており、LAN上での性能は優れている（一般的にTCP/IPをLAN上で使った場合よりも性能がよい）。しかし、TCP/IPがデファクトスタンダードとなった。その原因は、WANやインターネットでの性能がTCP/IPの方が優れていた点と、TCP/IPがグローバルな利用を意図して設計された成熟したプロトコルだった点にあるとされている。

NetWareとの密接な関係にもかかわらず、IPX/SPXはNetWareの通信では（少なくとも NetWare 5.x では）必須ではなく、NetWareのネットワークでのみ使われていたわけでもなかった。NetWare の通信では NCP (NetWare Core Protocol) が必須であり、トランスポート層以下はIPX/SPXでもTCP/IPでもよかった。

 実装 
1980年代後半から1990年代中盤にかけて、ノベルはIPXをベースとしたネットワークプロトコルによってパーソナルコンピュータのネットワーク市場を独占していた。

 DOS 
ノベルの最初のNetWareクライアントはDOS向けに開発された。最初のバージョンは固定のプロトコルスタックで、ネットワークカード毎に実行ファイルを作成する必要があった。この実行ファイルをブート時にロードし、メモリに常駐させる。その後、プロトコルスタックの動的なロード/アンロードが可能となった。これによって、クライアントの保守の容易性が大幅に改善された。

 Windows 
LANでのIPX/SPXは1990年代に入っても主流だったため、マイクロソフトはWindows for WorkgroupsおよびWindows NTから始まったネットワークサポートで、IPX/SPXもサポートした。マイクロソフトはこの実装をNetWareとの接続のためであるという意味を込めてNWLinkと称した。ただし、IPX/SPXはSMB/NetBIOSのネイティブなトランスポート層として使われており、NetWareとの接続に追加インストールが必要なのはNCPクライアントだけであった。NWLinkはWindows 2003まではサポートされていたが、後述のTCP/IPが主流になったことからWindows Vistaではサポートされなくなった。

 その他 
数年間、ノベルはOS/2用NetWareクライアントを提供していた。これは、DOS用クライアントと似たようなものであった。

各種UNIX/Linuxへの実装もノベルや他のベンダーの手で行われた。特にノベルのUnixWareはデフォルトでIPX/SPXをサポートしていた。ただし、UnixWareはNetWareサーバのクライアントとしては機能できるが、逆（UnixWareをサーバとする）の利用には追加パッケージを必要とした。同じくCaldera OpenLinuxもクライアントとしてIPX/SPXを実装していた。その後ノベルがリリースしたNovell Open Enterprise ServerのLinux版ではIPX/SPXはサポートされていない。

 移行の経緯 
インターネットの興隆と共にTCP/IPが主流となり、IPX/SPX の利用は徐々に減少していった。ノベルは、TCP/IPをクライアントプロトコルNetWare/IPとしてサポートし、IPXをIPパケット内にトンネリングさせるという単純な方法を採用した。これにより、NetWareクライアントとサーバがTCP/IPネットワーク経由で通信可能となった。しかし、実装が複雑であるため性能が悪く、どうしても必要な場合（ルーターがTCP/IPしか認識しない場合など）しか採用されなかった。NetWare 5.xではNCPをTCP/IP上に直接実装可能とした。NetWare の後継であるNovell Open Enterprise Serverでは、IPX/SPXをサポートしたOES-NetWareと、TCP/IPのみをサポートしたOES-Linuxの2種類になった。

マイクロソフトもノベルもファイアウォール経由のIPX/SPX利用をサポートしていた（それぞれ、ISA ServerとBorderManager）。これにより、ネットワーク基盤がIPX/SPXであっても、Winsockを使ったアプリケーションでインターネット接続が可能となっていた。これは移行を単純化するだけでなく、外部からの侵入を困難にするという側面もあった。

IPX/SPXが有益と考えられる利用法として、プリンターやディスク共有をIPX/SPXで行い、外部からのTCP/IPによるそれらの利用を防ぐという手法がある。

 関連項目 
 通信プロトコル
 NetBEUI (NetBIOS/NBF)
 インターネット・プロトコル・スイート
 ノベル (企業)
 OSI参照モデル

Category:通信プロトコル