なぜ IP アドレスが 172.18.0.150/24 という表記でリストされているのでしょうか? つまり、IP が 172.18.0.150 なのに、/24 になっているのでしょうか? また、それがどのサブネット上にあるかは、他の誰かが心配すべきことではないでしょうか?
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether f8:b1:56:ba:ae:ee brd ff:ff:ff:ff:ff:ff
inet 172.18.0.150/24 brd 172.18.0.255 scope global eth0
別のコンピューターのインターフェース (ethX) 上の 172.18.0.150 にアクセスしたい場合は、そのコンピューターのルーティング テーブルに以下を追加できます。
IPルート追加 172.18.0.150/25 dev ethX
または
IPルート追加 172.18.0.150/24 dev ethX
または
IPルート追加 172.18.0.150/23 dev ethX
または
IPルート追加 172.18.0.150/8 dev ethX
そうですか?では、/24 は私の NIC のアドレスと実際どのような関係があるのでしょうか?ルーティングにのみ関係があるようですが、違いますか?では、なぜ IP アドレスにそれをリストするのでしょうか?
172.18.0.150/24 は 172.18.0.150/8 と同じ「ネット」上にありますか、それともこれら 2 つの IP アドレスはまったく異なりますか?
答え1
IPアドレスの基本
IP アドレスは内部的に 32 ビットの値として表されます。最上位の N ビットはネットワークを識別し、残りの数字はネットワーク内のホストを識別します。
2 つの IP の例を見てみましょう。まず 32 ビットを見てみましょう。
10101100000100100000000010010110
10101100000100100000000110010110
IP を 8 ビット グループ (バイト) に分割し、各バイナリを 10 進形式で書き込むことで、IP をより読みやすい方法で書き換えることができます。
グループ化:
10101100 00010010 00000000 10010110
10101100 00010010 00000001 10010110
グループ化および 10 進数:
172.18.0.150
172.18.1.150
ここでの疑問は「これらのIPアドレスは同じネットワーク上にあるか」です。これはネットワーク構成によって異なります。たとえば、ネットワークマスクを見てみましょう。
11111111 11111111 11111111 00000000
(1 はネットワーク用、0 はホスト用です。)
これを 2 つの IP に重ねると、両方の IP アドレスが異なるネットワーク上にあることがわかります。マスクが 255.255.0.0 の場合、それらは同じネットワーク上にあることになります。
異なるネットワーク:
11111111 111111111 11111111 00000000
10101100 00010010 00000000 10010110
1010110 00010010 00000001 10010110
同じネットワーク:
1111111 1111111 00000000 00000000
10101100 00010010 00000000 10010110
1010110 00010010 00000001 10010110
IP アドレスと同様に、ネットワーク マスクも 10 進ドット形式で記述できます: 255.255.255.0 または 255.255.0.0。ここで、172.18.0.150/255.255.255.0 または 172.18.0.150/255.255.240.0 のように完全な IP とネットワーク マスクを記述する必要がある場合、記述する内容が多くなります。より短い記述方法は、ネットワーク マスクではなく、ネットワーク マスク内の 1 の数を指定することです: 172.18.0.150/24 または 172.18.0.150/20。ご存知のように、1 は常に最上位ビットであるため、「/24」または「/20」の意味は明らかです。
ルーティングの基本
もしまだ読んでいないならMACアドレスの使用に関する回答今すぐそうしたいと思うかもしれません。
簡単に言うと、コンピュータが IP パケットを送信する場合、まず宛先 IP アドレスがコンピュータ自体 (送信元 IP) と同じネットワーク上にあるかどうかを確認します。そうである場合、コンピュータはパケットをネットワークに直接送信でき、宛先コンピュータはそれを受信できます。宛先 IP が同じネットワーク上にない場合、コンピュータはターゲットに直接到達できず、パケットを次のルーターに送信する必要があります。ルーティング テーブルは、どのネットワークにどのルーターを接続するかをルーターに指示します (例: 「ネットワーク 172.18.0.0/24 の場合、ルーター 1.1.1.1」)。そのルーターは、宛先 IP に直接到達できるかどうか、またはパケットを次のルーターに転送する必要があるかどうかを再度確認します。
コンピュータのルーティング テーブルを確認したい場合は、 を使用できますip route
。
受信側ではネットワーク マスクは関係ないことに留意してください。172.18.0.150/24 または 172.18.0.150/8 は両方とも 172.18.0.150 であり、コンピュータが 172.18.0.150 宛てのパケットを受信すると、それを消費します。ネットワーク マスクは送信側でのみ使用されます。コンピュータ A がアドレス aaaa/n からアドレス bbbb/m のコンピュータ B にパケットを送信すると、送信者 A は送信元アドレス aaaa の最上位 n ビットと bbbb の最上位 n ビットを比較します。両方が等しい場合、aaaa と bbbb は同じネットワーク上にあり (n が m に等しくなければなりません)、パケットを直接送信できます。そうでない場合、ネットワークは等しくなく (n が m に等しくなくてもかまいません)、パケットを転送するルーターに送信する必要があります。
「ip route」出力の理解
たとえば、2 つの NIC を備えたコンピューターを考えてみましょう。
デフォルト 192.168.178.3 経由 dev eth1 proto 静的メトリック 1024
10.0.0.0/8 172.16.1.1 経由 dev eth0
169.254.0.0/16 dev eth1 スコープ リンク メトリック 1000
172.16.0.0/16 dev eth0 proto カーネル スコープ リンク src 172.16.126.31
192.168.178.0/24 dev eth1 proto カーネル スコープ リンク src 192.168.178.21
3 行目から 5 行目は、NIC ( ip addr
) に設定されている IP アドレスから取得されます。これらは、送信するパケットがたとえばネットワーク 172.16.0.0/16 に一致する場合、そのパケットは eth0 (私の場合は IP アドレス 172.16.126.31 に設定されています) に送信されることをコンピュータに指示します。2 行目は、私が追加した特定のルートです。10.0.0.0/8 へのパケットは eth0 の 172.16.1.1 に送信されることを示しています。1 行目は、他のどのネットワークにも一致しないパケットに使用するデフォルト ゲートウェイ/ルーターを指定しています。
ネットワークがどのようなものであるかを決めるのは誰でしょうか?
トップレベルRFC3330すべての IP アドレスが広く使用されるわけではなく、一部の範囲は特別な目的のために予約されていると定義されています。1 つの例は、ネットワーク 127.0.0.0/8 です。その範囲で最も重要なアドレスは 127.0.0.1 (名前: localhost) で、これは自分のコンピュータを識別します。この IP は、もちろん自分のコンピュータでのみ役立ちます。そのネットワークに送信されるすべてのパケットは自分のコンピュータから送信されることがないためです。すべての可能な IP アドレスから予約済み範囲を取り除いても、使用可能なネットワークのプールが残ります。この大きなプールは ICANN によって管理されています。次の階層レベルは、5 つの地域インターネット レジストリ (RIPE NCC など) です。これらは ICANN から IP アドレス範囲を取得し、それを自身の顧客であるローカル インターネット レジストリに販売します。これらはそれをエンド ユーザー (企業など) に販売します。
IP アドレス範囲全体をどのように分割するかは、プールの各管理者の判断に委ねられます。たとえば、あなたが ICANN で、50.0.0.0/8 ~ 100.0.0.0/8 の範囲を管理しているとします。RIPE NCC が IP アドレスをいくつか要求してきたら、50.0.0.0/16 または 50.0.0.0/8、または 50.0.0.0/8 ~ 60.0.0.0/8 を指定できます。RIPE NCC とローカル インターネット レジストリについても同様です。レジストリは、大規模なネットワークも小規模なネットワークも提供できます。古き良き時代のレジストリは消極的だったため、まったく必要としない広いアドレス範囲を持つ大規模な大学や企業が今も存在しています。一部の大学は /8 ネットワークを取得しており、ホストに 24 ビット割り当てられています。つまり、1,600 万台以上のコンピューターをアドレス指定できます。数千台のコンピューターしか持っていない場合は、何百万もの IP アドレスがその顧客のために予約されているものの、まったく使用されていないことになります。これは無駄です。したがって、最近は大きな範囲を取得できなくなっていますが、本当に大きな範囲が必要かどうかを議論する必要があります。
いずれにせよ、IP アドレス範囲 (ネットワーク) をどのように販売するかを決める際には、インターネットの大規模ルーターが既存のネットワークのほとんどすべてに到達する方法を知る必要があることを念頭に置いておく必要があります。非常に小規模なネットワークを販売する場合、ヨーロッパでは 10.0.0.0/24 と 10.1.0.0/24、アジアでは 10.0.1.0/24 と 10.1.1.0/24、アフリカでは 10.0.2.0/24 と 10.1.2.0/24 になることがあります。つまり、ルーターのルーティング テーブルには多数の小規模ネットワーク エントリが作成されることになります。ヨーロッパに 10.0.0.0/16、アジアに 10.1.0.0/16、アフリカに 10.2.0.0/16 を割り当てると、ルーティング テーブルには大規模ネットワークのエントリが 3 つだけ作成されます。
しかし、それはすべて私たちの問題ではなく、インターネット レジストリのビジネスです。ただし、そうではありません。なぜなら...
いつ、どのようにネットワークをセットアップする必要がありますか?
会社のルーターを運用している場合は、40.41.0.0/16 の範囲を取得し、これらの IP アドレスを好きなようにコンピューターに割り当てることができます。ただし、この場合、すべてのコンピューターは同じ物理ネットワーク上にある必要があります (間にルーターはありません)。これにより、大規模なネットワークのパフォーマンスが低下する可能性があるため、ネットワークを分割することをお勧めします。たとえば、建物が 2 つある場合は、建物 1 に 40.41.0.0/17 を割り当て、建物 2 に 40.41.128.0/17 を割り当てることができます。
プライベートIPアドレス
ブロードバンド ルーターを実行している場合、または会社のルーターを実行している場合は、172.16.0.0/12 のようなプライベート ネットワーク IP アドレスを見たことがあるかもしれません。指定した IP アドレス (172.18.0.150) は、このようなプライベート IP アドレスです (ネットワーク マスクに関する新しい知識で簡単に確認できます)。これらは、ローカル インターネット レジストリから N 個のパブリック IP アドレス (通常の ISP の場合は N=1) を取得したが、IP アドレスを必要とするデバイスが M>N 個ある場合に使用されます。この場合、ルーターには 1 つのパブリック IP アドレス (インターネットとの間のすべてのトラフィックに使用) と、プライベート IP アドレスを持つプライベート ネットワークがあります。この場合、ルーターはプライベート ネットワーク 172.18.0.0/24 を取得し、そのネットワークの IP アドレスを各 PC に割り当てます。
しかし、他の人のルーターも 172.18.0.0/24 を使用している場合はどうなるでしょうか。驚くべきことに、これは問題ではありません。これは、172.16.0.0/12 がプライベート アドレス範囲であるためです。この範囲の IP アドレスがパブリック インターネットで表示されることはありません。172.18.0.150 を送信元アドレスとして指定してインターネットにパケットを送信すると、ルーターは 172.18.0.150 を ISP から提供されたパブリック IP アドレスに置き換えます。ルーターは、パブリック IP アドレスに送信されたパケットを受信すると、パケットを送信するコンピューターを決定し、宛先 IP アドレスをコンピューターのプライベート ネットワーク IP アドレスに変更します。
答え2
もちろん、すべてのホストをルーターとポイントツーポイント接続することもできます。ただし、その方法では、すべてのトラフィックがルーターを通過する必要があります。明らかに、これは非常に非効率的です。
コンピュータに「192.168.0.1 から 192.168.0.254 までのすべての IP アドレスがこのリンク (192.168.0.X/24) で直接到達可能である」と指示すると、より効率的なローカル ネットワーク トランスポートを使用して、同じネットワーク上の宛先と直接通信できるようになります。
答え3
それは決して他人の心配事ではありません。
IP アドレスが属するサブネットを知っておくとよいでしょう。
サブネット化を次のように行うとします。/25その場合172.18.0.127
、172.18.0.128
と は連続しているため同じサブネット上にあるように見えますが、異なるサブネット。
アドレスを172.18.0.127/25
およびとして指定する必要があります172.18.0.128/25
。 そうすれば、それぞれの場所がわかります。
これは単純な例ですが、範囲が172.18.0.128 to 172.18.0.255
再度サブネット化されると、さらに悪化する可能性があります。たとえば、/26。
答え4
スラッシュの後の部分は、使用するサブネット マスク ビットの数です。例:
192.168.1.1/24 is 192.168.1.1 255.255.255.0
255.255.255.0
サブネットを作成するため24
に を使用しています。32 bits
バイナリでは次のようになります。
11111111.11111111.11111111.00000000
したがって、自分が誰であるかを知りたい場合は、172.180.0.150 の下の誰かですが、それが誰であるか、どのようにアクセスするかなどです。