デュアルスタック

読み:でゅあるすたっく / 英語表記:dual stack

1台の機器やネットワークで、IPv4とIPv6の両方を利用できるようにする方式。IPv4の相手とはIPv4で、IPv6の相手とはIPv6で通信し、二つの環境を共存させる。

イマシルちゃんの解説

IPv6へ移行するときも、IPv4だけで動く機器やサービスとの通信は残しておきたいよね。
そこで、一つの端末やネットワークで二つのIPを使えるようにする共存方式がデュアルスタックだよ。
端末にはIPv4用とIPv6用のアドレスを持たせ、接続先や使える通信経路に合わせて使い分けるんだ。
IPv4の通信をIPv6に変換するのではなく、それぞれの方式で相手とやり取りするよ。
すべてを一度に入れ替えなくても、既存の通信を続けながらIPv6を導入できるのが利点なんだ。

より深い解説

定義

デュアルスタックは、端末やネットワーク機器のプロトコルスタックに、IPv4とIPv6の両方を実装し、両方のアドレスを持たせて動作させる方式である。IPv4からIPv6への移行の期間に、最も一般的に使われる。

IPv4とIPv6の共存の方式

方式内容
デュアルスタックIPv4とIPv6の両方を動かす
トンネリング一方のプロトコルのパケットを、もう一方のパケットに入れて運ぶ(IPv6 over IPv4 など)
トランスレーションNAT64とDNS64などで、IPv6だけの端末がIPv4のサーバと通信できるように変換する

どちらで通信するか

デュアルスタックの端末は、DNSにAAAAレコード(IPv6アドレス)とAレコード(IPv4アドレス)の両方を問い合わせる。両方が得られた場合、一般にIPv6を優先する(RFC 6724のアドレス選択の規則)。

ただし、IPv6の経路が壊れていると、IPv6で接続を試みてタイムアウトするまで待たされ、利用者の体感が悪くなる。そこで、現在のOSやブラウザは、Happy Eyeballs(RFC 8305)という方式を使う。

  1. AAAAとAを並行して問い合わせる
  2. IPv6で接続を試み、短い時間(目安として250ミリ秒程度)待っても接続できなければ、並行してIPv4でも接続を試みる
  3. 先に接続できたほうを使う

Happy Eyeballsの落とし穴

Happy Eyeballsは利用者にとって便利だが、ネットワークの運用の面では注意が必要である。

状況起きること
IPv6のネットワークだけが不通になる端末は自動的にIPv4にフォールバックして、同じWebページにアクセスできてしまう
その結果利用者は異常に気付かないため、情報システム部門に連絡が来ない。IPv6の障害が放置される

そのため、デュアルスタックのネットワークでは、IPv6の経路を、IPv4とは別に監視する(監視サーバから、IPv6でインターネットへのアクセスや、各拠点の機器のGUAへの ping6 を定期的に行う)ことが重要になる。

セキュリティ上の注意

注意点内容
NAPTの有無IPv4ではNAPTによって外部から内部へ接続しにくいが、IPv6ではNAPTを使わず、すべての端末がGUAを持つ。ファイアウォールで、外部からの通信を明示的に制御する必要がある
ICMPv6近隣探索やパスMTU探索にICMPv6を使うため、すべて遮断すると通信障害が起きる。必要な種類(Packet Too Big など)は許可する
両方の管理ファイアウォールのルールや監視を、IPv4とIPv6の両方で整合させる

実際の試験ではここに出る!全2問

ネットワークスペシャリスト

午後Ⅱ
午前Ⅱ

この用語が出てくる記事

↑