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