モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

フレッツ光接続で非常に遅いページがあるのはNTTがIPv6使って身勝手なサービスしてるせい

Bフレッツフレッツ光ネクストで非常に速い速度で繋がっているにもかかわらず、ページの表示に非常に時間が掛かる場合がある。
これはフレッツの公式のサポートページにも載っている問題だ。

MacOS 10.4.xでの特定WEBサイト表示遅延の事象の回避方法|フレッツ公式|NTT東日本

IPv6を使わないようにするとこの問題は解決するのだが、この解決法ではIPv6を使うサービスは逆に使えなくなってしまう。
というか、この問題のせいでIPv6対応しようとするといろいろと不具合が発生してしまうのだ。


(2011/5/27 追記)

BフレッツIPv6アドレス割り当てに関する注意事項|フレッツ公式|NTT東日本
http://flets.com/customer/ipv6_setting.html

ここにNTTが提供している「フレッツIPv6セットアップツール」というものがあるので、それをインストールするのが一番良い対応になると思う。

(/追記)


なぜこんなことが起こるのか。


実はBフレッツだと、接続したと同時に、NTTからDHCPで勝手にv6のIPアドレスが割り振られてくる。
そのため、VistaWindows7MacOS 10.4以降のように、IPv6が最初から入っているOSを使うと(ルータを使っていても、ルータがIPv6パススルー機能を持っていると)デフォルト状態でそのIPv6アドレスが割り振られる。
これはPPPoE接続が行われる以前に、NTTが振ってくる。
つまり、普通のインターネット接続でIPv4で接続される場合には、契約している接続プロバイダが割り振ってくるIPアドレスを、v6についてはNTTが割り振ってくるということだ。
Bフレッツでやってるいくつかのサービス、例えば「ひかりTV」だとかはこのIPv6のアドレスを使ってサービスされていると考えられる。(「と考えられる」と書いたのは、ホームページ上にどの通信を使ってサービスしてるか書かれていないので、公式には発表されていないことを断定してかけないため)


でもこれのなにが問題なの?と思うだろう。


NTTがIPv6アドレスを割り振ってくれるのなら、それでv6の接続は出来るようになるんだからいいじゃん、と思うのではないだろうか。
でも、そううまくはいかない。
このIPv6アドレスは、あくまでNTTのフレッツ網内だけで通信できるようになっており、「インターネット」へは出て行けないのだ。
つまり「フレッツ網という巨大LAN」内だけしか通信できなくなってるわけ。
あと、ちょっと考えれば気づくが、もしこれでインターネットに出て行けるようになっていたら、Bフレッツの契約だけでよくなるんだから(v6が一般的な世間になっていれば)接続プロバイダは不要になってしまう。


そこで一番最初の問題がなぜ起こるのかを説明する。


NTTが割り振ったv6のIPを見て、PCは自分がv6ネイティブで接続していると思うため、DNSを引いてAAAAが返ってくる、つまりv6ネイティブで接続できると返してくるサーバに対しては、まずv6で接続しようとするのだ。
でも、割り振られているv6のIPは、あくまでフレッツ網内部にしかアクセスできないものだから、当然接続できずにタイムアウトする。
タイムアウトしてやっとv4での接続にフォールバックして、接続できるようになる。
そのタイムアウト待ちに時間が掛かるため、接続速度が非常に速いにもかかわらず、ホームページの表示が遅いという現象が起きてしまうのだ。
ちなみにメールソフトの場合だと、OE/Windows Mail/Live MailやMac Mailではフォールバックしてくれないようで、MXにv6のIPも設定してしまうとメールの送受信が出来なくなるという障害が起きてしまう。
これが理由でサービスのIPv6化したくても出来ないところもあるのではないだろうか。


それでも、それほど大きな問題ではないように見えるかもしれない。


v6はマルチホームといって、一つのネットワークインターフェイスに複数のv6のIPを割り振ることが出来る。
だから、NTTが割り振ったv6のIPの他に、接続プロバイダもv6のIPを割り振るようになれば、インターネットへの通信はそのv6のIPから出て行くようになるから大丈夫になるはずだ。
…と考えると思うが、実はそううまくいかない。
NTT東西の出している、NGNIPv6サービス仕様書に凄いことが書いてあるのだ。

[PDF]NGN IPv6 ISP接続 <ネイティブ方式> サービス仕様書
www.ntt-west.co.jp/open/ngn/pdf/ipv6_native_service.pdf

接続事業者のアドレス空間
○収容可能な接続事業者は3社とする
○持ち込むアドレス空間は/23とする

3社って… OCNとWAKWAKぷららでおなかいっぱいですが。


(追記)

NGNネイティブ接続事業者が3社決定、いずれもIX事業者 - ニュース:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20091204/341494/?ST=neteng

選定されたのはBBIX、インターネットマルチフィード、日本インターネットエクスチェンジの3社。いずれも複数のインターネット・サービス・プロバイダなどを接続するIX事業者である。

とのことで、ネイティブ接続できるのはIX事業者だけとのこと。
フレッツ経由でv6ネイティブ接続を提供したい場合には、このIX事業者経由で契約をしろってことなのかな??
このあたりのNTTの方針がよく解らん…

ーーー追記終わり


こうやって見ていくと、NTTはv6を使うことで、逆に日本でのv6の普及を阻害しようとしているとしか思えない。
もしくは、ほとんど独占的な光回線のシェアと、IPv6化という理由を使って、i-modeみたいな世界を「日本のインターネット」に作ろうと考えているのではないのか?と邪推すらしてしまう。
誰かNTTになんとか言ってやってください…



(2011/5/10 追記)

日本のISPのWorld IPv6 Day対応について
http://www.kokatsu.jp/blog/ipv4/news/2011/04/ispworld-ipv6-day.html


原因について書いてある所

日本では、NTT東西のフレッツのFTTHサービスが閉域網のサービスのためにIPv6アドレスをエンドユーザーに割り当てていることから、IPv6に対応している端末の場合、自動的にIPv6アドレスが設定されます。そのため、インターネット上のサービスがAAAAレコードを登録した場合、閉域網用のIPv6をソースアドレスとしてサービスを利用しようとします。ISPIPv6の接続性を提供している場合にはマルチプレフィックスのソースアドレスセレクションの問題が発生します。提供していない場合にはIPv6からIPv4へのフォールバックが発生し、IPv4にフォールバックするまでの1秒から30秒程度の遅延が生じる可能性があります。


そして対策として

  • ポリシーテーブルの導入

これに対しては、WindowsではRFC3484(※3)で規定されているポリシーテーブルを記述することで問題を回避することができます。しかしながら一般ユーザーには困難な作業であることが予想されるため、業界関係者の間ではポリシーテーブルを記述するソフトウェアを開発し、6月8日までに配布することが検討されています。

  • AAAAフィルターの導入(暫定的な対策)

ローカルオンリーのIPv6環境及び実験的なIPv6トンネルの利用において、通信の遅延、スループットの低下や通信の断裂を避けるために、IPv6グローバルリーチャビリティ環境を完全に持っている端末やアプリケーションに対してのみ参加サイトのAAAAレコードを通知するという仕組みが考えらます。このためには、ISPDNSIPv6トランスポートによるアクセスに対してのみAAAAレコードを応答するというフィルターを挿入する手法があります。
本フィルターについては、Bind 9.7以降のバージョンにおいて実装がされており、設定することにより動作させることが出来ます。
World IPv6 Dayに対応したAAAAフィルターの運用は日本のISPにより実施される予定です。


なんでこんなバカバカしいことやんなくちゃいけなくなったのか…