关闭

组播

标签: internet服务器网络协议headerbyte路由器
2326人阅读 评论(0) 收藏 举报
分类:

最近偶然的研究了一下组播。看到这个词,我脑海里只有广播,以为大同小异,其实大不相同。

广播:发送信息,网内所有用户都接受到信息
组播:发送信息,只有本组内的用户接受到信息

下面只关注IP组播

组播的好处:服务器发送信息,只需要发一份,所有成员都可以收到,减少了服务器端的网络流量
组播的缺点:ip组播使用udp协议,不能保证可靠传输
组播的原理:基于IGMP协议,我的理解是这样的,服务器发送信息到他相邻的机器,那个机器再将信息发送到相邻的组成员。这样发送信息的任务分交到每个组成员,减少了服务器的负担。

组播应用:网络视频点播,不使用组播,服务端无法胜任超大流量,同时对数据丢包可以容忍。p2p我认为也是组播的一种。

组播开发:用java.net.MulticastSocket可以方便实现IP组播功能,但是对于传文件,文件只能切分为小块,通过发送数据包来传输。
http://blog.csdn.net/coolriver/archive/2004/09/13/102420.aspx 这个地址有应用的例子,但没有大文件切分组合。文件切分简单的实现就是每个数据包中都包含文件名,包编号,在客户端,可以首先创建空文件,然后对收到的数据直接写到相应的地址。最后统计收到的包编号判断是否接受文件成功。

经测试,大文件(200M)传输会有明显丢包现象。

数据包的大小:According to "UNIX Network Programming", all TCP/IP implementations must support a minimum IP datagram size of 576 bytes, regardless of the MTU. Assuming a 20 byte IP header and 8 byte UDP header, this leaves 548 bytes as a safe maximum size for UDP messages. The maximum size is 65516 byte
可以看出使用548byte的包大小最安全

IP组播地址和组播组 :IP组播通信必须依赖于IP组播地址,在IPv4中它是一个D类IP地址,范围从224.0.0.0到239.255.255.255,并被划分为局部链接组播地址、预留组播地址和管理权限组播地址三类。其中,局部链接组播地址范围在224.0.0.0~224.0.0.255,这是为路由协议和其它用途保留的地址,路由器并不转发属于此范围的IP包;预留组播地址为224.0.1.0~238.255.255.255,可用于全球范围(如Internet)或网络协议;管理权限组播地址为239.0.0.0~239.255.255.255,可供组织内部使用,类似于私有IP地址,不能用于Internet,可限制组播范围。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    文章分类
    最新评论