iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
1
DevOps

不是工程師也能看懂的routing小技巧系列 第 16

閒聊Multicast

講在IPv6的NDP之前...

今天本來要聊聊IPv6中的鄰居發現協定(NDP),以利跟昨天聊到的arp互相呼應,但NDP好死不死,碰到了一個有趣的東西,稱為Multicast,這是什麼東西呢?

Multicast 之概念

Multicast稱之為多播,在昨天的arp的概念中N00B剛開始要大喊(廣播Broadcast)的原理不同,Multicast可以視為以下概念,我在這條道路上每個人都去申請一個同樣的名牌,這個名牌要符合IPv4或是IPv6對於Multicast所規範的範圍之中,在網路裡,相同的角色(如主機群)會預先申請一個相同的名牌,如IPv6中的FF02::1,又或者是IPv4中的224.0.0.1,因此如果在一個網段中,使用ping去測試FF02::1的網路位置有沒有人回應,就會收到一大堆在同一個Multicast IP群組中的所有主機的回應。
簡單來說就是一個群組共用同一個IP的概念,除這個IP外,還有擁有自己本來的IP。

怎麼看到底自己有哪些Multicast的IP?

使用ip maddr後可見以下類似的東西(僅節錄inet部分,未節錄link部分)

1:	lo
	inet  224.0.0.251
	inet  224.0.0.1
	inet6 ff02::2
	inet6 ff02::1
2:	eth0
	inet  224.0.0.1
	inet6 ff02::2
	inet6 ff02::1

可以看見這台設備的lo0(loopback)有兩個IPv4的multicast群組,分別是224.0.0.251以及224.0.0.1,這兩個Multicast IP都有特殊的意義,224.0.0.1為所有支援Multicast的主機(All Multicast Hosts)都會加入的群組,224.0.0.251用於mDNS(這邊僅提及,未來會講解)
而IPv6的群組分別有ff02::2以及ff02::1,其中ff02::1224.0.0.1一樣為所有支援Multicast的主機(All Multicast Hosts)都會加入的群組,而ff02::2則為所有router都會加入的群組。

為啥沒有加入224.0.0.2呢?

因為IPv4的Multicast通訊協定不具備強制性,不一定需要符合IPv4的RFC中所提及的Multicast相關論述,但IPv6對於Multicast的通訊協定是強制性的所以每間廠商在製作符合IPv6規範的設備時,都會符合相關設定。


上一篇
淺談arp
下一篇
Day 17 mDNS是啥東西
系列文
不是工程師也能看懂的routing小技巧30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言