前へ 1 2 次へ

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

“IPv4 over IPv6”環境下で通信ができない条件とはどんなものか

「IPv4/IPv6共存環境」の増加でWeb管理者/開発者が注意すべきこと

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

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

 前回記事ではIPv6ネットワークを経由して、IPv4インターネットで公開されているWebサービス(IPv4コンテンツ)へのアクセスを可能にする“IPv4 over IPv6”の技術がなぜ必要となっているのか、その背景と仕組みの概要(主にJPNE「v6プラス」が採用するMAP-E方式)を説明した。そのまとめで述べたとおり、IPv4 over IPv6環境からのアクセスには、旧来のIPv4ネットワーク(IPv4ネイティブ環境)からのアクセスとは少し違う部分がある。

 それではこうした特性が、Webサービスやアプリの開発や運用にどんな影響を与えるのだろうか。今回もMAP-E方式を例にとり、IPv4ネイティブ環境との違いを具体的に確認したうえで、注意すべき点をまとめてみたい。

TCP/UDPポート番号の扱いにおける注意点

 IPv4ネイティブ環境とMAP-E環境は実用上でどう違うのか。まずはその“ヒント”から見てみよう。

 v6プラスサービスを提供するISPのWebサイトを見ると、「v6プラスでは一部利用できないサービスがある」という注意書きが掲載されている。たとえばGMOインターネット「とくとくBB」のWebページにある注意書きは、次のようなものだ。

「v6プラスで利用できないサービス」の注意書き(出典:GMOインターネット「とくとくBB」

 順不同で書かれているので少しわかりにくいが、これらはそれぞれに「利用できない」理由が異なる。

 まずは、IPv4アドレスを共有しているという理由だ。前回も説明したとおり、MAP-EはグローバルIPv4アドレスの枯渇状況に対応し、複数のユーザーで効率的に「1つのIPv4アドレスを共有する」ための仕組みである。そのため固定IPサービスや、IPv4アドレスを1ユーザーが専有しなければならないようなサービスは利用できない(そもそも固定IPサービスは、ISPが別のサービスメニューとして提供していることが多い)。

 もうひとつ、MAP-Eでは個々のユーザーに対し、グローバルIPv4アドレスと共に一定のTCP/UDPポート番号範囲を割り当て、ユーザー宅のルーター(MAP CEルーター)がそれを使ってNAPT処理を行う。上述した「グローバルIPv4アドレスの共有」を実現するためだ。

 そのため、通常のWebアクセスのようにユーザー側からアウトバウンド方向の通信を始める場合は問題ないが、インターネット側から通信を始めたい場合には影響が出ることがある。前述した注意書きの残りの項目は、こうしたポートの扱いに関する制約から生じるものと言える。

 たとえば、特定のポート番号を使ってインターネット側からの通信を待ち受ける、公開サーバーのような使い方の場合だ。IPv4ネイティブ環境のように、HTTP=80番、HTTPS=443番といったポート番号の“決め打ち”では、MAP-E配下のサーバーにはアクセスできない※注

※注:MAP-Eにおいても、ISPから割り当てられるポート番号範囲がわかっていれば、そのポートを使ってインターネット側からのアクセスを待ち受けること(サーバーを公開する、いわゆる“ポート開放”)自体は可能だ。ただしv6プラスでは、ポート番号範囲の固定は保証されておらず、時間が経つと変動する可能性がある。

MAP-E環境におけるアウトバウンド/インバウンド通信の例。IPv4ネイティブ環境と同じように考えてしまうと、インターネット側からの通信ができない

 これはサーバーに限らず、ユーザーアプリケーションでも同じだ。外部からのアクセスを待ち受けるポート番号を、変更できない“決め打ち”の形でアプリケーション開発をしてしまうと問題が生じる。この点は、アプリケーション開発者に注意しておいてほしいポイントだ。

前へ 1 2 次へ

この記事の編集者は以下の記事もオススメしています

過去記事アーカイブ

2022年
01月
02月
03月
04月
05月
06月
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月