So-net無料ブログ作成
検索選択

afpかafpovertcpか [macOS]

一般にafpと呼びますが、場合によってはafpovertcpと呼ぶ場合もあります。その使い分けを考えてみました。

AppleTalkベースのときは、
AFP over ASP over ATP over DDP
TCP/IPベースのときは、
AFP over DSI over TCP over IP
という構造になっています。
どちらにしろAFPは同じプロトコルです。ASPをDSIに差し替える事で違いを吸収しているのです。

afpovertcpは、その名の通りTCP/IPベースを示すものです。
port 548はDSI以上で使われるので、AFPというよりもDSIを示していると考えた方がいいかもしれません。ただ、仕様書上でもAFPとDSIの区別がはっきりしていない部分があります。

URL表記するときは、

afp:/at/servername (AppleTalk)
afp://servername (TCP/IP)


という風に、スキーマは同じafpを使っています。同じプロトコルだからでしょう。その後の部分でAppleTalkとTCP/IPを区別しています。

SLPでは、URL表記でデータ交換するので、やはりafpという文字列が使われています。

afp://192.168.1.11/?NAME=servername&ZONE=


という感じの文字列が交換されています。
従ってOpenSLPに静的登録するときは、設定ファイルでafpという文字列を使います。

IANAではport 548にafpovertcpを割当てています。
http://www.iana.org/assignments/port-numbers
TCP/IPベースであることを明示する為の名称でしょう。

これに倣って、UNIX系OSでの/etc/servicesファイルではafpovertcpになっています。

afpovertcp      548/tcp      #AFP over TCP
afpovertcp      548/udp

Bonjour等で使われるDNS SRV service typeでも、_afpovertcpを使っています。これもTCP/IPベースに限った表現ですね。
DNS SRV (RFC 2782) Service Types
従って、howlやavahiの設定ファイルでは、afpovertcpを使います。

"servername"    _afpovertcp._tcp  local.  548
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name replace-wildcards="yes">%h</name>
  <service>
    <type>_afpovertcp._tcp</type>
    <port>548</port>
 </service>
</service-group>

ところで、AFPが何の略語かというと、バージョンによって違います。

Inside AppleTalk Second Edition (pdf)
初期のAFP1.1/2.0はAppleTalkの解説書での名称はAppleTalk Filing Protocolです。当時はAppleTalkのみでAFPが使えました。

AppleTalk Filing Protocol Version 2.1 and 2.2 (pdf)
次に発表されたAFPはAppleTalkとTCP/IPの両対応になりました。AFP2.1がAppleTalkベースで、AFP2.2がTCP/IPベースです。
これの解説書のタイトルでもAppleTalk Filing Protocolのままです。

Apple Filing Protocol Programming Guide
Apple Filing Protocol Reference
最新のAFP3.xの仕様書のタイトルはApple Filing Protocolです。AppleTalkを捨てて完全にTCP/IPに移行したので、AppleTalkからAppleに変えてしまったのですね。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:[必須]
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0