メインコンテンツまでスキップ

3.2.2. Sample Code for Pseudo-Random Global ID Algorithm (擬似ランダムアルゴリズム)

3.2.2. Sample Code for Pseudo-Random Global ID Algorithm (擬似ランダムグローバル ID アルゴリズムのサンプルコード)

以下のアルゴリズムはローカル割り当ての Global ID 用である. 各ケースで得られた global ID は セクション 3.2 で定義される適切なプレフィックスに用いる.

  1. 64 ビット NTP 形式 [NTP] で現在時刻を取得する.

  2. 本アルゴリズムを実行するシステムから EUI-64 識別子を取得する. EUI-64 がなければ, [ADDARCH] に従い 48 ビット MAC アドレスから作成してよい. EUI-64 を取得または作成できない場合は, ノードにローカルな十分に一意な識別子 (例: シリアル番号) を用いる.

  3. キーを作成するため, 時刻とシステム固有情報を連結する.

  4. [FIPS, SHA1] に従いキーに SHA-1 ダイジェストを計算する, 結果は 160 ビット.

  5. 下位 40 ビットを Global ID として用いる.

  6. FC00::/7, L ビット 1, および 40 ビット Global ID を連結してローカル IPv6 アドレスプレフィックスを作成する.

このアルゴリズムは合理的に一意な Global ID を生成し, ローカル割り当てのローカル IPv6 アドレスプレフィックスの作成に使用できる.