IPアドレスがデバイスではなく各インターフェイスに割り当てられるのはなぜですか?その意味は何でしょうか?


12

なぜ各インターフェイスにIPアドレスを与える必要があるのですか?各デバイスに1つを与えるだけでは十分ではありませんか?


3
一部のデバイスは、特定のインターフェイスに関連付けられていない管理用のIPのみを取得します。他の人はあなたが説明した方法で動作します。デバイス、モデル、ソフトウェア/ファームウェアによって異なります。さらに、タスクの要件に応じて、インターフェイスごとに異なるIPアドレスを割り当てる必要がある場合があります。
ジェシーP.

3
短い答え-ルーターを可能にします。ルーターは、さまざまなネットワークに接続する必要のある単なるコンピューター(最近ではLinuxである可能性が最も高い)であるため、複数のIPアドレスを持つ機能が必要です。デバイスごとの複数のIPは、ルーターの発明とほぼ同時に発生しました。
スリーブマン

履歴情報で答えがありませんか?失望:-)
ダニエルW.

この質問は意味をなさないか、具体的または完全な論理的ステートメントではありません。言葉の組み合わせです。IPアドレスは、さまざまなコメント要求で定義されたインターネットプロトコルで使用される整数です。私は、「デバイス」または「インターフェースの概念は、これまでに定義されているとは思わない。
マーシャルクラフト

たとえば、同じ物理マシン上で実行されている2つのWindowsアプリケーションは、IPプロトコルを使用して通信するネットワークを利用できます。これには長所と短所があります。とは言っても、IPプロトコルは抽象論理的なものであり、IPと抽象的に同じである基礎となる層の上で実行されます。
マーシャルクラフト

回答:


25

インターフェイスをネットワークに接続すると、そのネットワークの一部になります。したがって、IPアドレスはホストではなく接続のプロパティです。

同様に、ホストは多くのネットワーク接続とそれに応じたIPアドレスを持つことができます。多くの場合、異なるインターフェイスには異なる機能があるため、それらを区別することが重要です(内部コンソール、パブリックサービス、iSCSIなど)。

ルーターには、インターフェイスに複数のIPアドレスが必要です。


14

番号。

とはいえ、簡単な例を見てみましょう。

3つのインターフェイスを持つコンピューターがあります:(eth0有線イーサネット)、wlan0(wifi)、およびvboxnet0(virtualbox)。インターフェースの1つは内部ネットワークに接続され、1つはインターネットに接続され、最後の1つは仮想コンピューターのネットワークに接続されます。たとえば、10.1.2.3というアドレスが1つだけあり、それらのネットワークの1つで到達可能な多数のパケットを192.168.1.2に送信するとします。どこに送信すればよいでしょうか。どこにでも送信することはできません。そのような動作は、すべてのネットワークを短時間であふれさせます。

しかし、eth0インターフェースに192.168.1.3があり、wlan0に10.1.2.3があり、vboxnet0に172.0.0.1がある場合、デフォルトのルーティングテーブルは「eth0を送信する」と言うでしょう。(これは明らかに、より複雑なルーティングルールではるかに複雑になる可能性があります)。

そして逆に、プライベートネットワークに対して開かれているインターフェイス上でのみサービスを実行したい場合があります。そのため、リクエストが別のインターフェイスに届くと、まったく処理されません。


1
異なるIPアドレスを持たないインターフェイスなしで、各インターフェイスで到達可能なものがわからないのはなぜですか
パエロエベルマン

可能性があります(実際にそのようなルーティングルールを設定することは可能です)が、「10.1.2.1に一致しないものを送信する」と言う代わりに、抽象化の下位レベルに移動します(OSIレイヤー3)、今度は「どのインターフェイスが必要か(レイヤー2)」を処理する必要があります。可能性もありますが、抽象化により問題が簡素化されます。
Piskvorは

2
もう1つ-IPアドレスは、他のユーザーにも連絡するために割り当てられます。Wifiとイーサネット経由で接続しているとしましょう。各インターフェイスは異なるネットワークに入りますが、両方のネットワークはインターネットに到達できます。ここで、10.1.2.3から1.2.3.4にパケットを送信します。戻りルートは何ですか?Wifiまたは有線?推測することはできますが、間違っていると推測した場合、パケットは間違ったインターフェイスを介して返され、破棄される可能性があります。(はい、あなたは例があるしたい -珍しい同じIP addrの、または複数のIPアドレスが使われるとのiface、あるいは全くのaddrとのifaceを持つ複数のインターフェースが)
Piskvorは、建物の左の

5

ケース1:ルーター

理論的にはこれが可能です。

ただし、通常、IPアドレスが特定のネットワークマスク(10.0.0.0/28など)と「一致する」場合、IPパケットは宛先に「直接」送信されます。それ以外の場合、パケットはルーターを介して送信されます。

これの意味は:

  • ルーターは2つのネットワークを接続します。2つのネットワークにはそれぞれネットワークマスクがあります
  • 2つのネットワークのいずれかで、あるコンピューターから別のコンピューターに送信されるパケットは、ルーターを通過しません。

    これは、各コンピューターのIPアドレスが、接続先のネットワークのネットワークマスクと一致することを意味します。

  • ルーターに送信されるパケット(ルーターによってルーティングされるパケットも含まれます!)は、コンピューターから2番目のルーターを経由してルーターに送信されません。

    つまり、ルーターのIPアドレスは両方のネットワークのネットワークマスクと一致する必要があります。

  • ただし、1つのネットワークの1つのコンピューターから他のネットワークのコンピューターに送信されるIPパケットは、ルーターを介して送信されます。

    これは、1つのネットワーク内のコンピューターのIPアドレスが他のネットワークのネットワークマスクと一致してはならないことを意味します。

1つのIPアドレスが両方のネットワークマスクに一致する方法でIPアドレスと2つのネットワークマスクを選択することはほとんど不可能ですが、多くのIPアドレスは1つのネットワークマスクにのみ一致します。

ケース2:異なるプライベートネットワーク

コンピューターが相互にデータを交換できない2つのプライベートネットワークに接続されている場合があります。

この場合、コンピューターは両方のネットワークで同じIPアドレスを持つ場合があります。

IPv4の場合、OSは2つのネットワークのネットワークマスクを使用してそれらを区別するため、ほとんどのOSはこれをサポートしません。ネットワークには異なるネットワークマスクが必要です...

IPv6の場合(「リンクローカル」アドレスを使用)、コンピューター 2つの異なるネットワークで同じ(リンクローカル)IPアドレスを持つことができます。したがって、2つのネットワークカードは同じIPアドレスを持つことができます。


ある特定の場合、イーサネットのTSN仕様では、確定的イーサネット(802.1cb)のシームレスな冗長パスをサポートするために、同じIP、マスク、およびMACアドレスを持つ複数のインターフェースが許可されます。冗長性はMACレベルで処理されます(重複パックの検出と冗長情報の無視)。したがって、ホストの観点からは1つのインターフェースになります。
古典的な

3

私は、なぜ各インターフェイスにIPアドレスを与える必要があるのか​​疑問に思っていました。各デバイスに十分ではありませんか?

あなたの仮定に挑戦することから始めましょう。なぜこれが機械の振る舞いではないと言うのですか?192.168.1 / 24をeth1に、192.168.2.1 / 24をeth2に割り当てたとします。192.168.1.0/24 out eth1および192.168.2.0/24 out eth2のルートをインストールし、そのルートに沿って送信されるパケットの優先ソースIPアドレスを決定する以外に、IPアドレスを割り当てるインターフェイスはどれくらい重要ですか?本当に何が変わるのですか?マシンのインターフェイスに割り当てられたすべてのIPアドレスがマシンに属しているかのように、マシンはどのような意味で動作しませんか?

両方のアプローチが使用されます。最も一般的なアプローチは、実際にはこれら2つのアプローチのハイブリッドです。

「デバイスにIPアドレスを与える」という極端な例では、すべてのインターフェイスが1つのIPアドレスがブリッジに割り当てられたフィルタリングブリッジに接続されているかのように動作するデバイスを想像できます。

「各インターフェイスにIPアドレスを与える」極端な例では、各インターフェイスが個別のマシンのように振る舞うデバイスを想像できます。(デバイスが現在どのように機能するか、または1つのインターフェースに割り当てられたIPアドレスに接続しているが、パケットが到着して別のインターフェースに送信される人について考える場合は、こちらを参照してください。)

実際には、ほとんどのマシンはその中間のどこかで動作します。すべてのIPアドレスがマシンに所有されているかのように動作します。特定のデバイスへのIPの割り当ては、OSにそのインターフェースからデフォルトルートをインストールし、ソースIPアドレスが存在しないインターフェースから送信されるパケットにデフォルトのソースIPアドレスを設定するように指示する以上のことはしません。強制された。

それ以外の場合、すべてのIPアドレスがマシンに属しているかのように動作します。パケットの処理方法は、受信したインターフェイスにあまり依存しません。別のインターフェイスで受信した1つのインターフェイスに送信元IPアドレスが割り当てられたパケットは、ルーチンです。アドレスが割り当てられているインターフェイスは、パケットが送信されるインターフェイスに直接影響しません。ルーティングテーブルはそれを決定します。


3

IPアドレスを持つデバイスがネットワーク内に存在ます。

ルーターは、ネットワーク間のトラフィックを渡すことを主な目的とするデバイスです

ルーターが2つのネットワーク間でパケットを渡すには、両方のネットワーク内に存在する必要があります。

ルーターには、各ネットワーク内に「アーム」があります。または、それをインターフェイスと呼びます。また、ネットワーク内にインターフェイスが存在する方法は、ネットワーク内でIPアドレスを割り当てることです。

ルータを設定する場合従って、各インタフェースは、そのルータが属するネットワークを識別するためにIPアドレスを受信内に

免責事項:上記のリンクは私のブログです。私のブログは収益化されていません。私はあなたからそれを読んで利益を得ません。私はあなた(そして他の読者)の利益のためだけにリンクを提供しています。


1
素晴らしく簡潔な答え、理由を説明する非常に明確な方法。
-Stilez

2

一般的なケースでは、接続するローカルネットワークごとに1つのIPが必要です。これがTCP / IPの定義方法です。特定のローカルネットワーク上の各ホストには IPアドレスがあり、次のことが可能です。

  • 宛先IPアドレスに基づいて、トラフィックを適切なローカルネットワークにルーティングする
  • そのローカルネットワーク上の適切なデバイスにトラフィックを転送する(たとえば、802.xローカルネットワークでのARPルックアップ後)。

複数のデバイスが接続されたローカルネットワーク(イーサネット、Wi-Fiを含むほとんどの802.xローカルネットワーク)がある限り、TCP / IPの動作を根本的に変更しない限り、それを回避することは非常に困難です。

しかし、実際にはそれを回避することは可能ですが、それは非常に具体的です。

ポイントツーポイントリンク(スイッチまたはハブのない2つのデバイス間のポイントツーポイントイーサネット、DSLリンク、SONET / SDHリンク、フレームリレーまたはATM VCなど)のみを含むネットワークを考えます。

通常の規則では、各リンクに/ 30を使用するため、各端のデバイスにはそのリンクのIPアドレスが割り当てられます。

ただし、「IPアンナンバード」を使用して、それらのリンクにIPアドレスを関連付けることはできません。ここで、デバイスのループバックインターフェイスにIPを割り当て(実際には任意のインターフェイスですが、ループバックがこの目的で最も簡単です)、動的ルーティングプロトコル(IS-IS、OSPF、EIGRP ...)を使用します。このルーティングプロトコルは、さまざまな番号なしリンクを介してそのIPアドレスにトラフィックをルーティングする方法をアドバタイズします。


0

IPアドレスにはルーティング情報が含まれます。IPアドレスは、割り当てられたプレフィックス長に基づいて、ネットワーク番号ホスト番号の 2つのコンポーネントに分割されます(元々はネットワークマスクとして表されていましたが、これは依然としてネットワークスタックで内部的に実装される方法です)。

ルーティングが適切に機能するには、特定のネットワークに接続されているすべてのデバイスに同じネットワーク番号のアドレスが必要です。送信者は、自分のネットワーク番号を受信者のアドレスと比較することにより、受信者が同じネットワーク上にあるか異なるネットワーク上にあるかを判断します。同じネットワーク内にいる場合、直接送信します。それ以外の場合、メッセージを宛先に近づけることを仕事とするルーターに送信します。

そのため、デバイスが複数のネットワークに接続されている場合、そのネットワーク上のデバイスからアクセスできるように、それらのネットワークのそれぞれにアドレスが必要です。

ただし、特定のネットワークインターフェイスにアドレスを特別に割り当てる必要はありません。デバイスは、所有するすべてのIPのリストを1つのテーブルに保持するだけで済みます。ただし、インターフェイスには、接続されているネットワークに関する情報が必要です。IPとネットワークマスクを各インターフェイスに割り当てることにより、この情報を1か所に配置し、設計を簡素化します。IPのリストと、インターフェイスが接続されているネットワークのリストとの一貫性を保つために、追加のコードは必要ありません。


0

標準的なケースでは1つのIPで十分ですが、他の回答で強調されているように、そうでない場合が多くあります。

他の回答では、ルーターの場合について既に言及しています。1つは仮想マシンの場合であるvirtualboxに言及しています。1つの物理デバイス上で複数の仮想デバイスを実行している場合があります。別のケースはVLANです。実際には、単一のネットワークカードに、異なるIPアドレスを持つ複数の異なる仮想LANに接続している場合があります。また、TCPポート80で複数のWebサーバーを実行したい場合など、何らかの理由で複数のIPを備えたインターフェースを使用することもできます。このような構成はサーバーでは珍しくありません。 、ただし、いくつかのIPアドレスが設定されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.