首页 > 解决方案 > 计算机如何知道本地网络上其他计算机的 IP 地址?

问题描述

我目前正在学习 ARP 和 L2/L3 网络 - 有人可以帮忙吗?如果我使用以太网电缆将我的笔记本电脑 (A) 连接到另一台笔记本电脑 (B),它可以使用 ARP 根据 B 的 IP 地址找出 B 的 MAC 地址。然后,任何以太网帧都可以被 B 发送和接受。

但是 A 一开始是如何知道 B 的 IP 地址的呢?如果 A 和 B 之间有一个交换机(L2 设备)怎么办?这会改变答案吗?如果中间有路由器(L3 设备)怎么办?

标签: networkingethernet

解决方案


它向广播 MAC 地址发送一个广播数据包,询问“谁拥有 IP 地址 xxxx”,该数据包会发送到该广播域上的所有计算机。如果计算机看到拥有 IP 地址“xxxx”的数据包,它将向原始请求者的 MAC 地址发送一个单播回复,其 MAC 地址将被缓存以供进一步通信。

除非您告诉它,否则它不知道 IP。您说“默认网关是 192.168.1.1”,它将开始尝试与 192.168.1.1 等通信。

如果中间有路由器,则到远程设备的所有流量都将转到路由器的 MAC,并且您的计算机不会在该路由器之外进行任何 ARP 查找。

交换机对此无关紧要,它们所做的只是使广播域更大。使用电缆,广播域就是您和远程设备。使用交换机,它将其扩展到连接到同一交换机(或交换机中的 VLAN)的所有设备


推荐阅读