IPX/SPX

ネットワーク通信プロトコルのひとつ
Sequenced Packet Exchangeから転送)

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をベースとしたネットワークプロトコルによってパーソナルコンピュータのネットワーク市場を独占していた。

ノベルの最初の 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によるそれらの利用を防ぐという手法がある。

関連項目

編集