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