AppleTalk

AppleTalkについて説明したページです。

AppleTalkの概要

 AppleTalkはApple社のパソコンであるMacintoshで使われていたTCP/IPとは別のプロトコルです。

 AppleTalkを利用してファイル共有やプリンターへの印刷等が出来ます。

AppleTalkの使い方

 AppleTalkにはフェーズ1とフェーズ2があり、フェーズ2はフェーズ1を拡張して大きなネットワークに対応出来るようになっています。

 Macintoshにはサーバー機もあり、UNIX機がAppleTalkを使ってMacintoshのファイルサーバーになれるソフトウェアも存在していました。

 AppleTalkは今では使われていませんが、Macintoshシリーズはご存知の通り今でもApple社からiMac、MacPro等が販売されています。

 Macintoshシリーズはマイクロソフト社がMS-DOSからWindowsに移る前からグラフィカルな画面を採用しており、その斬新なデザインや革新的な機能もあって、人気のパソコンです。

 又、Apple社はパソコンだけでなくiPhone、iPad、iPod等も販売しています。

ノード番号

 AppleTalkではノード番号を使ってMacintosh間で通信を行います。TCP/IPで言うとホストアドレスに当たります。

 ノード番号は固定で割り当てる事も出来ますが、通常は自動で割り当てます。自動で割り当てる場合、Macintoshを起動するとノード番号の候補をブロードキャストし、一定時間内に応答がなければそのノード番号を使うようになります。TCP/IPで言うDHCPのようなものです。

ノード番号の自動割り当て

 ノード番号はフェーズ1で1〜254が割当可能で、フェーズ2では1〜253までが割当可能となっています。

AARP

 AppleTalkではTCP/IPのARPに当たるMacアドレスの解決をAARPというプロトコルで行います。

 つまり、AARPによりノード番号とMacアドレスの対応付けを行います。仕組みはARPと殆ど同じでキャッシュも行います。

AARPの動作

LocalTalkとEtherTalk

 初期のAppleTalkはMacintosh間を独自のケーブルでいもづる接続したものでした。これをLocalTalkと言います。

LocalTalk

 これに対して10Base-2、10Base-5等のイーサネットに接続された通信はEtherTalkと言います。

EtherTalk

 イーサネットが出始めの頃はまだLocalTalkも残っており、LocalTalkとEtherTalkを接続するために、当時はCayman社のGatorboxやShiva社のFastPathと言ったルーターが使われていました。

LocalTalkとEtherTalkの接続

ネットワーク番号

 AppleTalkのネットワーク番号はTCP/IPのネットワークアドレスに相当するものです。フェーズ1では1〜1024、フェーズ2では1〜65279までの番号が付けられます。

 フェーズ1ではルーターの1インターフェースに対して1つのネットワーク番号だけ割り当て可能でしたが、フェーズ2では複数のネットワーク番号が割り当て可能になりました。これをケーブルレンジ、又はネットワークレンジと言います。

 ケーブルレンジでは、例えば2〜10までのネットワーク番号をルーターの1インターフェースに割り当てる事になります。このため、フェーズ1ではルーターが接続されたハブの先に、利用出来るノード番号を越えるMacintoshが接続されていると対応出来ませんでしたが、フェーズ2ではケーブルレンジが使える事でこの制限がなくなりました。

 つまり、あるハブに接続されたMacintoshはネットワーク番号2でノード番号10ですが、同じハブに接続された別のMacintoshはネットワーク番号3でノード番号10となったりします。ここはTCP/IPと大きく違う概念に思えるかもしれませんが、AppleTalkではサブネットマスクの代わりにケーブルレンジで接続出来る機器の数を調整可能にしています。

ケーブルレンジの概念

 TCP/IPではルーターにIPアドレスを設定する際、IPアドレスとサブネットマスクを設定しますが、AppleTalkの場合は2〜4等ケーブルレンジを設定します。

 ノード番号と合わせてアドレス全体を表記すると「ネットワーク番号.ノード番号」で「100.200」等と表記されます。

RTMPとAURP

 AppleTalkのルーティング情報のやりとりはRTMPやAURPが行います。

 TCP/IPのRIPのようにケーブルレンジやホップ数等のやりとりを行い、ルーティングテーブルを作成します。

 RTMPは定期的にルーティング情報をブロードキャストしますが、AURPはトリガーアップデートと言って、ルーティング情報に変更があった時だけ送信します。

 このため、RTMPは所内のルーター間で使い、AURPはISDN等の課金が発生する事業所間での通信に用いられていました。

RTMPとAURPの違い

 ISDN等の通信が発生する度にお金がかかる回線では、RTMPを利用すると常時課金されてしまいますが、AURPではルーティング情報に変更があった時しか通信を行わないため、課金が少なくて済むためです。

ゾーン

 AppleTalkにはゾーンという概念があります。今で例えるとWindowsのワークグループのようなものです。

 Macintoshは最初の起動時に1つのゾーンに属するようになります。ネットワークに1つしかゾーンがない場合は変更出来ませんが、複数のゾーンがある場合はゾーンを選択出来ます。

 ゾーンはWindowsのワークグループのようにグループ分けに利用され、通信開始時に通信相手のゾーンを選択後、対象のホスト名を選択する事で通信可能になります。このため、自身が属するゾーンの選択が間違っていると、通信相手が探すのが困難になります。

 ゾーンは1つのケーブルレンジに複数のゾーンを作成出来ます。

1つのケーブルレンジに複数のゾーンを設定した例

 ルーターを跨ったり離れた場所を同じゾーンにする事も可能です。

ルーターを跨ったゾーンの例

 又、ルーター間はゾーン情報をZIP(Zone Information Protocol)でやりとりして教え合うため、ルーティング情報のように1つのルーターで定義されたゾーンは異なるルーターでも認識されます。ルーターでルーティングテーブルを持っているようにゾーン情報もZIT(Zone Information Table)というテーブルを持っており、Macintoshからの要求に応じて回答するため、Macintoshではゾーンの一覧を表示出来ます。

【ZITの例】
ケーブルレンジ ゾーン
2〜4 sales
2〜4 personnel
5〜6 support

 ゾーン名をルーターに設定する時は、ケーブルレンジの設定に対して1つ、又は複数のゾーン名を設定します。又、ゾーン名は大文字と小文字が区別されません。

シードルーターとノンシードルーター

 これまでルーターでケーブルレンジとゾーン名の設定を行うと説明しましたが、設定を行うルーターをシードルーターと言います。

 AppleTalkでは設定を行わないルーターがあり、これをノンシードルーターと言います。

 ノンシードルーターはシードルーターからケーブルレンジやゾーン情報を受信し、Macintoshにゾーン情報を教えたりルーティング出来るようになります。このため、1つのケーブルレンジに1つのシードルーターが必要です。

シードルータとノンシードルータの違い

 ノンシードルーターはシードルーターから情報を貰うまではルーティング等が出来ませんが、一度起動した後にシードルーターがダウンしても情報がなくなるという事はありません。ノンシードルーターでは設定はノンシードルーターと設定するだけです。又、デフォルトでノンシードルーターになっている機器は設定なしで使えます。

 このため、ノンシードルーターは多数のルーターを接続する場合に、設定なしで増設、又は設定ミスを防ぐ為に利用出来ます。

実際の通信

 Macintoshが起動されるとブロードキャストによりノード番号が決定されます。又、ルーターからネットワーク番号や選択出来るゾーンの情報が送信され、必要に応じて所属するゾーンを選択する事でネットワーク番号と所属するゾーンが決まります。

 Macintoshではセレクタを起動するとルーターとZIPのやりとりを行い、通信可能なゾーンの情報を得て一覧で表示します。

セレクタでのゾーン一覧表示

 セレクタでゾーンとデバイス(サーバーやプリンター等)を選択すると、ホスト名一覧を表示するためにNBPというプロトコルを送信します。

 選択したゾーンで同じケーブルレンジに接続されたMacintoshやプリンターはNBPに応答するため、応答した機器のホスト名一覧が表示出来ます。

 又、選択したゾーンが異なるケーブルレンジにある場合、ルーターによって対象機器が接続されたルーターまで転送されます。対象のケーブルレンジを設定しているルーターまで届くと、対象のゾーンに属する各Macintoshやプリンターが応答するため、ルーターの先にあるホスト名一覧も表示可能です。

セレクタでのホスト名一覧表示

 ホスト名を選択すると必要に応じてAARPでMacアドレスを解決し、DDPパケットで通信します。通信先がルーターの先にいる場合はルーターに送信し、ルーターがルーティングを行って通信を開始します。DDPはTCP/IPのIP層と同等の役割をしていて、ネットワーク番号等の情報でカプセル化するため、ルーターがルーティング出来るようになります。

 通信開始後は印刷したり、ファイルサーバーや端末であればIDやパスワードを入力してロンイン後ファイル共有が可能となり、リモートホストのファイルをローカルディスクのイメージで使う事が出来るようになります。

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