2016年7月22日
「@nifty with ドコモ光」というインターネット接続サービスで、IPv6オンリーのインターネット接続を試した。IPv6は、一時的につながらなくなった時期もあるが、開通一週間後に、復活した。
IPv6によるインターネットへの接続では、手持ちのルーターは単純なブリッジとして動作しているだけで、認証やアドレス変換などは行っていない。
ルーターを外して、パソコンを直接ドコモ光で貸し出されているONUに接続すれば、IPv6オンリーのインターネット接続にできる。パソコンに、PPPoEの設定は行わないので、IPv4ではインターネットにつながらない。IPv6の設定では、「IPv6を使う」という設定を必要に応じて行うだけでよく、ユーザ名やパスワードは不要だ。
IPアドレスはIPv6のみ取得
Linux(Ubuntu 14.04 LTS)で、IPv6オンリーの接続を行い、ifconfigコマンドを実行した結果が、以下だ。
IPv6のアドレスのみ取得され、IPv4のアドレスはない。
IPv6のアドレスが3つ表示されている。
上の2つは、"240B:10:"で始まるもので、日本ネットワークイネーブラ社が提供したプレフィクスに、端末側で2つのアドレスをつけたものだ。そのうち1つは、MACアドレスにそのまま対応するもので、もうひとつはそれなりにランダムな感じがするものだ(起動のたびに値が変わったりする)。
最後の1つは、"FE80::"で始まるもので、MACアドレスから一意に決まる。このアドレスは、LANの範囲内だけで通信できるアドレスで、リンクローカル アドレスというものだ。NGNや接続事業者が用意したルーターを超えられないので、インターネットにはつながらない。
日本ネットワークイネーブラからもらえる、IPv6のプレフィクスが、毎回同じものなのかは、よく分からない。固定IPアドレスのサービスというわけではないから、プレフィクスは毎回でないにしろ、ときどき変わってしまうのであろうか?毎日メモしてみようか?
DNSもIPv6で可能
この環境では、DNSもIPv6で動作させるしかない。今回は、DNSサーバに2001:4860:4860::8844 (google-public-dns-b.google.com)を自分で設定して使ったが、接続事業者の側で提供しているDNSサーバを使ってもよいだろう。
ちなみに、Ubuntuでは、DNSサーバのアドレスが、アプリからは127.0.1.1に見えるように設定されている。このままでは、DNSの本当のアドレスが分からないので、hostコマンドに -T オプションをつけて、TCPでネームサーバにつないで検索を行い、後でnetstatコマンドを使って、アドレスを確認した。
ちなみに、DNSサーバは、IPv6でつないでも、IPv4でつないでも、ホスト名に対しては、IPv4アドレスと、IPv6アドレスの両方を返すようになっている。
IPv6オンリーだと、つながるサイトとつながらないサイトが出てくる。
つながるのは、海外系のITサービス会社や、通信会社が多い。
Google(Google検索、 Googleドライブ、 Googleマップ、 Google+等)やYoutube、Facebook、Wikipedia、 マイクロソフト社のホームページなどは、そのままつながった。
TwitterにIPv6でつながらなかったのは、残念だ。
Windows Updateや、Windows Defenderのアップデートは、IPv6だけでも使えるので、IPv6しか使えない環境でも、Windows 10はそこそこ安全に使えそうだ。
一方で、Ubuntuのアップデートサイトには、IPv6では接続できなかった。IPv6しか使えない環境では、OSによっては、セキュリティアップデートが入手できず、安全に運用できないことがあるので、十分気をつけたほうがよいだろう。
中央省庁にも、つながるところがある。総務省や首相官邸、厚生労働省には、接続できた。一方で、財務省にはつながらなかった。プロバイダの契約が、省庁毎にバラバラになっているのだろうか。縦割り行政を、こんなところにも見た気がする。
通信会社のホームページは、さすがによくつながる。NTT東日本やNTTドコモ、au、ソフトバンクには、そのままつながった。
KDDIのように、IPv6でつなぐとデザインが崩れるサイトもあった。一部のファイルがIPv6では入手できないような、おかしなサイトになっているのだろうか。悲しい。
プロバイダのホームページには、IPv6でつながるところと、そうでないところがある。Biglobeのサイトにはつながるが、niftyのサイトにはつながらない。OCNのサイトは、接続はできるがデザインが崩れた。
一方で、大手メディアや電機メーカーなどは、全くつながらなかった。大手メディアは、IPv6の世界までは情報を広める気がない、というよりは、IPv6でサーバを持つと、NGNまでしか行けないIPv6の環境を持つユーザで、つながりにくくなるから、配慮しているのかもしれない。
電機メーカーのサイトにIPv6でつながらないのは、斜陽産業となり、技術を牽引する役目を終えてしまったからだろうか。
自分が多用している「dアニメストア」には、IPv6ではつながらないようだ。トラフィックがひじょうに多いサービスなので、早く対応してほしい。
IPv6だけで接続すると、一般のスピードテストのサイトにはつながらなかった。NTT東日本のサービス情報サイトで、NGN内の速度を計測したところ、450Mbpsだった。なお、パソコンとONUは有線LAN(1000Base-T)で接続した。
ちなみに、以前計測した結果と違った値になっているのは、速度を測った日が異なるからだと思われる。ベストエフォートのサービスなので、計測する日や時間帯によって、混雑状況が変わってくるからだ。
次に、無線LANルータをONUとPCの間につなぎ、無線LANルータを「アクセスポイントモード」(ルータとして機能させないモード)で動作させた。
この状態で、Android端末(ZenfoneGo;Android 5.1.1)を起動した。
ところが、IPアドレスを取得できないというエラーが発生して、接続状態にならなかった。
IPv6アドレスを取得するだけではだめで、IPv4のアドレスをDHCPで取得できないと、ネットにつながったことにならないようだ。
ブラウザなどを起動してみたが、どこにも接続できなかった。
IPv6オンリーの環境で、Chromecastを起動すると、残念ながらインターネットにアクセスできなくなってしまう。
IPv6だけの環境では、Chromecastも利用できないようだ。
ブロードバンドルータをルーターモードに戻し、PPPoE(IPv4用)の設定を行い、IPv4で通信できるようにした。さらに、ルーターでIPv6のパケットを通過させないように設定すると、ルーターの下流では、IPv4だけでインターネットに接続する環境となる。
この設定では、パソコンがもらえるIPアドレスは、ルーターが作り出したIPv4のプライベートアドレスだけだ。
この接続で、googleのIPv6接続を確認するサイトを見ると、以下のように表示された。
IPv4のネットワークにしかつながっていないが、IPv6とIPv4の両方に対応したホームページなら見られる、という程度の意味らしい。
ちなみに、NGNの内部で、IPv6でしかつながらないサイト(http://flets-east.jp)には、つながらなくなってしまった。
IPv4だけを使う設定で、インターネットの接続速度を調べてみた。パソコンとルータ、ルータとONUはそれぞれ、有線LAN(1000Base-T)で接続した。
下りは約320Mbps、上りは約182Mbpsで、かなり速い。
ブロードバンドルータに、IPv4用にPPPoEの設定を行い、IPv6のパケットはブリッジ(パススルー)するように設定するのが、ごくふつうの使い方と思われるので、そのように設定した無線LANルータをONUに接続し、PCとAndroid端末を接続して、さらに様子を見た。(実は、最初にインターネットにつながったときの設定が、この設定だった。)
この状態では、PCには、IPv4とIPv6のアドレスが両方とも割り当てられた。
パソコンが持つIPv4のアドレスは、手元の無線LANルータが作り出したプライベートアドレスだ。ルーターがIPアドレスの変換やPPPoEへの接続を行い、プロバイダーが提供するIPv4によるインターネットの入口につながる。
パソコンが持つIPv6のアドレスは、グローバルなものだ。ルータはアドレスの変換やPPPoEの処理を行わずにNGNに接続し、データはNGNを通り抜けて、接続事業者のネットワークを経由して、IPv6によるインターネットにつながる。
Webブラウザでホームページにアクセスするときは、まず、IPv6でつながるのであればIPv6で接続し、そうでない場合に限りIPv4を使うようだ。
接続の状態をnetstatなどで調べてみると、IPv6による接続とIPv4による接続が、混ざっている。
DNSサーバは、ホスト名を渡せばIPv6とIPv4の両方のアドレスを渡してくれるので、このような使い方をしても、とくに問題は起こらない様子だ。
従って、適当に使っていれば、IPv6で使えるサイトから、IPv6へ移行していくように仕向けられているようだ。
Androidのスマホ(Zenfone Go;Android 5.1.1)が手元にあるが、無線LAN経由でつないでみたところ、IPv6で接続可能なサイトでは、IPv6を使っている旨の表示が出た。
Androidは、今どきのLinuxカーネルを使っているので、IPv6への対応そのものは、できているようだ。ただし、IPv4でつながっていないと、インターネット接続がないとみなされてしまう、大きな問題を抱えている。
IPv6,IPv4混在環境では、Chromecastも正常に動作した。ただし、ChromecastがIPv6として通信を行っているかは、見た限りでは分からなかった。
ちなみに、複数の端末(PCやAndroid端末)をIPv6で接続すると、それぞれにグローバルなIPv6アドレスが設定される。
パソコン単独でも、有線LANと無線LANを両方使ってルータにつなぐと、有線LANと無線LANそれぞれで、異なるグローバルなIPv6アドレスが設定されたりする。
64ビットのプレフィクスとしてIPv6のアドレスが通知されているのであれば、MACアドレスが異なる機器をつなぐのであれば、いくつつないでも、有効なグローバルのIPv6のアドレスとして振る舞うと考えられる。
契約上は、とくに接続できる台数の制限はないようなので、今のところ問題はなさそうだ。
IPv4では、1つのグローバルIPアドレスをルーターで変換して、複数の端末で分け合う必要があるため、インターネット側から端末に接続するためには、面倒な設定が必要だが、IPv6は素直に各端末がグローバルなアドレスを持てるので、インターネットと相互につなぎやすいという面では、優れていると思う。
これからは、IoTの時代で、何でもネットにつなぎまくりたくなるだろうけれど、その全てがグローバルなIPv6アドレスを持てると思うと、わくわくしてくる。
ところが、開通3日めくらいに、IPv6のインターネットが突然つながらなくなってしまった。詳細は、「次のページ」に記載している。
次のページ:@nifty with ドコモ光で、IPv6接続オプションが開通
前のページ:なぜか最初からIPv6でつながった@nifty with ドコモ光
トップページ → なにげなく自由研究(もくじ) → @nifty with ドコモ光で、IPv6だけのネット接続を試す
著者のメールアドレス・Twitterアカウントは、トップページからご覧ください。
製作・著作:杉原 俊雄(すぎはら としお)
(c)2016 Sugihara Toshio. All rights reserved.