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の“住所”を書いて送るイメージ

過去記事アーカイブ

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