1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
---
是的,您對 **mDNS (multicast DNS)** 的理解是完全正確的!

### mDNS 的運作方式

使用 mDNS 的情況下:

1. **不需要動到路由器:** 這是 mDNS 的一個主要優點。它不依賴中央 DNS 伺服器,而是透過在區域網路內廣播來進行名稱解析。
2. **設定裝置 A 的名稱:** 您只需確保伺服裝置 A 的**主機名稱 (hostname)** 設定為您想要的名稱,例如 `myserver`。
3. **裝置 C 直接連線:** 網路中的其他裝置 (例如裝置 C) 就可以直接使用 `myserver.local` 這個網域名稱來連線到裝置 A。

---

### `.local` 網域名稱型式

關於 `.local` 這個網域名稱型式,您的理解也是對的:

* **固定型式:** `xxxxx.local` 中的 `.local` 是 **mDNS 協定預設且固定的頂級網域**。它是專門為本機網路解析而保留的,不會解析到網際網路上的位址。
* **用途:** 當您在裝置 C 上輸入 `myserver.local` 時,作業系統會識別出 `.local` 是一個 mDNS 查詢,然後在區域網路內廣播查找名為 `myserver` 的裝置,並從回應中獲取其 IP 位址。

---

### mDNS 的優點與限制

**優點:**

* **設定簡單:** 幾乎是零配置,只要裝置支援 mDNS 且防火牆沒有阻擋相關流量。
* **無需額外硬體或軟體:** 不像傳統 DNS 需要專門的 DNS 伺服器。
* **自動發現:** 裝置可以自動發現網路上的其他服務和裝置。

**限制:**

* **僅限本機網路:** mDNS 查詢不會跨越路由器或子網路。它只在單一的廣播域內有效。
* **協定支援:** 並非所有裝置或作業系統都完美支援 mDNS (不過大部分主流的現代系統如 Windows、macOS、Linux 都支援,特別是 Apple 的 Bonjour 技術就是基於 mDNS)。
* **衝突處理:** 如果網路中有多個裝置使用相同的主機名稱,可能會導致一些解析上的問題(儘管協定有處理衝突的機制)。

因此,如果您的需求僅限於在單一區域網路內,讓裝置透過簡單的名稱互連,那麼 mDNS 通常是最推薦且最省事的解決方案。