自己紹介とセッションの概要

小川晃通氏(以下、小川):よろしくお願いします。晃通と言います。ここ20年近く、ネット上で情報発信などをやっていました。

今日は「今さら聞けないIPv6ネットワーク」というタイトルで発表します。ちょっと煽りみたいな感じで、“今さら聞けない”というタイトルではありますが、IPv6そのものに関してはまさに今から広がりつつあるものなので、今さら聞けないと言いつつ、むしろ今から勉強するぐらいがちょうどいいのかもしれないタイミングだと個人的には考えています。

このあと説明しますが、IPv6の利用はまさに今、非常に増えています。そのため、タイミングとしてはもう本当にこれからで、まだまだ広がり始めぐらいなので、ここ数年後ぐらいに勉強する人はもっと増えると考えています。

今日の発表の目次です。まず、最初にIPv6が増えていますという話を紹介します。次に、IPv6とは何かという話とIPv6とDNSの話。最後に、日本国内限定の話ですが、巷でよくある「IPv6で速くなる」と言われている話で、どういうことか紹介します。

一般家庭では特にIPv6が増えている

最初、IPv6は増えていますという話です。最近は特に、たぶん多くの方が気づかずIPv6を使っていると思います。IPv6の本書いておいてなんですが、僕も自分がIPv6を使っているかどうか、わからないことが多いです。

たまたまスマホやPCなどでWebのブラウズをしていて、「あなたはIPv6で接続しています」みたいなものをポロッと見たときに「あ、もう今のここの環境ですでにIPv6なんだ」と。僕も驚いたことがあるので、それぐらい気づかずに使っている方々が、今はすごく多いと思います。

今までずっと使っていたスマホや、普通のISPで使ってた家の固定回線などで、ある日突然IPv6が有効になるみたいなこともあるので。それがいいか悪いかはアレですが、いきなり使っている、知らず知らずに使っている方々も非常に多いんじゃないかと思います。

一般の家庭環境ではそういうことが多いですが、企業内のLANなどは、まだIPv4が多いという状況ではあります。家庭やスマホなど、そのあたりであれば、IPv6は非常に増えています。

IPv6の具体的な普及率

IPv6に関してどれぐらいの普及率か、どれぐらい採用されているか、どれぐらい利用されているかで、指標としてたぶん世界で一番使われていると思うんですが、Googleが公開している「IPv6の採用状況」があります。

これによると、2021年7月10日時点での情報だと、Googleが世界で運営しているサーバーに対して接続したユーザーの割合が、約36パーセントということになっています。そのため、Googleに対して通信したユーザーの3分の1以上が、もうすでにIPv6で通信できる環境にいて、かつ通信をしているわけです。

日本はどれぐらいかですが、Googleが公開している情報によると、だいたい40パーセントぐらいが国内でのユーザーの割合だとされています。40パーセントぐらいのユーザーがIPv6で通信できる環境をもっていて、実際通信しているということが言えそうです。

国別で世界で一番IPv6のユーザーの割合が多いとされているのが、数日前に見た状況だとインドで約59パーセント。だいたい6割の方がIPv6を使ってGoogleと通信をしているわけです。

ここ数年前ぐらいまでずーっとベルギーが世界1位のIPv6採用率でしたが、今はインドに抜かれていて。今はたぶん世界2位か上位ぐらいですが、約52パーセントがIPv6で通信しています。

アメリカは数日前に49パーセントぐらいと出ていました。だいたい半分ぐらいです。

AkamaiもIPv6の普及状況を公開しています。それによると、1位はインドで61パーセント。Googleが公開している数値に近い状態です。Akamaiの統計によると日本は6位で、43.7パーセントがIPv6を使ってAkamaiのキャッシュサーバーなどと通信をしたことになっています。

これはGoogleやAkamaiとIPv6で通信した割合なので、世界全体のインターネットトラフィックの6割や4割、3割がIPv6というわけではありません。ただ、GoogleやAkamaiなどを使ってるところと通信するというと、かなりの割合のユーザーが通信していることなので、IPv6に対応しているユーザーの割合という意味では、たぶん実世界に近い数値なんじゃないかなと思います。

4、5年前のイメージだともっと少ないと思いますが、今はこれぐらい増えているということです。

IPv6が増加している理由

なぜこうなったかですが、IPv6対応ネットワークが急激に増えています。例えば、NTTドコモがIPv6だけの環境をモバイルユーザーに提供する準備をしているみたいな話があって、けっこう話題になっていました。

いろいろなモバイルネットワークでIPv6オンリーにしているのは、例えばいくつかアメリカのT-モバイルなどもありますが、IPv6とIPv4のデュアルスタックで提供しているのは、今非常に多いです。あと、ISPがIPv6対応しているのも非常に増えています。

家庭向けのネットワークの多くIPv6。本当に今は増えています。それによって、例えば家庭向けネットワークが多くなっているところがわかりやすいというか。たぶんそれが原因じゃないかと言われている現象で、2020年のコロナでみんながステイホームしたときがありましたが、そのステイホームしたときにIPv6の採用率、利用率がガーンと上がったんです。

どういうことかというと、昼間に企業からインターネットにアクセスする人が減って、家からアクセスする人が増えたんです。そこが増えたからIPv6の普及率がその瞬間増えたとか、あとは、年末年始の大晦日や正月ぐらいのときに、一気にガーンとIPv6普及率が上がる傾向があります。

ということで、家庭向けはみんなIPv6対応がどんどんしているけれど、企業向け、企業のLANは未対応の場所はまだ多いんじゃないかという推測が、今されています。

アプリケーションのほうもいろいろと対応がどんどん進んでいます。例として出されるのが、2016年6月からIPv6対応をしていないiOSアプリは、審査通過できなくなりました。ということで、今あるiOSアプリは、基本的にIPv6対応されているものばかりになっています。

こういうところもあり、ネットワーク、アプリケーション、OS、そこらへんでIPv6対応がどんどん増えている状況です。

ということで、IPv6の利用は非常に増えています。数年前、もしくは10年、20年前にIPv6を勉強された方々のイメージとは、ぜんぜん違う状況に今なっているわけです。

利用が増えているということは、その情報を必要する方々が増えているということでもあるので、これからどんどんIPv6に関しての知識が必要になる方々は多くなると思います。

そもそもIPv6とはなんなのか?

ここで「IPv6とは?」という話です。IPv6はIPv4アドレスの在庫枯渇問題に対する解決策として作られたプロトコルです。IPv4アドレスが足りなくなったので、IPアドレスの空間を大きくしたのがIPv6です。

IPv4のアドレスは32bitですが、IPv6のアドレスは、bit数で言えばその4倍の128bitです。bitは1増えるとそれによって表現できる空間、情報量が2倍になります。32bitから128bitに増えるとbit数は4倍ですが、アドレス空間としては4倍ではなく2の96乗倍の空間なので、メチャメチャでかいです。

ということで、IPv4アドレスが足りなくなったので、bit数を4倍にして空間としては2の96乗倍大きくしたのがIPv6です。

IPv6は、IPv4アドレスの在庫枯渇の解決策として作られています。長期的解決策がIPv6で、当時短期的解決策と言われていたのが、IPv4のNATとプライベートIPv4アドレスとCIDRです。

プライベートIPv4アドレスのRFCが発行されているのが1996年です。その1年前、1995年に最初のIPv6のRFCである1883が発行されています。

ということで、NAT、プライベートIPv4アドレスは今ではみなさんにとって当たり前だと思います。RFCとして、プライベートIPv4アドレスよりも前に発行されているのが、IPv6です。

それだけ昔からIPv6はずっとあって、普及したのがやっと最近という。IPv6に対して、昔はけっこう懐疑的な人が多く、なかなか普及しなかったというのもありますが、それが急激に普及しているのが最近という感じです。

なぜIPv5ではなくIPv6なのか

IPv4の次が6ということがどういうことかと思う方々もけっこう多いと思います。ちょっとネタですが、IPv5は存在しません。これはなにかというと、パケットの先頭のIPヘッダの最初の4bitがインターネットプロトコルのバージョン番号を示していて、IPv4ではその部分が4になってます。

ST2というプロトコルが昔あって、そのプロトコルではパケットの先頭bit、IPv4のインターネットプロトコルと分けるために、最初の4bitの値が5になっていました。

でも、ST2はインターネットプロトコルではないので、IPv5ではありません。ただ、最初の4が5となるものが、他のものとして使われていたので、IPヘッダの最初の4bitをそのままIPv4の次に入れてしまうとST2のパケットと見分けがつかなくなってしまうので、6を使ったわけです。

インターネットプロトコルのバージョンとして、4の次に6になったのは、5というバージョンがあったわけではなく、5を欠番にした感じです。もし仮に、IPv6の次になにかIPバージョンを作るのなら、次に空いてる番号は10なので、IPv10にいきなり飛ぶかもしれません。作らない気はしますが、作るのであればそうなりそうです。

番号のアサインメントはIANAのホームページで公開されているので、スライドの一番下のURLを確認してください。

IPv6のテキスト表記について

IPv6とは何かという話ですが、あまり細かい通信の話してもわからなくなると思うし、一番人間が目にするのはテキスト表記なので、今日はテキスト表記の話からしようと思います。あくまでこれは通信するためのものではなく、人間が理解するための表記の方法なので、「v6は一応こういう感じでアドレスを表現しますよ」という話です。

余談ですが、大学やいろいろなネットワークが関連するようなテストや試験などで、よくテキスト表記の話、IPv6の話が出てくるので、これはテストでよく出る内容という感じです。

IPv4のテキスト表記はお馴染みのものですが、例えば192.0.2.1のような感じで32bitを8bitごとに分けて、それぞれを10進表記する。ドットつき10進表記が、IPv4のテキスト表記の方法です。

IPv6はbit数が4倍になり、IPv4と同じようにしてしまうとメチャメチャ長くなりすぎるので、16bit区切りにして、その上で10進表記ではなく16進表記するのが、IPv6のテキスト表記になっています。

IPv4と明確に違いがわかるようにするために、それぞれの区切りの間をドットではなくコロンで区切るのが、IPv6の表記方法です。

IPv6でややこしいのは、それぞれいろいろな省略表記があります。例えば、それぞれの16bitのフィールドの先頭で、4つ連続で0が続く上位bitの部分は省略していいみたいな。その区切りの中での省略方法があると同時に、ずーっと連続して0が続くものは、「::」で一気に省略していいルールもあります。

この「::」は各IPv6アドレスの1つにつき1回しかできませんが、一気に省略することもできます。

例えば、IPv4だと127.0.0.1がlocalhostですが、IPv6でlocalhostは最下位bitが1で、それ以外の全部のbitが0で、「::1」と書きます。こういう感じで、127bit分の0を全部省略してしまう感じで、短く表記できるのがIPv6の特徴です。

IPv6とIPv4は直接的な互換性がない

IPv6とは何かという話ですが、今日は細かい通信の方法はほとんど触れません。なぜかと言うと、IPv6で今の世の中で大事になるのが何かというと、たぶんIPv4とIPv6で違うプロトコルだというところの理解と、IPv4とIPv6で直接的な互換性がないので、まったく別々のネットワークができあがっているということです。

IPv4インターネットとIPv6インターネットは、それぞれ違うかたちのインターネットです。そのため、IPv4とIPv6があることで、今は2つインターネットがあるようなかたちになっています。

2つだけれど1つ、みたいな話はあとで説明しますが、まず大事なこととして、直接的な互換性がそれぞれないので、IPv4という既存のインターネット環境に加え、IPv6という新しいプロトコルにも同時に対応する状況が多いわけです。

IPv6とIPv4は直接的な互換性がまったくなく、かついろいろ違うところがけっこう多いプロトコルなので、同じインターネットプロトコルですが、別のものとして対応するかたちです。

昔はよく“移行”と言っていましたが、移行はIPv4をなくしてIPv6に全部乗り換えるみたいな話ですが、どちらかというと、IPv4をそのまんま活かしながら、IPv6という新しいものにも対応するようなイメージが多いです。環境にもよりますが、そういう環境が多いはずです。

そういう環境が多いということはどうなるかと言うと、IPv4とIPv6のデュアルスタック環境が多くなるわけです。IPv6だけではないし、例えばWebサーバーではIPv6で運用しているものよりも、IPv4で運用しているもののほうが今の世の中では多いので、IPv6だけですべてのWebが見れるのはなかなか難しいので、やはりIPv4も使いながらになるわけです。

NAT64/DNS64あたりの話もありますが、ユーザー環境がIPv6オンリーだったとしても、IPv4インターネットの通信がなくなるのは今はまだ辛いことを考えると、やはりIPv4とIPv6のデュアルスタックなわけです。

違うネットワークでも1つのインターネット

散々2つぜんぜん違うネットワークだと話をしまくった上で、2つだけど1つなのがインターネットの特徴です。というのは、インターネットは1つなわけで、10個あるわけではありません。インターネットが10個や20個あるわけでもないし、IPv4インターネットとIPv6インターネットはインターネットプロトコルという意味では別のスタックですが、結局は1つのインターネットなわけです。

それを1つにしているのが、名前空間です。例えば、www.example.comというような名前で1つにまとめていて、実際、通信する時はv4とIPv6どちらかみたいな感じになります。

というところで、IPv4とIPv6はプロトコルとして直接的な互換性はなく、デュアルスタックになりますが名前空間、DNSを使って1つに見せているのが、今のインターネットです。

(次回につづく)