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

付録 E. 実装の問題 (Implementation Issues)

この付録では、さまざまな実装の問題について説明し、近隣探索の実装者にガイダンスを提供します。

ノードのリンク層アドレスが変更される場合、いくつかの問題が発生します:

問題: 他のノード上のキャッシュされたエントリが無効になる 解決策: 未要請の Neighbor Advertisement を送信して近隣のキャッシュを更新

問題: 更新のタイミングによりパケット損失が発生する可能性 解決策: 複数の未要請の NA を送信(最大 MAX_NEIGHBOR_ADVERTISEMENT)

E.2. 重複アドレス検出のタイミング (Duplicate Address Detection Timing)

問題: DAD 中の競合状態

  • 2つのノードが同時に同じアドレスに対して DAD を実行する可能性
  • 両方がアドレスが利用可能であると結論付ける可能性

解決策:

  • DAD を開始する前にランダムな遅延を使用(最大 MAX_RTR_SOLICITATION_DELAY)
  • DAD の失敗を適切に処理し、異なるアドレスで再試行

E.3. Router Advertisement のタイミング (Router Advertisement Timing)

問題: 複数のルータ間での RA 送信の調整 解決策:

  • RA 間隔にランダムジッターを使用
  • ランダムな遅延で RS に応答(0 から MAX_RA_DELAY_TIME)

E.4. 近隣キャッシュサイズ (Neighbor Cache Size)

問題: 近隣キャッシュエントリのメモリが限られている 解決策:

  • ガベージコレクションを実装(最初に STALE エントリを削除)
  • REACHABLE エントリを優先
  • Least Recently Used (LRU) エビクションポリシーを使用

E.5. 宛先キャッシュ管理 (Destination Cache Management)

問題: 宛先キャッシュが非常に大きくなる可能性 解決策:

  • エージングとサイズ制限を実装
  • 最初に期限切れの PMTU 情報を持つエントリを削除
  • 近隣キャッシュのクリーンアップと統合

E.6. マルチキャストグループ管理 (Multicast Group Management)

問題: solicited-node マルチキャストグループの管理 解決策:

  • アドレスが追加/削除されるときにグループに参加/脱退
  • 同じ solicited-node グループにマップされる複数のアドレスを処理

E.7. パフォーマンス最適化 (Performance Optimization)

同時アドレス解決:

  • 複数のアドレス解決を並行して処理
  • 解決中にパケットをキューに入れる

Fast Path 処理:

  • REACHABLE 近隣に最適化(最も一般的なケース)
  • 頻繁に使用される宛先キャッシュエントリをキャッシュ

E.8. セキュリティ実装 (Security Implementation)

SEND 統合:

  • 混合 SEND/非 SEND 環境を優雅に処理
  • セキュリティポリシーの設定オプションを提供

レート制限:

  • ND メッセージのフラッディングから保護
  • 近隣キャッシュエントリ作成率を制限