Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

SLAAC(スラック)とは | 意味や読み方など丁寧でわかりやすい用語解説

SLAAC(スラック)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ステートレスアドレス自動設定 (ステートレスアドレスじどうせってい)

英語表記

SLAAC (スラック)

用語解説

SLAACは、IPv6ネットワークにおいて、ホストが自動的に自身のIPアドレスを設定するためのメカニズムである。これは「ステートレスアドレス自動設定(Stateless Address Autoconfiguration)」の略であり、名前が示す通り、アドレスの割り当て状態を管理するサーバ(DHCPv6サーバなど)を必要としない「ステートレス」な方式である点が最大の特徴だ。SLAACは、IPv6の普及を促進する上で、プラグアンドプレイのような手軽なネットワーク接続を実現するための重要な技術の一つとして位置づけられる。

IPv4環境では、IPアドレスの割り当てには手動設定かDHCPサーバが用いられるのが一般的だった。しかし、IPv6では、膨大なアドレス空間と多様なデバイスの接続が想定されており、より柔軟で簡便なアドレス設定方法が求められた。SLAACは、この要請に応える形で開発され、ホストが自身のMACアドレスなどをもとに独自のアドレスを生成し、ルータからネットワークプレフィックスを受け取ることで、完全なIPv6グローバルユニキャストアドレスを自動的に構成することを可能にする。このプロセスは、主にICMPv6(Internet Control Message Protocol for IPv6)メッセージ、特にルータ要請(Router Solicitation: RS)とルータ広告(Router Advertisement: RA)を利用して行われる。

SLAACの詳細な動作原理は以下の通りである。まず、IPv6ホストがネットワークに接続されると、自身のIPv6アドレスを持たない状態で、リンクローカルアドレスという特殊なアドレスを生成する。このリンクローカルアドレスは、同一リンク内の通信にのみ使用され、ルータとの通信にも用いられる。次に、ホストはルータ要請(RS)メッセージをマルチキャストで送信し、ネットワーク上のルータを探す。これを受信したルータは、ルータ広告(RA)メッセージをホストに返信する。RAメッセージには、そのネットワークが使用するIPv6アドレスのネットワーク部である「プレフィックス」や、ルータ自身のリンクローカルアドレス(デフォルトゲートウェイとして機能する)、その他MTU(Maximum Transmission Unit)などのネットワークパラメータが含まれる。

ホストは、このRAメッセージから取得したプレフィックスと、自身のインターフェース識別子(Interface Identifier)を組み合わせることで、グローバルユニキャストアドレスを生成する。インターフェース識別子の生成方法にはいくつかの選択肢がある。最も一般的なのは、ホストのMACアドレスから変換する「EUI-64形式」である。MACアドレスは48ビットの長さを持つが、EUI-64形式ではこのMACアドレスの中央に「FFFE」という16ビットの値を挿入し、先頭ビットを反転させることで、64ビットのインターフェース識別子を生成する。この方式の利点は、MACアドレスから一意に識別子を生成できるため、アドレスの一意性が保たれることだが、一方でMACアドレスがアドレスの一部として公開されるため、プライバシー上の懸念が生じる可能性もある。このプライバシー問題を解決するため、「プライバシー拡張アドレス(Privacy Extensions for SLAAC)」と呼ばれる機能も導入されている。これは、一定時間ごとにランダムなインターフェース識別子を生成し、一時的に使用することで、個々のデバイスの追跡を困難にする仕組みである。

アドレスが生成された後、ホストは「重複アドレス検出(Duplicate Address Detection: DAD)」という重要なプロセスを実行する。これは、生成したばかりのIPv6アドレスが、既にネットワーク上の他のホストによって使用されていないかを確認するためのものだ。ホストは、生成したアドレスに対して「ネイバー要請(Neighbor Solicitation: NS)」メッセージを送信し、もしネットワーク上に同じアドレスを持つホストがいれば、「ネイバー広告(Neighbor Advertisement: NA)」メッセージで応答する。応答がなければ、そのアドレスは一意であり、安全に使用できると判断される。このDADプロセスによって、SLAACで生成されたアドレスの一意性が保証され、ネットワークの安定性が維持される。

SLAACの最大のメリットは、その簡便性にある。DHCPv6サーバのような専用のサーバを必要とせず、ルータが存在し、RAを送信していれば、ホストは自動的にIPv6アドレスを取得できるため、ネットワーク管理の手間を大幅に削減できる。特に、多数のデバイスが接続するIoT環境や、一時的なネットワーク接続が頻繁に発生するモバイル環境において、プラグアンドプレイのような手軽な接続環境を提供する。また、DHCPv6サーバがダウンしても、SLAACを使用しているホストはアドレスを自動再設定できるため、可用性(アベイラビリティ)の向上にも寄与する。

しかし、SLAACにはいくつかのデメリットも存在する。最も大きいのは、アドレス管理の一元性がDHCPv6と比較して低い点である。SLAACでは、各ホストが独自にインターフェース識別子を生成するため、ネットワーク管理者はどのアドレスがどのホストに割り当てられているかを把握しにくい。厳密なIPアドレス管理や、特定のIPアドレスを特定のホストに固定したい場合には、SLAAC単独では対応が難しい。また、SLAACで配布できる情報には限りがあり、DNSサーバのアドレスなど、追加の情報が必要な場合は、ルータ広告にオプションとして含めるか、あるいは「ステートレスDHCPv6(Stateless DHCPv6)」と呼ばれる、アドレスはSLAACで取得し、それ以外の情報をDHCPv6サーバから取得するという併用方式を用いる必要がある。このように、SLAACはIPv6環境におけるアドレス自動設定の基本的なメカニズムであり、その特性を理解し、適切に活用することが重要である。

関連コンテンツ

関連ITニュース