web-dev-qa-db-ja.com

サブネットマスクが必要なのはなぜですか?

IPv4アドレスはすでにネットワークとホストの情報を提供しているため、なぜサブネットマスクが必要なのですか?

第1オクテットはすでにネットワーククラスを指定しています(1-127:A、128-191:B、192-223:Cなど)。 A、B、またはCは、ネットワークのオクテット数(それぞれ、255.0.0.0、255.255.0.0、255.255.255.0)を意味し、ネットワークの各クラスに許可されているホストの数を自動的に通知します。

IPは、サブネットマスクなどのすべての情報を提供します。そもそもなぜサブネットマスクが必要なのですか。サブネットに含まれる情報が完全にIP内のサブセットではない場合、他に何が含まれているのか、またはサブネットが何を行っているのか、それを個別に指定する必要がありますか?

38
KMC

アドレスはネットワークサイズに関する情報を提供しないため、IPv4アドレスのサブネットマスクが必要です。クラスのサイズはネットワークのサイズではありません。実際のネットワークでは、すべてのIPv4ネットワークがクラ​​スサイズよりも小さい サブネット に分割されます。

たとえば、クラスCネットワーク200.200.200.0/255.255.255.0を2つの小さなネットワーク(別の場所にある可能性があります)200.200.200.0/255.255.255.128と200.200.200.128/255.255.255.128に分割すると、126を超えるホストが必要ないことになります。実際には、ほとんどの企業は、パブリックインターネット上にある必要があるサーバーに対して十分なIPv4アドレスしか取得していません。私は個人的に、32、16、および8アドレスネットワークのセットアップを見ました(これは、それぞれ255.255.255.224、255.255.255.240、および255.255.255.248のマスクになります)。

クラスサイズのブロックのみにIPネットワークを配置すると、許可できるネットワークの数が制限され、127のクラスAネットワークが半分のスペースしか使用できなくなります。言うまでもなく、240億ノードのネットワークを持つことは完全に管理できません。代わりに、1993年に Classless Inter-Domain Routing(CIDR) が導入され、ネットワークを分割できるようになりました。

また、サブネットマスクの目的を明確にすることは、ローカルネットワーク上にあるホストとネットワークの外部にあるホストを判別することです。ホストは同じネットワーク上のホストと直接通信できますが、外部ネットワーク上のホストと通信するには、 ルーター と通信する必要があります。

38
shf301

第1オクテットはすでにネットワーククラスを指定しています(1-127:A、128-191:B、192-223:Cなど)。 A、B、またはCは、ネットワークのオクテット数(それぞれ、255.0.0.0、255.255.0.0、255.255.255.0)を意味し、ネットワークの各クラスに許可されているホストの数を自動的に通知します。

そうですが、誰かがそのネットワークをサブネット化する場合は、サブネットマスクを使用して、現在のサブネットの大きさを知る必要があります。はい、クラスフルアドレッシングを使用すると、クラスからネットワークのサイズがわかり、ホストはあなたと同じネットワーク内にありますが、そのネットワークがサブネットマスクなしでサブネット化されている場合、別のノードが同じサブネット内にあるかどうかはどのようにしてわかりますか?

イーサネットネットワークに接続しているとします。サブネット化ではクラスフルアドレッシングを使用します。あなたのIPアドレスは1.2.3.4に到達したいとします1.3.1.1。 ARPを使用してそのアドレスに到達しますか?まあ、それは1.2.3.4および1.3.1.1は同じサブネットにあります。同じネットワーク内にある場合でも、異なるサブネット内にある場合は、ルーターを使用する必要があります。同じサブネットにある場合は、ARPを使用する必要があります。

したがって、クラスフルネットワークでもサブネット化が使用されている場合は、サブネットマスクが必要です。

実際、サブネットをCIDRと混同していると思います。 CIDRがなければ、サブネット化があっても、管理リージョン間のサブネットマスクは必要ありません。しかし、それでもネットワーク内で必要です!

20
David Schwartz

サブネットマスクは、ネットワークアドレスと組み合わせて、IPアドレスに対してビット単位の操作を行うために使用されます。私のメモリがうまく機能している場合は、IPアドレスを取得し、そのIPアドレスと特定のネットワークのサブネットマスクに対してAND演算を行います。結果がネットワークアドレスと等しい場合、IPアドレスはその特定のネットワーク上にあります。ネットワークアドレスとサブネットマスクのルーティングテーブルを持つルーターは、単純なバイナリ演算(コンピューターが処理するのに最速ではないにしても非常に高速)を使用して、パケットをパントするインターフェイスを見つけることができます。

第1オクテットはすでにネットワーククラスを指定しています(1-127:A、128-191:B、192-223:Cなど)。 A、B、またはCは、ネットワークのオクテット数(それぞれ、255.0.0.0、255.255.0.0、255.255.255.0)を意味し、ネットワークの各クラスに許可されているホストの数を自動的に通知します。

これは歴史的には真実でしたが。これは何年も真実ではありませんでした。数年前、24.0.0.0/8はさまざまなISPにばらばらに配布されました。 (これは主にケーブルプロバイダーにあったと思います。)

ネットワーク割り当てに当てはまる場合でも、ルーティングを簡略化するために内部ネットワークにはネットマスクが必要でした。 10.0.0.0/8のようなネットワークの効率的なルーティングには、より小さなネットワークへの分割が必要です。これは、/ 16と/ 8のサブディビジョンを使用した単純なスキームですが、クラスレスサブディビジョンである可能性が高くなります。サブネットが大きいほど、アドレス空間をより効率的に使用できます(/ 24の99%以上がデバイスで使用可能ですが、/ 30の50%のみが使用可能です。

ローカルネットワークはデバイスから直接ルーティングされますが、他のアドレスはルーターを介して渡されます。複数のインターフェースを持つホストは、異なるサイズのネットワークに接続できます。

マルチホームホストのないサブネットの場合、/ 24には必要以上のアドレスが含まれています。私が使用したほとんどのルーターには24、48、または96ポートがあり、/ 27、/ 26、または/ 25サブネットでサポートできます。これにより、DCHPおよび/またはマルチホーミング用にいくつかの追加アドレスが許可されます。組織は、ルーティング用に/ 24または/ 23のサブネットを割り当てることを標準化できます。

IPv4アドレスはすでにネットワークとホストの情報を提供しているため、なぜサブネットマスクが必要なのですか。

多くのデバイスは、/ 24のデフォルトネットマスクを使用します。これは、多くの場合、ルーターに割り当てられたローカルサブネット(localnet)のサイズと一致します。これは、クラスA、B、Cにも等しく適用されます。サブネットサイズがデフォルトのサブネットと一致しない限り、ネットマスクが必要です。

CIDR形式を使用してアドレスが指定されている場合、ネットマスクとネットワークはアドレスから計算できます。そうでない場合、ネットワークはアドレスとネットマスクから計算できます。アドレスとネットワークからネットマスクを確実に計算することはできません。

サブネットにゲートウェイ(ルーター)アドレスを指定すると、デフォルトルートを構成して、サブネット外のアドレスにルーティングできるようになります。

3
BillThor

「第1オクテットはすでにネットワーククラスを指定しています(1-127:A、128-191:B、192-223:Cなど)。」

現在、これを尊重する一般的なプロトコルはそれほど多くありません(@Fiasco Labsのコメントを参照してください-RIPは私が考えることができる唯一のプロトコルです)。だから、あなたの質問のこの声明:

IPは、サブネットマスクなどのすべての情報を提供します。

今日インターネットで使用されている大多数のプロトコルには当てはまりません。

相互に接続されており、相互に通信しているだけのマシンがあり、ルーターが関与していない場合、サブネットマスクは実際には必要ありません(ただし、最近のTCP/IPスタックでは1つを指定する必要があります)。

ルーターは(サブ)ネットワークのエッジを定義します。ルーターを経由する必要があるものはすべて別のネットワーク上にあります。逆もまた同じです。別のネットワークに移動する必要があるものはすべてルーターを経由する必要があります。

サブネットマスクは、すべてのマシンが、トラフィックが現在のネットワークに対するものか、宛先に到達するためにルーターに送信する必要があるかを判断する方法です。コンピューターのTCP/IPスタックは、サブネットマスク内にある場合、トラフィックを宛先に直接送信します。それ以外の場合は、ルーティングテーブルを参照します。通常の状況では、他のトラフィックがデフォルトゲートウェイに送信されます。

3
LawrenceC

@エイドリアンの答えを除いて、これらのどれが実際に解決策を理解するための単純なものではなくマスクを使用するのかについて実際に言及しているとは思えません-そして彼はマスキングが高速であるという事実に触れただけです、私はなぜあなたがアドレス192.168.1.200-192.168.1.220に興味がある、または* .my.address.comのような名前を使用せずに、番号を割り当てる代わりに各コンピュータに名前を付けるだけではどうですか?

実際には、ルーティングから番号を完全に削除することができます。ほとんどのPCは、送信されるトラフィックの種類を処理できますが、より大規模なデバイスにはまだ問題があります。

このようなフィルタリングは常に発生しており、LOTでも発生しています。マスキングはハードウェアで行うことができ、興味のないパケット(以前はワイヤーを通過したパケットの99%でしたが、スイッチドハブを使用すると、見えないパケットは表示されなくなります)に時間を費やす必要がなくなります。あなたのマシンに宛てられ、再び関連性を減らします)。

ハードウェア上で非常に簡単なソリューションの場合も、非常に柔軟です。同じハードウェアは、クラスAネットワーク全体(10.x.x.x)または同じ実装で1つまたは2つのIPアドレスのみをルーティングできます。

これは他の回答の代わりではなく、もう少し情報です。

2
Bill K

今日まで、(CIDRとは対照的に)サブネットがまだ使用されている理由についての答えはまだありません。サブネットマスクには2つの問題があります。

  1. 無効な連続しないマスクを指定できます。
  2. (CIDRにも適用されます)重複が発生する可能性があります-ISPは異なるサブネットの一部として同じIPアドレスを提供する可能性があります。例えば。

    カスタマーA:22.132.124.121サブネットマスク255.255.255.0
    お客様B:22.132.114.55サブネットマスク255.255.0.0

すぐには見えないはずです。

https://blog.certskills.com/ccent/vlsmo_01_01/

1
LogicBreaker

他の回答ですでに説明されていることはたくさんありますが、主なものではありません。

IPアドレスで受信者の完全なアドレスを取得できる場合は、サブネットマスクが存在する理由を確認してください。大規模な組織では、部門ごとに個別のネットワークが必要になる場合があるため、たとえば、会計士が別のサブネットに属していて、マーケティング部門の内部IPアドレスにアクセスできない場合があります。したがって、たとえば、IP 192.168.10.3の従業員は、別のサブネットにあるため、192.168.15.76にあるプリンターにアクセスできません。

1
Luka Ramishvili

通常、サブネットマスクは、以下のサブネットワークのインジケータとして機能します。 通常、ネットワークには複数のサブネットが含まれ、サブネットマスクは、ルーターがトラフィックを特定の宛先(サブネットマスクを使用する任意のサブネット内)に配信するために使用する方法ですこのリンク にはサブネットマスクの概要が含まれています

0
Salah Amean