什么是組播?組播方式解決了單播情況下數(shù)據(jù)的重復(fù)拷貝及帶寬的重復(fù)占用,也解決了廣播方式下帶寬資源的浪費(fèi)。
產(chǎn)生原因
傳統(tǒng)的IP通信有兩種方式:第一種是在一臺源 IP主機(jī)和一臺目的 IP主機(jī)之間進(jìn)行,即單播(unicast);第二種是在一臺源IP主機(jī)和網(wǎng)絡(luò)中所有其它的IP主機(jī)之間進(jìn)行,即廣播(broadcast)。如果要將信息發(fā)送給網(wǎng)絡(luò)中的多個主機(jī)而非所有主機(jī),則要么采用廣播方式,要么由源主機(jī)分別向網(wǎng)絡(luò)中的多臺目標(biāo)主機(jī)以單播方式發(fā)送IP包。
采用廣播方式實(shí)現(xiàn)時,不僅會將信息發(fā)送給不需要的主機(jī)而浪費(fèi)帶寬,也可能由于路由回環(huán)引起嚴(yán)重的廣播風(fēng)暴;采用單播方式實(shí)現(xiàn)時,由于IP包的重復(fù)發(fā)送會白白浪費(fèi)掉大量帶寬,也增加了服務(wù)器的負(fù)載。所以,傳統(tǒng)的單播和廣播通信方式不能有效地解決單點(diǎn)發(fā)送多點(diǎn)接收的問題。
IP 組播是指在IP網(wǎng)絡(luò)中將數(shù)據(jù)包以盡力傳送(best-effort)的形式發(fā)送到網(wǎng)絡(luò)中的某個確定節(jié)點(diǎn)子集,這個子集稱為組播組(multicast group)。IP 組播的基本思想是,源主機(jī)只發(fā)送一份數(shù)據(jù),這份數(shù)據(jù)中的目的地址為組播組地址;組播組中的所有接收者都可接收到同樣的數(shù)據(jù)拷貝,并且只有組播組內(nèi)的主機(jī)(目標(biāo)主機(jī))可以接收該數(shù)據(jù),網(wǎng)絡(luò)中其它主機(jī)不能收到。組播組用 D 類IP地址(224.0.0.0 ~ 239.255.255.255)來標(biāo)識。
組播、單播和廣播的定義
我們知道單播、組播和廣播都是IP報(bào)文網(wǎng)絡(luò)傳輸?shù)娜N模式,它們的定義如下:
單播是主機(jī)間一對一的通訊模式,它能夠針對每臺主機(jī)及時的響應(yīng),現(xiàn)在的網(wǎng)頁瀏覽全部都是采用單播模式。
廣播是主機(jī)間一對所有的通訊模式,設(shè)備會將報(bào)文發(fā)送到網(wǎng)絡(luò)中的所有可能接收者,廣播處理流程簡單,不用選擇路徑。
組播是主機(jī)間一對多的通訊模式, 組播是一種允許一個或多個組播源發(fā)送同一報(bào)文到多個接收者的技術(shù)。組播源將一份報(bào)文發(fā)送到特定的組播地址,組播地址不同于單播地址,它并不屬于特定某個主機(jī),而是屬于一組主機(jī)。
組播一對多通信場景
1.組播(Multicast)非常適合一對多的通信模型,只有加入到特定組播組的成員,才會受到組播數(shù)據(jù),當(dāng)存在多個組播組成員時,源無需拷貝多個數(shù)據(jù)發(fā)送,僅需發(fā)送一份即可,組播網(wǎng)絡(luò)設(shè)備(運(yùn)行組播路由協(xié)議的網(wǎng)絡(luò)設(shè)備)會根據(jù)實(shí)際需要轉(zhuǎn)發(fā)或拷貝組播數(shù)據(jù),實(shí)現(xiàn)按需拷貝,按需發(fā)送。
2.數(shù)據(jù)流只發(fā)送給加入該組播組的接收者(組成員),而不需要該數(shù)據(jù)的設(shè)備將不會接收到該組播流量。
3.相同的組播報(bào)文,在一段鏈路上僅有一份數(shù)據(jù),大大提高了網(wǎng)絡(luò)資源的利用率。
組播協(xié)議的優(yōu)勢:
組播協(xié)議的優(yōu)勢在于當(dāng)需要將大量相同的數(shù)據(jù)傳輸?shù)讲煌ㄖ鳈C(jī)時,
1.能節(jié)省發(fā)送數(shù)據(jù)的主機(jī)的系統(tǒng)資源和帶寬;
2.組播是有選擇地復(fù)制給又要求的主機(jī);
3. 組播可以穿越公網(wǎng)廣泛傳播,而廣播則只能在局域網(wǎng)或?qū)iT的廣播網(wǎng)內(nèi)部傳播;
4. 組播能節(jié)省網(wǎng)絡(luò)主干的帶寬;