【完全理解?】IPアドレスとサブネットマスクについてGPT先生に聞いてみた

2023/06/26に公開

目的

IPアドレス、サブネットマスク、デフォルトゲートウェイ、などIP回りの設定を改めて理解して使えるようにする。

(仮想環境上に)サーバーを作ってIPの設定するときに、適切に設定できるように理解を深める。
(普段あんまりネットワークの設定しないので細かいところ忘れてしまうので備忘録。)

目次

前提

IPアドレスはPCの住所みたいなもの。MACアドレスがPC自体の識別番号。ポートがPC内のそれぞれのアプリの部屋番号。
的なイメージ。

今回は主にプライベートIPアドレスを例にとって理解を深める。

IPアドレスとサブネットマスクについてChatGPT4さんに聞きまくってみた

192.168.5.0/24のipアドレスは、ネットワーク部が192.168.5までですか?

192.168.5.0/24というIPアドレスの表記はCIDR(Classless Inter-Domain Routing)表記と呼ばれるもので、この場合のネットワーク部分は192.168.5.0となります。

/24の部分はサブネットマスクを表し、これが意味するのは、32ビットのIPアドレスのうち先頭から24ビットがネットワーク部分を示し、残りの8ビットがホスト部分を示していることです。つまり、このネットワークでは192.168.5.1から192.168.5.254までの254個のホストが配置可能で、192.168.5.0はネットワークアドレスを、192.168.5.255はブロードキャストアドレスをそれぞれ表しています。

したがって、"192.168.5まで"という表現ではなく、192.168.5.0がネットワーク部分であると説明する方が正確です。

ということは192.168.5.0/28の場合は192.168.5.128がネットワーク部ですか?

192.168.5.0/28という表記の場合、/28は32ビットのIPアドレスの先頭から28ビットがネットワーク部分を示しています。そのため、ネットワークアドレスは192.168.5.0から始まります。

ただし、/28の場合、サブネットマスクは255.255.255.240です。これにより、192.168.5.0のネットワークでは、ネットワークアドレス(192.168.5.0)とブロードキャストアドレス(192.168.5.15)を除いた192.168.5.1から192.168.5.14までの14個のホストが配置可能になります。

したがって、192.168.5.0/28では192.168.5.0がネットワーク部分を表し、192.168.5.128がネットワーク部分となるのは192.168.5.128/28となります。

もう少し詳しく教えてください。

すみません、分かりやすく説明しますね。

まず、IPアドレスは通常、ネットワーク部とホスト部に分けられます。ネットワーク部は、コンピュータが所属するネットワークを特定するのに使われます。ホスト部は、そのネットワーク内の特定のコンピュータを特定するのに使われます。

IPアドレスがどの部分までがネットワークで、どの部分がホストかを特定するためにサブネットマスクが使われます。そしてこのサブネットマスクがCIDR表記(例:/24や/28)となります。

例えば、192.168.5.0/24というIPアドレスの場合、/24は32ビットのIPアドレスの先頭から24ビットがネットワーク部分を示し、残りの8ビットがホスト部分を示していることを意味します。つまり、ネットワークアドレスは192.168.5.0で、ホストアドレスは最後の.0の部分を.1から.254に変えることで生成できます。これはこのネットワークに最大254台のデバイスを接続することができることを意味します(.0はネットワークアドレス、.255はブロードキャストアドレスに使われるため)。

次に、192.168.5.0/28の場合を見てみましょう。/28は32ビットのIPアドレスの先頭から28ビットがネットワーク部分を示し、残りの4ビットがホスト部分を示していることを意味します。したがって、ネットワークアドレスは192.168.5.0で、ホストアドレスは最後の.0の部分を.1から.14に変えることで生成できます。これはこのネットワークに最大14台のデバイスを接続することができることを意味します(.0はネットワークアドレス、.15はブロードキャストアドレスに使われるため)。

したがって、あなたが言った「192.168.5.128がネットワーク部分」という表現は適切ではないです。192.168.5.0/28のネットワーク部分は192.168.5.0で、ホスト部分は.1から.14になります。192.168.5.128がネットワーク部分となるのは192.168.5.128/28となります。この場合、ネットワーク部分は192.168.5.128で、ホスト部分は最後の.128の部分を.129から.142に変えることで生成できます。

/28部分は、ホスト部が4bit分ということで、ホストPCは16台。しかしネットワークアドレスとブロードキャストアドレスで2台分が消費され、実際のホスト台数は14台。そしてホストの始まりとなるipアドレスは192.168.5.xのx部分から、ということですか?

はい、その理解は完全に正しいです。

具体的には、192.168.5.0/28の場合、/28はネットワーク部分が28ビット、ホスト部分が4ビットであることを表しています。4ビットのホスト部分は2^4=16通りの値をとることができます。しかし、これらのうちネットワークアドレス(192.168.5.0)とブロードキャストアドレス(192.168.5.15)にそれぞれ1つずつ使われますので、実際にホストとして使用可能なIPアドレスは14通り(192.168.5.1から192.168.5.14)となります。

同様に、/24、/16、/8など他のサブネットマスクを使用した場合でも、ネットワークアドレスとブロードキャストアドレスを除いた残りが実際にホストとして使用可能なIPアドレスとなります。

したがって、あなたの理解は完全に正しいです。それぞれのサブネットでは、そのネットワークアドレスから始まる一連のIPアドレスがホストとして利用可能となります。

例えば社内に複数PCがあり、それぞれのPCでIPアドレスやサブネットマスクを設定すると思います。この時1台目では192.168.5.0/28と設定、2台目では192.168.5.128/28と設定した場合、どのような違いがありますか?

各PCのIPアドレスとサブネットマスクを設定する際には、同じサブネット内でユニークなIPアドレスを各PCに割り当てることが重要です。ネットワーク部が同じ場合、つまり同じサブネット内の場合、ホスト部(つまり各PCが持つユニークな部分)が重複しないようにする必要があります。

ご指定の設定(1台目は192.168.5.0/28、2台目は192.168.5.128/28)を見ると、これらは2つの異なるサブネットを示しています。それぞれのサブネットは異なる範囲のIPアドレスを持つことができます。

具体的には、

1台目のサブネット(192.168.5.0/28)では、使用可能なIPアドレス範囲は192.168.5.1から192.168.5.14です。
2台目のサブネット(192.168.5.128/28)では、使用可能なIPアドレス範囲は192.168.5.129から192.168.5.142です。
しかし、一点注意点があります。IPアドレスを設定するとき、ネットワークアドレス(ここでは192.168.5.0と192.168.5.128)やブロードキャストアドレス(ここでは192.168.5.15と192.168.5.143)をPCに割り当てることは通常行いません。したがって、具体的なPCのIPアドレス設定としては、1台目のPCには192.168.5.1/28、2台目のPCには192.168.5.129/28と設定するのが適切です。

そしてこれら2つのサブネットは互いに隔離されています。つまり、デフォルトの設定では、1つのサブネット内のPCから別のサブネット内のPCに直接通信することはできません。これらのサブネット間で通信を可能にするためには、ルーターなどのネットワークデバイスが必要となり、そのデバイスがルーティング(パケットの適切な転送)を行います。

192.168.5.129/28この書き方は、ipアドレスとサブネットマスクを合わせた書き方ですか?分けて書いた場合はどうなりますか?

はい、192.168.5.129/28の表記は、IPアドレスとサブネットマスクを一緒に書いた形式で、これをCIDR表記と言います。ここで、/28はサブネットマスクが255.255.255.240であることを意味しています。

分けて書いた場合、それは以下のようになります:

IPアドレス:192.168.5.129
サブネットマスク:255.255.255.240
これら二つの情報は同じ意味を表します。どちらの形式を使用するかは、主に文脈や使用しているシステムやソフトウェアに依存します。いずれの形式も、IPアドレスのネットワーク部とホスト部の境界を明確にすることが目的です。

IPアドレス:192.168.5.129
サブネットマスク:255.255.255.240

この場合、ネットワークアドレスは192.168.5.128ですか?

はい、その通りです。

サブネットマスク255.255.255.240(つまり/28)を使用すると、IPアドレスの最後の部分(最後の8ビット)を16個のブロック(0から15まで)に分けることができます。IPアドレス192.168.5.129は、そのブロックの8番目(128から143まで)になります。

したがって、このサブネットのネットワークアドレスは192.168.5.128になり、ブロードキャストアドレスは192.168.5.143になります。そして、利用可能なホストアドレスは192.168.5.129から192.168.5.142の範囲になります。

IPアドレス:192.168.5.127
サブネットマスク:255.255.255.240

ではこれは正しいですか?

IPアドレス:192.168.5.127とサブネットマスク:255.255.255.240(または/28)の組み合わせは技術的には間違っていませんが、この設定には注意が必要です。

サブネットマスク255.255.255.240(または/28)は、ネットワークを16のブロック(0から15まで)に分割します。そして、192.168.5.127は7番目のブロック(112から127まで)に属します。

そのため、このサブネットのネットワークアドレスは192.168.5.112、ブロードキャストアドレスは192.168.5.127になります。そして、利用可能なホストアドレスは192.168.5.113から192.168.5.126の範囲になります。

したがって、192.168.5.127をIPアドレスとして設定すると、それはブロードキャストアドレスと同じになります。ブロードキャストアドレスはネットワーク内の全てのホストにパケットを送信するために予約されています。そのため、通常のIPアドレスとして使用することは推奨されません。

IPアドレス:192.168.5.129
サブネットマスク:255.255.255.240

IPアドレス:192.168.5.126
サブネットマスク:255.255.255.240
を2台のPCで設定したとします。この場合、この2つのPC同士はルーターがないとネットワーク接続できないということですか?

いえ、その理解は間違いです。IPアドレス192.168.5.129と192.168.5.126の両方とも、サブネットマスク255.255.255.240(つまり/28)のネットワークに属します。そのため、これら2台のPCは同じローカルネットワーク内にあるとみなされ、直接通信することが可能です。

サブネットマスク255.255.255.240(または/28)を用いると、そのネットワークアドレスは192.168.5.128となり、ブロードキャストアドレスは192.168.5.143になります。そして、利用可能なホストアドレスは192.168.5.129から192.168.5.142の範囲になります。

したがって、192.168.5.129と192.168.5.126の両方とも、この範囲内にあるため、直接通信が可能です。ルーターは、異なるネットワーク間の通信(例えば192.168.5.0/28のネットワークと192.168.5.128/28のネットワーク間の通信)を行うために必要になります。

IPアドレス:192.168.5.126
サブネットマスク:255.255.255.240
この場合、ホストアドレスは192.168.5.113から192.168.5.126の範囲ではなかったのですか?

大変申し訳ありません、以前の回答で間違いがありました。ご指摘の通り、IPアドレス192.168.5.126とサブネットマスク255.255.255.240(または/28)の組み合わせでは、該当するネットワークアドレスは192.168.5.112となり、ブロードキャストアドレスは192.168.5.127になります。

利用可能なホストアドレスの範囲は、192.168.5.113から192.168.5.126となります。

したがって、192.168.5.126はホストアドレスとして有効で、192.168.5.129とは異なるネットワーク(192.168.5.112/28と192.168.5.128/28)に属します。

そのため、これらのネットワーク間で通信を行うにはルーターが必要となります。ルーターは異なるネットワーク間の通信を可能にします。

ご指摘ありがとうございます、誤解を招く回答をしたことをお詫びします。

異なるネットワーク間で通信を行う際には必ず物理的なルーターを経由する必要があると考えていいですか?

基本的には、異なるネットワーク間で通信を行うにはルーター(またはルーティング機能を持つネットワークデバイス)を経由する必要があります。しかし、そのルーターが物理的なデバイスである必要は必ずしもありません。

現代のネットワークでは、ルーティング機能を持つソフトウェアや仮想マシン、クラウドベースのサービスなども一般的に使用されています。これらは物理的なルーターと同様に、ネットワーク間のパケット転送を管理します。

また、あるコンピュータが異なるネットワークインターフェース(例えば、有線と無線)を持っていて、それぞれが異なるネットワークに接続されている場合、そのコンピュータ自体がルーティングを行うことも可能です。ただし、これは一般的な設定ではなく、特殊なケースや高度な設定を必要とします。

したがって、"ルーター"とは必ずしも物理的なデバイスを指すわけではなく、一般的にはネットワーク間のパケット転送を行う任意のデバイスやソフトウェアを指します。

ネットワークアドレスとブロードキャストアドレスとはなんですか?

ネットワークアドレスとブロードキャストアドレスは、IPネットワーキングで使用される特別な種類のIPアドレスです。

ネットワークアドレス:ネットワークアドレスは、特定のネットワークを識別するために使用されます。具体的には、IPアドレスのネットワーク部がそのネットワークのアドレスを表し、ホスト部は全て0に設定されます。たとえば、192.168.1.0/24の場合、"192.168.1.0"はネットワークアドレスを示しています。

ブロードキャストアドレス:ブロードキャストアドレスは、特定のネットワークに接続されている全てのデバイスにメッセージを送信するために使用されます。IPアドレスのホスト部が全て1(つまり最大値)に設定されているアドレスがブロードキャストアドレスとなります。たとえば、192.168.1.0/24のネットワークでは、"192.168.1.255"がブロードキャストアドレスになります。

ネットワークアドレスとブロードキャストアドレスは通常、特別な目的のために予約されており、個々のデバイスのIPアドレスとしては使用されません。そのため、ネットワークアドレスやブロードキャストアドレスを含めると、各サブネットで使用可能なホストアドレスの数は、サブネットの全体的なアドレス空間よりも2つ少なくなります。

デフォルトゲートウェイってなんですか?

デフォルトゲートウェイは、ネットワーク上のデバイスが自身のネットワーク(サブネット)外の目的地にデータを送信する際に通るルートを示します。基本的には、デフォルトゲートウェイは自身のネットワーク外への通信を制御するローカルネットワーク上のルーターのIPアドレスを指します。

具体的には、PCやスマートフォンなどのデバイスがインターネット上のウェブサイトにアクセスしたいとき、そのウェブサイトのIPアドレスはデバイスのローカルネットワーク(例えば、自宅やオフィスのLAN)外にあります。そのため、デバイスはデフォルトゲートウェイを通じてそのウェブサイトにアクセスします。デフォルトゲートウェイ(つまり、ルーター)はそのリクエストをインターネットに転送し、ウェブサイトからの応答をデバイスに戻します。

したがって、デフォルトゲートウェイは、ネットワーク上のデバイスが自分のネットワーク外の目的地にデータを送信する際の「出口」のようなものと考えることができます。

IPアドレス:192.168.5.126
サブネットマスク:255.255.255.240
この場合のデフォルトゲートウェイはどうなりますか?

デフォルトゲートウェイは、あなたが使用しているネットワークの設定によります。一般的に、デフォルトゲートウェイはネットワーク上のルーター(またはルーティング機能を持つ他のデバイス)のIPアドレスに設定されます。このアドレスはネットワークの範囲内である必要があります。

あなたが提供した情報に基づくと、IPアドレスが192.168.5.126で、サブネットマスクが255.255.255.240(またはCIDR表記で/28)です。このネットワークでは、利用可能なIPアドレスの範囲は192.168.5.113から192.168.5.126です(192.168.5.112がネットワークアドレスで、192.168.5.127がブロードキャストアドレスです)。

したがって、デフォルトゲートウェイは192.168.5.113から192.168.5.126のいずれかに設定できます。しかし、一般的には最初または最後の利用可能なIPアドレスが選ばれることが多いので、このケースでは192.168.5.113または192.168.5.126がよく使われます。ただし、この決定はネットワーク管理者による設定や、使用されているルーターやその他のネットワーク機器の設定に依存します。

IPアドレス:192.168.5.1
サブネットマスク:255.255.255.0
の設定をした1台目のPCと
IPアドレス:192.168.5.126
サブネットマスク:255.255.255.240
の設定をした2台目のPCがあった場合、
ネットワーク部が異なると思います。

1台目から見て2台目は同じネットワークなため通信ができると思います。しかし2台目から見て1台目は別のネットワークです。この場合2台目から1台目へは通信ができませんか?それともどちらのPCからも通信ができないのでしょうか?

このケースでは、サブネットマスクが異なるために、1台目と2台目のPCが異なるネットワークに属していると見なされます。

具体的には、1台目のPC(IPアドレス:192.168.5.1、サブネットマスク:255.255.255.0)は192.168.5.0/24ネットワークに属しており、2台目のPC(IPアドレス:192.168.5.126、サブネットマスク:255.255.255.240)は192.168.5.112/28ネットワークに属しています。

1台目のPCから見て、2台目のPCは自分と同じ192.168.5.0/24ネットワークにいると思ってしまいます。しかし、2台目のPCは自分が192.168.5.112/28ネットワークにいると認識しており、1台目のPCを異なるネットワークの一部と見なします。

そのため、この設定ではお互いに通信することは基本的にできません。なぜなら、2台目のPCは1台目のPCを別のネットワークに属するものと認識しており、直接通信する代わりにデフォルトゲートウェイ(つまりルーター)を経由しようとするからです。しかし、このケースではデフォルトゲートウェイが設定されていないため、通信は失敗します。

また、1台目のPCから2台目のPCへの通信も問題があります。1台目のPCは2台目のPCを同じネットワーク内のデバイスと認識して直接通信しようとしますが、2台目のPCは1台目のPCを別のネットワークからの通信と見なし、応答しません。

したがって、この問題を解決するためには、両方のPCが同じサブネットマスクを使用するように設定するか、適切に設定されたルーターを経由する必要があります。

サブネットマスクをうまく区切ってネットワークを分けることで、どういういいことがありますか?

ネットワークをサブネット(小さなネットワーク)に分割することには、以下のようないくつかの利点があります:

パフォーマンス向上: 大きなネットワークをサブネットに分割することで、ネットワーク全体のトラフィックが減り、パフォーマンスが向上する可能性があります。これは、ネットワークの輻輳を減らし、データ転送の遅延を最小限に抑えることに役立ちます。

セキュリティ強化: サブネットを使用してネットワークを分割することで、異なる部門やグループにそれぞれ異なるセキュリティレベルを提供することが可能となります。これは、ネットワークの一部が攻撃を受けた場合に、攻撃が他の部分に広がるのを防ぐのに役立ちます。

管理の容易さ: サブネットにより、ネットワークを論理的なグループに分割することで、ネットワークの管理が容易になります。これは、トラブルシューティング、ネットワークの設定、ユーザーの追跡など、多くのネットワーク管理タスクを単純化します。

アドレスの効率的な使用: サブネット化により、IPアドレススペースをより効率的に使用することができます。大規模なネットワークアドレススペースを持つ組織では、全てのアドレスを一つのネットワークで使用するとアドレスが無駄になる場合があります。サブネット化により、アドレスを必要なネットワークサイズに合わせて適切に割り当てることができます。

まとめ

IPアドレスにはネットワーク部とホスト部がある。
ざっくりと、ネットワーク部はネットワークのグループのことで、ホスト部は実際のPCのこと。
サブネットマスクの設定を行い、グループ分けを適切におこなうことで、ネットワークの適切な運用ができる。

Discussion