如果 Internet 层的两个服务器之间建立了成功的 TCP/IP 连接,并且源地址和目标 mac 地址附加到 TCP/IP 数据包,那么这两个服务器之间如何共享 mac 地址?
答案1
您的计算机有一个 IP 和一个网络掩码,例如 IP 为 192.168.0.10,网络掩码为 255.255.255.0(或在 CIDR /24 中)。这意味着前三个字节(三元组)表示网络,最后一个字节表示该网络中的计算机。
如果目标地址在同一个网络内,则会将 arp 数据包发送到本地网络的广播地址,在本例中为 192.168.0.255,这意味着所有本地地址。
who has 192.168.0.27? Please tell 192.168.0.10, my MAC 01:00:f2:10:21:1d.
具有该地址的计算机响应所包含的 MAC 地址,并且 MAC 地址和 IP 地址的配对会被缓存一段时间,请参阅 arp -a。
如果目标 IP 地址不在同一个网络中(根据您的网络掩码,例如目标是 8.8.4.4,并且没有特定路由,则 IP 数据包将被发送到默认网关,然后由默认网关将其路由到目标。
答案2
如果服务器有 IP 地址A需要通过 IP 地址与服务器通信乙, 然后:
- 服务器 A 发送地址解析协议包裹询问IP 地址 B 的 MAC 是什么?. 该数据包进入广播以太网帧。
- 由于该帧是广播的,因此同一 LAN 上的每个人都可以听到它,因此服务器 B 使用其 MAC 地址进行应答,并且服务器 B 还会了解 A 的 MAC 地址。
A 和 B 用 MAC - IP 对应关系填充其 ARP 表。此条目在 A 和 B 之间最后一次通信后的有限时间内保留在表中,因此表的大小合理。