web-dev-qa-db-ja.com

これまでに使用されたIPX / SPXスタックのSPXは何でしたか?

古いネットワークプロトコルについて少し学ぼうとしていて、IPX/SPXから始めることにしました。そこで、VirtualBoxで2台のMS-DOS仮想マシンを構築し、IPX通信を機能させました(試行錯誤の末)。

いくつかの古いDOSゲームを実行し、マルチプレイヤーマッチにリンクし、各ゲームウィンドウと対話し、ホストマシンからWiresharkを使用してトラフィックをキャプチャするというアイデアです。このことから、Quake、Masters of Orion 2、MechWarrior2にやり取りしてもらいました。 Doom、Doom2、Duke3d、Warcraft、およびその他のいくつかは、VMの下でバグが発生したか、IPXネットワーク上で他のVMを見ることができませんでした。

私は何を発見しましたか?動作中のゲームはどれもSPXを使用していません。 MicrosoftのNETDIAGでさえSPXを使用していませんでした。それらはすべてIPX上でのみ実行されました。 IEEE802.3イーサネットIIフレーミングで実行されているSPXトラフィックのSPXの例や使用例すら見つかりません。トークンリングで多用されているという参考文献を見つけましたが、それだけです。

それでも、私がこれまで探してきたIPX対応アプリケーションは、通常、「IPX/SPX」としてアドバタイズします。これは、SPXを使用していないように見えるため、少し誤解されているようです。

では、SPXは何に使用されたのでしょうか。私のVMセットアップで実行されるそれを使用するDOSアプリケーションはありますか?

編集:IPがTCP(レイヤー3からレイヤー4))であるのと同様に、IPXがSPXであることに気付いたので、IPXの下にSPXレイヤーが表示されると予想しました。テストを実行したときのWiresharkのレイヤー。

1
Kumba

アプリケーション例:

  • NetWare用ArcServeバックアップエージェント
  • Pervasive.SQL v7 NetWare
  • LotusDominoサーバー

SPX(TCPに類似)はLAN用に最適化されており、パケットごとのNACK(パケットは明示的に確認されるのではなく受信されると想定されていました)を使用し、送信ウィンドウの概念はありませんでした。

これを、バイトごとにACKを使用するTCPと比較してください。これは、確認応答されていないすべてのデータをバッファリングし、パケットが失われた後に再送信することも意味します。

ただし、IPXはWANには適していませんでした。たとえば、さまざまなフレームサイズに対応できませんでした。つまり異なるフレームを持つ2つのネットワーク(たとえば、イーサネットとジャンボフレームを持つイーサネット)は、プロキシサーバーまたは何らかの形式のカプセル化なしでは相互運用できませんでした。

さらに、WANでのパケットの並べ替えは一般的ですが、SPX(少なくともNovellの実装では)で地獄を再生し、多くの偽のNAKを引き起こします。 注1

最後に、IPX/SPXは、単一ノードで最大20個のソケットをサポートします。これを、数千の同時ソケットのアドレス指定をサポートするTCPと比較してください。


注1IPX/SPXおよびTCP/IPのパフォーマンス

2
Mike Pennington