`
daodan988
  • 浏览: 31586 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
阅读更多
单播是:有具体目标地址的帧从源到达目标地址的过程。比如你对小月喊“小月”,那么只有小月答应你

多播(组播):就是帧送往定义在一组内的地址。比如你喊:“是男人都过来一人发一百块钱”。哪么男的都会过来女的就不会过来因为没有钱发她不会理你

广播:就是把帧发往所有能到达的地址。比如学校的广播中喊“今天放假”。哪么全校的同学都会响应,大叫爽死了。

什么是单播、多播和广播

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


——★单播★——

网络节点之间的通信就好像是人们之间的对话一样。如果一个人对另外一个人说话,那么用网络技术的术语来描述就是“单播”,此时信息的接收和传递只在两个节点之间进行,参见

单播:一对一

单播在网络中得到了广泛的应用,网络上绝大部分的数据都是以单播的形式传输的,只是一般网络用户不知道而已。例如,你在收发电子邮件、浏览网页时,必须与邮件服务器、Web服务器建立连接,此时使用的就是单播数据传输方式。但是通常使用“点对点通信”(PointtoPoint)代替“单播”,因为“单播”一般与“多播”和“广播”相对应使用。


——★多播★——

“多播”可以理解为一个人向多个人(但不是在场的所有人)说话,这样能够提高通话的效率。如果你要通知特定的某些人同一件事情,但是又不想让其他人知道,使用电话一个一个地通知就非常麻烦,而使用日常生活的大喇叭进行广播通知,就达不到只通知个别人的目的了,此时使用“多播”来实现就会非常方便快捷,但是现实生活中多播设备非常少。

广播和多播仅应用于UDP,它们对需将报文同时传往多个接收者的应用来说十分重要。TCP是一个面向连接的协议,它意味着分别运行于两主机(由IP地址确定)内的两进程(由端口号确定)间存在一条连接。
考虑包含多个主机的共享信道网络如以太网。每个以太网帧包含源主机和目的主机的以太网地址(48 bit)。通常每个以太网帧仅发往单个目的主机,目的地址指明单个接收接口,因而称为单播(unicast)。在这种方式下,任意两个主机的通信不会干扰网内其他主机(可能引起争夺共享信道的情况除外)。
然而,有时一个主机要向网上的所有其他主机发送帧,这就是广播。通过ARP和RARP可以看到这一过程。多播(multicast) 处于单播和广播之间:帧仅传送给属于多播组的多个主机。
为了弄清广播和多播,需要了解主机对由信道传送过来帧的过滤过程。

再整理一篇
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等方面还需要完善,这些缺点在理论上都有成熟的解决方案,只是需要逐步推广应用到现存网络当中。

分享到:
评论

相关推荐

    Linux网络编程—单播多播与广播的实现文档编码

    多播客户端和服务器的实现与广播类似,但需要使用`IP_ADD_MEMBERSHIP`套接字选项加入多播组,以及`IP_DROP_MEMBERSHIP`选项离开多播组。服务器会将消息发送到一个多播地址,而客户端则加入该多播组以接收消息。多播...

    单播、多播和广播的比较

    单播、多播和广播的比较 单播、多播和广播是网络节点之间通讯方式的三个基本术语,它们之间的区别何在?单播是网络节点之间的一对一的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。例如,在浏览...

    广播组播单播

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

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

    发送数据与单播类似,只是目标地址为广播地址。接收广播数据时,需要开启接收广播的能力。 3. UDP组播: 组播允许一个发送者向一组接收者发送数据,而无需知道每个接收者的具体地址。组播使用特定的IP地址范围(如...

    单播 多播 组播的广播区别

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

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

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

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

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

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

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

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

    与广播不同,组播允许只向感兴趣的接收者发送数据,从而节省网络带宽并减少不必要的数据传输。在IP网络中,组播使用特殊的IP地址范围(224.0.0.0至239.255.255.255),并且需要路由器支持多播路由协议,如IGMP...

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

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

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

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

    UDP通讯 WPF 广播 单播

    WPF+C#广播和单播示例 实现功能:添加聊天组 显示聊天组成员 多人聊天和单聊 界面简单,目的在于联系UDP通讯,对于图片的处理还未完成,Demo中的保存数据按钮目前没添加功能,欢迎大家一块研究

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

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

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

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

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

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

    UDP广播与多播简单实现

    使用`sendto()`函数将数据发送到目标地址,对于广播或多播,需要指定相应的广播或多播地址和端口。 5. **接收数据**: 使用`recvfrom()`函数接收来自广播或多播的数据。 在实际编程中,你可能需要处理一些额外的...

    java 单播、广播、组播详解及实例代码.docx

    组播,又称多播,结合了单播和广播的特点,允许一台主机向一组特定的主机发送数据。这在需要区分目标接收者但又希望提高效率的场景下非常有用,比如在线视频直播,服务器只需发送一次数据流,所有订阅的客户端都能...

Global site tag (gtag.js) - Google Analytics