IPv4とIPv6の違いとは?IPアドレスの仕組みとアドレッシング方式を徹底解説
インターネットは人類最大の発明のひとつです。
毎秒何百万人もの人がインターネットを利用しており、新しい仕事や働き方の創出から、ニュースの受け取り方や意思決定のあり方に至るまで、私たちの生活のさまざまな側面を変えてきました。
インターネットは誕生からかなりの年月が経っていますが、それを支える基盤技術は発明当時からあまり大きく変わっていません。
この記事では、インターネットプロトコル(IP)とは何か、どのように機能するのか、そしてバージョンごとの違いについて解説します。
コンピューターはインターネット上でどう通信するのか
コンピューターや各種デバイスは、インターネット上で主に2つの方法――大量の海底ケーブルを使う方法と無線による方法――で接続・通信しています。
情報は「パケット」と呼ばれる小さなデータの断片に分割され、ルーターによって正しい宛先へ送受信されます。
しかし、そもそもコンピューター同士が通信するためには、すべてのデバイスが理解できる共通の言語、つまり普遍的に合意された通信規約が必要です。
このデータ交換における標準化された通信手段への需要から、「プロトコル」が生まれました。
その中核をなすプロトコルのひとつがインターネットプロトコル(IP)です。
インターネットプロトコルは、さまざまなネットワーク上でデバイス間の通信が行われる際のルールとフォーマットを定義する独自の構文を持っています。いわば、コンピューター間の通信を可能にする土台となる存在です。
これらのルールがカバーする範囲は多岐にわたります。例えば:
- ネットワーク上の各デバイスの識別と位置特定
- デバイス同士の相互通信の実現
- データパケットの形式と転送方法の規定
- 各パケットが目的の宛先に到達する仕組みの決定
- ルーターが通る最速かつ最効率の経路の選択
- エラー発生時の対処方法の決定
ネットワークに接続されるすべてのデバイスには、さまざまなネットワークを横断して自分自身を識別する手段が必要です。
誰かに手紙を送りたいとき、郵便局が配達先を把握できるよう、相手の家を特定する方法が必要ですよね。見知らぬ他人に手紙が届いてしまっては困ります。
だからこそ、手紙を送るときには宛先として相手の固有の住所を書き、差出人として自分の住所(返信先)も記載します。
それぞれの家には、他と区別して識別できる固有の住所があるのです。
同じように、インターネット上のコンピューターやデバイスを識別し、データを送受信するための手段が「IPアドレス」です。
誰かにメールを送るには、相手のコンピューターのIPアドレスを知る必要があります。メールはより小さな塊、つまりパケットに分割され、それぞれのパケットにIP情報が含まれているおかげで、正しい宛先に届きます。
インターネットで何かを送信するとき、各パケットには宛先アドレスと返信先アドレスが必要になります。IPアドレスこそが、コンピューター同士が互いを見つけ、位置を把握するための手がかりなのです。
そして、IPアドレッシングの形式を定義しているのが、インターネットプロトコルの役割です。
IPアドレスとは?
IPアドレスとはネットワークアドレスのことで、コンピューターネットワークに接続するすべてのデバイスに割り当てられます。
IPアドレスは、特定の形式で記述された、デバイスに割り当てられる一意の数字の列です。相互接続されたネットワーク全体の中で、すべてのデバイスをグローバルに識別します。
前述のとおり、パケットが正しい宛先にルーティングされ、デバイスがインターネット上で情報を送受信できるのは、各デバイスに一意のIPアドレスが割り当てられているからです。
とはいえ、インターネットで情報を送るために、IPアドレスを直接扱ったり暗記したりする必要はほとんどありません。すべては舞台裏で自動的に行われています。
もし自分のIPアドレスが気になるなら、Googleで「自分のIPアドレス 確認」と検索してみてください。検索結果の一番上に、あなた固有のアドレスが表示されます。
さて、IPアドレスにはいくつかの種類があります。以下のセクションで詳しく見ていきましょう。
プライベートIPアドレスとパブリックIPアドレス
誰もが2種類のIPアドレスを持っています。パブリックとプライベートです。
パブリックIPアドレスは、インターネットサービスプロバイダー(ISP)から自宅のルーターに割り当てられるもので、ローカルネットワーク全体の主要なアドレスとなります。
自宅にノートパソコン、スマートフォン、タブレットなど複数のデバイスがあるかもしれません。各デバイスはそれぞれ固有のIPアドレスを持っていますが、それらはすべて同じメインのパブリックIPアドレスの下に属しています。
つまり、自宅内のすべてのデバイスは、このメインのパブリックIPアドレスを経由してインターネットに接続しているのです。
パブリックIPアドレスは一意であり、ある時点で同一のIPアドレスが2つ存在することはありません。
一方、自宅の各デバイスが持つ固有のアドレスがプライベートIPアドレスです。こちらは単独ではインターネットに直接アクセスできません。
これらのデバイスは、パブリックIPアドレスを持つルーターを経由してインターネットに接続するため、ルーターは接続前に各デバイスを個別に識別する必要があります。
そのために、ルーターは各デバイスに個別のプライベートIPアドレスを割り当てます。そして、デバイスがインターネットに接続しようとするたびに、そのアドレスを記憶しているのです。
動的IPアドレスと静的IPアドレス
パブリックIPアドレスは「動的」と「静的」の2つに分類されます。
デバイスがインターネットに接続すると、ISPは接続している間、利用可能なIPアドレスのひとつを割り当てます。これによりデバイスはデータの送受信が可能になります。
次にインターネットに接続するとき、ISPは別のIPアドレスを割り当てます。つまり、接続するたびに異なるIPアドレスが与えられるのです。このタイプのIPアドレスが「動的」と呼ばれるのは、常に変化し続けるからです。
一方、静的IPアドレスは決して変わりません。恒久的なアドレスであり、一度割り当てられれば同じままであることが期待できます。
静的IPアドレスは、DNSサーバーでよく使われています。DNSサーバーとは、ウェブサイトを構成するファイルを保存する大型コンピューターのことで、ユーザーがサイトを閲覧したいときにリクエストされるたびに、それらのファイルを送信する役割を担っています。
IPv4とIPv6の違いとは?
IPv4アドレスとは?
IPv4は、インターネットプロトコルの最初のバージョンであり、最も広く使われているバージョンです。
1980年に初めて登場し、今日まで使われ続けています。
IPv4は32ビットのアドレスで、4つのブロックで構成され、各ブロックはドットで区切られています。
形式は次のようなイメージです:
XXX.XXX.XXX.XXX
各ブロックには最大3桁の数字が入り、数値は10進数で0〜255の範囲です。
IPアドレスの例:
142.250.185.206
別の例:
69.171.250.35
これらの10進数は、コンピューターが直接理解できる唯一の言語である機械語、つまり2進数(バイナリ)に変換されます。
実は、この10進数を2進数で表すと、8桁の2進数(ビット)が4つのブロックになったものです。
だからこそ「32ビットアドレス」と呼ばれるのです。32桁の2進数の並びで構成されたアドレスだからです。
例えば、先ほどの142.250.185.206というアドレスは、内部的には次のような2進数になっています:
10001110.11111010.10111001.11001110
つまり、2の32乗、合計42億9,496万7,296個の一意なアドレスが存在します。これが、IPv4がインターネット接続用に提供できるIPアドレスの上限です。
この大きな数字なら十分すぎるように思えます。しかし、世界人口が増え続け、一人あたりのデバイス保有数が増えるにつれ(しかも各デバイスに固有のIPアドレスが必要)、アドレスの枯渇問題はかなり前から深刻化していました。
IPv6とは?
IPv6は、1998年に初めて展開されたインターネットプロトコルの最新バージョンです。
IPv4の後継であり、今後少しずつ移行が進んでいくとされています。
IPv4が数字のみのアドレスであるのに対し、IPv6は16進法の英数字を使用します。つまり、数字とアルファベットの両方が含まれます。
IPv4が最大3桁の数字からなる4つのブロックを使うのに対し、IPv6は4文字の16進数からなる8つのブロックを使用します。
IPv4では各ブロックがドット(.)で区切られますが、IPv6ではコロン(:)で区切られます。
したがって、IPv6アドレスは次のような形になります:
XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX
例:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
IPv6は128ビットのアドレスであり、2の128乗個のアドレスが利用可能です。
これは340,282,366,920,938,463,463,374,607,431,768,211,456個のアドレスに相当します。
なんと約340澗(10の36乗)個のアドレスです。これだけあれば、世界中の人々にとって当面は十分すぎるでしょう!
まとめ
以上がIPアドレスの基本です!これであなたも、インターネットプロトコルの基礎を理解しました。これは、すべてのコンピューターやデバイスが互いに接続し、情報を受け取り交換するために使う基盤技術です。
また、IPv4とIPv6の基本的な違いについても学びました。ひとことで言えば、IPv6はIPv4よりもはるかに多くのIPアドレスを提供できる、ということです。
インターネットの仕組みについてさらに学びたい方は、freeCodeCampのYouTubeチャンネルでコンピューターネットワーキングの基礎を解説した動画をぜひチェックしてみてください。
最後まで読んでいただきありがとうございました。それでは、楽しい学習ライフを!😊
-
DirectX11とDirectX12の違いを徹底解説!ゲーマーが知っておくべきポイント
DirectXは、ソフトウェアがマルチメディアコンテンツを描画し、グラフィックハードウェアと通信するために使用されるAPI(アプリケーションプログラミングインターフェース)のコレクションです。DirectXの主要な構成要素であるDirect3Dは、ソフトウェアとグラフィックスハードウェア間の通信を担っています。ハードウェアは製品ごとに異なるため、標準化された関数や呼び出しのライブラリを通じてグラフィックカードと通信することで、ゲーム開発を大幅にスピードアップできます。これは「ハードウェア抽象化」と呼ばれ、APIの最も重要な役割となっています。車に例えてみましょう。1台の車の運転ができれば、ほぼ
-
JavaとJavaScriptの違いとは?歴史・技術・使い分けを徹底解説
ウェブ開発者のジェレミー・キースは2009年、「JavaとJavaScriptの関係は、ハムとハムスターの関係のようなものだ」と語りました。この比喩がどれほど正確かは議論の余地がありますが、その本質は的確です。共通する言語的ルーツを持つにもかかわらず、JavaとJavaScriptはまったく異なる2つのプログラミング言語なのです。年月とともに両者の重なりも多少増えましたが、今なおJavaScriptはウェブサイトにインタラクティブ性をもたらすフロントエンド言語の主流であり続け、Javaはサーバーサイドやアプリケーション開発で人気を保っています。開発者を採用したい方、プログラミングを学びたい方