SLAAC すらーっく
SLAACステートレス自動アドレス設定RANDPIPv6自動設定
SLAACについて教えて
SLAACとは
SLAAC(Stateless Address Autoconfiguration:ステートレスアドレス自動設定)は、DHCPサーバーなしにIPv6アドレスを自動設定する仕組みです。RFC 4862で定義されています。
動作の流れ:
- 端末はリンクローカルアドレス(fe80::)を生成
- ルーターが定期的にRA(Router Advertisement:ルーター広告)パケットを送信
- RAにはネットワークのプレフィックス情報が含まれる
- 端末はプレフィックス + 自分のインターフェースID(MACアドレスから生成またはランダム)でグローバルアドレスを自動設定
ステートレスとは、DHCPのように「誰にどのアドレスを割り当てたか」の状態(ステート)を管理するサーバーが不要なことを意味します。端末が自律的にアドレスを決めます。
SLAACとDHCPv6の比較
| 項目 | SLAAC | DHCPv6 |
|---|---|---|
| サーバー | 不要 | 必要 |
| アドレス管理 | 各端末が自律設定 | サーバーが管理 |
| DNSサーバー通知 | RAのDNSSにより可能(RFC 8106) | 可能 |
| アドレス割り当て制御 | できない(端末が決める) | できる(サーバーが指定) |
| 主な用途 | 一般的なIPv6網 | アドレス管理が必要な環境 |
歴史と背景
- 1996年:SLAACの概念がRFC 1971で最初に定義
- 1998年:IPv6本格設計でSLAACがIPv6の重要機能として組み込まれる
- 2007年:RFC 4862でSLAACが改訂・標準化
- 現在:ほとんどのIPv6対応ルーターがRAを送信し、SLAACで端末が自動設定する
SLAACの動作フロー
DAD(重複アドレス検出)
SLAACで生成したアドレスを使い始める前に、同じアドレスが既に使われていないかを確認するDAD(Duplicate Address Detection)が自動的に行われます。ICMPv6の Neighbor Solicitationを使って「このアドレスを使おうとしている人はいますか?」と確認します。
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 4862 | IPv6 ステートレスアドレス自動設定(SLAAC) |
| RFC 4861 | NDP(NDPはSLAACの基盤) |
| RFC 4941 | IPv6プライバシー拡張(ランダムIID生成) |
| RFC 8106 | IPv6 RAでのDNS情報通知 |
関連用語
- DHCPv6 — SLAACとともに使われるIPv6アドレス設定方法
- NDP(近隣探索) — SLAACが使うプロトコル
- リンクローカルアドレス・グローバルユニキャスト — SLAACで設定されるアドレス種別