【IPA対策】SLAACとDHCPv6

本稿ではIPA試験で必要とされる知識をまとめます。

目次

IPアドレスの割り当て方

端末のNICにIPアドレスを割り当てる方法はIPv4とIPv6でそれぞれ異なります。

IPアドレスの割り当て方

静的割り当ては手動でIPアドレスを設定する方法です。シンプルなネットワーク環境や管理者がIPアドレスの配布状況を全て把握しておきたい場合に有効ですが,大規模なネットワーク環境だと管理と運用が煩雑になってしまいます。障害発生時は自動でIPアドレスの切り替えを行うことことができないため柔軟性に欠けます。

動的割り当ては自動でIPアドレスを設定する方法です。DHCPはDHCPサーバでIPアドレスの管理を行うアプリケーション層のプロトコルでIPv4とIPv6の両方で利用されます。

スクロールできます
通信名称誰が誰に何をするか通信種別
DHCP Discover端末DHCPサーバIPアドレスの割り当てを要求ブロードキャスト
DHCP OfferDHCPサーバ端末IPアドレスの候補を提示ブロードキャスト or ユニキャスト
DHCP Request端末DHCPサーバIPアドレスを選択ブロードキャスト
DHCP ACKDHCPサーバ端末最終許可ブロードキャスト or ユニキャスト
DHCPの流れ

DHCP DiscoverとDHCP Requestはブロードキャストが利用されます。DHCP DiscoverではDHCPサーバのIPアドレスを端末が保持する必要をなくすためにブロードキャストを利用しています。DHCP Requestでは同一セグメント上の別のDHCPサーバに配布済みのIPアドレスの情報を通知するためにブロードキャストを利用しています。DHCP OfferとDHCP ACKに関しては,ブロードキャストが利用されると記述している書籍もある一方で,ユニキャストが利用されると記述している書籍もあります。正しくは,ブロードキャストが利用されるかユニキャストが利用されるかは端末から送られるパケットのブロードキャストフラグで指定されます。

SLAACとDHCPv6

SLAACとRS/RA

SLAACはルータから配布されるIPv6のプレフィックスやDNSサーバのIPアドレスをもとに端末側でIPv6アドレスを自動設定するプロトコルです。SLAACでは端末はルータにRSと呼ばれるマルチキャストのICMPv6パケットを送り,ルータは端末にRAと呼ばれるユニキャストのICMPv6パケットを送り返します。RAでDNSサーバ情報を配布するためにはRDNSSオプションに対応しているRAを利用する必要があります。

最初のマルチキャスト通信以外はすべてリンクローカル通信が利用されます。

DNSサーバ情報を配布するには,DHCPv6を利用する方法もあります。

DHCPv6サーバがDNSサーバ情報に加えIPv6アドレスを配布する方式をステートフルモードと呼び,DHCPv6サーバがDNSサーバ情報を配布しSLAACがIPv6アドレスを配布する方式をステートレスモードと呼びます。ステートレスのレスは「DHCPv6サーバーがIPv6アドレスの状態(ステート)を保持しない」と理解するとよいです。

補足1

SLAACが優れているのは,DHCPサーバーのようなL7機器を使わずルータのようなL3機器だけでアドレスを設定できる点です。DHCPはアプリケーション層のプロトコルですが,本来IPアドレスの設定はL3以下で完結できるはずです。SLAACはこの点に着目し,「L3機器だけでアドレス設定を完結させる」という思想に基づいたプロトコルとなっています。

SLAACが利用できればDHCPは不要かと思われますが,実際にはDNSサーバのIPアドレスを配布する必要があるため回避策としてDHCPv6が策定されました。しかし,これではL3機器だけでアドレス設定を完結させるというSLAACの思想を実現できないため,RAでDNSサーバのIPアドレスを配布するRDNSSというオプションが策定されたという流れです。なお,Googleは「DHCPv6を使うと1個のインターフェースに1個のアドレスしか割り当てられなくなるため,大量のアドレスを確保できるというIPv6の恩恵を享受できていない」という主張のもと,AndroidはDHCPv6には対応させずSLAACとRDNSSを併用する方式を採用しています。

補足2

IPv6においてクライアントがインタフェースIDを生成する方式は下記の通りです。

  • RFC 4291(Modified EUI-64):MACアドレスに基づいて生成
  • RFC 4941(プライバシー拡張アドレス):MACアドレス+ランダムな数値に基づいて生成
  • RFC 7217:MACアドレス+シークレットキー等に基づいて生成

RFC 4291はMACアドレスを全世界に公開してしまうというプライバシー上の問題があり,RFC 4941はIPアドレスが変わってしまい管理が煩雑になるという問題があります。RFC 7217ではこれらの問題を解決します。

略称

  • NIC:Network Interface Card
  • DHCP:Dynamic Host Configuration Protocol
  • RS:Router Solicitation
  • RA:Router Advertisement
  • RDNSS:Recursive DNS Server
シェアはこちらからお願いします!
目次