ネットワークインタフェース

straddr.so ライブラリ

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 にサービス名がそれぞれ定義されていなければなりません。どちらか一方でも欠けると、名前からアドレスへの変換が失敗します。