组播通信

考虑一个场景,某公司用远程视频会议软件开一个会议,BOSS在总部发言而其他分部员工接收视频,这时如果还是使用单播模式的话,总部的视频将通过网络传给每个分部员工,它有一个特点是有多少客户端就需要传送多少次,当客户端的数量越来越大时可能会导致网络阻塞,而且这种传送效率极低。于是引入了组播通信概念。

如图,上为单播模式,S1向S2、S3和S4发送消息时必须发送三次,且每次都是从S1出发到各自目的地,传输效率低且浪费网络资源。下图为组播模式,S1向S2、S3和S4发送消息只需S1发送一次到路由器,连接S2、S3、S4客户端的路由器将负责往他们发送消息,解决了传输效率及浪费网络资源问题。

所以组播其实是为了优化单播在某些使用场景的局限性,它是一种一对多的传播方式,假如某个主机结点想接受相关的信息只需要向路由器或交换机申请加入某组即可,路由器或交换机在接受到相关信息后就会负责向组内所有成员发送信息,总结起来组播有以下特点:①节省不必要的网络资源;②有针对性地向组内成员传播;③可以在互联网上进行传播;④没有可靠传输协议导致数据不可靠。

组播中最重要的内容是如何维护路由器与主机之间的关系,其主要是通过IGMP协议进行维护,它主要维护不同路由器与不同主机之间的成员关系,具体的维护方式比较复杂,因为涉及到多个路由器且路由之间互相连接组成一个树状网络,而组内成员可能处于任何一个路由中,即树的任何树叶结点,所以需要复杂的算法去维护这些关系才知道信息要网哪发送。IGMP协议主要负责组成员的加入和退出、组内成员查询等功能,具体实现不再展开,只要明白使用组播就需要通过IGMP协议申请加入组成员才能接收组播出来的消息,而退出组后将接收不了消息。

组播相当于把主机与主机之间的通信压力转嫁到了路由器上面,所以要得到路由及网络的支持才能进行组播,整个传输过程中涉及的路由器或交换机都要支持组播,否则将无法使用组播通信。另外你的主机得支持组播,TCP/IP层面支持组播发送与接收。

在IP层面需要一个组播地址指定组播,它被称为D类地址,从224.0.0.0-239.255.255.255,这些地址根据范围大致分为局域网和因特网地址,224.0.0.0-244.0.0.255用于局域网,224.0.1.0-238.255.255.255用于因特网。Tomcat默认的组播地址为228.0.0.4,而Tomcat为何会涉及到组播则要归到集群的概念,因为集群涉及到内存的共享问题,所以需要使用组播进行内存同步,在集群相关章节将进行更加深入的探讨。

喜欢研究java的同学可以交个朋友,下面是本人的微信号:

时间: 2024-11-07 07:23:51

组播通信的相关文章

RPC、RMI与MOM与组播 通信原理

转:http://blog.csdn.net/you12345678901234567/article/details/7625797 远程过程调用(RPC): 即对远程站点机上的过程进行调用.当站点机A上的一个进程调用另一个站点机上的过程时,A上的调用进程挂起,B上的被调用过程执行,并将结果返回给调用进程,使调用进程继续执行[B上的被调用过程的参数和执行结果在调用和被调用进程之间是通过消息传递来实现的,表现为C/S关系] 为实现不同站点机上的RPC,调用和被调用进程各方都要保留一个用于存放过程

Python3组播通信编程实现教程(发送者+接收者)

一.说明 1.1 标准组播解释 通信分为单播.多播(即组播).广播三种方式 单播指发送者发送之后,IP数据包被路由器发往目的IP指定的唯一一台设备的通信形式,比如你现在与web服务器通信就是单播形式 广播指发送者发送之后,IP数据包被路由器发给与其连接的所有设备的通信形式 组播指发送者发送之后,IP数据包被路由器发往目的IP对应组播组名下所有主机的通信形式 1.2 个人理解组播解释 对于标准的组播解释,说明似乎还算是清楚的,但具体到技术就有很多问题.比如我将数据包发往一个组播地址,这个组播地址对

IP组播技术介绍及实现例子

引 言 近年来,随着Internet的迅速普及和爆炸性发展,在Internet上产生了许多新的应用,其中不少是高带宽的多媒体应用,譬如网 络视频会议.网络音频/视频广播.AOD/VOD.股市行情发布.多媒体远程教育.CSCW协同计算.远程会诊.这就带来了带宽的急剧消耗和网络拥挤问 题.为了缓解网络瓶颈,人们提出各种方案,归纳起来,主要包括以下四种: ●增加互连带宽: ●服务器的分散与集群,以改变网络流量结构,减轻主干网的瓶颈: ●应用QoS机制,把带宽分配给一部分应用: ●采用IP Multic

组播 java编程

原文地址:http://blog.sina.com.cn/s/blog_49843aeb0100i0bc.html 组播 作用:主机间通信使用.路由间通信使用 概念:IP组播技术,是一种允许一台或多台主机(组播源)发送单一数据包到多台主机(一次的,同时的)的TCP/IP网络技术,是一点对多点的通信 为什么用它:在网络多媒体广播的应用中,当需要将一个节点的信号传送到多个节点时,无论是采用重复点对点通信方式,还是采用广播方式,都会严重浪费网络带宽,只有组播才是最好的选择.组播能使一个或多个组播源只把

H3C组播系列之IP组播概述

一.组播的基本介绍 组播指发送源将产生的单一IP数据包通过网络发送给一组特定接收者的网络传输方式.组播结合了单播和广播的优点,在进行点到多点传输时,发送源不需要关心接受者的数目,仅需要发送一份报文:路由器仅关心接口下是否有接收者,同样不需要关心接收者的数量,所以在路由器之间的链路上也仅传送一份报告. 和单播相比,组播减轻了发送源的负担,并且提高了链路的有效利用率.此外,发送源可以同时发送报文给多个接收者,可以满足低延时应用的需求. 和广播相比,组播方式下路由器仅在有接收者的接口复制报文,报文最终

组播的应用和实现

一.引言 1.1. 问题的引出 近年来,随着网络技术的发展,使得各种单一媒体相继成为网络传输中的数据,进而各种媒体的融合使得网络多媒体运用层出不穷.目前,在Internet上产生了许多新的应用,其中不少是高带宽的多媒体应用,譬如网络视频会议 (可视化IP电话会议系统).网络音频/视频广播.多媒体远程教育.远程会诊,而传统网络最初是为数据传输而设计的,是典型的点点通信模式,是为保证数据可靠传输而设计的,所用的传输协议多为点到点的协议.其所具有的特点将增加网络发送负载,带来网络延时.这就带来了带宽的

组播原理

原文地址:http://linux.chinaitlab.com/administer/5573.html 摘要: 本文可做为TCP/IP组播技术的入门材料,文中介绍了组播通 信的概念及原理,以及用于组播应用编程的Linux API的详细资料.为了使读者更加完整的了解Linux 组播的整体概念,文中对实现该技术的核心函数也做了介绍.在文章的最后给出了一个简单的C语言套接字编程例子,说明如何创建组播应用程序. 一.导言 在网络中,主机间可以用三种不同的地址进行通信: 单播地址(unicast):即

C#实现任意源组播与特定源组播

IP组播通信需要一个特殊的组播地址,IP组播地址是一组D类IP地址,范围从224.0.0.0 到 239.255.255.255.其中还有很多地址是为特殊的目的保留的.224.0.0.0到224.0.0.255的地址最好不要用,因为他们大多是为了特殊的目的保持的(比如IGMP协议). IGMP是IP组播的基础.在IP协议出现以后为了加入对组播的支持,IGMP产生了.IGMP所做的实际上就是告诉路由器,在这个路由器所在的子网内有 人对发送到某一个组播组的数据感兴趣,这样当这个组播组的数据到达后面,

CCNP路由实验之十 组播(多播)

??                    CCNP路由实验之十 组播(多播) 单播(Unicast):网络节点之间的通信通讯的模式是"一对一"的.此时信息的接收和传递仅仅在两个节点之间进行.比如.你在收发电子邮件.浏览网页时,必须与邮件server.Webserver建立连接,此时使用的就是单播传输数据方式.网络中的交换机和路由器对数据仅仅进行转发不进行复制. 假设10个客户机须要同样的数据,则server须要逐一传送.反复10次同样的工作. 但因为其能够针对每一个客户的及时响应.所