straddr.so ライブラリで使用する名前からアドレスへの変換ファイルは、システム管理者が作成し、保守します。straddr.so ファイルには、/etc/net/transport-name/hosts と /etc/net/transport-name/services があります。transport-name は、文字列アドレス (/etc/netconfig ファイルの network ID フィールドに指定したもの) を受け入れるトランスポートのローカル名です。たとえば、ticlts のホストファイルは、/etc/net/ticlts/hosts となり、ticlts のサービスファイルは、/etc/net/ticlts/services となります。
たいていの文字列アドレスは、ホストとサービスを区別しませんが、文字列をホスト部分とサービス部分とに分けると、他のトランスポートとの間で一貫性が保てます。/etc/net/transport-name/hosts ファイルには、ホストアドレスと見なされるテキスト文字列に続いて、ホスト名を定義します。たとえば、次のように定義します。
joyluckaddr joyluck carpediemaddr carpediem thehopaddr thehop pongoaddr pongo
ルックアップトランスポートの場合、他のホストを記述することには意味がありません。なぜなら、サービスは、それがインストールされているホスト以外で実行することはできないからです。
/etc/net/transport-name/services には、サービス名に続いて、サービスアドレスを特定する文字列を定義します。たとえば、次のように定義します。
rpcbind rpc listen serve |
ルーチンは、ホストアドレス、ピリオド (.)、およびサービスアドレスを結合して完全な文字列アドレスを作成します。たとえば、pongo での listen サービスのアドレスは、pongoaddr.serve になります。
このライブラリを使用するトランスポート上で、アプリケーションが特定のホスト上のサービスアドレスを要求する場合は、/etc/net/transport/hosts にホスト名が、/etc/net/transport/services にサービス名がそれぞれ定義されていなければなりません。どちらか一方でも欠けると、名前からアドレスへの変換が失敗します。