web-dev-qa-db-ja.com

ネットワーキングにIPv4 | 6の代わりにMACアドレスを使用できないのはなぜですか?

TCP/IPおよびその他の関連するプロトコルとテクノロジーについて読んでいます。 MACアドレスは(合理的に:)一意であり、大きな可能性のあるスペース(数百兆)を持ち、すべてのネットワークインターフェイスにも割り当てられていると説明されています。インターネットワーク通信にMACアドレスの代わりにIPv4またはIPv6アドレスが使用される歴史的および技術的な理由は何ですか?

基本的なものが足りないのですか、それともばかげた理由(たとえば、レガシーテクノロジーの上に構築する)ですか?

184

MACアドレスは一意である可能性がありますが、それがどこにあるかを示す数について特別なことは何もありません。 MAC 00-00-00-00-00-0000-00-00-00-00-01から地球の反対側にある可能性があります。

IPは、コンピューターのグループに論理的に区別するためにコンピューターのグループに階層的に課された任意の番号付けスキームです(これがサブネットです)。これらのグループ間でのメッセージの送信は、ルーティングテーブルによって行われます。ルーティングテーブルは複数のレベルに分割されているため、すべてのサブネットを追跡する必要はありません。たとえば、17.x.x.xはAppleネットワーク内にあります。そこから、Appleは、その数千のサブネットのそれぞれがどこにあるかを知り、彼らに連絡してください(他の誰もこの情報を知る必要はありません、彼らは17.何かがAppleに行くことを知っている必要があるだけです)。

これを別のシステムのペアに関連付けるのも非常に簡単です。あなたは州発行のID番号を持っていますが、そのID番号がすでにあなただけに固有であるのに、なぜ郵送先住所が必要なのでしょうか。郵送先住所は、通信するための固有の宛先がどこに行くべきかを記述する任意のシステムであるため、必要です。

345
Chris S

ルーティングテーブルが非常に大きくなるためです。

IPアドレスは階層的に割り当てられるため、ルーターはアドレスプレフィックスによってルートをグループ化できます。現在、ネット上に存在する自律システムの数は、今日のハードウェアに適合するのに十分なほど妥当です。

一方、ネットワーク全体でのMACアドレスの分散はランダムであり、トポロジとはまったく関係ありません。ルートのグループ化は不可能です。すべてのルーターは、トラフィックを中継するすべてのデバイスのルートを追跡する必要があります。これがレイヤ2スイッチの機能であり、特定の数のホストを超えて拡張することはできません。

73
b0fh

世界は(少なくとも歴史的には)イーサネットだけで実行されているわけではありません。 IP層は、その下のハードウェア層から独立しています。

PPPノードにはMacアドレスがありません。 arcnet、トークンリング、fddi、hppiも実行しません。これらの他の標準は、今日ではそれほど重要ではないかもしれませんが、イーサネットは将来的に他のテクノロジーに置き換えられる可能性があり、IPレイヤーに対して透過的です。

新しいハードウェアプロトコルを発明し、それらをイーサネットと呼ぶ方法については、もっと長い議論がありますが、私は割愛します...

34
Jeff Sacksteder

IPの階層的ルーティングに加えて、MACアドレスとは別にすることで、同じIPアドレス(したがって論理ネットワークトポロジ)を維持しながら、ネットワークカードまたはコンピューター全体を変更できます。

この抽象化により、はるかに柔軟で保守可能なネットワーキングが可能になります。

30
OrangeDog

OSIモデルを見てください: http://en.wikipedia.org/wiki/OSI_model

これが、ルーティング、レイヤー3の概念、物理的なレイヤー2のメカニズムに基づく決定を行うことが意味をなさない理由を説明しています。

最新のネットワーキングは、エンドツーエンドのコミュニケーションを実現するために、多くの異なるレイヤーに分割されています。ネットワークカード(MACアドレス[物理アドレス]でアドレス指定されるもの)は、その物理ネットワーク上のピアとの通信のみを担当する必要があります。

MACアドレスを使用して実行できる通信は、マシンへの物理的な接続内にある他のデバイスに制限されます。たとえば、インターネットでは、各マシンに物理的に接続されていません。そのため、物理的に接続されていないマシンと通信する必要がある場合は、TCP/IP(レイヤー3、論理アドレス)メカニズムを使用します。

22
barancw

b0fhは正しいですが、MACアドレスが常に一意であるとは限らないためです。

たとえば、仮想化シナリオを参照してください。ここでは、複数のホストが同じMACアドレスを持つ仮想マシンにサービスを提供できます。

7

MACアドレスのルーティングテーブルには、MACアドレスがリストされているほぼすべてのデバイスが必要です。 IPのインターネットへのルーティングは、単一のエントリ0.0.0.0/0です。ネットワーククラスの場合、10.0.0.0/8 172.16.0.0/16および192.168.0.0/24に分類されます。これらの多くは172.16.0.0/12や192.168.0.0/16のように集約でき、ルーティングテーブルのサイズをさらに削減できます。

ルートは、マスク内の1ビットの数に逆順に検索されます。これにより、192.168.0.0/16のルートと0.0.0.0/0(デフォルトルート)のルートがある場合に、192.168.100.0/24へのルーティングが機能します。

編集:当初、IP範囲はいくつかのクラスに分割されていました。 A、B、Cが最も重要です。 Aクラスはアドレス範囲の前半、B範囲は次の4分の1、C範囲は次の8つの範囲で構成されていました。これらのクラスには、それぞれ8、16、および24ビットのマスクがありました。その後、これらのマスクの厳密な使用法は廃止され、アドレス割り当てはさまざまなサイズで行われました。

割り当てのサイズは常に2の累乗であり、各割り当ての最小および最大アドレスは予約されています。各割り当てには、ルーターのアドレスも含まれます。これは多くの場合、予約されていない最低または最高のアドレスです。最小の実用的な割り当ては/ 30アドレスです。

IPv6は同じ形式の割り当てを使用し、/ 64はインターネットで表示できる最小の割り当てです。通常、ISPにははるかに大きな割り当てが与えられます。これは、インターネットルーターが知る必要があるすべての割り当てです。予想される割り当てはRFCで指定されています。 ISPは、自身のサブネットをルーティングする方法、およびどの相互接続ルーターにルーティングするアドレスを知る必要があります。これは、各MACアドレスのルーティング方法を知っているよりもはるかに簡単です。

4
BillThor

MACアドレスは ISO/OSIモデル および TCP/IPモデル のリンク層(2n)のアドレスです。つまり、ローカルネットワーク内のノードを接続するためにMACアドレスが使用されます(ポイントツーポイント)。 IPアドレスは、インターネット(エンドツーエンド)内のネットワーク層(3番目)のアドレスです。

両方のアドレスはそれらの層でのみ使用され、その外で使用されることを意図していません。

2
logoff

彼らが伝えようとしている主なポイントは、MACアドレスはベンダーによって決定されるため、インターフェイスを製造する多種多様なメーカーが原因でローカルサブネットに準拠できる一貫したアドレッシングスキームがないということです。

MACアドレスは、宛先アドレスがローカルサブネット(192.168.0.xなど)にある場合に使用されます。トラフィックがローカルサブネットと一致しない場合、コンピューターはルーティングテーブルを参照します。一般に、ルーティングテーブルは、ローカルサブネット(0.0.0.0)に一致しないすべてのトラフィックにローカルゲートウェイに向かうように指示します。この時点で、MACアドレスへのアフィリエーションは完全に削除されます。 MACアドレスをグローバルに使用できる唯一の方法は、1つの巨大なフラットサブネットを作成することです。これは完全に機能しなくなります。

2
Alex Berry

MACアドレスは、同じマシン上の異なるイーサネットアダプタで同じにすることができます。 Sunは、マシンごとに1つの一意のMACアドレスを持っていました。したがって、Sunコンピュータ用のイーサネットカードには固有のMACアドレスがありませんでした。

したがって、マシンを2つの異なるネットワークに接続すると、両方のネットワークで同じMACアドレスが使用されていました。

2
Anders

ターゲットIPアドレスのMACアドレスは、単一のローカルブロードキャストドメイン内でのパケット配信にのみ役立ちます。

1
mr_eclair

ここで人々は、IPv4アドレスの代わりにMACアドレスを使用することの問題はルーティングであると述べました。ルーティングテーブルが大きくなるためです。ただし、IPv4ルーターを想定しています。小さなルーティングテーブルを使用することもできます。方法に興味がある場合は、フラットな名前空間ルーティングを探してください。その手法を説明している論文の1つはこれです: http://www.cs.uiuc.edu/~caesar/papers/rofl.pdf

1
Nikola Knezevic

私の記憶は、MACアドレスは実際にはイーサネットアドレスであるということです。イーサネットアドレスは2つの部分に分かれています。ベンダー部分-イーサネットカードのベンダーを識別する部分と、ベンダーによって割り当てられるアドレス部分です。それらを一意にするかどうかはベンダー次第です。

したがって、48ビットのMACアドレス空間は効率的に使用されていません。

このアドレスは、ローカルのCSMAネットワークネットワーク上で一意のアドレスを持つように設計されています。

少なくとも、よく覚えています。

IPアドレスは、より一般的にスケーリングし、別の問題を解決するように設計されています。

1
Mike Howard