MACアドレスとIPアドレスの違いと、両方が必要な理由について読んでいます。
要約すると、MACアドレスは、IPアドレスが割り当てられ、変更可能で、仮想である間、すべての単一デバイスの物理的に変更できない一意のIDです。類推すると、MACアドレスは恒久的な名前を持つ人々のようなものであり、IPアドレスは現在住んでいる場所です。
現実の世界では、電話帳を使用して住所と名前をリンクします。IPアドレスをMACアドレスにリンクするメカニズムと、このメカニズムはネットワーク内のどこにありますか?
MACアドレスとIPアドレスの違いと、両方が必要な理由について読んでいます。
要約すると、MACアドレスは、IPアドレスが割り当てられ、変更可能で、仮想である間、すべての単一デバイスの物理的に変更できない一意のIDです。類推すると、MACアドレスは恒久的な名前を持つ人々のようなものであり、IPアドレスは現在住んでいる場所です。
現実の世界では、電話帳を使用して住所と名前をリンクします。IPアドレスをMACアドレスにリンクするメカニズムと、このメカニズムはネットワーク内のどこにありますか?
回答:
このメカニズムは、アドレス解決プロトコル(ARP)と呼ばれます。すべてのイーサネットIPv4デバイスは、ターゲットIPのイーサネットMACアドレスを解決するためにARPをARPします。IPからMACへのマッピングは、各デバイスのARPテーブル(類推すると電話帳)に保存されます。
簡単にするために:ほとんどの場合、IPアドレスに関連付けられたMACアドレスを解決するには、ブロードキャストARPパケットを(ネットワーク内のすべてのデバイスに)送信して、そのIPアドレスを持っている人を尋ねます。そのIPアドレスを持つデバイスは、ARP(MACアドレス)に応答します。
質問にはIPv6のタグが付けられていたので、IPv6はIPv4とは大きく異なるため、その質問にお答えします。
そもそも、ARPv6のようなものはありません。レイヤー2アドレスとIPv6アドレス間のマッピングは、ICMPv6を介して送信される近隣探索プロトコル(NDP)によって行われます。したがって、レガシーIPのカスタムのように、ICMPv6を無視してフィルタリングしてはなりません。NDPは、ここで重要な2つのメッセージタイプ、Neighbor SolicitationとNeighbor Advertisementを提供します。特定のIPアドレスのリンク層アドレスを学習したいノードは、近隣の要請ノードのマルチキャストアドレスに近隣要請を送信します-IPv6のブロードキャストはもうありません。
たとえば、問題のアドレスがの場合、対応する2001:db8::0011:2233:4455:6677
要請ノードマルチキャストアドレスはff02::1:ff55:6677
であり、対応するイーサネットマルチキャストアドレスは33:33:ff:55:66:77
です。アドレスが末尾にあるすべてのノードは、*55:6677
そのマルチキャストグループに属し、それをリッスンします。これは、ほとんどの場合、ターゲットシステム自体のみです。近隣要請には、ユニキャストIPv6アドレスと要請システムのMACアドレスも含まれます。
受信時に、ターゲットノードはネイバーアドバタイズメントで応答します。ネイバーアドバタイズメントは、要請ノードのユニキャストアドレス(リンク層とIPv6)に送信されます。したがって、要請ノードはターゲットノードのMACアドレスを学習します。
そして、はい、NDPスプーフィングはARPスプーフィングと同じように機能します。いいえ、IPsecは答えではありません。
トップの答えは良いです。助けになる場合は、ここで電話帳の類推について説明します。括弧内の実際のネットワーク用語。
彼らの名前(IPアドレス)に基づいて、彼らはあなたの近所(ブロードキャストドメイン)に住んでいることがわかります。まず、電話帳(ARPキャッシュ)を見て、アドレス(MACアドレス)が既にわかっているかどうかを確認します。電話帳にない場合は、外に出て叫び(ブロードキャスト)、「スティーブはどこに住んでいるの?」と大声でみんなが聞くことができます(ARP要求)。スティーブが実際にそこに住んでいて、目が覚めていると仮定すると、彼は叫ぶのではなく、あなただけに「ここに私の住所があります」と答えます(ARPの返信)。将来の参照(ARPキャッシング)のために電話帳に書き留めます。
MACアドレスは変更できます。Linuxでは、ほとんどのWindowsでipまたはifconfigを使用して、ネットワークインターフェイスのドライバー設定を確認します。
何も変換しません。MACアドレスはOSIモデルのレイヤー2、IPはレイヤー3にあります。IPv4の場合、ARPを使用して、特定のIP(レイヤー3)アドレスに属するMAC(レイヤー2)アドレスを見つけます。IPv6の場合、ICMPv6(近隣探索)が使用されます。
アドレス解決プロトコル(ARP)
IPアドレス---> ARP ---> MACアドレス
MACアドレス---> RARP ---> IPアドレス
IPアドレス=論理アドレス[32ビット]
MACアドレス=物理アドレス[48ビット]
ネットワーク層(IP)----> ARP --->データリンク層(MAC)
送信元/宛先ホストを識別するには、ネットワーク層でIPアドレスが必要です。
MACアドレスは、ソース/宛先ホストを識別するためにデータリンクレイヤーで必要です。
ネットワークスタックはまずルーティングテーブルで宛先IPを検索し、これから2つのことを決定します。
ネクストホップIPアドレスは純粋にローカルな概念であり、有線で送信されるパケットの一部になることはありません。
パケットがマルチポイントリンク層(イーサネットなど)で送信される場合、OSはそのarp(ipv4)または近隣探索(ipv6)テーブルで次のホップを検索します。失効していないエントリが見つかった場合、必要なMACアドレスがあり、パケットを送信できます。
使用可能なエントリがない場合は、そのネクストホップ宛てのパケットを保留にし、MACアドレスを見つけるための要求を送信します。ここでのメカニズムは、v4とv6で少し異なります。
v4では、arp要求が送信されます。これは通常ブロードキャストですが、場合によっては、ホストに古いエントリがある場合、最初にユニキャスト要求を試行し、失敗した場合にのみブロードキャストにフォールバックすることがあります。通常、応答はユニキャストです。
v6では、neigbour要請要求は、ネクストホップアドレスから生成されたマルチキャストアドレスに送信されます。ターゲットはユニキャストネイバーアドバタイズメントで応答します。ホストは、近隣広告を「全ノードマルチキャスト」(別名、効果的にブロードキャスト)グループに送信して、ピアの近隣探索キャッシュのエントリを更新することもできます。