こんにちは!ドイです。
今回は、今まで興味があったもののなかなか手をつけられずにいたIPv4、IPv6について勉強していきたいと思います。
IPv4、IPv6について勉強しなければ!と思ったのは1〜2年ほど前。X(旧Twitter)で、こちらのツイートが流れてきました。
きこえますか…過去に「プロフェッショナルIPv6」の初版と第2版の両方を無料ダウンロードするだけで満足して全く読んでいない、あなたの…心に…直接… 呼びかけています…
— 小川晃通(あきみち)PhD。YouTubeでIPv6やTCP/IPの解説動画作ってます! (@geekpage) 2022年11月13日
第I部「インターネットとIPv6の概要」だけでも今すぐ読み始めるのです…
最初の一歩をまずは超えるのです!!! https://t.co/t2mqK4R5Om
プロフェッショナルIPv6を無料DLして、読み進めたものの心が折れて放置してしまっていたのですが、最近になってようやく生活の中でIPv4、IPv6について疑問を持つようになってきました。
と言いますのも、お盆休みを利用して旅行に行った際に宿泊したホテルのHPに、下記のようなことが書いてあったのです。
ネット速度は市内ホテル最速。IPv6(IPoE)接続方式を採用しています。
IPv4とIPv6はバージョンの違い程度の知識しかなかったため、速度が速くなるとはなんぞや?と興味を抱いたのです。
少し興味を抱くと、例えば賃貸のサイトなどでも「ネットの速度を速くしたいのなら、「IPv6」に対応したプロバイダを利用する」などといった情報が書かれているのが目につくようになりました。
興味を抱くと楽しくなってしまうものですね。前置きが長くなりましたが、「IPv6を利用した場合、ネットの速度は速くなるって本当?」という点について学んでいきたいと思います。
そもそもIPv4、IPv6とは?
インターネットを利用する際、パソコンやスマートフォンといった端末には個々を特定するIPアドレスが割り当てられます。インターネット上の住所のようなものです。
1980年代から利用されてきたIPv4アドレスですが、2011年の2月にある問題が起きます。IPv4アドレスの中央在庫が枯渇しました。いわゆるIPv4アドレスの枯渇問題です。 IPv4アドレスは、 32ビットの値を使っています。2の32乗なので約43億個のIPv4アドレスを持つことができます。しかしインターネットの規模が拡大すると同時に、IPv4アドレスの需要が供給を超える形になりました。そこで開発されたのがIPv6アドレスです。IPv6アドレスでは、128ビットの値を持ちます。プロフェッショナルIPv6にはこう書かれています。「IPv4アドレスに比べて「2の96乗倍」にもなります。(中略)IPv6の最大の特徴であり、IPv6が開発された理由です。」
IPv4、IPv6の違いは?
先ほど述べた通り、IPv4、IPv6ではビット数の違いがあります。それ以外に、問題として挙げている「速度」に関わる相違点として、接続方法が異なるという点が挙げられます。
IPv4ではPPPoE接続、IPv6ではPPPoE接続とIPoE接続が使われています。いわゆる「速くなる」と言われるのは、IPv6でIPoE接続を行う場合の話になります。
図を使って説明していきます。
IPv4で行われるPPPoE接続の最大の特徴は、ISP事業者を経由する前に網終端装置(NTE)を利用する点です。一方IPv6IPoE接続では、網終端装置(NTE)を経由しません。IPv6は速度が速い、というよりもIPv4で速度が遅くなっている理由が、この網終端装置(NTE)にあります。回線が混雑すると一つの網終端装置に対してのユーザー数が限られているため、通信速度が遅くなります。
網終端装置(NTE)を経由しないIPv6IPoE接続では、通信速度が比較して速くなるのです!と締めたいのですが、実は一筋縄ではいきません。そもそも、接続先であるWebサーバーがIPv6対応をしていない場合、IPv4でPPPoE接続をすることになるので、網終端装置(NTE)を経由することになります。
ここでポイントなのですが、冒頭にIPv4の枯渇問題を解決するべく登場したのがIPv6と説明しましたが、IPv4とIPv6は互換性がありません。
WebサーバーがIPv4で運用されている場合はIPv4での通信、IPv6で運用されている場合はIPv6での通信が必要になります。では、IPv6対応されていないWebサーバーを見に行く場合は、必ず網終端装置(NTE)を経由しなければならないのか?というと、経由しないようにする方法があります。それが IPv4 over IPv6技術です。こちらについては次回詳しく触れたいと思いますが、ユーザーがIPv6対応されていないWebサーバーを見に行く場合、IPv4とIPv6に変換する程度の認識で良いかと思います。
次の相違点に、パケットの構造の違いがあります。
IPパケットはヘッダとペイロードに分けられますが、IPv4の場合そもそも使用されていない機能などが含まれていることがわかりました。IPv6では不要なフィールドを廃止して、ヘッダを簡素化しています。このため処理がシンプルになり、IPv4と比較した場合、IPv6では速度が向上したと言われています。
速度の違いという点で相違点をまとめるとこのようになります。
IPv4 | IPv6 | |
---|---|---|
ビット数 | 32ビット | 128ビット |
接続方式 | PPPoE接続 | PPPoE接続 or IPoE接続 |
パケット | 複雑 | シンプル |
まとめと反省
「IPv6を利用した場合、ネットの速度は速くなるって本当?」という点に関して、 IPv6が速いというよりも、IPv4接続の際に速度が遅くなっている要因を持たないIPoE接続をすることで、比較して速度が速くなっていることがわかりました。
今回初めてインフラに関することをわかろうとするまで理解しようとしましたが、調べれば調べるほど自分が何もわかっていないことがわかりました。仕事をしていく上で、業務上必要なことの勉強ももちろん進めるべきですが、興味を持ったことを調べる楽しさは格別ですね。
次回は引き続き、もう少し詳しくIPv4、IPv6について調べていこうかと思います。
ちなみに、IPv6を勉強するきっかけとなったツイートをされた小川晃通さんですが、プロフェッショナルIPv6の著者であり、IPv6関連の動画をたくさん上げられています。とっかかりとして下記の動画がとても参考になるので、ぜひご覧ください。