TCP/IP とデータ通信

追加情報の提供

2 番目の機能、すなわちアプリケーションレベルとシステムレベルの情報の配信を実行するにあたり、Solaris DHCP クライアントは別のプログラムの dhcpinfo(1) を使用します。エージェントはこれらのサービスについては何も知らないため、dhcpinfo が取り出すのを待機し、DHCP プロトコルを介して受け取った構成情報をすべて格納します。

dhcpinfo コマンドは、指定されたパラメータを用いてコマンド行の引数を解釈し、当該パラメータの値についてエージェントに問い合わせ、その結果を (人間が読める) テキストの文字列として標準出力に表示します。ただし、dhcpinfo の応答を主に使用するのはユーザーではなく Solaris の起動スクリプトです。シェルコマンドの置換や出力の切り替えの際にこの出力を容易に使用することができるからです。

DHCP が提供するデータは、ホスト全体についてのデータもあれば、インタフェース専用のデータもあります。DHCP が構成可能なインタフェースを 1 つだけ持つクライアントではこの違いは意味がありませんが、数多くのインタフェースをもつホストでは dhcpinfo パラメータに関する解釈の疑問が生じます。たとえば、エージェントが 2 つのインタフェースを構成可能であり、かつこの 2 つのインタフェースに対して戻された NIS+ ドメイン名が異なる場合があります。この状況は、インタフェースを 2 つのカテゴリ、すなわち主インタフェースと二次インタフェースに分けることによって解決することができます。

主インタフェースは、ホスト全体の構成の場合に優先されるインタフェースです。dhcpinfo は、値を尋ねられると主インタフェースに問い合わせます。インタフェース固有のデータの場合も同じように行われます。戻される値は、主インタフェースついて受け取ったデータになります。たとえば dhcpinfo は、IP アドレスを尋ねられると主インタフェースの IP アドレスを標準出力に表示します。ifconfig に対するコマンド行の引数によって、インタフェースを主インタフェースとして指定します。

dhcpinfo コマンドでは、その他のコマンド行オプションによってデフォルトの動作を無効にすることができます。それらのオプションのうちの 1 つを使用すると、インタフェース名を明示的に指定することができます。その場合、戻される値は当該インタフェースに対して DHCP が配信した値になります。

ホスト全体についてのデータの大部分は、Solaris クライアントを正常にブートするために非常に重要なので、1 つのインタフェースを主インタフェースとして指定すると、エージェントがその主インタフェースを構成できない限りシステムがブートできません。dhcpagent が主インタフェースの構成を完了するまで無期限に待機するように、コマンド行の引数によって ifconfig コマンドに命令します。