Solaris のシステム管理 (第 3 巻)

IPv6 ステートレスアドレス自動設定

ホストでは、IPv6 のインタフェースの自動設定を数ステップかけて決定します。自動設定プロセスでは、リンクローカルアドレスの作成、リンク上の一意性の検査、どのような情報を自動設定するか (アドレス、その他情報、または両方)、そしてアドレスの場合、ステートレス機構で取得するか、ステートフル機能で取得するか、あるいはその両方で取得するかの決定が行われます。ここでは、リンクローカルアドレスの生成手順、ステートレスアドレス自動設定によるサイトローカルアドレスとグローバルアドレスの生成手順、そして重複アドレス検出手順について説明します。

ステートレス自動設定の条件

IPv6 では、ステートフルとステートレスのアドレス自動設定機構を定義しています。ステートレス自動設定では、手動によるホストの設定は不要です。ルーターは最小限の設定 (あれば) ですみ、サーバーの追加も不要です。ステートレス機構では、ローカルに取得できる情報とルーターが通知する情報を利用してホストがそれぞれのアドレスを生成できます。ルーターはリンクに関連付けられたサブネットを識別するプレフィックスを通知します。ホストはサブネット上で一意にインタフェースを識別するインタフェース識別子を生成します。アドレスはこの 2 つを組み合わせて作ります。ルーターがない場合、ホストはリンクローカルアドレスだけを生成します。ただし、同じリンクに接続されたノード間の通信では、リンクローカルアドレスで十分です。

ステートフル自動設定モデル

ステートフル自動設定モデルでは、ホストはインタフェースアドレスや設定情報とパラメータをサーバーから取り込みます。サーバーでは、どのホストにどのアドレスが割り当てられたかを保存したデータベースを管理します。ホストは、ステートフル自動設定プロトコルを利用してアドレスや設定情報、またはその両方をサーバーから取り込むことができます。ステートレス自動設定とステートフル自動設定は互いに補完し合います。たとえば、ホストでは、ステートレス自動設定でアドレスを設定し、ステートレス自動設定でその他の情報を取り込みます。

ステートレス方式とステートフル方式をいつ使用するか

ホストが使用するアドレスが一意で正しくルートできればアドレスを厳密に知る必要はない場合に、ステートレス方式を使用します。正確なアドレス管理に対してサイトで厳しく管理する必要がある場合に、ステートフル方式を使用します。ステートフルとステートレスのどちらのアドレス自動設定も同時に使用できます。サイト管理者は、ルーター通知メッセージのフィールドの設定を通じて、どの方式の自動設定を使用するかを指定します。

IPv6 アドレスは、一定の時間 (場合によっては無限に) インタフェースにリースされます。各アドレスには、アドレスがどれだけの時間、インタフェースに結合されるかを示す寿命があります。寿命が尽きると、結合 (とアドレス) が無効になり、そのアドレスを別のインタフェースに割り当てることができます。アドレス結合の終了を効率的に行うため、アドレスはインタフェースに割り当てられた状態で 2 つの別々のフェーズを経ます。最初、アドレスには優先権が与えられ、任意に通信ができます。次に、アドレスの現在のインタフェース結合が無効になるという前提から、優先順位が下がります。優先順位が低い状態で、アドレスを使用するのは避けるべきですが、使用できないわけではありません。新しい通信 (たとえば、新しい TCP 接続の開始など) ではできるだけ優先順位の高いアドレスを使用します。優先順位の低いアドレスは、そのアドレスを使用中のアプリケーションにおいて、サービスを打ち切らないと別のアドレスに切り替えるのが困難なアプリケーションだけに使用します。

重複アドレスの検出アルゴリズム

所定のリンクにおける設定済みアドレスをすべて一意にするため、インタフェースにアドレスを割り当てる前に、ノードは重複アドレス検出アルゴリズムを実行します。ステートレスとステートフルのどちらの自動設定で得られたアドレスにも重複アドレス検出アルゴリズムは実行されます。

このマニュアルで指定する自動設定プロセスは、ホストにだけ適用し、ルーターには適用しません。ホストの自動設定では、ルーターが通知した情報を使用するため、ルーターは別の手段で設定する必要があります。ただし、このマニュアルで説明した機能により、ルーターによってリンクローカルアドレスが生成される場合があります。また、インタフェースに割り当てられる前のすべてのアドレスにおいて、ルーターによる重複アドレス検出手順が済んでいる場合もあります。

IPv6 プロトコルの概要

ここでは、インタフェース自身の自動設定の概要について説明します。自動設定が行われるのはマルチキャスト対応リンクだけです。たとえばシステム起動時など、マルチキャスト対応インタフェースが使用可能な状態で開始します。ノード (ホストとルーターの両方) では、そのインタフェースのリンクローカルアドレスを生成して自動設定プロセスを開始します。リンクローカルアドレスは、インタフェースの識別子を既知のリンクローカルプレフィックスに追加して作成します。

ただし、リンクローカルアドレスをインタフェースに割り当てて使用する場合、この仮アドレスが別のノードやリンクで使用されていないことを確認する必要があります。特に、宛先が仮アドレスになっている近傍要請メッセージを送信するときは注意してください。別のノードが目的のアドレスを使用済みの場合、近傍要請でその旨を伝える内容が戻ります。近傍要請送信や再送の数と、連続した要請間の遅延はリンクによって異なり、システム管理で設定できます。

ノードにおいて、仮リンクローカルアドレスが一意でないことがわかると自動設定が打ち切られるため、手動でインタフェースを設定する必要があります。管理者が代替インタフェース識別子を提供してデフォルト識別子を無効にします。新しい (一意と思われる) インタフェース識別子を利用して自動設定機構を実行すると、簡単にこの状態から復帰できます。そうでなければ、リンクローカルアドレスとその他のアドレスは手動で設定します。

ノードにおいて仮リンクローカルアドレスが一意であると判定されると、インタフェースに割り当てられます。このとき、ノードは近傍ノードと IP レベルで接続されます。自動設定手順の残りは、ホストだけで実行されます。

ルーター通知の受信

自動設定の次の手順では、ルーター通知を受信するか、ルーターが存在しないことを確認します。ルーターがあれば、ホストが実行すべき自動設定の種類を指定したルーター通知が送信されます。ルーターがない場合、ステートフル自動設定が呼び出されます。

ルーターはルーター通知を定期的に送信しますが、連続した送信と送信の間の遅延は、自動設定を実行するホスト側の待機時間より通常は長くなります。通知を迅速に受信するため、すべてのルーターマルチキャストグループに 1 つまたは複数のルーター要請を送信します。ルーター通知には 2 つのフラグがあり、どのようなステートフル自動設定 (あれば) を実行すべきかを表します。管理アドレス設定フラグは、アドレスの取得時にホストがステートフル自動設定を使用するかどうかを表します。もう 1 つのステートフル設定フラグは、その他の情報 (アドレスを除く) の取得時にホストがステートフル自動設定を使用するかどうかを表します。

プレフィックス情報

ルーター通知にプレフィックス情報オプションがある場合、これらのオプションにはステートレスアドレス自動設定におけるサイトローカルアドレスとグローバルアドレスの生成に必要な情報を保存します。ルーター通知のステートレスアドレス自動設定フィールドとステートフルアドレス自動設定フィールドは別々に処理され、ホストではステートフルアドレス自動設定とステートレスアドレス自動設定を同時に使用できます。プレフィックス情報オプションフィールドの 1 つである自動アドレス設定フラグは、オプションがステートレス自動設定にも適用されるかどうかを表します。適用される場合、補助オプションフィールドにサブネットプレフィックスと寿命値が保存され、プレフィックスから作成されたアドレスがどれだけの時間優先権を持ち有効であるかを表します。

ルーターではルーター通知が定期的に生成されるので、ホストでは常に新しい通知を受信します。ホストは各通知に組み込まれた情報を上記の手順で処理し、前の通知で受け取った情報を追加し更新します。

アドレスの一意性

安全性確保のため、すべてのアドレスについて、インタフェースに対する割り当て前に一意かどうかが確認されます。ただし、ステートレス自動設定で作成したアドレスの場合、アドレスの一意性は、主にインタフェース識別子から生成されるアドレスの段階で決まります。そのため、ノードにおいてリンクローカルアドレスの一意性が確認されると、同じインタフェース識別子から生成される他のアドレスの個別の確認が不要になります。ただし、マニュアルやステートフルアドレス自動設定で得られたアドレスの場合は、個別に一意であることを確認する必要があります。重複アドレス検出を実行するのに手間がかかりすぎて意味がなくなるサイトの場合は、インタフェース別設定フラグの管理設定で重複アドレス検出の使用を無効にできます。

自動設定処理を短時間で終了するには、ルーター通知の待機とリンクローカルアドレスをホストで生成を並列に実行します (さらに一意性を確認)。これはルーターにおけるルーター要請に対する応答が遅れる場合があり、上記 2 つの手順を 1 つずつ実行すると、自動設定全体の時間が大幅に延長される場合があります。