什么是单播、多播和广播br

 什么是单播、多播和广播

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


  ——★单 播★——


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


  图1 单播:一对一

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


  ——★多 播★——


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


  图2 多播:一对多

  “多播”也可以称为“组播”,在网络技术的应用并不是很多,网上视频会议、网上视频点播特别适合采用多播方式。因为如果采用单播方式,逐个节点传输,有多少个目标节点,就会有多少次传送过程,这种方式显然效率极低,是不可取的;如果采用不区分目标、全部发送的广播方式,虽然一次可以传送完数据,但是显然达不到区分特定数据接收对象的目的。采用多播方式,既可以实现一次传送所有目标节点的数据,也可以达到只对特定对象传送数据的目的

  IP网络的多播一般通过多播IP地址来实现多播IP地址就是D类IP地址即224.0.0.0至239.255.255.255之间的IP地址。Windows 2000中的DHCP管理器支持多播IP地址的自动分配。


  ——★广 播★——


  “广播”可以理解为一个人通过广播喇叭对在场的全体说话,这样做的好处是通话效率高,信息一下子就可以传递到全体,如图3所示。

  “广播”在网络中的应用较多,如客户机通过DHCP自动获得IP地址的过程就是通过广播来实现的。但是同单播和多播相比,广播几乎占用了子网内网络的所有带宽。拿开会打一个比方吧,在会场上只能有一个人发言,想象一下如果所有的人同时都用麦克风发言,那会场上就会乱成一锅粥。

  在网络中不能长时间出现大量的广播包,否则就会出现所谓的“广播风暴”。广播风暴就是网络长时间被大量的广播数据包所占用,正常的点对点通信无法正常进行,外在表现为网络速度奇慢无比。出现广播风暴的原因有很多,一块有故障的网卡,就可能长时间向网络上发送广播包而导致广播风暴



  图3 广播:一对全体

  集线器由于其工作原理决定了不可能过滤广播风暴,一般的交换机也没有这一功能,不过现在有的网络交换机(如全向的QS系列交换机)也有过滤广播风暴功能了,路由器本身就有隔离广播风暴的作用。

  广播风暴不能完全杜绝,但是只能在同一子网内传播,就好像喇叭的声音只能在同一会场内传播一样,因此在由几百台甚至上千台电脑构成的大中型局域网中,一般进行子网划分,就像将一个大厅用墙壁隔离成许多小厅一样,以达到隔离广播风暴的目的。

  在IP网络中,广播地址用IP地址“255.255.255.255”来表示,这个IP地址代表同一子网内所有的IP地址。

  单播、多播和广播是网络技术的基础性知识,对网络技术感兴趣的读者一定要搞懂哟!

 

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

 

        二层交换机是数据链路层的设备,它能够读取数据包中的MAC地址信息并根据MAC地址来进行交换。交换机内部有一个地址表,这个地址表标明了MAC地址和交换机端口的对应关系.二层交换机对广播包是不做限制的,把广播包复制到所有端口上

     广播分二层广播三层广播二层广播是FFFF.FFFF.FFFF(MAC地址),二层交换机遇到这种包就会泛洪到所有同VLAN的端口,不会过滤掉,因为如果二层交换机过滤这种包,arp广播怎么正常工作呢?没有arp,同网段的PC如何通信呢?路由器可以过滤二层广播是因为路由器是三层设备,如果路由器不过滤这种包,任何人发起的二层广播包就会到达Internet的整个范围,这样还要路由器做什么呢?路由器就是为了划分广播域用的阿。

     对于三层广播还有本地广播255.255.255.255特定子网广播比如192.168.1.255/24之分,255.255.255.255这种本地广播是肯定没发跨越路由器的,因为一旦这种广播能跨越路由器的话,同样任何人发起的这种广播就会跑到Internet的任何角落。然而对于特定子网的广播是可以配置为允许跨路由器或者不允许跨路由器的,如果允许的话,我就可以跨越路由器对特定的子网发起三层广播。通常不要允许这类广播,因为你一旦允许了很容易造成icmp sumrf攻击的。

   交换机或是路由器的复制功能猜想是:首先接收到数据,进行处理,再进行相应接口的转发,(存储一份转发多份即为复制)

 

三层交换机接收到数据的处理流程:

 

  使用IP的设备A------------------------三层交换机------------------------使用IP的设备B

  比如A要给B发送数据,已知目的IP,那么A就用子网掩码取得网络地址,判断目的IP是否与自己在同一网段。

  如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个ARP请求,B返回其MAC地址,A用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。

  如果目的IP地址显示不是同一网段的,那么A要实现和B的通讯,在流缓存条目中没有对应MAC地址条目,就将第一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,对应第三层路由模块,所以可见对于不是同一子网的数据,最先在MAC表中放的是缺省网关的MAC地址;然后就由三层模块接收到此数据包,查询路由表以确定到达B的路由,将构造一个新的帧头,其中以缺省网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与B的MAC地址及转发端口的对应关系,并记录进流缓存条目表,以后的A到B的数据,就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。

   表面上看,第三层交换机是第二层交换器与路由器的合二而一,然而这种结合并非简单的物理结合,而是各取所长的逻辑结合。其重要表现是,当某一信息源的第一个数据流进行第三层交换后,其中的路由系统将会产生一个MAC地址与IP地址的映射表,并将该表存储起来,当同一信息源的后续数据流再次进入交换环境时,交换机将根据第一次产生并保存的地址映射表,直接从第二层由源地址传输到目的地址,不再经过第三路由系统处理,从而消除了路由选择时造成的网络延迟,提高了数据包的转发效率,解决了网间传输信息时路由产生的速率瓶颈。所以说,第三层交换机既可完成第二层交换机的端口交换功能,又可完成部分路由器的路由功能。即第三层交换机的交换机方案,实际上是一个能够支持多层次动态集成的解决方案,虽然这种多层次动态集成功能在某些程度上也能由传统路由器和第二层交换机搭载完成,但这种搭载方案与采用三层交换机相比,不仅需要更多的设备配置、占用更大的空间、设计更多的布线和花费更高的成本,而且数据传输性能也要差得多,因为在海量数据传输中,搭载方案中的路由器无法克服路由传输速率瓶颈。

 

       机开机组播接收程序时,会向TCP/IP协议注册一个组播IP地址,所以当收到目的IP地址是这个组播组的地址时,主机就会接收。  同时它又向工作在数据链路层的网卡也注册了一个二层MAC地址,这样的话,当主机接收到一个组播报文的时候,就可以
 直接现在网卡上判断是否是自己所需要的组播报文。
 IGMP:Internet组管理协议,用于主机与路由器之间交互信息的一种协议。所有要加入组播组的主机和所有连接到有组播主机的子网中 的路由器必须使用IGMP。IGMP消息不能被路由转发,只能限制在本地网段内部。IGMP的TTL参数永远是1,保证了IGMP的使用
 范围。
      组播路由协议的主要功能是将组播数据从一台路由器跨越一个网络传送到另外一台路由器上
 组播路由协议分为域内组播路由协议域间组播路由协议
      http://wenku.baidu.com/view/b30740553c1ec5da50e27015.html

 

 

组播的转发技术:
单播里面,数据转发的依据是数据包的目的地址,这个目的地址明确表示了一个主机的位置,但是组播数据包并不是基于ip数据包的目的地址的,它没有唯一性,因此它需要采用一种叫RTF(Reverse Path Forwarding逆向路径转发)的方式来转发数据包,它是针对转发的时候做检查,这个检查会决定是否转发还是丢弃输入的信息包,那么它的检查过程是什么样的呢?
首先要了解的是,RPF跟单播协议密切相关,所谓的逆向路径转发是基于察看有关组播源在什么地方,组播源是一个IP的单播地址,因此呢,路由器检查到达的数据包的源地址,然后查看路由表,看这个源地址可以通过哪个接口可达,如果信息包是在可返回原站点的接口上到达,那就说明这个组播数据流是从正确的方向过来的,则RPF检查成功,信息包被转发,但如果说这个数据包的原地址不是从这个接口到达的,那就说明这个组播数据包不是从最佳路经过来的,应该丢弃该数据包。
因为RPF是要结合单播路由表的,因此在构件组播之前应该事先完成有关IP单播路由表的实现。

无组播功能交换机转发组播数据包:
对一些网桥,一些二层设备,他没办法实现路由,也没办法实现RPF,对于一个不能识别组播数据流的二层交换机来说,它收到一个组播数据包会按照广播数据包得处理方法处理。

二层交换机的组播功能实现:
因为无组播功能的交换机在转发组播数据包的时候是跟广播一样,这样就达不到组播的目的了。因此,现在很多二层交换机增加了组播功能,增加了组播功能后就可以识别组播流,并且可以针对组播流来建立有关组播地址和端口的映射。
能识别组播的交换机在它的转发表里面,都会增加一项MAC地址是组播地址,然后端口包含以希望接收组播数据的主机所相连的所有端口。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254239.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Oracle Database】数据库控制文件管理

移动控制文件 [oraclewallet01 ~]$ sqlplus / as sysdba SQL> set line 200 SQL> col name for a60 SQL> select status,name from v$controlfile;STATUS NAME ------- ------------------------------------------------------------/u01/app/oracle/oradata/wallet…

ADO接口简介

源地址:http://blog.csdn.net/xiaobai1593/article/details/7449151 参考: 1. 百度文库:http://wenku.baidu.com/view/8e2e99ecf8c75fbfc77db230.html 2. CSDN:http://blog.csdn.net/augusdi/article/details/7005597 接口概述&am…

jquery模拟可输入的下拉框

//页面html <div id"select" class"select" ><ul><c:forEach items"${movieCityList}" var"cy" varStatus"st"><li><a href"javascript:void(0)" onclick"selectOption($(this))…

圆环同心度测量halcon

文章目录处理要求处理源码处理结果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 测量圆环同心度 处理源码 read_image (Image, C:/Users/22967/Desktop/图像Barrel 20201024/201024 手机行业 摄像头检测/Barrel 背光/Pic_2020_…

IP组播与组播协议

IP组播与组播协议 2008-4-27来源:不详 作者:佚名 点击&#xff1a;次在Internet上&#xff0c;多媒体业务诸如&#xff1a;流媒体&#xff0c;视频会议和视频点播等&#xff0c;正在成为信息传送的重要组成部分。点对点传输的单播方式不能适应这一类业务传输特性--单点发送多点…

Spring Cloud的应用程序—上下文服务

2019独角兽企业重金招聘Python工程师标准>>> Spring Boot对于如何使用Spring构建应用程序有一个看法&#xff1a;例如它具有常规配置文件的常规位置&#xff0c;以及用于常见管理和监视任务的端点。Spring Cloud建立在此之上&#xff0c;并添加了一些可能系统中所有…

Xtreme8.0 - Kabloom dp

Xtreme8.0 - Kabloom题目连接&#xff1a; https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/kabloom Description The card game Kabloom is played with multiple decks of playing cards. Players are dealt 2 n cards, face up and arranged in two …

视频编码中封装格式RMVB,AVI,264

常规理解 封装格式&#xff08;也叫容器&#xff09;&#xff0c;就是将已经编码压缩好的视频轨和音频轨按照一定的格式放到一个文件中&#xff0c;也就是说仅仅是一个外壳&#xff0c;或者大家把它当成一个放视频轨和音频轨的文件夹也可以。说得通俗点&#xff0c;视频轨相当…

halcon圆环完整度检测

文章目录处理要求程序源码处理结果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 查找好的圆环&#xff0c;检测圆环不良 程序源码 read_image (Image, F:/HALCON/圆环完整性检测/6.bmp) rgb1_to_gray (Image, GrayImage) v…

《SAS编程与数据挖掘商业案例》学习笔记之十五

继续《SAS编程与数据挖掘商业案例》读书笔记&#xff0c;本次重点&#xff1a;输出控制 主要内容包含&#xff1a;log窗体输出控制、output窗体输出控制、ods输出控制 1.log窗体输出控制 将日志输出到外部文件 proc printto log "f:\data_model\book_data\chapt9\newlog.t…

[转载]MATLAB movie 函数动态绘图

原文地址&#xff1a;MATLAB movie 函数动态绘图作者&#xff1a;小霖cheeronMATLAB movie 函数动态绘图 电影动画的好处就是&#xff0c;运行一次可以多次播放&#xff0c;甚至可以直接生成avi文件&#xff0c;直接独立与Matlab环境播放。这是其它三种动画制作方法所不具备的。…

圆环划痕检测halcon

文章目录处理要求处理源码处理效果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 查找圆环缺陷 处理源码 read_image (Image, F:/HALCON/圆环划痕处理/10_33221_ba4582f0e88ec79.bmp) rgb3_to_gray (Image, Image, Image, Image…

多播(组播)原理分析

为什么要使用多播:网 卡从网络上接收到目标物理地址对应的所有bit位都为1的数据报时&#xff0c;会收到这条消息并将其上传给驱动程序&#xff0c;网卡的这种工作模式称为广播模式&#xff0c;网卡的缺省工作模式包含直接模式和广播模式。利用这一特性&#xff0c;UDP&#xff…

iftop

在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量&#xff0c;监控TCP/IP连接等&#xff0c;则可以使用iftop。一、iftop是什么&#xff1f;iftop是类似于top的实时流量监控工具。官方网站&…

sql 日记

--4.选择雇用时间在1998-02-01到1998-05-01之间的员工姓名&#xff0c;job_id和雇用时间select last_name,job_id,hire_datefrom employeeswhere to_char(hire_date,yyyy-mm-dd) between 1998-02-01 and 1998-05-01 --5.选择在20或50号部门工作的员工姓名和部门号select last_n…

CSS3中的变形处理

变形分类 缩放 使用scale方法来实现文字或图像的缩放&#xff0c;在参数中指定缩放倍率。例如“scale&#xff08;0.5&#xff09;”&#xff0c;表示缩小50 倾斜 使用skew方法来实现文字或图像的缩放&#xff0c;在参数中指定水平方向的倾斜角度与垂直方向的倾斜角度&#xf…

linux基本知识学习

LINUX黑洞 /dev/null 这是一个虚设的设备&#xff0c;俗称“LINUX 黑洞”&#xff0c;任何对/dev/null的写入都会成功&#xff0c; 但是数据会消失得无影无踪&#xff0c;没有任何反馈。所以经常把不想在屏幕 显示的信息全部送到/dev/null&#xff0c;在shell脚本中用得较多。 …

日志OLAP:在SQL中使用UDF, lambda函数使用案例

场景 日志服务内置了20类SQL函数。面对用户复杂的业务场景&#xff0c;例如使用json来沉淀业务数据&#xff0c;普通的SQL函数可能就无法满足需求&#xff0c;需要一些用户自定义处理逻辑。为了处理json类的业务数据&#xff0c;我们可以采用把json展开成多行的形式进行统计分析…

瓶子个数计数halcon

文章目录处理要求处理方法一源码效果方法二源码效果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 处理要求 查找纸箱内瓶子个数 处理方法一 源码 dev_clear_window () dev_open_window (0, 0, 640*1.5, 512*1.5, black, WindowHandle…

lightoj1060_组合数学

http://lightoj.com/volume_showproblem.php?problem1060 有一些用尼康托展开http://blog.csdn.net/niushuai666/article/details/6611131&#xff0c;简单的尼康托&#xff0c;每个字母多个数的还不会 组合数学解看起来比较简单 给定一个字符串和k&#xff0c;求字符串第k大字…