IPv6への投資を無駄にしないために

2000年代前半にe-Japanという国家主導のIT戦略があった。世界トップのIT国家とすべく高速インターネットの世帯普及率を高め、電子政府システムや各種ネットサービスを充実させることを目的とした。森元首相所信表明演説でITを国家戦略の柱にするとしたことでも知られる。

「日本新生」の最も重要な柱は「IT戦略」、いわばE―ジャパンの構想であります。「日本型IT社会」の実現こそが、二十一世紀という時代に合った豊かな国民生活の実現と我が国の競争力の強化を実現するための鍵であるからです。人類は、そして我々日本人は、IT革命という歴史的な機会と正面から取り組む決意が必要です。
第百五十回国会における森内閣総理大臣所信表明演説

この所信表明演説の中でも触れられ、その後のe-Japan戦略の中でも中心的な技術として数年間多額の投資をされることになったのが、IPv6だ。

電子政府の早期実現、学校教育の情報化、通信・放送の融合化に対応した制度の整備など、多岐にわたる課題についても、「IT戦略会議」における議論を踏まえつつ、果敢に取り組んでまいります。また、先端インターネット技術等の研究開発、IPバージョン6などによるグローバルインターネットの課題解決への積極参加など、インターネットの発展に対する大きな国際的貢献を目指します。
第百五十回国会における森内閣総理大臣所信表明演説

一国の政治のトップがインターネットの先進的な技術に所信表明演説で言及したと、当時大きなニュースになった。2000年代半ばまで続いたe-Japan戦略でも多くのプロジェクトに国家予算が割り当てられた。さまざまな実証実験なども行われたのは記憶に新しい。総額は不明だが、かなりの投資が行われていた。

World IPv6 Dayで見えてきた課題

日本は間違いなくIPv6先進国であった。多くの通信事業者やネットワーク機器開発ベンダーなどが標準化から実装、運用技術にいたるまで世界をリードした。BSDでのKAMELinuxでのUSAGIはリファレンス実装として標準化と実装の両方に大きく貢献し、TAHIプロジェクトでの相互運用性試験はIPv6 ForumでのIPv6 Ready Logo開始の中心的な役割を担った。

日本の積極性が目立った2000年代前半が過ぎ、しばらくすると他国もキャッチアップしてきた。IPアドレスの枯渇は世界的な問題であり、他国とともに来るべきIPv6の適用開始に備え、協調するのは必須だ。今年初めにはグローバルIPv4アドレスを割り当てるためのプールが無くなったことも報道され、いよいよIPv6を使う時代に入りつつある。

今年の6月に行われたWorld IPv6 DayIPv6の本格的な展開を試験するための大事なイベントだった。世界で多くのサイトが1日だけIPv6でアクセス可能にし、実稼働システム上での問題点を把握するという目的で行われた。表面上は無事終了した。当初の報道でもそのように伝わっていた。

世界規模の実験ということで、今まで顕在化していなかったIPv6ネットワークに関する問題が発生する可能性があるのではないかとも考えられていた。しかし、World IPv6 Dayに関する日本語情報サイトによると、一部サイトでサーバー側の設定ミスが報告されるなどのトラブルはあったが、世界的に大きな混乱はなかった模様だとしている。また、期間中はIPv6トラフィックが増加したことも確認されたという。
「World IPv6 Day」が無事終了、大きな混乱はなかった模様 - INTERNET Watch

しかし、解析が進むと、日本特有の問題が見えてきた。同じ上の記事の中でも書かれている「ウェブサイトが見られなくなったり、表示が遅くなるなどの障害が発生」していたのだ。ここで勘違いしないで欲しいのだが、IPv6接続の場合に起きていたのではなく、ユーザーのネットワークによって、ユーザーの意図しないところで、IPv4アクセスでも遅延が発生していたのである。

ネットワーク環境やOS、アプリケーションによっては、ふだんは問題なく閲覧できている参加企業のウェブサイトが見られなくなったり、表示が遅くなるなどの障害が発生する可能性があることがあらかじめ判明していたため、日本マイクロソフトや日本インターネットプロバイダー協会(JAIPA)などが対処方法などを案内していた。
「World IPv6 Day」が無事終了、大きな混乱はなかった模様 - INTERNET Watch

これはフォールバック問題と言われるもので、IPv6を利用出来る端末がIP接続を行う際にDNSのレコードとしてIPv6用のAAAAアドレスを取得し、そのアドレスを用いてアクセスするが、実際にはIPv6では接続出来ないために、IPv4にフォールバックすることになり、それにより大きな遅延が生じる問題である。

これは記事にもあるように、World IPv6 Day以前から知られている。

問題は、IPv6でのグローバルリーチャビリティがないのに、IPv6アドレスが割り振られている環境だ。具体的には「フレッツ光」の環境がそれに当たる。フレッツ光が割り当てるIPv6アドレスは、あくまでフレッツ網内での利用を想定したもので、そのアドレスを使ってインターネットに接続することはできない。

この環境でIPv6対応サイトにアクセスすると、端末は、まずIPv6でのアクセスを優先的に試み、それがうまくいかないとIPv4にフォールバックして接続を試みる。このため、Webページの表示に時間がかかったり、通信が行えなくなるといった問題が生じる恐れがある。
フォールバックに起因する障害に備えた情報収集をいよいよ「World IPv6 Day」がやってくる、直前まとめ情報 - @IT

次の図は11/16に行われたJAIPA(社団法人日本インターネットプロバイダー協会)World IPv6 Day総括セミナーにおいてIIJの松崎吉伸氏が用いたスライドからの抜粋だ。この図にあるIPv6からIPv4への切り替え、すなわちフォールバックに時間がかかったり、失敗してアクセス出来なくなることが問題の本質だ。

World IPv6 Dayで起きていたこと

World IPv6 Dayでは報道にあるように、実際に大きな混乱は無かった。その理由は多くの通信事業者がAAAA(クワッドA)フィルタリングという処理を行って実質IPv6の通信をブロックしていたためだ。AAAAフィルタリングはその名の通り、DNSでホスト名からアドレスへの問い合わせを行う際に、IPv6のアドレスレコードであるAAAAの問い合わせをブロックするものだ。AAAAレコードを取得出来ないため、IPv4アドレスであるAレコードを取得し、結果IPv4で接続する。

つまり、World IPv6 Dayと言いながら、多くの通信はIPv6ではなくIPv4で行われていた。それが日本におけるWorld IPv6 Dayの実体だ。

もちろん、IPv6での接続が出来ない場合にIPv4で接続するのは問題が無い。ただ、AAAAフィルタリングの問題点は、1) IPv6の通信が可能な場合にも、IPv4通信を強制してしまっていることと、2) 説明したフォールバック問題が隠蔽されてしまっていたことだ。後者はAAAAフィルタリングが完全な解決策になり得ないことを考えると、問題を先延ばしにしただけだとも言える。

実際、同じWorld IPv6 Day総括セミナーにおいて、GoogleのLorenzo Colittiは現在の状況を次のように報告している*1

IPv6が通信できるはずのホストが33%で接続失敗率が1%、遅延が870msということだ。日本以外では接続失敗率が0.6%で、遅延がほぼゼロ*2ということを考えると、影響は無視出来ないだろう。

World IPv6 Dayの近辺では、先に述べたAAAAフィルタリングによりこの影響が見られなかった。そのグラフもGoogleにより公開されている。

アクセス遅延の影響

さて、この870msというアクセス遅延がどのくらい深刻かを考えてみよう。1秒以下の遅延など、ちょっと遅い回線ならば良くあることなので無視出来ると考えるかもしれない。

だが、サイトを運営している人やWebアプリケーションを開発している人ならばわかると思うが、わずかの遅延でさえユーザーは離れる。遅延、それも1秒以下の遅延でさえ、ユーザーは無意識のうちにそのような遅延の発生するサイトを敬遠することが知られている。

たとえば、Amazonではページのロード時間が100msほど増加しただけで1%の売り上げ減少に繋がる*3。また、Yahoo! USでも400msのロード時間の増加によりページ全体を表示するユーザーが5~9%減少することが知られている*4

Googleでも以前、意図的に検索結果の表示を遅らせる実験をしたことがあり、その研究結果は公開されている。

Speed Matters for Google Web Search

このレポートの要約がブログ記事「Speed Matters」にまとめられているが、それによると、400msの遅延が発生した場合、

  1. 1人あたりの検索数が0.44%減少
  2. 6週間続けたら、0.76%減少
  3. 意図的な遅延を無くしても、0.21%減少は残ったまま

になる。

ほかにもパフォーマンスが与える影響のデータは見つけることが出来るが、ここにあげた例だけでも、100msや400msの遅延であってもユーザーへ大きな影響を与えることがわかるだろう。しかも、これはフォールバック問題で発生すると言われている870msの半分以下の遅延でのデータだ。

これを見ただけでも、このフォールバック問題が無視できない問題であるように思われる。

このフォールバックによる遅延はAAAAレコードを問い合わせるタイミングで起きる。DNSサーバーにレコードを問い合わせた結果はDNSリゾルバ側でキャッシュされるし、Webブラウザからアクセスした場合にはWebキャッシュなどもローカルに保持されるので、毎回この遅延が発生するわけではない。どのくらいの頻度で発生するかは、プラットフォームやアプリケーションに依存するために一概には言うことはできない。

870msの遅延が実際のアプリケーションレベルでどの程度の遅延になるかもGoogleが公開している資料に掲載されている。これを見ると、Windows 7上のFirefox 7とIE9で主要WebサイトにIPv6でアクセスした場合とIPv6からIPv4へのフォールバックをした後にアクセスした場合の両方のページのロードにかかった時間がわかる。

キャッシュ*5があるため、毎回これだけの遅延が発生するわけではないが、それでもmsのオーダーではなく、秒のオーダーでの遅延が発生している。

このような状況にも関わらず、総務省により円滑なIPv6対応に向けた促進方策を検討する目的のために昨年いっぱい開催された「IPv6によるインターネットの利用高度化に関する研究会」ではその報告書で次のように述べている。

心配されたフォールバック問題(参考資料5)については、事前に関係者において検討された対応策の一定の有効性が確認され、大過なく完了したところである。

IPv6 によるインターネットの利用高度化に関する研究会第三次報告書

ここで言われている「事前に関係者において検討された対応策」というのは

ユーザ端末における対応ソフトウェアの導入、ISP における AAAA フィルタ(キャッシュ DNSへの IPv6 アドレス問合せを遮断)の一時的導入、IPv6 宛通信のリセット等

IPv6 によるインターネットの利用高度化に関する研究会第三次報告書

である。

ユーザーに現時点でなんらユーザー側にはメリットの無いことのために、たとえ無料であったとしてもソフトウェアを導入してもらうというのは、ユーザーのリテラシーを考えても現実的ではない。また、すでに説明したように、AAAAフィルタリングは恒久的な解決策にはならない。それはこの報告書でも「一時的導入」と書かれていることからも、研究会も認めている。IPv6宛通信のリセットとは、「閉域網内に存在しない宛先に送信されたパケットに対しては、TCPコネクションをリセットするRSTビットをセットしたTCPパケットを返信することで、早急にフォールバックを行わせるように」する(日本からのIPv6接続が今後遮断される可能性も? 遅延問題についてISPが議論 - INTERNET Watch)ことであるが、これを使っての結果が約1秒の遅延である。

TCP RSTが受信できない状況では、Windowsで約21秒、Mac OSで約75秒フォールバックまでにかかるが、TCP RSTを受信することでWindowsでは約1秒、Mac OSでは約0.01秒でフォールバックするという効果があるという。

これにより、タイムアウトまでの時間は短縮されるが、TCP以外のプロトコルでは動作しないという問題があり、またWindowsの約1秒という遅延も許容範囲と言えるかどうかが論点となるとした。

日本からのIPv6接続が今後遮断される可能性も? 遅延問題についてISPが議論 - INTERNET Watch

正直、研究会の報告書からはこの問題を深刻な問題と捉えているようには読み取れない。

日本のIPv6展開への影響

昨年6月に行われたWorld IPv6 Dayは今年はWorld IPv6 $NEXTとして1日のイベントではなく、永続的にIPv6を有効にするという形で行われようとしている。

つまり、前回のように、一時的な対処療法としてのAAAAフィルタリングは使えない。

すでに、World IPv6 $NEXTへの参加を表明しているサイトの中には、日本の今の状況が解決しなかったならば、日本からのIPv6アクセスをブロックしようとしているところも出てきている。具体的には、GoogleFacebook、Yahoo! US、それにAkamaiなどだ。IPv6ブロックはアクセスの遅延や失敗からユーザーを救うための最終手段であるが、ほかに方法が無かったならば、実際に実施されることになるだろう。日本のサイトの動向が不明だが、アクセスするのに際して遅延が発生したり、アクセスできなくなったりする恐れがあるIPv6有効化をするところは少ないのではないだろうか。

IPv6をリードすると自負してきた日本が、主要サイトがIPv6を有効にする時に世界で唯一ブロックされる国にならないように、トップランナーで走っていたつもりが、いきなりボッチで最後尾にいたということにならないように、至急対策を考えなければいけない。

e-Japanの名のもとに大金を各種プロジェクトや実証実験に費やしてきたのだから。

JAIPAやそのほかの団体などで解決に向けての議論が開始されているようだ。

関連記事:

*1:[http://www.jaipa.or.jp/ipv6day/data/111121_google.pdf:title=World IPv6 $NEXT:Impact on Japan] より

*2:実際には他国ではIPv6接続のほうが若干速かった。

*3:[http://www.scribd.com/doc/4970486/Make-Data-Useful-by-Greg-Linden-Amazoncom:title=Make Data Useful, Greg Linden, Amazon ]より

*4:[http://www.slideshare.net/stubbornella/7-habits-of-exceptional-performance-presentation:title=The 7 Habits of Exceptional Performance, Nicole Sullivan, Yahoo! ]より

*5:DNSおよびWebキャッシュ