【问题标题】:How does ARP reads destination IP address as its Layer 2 protocolARP 如何读取目标 IP 地址作为其第 2 层协议
【发布时间】:2014-08-26 09:27:05
【问题描述】:
通过在互联网上搜索,我得到了地址解析协议 (ARP) 是链路层 (L2) 协议的信息。根据 ARP 功能,它向整个网络广播以检查该特定 IP 属于谁以获取其 MAC 地址。但是由于 ARP 是 L2 协议,它如何知道目标 IP 地址,因为 IP 封装在 L3 和 L2 协议中不能阅读它
【问题讨论】:
标签:
ip
mac-address
arp
data-link-layer
【解决方案1】:
第 3 层及更高层位于以太网标头的“有效负载”部分。
正如您在此处看到的,ARP 数据包还包含来自其发送方和接收方的 IP 地址:
【解决方案2】:
ARP 数据包包含源硬件地址和源 IP 地址以及目标硬件地址和目标 IP。
当 ARP 解析发生时,意味着当 ARP 发送请求并从同一目的地获得响应时,ARP 更新 arp_entry 中的目的地 IP。
【解决方案3】:
我想详细说明之前的问题。
- 首先,这是您无法真正应用模型的情况。 ARP 有时是第 2 层,有时是第 3 层(IPv6 中的类似功能是通过邻居发现协议完成的,它在 ICMP 数据包中携带)
- ARP 数据包不携带 IP 有效负载。它们只携带 ARP 数据包。查看格式的其他答案
- ARP 由两个终端主机执行,它们都必须同时实现第 2 层和第 3 层
- ARP 由第 3 层发起,当第 3 层尝试将数据包发送到本地网络上的 IP 地址时。
- ARP 由主机处理,该主机同时实现第 2 层和第 3 层。没有第 3 层的主机不能有 IP 地址。
- 中间第 2 层系统通常无法处理 ARP 请求,过去转发带有广播目标 MAC 的以太网数据包