AppleTalk
AppleTalkについて説明したページです。
AppleTalkの概要
AppleTalkはApple社のパソコンであるMacintoshで使われていたTCP/IPとは別のプロトコルです。
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と殆ど同じでキャッシュも行います。
LocalTalkとEtherTalk
初期のAppleTalkはMacintosh間を独自のケーブルでいもづる接続したものでした。これをLocalTalkと言います。
これに対して10Base-2、10Base-5等のイーサネットに接続された通信はEtherTalkと言います。
イーサネットが出始めの頃はまだLocalTalkも残っており、LocalTalkとEtherTalkを接続するために、当時はCayman社のGatorboxやShiva社のFastPathと言ったルーターが使われていました。
ネットワーク番号
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等の課金が発生する事業所間での通信に用いられていました。
ISDN等の通信が発生する度にお金がかかる回線では、RTMPを利用すると常時課金されてしまいますが、AURPではルーティング情報に変更があった時しか通信を行わないため、課金が少なくて済むためです。
ゾーン
AppleTalkにはゾーンという概念があります。今で例えるとWindowsのワークグループのようなものです。
Macintoshは最初の起動時に1つのゾーンに属するようになります。ネットワークに1つしかゾーンがない場合は変更出来ませんが、複数のゾーンがある場合はゾーンを選択出来ます。
ゾーンはWindowsのワークグループのようにグループ分けに利用され、通信開始時に通信相手のゾーンを選択後、対象のホスト名を選択する事で通信可能になります。このため、自身が属するゾーンの選択が間違っていると、通信相手が探すのが困難になります。
ゾーンは1つのケーブルレンジに複数のゾーンを作成出来ます。
ルーターを跨ったり離れた場所を同じゾーンにする事も可能です。
又、ルーター間はゾーン情報をZIP(Zone Information Protocol)でやりとりして教え合うため、ルーティング情報のように1つのルーターで定義されたゾーンは異なるルーターでも認識されます。ルーターでルーティングテーブルを持っているようにゾーン情報もZIT(Zone Information Table)というテーブルを持っており、Macintoshからの要求に応じて回答するため、Macintoshではゾーンの一覧を表示出来ます。
ケーブルレンジ | ゾーン |
---|---|
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やパスワードを入力してロンイン後ファイル共有が可能となり、リモートホストのファイルをローカルディスクのイメージで使う事が出来るようになります。