Digital Audio Access Protocol
Digital Audio Access Protocol(デジタル・オーディオ・アクセス・プロトコル、略称 : DAAP)は、ローカルネットワークで楽曲を共有するためのAppleによってiTunes上に実装されたプロプライエタリな通信プロトコルである。
概説
[編集]DAAPプロトコルはiTunes バージョン4ではじめて実装された。[1] Appleは公式にはプロトコルの詳細を公開しなかったが、リバースエンジニアリングによってiTunes以外のプラットフォームでもDAAPが利用できるようになった。しかし最近になって[いつ?]Appleは商用の実装に対してはプロトコルの詳細をライセンスするようになった。[2]
DAAPサーバーは特殊なHTTPサーバーであると言え、曲の一覧を提供し、リクエストされた音楽をクライアントへ送信するという2つの機能を有する。また、サーバーにおける変更をクライアントへ通知する機能もある。クライアントによるリクエストはURLの形で送られ、レスポンスはMIMEタイプがapplication/x-dmap-tagged であるデータの形で返される。このデータはクライアント側でXMLに変換できる。iTunesはBonjourとしても知られるZeroConfサービスを用いてローカルサブネット上のDAAPのアナウンスや発見を行う。DAAPはTCPのポート番号3689番をデフォルトで使用する。[3]
DAAPはAppleが今までにリリースしたメディアの共有手段2つのうちの1つである。もう一方のDigital Photo Access Protocol (DPAP) はiPhotoによって使用されている。双方とも基礎的なプロトコルであるDigital Media Access Protocol (DMAP) に依存している。
初期のiTunesはインターネット上で共有されたものに対しても接続できたが、新しいバージョンでは同じサブネットに存在するコンピューターとしか共有できない。しかし、依然としてポートトンネリングなどの方法は利用できる。The RegisterはAppleがこのような制限を課した理由はレーベルからの圧力にあると推測している。[4] さらに新しいバージョンでは24時間で5つのユニークなIPアドレスにクライアントを制限している。
DAAPはBanshee、Amarok、Exaile (要プラグイン)、Songbird (要プラグイン)、Rhythmbox、WiFiTunesなどのiTunes以外のメディアプレイヤーでも実装されている。
DAAPの認証
[編集]iTunes 4.2から、AppleはDAAPに対して認証機構を追加した。これはiTunesに接続できるクライアントはiTunesに限られるということである。iTunes 4.5からは、以前用いられていたMD5に変わって独自のハッシュアルゴリズムを用いるようになった。両方ともリリースから数ヶ月以内にリバースエンジニアリングに成功した。[5]
iTunes 7.0からは、7.0のサーバーに接続する際に新たに'Client-DAAP-Validation'ヘッダが必要になった。これはサードパーティーのDAAPサーバーには影響しないが、全てのクライアント(7.0以前の公式なiTunesも含む)は'403 Forbidden'エラーによって7.0サーバーに接続できなくなった。iTunes 7.0のトラフィック解析によれば、'Client-DAAP-Validation'ヘッダー内で送られたハッシュを計算するために証明書が交換されていると示されている。
2009年9月まで、iTunes 7.0の認証機構は破られていない。つまり、iTunes 7.x 8.x 9.xのサーバーからストリームを受信できるクライアントは存在しない。
クライアント
[編集]名称 | プラットフォーム | 種類 |
---|---|---|
AmaroK | linux, mac, win | 活動中 |
Banshee | linux, mac | 活動中 |
FireflyClient | * (only JRE req) | 本家 |
FirePlay | win | 活動中 |
Get it together | ? | 休止中 |
iTunes | mac, win | 本家 |
Rhythmbox | linux | 活動中 |
Roku Soundbridge and Radio | device | 活動中 |
Winamp DAAP Client plugin | win | プラグイン |
WifiTunes | PocketPC | 休止中 |
Songbird plugins | linux, mac, win | プラグイン |
SoundBox | mac, win | 活動中 |
Silverplay | * (only Silverlight req) | 活動中 |
関連項目
[編集]外部リンク
[編集]- OpenDAAP forum
- Unofficial DAAP protocol documentation
- DAAP, a C++ implementation of DAAP. (no longer developed)
- libopendaap, a C implementation of DAAP
- DAAPD, another implementation of DAAP on Unix.
- Firefly DAAP Media Server, implementation of the DAAP protocol (both video and audio) for Windows, Linux, Mac OS X and Mobile OS X (iPod touch and iPhone). No longer maintained.
- forked-daapd, a rewritten version of Firefly Media Server for Linux currently under development.
- Tangerine, C# based DAAP server which runs on Linux, Windows, and Mac OS X.
- iTunes 7.0 traffic analysis
脚注
[編集]- ^ "Unofficial DAAP protocol documentation" by Daniel Garcia, retrieved December 2, 2006
- ^ "Open DAAP forum", retrieved December 2, 2006
- ^ "Well Known Port Numbers" by IANA, November 30, 2006, retrieved December 2, 2006
- ^ "Apple halts iTunes' Internet sharing ability" by Tony Smith, The Register, May 28, 2003, retrieved August 31, 2006
- ^ " iTunes 4.5 Authentication Cracked", April 29, 2004, retrieved March 12, 2007