| プロトコルスタック | |
| 目的 | 無線LAN |
|---|---|
| 開発者 | ノベル |
| 導入 | 1983年 |
| に基づく | 翻訳 |
| OSI層 | 3と4 |
| ハードウェア | イーサネット、その他 |
IPX /SPXはInternetwork Packet Exchange/Sequenced Packet Exchangeの略です。IPXとSPXは、当初はNovell NetWareオペレーティングシステム(現在は廃止)を使用したネットワークで使用されていたネットワークプロトコルでした。また、NetWare LANに代わるものとしてMicrosoft Windows LANを導入するネットワークでも広く使用されるようになりましたが、現在では広く使用されていません。IPX/SPXは、プロトコルをサポートしていたWindows XP以前およびWindows XPまで広く使用されていましたが、それ以降のWindowsバージョンではサポートされておらず、[1]ネットワークはTCP/IPに引き継がれました。
プロトコル層
IPX と SPX は、それぞれXerox Network Systemsの IDP プロトコルと SPP プロトコルから派生したものです。IPX はネットワーク層プロトコル ( OSI モデルの第 3 層) であり、SPX はトランスポート層プロトコル (OSI モデルの第 4 層) です。SPX 層は IPX 層の上にあり、ネットワーク上の 2 つのノード間で接続指向のサービスを提供します。SPX は主にクライアント サーバーアプリケーションで使用されます。
IPX と SPX はどちらもTCP/IPに似た接続サービスを提供します。IPX プロトコルはインターネット プロトコルに類似しており、SPX はTCPに類似しています。IPX/SPX は主にローカル エリア ネットワーク(LAN) 用に設計されており、この目的に非常に効率的なプロトコルです (通常、SPX のパフォーマンスは小規模 LAN 上の TCP のパフォーマンスを上回ります[引用が必要] 。これは、輻輳ウィンドウと確認応答の代わりに、SPX が単純なNAK を使用するためです)。ただし、TCP/IP が事実上の標準プロトコルになりました。これは、TCP/IP が広域ネットワークやインターネット (IP のみを使用) よりも優れたパフォーマンスを発揮することと、TCP/IP がより成熟したプロトコルであり[引用が必要] 、特にこの目的を念頭に置いて設計されたためでもあります。
これらのプロトコルは NetWare と関連していますが、NetWare 通信 (NetWare 5.x 以降) には必須ではなく、NetWare ネットワークでのみ使用されるわけでもありません。NetWare 通信には、トランスポートとして IPX/SPX、TCP/IP、またはその両方を使用できる NCP実装が必要です。
実装
Novell は、1980 年代後半から 1990 年代半ばにかけて、ネットワーク オペレーティング システム ソフトウェア市場 (Novell Netware を使用) で優位に立っていたため、IPX が一般的なコンピュータ ネットワーク プロトコルとして使用されるようになった主な要因です。
ドス
Novell のオリジナルの NetWare クライアントはDOS用に作成されました。初期バージョンでは、ハードリンクされたプロトコル スタックが必要で、ネットワーク管理者はネットワーク上の各ネットワーク カード構成ごとに個別の実行可能ファイルを作成する必要がありました。この実行可能ファイルは起動時にロードされ、システムがシャットダウンされるまでメモリ内に常駐していました。その後の実装では、既存のモジュールを使用して、ネットワーク スタックを動的にロードおよびアンロードできるようになりました。これにより、ネットワーク上のクライアント ワークステーションのメンテナンスが大幅に簡素化されました。
IPX/SPX は、DOS 時代のマルチユーザー ネットワーク ゲームの事実上の標準でした。多くのゲームの寿命は、KaliやKahnなどのトンネリング プログラムによって延長され、LAN のみではなくインターネット経由でもプレイできるようになりました。DOSBoxは、UDP経由で IPX をエミュレートします。
ウィンドウズ
1990 年代に LAN で IPX/SPX が普及したため、Microsoft はWindows for WorkgroupsおよびWindows NTから始めて、Windowsのネットワーク スタックにこのプロトコルのサポートを追加しました。Microsoft は実装を「NWLink」と名付け、レイヤー 3/4 トランスポートを含めることで NetWare 接続が可能になることを示しました。実際には、このプロトコルは Windows のSMB / NetBIOSのネイティブ トランスポートとしてサポートされており、NetWare 接続にはNCPクライアントの追加インストールが必要でした (Microsoft はWindows 95以降で基本的な NetWare クライアントを提供しましたが、自動的にインストールされることはなく、当初は NetWare バインダリ モードのみをサポートしていました)。NWLink は Windows ( Windows Server 2003まで) では引き続き提供されていましたが、 Windows Vistaには含まれておらず、サポートもされていません。NWLink の使用は強く推奨されていません(推奨しないのは誰ですか? )。ただし、NetBIOS のトランスポートとして使用する場合を除き、Windows ネットワークには使用できず、NetBIOS は非推奨です。
Novell の 32 ビット Windows クライアント ソフトウェアのほとんどは、NWLink を避けて Novell が開発した代替手段を使用していますが、一部のバージョンでは Microsoft の IPX/SPX 実装の使用が許可されています (潜在的な非互換性に関する警告付き)。
その他
Novell は数年にわたり、 OS/2用のネイティブ NetWare クライアントを提供してきました。これは DOS 用のクライアントと構造が似ていました。
Novellは、 Classic Mac OS用のIPXクライアントであるMacIPXも公開しました。[2]これは、Mac NetWareクライアントだけでなく、DoomやWarcraft III [3]などのゲームでもマルチプレイヤープレイに使用されました。
Novellと他のベンダーの両方によって、さまざまな種類のUnix / Linux用の実装が書かれています。特に、NovellのUnixWareはネイティブでIPX/SPXをサポートしていました。しかし、UnixWareはNetWareサーバーのクライアントとして機能し、アプリケーションはオプションでトランスポートとしてIPX/SPXをサポートできましたが、UnixWareでは追加のソフトウェアパッケージなしでNetWareネットワーク上でファイルやプリンターを共有する機能は提供されていませんでした。Open Enterprise Server - LinuxはIPX/SPXをサポートしていません。[4] LinuxカーネルはかつてIPX/SPXをサポートしていましたが、SPXサポートは2002年に削除され、[5] IPXサポートは2018年に削除されました。[6]
オープンソースのFreeBSDオペレーティングシステムには、NetWareファイルシステムクライアントであるnwfsと、Mars NWE [7] [8](いくつかの機能[9]を提供)を使用するNetWareサーバーの両方をサポートするIPX/SPXスタックが含まれています。OpenBSDはバージョン4.2でサポートを中止し、[10] [11]、4.1ではIPXでコンパイルするためにいくつかの作業が必要でした。[12]
遺産
インターネットの普及により TCP/IP が普及したため、近年 IPX の使用は減少しています。 Novell が最初にクライアント プロトコルとして TCP/IP をサポートしようとした NetWare/IP は、 IPX を IP パケット内で「トンネル」するだけで、NetWare クライアントとサーバーが純粋な TCP/IP ネットワークで通信できるようにしました。 しかし、実装が複雑で、トンネルのオーバーヘッドによってパフォーマンスが大幅に低下したため、NetWare/IP は、TCP/IP のみのルーターと WAN リンクを介して IPX をルーティングするメカニズムとして以外は、ほとんど無視されていました。 NetWare 5.x では、 TCP/IP 上のNCPのネイティブ サポートが導入され、これが現在では推奨される構成となっています。 NetWare の後継であるOpen Enterprise Serverには、 IPX/SPX (非推奨) のレガシー サポートを提供するOES-NetWareと、TCP/IP のみをサポートするOES-Linuxの 2 種類があります。
Microsoft と Novell はどちらも、ファイアウォールを介して通信するためのイントラネット プロトコルとして IPX/SPX をサポートしています (それぞれProxy Server/ISA ServerとBorderManager経由) 。これにより、クライアント ソフトウェアを使用するマシンは、TCP/IP をローカルにインストールしなくてもインターネットにアクセスできます。クライアント ソフトウェアはネイティブ TCP/IP スタックをエミュレートし、ローカル アプリケーション (Web ブラウザーなど) にWinSockサポートを提供しますが、実際には IPX/SPX 経由でファイアウォールと通信します。これにより、従来の IPX LAN の移行が簡単になるだけでなく、ファイアウォールが侵害された場合でも、内部ネットワークで IPX プロトコルを使用することで侵入者に対する自然な障壁が提供されるため、セキュリティ対策が提供されます。
IPX が依然として有用な領域の 1 つは、TCP/IP 経由で他の LAN デバイス (プリンタやネットワーク接続ストレージなど) との通信を禁止するセキュリティ ポリシーを持つVPN 接続をバイパスする場合です。 [引用が必要]
参照
- インターネットワーク パケット交換(IPX)
- NetWare コア プロトコル(NCP)
- NetBIOS フレーム(NBF)
- NetBIOS over TCP/IP (NBT)
- NWリンク
- 通信プロトコル
参考文献
- ^ “LAN経由でIPX / SPXゲームをプレイする方法(WinXP)”. 2013年4月12日. 2021年3月2日時点のオリジナルよりアーカイブ。 2021年2月23日閲覧。
- ^ [1] 2011-07-24にWayback MachineでアーカイブMacIPXインターネットワーキングに関するメモ、以前は[2] 2010-08-23にWayback Machineでアーカイブ
- ^ Blizzard サポート。Web.archive.org (2010-08-20)。2013 年 9 月 27 日に取得。
- ^ http://www.oreilly.com/openbook/linag2/book/ch15.html 2022-11-05 にWayback Machineでアーカイブされました(ただし、「Alan Cox が Linux カーネルの IPX サポートを初めて開発したのが 1985 年である」という記述は、カーネル自体よりも古いため、誤植であることに注意してください)
- ^ https://lwn.net/Articles/7208/ 2022-08-03 にWayback Machineにアーカイブされました(参照: 「SPX と IPX の最後の typedef を削除し、ipx_hdr を作成」)
- ^ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7a2e838d28cff6718a0bdf66164465402f8e40ed 2022-11-05 にWayback Machineにアーカイブされました("staging: ipx: ツリーから削除")
- ^ 「Mars NWE の FreeBSD ポート情報」。2022 年 11 月 5 日時点のオリジナルよりアーカイブ。2010年 5 月 9 日閲覧。
- ^ 「Freshportsの火星NWEに関する情報」。2022年11月5日時点のオリジナルよりアーカイブ。2010年5月9日閲覧。
- ^ 「Novell's comments on Mars NWE」。2024年6月1日時点のオリジナルよりアーカイブ。2010年5月9日閲覧。
- ^ 「OpenBSD 4.2 の変更点」。2011 年 4 月 12 日時点のオリジナルよりアーカイブ。2010 年 5 月 9 日閲覧。
- ^ “OpenBSD からの IPX の削除”. 2022 年 11 月 5 日時点のオリジナルよりアーカイブ。2010 年 5 月 9 日閲覧。
- ^ Berkeley Software Design (BSD): ipx を使用したカーネル サポートの構築が失敗する 2011 年 7 月 26 日アーカイブ、Wayback Machineで公開
