IPX/SPX

IPX/SPXについて説明したページです。

IPX/SPXの概要

 IPX/SPXはNetWareというノベル社のネットワークOSで使われていたプロトコルです。

 NetWareはネットワークOSをインストールしてサーバー機を構築し、端末にはMS-DOSやWindowsにクライアント専用ソフトをインストールする事でサーバー上のファイルやプリンターを使う事が出来ました。

IPX/SPX1

 今ではWindows端末のファイルサーバーはWindows ServerやLinux上のSamba等が殆どですが、当時はWindows Server等がなかったため、ネットワークOSとして特化したNetWareはかなりのシェアを占めていました。

 IPX/SPXはNetWareのサーバーとクライアント間で通信するために利用されていましたが、後にWindows間の通信でもXPまでサポートされていました。

 IPXがTCP/IPのIPに当たるネットワーク層のプロトコルで、SPXがTCP/IPのTCPに当たるトランスポート層の役割を担っています。

ネットワーク番号

 IPX/SPXではTCP/IPのネットワークアドレスに相当するアドレスをネットワーク番号と言います。

 ネットワーク番号には2種類あります。1つは外部ネットワーク番号でルーターの1つのインターフェースに1つ割り当てられます。

IPX/SPX2

 もう1つは内部ネットワーク番号でサーバー機に1つ割り当てられます。サーバー機の内部にネットワークがあって、ルーティングによりサーバー機能と接続するイメージになります。

IPX/SPX3

 このため、ルーターにはインターフェース単位に外部ネットワーク番号を設定し、サーバー機にはインターフェースが接続する外部ネットワーク番号だけでなく、内部ネットワーク番号も設定します。

 ネットワーク番号は00000001〜FFFFFFFEまでが割り当て可能で、外部ネットワーク番号内、内部ネットワーク番号内だけでなく、外部/内部ネットワーク番号全体で重複出来ません。

ノード番号

 IPX/SPXではホストアドレスに相当する部分はノード番号と呼ばれています。クライアントではMacアドレスが使われ、サーバーでは000000000001になります。このため、アドレス全体を示すと12345678.0000.0000.0001等と表記されます。

 IPX/SPXではノード番号をMacアドレスに変換する必要がないため、TCP/IPのARPのような仕組みが不要です。

RIP

 IPX/SPXではルーター間でルーティング情報をRIPで交換し、ルーティングテーブルを作成します。RIPは定期的にブロードキャストされます。TCP/IPのRIPと同様にネットワーク番号やホップ数等のやりとりを行いますが、IPX/SPX特有なのはTick値が含まれている事です。

 Tick値はOSPFのコストのようなイメージで回線速度の指標です。Ticks値が低い程経路が優先され、Tick値が同じの場合にはホップ数が少ない経路が優先されます。

IPX/SPX4

SAP

 NetWareではパソコンでサーバー名を指定して接続します。サーバーと接続するためにはサーバー名をIPXアドレスに変換する必要があります。SAPはこのサーバー名とIPXアドレスの対応付けをやりとりするプロトコルです。

 SAPは定期的にブロードキャストして自身の存在を他のサーバーに教えます。SAPを受信したサーバーはテーブルを作成します。テーブルにはサーバー名やネットワーク番号、ノード番号等があり、クライアントからの要求に応じて回答出来るようになっています。

 SAPはサーバーだけでなくルーターも受信してテーブルを作成し、他のルーターにも伝播させるためにSAPを定期的にブロードキャストします。このため、サーバーが存在しないネットワークに接続されたクライアントでもルーターからの応答によってIPXアドレスを取得出来ます。

IPX/SPX5

実際の通信

 NetWareクライアントが起動されるとサーバーのIPXアドレスを知るためにGNSというSAPをブロードキャストします。NetWareサーバー、及びルーターがサーバーの内部ネットワーク番号等を応答します。

IPX/SPX6

 クライアントは一番最初に応答があった内部ネットワーク番号に対する経路の外部ネットワーク番号をRIPで解決し、自身と同じ外部ネットワーク番号であればサーバーと直接通信、異なる外部ネットワーク番号であればルーターに送信してルーティングによりサーバーと通信を開始します。

 通信開始後はIDとパスワードを入力してロンイン後、リモートホストのファイルをFドライブ等にマウントしてローカルディスクのイメージで使う事が出来るようになります。

 尚、クライアントでは優先サーバーが設定出来、直近のサーバーから優先サーバーのアドレスを教えて貰い、常に優先サーバーへ最初にログインする事も出来ます。

フレーム形式の混在

 IPX/SPXのフレーム形式はNetWare3.11Jまで「フレーム形式とマルチプロトコル」で説明した通り、デフォルトがNetWare独自のIEEE802.3形式でした。

 NetWare3.12J以降はデフォルトがIEEE802.3+IEEE802.2形式になりましたが、一時3.11Jと3.12Jが混在する時期がありました。

 例えばクライアントでIEEE802.3形式を使う場合、IEEE802.3+IEEE802.2形式に設定されたサーバーとは直接通信出来ません。

 NetWare3.11JでもIEEE802.3+IEEE802.2形式をサポートしていたのと、NetWare3.12JでもIEEE802.3形式をサポートしていたため、どちらかに統一する必要がありました。又、統一出来ない場合でルーターがある場合は、インターフェース単位、又は物理的に1つのインターフェースに複数のアドレスを割り当ててそれぞれフレーム形式を設定出来る場合が多かったため、ルーターでフレーム形式の変換を考える必要がありました。

IPX/SPX7
  • このエントリーをはてなブックマークに追加