
2026/06/15 4:14
カオスネット(1981 年)
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
1975 年に MIT(マサチューセッツ工科大学)の人工知能研究所が Lisp マシン向けに開発した Chaosnet は、約 1 キロメートル〜2 キロメートル以内のマシン同士をコアクシアルケーブル(「エーサー」と呼ばれる)で接続する分散型局域ネットワークである。このシステムはキャリア・センス・マルチプル・アクセスのハードウェアと、ネットワーク制御プログラムと呼ばれるソフトウェアスタックを組み合わせており、情報伝送速度は約 4 Mbps で、自己同期型の Upright Biphase NRZI エンコーディングを用いて、最大 4032 ビット(データ部分)および 48 ビット(ヘッダー部分)のパケットを送信する。パケットには宛先アドレス、送信元アドレス、CRC チェックフィールドが含まれており、上位のソフトウェアプロトコルにより追加で 128 ビットのヘッダーが付けられる。
中央制御装置を持たずに衝突を回避するため、Chaosnet ではタイムスロットカウンターを用いてインターフェースに送信権(トランスミッションターン)を割り当てており、実質的にトークンパス方式をシミュレートする機能を持つ。ルーティングはブリッジノード(多くの場合 DEC PDP-11 コンピュータ)によって実行され、パケット内で転送カウント値をインクリメントする;ループの発生を防ぐため、カウントが最大値に達したパケットは破棄される。フロー制御とエラー制御は、損傷したパケットまたは順序が乱れたパケットの再送信によって行われ、送信速度と受信速度の調整には STS パケットを介して acknowledgements および receipts が管理される。接続確立には RFC(Request for Connection)、LSN(Listen)、OPN(Open)といったパケットを用い、データ転送には DAT パケットを使用し、ストリームの末尾は EOF でマークされる。
本システムは TELNET、SUPDUP、電子メール、ファイルアクセスなどのアプリケーションを支援するほか、TIME、NAME(finger 機能)、PULSAR などの診断ツールもサポートする。外部プロトコルは Chaosnet のデータフィールドに封入された UNC(Uncontrolled)パケットを通じて転送され、そのプロトコル番号は acknowledgements で割り当てられる(例:インターネット用には八進数 100000)。Chaosnet の実装は Lisp マシン、DEC PDP-11/PDP-10/VAX システム、TOPS-20/Tenex、UNIX 系など多岐にわたり、Unibus ボードなどの専用インターフェースを用いている。
本文
Chaosnet:分散型ローカルネットワークの概要と設計思想
1. 序論・基本概念
-
定義
- 「Chaosnet」(カオスネット)とは、互いに数 km 以内の範囲に配置されたコンピュータ間の通信を可能にするローカルネットワークシステムです。
- 名称は、ネットワーク内に中央制御要素が存在しない(自律分散型)という性質に由来しています。
-
沿革と展開
- 開発元: 1975 年、マサチューセッツ工科大学(MIT)の人工知能研究所(AI Lab)。
- 目的: Lisp Machine システムにおける内なる通信媒体としての利用。
- 普及: MIT 以外にも、他の大学や研究機関でも機器接続のために展開されました。
-
システムの特徴と課題
- マルチプロセッサ環境: 各ユーザに「個人用」コンピュータ(中規模プロセッサ・メモリ・スワッピングディスク)を割り当てます。
- ファイルシステム: ファイルは中央の共有ファイルシステム(Chaosnet 経由)に格納され、通信や共有プログラム、バックアップ機能を維持します。
- 高性能要求: 数百万語規模の Lisp プログラムを高速対話型応答で実行するため、レスポンスとスループットの高速さが必須です。
- 冗長性の排除: 中央制御要素がないため、単一障害点(SPOF)が避けられ、信頼性が高まります。
- 拡張性: 数十台の機器との接続を許容しますが、長距離通信や衛星利用は想定されていません。
- 共有資源: プリンタ、テープドライブ、専用プロセッサ、I/O デバイスへのアクセスも可能にします。
-
設計哲学
- 単純性と高性能の追求: 複雑なアルゴリズムではなく、高速伝送媒体とシンプルでオーバーヘッドの少ない実装により達成されます。
- 保守性の考慮: シンプルであることで障害をケーブルや特定の機器という「局所的事象」に迅速に限定・隔離できます。
- 制限事項:
- 低速リンク、ノイズが多いリンク、多重パス、長距離伝播時間の対応は含まれていません。
- エンドツーエンド暗号化や多層サービスなどの高度な機能は実装されていません(当時の要件に即した設計)。
- 影響: Xerox PARC の「エーテルネット(Ethernet)」開発に大きな触発となりました。
2. システム構成
Chaosnet は論理的に以下の 2 つの部分で構成されています。
2.1 ハードウェア
- 構造: PARC Ethernet に類似した**キャリアセンス・マルチアクセス(CSMA)**構造を提供します。
- メディア(エーザー):
- ケーブルテレビ用の外径 1/2 インチ低損失コアクシアルケーブル。
- 最大長さ:約 1 km(分散と減衰による制限)。
- 形状:直線的であり、分岐、stub、環状接続は不可。
- 中継: リピーターの使用より、ブリッジノード(通常 PDP-11 など)による複数のケーブル接続が採用されています。
2.2 ソフトウェア
- 汎用性: パケット単位での高次プロトコル定義のため、Chaosnet ケーブル以外の中継にも使用可能です。
- 技術的基盤: Ethernet、TCP など既存プロトコルの他、独自の改良が見られます。
3. ハードウェアプロトコル詳細
3.1 エーザー(Ether)と物理層
- パケット形式:
- データビット:最大 4032 ビット。
- ヘッダー:48 ビット(宛先、送信元、チェックサムの 3 ワード)。
- グループ化:16 ビットワード単位。
- ヘッダーの役割:
- 宛先: エーザー上の受信対象ノードを指定(ブロードキャストも可能)。必ずしも最終宛先ではない(ブリッジ経由の場合あり)。
- 送信元: パケットを送出したノードを特定(メッセージ起源と異なることがある)。
- チェックサム: ハードウェアによる CRC 演算で、伝送誤りやメモリエラーを検出します。
- ハードウェアプロトコル機能:
- 無損搬送の保証。
- エラー発生時の指示(破棄または全失)。
- 重負荷下でのパフォーマンス維持と停滞防止。
3.2 受送機(Transceiver)
- 構造: コネクタ・T ジョイント経由でケーブルに取り付けられる小型ボックス。
- 信号処理:
- 双方向デジタル信号のレベル変換(約 8V/0V)。
- VMOS パワー FET を介してケーブルへ印加。
- グランド絶縁と、妨害防止(ジャミング回避)のための保護回路を内蔵。
- LED インジケータ:
- 電源 OK、データ送信中、データ受信中、インターフェースによるジャミング試行の 4 つを表示。
- テストボタンでの診断機能あり。
3.3 インタフェース(Interface)
- 実装: TTL ロジックチップ搭載のワイラップ基板。コンピュターの I/O バスに挿入。
- 処理機能:
- ハードウェアプロトコルの実装。
- パケットのバッファリング、チェックサムの生成・検証。
- ホストコンピュータへの割り込み制御(高速伝送からホストを守る)。
- 対応機器: Lisp Machine、DEC LSI-11、DEC Unibus 系(PDP-11, VAX, PDP-10 など)をサポート。
3.4 デジタル表現とクロッキング
- 符号方式: **「Upright Biphase NRZI」**を採用。
- ビットセル長:約 250 ns。
- 遷移(Over-transition)で開始し、自己クロッキングを提供。
- サンプルング点:ビットセルの 3/4 地点(高レベル=「1」、低レベル=「0」)。
- ビットレート: 情報転送速度は4 Mbps。
- 信号状態の意味:
- 「不 busy」(アイドル): 約 2 ビットセル分以上低レベル維持。
- 「中断信号(Abort)」: 約 2 ビットセル分高レベル維持(衝突検知やフロー制御用)。
3.5 データ転送の特性
- ビット順序の反転:
- ハードウェア側ではアドレス部分(チェックサム→送信元→宛先)が先に送出されます。
- ソフトウェアはこれを気にせず、元の形式で処理可能。
- フロー制御:
- 受信バッファ満杯時や衝突時は「中断信号」を送信し、送信を強制停止します。
- 同期方法: クリスタル発振器を使用し、伝送速度のわずかな変動を許容しつつ固定遅延内に収めます。
3.6 エーザー競合と衝突回避技術
Chaosnet は中央制御を持たないため、独自の高度な衝突回避アルゴリズムを採用しています。
基本的な動作原理:キャリアセンス(CSMA)
- 待機: 送信開始前にエーザーが「busy」でないことを確認します。これにより衝突はパケット開始直後に限られます。
- 占有: 送信開始後はエーザーを実質的に「占有」とみなし、直至終了まで独占利用されます。
アドバンスド・タイムスロット技術(トークンリング様似の実装)
衝突を回避しつつ、中央制御不要で高効率を達成するための機構です。
- 仕組み:
- 各インタフェースはアドレスに基づき時間スロット(ターン)を持ちます。
- 自らのターン以外では送信を開始しません。
- 物理的な「トークン」はなく、代わりに時間スロットカウンターで「トークンの位置」を追跡します。
- 同期方式:
- パケット送信元のアドレスに基づき、すべてのインターフェースのスロットカウンターを同期させます。
- これにより、「リングネットワーク」のような順序性を持たせつつ、中央コントローラーなしで動作します。
- 優位性:
- トークン紛失・複製のリスクがありません(カウンター自体が自然に状態をリセットするため)。
- 偶発的な同期喪失(衝突)が発生しても、最初の実送成功により再同期されます。
- エーザー負荷が増すと機能効果が向上し、無駄な伝送時間と衝突発生率が低下します。
伝搬遅延の考慮
- 課題: インタフェース間の物理的距離(約 5 ns/m + 機器間接続)により厳密な同期は不可能です(特殊相対性理論的な限界)。
- 解決策:
- アドレスとスロット長を適切に設計し、遅延分を考慮した範囲内で衝突を防ぎます。
- クロックの差異や遅延によって発生する競合も、システム設計上で許容範囲内に制御されています。
この方式により、Chaosnet は完全な中央制御なしで、安定したネットワーク通信を実現しています。