MACアドレスとIPアドレスの両方の理由


25

コンピューターにIPアドレスがある場合、なぜMACアドレスが必要なのですか?


2
あなたに最良の答えを与えるために、あなたの質問を拡大して、あなたのコンピューターにIPアドレスがあればMACアドレスが必要ないと思う理由を含めてください。
ブレットライキンズ

1
ネットワーキングに関する優れた基本的な本を取り上げて読むことをお勧めします。それだけの価値があります。この質問に答えるほか、Amazon.com
Computer

4
これは恐ろしく聞こえるかもしれませんが、混乱を減らす最も簡単な方法です。なぜコンピューターにイーサネット NIC を入れたのですか?その質問に答えてください。それは、MACアドレスの必要性に関する質問に答えます。
マイクペニントン

4
@Reprovo、コメント/回答が実際にこのステートメントを作成する唯一の場所は、OPがTeun Vinkの回答に応答し、回答内のネットワークモデルを回避したいという場合です。ネットワークモデルの理由と方法がわからない場合は、ネットワークを本当に理解していないため、「仕事をやり遂げる」のが非常に苦痛になるか、追加の問題が発生します。ネットワークの専門家として実際に知る必要のないものはたくさんありますが(たとえば、ビットの配線方法など)、ネットワークモデルは少なくとも基本的な理解を得ることを避けられるものではありません。
YLearn

2
@ user1369975、私はあなたがポイントを逃していると思う。質問が無効であると言っているのではなく、人々が学ぶ必要がないと言っているのでもありません。ただし、これはネットワークエンジニア/専門家向けのサイトであり、ネットワークの基本的な基盤を無視して、ここで答えを求めることは合理的ではありません。他のネットワーク専門家に向けられたものではない回答が必要な場合は、SuperUserなどの他のサイトのいずれかで質問する必要があります。
YLearn

回答:


13

OSIモデル、TCPレイヤーなどに行くことなく:

昔、ネットワークが作成されました。一部のコンピューターは互いに通信して、何かを共有していました。これを行うには、彼らが知っている必要があります誰が話していたし、に話していました。そのため、各コンピューターに名前を付ける代わりに、IDを付けました。このIDはMACアドレスと呼ばれ、各コンピューターを一意に識別する必要があります。

(OK、各ネットワークカードを識別しますが、当時は、コンピューターごとに1つのMACアドレスを考えることができました)。

コンピューターが互いにどのように通信するかについての固有の仕様はありませんでした。多くのプロトコルが登場しました:TCP / IP、IPX / SPXなど。各プロトコルは、彼らが大丈夫だと思ったものを指定します。たとえば、IPX / SPXはMACアドレスとその他の情報を使用して各コンピューターをアドレス指定します。

しかし、TCP / IPプロトコルは少し異なるように設計されていました。4バイト(0.0.0.0〜255.255.255.255)で構成される仮想アドレスがあれば十分であり、さらに管理しやすいと判断しました。ネットワークカードにすべて類似のMACアドレスがあるかどうかにかかわらず、10.0.xxで始まるすべてのTCP / IPアドレスがエンジニアリンググループに属し、10.1.xxのアドレスがプリンターになるようにコンピューターをグループ化します。 ..

したがって、TCP / IPアドレスが別のアドレスと通信する必要がある場合、TCP / IPアドレスを使用します。しかし、ネットワークデバイスはそのメッセージがどのネットワークカードに送信されるかを知る必要があるため、何らかの方法でTCP / IPアドレスをMACアドレスに変換します。

単にMACを削除して、代わりにTCP / IPだけを使用しないのはなぜですか?

いくつかの理由:

  • TCP / IPアドレスを簡単にグループ化できます。
  • すべてのデバイスは、低レベルの要件でMACアドレスを処理するように構築されており、変更する必要があります。
  • 圧倒的多数であるにもかかわらず(私は:-Pと思う)、いくつかの他のプロトコルがまだ使用されており、MACアドレスに依存しています

25

MACアドレスとIPアドレスは、インターネットプロトコルスイートの異なる層で動作します。MACアドレスはレイヤー2の同じブロードキャストネットワーク内のマシンを識別するために使用され、IPアドレスはレイヤー3で異なるネットワーク全体のマシンを識別するために使用されます。

お使いのコンピューターにIPアドレスがある場合でも、すべてのレイヤーが下位レイヤーを使用しているため、同じネットワーク上の他のマシン(特にネットワーク/インターネットへのルーター/ゲートウェイ)を見つけるにはMACアドレスが必要です。前述のページで、プロトコルスイートを詳細に説明するいくつかの素晴らしい図を見つけることができます。


、たくさんのあなたの答えに感謝しかし、誰もが答えを与えることができれば、それはOSIレイヤまたはTCPレイヤの仕様に行かなくても、良いだろう
user1369975

11
それがあまりにも難しい場合、これは本当にあなたのためのサイトではありません。この質問は、ネットワークエンジニアにとって一般的な知識であると考えられているため、このトピックはそのままのトピックであると主張できます。
テウンヴィンク

11
@ user1369975、参照するモデルは、ネットワークがどのように動作するように設計されているか(ハードウェアとソフトウェアの両方)のフレームワークです。その基本的な理解がなければ、あなたの質問に対する意味のある答えはありません。それは、(米国市民について)「社会保障番号が必要な理由があるのなら」と尋ねるのに似ていますが、答えに政府について言及することはできません。
YLearn

5
MACアドレスは、通りの家の説明と考えてください。あなたの隣人にとって、彼らはすべて「緑の家」または「ミスター・ジョンソン家」または「角の二重」を理解します-これらはMACアドレスに匹敵し、ローカルでのみ記述的です。IPアドレスは一般にルーティング可能であるため、完全なアドレスを使用するようなものになります。123Main St、Somewhere、CA 92069。 !?!?」そしてジョンソン氏は彼の声を聞いて、「ここ、温室だ!」と言った。私は推測する?恐ろしい例え。
デビッドハウデ

3
それが、現在のアーキテクチャを考えると必要な理由を説明しています。しかし、そもそもアーキテクチャがそのように設計されたのはなぜですか?ローカルIPアドレスとWAN IPアドレスのみが存在する世界を簡単に想像できます。技術的には可能です。
こんにちは世界

17

IP-to-IP通信が実際には各ルーターホップで行われる一連のMAC-to-MAC通信であることを理解すると、両方が必要な理由がわかります。

ワークステーションから別のサブネットのIP宛てのパケットのIPヘッダーは、送信元IPと宛先IPを維持し、当面はNATを忘れます。[後で、宛先が同じサブネット内にある場合に何が起こるかを説明します。]イーサネットヘッダーには、送信元MACとデフォルトゲートウェイの宛先MACが含まれます。 あなたの観点からは最終的な宛先MACの知識はありません。 その最初のルーターは、パケットが宛先サブネットに直接接続されている最後のルーターに到着するまで、ソースMACをそれ自体に、宛先MACを次のルーターホップに、というように書き換えます。

簡単な説明を試みるには、パケットがソースIP(sIP)から宛先IP(dIP)に移動し、ソースおよび宛先MACが途中で書き換えられるときのL2 / L3ヘッダーを考慮してください-fs = first-sourceおよびld = last-destination、およびr1-r3はルーターです。

fsMAC-r1MAC / sIP-dIP 
r1MAC-r2MAC / sIP-dIP
r2MAC-r3MAC / sIP-dIP
r3MAC-ldMAC / sIP-dIP

関連するL2スイッチはMACアドレスを変更しません。

サブネット内の別のIPとの通信には、直接MAC通信が必要ですが、そのMACアドレスを取得するには、サブネット内のブロードキャストを使用してそれを見つけるARPプロトコルが必要です。 ところで、これは、ワークステーションが同じサブネットに存在する必要があるデフォルトゲートウェイのMACアドレスを取得する方法です。


3
要約すると、MACあるホップから別のホップへメッセージを取得するのは、IPが元の送信元と宛先を追跡することです。これは郵便局に似ており、私はフェニックスのおばあちゃんに手紙を宛てますが、郵便受けからそれを拾う郵便配達員は郵便局にそれを持ち込むことだけを気にし、郵便局は仕分けにそれを持ち込むことだけを気にしますセンター等...
CodyBugstein

3
しかし、私の質問は、なぜMACに別のプロトコルがあるのですか?ホップする次のIPアドレスを決定し、現在の送信元/宛先IPを元の送信元/宛先IPと一緒に保存しないのはなぜですか?
CodyBugstein 14年

@Imray:MACプロトコルを削除する際の最初の問題には、イーサネットおよびTCP / IP標準の再設計/書き換えが必要です。第二に、L2のMACアドレスを使用して通信するL3のプロトコルはIPだけではありません。3番目に、MACアドレスは通常、NICのハードウェア(焼き付けられた)アドレスに結び付けられますが、より高いレベルのIPは柔軟性のためにいくぶんarbitrary意的です。第4に、MACはローカルにのみ関連し、IPはグローバルに関連します(元の設計の一部ではなかったNATおよびプライベートアドレスの最近の変更は考慮していません)。
generalnetworkerror 14年

14

L2およびL3のIPアドレスのみを持つネットワークの設計を物理的に妨げるものはありません。次に、「イーサネットスイッチ」は着信パケットのSIPアドレスを学習し、DIPアドレスに向けてフラッディングまたは転送します。

ただし、このネットワークはIPのみをサポートし、次世代のIPvXが登場すると機能しなくなります。「イーサネットスイッチ」はそのプロトコルをサポートできなかったためです。IPXやAppleTalkなど、他のさまざまなプロトコルを実行することも、自宅で開発およびテストしている新しいプロトコルを実行することもできませんでした。

抽象レイヤーは、ウィンドウを変更するために家全体を再構築する必要がないため、開発速度を向上させ、イノベーションを促進します。

これで、LANにまったく触れることなく、同じイーサネットスイッチを実行し、IPXからIPv4からIPv6の間にネットワークを移行できました。


あなたの想像力にのみ存在し、これらのコンポーネント以外の物理的にこのネットワークを設計からあなたを止めるものは何も、ありません:A)を学習元IPがBに取り組むことをEthernetスイッチ)のMACアドレスを持たないイーサネットNIC
マイク・ペニントン

3

IPアドレスとMACアドレスは、異なる(しかし重要な)目的を果たします。

MACアドレスは、あるNICから次のNICにフレームを取得します。IPアドレスは、1台のコンピューターからサーバーへのパケットを取得します

したがって、次の場合:

Source Computer  <--->  RouterA  <--->  RouterB  <--->  Destination Server

パケットを「ソース」から「宛先」に向けるのはIPアドレスです。ただし、ソースコンピューターからルーターAに、次にルーターAからルーターBに、そしてルーターBから宛先にパケットを取得するのはMACアドレスです。

この図で関係を確認できます。

パケットの移動-パケットがインターネット上を移動する方法-pracnet.net/pt


もちろん、ルーター間リンクでMACアドレスを持たないプロトコルを使用することは非常に一般的です。
ロンモーピン

@RonMaupinはい。もちろん。しかし... MACアドレスについて具体的に質問された場合、どのように関連するのですか?
エディ

あなたの答えは、ホップごとにMACアドレスが割り当てられることを暗示しているように思えますが、これは誤解を招く可能性があります。また、ダイアグラムに最初と最後のホップのMACアドレスのみが表示されている場合にも機能します。それは少し不完全です。だから私はコメントをしました。
ロンモーピン

1

IPプロトコルはサブネットルーティングの概念をサポートする基礎を提供します。これは、IPが宛先が同じネットワーク内にあると想定しないことを意味します。そうでない場合、ルーターなどの中間デバイスを介してトラフィックを転送する必要があります。IPにはTTL / Hop Limitフィールドがあり、これをサポートしています。

イーサネットは、データがインターフェイスから出荷されるときに宛先MACに直接到達可能であると想定します。イーサネットは当初、ネットワーク内のコンピューターを接続する最も一般的な方法が物理バストポロジを介して行われたときに設計されました。ほぼすべての有線イーサネットトラフィックは現在スイッチングされていますが、論理的にはバストポロジのように機能します。したがって、イーサネットの基本的な前提は、宛先MACを持つノードが物理的に同じネットワーク上にあるということです。IPにはそのような仮定はありません。

イーサネットを「ハッキング」してサブネットとルーティングを行うことができると思いますが、イーサネットの低レベルの詳細と前提に依存しないプロトコルを設計することもできます。それがIPを持っている理由です。


0

できるだけシンプルにする:

MACアドレスは、お使いのNICカードまたはネットワークインタフェースの物理または仮想アドレスです。ネットワークの観点から見たコンピューターからは、そのコンピューターのNICカードの物理アドレスです。OSIモデルのレイヤー2でそのコンピューターに情報を提供するために使用されます。

IPアドレスは、あなたは、異なるサブネットとdevices.The上のコンピュータと通信するためにそれを必要とする層3上に要求されたIPアドレスのデバイスがネットワーク内に配置されている「」検証。

IPアドレスMACアドレスは、タンデムで使用されています。IPアドレスを単一ネットワーク内のリンクレイヤー内のMacアドレスに解決することにより、アドレス解決プロトコルを使用して2つをリンクし ます。

より詳細な説明については、こちらも確認してください。


1
シンプルに保つ:名前がある場合は、その地域で自分自身を識別します。あなたは、SSNを持っているあなたは、グローバルレベルで識別維持する必要がある
pulsarjune

-2

MACアドレスは、組み立てられたハードウェアのものを表します。異なるベンダーが作ったネットワーク内の異なるシステムには、MACアドレスが非常に異なる範囲があるため、ネットワークとして配置するのが困難です。同時アドレスである範囲内のネットワーク。また、外部ネットワークにMACアドレスを送信することはできません


-2

まず、これは非常に良い質問であり、基本的なネットワーク基盤に触れています。あなたの質問の一番下の行は、接続を達成するために実際にMACアドレスを必要としないということです。理論的には、IPアドレスのみを実装したネットワークを構築できます。ただし、このようなスキームを使用すると、実際的な問題が発生する場合があります。各ネットワークデバイスにIPアドレスを手動で割り当てる場合は、大きな落とし穴を回避できます。ただし、手動で管理するにはネットワークノードが多すぎる場合など、IPアドレスを自動的に割り当てる必要がある場合は、各ノードに正確に単一のIPアドレスまたは事前に決められた数のIPアドレスが割り当てられるようにする方法はありません。アドレス配布エンティティが要求デバイスを一意かつ明確に識別できない限り、一方を他方から区別することはできません。LAN内の任意のデバイスに対して一意であると想定されるMACアドレスによって。このような識別不能なデバイスは、追加のIPアドレスを繰り返し要求し、最終的にはネットワークの実行可能性に大損害を与える可能性があります。トピックに戻って、IPのみのネットワークを確立するために必要なのは、ネットワークインターフェイスアダプターのデータリンク層が、MACに匹敵するアドレスタイプに関係なく、受信したデータフレームをネットワーク層に直接通過させることです。データ層でフィルタリングされるのではなく、宛先IPアドレスに従ってフィルタリングされます。概念を説明するために、ネットワークがRS-232 UARTポートを相互接続することによって確立されていると仮定します:UARTデバイスにはMACアドレスや他の一意の識別子はありませんが、UARTとIPアドレスを使用してローカルネットワークを構築できます一人で 適切なUARTドライバーをインストールします。この一節がこの主題についての洞察を与えてくれることを願っています。

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