‼️

【超図解】IPアドレスとは?プライベートIPとグローバルIPの違いをわかりやすく説明

2023/08/08に公開

はじめに

こんにちは!猿喰です。
この記事では、IPアドレスとは?と興味を持った方向けに超図解で説明しています。
ターゲットとしてはITパスポート、基本情報技術者レベルの知識を身につけることとしています。
ITスキルを高めたい方は、ぜひ他の超図解シリーズも見てみてください。

それでは早速参りましょう~。

IPアドレスとは

IPアドレスとはInternet Protocol Addressの略です。
文字通りインターネット上のアドレスです。
あなたが普段アクセスしている、全てのWebサイトにこの住所は存在します。
ネットワークでも現実世界でも、"遠距離の相手と通信するためには宛先が必要"というわけです。
インターネットを利用している方は、アクセスの際に意識してないだけで、グーグルでもヤフーでもアマゾンでもこの住所は存在してます。
そのため、コンピュータ同士がやり取りするネットワークの基本だと認識してください。

現在IPは、バージョン4とバージョン6が混在した状態ですが、この記事ではIPv6と明示しない限り、バージョン4のアドレスをメインに解説していきたいと思います。

IPアドレスには、グローバルIPアドレスとプライベートIPアドレスの2種類がありますので
これから詳しく説明していきます。

LANとWAN

LANとは「Local Area Network」つまり「同一の敷地や建物内等に構築されたネットワーク」です。
このLAN内で通信に利用するための機器を、無線の場合は無線LAN、ケーブルで接続している場合は、LAN線やLANケーブルなどと言ったりします。
図ではこの家の中がLANで、家から出た部分がWANです。

WANとは「Wide Area Network(ワイドエリアネットワーク)」の略です。
家を一歩外に出たらそこはWANです。
インターネットに接続することはWANに接続することと同意です。

じゃあLANとWANの境界線はどこかというと、家庭用でいうとNTTなどから貸し出されてるONUやルーターが境界線です。
このルーターまでがLANの範囲。ルーターより向こうがWANです。

また利用する住所(IPアドレス)も異なります。
LANで利用しているアドレスをプライベートIPアドレスといいます。
一方WANで利用するアドレスをグローバルIPアドレスといいます。

プライベートIPアドレスとは

プライベートIPアドレスは、ローカルIPアドレスとも言いますが、その名の通りローカル利用されるアドレスです。
つまりLAN(ローカルエリアネットワーク)内で利用されている住所のことを言います。

通常、ルーターに搭載しているDHCPという機能により、パソコン起動と同時にIPアドレスは自動で割り振りされています。
図を見ると、この家の家族全員が端末起動と同時にアドレスが割り振られています。このプライベートIPアドレスは、ネットワーク通信の基本なのです。

また、よくIPアドレスは世界に一つ、なんて言われたりしていて勘違いされてる方もいますが、プライベートIPアドレスについてはその考えは当てはまりません。つまり同じプライベートIPアドレスは世界中で重複しています。
一つのLAN内で重複さえしなければOKです。上記の図でいうと、この家の中で重複しなければ、別の家では同じIPアドレスを利用できるということです。

つまりこういうことです。

左の家と右の家は別のLANですから、左の家の山田くんのパソコンと、右の家の佐藤くんのパソコンのプライベートIPアドレスが同じでも問題ないのです。

なぜ重複を許しているかというと、一人一人の端末に一意、つまり重複しないIPアドレスを割り振りをするとIPアドレスの枯渇が発生してしまうからです。家庭内のあらゆる機器がインターネットに接続されてるこの時代に1台ずつアドレスを割り振っているとすぐにIPアドレスは足りなくなってしまいますよね。

また、例えばこの図のように家庭4人でインターネットに接続していて、誰かがアマゾンで買い物をしようとするとします。
このとき、パソコンのリクエストに対して、アマゾンのサイトからレスポンスが返ってきますが
この家に届けるためのアドレスは次に説明する、グローバルIPの役割であって、プライベートIPアドレスは、この家の中のどのパソコンあてに返せばいいか、のために利用します。

プライベートIPアドレスの範囲

ちなみにプライベートIPアドレスの範囲はRFC 1918で規定されています。つまり基本的に皆さんのIPアドレスも以下の範囲内でアドレスが割り振りされています。
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255

プライベートIPをコマンドで確認してみる

WindowsPCの場合は以下の流れで確認が可能です。

  1. 左下の検索窓に"cmd"と入力してEnter

    ※検索窓が見当たらない場合は Win+R で"cmd"を入力
  2. コマンドプロンプトが開いたら "ipconfig" と入力
    すると以下の文言が出てきますが、それが今PCに割り振りされてるプライベートIPです。
   IPv4 アドレス . . . . . . . . . . . .: 192.168.11.17

グローバルIPアドレスとは

次にグローバルIPアドレスを説明します。
世界でIPアドレスは一つ。といわれるアドレスはこのグローバルIPを指します。
全世界で重複はありえません。
あなたが今使ってるグローバルIPアドレスは、この世に1つしかありません。
あなたが使っていれば他の人は使えないですし、他の人が使っていれば、あなたは使えないのです。
図でいうと紫の四角がそうですが、世界で誰かが利用してるためサンプルでも記載することが出来ません。

グローバルIPアドレスの割り当て方法

また、どのようにこのグローバルIPアドレスが割り振られているかというと、家庭用のインターネット接続サービスの場合、例えばNTTやケーブルテレビなど回線事業者と共に、ビッグローブやソネットなどのインターネットサービスプロバイダと契約してます。
NTTは物理的な回線を提供してくれており、インターネットサービスプロバイダは、ネット接続のためのサービスを提供してくれています。このプロバイダのサービスの一つがグローバルIPアドレスの貸し出しです。

具体的にはこのプロバイダは、NIC(Network Information center)という管理団体から割り当てられており、そのグローバルIPアドレスの中から、各ユーザーに一時的に貸し出している、というのが一般的な流れです。

それでは、整理したいと思います。
今、このWebサイトがあなたのパソコンやスマホに対し、どのように記事の内容を送っているかをイメージして下さい。

  1. あなたの家に届けるためにはグローバルIPを利用します。
  2. あなたの家の中でどのパソコンかはプライベートIPを利用します。
  3. あなたのパソコンの中のどのアプリケーションと通信するかはポート番号※を利用します。

この3つを利用して通信を実現をしています。
※ポートについては【超図解】トランスポート層のプロトコルをわかりやすく解説を御覧ください。

グローバルIPアドレスの確認方法

グローバルIPの調べ方は、サイトを使うのが簡単です。
例えば以下のサイトにアクセスすると簡単に確認できます。
https://www.cman.jp/network/support/go_access.cgi

プライベートIPアドレスとグローバルIPアドレスのまとめ

  • プライベートIPアドレスはLAN内の住所。世界中で重複するアドレスが存在する。
  • グローバルIPアドレスはインターネットで利用するアドレス。インターネットサービスプロバイダから割り振られる。世界中でアドレスの重複はない。

このことをおさえた上で、IPアドレスにはプライベートIPアドレスと、グローバルIPアドレスの2つの種類が存在する。ということを覚えておいてください。

IPアドレスの見方

では、IPアドレスはどのように見ればいいかを学んでいきたいと思います。
IPアドレスはこちらです。

我々人間にとってはパット見でわかりづらいので、とてもストレスたまりますね。
これは2進数という表記の仕方です。
コンピュータは全ての処理を0と1を利用して処理してます。もっというと0と1しか扱えません。
どんな複雑な計算も0011010010101001010のように0と1に分解して処理をしてますので
パケットを届けるための住所も、0と1の数字で表現する必要があります。
そしてこの一つ一つの数字をbitといいます。
また、このbitが8個集まるとbyteという単位になります。


このbyteは馴染みがあるんじゃないでしょうか。携帯でインターネットを利用する際に「何GBまでパケット通信が出来るか」の単位になっています。

IPアドレスは、この8ビットごとにドットで区切りで4つであり、8bit*4=32bitの数字の羅列であることがわかります。
byteの単位でいうと4byteですね。

ちなみに最初の8bitを第1オクテット
次の8bitを第2オクテット
次の8bitを第3オクテット
最後の8bitを第4オクテット
といいます。

でもこの2進数の表記って我々人間にはとっても読みづらいと思いませんか?
例えば、会社で「ファイルサーバーのIPアドレスなんだっけ?」と部長に聞かれた場合、
「えっとちょっとお待ち下さい。メモの準備は宜しいでしょうか。申し上げます。10101100、、、、」なんてことになります。

そのため、我々人間は10進数という表記を使っています。

青色の数字が10進数での表記です。この表記のIPアドレスは見たことある方もいるんじゃないでしょうか。
ちなみに、10進数や2進数の「進数」とはいくつで次の位が増えるかを表してます。

この進数は、このIPアドレス記事の本質ではないので、別途学んでいただきたいですが、知っておくといろいろ役立つ知識なので、簡単に説明します。

進数とは

進数とはいくつで桁が増えるか、ということをお伝えしました。
つまり2進数とは2で桁が増えること。
10進数とは10で桁が増える表記のことを言います。
我々人間が数を数える時は10進数を使っています。
下の、10進数から見ていきましょう。

左から0,1,2,3,4,5,6,7,8,9,
10になったタイミングで2桁になり、次の位が増えてますよね。これが10進数です。

一方、2進数はどうかというと、2ごとに次の位が増えます。

例えば、情報処理技術者の試験では2進数の他に、8進数や16進数等が出題されますが、
各桁で保持できる数字は、n進数の場合、n-1で求めることができます。

例えば10進数の場合だと、10-1が各桁で保持できる数字です。
9までは一桁で表現できますが、10は一桁では表現できません。
また2桁の場合は、左の桁を10の位。右の桁を1の位といいますが、どちらの桁も9までしか保持できません。99まで保持したらその後は100になり更に位が上がります。

同様に2進数を見てみましょう。
2進数は2-1つまり 1が各桁で保持できる数字となります。
1は一桁で表現できます。なので10進数と同じ表記です。

次に2を見てみましょう。

パット見10に感じますが、これは2進数表記なので2です。
2進数は1までが各桁で保持できる数字でしたよね。
そのため、2を表現するためには位を挙げなければなりません。
そのためイチゼロ(10)という表記になります。

次に3を見てみましょう。イチイチ(11)です。

2がイチゼロ(10)なので、3は右側の桁を1増やせば表現できますね。
次の4は、2桁では表現できませんので桁あがりをしてイチゼロゼロ(100)になります。
...といったような感じです。
この進数については、今理解しきれなくても構いません。
長い人生でずっと10進数表記で生きてきたのに一発で違和感なく2進数に入り込める人間はいません。
私もそうですが、何度も紙に書いたりして徐々に理解をしていきました。
情報処理技術者の試験では、コンピュータ理論のカテゴリで、基数変換等、この進数に関わる内容が出題されますので、今の話を頭に入れておいてもらえれば少しは役に立つかなと思います

また、1つ覚えておくと、ネットワークの試験にも非常に役立つ知識として、n進数=桁が増えるたびにn倍になるということを覚えておくといいと思います。

試験ではこのn進数表記がいくつの数字なのか、という計算をしないといけない場面がよくあるからです。

例えば、10進数の場合、赤字になっている箇所が桁が上がっている箇所です。

左から1桁、2桁、3桁、4桁です。
1、10、100、1000と桁が上がるたびに10倍になっていることがわかると思います。
10進数はこれまでの知識としてイメージがしやすいかなと思います。

ただし2進数なると我々は慣れていないので、直感的にはわかりません。
しかし、先程の知識を使うと計算が楽になります。
桁が増えてるところを赤字にしています。

左から左から1桁、2桁、3桁、4桁です。
実際の数字は1, 2 , 4, 8ですが、これは2進数表記なので、桁が上がるごとに2倍になっています。
この知識があると、2進数の数字がいくつかも早く計算することが可能です。


ここまでで進数を簡単に学んだ上で、IPアドレスの話に戻りますが、IPアドレスの実態は10101100...という2進数の羅列ですが「人間にわかりやすいように10進数表記で表示してることが多い」ということだったんですねー。

IPアドレスの構成をまなぼう

ここからは、IPアドレスの構成について説明していきたいと思います。

IPアドレスはネットワーク部とホスト部から構成されています。
ネットワーク部というのは、どのネットワークに所属しているかを示す部分です。
会社では、営業部に属するIPアドレス、経理部に属するIPアドレス、システム部に属するIPアドレスといったように、部ごとやフロアごとに、ネットワーク部を分けてカテゴライズしてたりします。
一方ホスト部とは、それらネットワーク部の中でのホスト(コンピューター端末)を指しています。

ネットワーク部とホスト部の概念が分かりづらい方は、私たちが住んでる家の住所を考えてもらえばわらりやすいです。
例えば・・・東京都港区赤坂はネットワーク部で番地(1-1-X)はホスト部です。

赤坂にカテゴライズされているホストがたくさんある、という状況と同じにようにIPアドレスも考えてもらえればと思います。

なぜIPアドレスはネットワーク部とホスト部で分かれているのか?

ではなんで、ネットワーク部とホスト部で分かれてるんでしょうか。
それは、全てホスト部の場合(ネットワーク部がない場合)宛先と通信をする際に大変な労力がかかるからです。
例えば、郵便配達をするときに、住所が東京都港区赤坂....となっているから
エリア別にすぐカテゴライズできますが、 カテゴリがないと対象を探すのが大変です。
例えば、1928という番地は東京の住所で、この一つ上の1929番地は北海道かもしれません。1930番地はまた東京、というように数字が1違うだけで場所がバラバラだと、住所検索が非常に非効率です。

このような非効率を避けるために、インターネットの世界でも住所にネットワーク部を設けています。つまり、カテゴリは非常に重要なんですね。

それではIPアドレスを見てみてください。どこで分けられてるかわかりますか?

この区別方法については、2種類の方法があります。
クラスフルアドレスと、クラスレスアドレスです。

クラスフルアドレスとは?

ここまでで、IPアドレスはネットワーク部とホスト部に分かれている、というお話をしました。
そして、その分け方の一つであるクラスフルアドレスについて説明します。
クラスフルアドレッシングでは、クラスAからクラスEまで5つのクラスがあります。

通常使用しているのは黄色のクラスAからクラスCまでです。
この表の見方ですが、ピンクの色の箇所がネットワーク部で、青色がホスト部です。
クラスAアドレスは、第1オクテットがネットワーク部で、第2オクテット以降がホスト部です。
クラスBアドレスは、第2オクテットまでがネットワーク部で、第3、第4オクテットがホスト部です。
クラスCアドレスは第3オクテットまでがネットワーク部で、第4オクテットがホスト部です。
どのクラスを利用しているかは、「第1オクテットの先頭のbit」を見ればわかります。

第1オクテットを2進数表記にしたときに「0」から始まるIPアドレスが「クラスAアドレス」です。
次に第1オクテットが「10」から始まるIPアドレスが「クラスBアドレス」です。
第1オクテットが「110」から始まるIPアドレスが「クラスCアドレス」というように、先頭のbitを見てどのクラスのIPアドレスかを確認できるようになっています。

また、クラスDEは非常に特殊なので気にしなくていいですが、クラスDはマルチキャスト用
クラスEは実験用として用意されています。
クラスフルアドレスでは、ネットワーク部とホスト部の見分け方としては、非常にシンプルな考え方になっているので、ぜひ覚えておいてください。

クラスレスアドレスとは?

先ほど説明したクラスフルアドレスでは、クラスA、B、Cと主に3つのネットワーク部を選択できましたが、クラスレスアドレスとは、このクラスの枠組みが取り払われており、ネットワーク部を柔軟に決めることができます。
クラスレスアドレスでは、IPアドレスの語尾にスラッシュとプレフィックス値をつけてネットワーク部を表現します。

これをCIDRといい、プレフィックスの値がネットワーク部の長さを表します。
つまり、この場合、前から16bitがネットワーク部です。
それでは具体的に見ていきましょう。
まず、IPアドレスを2進数表記にします。

この時、プレフィックスの値16bitがネットワーク部で、残りのbitはホスト部という考え方になります。
別の例を見ていきましょう。
次はプレフィックス値が20のケースです。
この場合は、前から20bitがネットワーク部になります。

このようにクラスフルアドレスと異なり、語尾の数字によってネットワーク部を柔軟に決定できる点が、クラスレスアドレスの特徴です。
この柔軟に設定できる特徴から、現在はこのクラスレスアドレスが利用されています。
そのため実務や、ITパスポート・基本情報技術者試験で求められるのも基本的にはこのクラスレスアドレスとなっておりますので、よく理解しておいていただければと思います。

特殊なIPアドレス

最後に特殊なIPアドレスの紹介をします。
IPアドレスの中には、そのネットワークの中で、割り当てが出来ないIPアドレスが存在します。
そのアドレスを2つ紹介します。
一つ目は、IPアドレスを2進数にした際、ホスト部の値が全て「0」のIPアドレスです。
これは、そのネットワークそのものを指すアドレスとして使われます。
そのため、このアドレスをホスト(つまりコンピュータ)に割り振ることができません。

二つ目は、IPアドレスを2進数にした際、ホスト部の値が全て「1」のIPアドレスです。
これは、そのネットワークに所属する全てのホストを指すアドレスとして使われます。
このアドレスは、全ホストを送信先とする通信、ブロードキャストで利用されます。
※ブロードキャストはネットワーク層の説明でも登場します。
そのため、ホスト部の値が全て「1」のIPアドレスもホスト(つまりコンピュータ)に割り振ることができません。

具体的にIPアドレスを表示して見ていきましょう。

まず、IPアドレスを2進数にした際、ホスト部の値が全て「0」のIPアドレスはこのようなアドレスです。

10進数表記で、172.16.0.0/16というIPアドレスを2進数表記にしてみます。
また、このアドレスはプレフィックス値が16なので、最初の16bitはネットワーク部で残りの16bitがホスト部です。このホスト部の数字が全て0になっていると思います。
この場合、このIPアドレスはそのネットワークそのものを表しているアドレスとして予約されているものであり、ホストに割り振りすることはできません。
ネットワークそのものというのは、イメージで言うと、住所の都道府県だけで番地がない状態、というふうに考えてもいいかなと思います。
つまりどこに住んでるかと聞かれたときに、東京都港区赤坂に住んでるよ、と番地を伝えないケースもあると思いますが、IPアドレスでも同様にネットワークだけ伝えるときのために予約しているIPアドレスと考えてください。

次に、IPアドレスを2進数にした際、ホスト部の値が全て「1」のIPアドレスは、このようなアドレスです。

10進数表記で172.16.255.255/16というアドレスを、2進数表記にしたものが下の0と1の表記です。
こちらも同様に、プレフィックス値が16なので、最初の16はネットワーク部で残りの16bitがホスト部です。
このホスト部の数字が全て1になっていると思います。
このアドレスが、このネットワークに属する全てのホスト(コンピュータ)を表しているアドレスとなります。
ネットワーク通信の際に、ネットワークに属する全コンピュータ宛にデータを送りたいときに、このアドレスを利用して送信します。

ということで、ざっとIPアドレスについて説明しました!
エンジニア、非エンジニア問わず、今はITの知識を避けては通れません。現代で生きていくためには必ず理解しておきたい知識を発信していきますのでフォロー頂けると幸いです。
また他の記事でお会いしましょう~。

おわりに

これらのIT知識をUdemyの動画でも説明してます。
動画のほうがいい方、最低限のIT知識をがっちり取得したい方は以下からどうぞ。
おかげさまで数万人に受講してもらってます。
ここまで見てくださった方向けに86%OFFクーポンリンクを貼っておきます~

Discussion