`
庚午子
  • 浏览: 15090 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

单播广播和组播

阅读更多

单播”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思?区别何在?

1.单播:网络节点之间的通信就好像是人们之间的对话一样。如果一个人对另外一个人说话,那么用网络技术的术语来描述就是“单播”,此时信息的接收和传递只在两个节点之间进行。单播在网络中得到了广泛的应用,网络上绝大部分的数据都是以单播的形式传输的,只是一般网络用户不知道而已。例如,你在收发电子邮件、浏览网页时,必须与邮件服务器、Web服务器建立连接,此时使用的就是单播数据传输方式。但是通常使用“点对点通信”(Point to Point)代替“单播”,因为“单播”一般与“多播”和“广播”相对应使用。

2.多播:“多播”也可以称为“组播”,在网络技术的应用并不是很多,网上视频会议、网上视频点播特别适合采用多播方式。因为如果采用单播方式,逐个节点传输,有多少个目标节点,就会有多少次传送过程,这种方式显然效率极低,是不可取的;如果采用不区分目标、全部发送的广播方式,虽然一次可以传送完数据,但是显然达不到区分特定数据接收对象的目的。采用多播方式,既可以实现一次传送所有目标节点的数据,也可以达到只对特定对象传送数据的目的。   IP网络的多播一般通过多播IP地址来实现。多播IP地址就是D类IP地址,即224.0.0.0至239.255.255.255之间的IP地址。Windows 2000中的DHCP管理器支持多播IP地址的自动分配。

3.广播:“广播”在网络中的应用较多,如客户机通过DHCP自动获得IP地址的过程就是通过广播来实现的。但是同单播和多播相比,广播几乎占用了子网内网络的所有带宽。拿开会打一个比方吧,在会场上只能有一个人发言,想象一下如果所有的人同时都用麦克风发言,那会场上就会乱成一锅粥。集线器由于其工作原理决定了不可能过滤广播风暴,一般的交换机也没有这一功能,不过现在有的网络交换机(如全向的QS系列交换机)也有过滤广播风暴功能了,路由器本身就有隔离广播风暴的作用。   广播风暴不能完全杜绝,但是只能在同一子网内传播,就好像喇叭的声音只能在同一会场内传播一样,因此在由几百台甚至上千台电脑构成的大中型局域网中,一般进行子网划分,就像将一个大厅用墙壁隔离成许多小厅一样,以达到隔离广播风暴的目的。   在IP网络中,广播地址用IP地址“255.255.255.255”来表示,这个IP地址代表同一子网内所有的IP地址。

当前的网络中有三种通讯模式:单播、广播、组播(多播),其中的组播出现时间最晚但同时具备单播和广播的优点,最具有发展前景。

一、单播:

主机之间“一对一”的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。如果10个客户机需要相同的数据,则服务器需要逐一传送,重复10次相同的工作。但由于其能够针对每个客户的及时响应,所以现在的网页浏览全部都是采用IP单播协议。网络中的路由器和交换机根据其目标地址选择传输路径,将IP单播数据传送到其指定的目的地。
单播的优点:

1. 服务器及时响应客户机的请求
2. 服务器针对每个客户不通的请求发送不通的数据,容易实现个性化服务。

单播的缺点:

1. 服务器针对每个客户机发送数据流,服务器流量=客户机数量×客户机流量;在客户数量大、每个客户机流量大的流媒体应用中服务器不堪重负。
2. 现有的网络带宽是金字塔结构,城际省际主干带宽仅仅相当于其所有用户带宽之和的5%。如果全部使用单播协议,将造成网络主干不堪重负。现在的P2P应用就已经使主干经常阻塞,只要有5%的客户在全速使用网络,其他人就不要玩了。而将主干扩展20倍几乎是不可能。

二、 广播:

主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。在数据网络中也允许广播的存在,但其被限制在二层交换机的局域网范围内,禁止广播数据穿过路由器,防止广播数据影响大面积的主机。
广播的优点:

1. 网络设备简单,维护简单,布网成本低廉
2. 由于服务器不用向每个客户机单独发送数据,所以服务器流量负载极低。

广播的缺点:

1.无法针对每个客户的要求和时间及时提供个性化服务。
2. 网络允许服务器提供数据的带宽有限,客户端的最大带宽=服务总带宽。例如有线电视的客户端的线路支持100个频道(如果采用数字压缩技术,理论上可以提供500个频道),即使服务商有更大的财力配置更多的发送设备、改成光纤主干,也无法超过此极限。也就是说无法向众多客户提供更多样化、更加个性化的服务。
3. 广播禁止在Internet宽带网上传输。

三、组播:

主机之间“一对一组”的通讯模式,也就是加入了同一个组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些加入组的主机。这样既能一次将数据传输给多个有需要(加入组)的主机,又能保证不影响其他不需要(未加入组)的主机的其他通讯。
组播的优点:

1. 需要相同数据流的客户端加入相同的组共享一条数据流,节省了服务器的负载。具备广播所具备的优点。
2. 由于组播协议是根据接受者的需要对数据流进行复制转发,所以服务端的服务总带宽不受客户接入端带宽的限制。IP协议允许有2亿6千多万个(268435456)组播,所以其提供的服务可以非常丰富。
3. 此协议和单播协议一样允许在Internet宽带网上传输。

组播的缺点:

1.与单播协议相比没有纠错机制,发生丢包错包后难以弥补,但可以通过一定的容错机制和QOS加以弥补。
2.现行网络虽然都支持组播的传输,但在客户认证、QOS等方面还需要完善,这些缺点在理论上都有成熟的解决方案,只是需要逐步推广应用到现存网络当中。

 

分享到:
评论

相关推荐

    windows下UDP单播、广播播和组播实例

    本篇将详细讲解如何在Windows环境下,使用UDP进行单播、广播和组播的编程实践,我们将基于Visual Studio 2010开发环境进行说明。 首先,我们需要理解UDP的基础概念。UDP是一种不可靠的协议,它不保证数据包的顺序、...

    广播组播单播

    在IT领域,网络编程是构建分布式系统和网络应用的基础,其中“广播”、“组播”和“单播”是三种不同的通信模式,它们在不同场景下各有优势。下面将详细阐述这三种通信方式以及它们在实际应用中的作用。 首先,我们...

    Udp单播、组播(多播)和广播实现源码(Qt实现).rar

    在Qt库中,我们可以通过QUdpSocket类来操作UDP套接字,实现单播、组播(多播)和广播功能。下面我们将详细探讨这三个概念及其在Qt中的实现。 1. UDP单播: 单播是常规的TCP/IP通信方式,数据包从一个源地址发送到...

    工业领域使用qt开发UDP通信功能的实现(包括单播,广播,组播)

    本软件实现了两台甚至多台电脑之间使用UDP通信的功能,包括单播,广播,组播的功能实现,三种发送方式的切换在代码中已标明。 默认状态为本机发送,本机接受,也就是接收端的ip地址设置为127.0.0.1,用户可根据实际...

    Qt网络编程之搭建Udp通信【单播、组播、广播】

    本教程将聚焦于Qt网络编程中的UDP(User Datagram Protocol)通信,涵盖单播、组播和广播三种模式。通过提供的压缩包文件“组播.rar”、“广播.rar”和“单播.rar”,你可以找到对应模式的详细代码实例,并伴有丰富...

    udp网络通信例子源代码(单播、组播、广播)

    本资料包包含了关于UDP网络通信的源代码示例,涵盖了单播、组播和广播三种通信模式。 1. **单播**: - 单播是最常见的通信方式,类似于一对一的通信。发送者向特定的接收者发送数据,每个数据包都独立发送,没有...

    MFC实现的广播和组播的例子

    本示例“MFC实现的广播和组播的例子”着重于利用MFC进行UDP(User Datagram Protocol)的广播和组播通信,这两种网络通信方式在多点数据传输中具有广泛应用。 首先,我们要理解广播和组播的概念。广播是一种通信...

    单播、多播和广播的比较

    多播也可以称为组播,在网络技术的应用并不是很多,但是在网上视频会议、网上视频点播等场景中非常适合采用多播方式。多播可以实现一次传送所有目标节点的数据,也可以达到只对特定对象传送数据的目的。IP 网络的多...

    C++组播和单播代码,支持windows和linux,经过72小时不间断测试

    4. **单播和组播的区别**:单播数据包仅发送到指定的单一接收者,而组播数据包被广播到所有订阅了特定组播组的成员。 5. **多播套接字选项**:使用`setsockopt()`设置组播相关的选项,如设置组播TTL(Time To Live...

    Qt-使用QUdpSocket实现UDP通信的单播、组播、广播

    下面我们将详细探讨如何使用QUdpSocket实现UDP通信的单播、组播和广播。 首先,让我们了解三种通信模式的区别: 1. 单播:这是最常见的通信方式,数据包被发送到特定的单个接收者。在QUdpSocket中,通过调用`...

    单播 多播 组播的广播区别

    单播(Unicast)、多播(Multicast)和广播(Broadcast)是网络节点之间通讯方式的术语。单播是指网络节点之间的一对一通信方式,信息的接收和传递只在两个节点之间进行。多播是指网络节点之间的一对多通信方式,...

    NodeJS Udp 广播和组播

    在Node.js环境中,UDP(User Datagram Protocol)广播和组播是两种有效的网络通信方式,尤其适用于需要高效、无连接的数据传输场景。UDP是一种无连接的传输层协议,它不保证数据包的顺序、可靠性和完整性,但具有低...

    单播、组播、广播和任播有什么区别?.pdf

    单播、组播、广播和任播是网络通信中常用的四种传输方式,它们在通信过程中所涉及的实体数量、地址分配、应用范围及传输效率上有着本质的不同。 首先来看单播。单播是指数据包从源主机到目标主机的点对点通信模式。...

    linuxudp单播组播广播实现归纳.pdf

    本文档对 Linux UDP 单播、组播、广播的实现进行了归纳,涵盖了组播和广播的概念、多播 IP 地址、多播编程等方面的知识点。 1. 组播和广播的概念 组播(Multicast)是一种网络通信方式,允许一个主机向多个主机...

    umeng友盟消息推送工具类-包括广播、单播、组播的工具实现

    本文将深入探讨“umeng友盟消息推送工具类”,特别是广播、单播和组播的实现,以及程序优化的相关知识点。 首先,我们来理解一下友盟消息推送的基本概念。友盟推送服务允许开发者向特定设备或用户群体发送消息,...

    易语言udp广播组播优化源码

    在这个特定的压缩包文件中,标题提及的是"易语言udp广播组播优化源码",这表明里面包含的是使用易语言编写的关于UDP协议的广播和组播功能的源代码。UDP(User Datagram Protocol)是传输层的一个无连接协议,常用于...

    UDP广播组播程序

    这个“UDP广播组播程序”可能是用于创建一个能够发送和接收UDP广播或多播数据的C#应用。 广播是指一个节点向网络中的所有其他节点发送数据,而多播则是将数据发送到一组特定的接收者,这些接收者是预先定义的多播组...

    UDP下的广播、组播(多播)-VC6

    标题"UDP下的广播、组播(多播)-VC6"指的是利用Microsoft Visual C++ 6.0(VC6)开发环境,通过C语言实现的SOCKET接口,来演示如何在UDP协议下进行广播和组播操作。这通常是为了解决单播(一对一通信)无法满足大量...

Global site tag (gtag.js) - Google Analytics