2011年12月3日 星期六

Unicast/Broadcast/Multicast 的區別

1.Unicast(單點傳播)
通常指的是特定的目的地位址,一般是主機之間互相傳遞封包的方式,也是最常見的網路通訊方式。
因此我們有時稱之為One-to-One的通訊方式。
以Ethernet網路架構而言,封包(Packet)在同一個subnet中傳遞時,以收方位址來判別該由那台主機接收;若在不同的subnet時,就 要透過路由器Router根據收方位址,把這個packet送往收方主機所在的另一個subnet上。這就是Internet上最普遍、一對一方式傳 送的unicast。

2.Broadcast(廣播)
通常發生於 MultiAccess (CSMA/CD)  網路媒介中,例如區域網路(Local Area Network)。
Layer 2中表頭的MAC目的地位址通常是 FF-FF-FF-FF-FF-FF
Layer 3中表頭的IP目的地位址通常是 255.255.255.255。
連接至同一個網段(Segment)網路媒介上的所有主機及網路設備都會接收到這個封包並進行處理。

當 broadcast 時,同一subnet上所有主機都會收到 broadcast packet
但是 broadcast packet會被 Subnet Router 擋下來,不會傳送到另一個 subnet,否則網路就會被broadcast packet 癱瘓,因此我們稱之為One-to-All的通訊方式。

3.Multicast(多播/群播)
一般應用於相同的來源資料要同時傳送給一群特定的接收者(Multicast Group Client),但是來源端只要發送一份資料,因此頻寬的使用量不會因為接收者增加而增加。

網路視訊(如VoD/遠距教學/視訊會議)的最佳解決方案。
multicast是一對一個群組(group)的傳輸模式,不同於broadcast的是,同一subnet中只有參加multicast group的主機才會收到封包,其他的主機就不會受到無謂的干擾,而且multicast  packet會透會multicast router的運作將封包送到另一個subnet的multicast group。
另一方面,multicast和broadcast相同的特性是,不管接收封包的主機有幾台,都只有一個資料流,也就是說,同一個subnet裏,不管接收主機的數量,所需的頻寬都是一樣的。
因此我們稱之為One-to-Many(or Many-to-Many)的通訊方式。

其中Class  D的start bits為"1110",範圍從224.0.0.0~239.255.255.255,這段位址不屬於任何主機,是特別保留給 multicast  address。當一部主機要送multicast packet到某一個 group的主機時,他們之間要先選定一個閒置的Class D IP,並避免和其他群組的multicast packet IP 相同。
然後這個multicast packet送出時,網路上參與這個 group 的主機,除了接收屬於自己IP的packet之外,也會接收自這個Class D IP 的packet。於是達成了 multicast 的目的了。

沒有留言:

張貼留言