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.
|
当然,如果既要发送也要接收,只要按照接收的步骤做就可以了。另外需要说明的是,目前跨路由器的组播都需要在路由器上面进行设置,否则路由器处于性能等方面(会出现几个应用使用的同一组播地址和端口的情况,世界大乱:))考虑是不会转发组播报到其他路由器的。