当前的网络中有三种通讯模式:单播、广播、组播(多播),其中的组播出现时间最晚但同时具备单播和广播的优点,最具有发展前景。
一、单播(unicast):
主机之间“一对一”的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。如果10个客户机需要相同的数据,则服务器需要逐一传送,重复10次相同的工作。但由于其能够针对每个客户的及时响应,所以现在的网页浏览全部都是采用IP单播协议。网络中的路由器和交换机根据其目标地址选择传输路径,将IP单播数据传送到其指定的目的地。
单播的优点:
1. 服务器及时响应客户机的请求
2. 服务器针对每个客户不通的请求发送不通的数据,容易实现个性化服务。
单播的缺点:
1. 服务器针对每个客户机发送数据流,服务器流量=客户机数量×客户机流量;在客户数量大、每个客户机流量大的流媒体应用中服务器不堪重负。
2. 现有的网络带宽是金字塔结构,城际省际主干带宽仅仅相当于其所有用户带宽之和的5%。如果全部使用单播协议,将造成网络主干不堪重负。现在的P2P应用就已经使主干经常阻塞,只要有5%的客户在全速使用网络,其他人就不要玩了。而将主干扩展20倍几乎是不可能。
二、 广播(broadcast):
主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。在数据网络中也允许广播的存在,但其被限制在二层交换机(HUB集线器)的局域网范围内,禁止广播数据穿过路由器,防止广播数据影响大面积的主机。
广播的优点:
1. 网络设备简单,维护简单,布网成本低廉
2. 由于服务器不用向每个客户机单独发送数据,所以服务器流量负载极低。
广播的缺点:
1.无法针对每个客户的要求和时间及时提供个性化服务。
2. 网络允许服务器提供数据的带宽有限,客户端的最大带宽=服务总带宽。例如有线电视的客户端的线路支持100个频道(如果采用数字压缩技术,理论上可以提供500个频道),即使服务商有更大的财力配置更多的发送设备、改成光纤主干,也无法超过此极限。也就是说无法向众多客户提供更多样化、更加个性化的服务。
3. 广播禁止在Internet宽带网上传输。
三、组播(multicast):
主机之间“一对一组”的通讯模式,也就是加入了同一个组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些加入组的主机。这样既能一次将数据传输给多个有需要(加入组)的主机,又能保证不影响其他不需要(未加入组)的主机的其他通讯。组播报文的目的地址使用d类ip地址, 范围是从224.0.0.0到239.255.255.255。D类地址不能出现在IP报文的源IP地址字段。
在D类地址的分配中,IETF建议遵循以下的原则:
全球范围:224.0.1.0~238.255.255.255;
有限范围:239.0.0.0~239.255.255.255;
本地站点范围:239.253.0.0~239.253.0.16
本地机构范围:239.192.0.0~239.192.0.14.
组播的优点:
1. 需要相同数据流的客户端加入相同的组共享一条数据流,节省了服务器的负载。具备广播所具备的优点。
2. 由于组播协议是根据接受者的需要对数据流进行复制转发,所以服务端的服务总带宽不受客户接入端带宽的限制。IP协议允许有2亿6千多万个(268435456)组播,所以其提供的服务可以非常丰富。
3. 此协议和单播协议一样允许在Internet宽带网上传输。
组播的缺点:
1.与单播协议相比没有纠错机制,发生丢包错包后难以弥补,但可以通过一定的容错机制和QOS加以弥补。
2.现行网络虽然都支持组播的传输,但在客户认证、QOS等方面还需要完善,这些缺点在理论上都有成熟的解决方案,只是需要逐步推广应用到现存网络当中。
分享到:
相关推荐
在实际应用中,单播、多播和广播三种通讯模式可以根据不同的场景选择使用,例如,在网上视频会议、网上视频点播等场景中采用多播方式,在浏览网页时采用单播方式,在客户机通过 DHCP 自动获得 IP 地址的过程中采用...
在单播通信中,数据包被发送到特定的单一接收者,与广播和多播不同。 要实现51单片机和W5500的UDP单播通信,我们需要完成以下步骤: 1. **硬件连接**:将51单片机的SPI接口(通常包括SCK、MISO、MOSI和CS)与W5500...
该软件系统支持实时转播、点播和预定节目广播三种模式,适用于电视会议、领导讲话广播、监控、网上教学、电视节目播放、实况转播、多媒体检索以及VOD服务,将传统的计算机网络转变为多功能的多媒体平台。 IP/TV软件...
UDP组播(Multicast)是UDP的一个特殊应用模式,它允许多个目的地同时接收同一个数据包。这在某些工业自动化应用场合中十分有用,比如同时对多个PLC进行监控或控制。 在UDP组播的设置和使用中,涉及到几个关键的...
本示例代码“VC组播通讯示例代码”专为在Visual C++ 6.0(VC6.0)环境下理解并实现组播通信提供了一个简明的教程。下面我们将深入探讨组播通信的基本概念、原理以及如何在VC6.0中实现它。 组播通信是一种网络通信...
- **单播**:“一对一”的通讯模式,适用于需要针对每个客户及时响应的场景,例如网页浏览。 - **广播**:“一对所有”的通讯模式,适用于不需要路径选择的简单场景,但在大型网络中可能会导致广播风暴。 - **组...
这个"Signalr组播与广播例子"是关于如何使用SignalR来实现多播和广播通信模式的教程。 首先,我们要理解多播和广播的概念。在计算机网络中,多播是指一个消息被发送到一组特定的接收者,而广播则是将消息发送给所有...
本主题主要关注的是CAN总线在双机通讯模式下的实现,以及如何扩展到多机通讯。 首先,CAN双机通讯模式是指两个CAN节点(通常由单片机MCU控制)通过CAN总线进行数据交换。这种模式常用于设备间的简单交互,例如...
3. **组播**:组播是一种网络通信模式,允许一个数据源向多个接收者同时发送数据,而无需为每个接收者单独发送。在IP网络中,组播通过特定的IP地址范围(如224.0.0.0到239.255.255.255)来实现。使用组播,可以显著...
1. 单播(Unicast):主机之间的一对一通讯模式,服务器针对每个客户机单独发送数据流,服务器流量=客户机数量×客户机流量; 2. 广播(Broadcast):主机之间的一对所有通讯模式,服务器向所有客户机发送数据流,...
广播电视移动直播及应急指挥多车联网系统 该系统是为解决在自然灾害频发区域,如何快速回传新闻采集信息并有效报道突发事件而设计的。系统具备应急指挥功能,旨在加强广播电视的转播能力与速度,安全有效地完成灾区...
Java的多播通讯框架JGroups是一个强大的工具,用于在分布式系统中实现可靠的消息传递和组成员管理。这个框架的核心目标是提供健壮、高效且易于使用的网络通信解决方案,支持多种协议和服务,使得开发者能够构建高度...
Java多播通讯框架JGroups是Java开发者用于构建高可用、高性能和可伸缩的集群通信系统的重要工具。它提供了一套全面的协议栈,能够处理网络中的节点发现、消息传递、故障检测和恢复等问题,从而使得开发分布式应用变...
与传统的广播和单播相比,组播能够显著减少网络带宽的消耗,因为它只在网络中传输一次数据流,即使有成千上万的接收者。这一特性使得组播成为高效率传输大量数据的理想选择,尤其是在需要将相同信息分发给多个人员或...
Java多播通讯框架JGroups是Java开发者用于构建高效、可靠、可扩展的集群通信系统的重要工具。它提供了多种协议和服务,使得多个Java进程之间能够进行可靠的信息交换,从而实现分布式系统中的节点间通信。JGroups的...
组播是一种在多播组内广播数据的技术,它比单播更有效,因为数据只需要发送一次,就可以被多个接收者接收。在C#中,`MulticastSocket`或类似的类通常用于处理组播,它需要设置特定的IP多播地址和端口号,以及加入或...
《电信设备-多通讯模式营业叫号管理装置》是一份深入探讨现代电信行业中营业厅管理技术的资料。本文将从以下几个方面详细介绍这个装置及其相关知识点: 1. **多通讯模式**:多通讯模式指的是该叫号管理装置具备多种...
在探讨“广播电视移动通讯”这一主题时,我们首先需要理解几个基本概念,这些概念构成了广播和电视技术的基础。广播和电视的图像与声音信号是通过电磁波进行传输的,这是一种无形的能量形式,可以在空气中传播,使得...
3. 设置套接字为组播模式,通过`setsockopt`函数启用IP多播。 4. 加入组播组,使用`setsockopt`函数设置IP多播地址。 5. 绑定套接字到指定的本地端口,使用`bind`函数。 6. 接收来自客户端的数据,使用`recvfrom`...