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 | --- 您的理解非常接近,而且您用「虛擬廣播裝置」來類比這個概念,其實抓住了多點傳播 (multicast) 的精髓! 讓我們把您的說法再精確化一點: ### IP 位址 (網路層) 與 Port (傳輸層) 您之前學到的「**IP 是網路層的位址**」和「**Port 是傳輸層的服務號**」這個認知是完全正確且非常關鍵的。 ### 224.0.0.251:一個「多點傳播群組」的位址 `224.0.0.251` 並不是路由器的「虛擬廣播裝置」的位址,而是 **IPv4 多點傳播 (Multicast) 中,專門用於「本機鏈結網路服務探索 (Link-Local Multicast Name Resolution, LLMNR)」和「多點傳播 DNS (mDNS)」的一個**保留位址**。 您可以將 `224.0.0.251` 想像成一個**「虛擬的房間」或「頻道」**。當一個裝置想要發送 mDNS 訊息時,它不是發送給某個特定的裝置 IP,而是發送給這個「房間」或「頻道」。 * **誰能收到?** 任何「加入」或「監聽」這個「房間」的裝置都能收到這些訊息。 * **路由器的角色:** 路由器會確保這個「房間」裡的訊息,能在它管理的**同一個區域網路(子網路)**內傳遞。它不會把這個「房間」的訊息傳到網際網路或其他子網路去。 ### 5353:這個「多點傳播群組」內的 mDNS 服務埠號 而 `5353` 則是這個「虛擬房間」裡,專門用來處理 **mDNS 協定**的**埠號**。 * 當裝置發送訊息到 `224.0.0.251` 這個多點傳播位址時,它會把訊息的目標埠設為 `5353`。 * 當裝置監聽 `224.0.0.251` 時,它也會在 `5353` 埠上等待接收訊息。 所以,您的理解可以這樣總結: * `224.0.0.251` 是 mDNS 使用的**多點傳播群組位址**(想像成一個虛擬的「聊天室」)。 * `5353` 是在這個「聊天室」裡,專門給 **mDNS 協定使用的服務埠號**。 發送 mDNS 查詢或宣告,就是向 `224.0.0.251:5353` 這個目標發送 UDP 封包。而接收 mDNS 訊息,就是監聽來自 `224.0.0.251:5353` 的 UDP 封包。 這樣解釋是否讓這個概念更加清晰了呢? |
Direct link: https://paste.plurk.com/show/SfqqdAks5COMKBLLmoIL