web-dev-qa-db-ja.com

ルーターがプライベート/ローカルIPアドレスの代わりにMACアドレスを使用できないのはなぜですか?

パブリックIPアドレスが必要な理由は、あるホスト間でデータを移動するためのMACしかない場合、インターネット全体が1つの非常にフラットなネットワークになるためだと理解しています。しかし、プライベートIPアドレスの必要性は何ですか?ルーターがMACアドレスを使用してローカルクライアントに接続できないのはなぜですか?

6
Drazen Bjelovuk

答えは、ソフトウェアアプリケーションとオペレーティングシステムがイーサネットMACアドレス指定ではなくTCP/IPを使用して通信するように設計されていることです。

したがって、通信するリモートコンピュータ/ノードがローカルネットワークにあるか、地球の半分にある他のネットワークにあるかに関係なく、その論理リンクはTCP/IPで確立されます。このようにして、アプリケーションはIPパケットで宛先IPアドレスを定義し、データ(実際にはTCP/UDPセグメントにパックされます)を入力し、基礎となるレイヤーが実際の送信をどのように処理するかを心配することなく、途中で送信します。 。

IPアドレスがローカルかリモートかを決定するのは、オペレーティングシステムのネットワークスタックです。

  1. ローカルネットワークの場合は、そのIPアドレスに対応するMACアドレスを探し、イーサネットフレーム内にあるIPパケットを直接送信します。
  2. リモートネットワークの場合は、イーサネットフレーム内でも、IPパケットを送信するデフォルトゲートウェイルーターのMACアドレスを探します。ルーターはフレームからIPパケットを取得し、アドレスを調べて、それを渡す次のノード(およびそのMACアドレス)を決定し、別のイーサネットフレームでその方向に送信します。

注:IPパケットがイーサネット以外の別のデータリンクプロトコルで配信される可能性は完全にあります(ダイヤルアップまたはDSLモデムがnotではないことを推測します)イーサネットケーブルを介してISPに接続されています)。また、宛先IPアドレスに到達できる限り、アプリケーションは気にする必要はありません。他のネットワークプロトコルデータ(IPパケットではない)をイーサネットフレームでラップして送信することも完全に可能です。

8
icelava

最終的に、すべてのパケットはMACアドレスに配信されます。 IPパケットがルーターに到着し、NATテーブルに、プライベートアドレス192.168.1.10宛てであることが示されている場合、ルーターは192.168。のMACアドレスを検索します。 1.10はであり、そのMACアドレスにパケットを送信します。

ただし、MACアドレスはレイヤー2アドレスであり、定義上、ローカルネットワーク上のアイテム間の通信のみを許可します。したがって、「MACアドレスではなくプライベートアドレスを使用する理由」の質問は、すべての非パブリックネットワークが単純な単一のフラットネットワークであると想定しています。

単一のLANで構成されるプライベートな企業ネットワークはほとんどなく、多くの国内環境には複数のネットワークがあります。これらのネットワーク間をルーティングするには、IPなどのレイヤー3プロトコルが必要です。

したがって、質問を別の言い方で表現すると、「ルーターの製造元とOS開発者は、レイヤー3が絶対に必要ではない特定の場合に、レイヤー2のみのローカルネットワークを作成しないのはなぜですか?」です。そして、この質問に対する答えは、既存の一般的なソリューションがすでに完全に機能しているシナリオに対してニッチなソリューションを作成する価値はないということです。何のメリットもありません。

2
Paul

MACをルーティングに使用する場合、MACアドレスはメーカーごとに異なるため、ルーティングテーブルにはネットワーク上の各ノードへのルートが含まれます。

IPは、さまざまなメーカーのネットワークデバイスが通信するための標準プラットフォームのようなものです。また、IPを使用すると、ネットワーク上の多くのデバイスへのルートを要約して、帯域幅とリソースを節約できます。 OSIモデルは、ネットワークがどのように機能するかについてのより多くの洞察を提供します。

この標準がなければ、ネットワーク自体は今日のように開発されないと思います。

1
ritesh

IoTの場合、IPアドレスの使用は、一般的に、助けよりも問題です。まず、セグメントには253個のIPアドレスしかありません。一般的な家に2台または3台のコンピューターがある場合、これは問題ありませんでした。しかし、今では50台または60台のデバイスが搭載されている可能性があり、電話、タブレット、ラップトップ、ストリーミングメディアボックスなどが含まれるようになります。

IoTが勢いを増すと、ここでは、冷蔵庫ではなく、アラームや気候制御などの実際のアプリケーションの場合、数百を簡単に持つことができます。これは、セグメントブリッジ、およびホームLANのまったく新しいレベルの複雑さを意味します。

さらに、IoTデバイスがMACアドレスで通信でき、IPアドレスを持たない場合、指摘されたように、IPの「I」は「Inter」を表します。これは、セキュリティレイヤー、認証、ARP/RARPなどを必要としないことを意味します。IoTデバイスを大幅に簡素化し、より手頃な価格にします。ホームセキュリティシステムのアラームパネルなど、IoTインフラストラクチャの一部では、外部と通信できるようにIPアドレスを取得する必要がある可能性があります。ただし、そのコンポーネントだけがIP、セキュリティ、DHCPなどの負担になります。

それで、おそらく答えは、「レベル0」と「レベル1」のIoTデバイスを持ち、レベル0はMACアドレス通信のみをサポートし、レベル1は本格的なIPデバイスであるということでしょうか。

また、48ビットのMACアドレスから64ビットのMACアドレスに移動し、おそらく12〜18バイトに拡張する必要があります。下位8バイトは64ビットMACアドレスになり、上位バイトはデバイスの機能と機能のデューイ十進法になります。これにより、ネットワークを自己組織化できるため、アラームシステムの拡張やビデオ表示の追加が、ユーザーに対して透過的になります(関連するトラウマのためにPlug'nPlayと言うことを躊躇します)。

これに対する最大の障害は、スイッチがMACアドレスを使用することですが、デバイスにIPアドレスがない場合は非常に興奮します。しかし、これはネットワークベンダーにとって、レベル0デバイスをサポートするまったく新しい世代のスイッチを販売する機会です:-)。

0
bitstowatts

1つの理由は、MACアドレスが実際には「ルーティング可能」ではないためです。 IPはそうなので、アドレスのIPを内部および外部に保持する方が簡単です。また、MACアドレスのみに基づいて他のコンピューターにアクセスするのではなく、IPを使用します。次に、ルーターは、内部向けか外部向けかを決定します。

0
Canadian Luke

また、MACアドレスはすべての種類のネットワークメディアで使用されるわけではないことに注意してください。

たとえば、T1(PPP、HDLC)などのポイントツーポイント接続で使用されるプロトコルはそうではありません。

0
Fredly

ネットワーク通信は複数の層に分かれています。この図はOSIモデルを示しています。各レイヤーには独自の目的があります。図の下から

私。物理層:この層はデバイスを接続する実際の媒体であり、cat5ケーブル、光ファイバなどの場合があります。

ii)データリンク層:この層は、物理アドレス指定とパケット交換、チェックサムなどを処理します。

iii)ネットワーク層:この層は、論理アドレス指定とパケットのルーティングを処理します。

等々

これは、ネットワークスタックのさまざまな機能を分離するのに役立ちます。レイヤーが他のレイヤーに依存しないようにします。

今あなたの質問に来ています。

MACアドレスはデータリンク層にあり、その機能は物理アドレスです。ネットワーク層の機能は、通信ノードに論理アドレスを提供することです。したがって、2つのデバイス間で通信する場合、それらはネットワークアドレスでアドレス指定する必要があります。また、それらは同じデータリンク層を持っていない可能性があります。つまり、ノードの1つがMACアドレスさえ持っていない可能性があります。

enter image description here

0
daya

パケットの送信先に関係なくMACアドレスが必要なため、ルーターは各ステップでIPをMacに解決します。ただし、宛先のMACアドレスを使用してデータの送信を開始すると、ネットワーク全体を検索する必要があります。 IPアドレスは、ネットワーク内のマシンを論理的に配置します。サブネットワーク「B」にいて、サブネットワーク「A」のマシンと通信したいシナリオを想像してみてください。論理アドレス指定では、サブネットワーク内のマシンのグループ「A」と「B」は順番にIPアドレスを持ちます。これはMACアドレスには当てはまらない可能性があります。「A」または「B」のマシンは、それらの間に関係のないさまざまなMACアドレスを持っている可能性があります。したがって、IPは、ホストから宛先への移動方法を決定するのに役立ち、宛先がどこにあるかを教えてくれます。

お役に立てれば。

0
Chromares