MACアドレスに48ビットしかないのに、なぜipv6は128ビットアドレスを指定するのですか?


37

だから、私はネットワーキング試験のために読んでいる、と私は基本的な何かを見逃しているかどうかだけ疑問に思っています。MACアドレスよりも多くのIPアドレスが必要ですか?その場合、1つのネットワークアダプターを持つノードに多くのIPアドレスが割り当てられますか?


2
MACは1つのローカルネットワーク(同じバスに接続)内のデバイスに対してのみ一意である必要があることは明らかですが、インターネット層はすべてのローカルネットワークを1つのグローバルネットに統合します。これにより、基本的な設計原理、征服、分割、ローカルネットワークは、グローバルIPスキームを介して正常に通信するために、他のローカルネットワーク内のローカルアドレスを認識しません。さらに、非イーサネットベースのローカルネットワークをインターネットに接続できます。したがって、IPが最下位レベルでイーサネットのみを要求した場合の答えは何かを知りたいと思っています。
ヴァル

1
IPv4からIPv6への移行は非常に遅く、高価であったため、再び別の移行に直面することは望みません。128ビットには、「永久に」十分である合理的なチャンスがあります。 tools.ietf.org/html/rfc1606はそれをユーモラスに捉えています(「IP バージョン9プロトコルが耐用年数の終わりに近づくにつれて、アドレス空間の枯渇により再び...」)
Beni Cherniavsky-パスキン

@ BeniCherniavsky-Paskin、NATが必要性を緩和するため、移行が遅くなります。繰り返しますが、これは、グローバルアドレス空間をカバーするためにローカルアドレス空間を必要としないことを示しています。
ヴァル

回答:


40

MACアドレスは、グローバルではなくローカルブロードキャストドメインで一意である必要があるため、通常、異なるネットワークでのMACアドレスの再利用は問題になりません。

インターネットは1つのグローバルブロードキャストドメインではないため、異なるISPに割り当てられたアドレスの多くのブロックに分割する必要があり、各ISPは異なる顧客/サービスのブロックを小さなブロックに分割します。これらの小さなブロックのそれぞれに多くのMACアドレスを含めることができるようにするには、IPアドレス空間をMACアドレス空間よりもはるかに大きくする必要があります。


8
また、集約のため。48ビットは十分なIPアドレス(1人あたり40k)を超えますが、それは各ルーターが2PB以上のフラットテーブルを調べる必要があることを意味し、その技術は存在しません。
-ytti

1
@ytti:少なくとも私たち全員が血流中にIP対応のナノロボットを持つまで
BlueRaja-Danny Pflughoeft

1
ローカルネットの外部に接続するのはごくわずかであるため、おそらくlinklocalを使用できます。
ytti

1
、紙、それらはグローバルに一意であることになっています。しかし、現実は異なることが知られています。
リッキービーム

4
これは別の質問を正当化するでしょう。ただし、MACアドレスはIEEEから購入した24bまたは36bのOUI番号から行われますが、これは一意である必要がありますが、実際には1300USDを節約するために他の人のOUIを使用する人もいれば、一意でないMACのNICを製造する人もいます。MACアドレスは48bですが、実際には46bです。1ビットがユニキャスト/マルチキャストかどうかを決定し、グローバル/ローカルの場合は1ビットを決定し、ローカルスコープビットがオンの場合、一意性のためにすべてのベットがオフになります。
-ytti

16

すべての種類のネットワークインターフェイスがMACアドレスを使用するわけではありません。MACアドレスはほとんどがイーサネットに関連付けられていますが、他の多くのネットワーク標準が使用しています。ただし、IPv6アドレスは、レイヤー2にMACアドレスを使用しないネットワークインターフェイスに引き続き割り当てることができます。

また、48ビットMACアドレスの左端と右端の24ビットの間に16進値FFFEを挿入することにより、EUI-64変換(主にステートレス自動構成に使用)によりMACアドレスをIPv6ホスト部分に変換できます。 7番目のビットが反転します。

したがって、たとえば、0c:3a:bb:2a:cd:23は、ステートレス自動設定IPv6アドレスのホスト部分に変換できます。上記のMACアドレスの0cは、バイナリの0000 1100として表され、バイナリの0000 1110または16進数の0eになります。したがって、MACアドレスから変換されたIPv6アドレスの最終的なEUI-64ホスト部分は、0e:3a:bb:ff:fe:2a:cd:23になります。


1
また、MACアドレス「ローカルビット」を反転する必要があります
ytti

私はその部分を忘れました-情報を反映するために答えを編集しました。キャッチしてくれてありがとう:-)
WaxTrax

自動的に実行する愚かなスクリプト:ruby -e'EUI =(ARGV [1]); k = ARGV [0] .delete( ":。")。scan(/。{6} /)。join( "fffe" ).scan(/../); k [0] = "%02x"%(k [0] .hex ^ 0b10); p EUI + ":" + k.join.scan(/..../) .join( ":") '74:66:30:42:42:42 2001:67c:17a0:0
ytti

IP割り当てで使用するためのMACアドレスのEUI-64への変換は後のものと思われます。元のIPv6 over Ethernet規格(RFC 2464)はゼロのプレフィックスが付いたMACアドレスを指定していました。
ピーターグリーン

6

また、MACに48ビットを超えるレイヤー2プロトコルがいくつかあります。たとえば、Fibre ChannelにはFireWire(まあ、ちょっと)のように64ビット(またはWikipediaによれば128ビット)があるため、/ 64オーバーラップの可能性なし。


4

IPv6 SLAACは、MACを使用して合理的に一意のアドレスを生成するため、プレフィックスごとに1つのアドレスしか生成できません。プライバシー拡張機能は、1つまたは複数の擬似ランダムアドレスを生成し、ローカルセグメント上の重複をチェックします。もちろん、ローカル管理者は必要な数だけ静的アドレスを割り当てることができます。重複しないようにするのが彼らの仕事です。

[ 合理的に一意であるということは、衝突の可能性がゼロであることを意味します。そして、もしそうなら、最初にレイヤー2の問題があるでしょう!(同じMACを持つ同じセグメントの2台のマシン)]


MACベースのautoconfigがプライバシーの悪夢であることに人々が気付いたとき、Afaictのプライバシー拡張は後から考え直されました。IPv6の設計における推進力の1つではありません
Peter Green

IPv6のほとんどは後から考えられます... 歴史から学ばない人はそれを繰り返す運命にあります。
リッキービーム

2

基本的には2つの重要なポイントに帰着すると思います。

  1. インターネットアドレスは、グローバルに一意である必要があるだけでなく、グローバルにルーティング可能である必要があります。すべてのマシンのアドレスを個別にルーティングすると、ルーティングテーブルが非常に大きくなります。IPv6の設計者は、ルーティングテーブルを小さく保つ階層型ルーティングシステム*の夢を持っていました。
  2. IPv6の設計者は、ステートレス自動構成を望んでいました。ステートレス自動構成では、既存のリンクアドレスに対応するか、衝突が発生する可能性が十分に低い乱数に対応するために、アドレスの「ホスト」部分を大きくする必要があります。

これらのポイントをまとめると、アドレスの「ホスト」部分と「ネットワーク」部分の両方が大きくなる必要があります。確かにそれぞれ32ビット以上。各64ビットはおそらく過剰でしたが、不足するよりも優れています。

*インターネットは固定された階層ではないため、夢は実際にはうまくいきませんでしたが、これはIPv6が導入されてから20年ほどで実際に起こったことではなく、設計を推進したものです。

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