ニュースレターNo.49/2011年11月発行
World IPv6 Dayありました。
はじめに
技術者というのは新しい技術を実際に見て触って、動かしてみることが大事だなぁと思っていたのですが、実はこれ、技術者に限らずいろいろな分野でも同じではないかと考え始めています。例えば、彼女のお母さんに、「結婚前に一緒に暮らして、きちんとやって行けるかどうかトライアルしてみなさい」とアドバイスされました。IPv6の導入は技術者のみならず、いろんな人が関わってきます。新たな技術の導入という変化を、みんなが注意を払って見ることで、これまでに気が付かなかった視点や課題、利用方法が見えてくるのではないかと思っています。
World IPv6 Day とは
日本時間の2011年6月8日(水)朝9:00から、主にコンテンツ提供者が24時間のIPv6トライアルを行う「WorldIPv6 Day」が行われました。World IPv6 Dayは24時間だけWebサイトをIPv6対応にしてみるトライアルイベントです。この取り組みは、IPv4の在庫枯渇がいよいよ差し迫った2010年に企画されました。サイトがIPv6対応した際の影響や課題を明らかにするために、コンテンツ事業者が協調して大規模なトライアルを行うことが計画されたのです。
プロジェクトのWebサイトはInternet Society(ISOC)が協力を申し出て、ホストをしてもらえることになりました。日取りはIANAの在庫が枯渇した後で、みんなが準備できそうな日ということで、6月8日が選ばれました。日本語での情報も欲しいということになったので、専用ページを開設して情報提供をしました。
- □ World IPv6 Day
- http://isoc.org/wp/worldipv6day/
- □ 日本でのWorld IPv6 Day
- http://www.attn.jp/worldipv6day/
この取り組みに賛同した他のコンテンツ事業者やWebサイト管理者が、次々に参加者リストへ名を連ねていきました。しかしここで少し残念なのが、既に何年も前にIPv6対応を終わらせて、日常的に運用している人達でした。既に対応を終えているために、当初は参加者リストに名を載せるわけにもいかず、何だか楽しそうなイベントをやるのに参加できなかったのです。そのため、このようなサイトは既にIPv6対応済みのサイトとして、日本語のプロジェクトページで紹介することにしました。ついでに言うと、いまだ世の中に大規模なIPv6の利用実績が無く、World IPv6 Dayのようなイベントが、現状ではインパクトのあるイベントだという事実も哀しいのですが。
しかし、せっかくのイベントであるため、いろいろと有意義なものにしたいと考えました。インターネットは広く普及してしまったが故に、さまざまな端末や接続環境があります。無数の組み合わせで問題が無いかを検証していく必要があり、多くの人が検証に携わることで、より多くの環境を調べることができます。事前の調査で分かったのは、IPv6対応サイトへのアクセスで問題が発生する場合もありますが、世界的に見て、どうもそれは特定バージョン、特定環境、特定条件等とても限定的で小さな問題が多い、言わばロングテールの様相を呈しているということでした。つまり誰かがどこかで頑張れば解決するわけではなく、問題のあるそれぞれの環境を直す必要がありそうだということです。
日本におけるIPv6通信の問題点と対策
日本ではNTT東西の提供する光サービスでIPv6閉域網が採用されていることもあり、IPv6→IPv4のフォールバック※1が数多く発生する環境にあります。既に何年も前から知られている事実であり、NTT東西の光サービスではIPv6閉域網側にユーザーからの接続要求があった場合には、フォールバックの速度を速めるためにTCP RSTを返信しています。それでもフォールバックのため1秒程度の時間がかかったり、実装によっては期待したフォールバックを行わない場合もあります。ユーザーにIPv6のインターネット接続が提供できていれば、IPv6でアクセスできるためにこうした問題は発生しないのですが、NTT NGNを利用したIPv6接続サービスはサービス開始が遅れているために、問題が大きくなっています。
では、このような状況下でインターネット接続サービス提供者としてはどのような対策を採る必要があるのでしょうか。
1) IPv6接続の提供
2) ポリシーテーブルの変更推奨(ユーザーサポート)
3) AAAA filter
4) 問題ない実装への移行推奨(ユーザーサポート)
1)の「IPv6接続の提供」は、安定したIPv6インターネット接続をユーザーに提供してしまうという方針です。現状ではIPv4/IPv6のデュアルスタック接続を提供するのが妥当です。IPv6対応ということで将来へつながる取り組みになるので、とても前向きです。ただし、6to4等の自動トンネリング技術は品質が悪く、ユーザーへ提供するサービスとしては不適切であるため、できればきちんと品質を担保できる接続サービスを提供することが好ましいです。
2)における「ポリシーテーブル」とは、端末が通信に利用するIPアドレスを選択する際に、参照するルールテーブルです。詳細はRFC3484 等を参照してください。IPv6対応の端末であればサポートしているはずです。これを利用すれば、IPv6閉域網からIPv6アドレスが払い出されても、それはIPv6閉域網と通信する時にのみ利用するようになり、不要なフォールバックが発生しなくなります。もちろん、別途インターネット側からIPv6アドレスが割り当てられれば、インターネットにアクセスする際にはそのIPアドレスを利用しますので、悪影響もありません。ただ、ユーザーに端末の設定を変更してもらう必要があります。これを簡単に設定できるツールを提供できるように関係各所と調整を行いました。
http://www.attn.jp/maz/p/i/policy-table/
3)の「AAAA filter」は、インターネット接続サービス提供者が、これら無用なIPv6→IPv4のフォールバックが発生すると分かっているユーザー向けのキャッシュDNSサーバでAAAAレコード、つまりIPv6アドレスを応答しなくする方策です。これにより、ユーザーからIPv6のインターネットを隠し、無用なIPv6→IPv4のフォールバックの発生を避けることができます。BIND9.7以降など、既にこの機能を搭載しているDNS実装もあります。この実装ではAAAAレコードのみ、つまりIPv6のみで提供されているホスト名であればIPv6を応答するため、万が一ユーザー側で独自にIPv6の接続性を確保していた場合には、IPv6のみのサイトにアクセスできます。なお、IPv6での接続サービス向けには、これまで通りのAAAA filterを適用しないキャッシュDNSサーバを維持しなければならないため、サーバ運用の手間は少しかかってしまいます。
4)の「問題ない実装への移行推奨」は、問題があると分かっているソフトウェアのバージョンアップやパッチの適用、他のソフトウェアへの移行をユーザーに推奨するものです。ユーザーには最低限、サイトがIPv6対応してもびっくりして固まってしまわないソフトウェアを利用してもらわないと、今後のインターネット利用が不便になってしまいます。また、できれば新しめのソフトウェアを利用してもらった方が比較的フォールバックの実装が良かったり、セキュリティ上の問題も解消されていたりして良いこともあるのですが、一方でユーザー側にもそのソフトウェアを利用しなければならない理由があるかもしれないため、一概に移行して問題ないと言い切れるわけではないのが難しいところです。
World IPv6 Dayを終えて
事前にはさまざまな懸念や心配事がありましたが、当日は想定した程の混乱は無かったように見えました。さまざまな立場で関わったみなさん、あれこれありがとうございました。個人的には、「ふぅ」という安堵とともに、何かもっとうまくやれたんじゃないかという忸怩たる思いがあります。でもってこの先、注力していかなきゃいけない方向も見えてきたので、静かに頑張ろうって決意しているところです。
World IPv6 Dayに際し、多くの方々が影響を検討し、それによる混乱を最小限に抑えるために議論や検証を重ねました。これまでにもIPv6導入のための検証は行われており、そうした知見も広く共有されました。NTT東西の提供する光サービスで使われているIPv6閉域網のIPv6アドレスがユーザー端末に割り当てられていると、IPv4/IPv6対応したサイトにアクセスする際に、IPv6→IPv4のフォールバックが発生してしまいます。この環境を想定していないアプリケーションでは、接続に問題が出ることが予想されました。全般に古いバージョンに問題があるようで、知見が生かされた最近のバージョンではうまく問題を回避するようになっています。古いバージョンに関してもみんなで開発元に修正をお願いするなどしてきましたが、すべてに修正版が提供される状況ではありませんでした。
各ISPでは、NTT東西の光サービスを利用しているユーザー向けにAAAA filterの準備を進めました。これはIPv6トライアルという観点から見ると主旨に逆行しているようにも見えますが、修正版が提供されない場合がある現状でユーザーを混乱から救うには、しょうがない選択だろうと考えています。弊社(IIJ)でも想定以上の混乱が生じた際に備えて、AAAA filterの事前検証と導入準備は進めておきました。NTT東西は、光サービスで利用しているIPv6閉域網にインターネット向けのTCP SYNが送信された際に、フォールバックを素早く実施できるようにTCP RSTをユーザーに返しています。World IPv6 Dayでは当然このアクセス要求も増加することが予想されたため、TCP RSTを応答する機能の増強をお願いしておきました。
World IPv6 Dayでは日本時間の午前9時にAAAAを設定することになっていました。事前にAAAAレコードを設定しちゃう、おおらかな参加者もいましたが、多くのユーザーが参照するような著名なサイトは概ね予定の時刻通りに設定を行っていたようです。世界のISPや参加者がIRC(Internet Relay Chat)を使って、それぞれの地域でどんな状況かといった情報を交換しながらイベントは進みました。IIJでは特に顧客からの申告も無く推移していたため、AAAA filterの導入は見送りました。世界的に見ても大きな混乱は無く、むしろDNSに登録するレコードを間違ったり、サーバの設定で問題があったりする場合が多かったです。これらの問題はすぐさまIRC で情報交換され、問題解決に向けて対応されていました。
今回、各ISPにはユーザーからの障害申告はほとんど無かったようですが、ユーザー側で全く問題が無かったわけでもなく、TwitterでIPv6→ IPv4フォールバックの影響を受けていると思われるユーザーも散見されました。実は接続に問題のあるユーザーは日常的に相当数いるため、どれほどがWorld IPv6 Dayの影響か分かりません。当日、見つけられる限りコンタクトを試みたところ、そのうち1名の方から、ポリシーテーブルの変更で問題無くアクセスできるようになったと報告がありました。当日はIPv6のトラフィックも増加しました。特に着実に計画を進めてIPv6対応のユーザーを増やしていた接続事業者では、Gbps単位でIPv6のトラフィックが増えたと聞いています。一部コンテンツは当日のトライアルが終了してもAAAAレコードを残したままにしているので、その後もIPv6のトラフィックは以前よりは増えた状況が続いています。
今後、インターネットではIPv6対応のコンテンツやサービスが増えていくでしょう。今回の経験を通じて言えば、今後もユーザーが楽しくインターネットを利用するには、それぞれのユーザーが適切な利用環境を整備することが重要です。例えば、一番お勧めなのはIPv6接続の導入です。知見が生かされた最新版のアプリケーションに更新するのはセキュリティ対策の面からもお勧めです。今年はさまざまな事業者がコンシューマー向けのIPv6接続サービスを提供し始めました。ISPとしては、ユーザーがうまく選べて、適切な接続環境を整えられるようにサービス提供や情報提供を行っていく必要があるだろうなあと考えています。
今回は、IPv6対応する際の問題点を浮き彫りにすることを一つの目的にしていました。この点は文句無く世界的に大成功です。これまでになく多くの環境で検証が行われ、問題点の共有と開発元へのフィードバック、対応策の検討が行われました。関係者の方々による事前の尽力もあって、当日も大きな混乱も無く終えることができました。報告書には載らないでしょうが、あちこちで淡々と頑張ってくれていた方々はいっぱいいます。勝手に心から感謝します。今後も楽しく頑張っていきましょう。
(株式会社インターネットイニシアティブ 松崎吉伸)
- ※1 IPv6 → IPv4のフォールバック
- IPv6とIPv4の双方が利用可能な状態(デュアルスタック)の環境において、何らかの要因でIPv6による通信ができない場合に、それを諦めてIPv4での通信に切り替える動作、もしくはその逆の、IPv4での通信からIPv6での通信に切り替える動作を指します。