Technorati 標(biāo)簽:
網(wǎng)絡(luò) ,
多播 ,
組播
本文只對(duì)IP協(xié)議進(jìn)行說(shuō)明。
組播,也稱多播,其實(shí)只是一個(gè)英文單詞Multicast的不同翻譯而已。
在網(wǎng)絡(luò)會(huì)議系統(tǒng)中常使用組播技術(shù),避免各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)間都建立連接(TCP)或者源需要向目的列表循環(huán)發(fā)送相同的數(shù)據(jù)包。
組播地址在224.0.0.0 到 239.255.255.255之間。但實(shí)際應(yīng)用中,由于224.0.*.*網(wǎng)段中有些地址已經(jīng)用作其他特殊用途,所以建議開發(fā)組播程序的時(shí)候從224.1.0.0開始選擇。
多播地址
|
用途
|
2 2 4 . 0 . 0 . 0
|
基本地址(保留)
|
2 2 4 . 0 . 0 . 1
|
子網(wǎng)內(nèi)的所有系統(tǒng)
|
2 2 4 . 0 . 0 . 2
|
子網(wǎng)內(nèi)的所有路由器
|
2 2 4 . 0 . 1 . 1
|
網(wǎng)絡(luò)時(shí)間協(xié)議
|
2 2 4 . 0 . 0 . 9
|
R I P第2版本組地址
|
2 2 4 . 0 . 1 . 2 4
|
W I N S服務(wù)器組地址
|
... |
...
|
如果想進(jìn)行組播,要使用UDP協(xié)議來(lái)進(jìn)行。簡(jiǎn)單描述如下:
角色 |
步驟 |
發(fā)送方 |
建立UDP socket, 直接向組播地址端口發(fā)送即可。 |
接收方 |
1,建立UDP socket 假設(shè)命名為localsocket, 綁定組播的地址的端口; 2,加入組,返回一個(gè)組的socket,假設(shè)為multisocket; 3,按需要從localsocket接收數(shù)據(jù); 4,如果需要退出,先close掉multisocket退出組, 再close掉localsocket.
|
當(dāng)然,如果既要發(fā)送也要接收,只要按照接收的步驟做就可以了。另外需要說(shuō)明的是,目前跨路由器的組播都需要在路由器上面進(jìn)行設(shè)置,否則路由器處于性能等方面(會(huì)出現(xiàn)幾個(gè)應(yīng)用使用的同一組播地址和端口的情況,世界大亂:))考慮是不會(huì)轉(zhuǎn)發(fā)組播報(bào)到其他路由器的。