AppleTalk(アップルトーク)とは
AppleTalkは、主に
Apple製パソコンのMacintosh (Mac) で利用された
通信プロトコル群の総称です。AARP、DDP、RTMPなど、複数のプロトコルを組み合わせて使用する技術でした。
概説
AppleTalkは、TCP/IPとは全く異なるネットワークプロトコルです。初期のTCP/IPが複雑な設定を必要としたのに対し、
AppleTalkは「ケーブルを繋げばすぐ使える」ことを目指しました。しかし、基本的なフレームワークが異なり、相互互換性はありませんでした。TCP/IPが
32ビットの
IPアドレスを使用するのに対し、
AppleTalkは
24ビットのアドレス(
16ビットのネットワーク部と
8ビットのノードアドレス)を用いていました。
AppleTalk対応機器は、電源投入時やネットワーク接続時に
ブロードキャスト信号を送信し、自動的にアドレスとマシン名を割り当てます。また、ネットワーク上のファイル
サーバや
プリンターを自動的に発見できました。これにより、ユーザーは特別な設定をせずに
ファイル共有や印刷が可能でした。この自動設定機能は、当時のTCP/IPよりも先進的でしたが、ネットワークに大きな負荷をかけるという課題もありました。
インターネットの普及に伴い、TCP/IPが主流になると、
AppleTalkとの共存が必要になりました。しかし、プロトコルの構造が異なるため、複雑な設定が必要となり、専用の
ルーターも必要でした。一方で、TCP/IPも進化し、DHCPなどの自動設定プロトコルが登場しました。これは
AppleTalkのAARPやNBPを参考に開発されたと言われています。
現在、
Apple製品では
Bonjourが採用されており、
AppleTalkの自動設定と同様の機能をTCP/IP上で実現し、ネットワーク負荷を低減しています。
終焉
Mac OS X v10.2で
Bonjour(当時Rendezvous)が登場し、TCP/IP上で同等以上の機能が実現されたため、
AppleTalkの機能は徐々に縮小しました。
Mac OS X v10.5では
プリンター機能のみが残り、v10.6で完全にサポートが終了しました。
登場背景
Macintosh登場当初、WYSIWYG(What You See Is What You Get)を実現するために、画面表示の
解像度は72dpiに設定されていました。スケーラブルなイメージ表現には
QuickDrawが利用されていました。しかし、印刷にはより高
解像度が求められ、
プリンターには本体と同等のMPUとメモリが必要でした。そのため、
プリンターが高価になり、ワークグループで
プリンターを共有するために、ネットワーク環境の構築が急務となりました。
そこで、Macintoshに標準搭載されていた
シリアルポートのRS-422を物理媒体としたLANプロトコルとして、
AppleTalkが登場しました。
歴史
- - 1984年: 最初のAppleTalkが開発されました。
- - 1989年: AppleTalk Phase 2が公開され、大規模ネットワーク環境への対応が拡張されました。
- - その後、TCP/IPが主流となり、AppleTalk自体は大きな進化を遂げず、TCP/IPとの共存が一般的になりました。MacIPやIPTalkなどのカプセル化プロトコルも登場しましたが、現在では使用されていません。
- - サーバのブラウジングにはAppleTalkのNBPが使われていましたが、Mac OS 8.5以降はTCP/IPベースのSLPが、さらにMac OS X v10.2からはBonjourが採用されました。
- - プリンター共有にはAppleTalkのPAPが使われていましたが、Mac OS XからはLPR、IPP、SMB (CIFS) なども利用できるようになりました。
- - ファイル共有はAFP over TCPへと移行しました。
- - Mac OS X v10.6でAppleTalkのサポートが終了しました。
初期には
物理層のRS-422も含めて
AppleTalkと呼ばれていましたが、後に他の物理媒体も使えるようになったため、プロトコルと
物理層を分けて考えるようになりました。
物理層と
AppleTalkパケットの間には、LAP (Link-Access Protocol) と呼ばれる
データリンク層のプロトコルが存在します。
これらの
物理層では、IEEE 802.2によるLLC (Logical Link Control) を用いて
AppleTalkのパケットをカプセル化していました。これにより、LLCをサポートするさまざまな物理媒体が利用できるようになりました。
- - LocalTalk: 初期に使われたRS-422ベースの物理層。Farallon Computingの「PhoneNet」など、電話線を用いた接続方法も普及しました。
- - EtherTalk: イーサネットを利用したもので、現在AppleTalkが使われる場合はこのEtherTalkが主流です。ELAP (EtherTalk Link-Access Protocol) というデータリンク層プロトコルを使用します。
- - TokenTalk: トークンリングを用いたもので、TLAP (TokenTalk Link-Access Protocol) を使用します。
- - FDDITalk: FDDIを用いたもので、FLAP (FDDITalk Link-Access Protocol) を使用します。
- - IRTalk: Apple独自の赤外線ポートを用いたものです。
- - IrDA: より一般的なIrDA規格を用いた赤外線通信です。
- - IPTalk: IP上でAppleTalkのパケットをカプセル化するプロトコルです。
- - 無線LAN: IEEE 802.11による無線LANでは、EtherTalkと同様にAppleTalkが利用可能です。
- - 電話回線: ARA (Apple Remote Access) やOpen Transportを用いて、電話回線経由でAppleTalk接続が可能でした。ARAPやPPPプロトコルが使用されました。
各プロトコル
ユーザー側からは
ファイル共有のAFPや印刷のPAPが有名ですが、実際には多くのプロトコルが組み合わさって動作しています。最低限、
ネットワーク層のDDPとAARPが動作することで
AppleTalkが機能します。その他のプロトコルはこれらを基盤に動作します。
- - AARP: AppleTalk Address Resolution Protocol。ノードアドレスと物理アドレスのマッピングを行います。
- - DDP: Datagram Delivery Protocol。データグラムを配送するネットワーク層プロトコルです。
- - RTMP: Routing Table Maintenance Protocol。DDPパケットのルーティングに使われます。
- - AEP: AppleTalk Echo Protocol。DDP上でechoを送受信します。
- - NBP: Name Binding Protocol。ノード名とアドレス名の解決を行います。
- - ZIP: Zone Information Protocol。ネットワークとAppleTalk Zoneのマッピングを行います。
- - ATP: AppleTalk Transaction Protocol。トランザクションを実現するトランスポート層プロトコルです。
- - PAP: Printer Access Protocol。プリンタ共有のためのセッション層プロトコルです。
- - ASP: AppleTalk Session Protocol。高位のネットワークサービスを提供します。
- - ADSP: AppleTalk Data Stream Protocol。全二重通信を実現します。
- - AFP: AppleTalk Filing Protocol。ファイル共有のためのプロトコルです。TCP/IPに移植され、Apple Filing Protocolとなりました。
- - AURP: Appletalk Update-Based Routing Protocol。AppleTalkのルーティングをWANに拡張します。
- - MacIP: AppleTalk上でIPパケットをカプセル化するプロトコルです。
- - Timelord Protocol: 時刻合わせのためのプロトコルです。
- - ゾーン情報の取得: ZIP over DDP
- - 他のノードの発見: NBP over DDP
- - プリンタへの印刷: PAP over ATP over DDP
- - ファイル共有: AFP over ASP over ATP over DDP (AFP over TCPはApple Filing Protocol参照)
セレクタ
Mac OS 9までのアプリケーション「Chooser」や、
Mac OS X v10.4までの「ネットワーク」は、他のノードを発見するためにNBPによる
ブロードキャスト信号を常時送信していました。このため、開いたままにするとネットワークトラフィックが増加するという問題がありました。
AppleTalkはTCP/IPとは構造が異なるため、遠隔地への接続には専用の
ルーターが必要でした。
ルーター接続時には「ゾーン名」の設定が必要でした。
Unix系OSには、netatalkというパッケージがあり、Macintoshのファイル
サーバ/プリント
サーバとして利用できました。また、Windows NT以前の
NetWareや、Windows
サーバ製品でも
AppleTalkがサポートされていました。
外部リンク
- - Inside Macintosh:Networking
- - Inside AppleTalk Second Edition (pdf)
- - AppleTalk Filing Protocol Version 2.1 and 2.2 (pdf)
- - RFC 1243 - AppleTalk Management Information Base
- - RFC 1742 - AppleTalk Management Information Base II
- - RFC 1378 - The PPP AppleTalk Control Protocol (ATCP)
- - RFC 1504 - Appletalk Update-Based Routing Protocol: Enhanced Appletalk Routing
- - System 7.x.x: AppleTalk and ADSP Versions
- - 株式会社インテリジェントワークス/技術情報 - Apple Talkのプロトコル
- - Internetworking Technology Handbook - Apple Talk - Cisco Systems
- - Apple Talk Protocol suite
- - CITES UIUCnet documentation: AppleTalk on the Urbana-Champaign Campus
- - AppleTalk Directory & Informational Resource
関連項目
- - Apple Filing Protocol
- - Bonjour
- - TCP/IP
- - MacTCP
- - Open Transport
- - AppleShare
- - MacIP
- - IPTalk (通信)
- - CAP
- - netatalk
出典
(ここに参考文献などを記載)