Webサイト管理者のための2020年版“IPv6対応入門”第1回

Webサイト管理者やWebサービス事業者、アプリ開発者に「IPv6対応」を進めてほしい理由

なぜいま、あらためて「IPv6」を学ばなければならないのか

文●大塚昭彦/TECH.ASCII.jp 監修● 久保田 聡/日本ネットワークイネイブラー

  • この記事をはてなブックマークに追加
  • 本文印刷

IPv4/IPv6共存技術:デュアルスタック、トランスレーター、トンネリング

 IPv4/IPv6の共存技術として、具体的にはまず「IPv4/IPv6デュアルスタック」が挙げられる。これはサーバーやクライアントのOSが、IPv4/IPv6のどちらにも対応できるように、それぞれの通信を行うソフトウェアスタックを用意するものだ。こうして“2カ国語”を話せる/理解できるようにしておいて、会話する相手に応じて言語を切り替えればよい。

デュアルスタックのイメージ図。デュアルスタックのノード(OS)は“2カ国語”を話せるイメージだ

 サーバーやPC、スマートフォンなどで使われているOSは、現在ではほぼ100%、IPv4/IPv6デュアルスタックになっていると言ってよい状況だ。たとえば最新OSのネットワーク設定を見てみると、IPv4アドレスとIPv6アドレスの両方が表示され、IPv4でもIPv6でも使える状態にあることがわかる。

手元のWindows PC、Linuxサーバーでネットワーク設定を見ると、IPv4アドレス、IPv6アドレスの両方が設定されていた

 ちなみに、インターネット上で名前解決(ドメイン名とIPアドレスの変換)を行うDNSでも、DNSサーバーにはIPv4アドレスとIPv6アドレスの両方が登録できる。これにより、クライアント側がIPv4/IPv6のどちらのアドレスを要求しても答えられる。

DNSサーバーに「jpne.co.jp」ドメインのIPアドレスを問い合わせる。IPv4アドレス(Aレコード)とIPv6アドレス(AAAAレコード)の両方が登録されている

 それでは、ノード同士をつなぐネットワークにはどういう共存技術があるのか。ここは少し複雑だ。

 まずは「トランスレーター」の技術がある。直訳すれば“通訳”だが、その名のとおり、IPv4とIPv6という“違う言語”で話すノードの間に立ち、お互いが理解できる言語に変換したうえで中継する。NAT(Network Address Translation)方式やプロキシ方式など、トランスレーターを実現する具体的な技術にはさまざまなものがある(ここでは詳細は割愛する)。

トランスレーターのイメージ図。IPv4とIPv6の世界の間で“通訳”を行うイメージ

 さらに「トンネリング」の技術がある。これは、ノードの両端(サーバーとクライアント)は同じプロトコル(IPv4またはIPv6)を話すものの、間をつなぐネットワーク上のノード(ルーター)がそのプロトコルに対応していないような場合に用いられる。

 トンネリングでは、パケットを「カプセル化」する。これは、あるパケットを丸ごと別プロトコルのパケットで包み込み、別プロトコルのネットワーク上でも送受信できるようにする手法だ。

 たとえば、相手ノードとIPv6でデータを送受信したいが、ネットワーク経路上にあるルーターがIPv4パケットしか扱えないとしよう。そこで、IPv6パケットのデータを丸ごとIPv4パケットの中に入れて(包み込み)、IPv4パケットとして送るわけだ。パケットが宛先ノードに届いたら、中身のデータ=IPv6パケットを取り出せばよい。これにより、IPv4ネットワークを使ってIPv6パケットを送受信することが可能になる(これを「IPv6 over IPv4」と呼ぶ)。もちろんその逆の「IPv4 over IPv6」の技術も存在する。

トンネリングのイメージ図。IPv6で“住所”が書かれた小包を包み直し、IPv4の“住所”を書いて送るイメージ

過去記事アーカイブ

2023年
01月
02月
03月
2022年
01月
02月
03月
04月
05月
06月
08月
09月
10月
11月
12月
2021年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2020年
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2012年
02月
2011年
05月
07月
2010年
08月
09月