コンピューターにIPアドレスがある場合、なぜMACアドレスが必要なのですか?
コンピューターにIPアドレスがある場合、なぜMACアドレスが必要なのですか?
回答:
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だけを使用しないのはなぜですか?
いくつかの理由:
MACアドレスとIPアドレスは、インターネットプロトコルスイートの異なる層で動作します。MACアドレスはレイヤー2の同じブロードキャストネットワーク内のマシンを識別するために使用され、IPアドレスはレイヤー3で異なるネットワーク全体のマシンを識別するために使用されます。
お使いのコンピューターにIPアドレスがある場合でも、すべてのレイヤーが下位レイヤーを使用しているため、同じネットワーク上の他のマシン(特にネットワーク/インターネットへのルーター/ゲートウェイ)を見つけるにはMACアドレスが必要です。前述のページで、プロトコルスイートを詳細に説明するいくつかの素晴らしい図を見つけることができます。
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アドレスを取得する方法です。
MAC
あるホップから別のホップへメッセージを取得するのは、IPが元の送信元と宛先を追跡することです。これは郵便局に似ており、私はフェニックスのおばあちゃんに手紙を宛てますが、郵便受けからそれを拾う郵便配達員は郵便局にそれを持ち込むことだけを気にし、郵便局は仕分けにそれを持ち込むことだけを気にしますセンター等...
L2およびL3のIPアドレスのみを持つネットワークの設計を物理的に妨げるものはありません。次に、「イーサネットスイッチ」は着信パケットのSIPアドレスを学習し、DIPアドレスに向けてフラッディングまたは転送します。
ただし、このネットワークはIPのみをサポートし、次世代のIPvXが登場すると機能しなくなります。「イーサネットスイッチ」はそのプロトコルをサポートできなかったためです。IPXやAppleTalkなど、他のさまざまなプロトコルを実行することも、自宅で開発およびテストしている新しいプロトコルを実行することもできませんでした。
抽象レイヤーは、ウィンドウを変更するために家全体を再構築する必要がないため、開発速度を向上させ、イノベーションを促進します。
これで、LANにまったく触れることなく、同じイーサネットスイッチを実行し、IPXからIPv4からIPv6の間にネットワークを移行できました。
IPアドレスとMACアドレスは、異なる(しかし重要な)目的を果たします。
MACアドレスは、あるNICから次のNICにフレームを取得します。IPアドレスは、1台のコンピューターからサーバーへのパケットを取得します
したがって、次の場合:
Source Computer <---> RouterA <---> RouterB <---> Destination Server
パケットを「ソース」から「宛先」に向けるのはIPアドレスです。ただし、ソースコンピューターからルーターAに、次にルーターAからルーターBに、そしてルーターBから宛先にパケットを取得するのはMACアドレスです。
この図で関係を確認できます。
IPプロトコルはサブネットとルーティングの概念をサポートする基礎を提供します。これは、IPが宛先が同じネットワーク内にあると想定しないことを意味します。そうでない場合、ルーターなどの中間デバイスを介してトラフィックを転送する必要があります。IPにはTTL / Hop Limitフィールドがあり、これをサポートしています。
イーサネットは、データがインターフェイスから出荷されるときに宛先MACに直接到達可能であると想定します。イーサネットは当初、ネットワーク内のコンピューターを接続する最も一般的な方法が物理バストポロジを介して行われたときに設計されました。ほぼすべての有線イーサネットトラフィックは現在スイッチングされていますが、論理的にはバストポロジのように機能します。したがって、イーサネットの基本的な前提は、宛先MACを持つノードが物理的に同じネットワーク上にあるということです。IPにはそのような仮定はありません。
イーサネットを「ハッキング」してサブネットとルーティングを行うことができると思いますが、イーサネットの低レベルの詳細と前提に依存しないプロトコルを設計することもできます。それがIPを持っている理由です。
できるだけシンプルにする:
MACアドレスは、お使いのNICカードまたはネットワークインタフェースの物理または仮想アドレスです。ネットワークの観点から見たコンピューターからは、そのコンピューターのNICカードの物理アドレスです。OSIモデルのレイヤー2でそのコンピューターに情報を提供するために使用されます。
IPアドレスは、あなたは、異なるサブネットとdevices.The上のコンピュータと通信するためにそれを必要とする層3上に要求されたIPアドレスのデバイスがネットワーク内に配置されている「」検証。
IPアドレスとMACアドレスは、タンデムで使用されています。IPアドレスを単一ネットワーク内のリンクレイヤー内のMacアドレスに解決することにより、アドレス解決プロトコルを使用して2つをリンクし ます。
より詳細な説明については、こちらも確認してください。
まず、これは非常に良い質問であり、基本的なネットワーク基盤に触れています。あなたの質問の一番下の行は、接続を達成するために実際にMACアドレスを必要としないということです。理論的には、IPアドレスのみを実装したネットワークを構築できます。ただし、このようなスキームを使用すると、実際的な問題が発生する場合があります。各ネットワークデバイスにIPアドレスを手動で割り当てる場合は、大きな落とし穴を回避できます。ただし、手動で管理するにはネットワークノードが多すぎる場合など、IPアドレスを自動的に割り当てる必要がある場合は、各ノードに正確に単一のIPアドレスまたは事前に決められた数のIPアドレスが割り当てられるようにする方法はありません。アドレス配布エンティティが要求デバイスを一意かつ明確に識別できない限り、一方を他方から区別することはできません。LAN内の任意のデバイスに対して一意であると想定されるMACアドレスによって。このような識別不能なデバイスは、追加のIPアドレスを繰り返し要求し、最終的にはネットワークの実行可能性に大損害を与える可能性があります。トピックに戻って、IPのみのネットワークを確立するために必要なのは、ネットワークインターフェイスアダプターのデータリンク層が、MACに匹敵するアドレスタイプに関係なく、受信したデータフレームをネットワーク層に直接通過させることです。データ層でフィルタリングされるのではなく、宛先IPアドレスに従ってフィルタリングされます。概念を説明するために、ネットワークがRS-232 UARTポートを相互接続することによって確立されていると仮定します:UARTデバイスにはMACアドレスや他の一意の識別子はありませんが、UARTとIPアドレスを使用してローカルネットワークを構築できます一人で 適切なUARTドライバーをインストールします。この一節がこの主題についての洞察を与えてくれることを願っています。