前の記事では、 EthernetなどのL2通信で使われる MACアドレスについて学びました。
MACアドレスを利用すると、 同じL2ネットワーク上でEthernetフレームを 適切な機器へ転送できます。
しかし、実際のネットワークでは 同じLAN内だけで通信するわけではありません。
たとえば自宅のPCからインターネット上のWebサーバーへアクセスする場合、 複数のネットワークを越えてデータを目的地まで届ける必要があります。
そこで重要になるのが、 IPアドレス(IP Address)です。
この記事では、 ネットワーク学習で特に重要な IPv4アドレスを中心に、 IPアドレスの役割・構造・種類について学習します。
IPv4アドレスの数字を暗記するだけではなく、 「IPアドレスによってネットワーク上の通信相手を識別する」 という基本的な役割と、 IPv4アドレスの32ビット構造を理解することを目指します。
IPアドレスとは?
IPアドレスとは、 IP(Internet Protocol)を利用した通信で、 ネットワーク上の通信相手を識別するために使われるアドレス です。
たとえば、あるPCに次のIPv4アドレスが設定されているとします。
ネットワーク上では、 このようなIPアドレスを利用して 「どの機器へデータを届けるのか」を判断します。
初学者の段階では、 IPアドレスを「ネットワーク上の住所」 と考えると理解しやすくなります。
IPアドレスはOSI参照モデルの第3層で使われる
以前学習したOSI参照モデルでは、 IPアドレスは 第3層(ネットワーク層) で重要になる情報です。
TCP/IPモデルでは、 IPは インターネット層 で利用されます。
IPアドレスとルーティングを利用することで、 同じLANだけでなく、 異なるネットワークを越えて目的地までデータを転送 できます。
MACアドレスとIPアドレスは何が違う?
前の記事で学習したMACアドレスと、 今回学習するIPアドレスは役割が異なります。
MACアドレス
L2上の転送先Ethernetなどで、 現在のL2区間における転送先を識別します。
AA:BB:CC:DD:EE:FF
IPアドレス
ネットワーク上の通信相手複数のネットワークを越えて、 最終的な通信相手を識別します。
192.168.1.10
MACアドレス → L2
IPアドレス → L3
と整理しておくと、
スイッチとルーターの役割も理解しやすくなります。
IPアドレスがあると別ネットワークへ通信できる
たとえば、 PCからインターネット上のWebサーバーへ通信するとします。
ルーターは、 IPパケットに含まれる宛先IPアドレスなどを確認して、 次にどのネットワークへデータを転送するのかを判断します。
これが、 IPアドレスがL3の通信で重要になる理由です。
IPv4アドレスは32ビットで構成される
現在も広く利用されている IPv4(Internet Protocol Version 4) では、IPアドレスは 32ビットで構成されます。
しかし、人間が32個の0と1を毎回読むのは大変です。
そこでIPv4では、 32ビットを8ビットずつ4つに分け、 10進数へ変換して表記します。
この8ビット単位のまとまりを オクテット(octet) と呼びます。
「192」「168」「1」「10」がそれぞれ1オクテットです。 IPv4アドレスは4つのオクテットで構成されています。
なぜIPv4の数字は0~255なのか
IPv4アドレスの各オクテットは8ビットです。
8ビットでは、 次のように8個の0または1を組み合わせます。
8ビットすべてが1の場合、 2進数では 11111111 となります。
これを10進数へ変換すると、 255です。
すべて0なら0になるため、 IPv4アドレスの各オクテットは 0~255 の範囲になります。
ここで実際に試してみよう:8ビットを10進数に変換する
IPv4を理解するため、 簡単な2進数→10進数変換を試してみましょう。
下のビットをクリックすると0と1を切り替えられます。
IPv4 8bit Calculator
11000000
IPアドレスには「ネットワーク」と「機器」を識別する情報がある
IPv4アドレスを理解するとき、 もう一つ重要になる考え方があります。
IPアドレスは大きく、 ネットワークを識別する部分と そのネットワーク内の機器を識別する部分 に分けて考えます。
それぞれ、 ネットワーク部と ホスト部 と呼びます。
ただし、 次のようにIPv4アドレスだけを見ても、
「どこまでがネットワーク部で、 どこからがホスト部なのか」 は判断できません。
そこで必要になるのが、 次の記事で学習する サブネットマスクです。
今回は 「IPアドレスにはネットワークを識別する部分と 機器を識別する部分がある」 というところまで理解してください。 境界の判断方法は次の記事で詳しく学びます。
グローバルIPアドレスとプライベートIPアドレス
IPv4アドレスを学ぶと、 グローバルIPアドレスと プライベートIPアドレス という言葉も登場します。
グローバルIPアドレス
インターネット上で通信するために使用される、 グローバルに一意となるIPアドレスです。
プライベートIPアドレス
家庭や企業などの内部ネットワークで 使用するために予約されているアドレス範囲です。
IPv4のプライベートIPアドレス範囲
代表的なプライベートIPv4アドレスの範囲は次の3つです。
| 範囲 | よく見る例 |
|---|---|
| 10.0.0.0 ~ 10.255.255.255 | 10.0.0.10 |
| 172.16.0.0 ~ 172.31.255.255 | 172.16.1.10 |
| 192.168.0.0 ~ 192.168.255.255 | 192.168.1.10 |
家庭のネットワークで 192.168.x.x というIPアドレスを見たことがある人も多いでしょう。
家庭のPCはなぜプライベートIPでインターネットへ通信できる?
家庭内のPCに 192.168.1.10 のようなプライベートIPアドレスが設定されていても、 Webサイトへアクセスできます。
192.168.1.10
一般的な家庭環境では、 ルーターがNAT/NAPTなどの仕組みを利用して 内部のプライベートIPアドレスと 外部通信で使うアドレスの変換を行います。
NATの詳細は今後学習しますので、 この段階では 「LAN内ではプライベートIPを使い、 外部通信ではルーターが間に入る」 というイメージで十分です。
IPv4以外にIPv6もある
IPアドレスには、 今回学習しているIPv4のほかに IPv6もあります。
192.168.1.10
2001:db8::1
IPv6では128ビットのアドレス空間を利用します。
ただし、ネットワークの基本を学ぶ段階では、 まずIPv4を理解してからIPv6へ進む方が分かりやすいため、 この記事ではIPv4を中心に扱っています。
理解度チェック:IPv4アドレスを分類してみよう
次のIPv4アドレスをクリックして、 プライベートIPアドレスかどうか確認してみましょう。
プライベートIPv4アドレスかどうか判断してみましょう。
IPアドレスはネットワーク障害の切り分けでも重要
IPアドレスは、 実際のネットワーク運用でも頻繁に確認します。
想定しているネットワークのIPアドレスが 設定されているか確認します。
同じネットワーク上でIPアドレスが重複すると、 正常な通信ができなくなる原因になります。
pingなどを利用して、 IPレベルで通信できるか確認することがあります。
確認問題:IPv4の基本を理解できたか確認しよう
最後に3問の確認問題へ挑戦してみましょう。
IPv4アドレスは何ビットで構成されていますか?
IPv4アドレスは32ビットで構成され、 8ビットずつ4つのオクテットに分けて 10進数で表記するのが一般的です。
次のうちプライベートIPv4アドレスはどれですか?
192.168.0.0~192.168.255.255は、 プライベートIPv4アドレスとして使用される範囲です。
IPアドレスと特に関係が深いOSI参照モデルの層はどれですか?
IPはOSI参照モデルの 第3層ネットワーク層と深く関係します。 IPアドレスを利用してネットワークを越えて データを目的地へ届けます。
3問に挑戦してみましょう。
IPアドレスだけではネットワーク部とホスト部を判断できない
ここまでで、 IPv4アドレスが32ビットで構成され、 ネットワーク上の通信相手を識別するために使われることを学びました。
そしてIPアドレスには、 ネットワークを識別する部分と ネットワーク内の機器を識別する部分 があることも紹介しました。
しかし、
IPv4アドレスだけを見ても、 その境界を判断することはできません。
そこで次に必要になるのが サブネットマスクです。
次の記事では、 サブネットマスクを使って IPアドレスのネットワーク部とホスト部を どのように判断するのかを学習します。
まとめ
今回は、IPアドレスとIPv4の基本について解説しました。
IPアドレスは ネットワーク上の通信相手を識別するためのアドレス
IPv4アドレスは 32ビット・4オクテット で構成される
各オクテットは8ビットのため、 10進数では0~255で表される
IPv4には グローバルIPアドレスとプライベートIPアドレス がある
IPアドレスにはネットワーク部とホスト部があり、 その境界を判断するために 次にサブネットマスクを学ぶ
次は「サブネットマスクとは?役割を理解する」を学びましょう
IPv4アドレスの基本構造を理解したら、 次はIPアドレスをネットワーク部とホスト部に分けるために使われる サブネットマスクを学びます。 255.255.255.0のような数字が何を表しているのか理解すると、 同じネットワークにいる端末を判断する仕組みが見えてきます。
次のレッスンへ進む →
