ONC+ 開発ガイド

ニックネームとクロック同期

最初のトランザクションの後で、サーバの AUTH_DES 認証サブシステムからクライアントへのベリファイアの中に整数値のニックネームが返されます。クライアントは以降のトランザクションで、ネットワーク名、暗号化された DES キー、ウィンドウを毎回渡す代わりに、ニックネームを使用できます。ニックネームは、サーバが各クライアントのネットワーク名、復号化された DES キー、ウィンドウを保存しているテーブルのインデックスのようなものですが、クライアントからは隠されたデータとしてしか使用できません。

クライアントとサーバのクロックは最初は同期していても、やがて同期が壊れることがあります。その場合、クライアント側の RPC サブシステムは RPC_AUTHERROR を受け取りますので、その時点で再び同期を取る必要があります。

クライアントとサーバの時刻が同期していてもクライアントが RPC_AUTHERROR を受け取ることがあります。その原因は、サーバのニックネームテーブルの大きさには制限があり、足りなくなるとエントリが失われることがあるためです。その場合、クライアントは元の認証証明を再送信しなければなりません。サーバはそれに新たなニックネームを割り当てます。もしもサーバがクラッシュすると、ニックネームテーブル全体が失われ、全クライアントが元の認証証明を再送信しなければなりません。