ゼロックス・ネットワーク・システム(XNS)の概要
ゼロックス・ネットワーク・システム(XNS)は、
ゼロックスが開発したコンピュータネットワーキングのプロトコルスイートであり、1980年代のローカルエリアネットワーク設計において重要な役割を果たしました。特に、汎用のネットワーク通信やルーティング、パケット配信などの機能を提供し、
OSI参照モデルの発展にも影響を与えましたが、TCP/IPプロトコルにはほとんど影響を及ぼすことはありませんでした。
開発の背景
XNSは、
ゼロックスのシステム開発部門によって1970年代後半からのPARC Universal Packet(Pup)スイートを基に開発されました。XNSは、ネットワーク番号の概念を導入し、複数の小さなネットワークを統合してより大きなネットワークを構築し、データの流れを
ルーターで制御することを可能にしました。また、1977年には
パブリックドメインとなり、標準的なローカルエリアネットワーキングプロトコルとして広く使用されるようになりました。
プロトコルの構造
XNSは5層構成で設計されており、物理層は
イーサネットなどのハードウェアに依存しています。これに対し、内部トランスポート層である層1は、主要な
インターネットワーキングプロトコルであるインターネット・データグラム・プロトコル(IDP)が定義されていることが特徴です。さらに、OSIのセッション層とトランスポート層は単一のプロセス間通信層へ統合されています。
基幹プロトコル
XNSのコアとなるIDPは、
イーサネットのアドレスを用いており、一般的に
MACアドレスを一意の識別子としています。また、IDPはパケットタイプも提供し、チェックサムを含むことがあるもののオプションです。このため、XNSは急速なデータ転送が可能であり、実際にエラー訂正を削除することでパフォーマンスを向上させていました。XNSは特に低レイテンシなLAN接続に適した短いパケットサイズを使用しており、少ないエラー率と迅速な応答を実現しています。
トランスポート層のプロトコル
XNSのトランスポート層には2つの主要なプロトコル、シーケンスパケットプロトコル(SPP)とパケット交換プロトコル(PEP)があります。SPPはTCPに似た接続性を持ったプロトコルであり、一方でPEPはUDPに似たコネクションレスの特性を備えています。さらに、エラープロトコル(EP)が存在し、ドロップしたパケットの報告を行うシステムも提供されています。
アプリケーションプロトコルと認証
XNSには、リモート・プロシージャ・コール(RPC)のためのクーリエというプロトコルがあり、リモートプリンティングやメーリングなどに対応しています。また、認証プロトコルにはNeedham–Schroederプロトコルに基づいた厳密な資格情報の仕組みが含まれており、クーリエを介した安全な通信を可能にしました。
歴史的背景
XNSの起源は、
ゼロックスPARCでのボブ・メトカーフによる
イーサネットの開発にさかのぼります。この技術は、後にXNSのプロトコルスイートの基盤となりました。Pupが開発された後、メトカーフは既存のプロトコルを見直し、XNSを市場に投入するための動きを開始しますが、その後の商業化には時間がかかりました。最終的に1980年代に入ると、XNSは重要なネットワーキング技術としての地位を確立しました。
確立された影響
XNSは、1990年代まで広範囲にわたって利用され、さまざまなプロプライエタリなネットワークシステムに影響を与えました。特に、3Comの3+ShareやNovell
NetWareなど、XNSを基にしたシステムが登場し、これによりネットワーク
プロトコルスタックの支持が後押しされました。また、XNSの設計は、今後のネットワーキング技術の進展にも寄与しています。