🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] > [Linux网络编程——多播](http://coder55.com/article/51761) ## 概述 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。 <br> 单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是整个局域网上的所有主机,这就是多播的用途 <br> IP 多播(也称多址广播或组播)技术,是一种允许一台或多台主机(多播源)发送单一数据包到多台主机(**一次的,同时的**)的 TCP/IP 网络技术 ## 224.0.0.1 组播(多播)地址 从`224.0.0.0~239.255.255.255`都是这样的地址。 1. 局部链接多播地址范围在 224.0.0.0~224.0.0.255,这是为路由协议和其它用途保留的地址,路由器并不转发属于此范围的IP包; 2. 预留多播地址为 224.0.1.0~238.255.255.255,可用于全球范围(如Internet)或网络协议; 3. 管理权限多播地址为 239.0.0.0~239.255.255.255,可供组织内部使用,类似于私有 IP 地址,不能用于 Internet,可限制多播范围。 一些多播组地址被 IANA 确定为知名地址,它们也被当作永久主机组 - 224.0.0.0 基准地址(保留,不应使用) - 224.0.0.1 所有组播主机 - 224.0.0.2 所有组播路由器 - 224.0.0.4 DRMRP 路由器 - 224.0.0.5 所有 OSPF 的路由器 - 224.0.0.6 OSPF 指派路由器 - 224.0.0.9 RPIv2 路由器 - 224.0.0.10 EIGRP 路由器 - 224.0.0.13 PIM 路由器 - 224.0.0.22 IGMPv3 - 224.0.0.25 RGMP - 224.0.1.1 NTP 网络时间协议 这样的地址多用于一些特定的程序以及多媒体程序。如果你的主机开启了IRDP(Internet路由发现协议),使用组播功能功能,那么你的主机路由表中应该有这样一条路由。 **多播作为一点对多点的通信,数据的收发仅仅在同一分组中进行,是节省网络带宽的有效方法之一。**在网络应用中,当需要将一个节点的信号传送到多个节点时,无论是采用重复点对点通信方式,还是采用广播方式,都会严重浪费网络带宽,只有多播才是最好的选择。多播能使一个或多个多播源只把数据包发送给特定的多播组,而只有加入该多播组的主机才能接收到数据包 ## IP 多播应用大致可以分为三类 1. 点对多点应用是指一个发送者,多个接收者的应用形式,这是最常见的多播应用形式。典型的应用包括:媒体广播、媒体推送、信息缓存、事件通知和状态监视等。 2. 多点对点应用是指多个发送者,一个接收者的应用形式。通常是双向请求响应应用,任何一端(多点或点)都有可能发起请求。典型应用包括:资源查找、数据收集、网络竞拍、信息询问等。 3. 多点对多点应用是指多个发送者和多个接收者的应用形式。通常,每个接收者可以接收多个发送者发送的数据,同时,每个发送者可以把数据发送给多个接收者。典型应用包括:**多点会议**、资源同步、并行处理、协同处理、远程学习、讨论组、分布式交互模拟(DIS)、多人游戏等。