Columbia AppleTalk Package

Columbia AppleTalk Package (CAP) について



Columbia AppleTalk Package(CAP)は、UNIXおよびUnix系オペレーティングシステム(OS)上でAppleTalkプロトコルを実装するためのソフトウェアです。また、このソフトウェアで用いられたファイル名のエンコーディング方式も指します。CAPは、コロンビア大学で開発されたオープンソースソフトウェアでしたが、現在はサポートが終了しています。

ソフトウェアとしてのCAP



CAPをUNIXマシンにインストールすることで、そのマシンをMacintoshのファイルサーバやプリントサーバとして利用することが可能になりました。また、CAPには、UNIX側に`timelord`、Macintosh側に`tardis`というソフトウェアをインストールすることで、UNIXマシンを時刻同期サーバとして機能させる機能も備わっていました。これらのソフトウェア名は、英国のテレビドラマ「ドクター・フー」に由来しています。

CAPは、AppleTalkの主要なプロトコルであるDDP、RTMP、NBP、ZIP、ATP、PAP、ASP、AFPを実装していました。一般的なUNIXマシンはRS-422ポートを持たず、イーサネットポートのみを搭載していたため、イーサネット上でAppleTalkを実装するEtherTalkが利用されました。EtherTalkが利用できない環境では、IP上でAppleTalkをカプセル化するIPTalkが使用されました。さらに、後期にはAFP over TCPを可能にするパッチも公開され、AppleTalkを使用せずにTCP/IP上でファイル共有を行うことができるようになりました。

CAPはmacOSが登場する前にサポートが終了しており、AFP 2.xまでの機能しか利用できません。現在では、同等の機能を提供するnetatalkがAFP 3.xをサポートし、継続的に開発が行われています。

CAPエンコーディング



Mac OS 9までのMac OSでは、ファイル名文字コードは各言語版ごとに異なっていました。英語版ではMacRoman、日本語版ではMacJapanese、韓国語版ではMacKoreanといった具合です。これらの文字コードUNIX上のファイルシステムで使用される文字コードとは異なるため、CAPでは8ビットの文字を「:」+「16進数」の形式でエンコードする方式が採用されました。

しかし、現代のWindows、Mac OS、UNIXではファイル名UnicodeUTF-16UTF-8)が広く使用されるようになったため、CAPエンコーディングの必要性は低下しています。

エンコーディング方法の詳細


例えば、MacRomanにおける「ä」(aウムラウト)の文字コードは16進数で0x8aなので、「:8a」とエンコードされます。一方、2バイト文字コードであるMacJapaneseでは、1バイト目と2バイト目がそれぞれ個別に処理されます。「人」の文字コードが16進数で0x90 0x6cである場合、1バイト目は8ビットなので「:90」とエンコードされ、2バイト目は7ビットなのでエンコードされずにASCIIの「l」となり、結果として「:90l」とエンコードされます。

このエンコーディング方法は、CAPのサポートが終了した現在でも、様々な場面で利用されています。

sambaでの実装



samba 2.xでは、CAPとHEXのエンコーディング方式が利用可能でした。CAPはCAP互換のエンコーディングであり、HEXは2バイト目も必ず16進数にするエンコーディングです。例えば、CP932の「人」はHEXでは「:90:6c」と表現されます。

samba 3.xではCAPのみがサポートされ、HEXのサポートは終了しましたが、HEXをサポートするためのパッチは存在します。

netatalkでの実装



netatalk 1.xはCAPをサポートしていたため、samba 2.xとnetatalk 1.xの間でファイル名を共通に扱うことができました。ただし、CP932とMacJapaneseの間で異なる機種依存文字は正しく処理できませんでした。

netatalk 2.xでは、1.xとの互換性を保つためにCAPを扱うことができますが、実際には実装が追いつかず、HEXエンコーディングとして処理されるため、2バイト文字ではnetatalk 1.xとの互換性がありません。

カーネルでの実装



Linuxでは、`hfs.o`や`hfs.ko`といったカーネルモジュールを使用することでHFSファイルシステムをマウントすることができます。この際、ファイル名はCAP形式で扱われます。このCAP形式のファイル名をsambaやnetatalk 1.xで公開することで、Microsoft WindowsやMac OSからでもファイル名を正しく扱うことが可能となります。

外部リンク



CAPはサポートが終了していますが、以下のftpサイトから現在でも入手可能です。

ftp://munnari.oz.au/mac/ - 現在も入手可能

関連項目



AppleTalk
Apple Filing Protocol
IPTalk (通信)

もう一度検索

【記事の利用について】

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

【リンクついて】

リンクフリーです。