AppleTalk

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.2Bonjour(当時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.6AppleTalkのサポートが終了しました。

物理層データリンク層



初期には物理層の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: 時刻合わせのためのプロトコルです。

OSI参照モデルとの関係



  • - ゾーン情報の取得: 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


出典



(ここに参考文献などを記載)

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。