NIS クライアントは、バインドプロセスによって NIS サーバーに接続されます。svc:/network/nis/client および svc:/network/nis/domain サービスは、このバインドプロセスをサポートしています。いずれかの NIS サービスを動作させるには、これらのサービスを有効にする必要があります。svc:/network/nis/client サービスは、サーバーリストまたはブロードキャストの 2 つのモードのどちらかで動作できます。
サーバーリスト – サーバーリストモードでは、ypbind プロセスは、svc:/network/nis/domain サービスでドメイン内のすべての NIS サーバーの名前を照会します。ypbindプロセスは、このファイルに存在するサーバーにだけバインドされます。
svccfg コマンドを使用して、NIS サーバーをいずれかのドメインに追加できます。これらは、svc:/network/nis/domain サービス内の config/ypservers プロパティーに追加されます。各プロパティー値が特定の NIS サーバーを表します。
さらに、NIS のバインドが機能するには、svc:/network/nis/domain サービスで指定されているすべてのサーバー名のエントリが /etc/inet/hosts ファイル内に含まれている必要があります。
ブロードキャスト – ypbind プロセスはまた、RPC ブロードキャストを使用してバインドを開始することもできます。ブロードキャストはそれ以上ルーティングされないローカルサブネットのイベントでしかないため、クライアントと同じサブネット上に少なくとも 1 台のサーバー (マスターまたはスレーブ) が存在する必要があります。マップの伝播はサブネット境界を超えて機能するため、これらのサーバー自体が異なるサブネットワークにわたって存在する可能性があります。サブネット環境での 1 つの一般的方法は、NIS サーバーとしてサブネットルーターを使用することです。これにより、ドメインサーバーはどちらかのサブネットインタフェース上でクライアントにサービスを提供できます。
ブロードキャストモードは一般に、推奨される動作モードです。ブロードキャストモードでは、追加のホストエントリを指定したり、/etc/inet/hosts を変更したりする必要はありません。
通常、クライアントはサーバーにバインドされたあと、何らかの原因でバインドが変更されるまで、そのサーバーにバインドされたままになります。たとえば、サーバーがサービスを提供できなくなると、このサーバーがサービスを提供していたクライアントは、新しいサーバーにバインドされます。
特定のクライアントに現在、どの NIS サーバーがサービスを提供しているかを判定するには、次のコマンドを使用します。
% ypwhich machinename
ここで、machinename はクライアントの名前です。マシン名が指定されていない場合、ypwhich コマンドはデフォルトで、そのコマンドが実行されているローカルマシンを使用します。
サーバーリストモードでは、バインドプロセスは次のように動作します。
NIS マップによって提供される情報を必要としている、NIS クライアントマシン上で実行されているいずれかのプログラムが ypbind デーモンにサーバーの名前をリクエストします。
ypbind デーモンは、/var/yp/binding/domainname/ypservers ファイルでドメインの NIS サーバーのリストを検索します。
ypbind デーモンが、リスト内の最初のサーバーへのバインドを開始します。先頭サーバーが応答しない場合、ypbind はサーバーが見つかるまで、あるいは NIS サーバーリストの最後に達するまで、2 番目以降のサーバーへのバインドを順に試みます。
ypbind デーモンは、サーバーに関する情報をクライアントプロセスに送信します。次に、クライアントプロセスが直接、サーバーに要求を送信します。
ypserv デーモンは、リクエストされた情報をクライアントに送り返します。
ブロードキャストモードでは、バインドプロセスは次のように動作します。
ypbind デーモンが、NIS サーバーを検索するために RPC ブロードキャストを発行します。
ypbind デーモンが、ブロードキャストに応答した最初のサーバーへのバインドを開始します。
ypbind デーモンは、サーバーに関する情報をクライアントに送信します。次に、クライアントプロセスが直接、サーバーに要求を送信します。
ypserv デーモンは、リクエストされた情報をクライアントに送り返します。