由 dnsmasq 管理的單交換器乙太網路中的節點是直接通訊還是透過路由器通訊?

由 dnsmasq 管理的單交換器乙太網路中的節點是直接通訊還是透過路由器通訊?

這個問題有不同的情況,但我不能確定是否有人詢問了我的具體情況。

我正在設定一個簡單的以太網,如下所示:

在此輸入影像描述

在節點 0(“rpi1”)上,我執行 dnsmasq 作為 DNS 和 DHCP 伺服器。這是其一部分/etc/dnsmasq.conf(減去 MAC 位址詳細資訊):

# Assign static IPs to cluster members
# Format = MAC:hostname:IP
dhcp-host=ZZ:YY:XX:WW:VV:UU,rpi1,10.0.0.1 # Node 0
dhcp-host=ZZ:YY:XX:WW:VV:UU,rpi2,10.0.0.2 # Node 1
dhcp-host=ZZ:YY:XX:WW:VV:UU,rpi3,10.0.0.3 # Node 2
dhcp-host=ZZ:YY:XX:WW:VV:UU,rpi4,10.0.0.4 # Node 3

DNS 和 DHCP 方面均正常運作。每個節點都被分配了其預期的10.0.0.XIP 位址,並且我可以透過執行例如dig rpi4(-> ... 10.0.0.4) 來解析任何節點上的任何域。並且,例如,如果我在 rpi2 內,那麼我可以使用ssh rpi3ping rpi4或進入 rpi3ping 10.0.0.4並獲得 0% 的封包遺失。

但我不清楚的是,我是直接透過交換器還是透過 rpi1(執行 dnsmasq 並提供路由器服務)在節點之間進行通訊。

如果節點直接通信,那麼我假設它們必須知道彼此的 MAC 位址,才能發出透過交換器直接相互發送的訊框。如果是這樣,那麼我的問題總結如下:

  1. 節點在什麼時候獲知其他節點的 MAC 位址?
  2. 我如何檢查rpi2 上的例如rpi3 的MAC 位址以查看它們是否已相互了解?

先致謝!

答案1

節點在什麼時候獲知其他節點的 MAC 位址?

首先他們會從DNS伺服器查詢其他節點的IP位址。之後,它們將向所有節點發送“arp”請求,並且具有IP位址的節點將以其MAC位址回應該“arp”請求。

我如何檢查rpi2 上的例如rpi3 的MAC 位址以查看它們是否已相互了解?

'arp -a' 通常會為您提供 arp 表,您可以檢查這些條目以查看它們是否已獲知彼此的 MAC 位址。

相關內容