1

对ARP感兴趣并想检查一下。

ARP协议是用来查MAC和IP地址的,是吗?

与此有何不同:

IPHostEntry iphostentry = Dns.GetHostByName(strHostName);
4

1 回答 1

4

Dns.GetHostByName()使用 DNS - 从 DNS 域 (www.google.com) 获取 IP 地址 (1.2.3.4)。

ARP 用于从 IP (1.2.3.4) 获取 MAC 地址 (11:22:33:44:55:66)。

假设您在浏览器中输入 www.google.com:

  1. 它需要找出什么 IP 是 www.google.com,所以它使用 DNS 来做到这一点。
  2. 它需要将数据包发送到 www.google.com 的 IP 地址,但在以太网级别,这意味着您首先需要将数据包发送到目标路由中的下一个路由器(可能是您的默认网关)。
  3. 要在以太网级别做到这一点,您需要知道默认网关的 MAC 地址是什么——这是使用 ARP 完成的。

ARP 向 LAN 发送一个问题 - 谁有 1.2.3.4?谁有它的答案 - 所以发件人知道他需要将数据包发送到的 1.2.3.4 的 MAC 地址是什么。

http://en.wikipedia.org/wiki/Address_Resolution_Protocol

http://en.wikipedia.org/wiki/Domain_Name_System

于 2010-06-08T19:59:18.187 回答