2010年4月 1日

IPv6

ヤフーのIPv6への取り組み

  • このエントリーをはてなブックマークに追加
IPv6 logo

こんにちは。IPv6 プロジェクトのスタッフです。

今回は Yahoo! JAPANでの IPv6 に関する取り組みを 3回に分けて紹介します。

Yahoo! JAPANにおける IPv6 への取り組みは、近い将来広がる IPv6 のネットワークに対して Yahoo! JAPANのサービスがこれまで同様、もしくはそれ以上に快適に提供することを実現することを目的としています。この目的の元、これまで既存の IPv4 から移行時に発生する問題や、対応を行い、同時に IPv6 によって実現される新たなサービスの可能性に取り組んでいます。

Yahoo! JAPANの IPv6 対応は、サービスを IPv6 に対応させ、拡張すると言う内的な活動と平行して、IPv6 に対応したときの外的な影響を調査するという二本の柱を軸に行っています。今回は、後者の外的な影響を調査する内容をご紹介したいと思います。

お客様に対する影響

サービスを IPv6 に対応させるために取り組む課題があります。その一つは、サービスを IPv6 に対応させることによって、お客様に対しどのような影響を受けるかというものです。例えば、これまでのサービスが既存のお客様に対して何らかの障害を起こすといった事象は原則として許されません。
IPv6 への対応は、前提としてが守ることが出来るかが重要になります。例えば IPv6 に対応して『サイトが表示できない』『サイトの表示が遅れる』といった障害が全体もしくは一部のお客様に影響を及ぼす場合、サービスにおいて致命的と判断され、サービスとしてリリースすることが出来なくなります。

Yahoo! JAPANでは、今年初め頃、ある一定期間、特定のサービスのページの中で IPv6 での接続性の調査を行いました。ここでは、IPv6 でのサービス利用に対するインターネットの到達性に着目した解析と実際にサービスを IPv6 に対応した検証を紹介したいと思います。

サービスの利用における IPv6 の接続性の調査

この調査は、IPv6/IPv4 のアドレスを持つ複数のパターンのオブジェクトをサイトのページに埋め込み、そのアクセス状況を解析することによって行いました。

A IPv6 のみアクセスする。 オブジェクトの URL は IPv6 Address をリテラル表記で直接記述した URL のオブジェクト
B IPv4/IPv6 双方の接続と DNS A と AAAA レコードを持つ FQDN での URL のオブジェクト
C IPv4 のみの接続と DNS A レコードを持つ FQDN での URL のオブジェクト

とします。つまり、A は将来のIPv6 のみでのサービス、B は既存の IPv4 でのサービスを IPv6 に対応した場合、C は既存の IPv4 のみのサービスとして想定しています。
これに対し収集されたアクセス結果の分類として

  • A にはアクセスされず、B と C に対して IPv4 でアクセスする

これは既存の IPv4 サービスを IPv4/IPv6 の双方でサービスを提供したときに、IPv4 のみの接続が行われ、IPv6の影響を受けないアクセスとします。つまり IPv4 のみのアクセスです。

  • A に IPv6 でアクセスされ、B と C に対して IPv4 でアクセスする

これは端末となる PC は IPv6 に対応しているが、インターネットへの接続として IPv6 の接続を一切持たないと考えられるアクセスになります。実は一部の IPv6 に対応した OS は IPv4 のみの接続しか持たない場合に IPv6 の接続を実現するために Teredo や 6to4 と呼ばれる IPv4 で IPv6 が利用できる機能を持つものがあります。
詳細は長くなってしまうので割愛しますが、これを利用して、IPv6 の接続を持たないIPv6 に対応した端末を調査します。

  • C には IPv4 でアクセスされるが、B に IPv4 と IPv6 共にアクセスが来ない

これは既存の IPv4 でのサイトを IPv6 に対応させると障害を起こしてしまうアクセスとします。

上記以外のパターンのもの、例えば C にアクセスが来ていないといった状況は不完全なデータとして取り扱います。

以上の想定に従って集計し、グラフ化します

集計は 23,399,905 アクセスに対して行っています。

全アクセスのうち、既存の IPv4 サービスを IPv6 化することに対し 99.4% はアクセスが可能であるということが読み取れます。

実際に IPv6 のアクセスはどの程度なのか ?

まず、実際に IPv6 でのアクセスと言うのはどの程度あるのかを調査したいと思います。
解析の対象となるアクセスオブジェクトは、

次に、ある一日分のデータを抽出し、アクセスの傾向を見てみます。

  1. A に対する IPv6 でのアクセス。(v6 Only)
  2. B に対する IPv4 でのアクセス。(v46 v4 access)
  3. B に対する IPv6 でのアクセス。(v46 v6 access)

をアクセス数に対して一日の時系列に5分毎に集計したグラフを示します。

このグラフには、1,2,3 全てが含まれていますが、3は他の数値に潰されて視認することが出来ません。
ですので 1 と 3 だけをグラフ化すると

となります。これでかろうじて IPv4/IPv6 の両方でサービスされるサイトに対して IPv6 によるアクセスのグラフを確認することが出来ます。IPv6 へのアクセスの数値は多くても 5分間で20アクセス程度となります。
1 のアクセスは前述の Teredo や 6to4 のアクセスと考えられます。このアクセスは、IPv4 でのアクセス傾向に追従しているように見えます。このため、1のアクセスはお客様からのサービスの利用でのアクセスと考えられます。逆に 3 のアクセスはあまりにもサンプルが少ないためサービスの利用によるアクセスかを読み取ることが出来ません。このように、既存の IPv4 サービスを IPv6 で提供しても、IPv6 で接続されるのは全体アクセスの 1% 未満になります。

IPv6 のサービス提供は障害を引き起こすか ?

次に、あるサイトを IPv4 に加え、同一 FQDN においてIPv6 のサービスを提供した場合、既存の IPv4 のお客様が接続できなくなる状況を調査します。
この調査は、

A IPv4 のみアクセスする。DNS レコードは A レコードしか持たない URL のオブジェクト
B IPv4/IPv6 DNS A と AAAA レコードを持つFQDN を持つ URL のオブジェクト

これに対し、A に対してアクセスはあるが、Bに対して IPv4/IPv6 共にアクセスが無かったパターンを抽出し解析を行います。
これによって抽出されたデータをブラウザに対して集計し、その比率のグラフを示します。

Yahoo! JAPANのサービスにおけるOperaのブラウザシェアは数%以下でしかありませんが、それに比較し、このグラフでは Opera の比率が極端に大きくなっていることがわかります。

Opera 利用における IPv6 対応の影響検証

IPv6 への対応が Opera を利用した端末環境において何らかの障害を引き起こすと考えられるデータが取得されました。ですので、具体的にその障害がどのような環境化で、どのような障害を引き起こすかを調査します。

検証は、IPv6 を有効にした Windows XP を利用し、複数の Opera のバージョンを用いて IPv4 のみの接続環境下で行っています。対象とした Opera のバージョンは 10.10 と 10.50、10.51 とし、検証に利用する Web Server を実際にブラウズするといった手法で行っています。検証に利用する Web Server は、その FQDN に A と AAAA を返すものと、A のみを返すものを設定しています。

結果は

  A のみ A と AAAA の双方
Opera version 10.10 ×
Opera version 10.50
Opera version 10.51

となり、Opera の version が 10.10 のものは、IPv4 のみの接続で IPv6 での接続性が無い環境において、 AAAA を持つ FQDN に対しブラウズすることが出来ないという結果となりました。

実サービスの IPv6 化

次に、実サービスにおける IPv6 化を実際に行い検証を行います。

ここまでの解析によって、サービスを IPv6 に対応させることによってアクセスに対し 0.23% の障害が起き、そのうちの 27% が Opera による障害であることが解ります。この障害は、Opera の version に依存し、10.50 以降に update を行えば解消することがわかりました。しかしながら残り 0.06% に関しては残念ながら明確な要因が判っていません。
このため、実サービスでの検証は、期間を最大1週間と限定し何らかの致命的な障害が明確になった時点ですぐに IPv6 での提供を停止するといった前提で行っています。

この前提に従って実際に実サービスに対し IPv6 の対応を行い検証を行いました。期間を区切って時限的に IPv6 化を行いサービスへのインパクト、アプリケーションの挙動等を調査しました。調査を行ったページは MY Yahoo! (https://my.yahoo.co.jp/) で行っています。
サービスは正常に動作し、閲覧にも大きな問題は起きませんでしたが、残念ながら数件のお客様からの報告で、Opera 以外での環境において、それまで閲覧できていた該当サイトの閲覧が出来なくなったといった障害の報告があり、事前の取得データ上の 0.06 % とはいえ実際のお客様への影響が及んでいることも判明いたしました。

これまでの結果を踏まえて

以上のように、非常にわずかですが既存サービスを IPv6 に対応すると、それまで利用されていたお客様への影響を及ぼし、利用が出来なくなるという状況を生むことが確認されました。逆に、IPv6 に対応することによって IPv6 によって接続され、利用される状況は全体に対し、現状ではまだ非常に少ないながら、端末環境の IPv6 への対応が着実に進んでいる状況が確認されました。
これらの結果は、現状、インターネットは IPv6 への過渡期の状況にあり、それが急速に進んでいると考えられます。
現在、Yahoo! JAPANでは IPv6 に対する取り組みを行い、既に実サービスへの展開に対しての作業が可能な状態にあります。しかしながら、IPv6 への対応を実サービスに行うのは IPv6 への過渡期にあるインターネット環境によるサービスへの影響のリスクが高く時期尚早と考えられます。
しかしながら、IPv6 へのニーズが高まり、今後 IPv6 によるサービス提供が近い将来求められることも確かであると考え、今後も IPv6 への対応を積極的に行います。
今後は、このような障害の調査と対応と共により快適なサービスの提供と新たな IPv6 というネットワークに向けての展開を推進していきたいと考えおります。これに先立ち、こちらの blog での紹介、また実験や検証として以下の URL で IPv6 でアクセス可能な MY Yahoo! のサイトを公開いたします。

IPv6 のみで接続可能な My! Yahoo http://v6.my.yahoo.co.jp/ (AAAA のみを返します)
IPv4 と IPv6 の両方で接続可能な My! Yahoo http://v46.my.yahoo.co.jp/ (A と AAAA の両方を返します)

Yahoo! JAPANでは情報技術を駆使して人々や社会の課題を一緒に解決していける方を募集しています。詳しくは採用情報をご覧ください。

  • このエントリーをはてなブックマークに追加