TCP / IPおよびその他の関連するプロトコルと技術について読んでいます。MACアドレスは、(合理的に:)一意であり、すべてのネットワークインターフェイスに割り当てられている一方で、大きな可能性のあるスペース(数百兆)があると説明されています。インターネットワーク通信にMACアドレスの代わりにIPv4またはIPv6アドレスが使用される歴史的および技術的な理由は何ですか?
基本的なものが足りないのですか、それともばかげた理由ですか(たとえば、レガシーテクノロジーの上に構築するなど)。
TCP / IPおよびその他の関連するプロトコルと技術について読んでいます。MACアドレスは、(合理的に:)一意であり、すべてのネットワークインターフェイスに割り当てられている一方で、大きな可能性のあるスペース(数百兆)があると説明されています。インターネットワーク通信にMACアドレスの代わりにIPv4またはIPv6アドレスが使用される歴史的および技術的な理由は何ですか?
基本的なものが足りないのですか、それともばかげた理由ですか(たとえば、レガシーテクノロジーの上に構築するなど)。
回答:
MACアドレスは一意の場合がありますが、それがどこにあるかを示す番号について特別なことはありません。MAC 00-00-00-00-00-00
はから地球の反対側にあるかもしれません00-00-00-00-00-01
。
IPは、グループとしてコンピューターを論理的に区別するためにコンピューターのグループに階層的に課される任意の番号付けスキームです(サブネットとは)。これらのグループ間でのメッセージ送信は、ルーティングテーブルによって行われます。ルーティングテーブル自体は複数のレベルに分割されているため、すべてのサブネットを追跡する必要はありません。たとえば17.x.x.x
、Appleネットワーク内にあります。そこから、Appleはその数千のサブネットのそれぞれがどこにあるのか、そしてどのようにそれらに到達するのかを知るでしょう(この情報を知る必要はありません。
また、これを別のシステムペアに関連付けるのは非常に簡単です。州発行のID番号を持っているのに、そのID番号が既にあなただけに固有である場合、なぜ住所が必要なのでしょうか?郵送先住所が必要なのは、それがあなたへの通信の一意の宛先がどこに行くべきかを記述する任意のシステムだからです。
ルーティングテーブルが非常に大きくなるためです。
IPアドレスは階層的に割り当てられるため、ルーターはアドレスプレフィックスによってルートをグループ化できます。現在、ネット上に存在する自律システムの数は、今日のハードウェアに適合するのに十分合理的です。
一方、ネットワーク全体でのMACアドレスの分散はランダムであり、トポロジとはまったく関係ありません。ルートのグループ化は不可能です。すべてのルーターは、トラフィックを中継するすべてのデバイスのルートを追跡する必要があります。これがレイヤー2スイッチの機能であり、特定のホスト数を超えて拡張することはできません。
世界は(少なくとも歴史的に)イーサネットだけで動作するわけではありません。IP層は、その下のハードウェア層から独立しています。
PPPノードにはMacアドレスがありません。arcnet、トークンリング、fddi、hppiも同様です。これらの他の標準は現在ではそれほど重要ではないかもしれませんが、イーサネットは将来的に他の技術に置き換えられる可能性があり、IP層に対して透過的です。
新しいハードウェアプロトコルを発明し、それらをイーサネットと呼ぶ方法については長い議論がありますが、私は脱線します...
見てみましょうOSIモデル:http://en.wikipedia.org/wiki/OSI_model
これは、ルーティング、レイヤー3の概念、物理的なレイヤー2のメカニズムに基づく決定を行うことが意味をなさない理由を説明しています。
最新のネットワークは、エンドツーエンドのコミュニケーションを実現するために、さまざまなレイヤーに分割されています。ネットワークカード(MACアドレス[物理アドレス]で指定されているもの)は、その物理ネットワーク上のピアとの通信のみを担当する必要があります。
MACアドレスを使用して達成できる通信は、マシンと物理的に接触している他のデバイスに限定されます。たとえば、インターネットでは、各マシンに物理的に接続されていません。そのため、物理的に接続されていないマシンと通信する必要がある場合に、TCP / IP(レイヤー3、論理アドレス)メカニズムを使用します。
b0fhは正しいですが、MACアドレスは常に一意ではないためです。
たとえば、仮想化シナリオを参照してください。ここでは、複数のホストが同じMACアドレスを持つ仮想マシンを提供できます。
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範囲は次の四半期、C範囲は範囲の次の8を構成しました。これらのクラスには、それぞれ8、16、および24ビットのマスクがありました。その後、これらのマスクの厳密な使用は廃止され、アドレス割り当てはさまざまなサイズで行われました。
割り当てのサイズは常に2の累乗であり、各割り当ての最低および最高アドレスは予約されています。各割り当てには、ルーターのアドレスも含まれます。多くの場合、これは最低または最高の非予約アドレスです。最小の実際の割り当ては/ 30アドレスです。
IPv6は、同じ形式の割り当てを使用します。/64は、インターネット上で表示可能な最小の割り当てです。通常、ISPにははるかに大きな割り当てが与えられます。これは、インターネットルーターが知る必要があるすべてです。予想される割り当ては、RFCで指定されています。ISPは、自身のサブネットをルーティングする方法と、どのインターコネクトルーターにルーティングするアドレスを知る必要があります。これは、各MACアドレスをルーティングする方法を知るよりもはるかに簡単です。
彼らが伝えようとしている主な点は、MACアドレスがベンダーによって決定されるということだと思うので、インターフェースを製造する非常に多様なメーカーのためにローカルサブネットで順守できる一貫したアドレス指定スキームはありません。
MACアドレスは、宛先アドレスがローカルサブネット(192.168.0.xなど)にある場合に使用されます。トラフィックがローカルサブネットと一致しない場合、コンピューターはルーティングテーブルを参照します。通常、ルーティングテーブルは、ローカルサブネット(0.0.0.0)に一致しないトラフィックをローカルゲートウェイに送信するよう指示します。この時点で、MACアドレスへの所属は完全に削除されます。MACアドレスをグローバルに使用できる唯一の方法は、1つの巨大でフラットなサブネットを持つことです。これは完全に機能しません。
MACアドレスは、ISO / OSIモデルおよびTCP / IPモデルのリンク層(2n)のアドレスです。これは、ローカルネットワーク内のノードの接続にMACアドレスが使用されることを意味します(ポイントツーポイント)。IPアドレスは、インターネット(エンドツーエンド)内のネットワーク層(3番目)のアドレスです。
両方のアドレスは、そのレイヤーでのみ使用され、外部で使用されることを意図していません。
ルーティングテーブルが大きくなるため、IPv4アドレスの代わりにMACアドレスを使用することの問題はルーティングであると人々は言いましたが、それはIPv4ルーターを想定しています。小さなルーティングテーブルを作成することもできます。興味がある場合は、フラットな名前空間ルーティングを探してください。その手法を説明している論文の1つは次のとおりです。http://www.cs.uiuc.edu/~caesar/papers/rofl.pdf
私の回想では、MACアドレスは実際にはイーサネットアドレスです。イーサネットアドレスは2つの部分に分かれています。ベンダー部分-イーサネットカードのベンダーを識別するものと、ベンダーによって割り当てられたアドレス部分です。それらを一意にするかどうかはベンダー次第です。
したがって、48ビットのMACアドレス空間は効率的に使用されず、前述のように階層的にも使用されません。
このアドレスは、ローカルのCSMAネットワークネットワーク上で一意のアドレスを持つように設計されています。
少なくとも、覚えている限りでは。
IPアドレスは、より一般的にスケーリングし、別の問題を解決するように設計されています。