您的位置:首页 > 其它

关于单播、组播、广播区分

2012-10-14 23:24 525 查看

       相信很多人对此有疑问,顺便网上整理了一下,希望对大家有所帮助。

       

一、单播、多播和广播是基于TCP/IP协议进行网络编程的常用方式。

 

二、单播也即点对点,一般使用TCP进行连接和进行数据的传输,优点是传输稳定,数据不会丢失,除非连接中断,由于TCP连接中断时对连接的双方没有主动的断开事件,所以在编程的时候往往采用心跳的方式来检测连接是否中断,即每隔一定的间隔时间发送一个心跳信号,如果在规定的时间内得不到回应,就可以判定此连接中断。当然还有一个方式可以发现连接中断,也就是在发送数据的时候会产生错误,其实两种方式使用的是同一个原理,即发送数据失败。对于同步的socket在发送数据的时候会产生10054的错误,而对于异步的socket由于发送是异步的,如果中间连接中断,会产生10053的错误事件,即表示对方socket已关闭,而自己缓冲区数据未发送成功。

 

三、多播也称组播。采用D类IP地址即224.0.0.0~239.255.255.255之间的IP地址.优点是可以一次传送完数据,而且可以区分特定的数据接收对象即可以只对特定对象传送数据。网上视频会议、视频点播特别适合采用多播方式。因为如果采用单播,需要逐个节点传输,效率极低,不可取。而如果采用广播,虽然可以一次传送完数据,但不能区分数据接收对象,也不可取。接收组播的对象需要向局域网的交换设备申请,局域网的交换机才给向你的网卡发送组播数据,如果不申请,是不会给你发送组播数据的。你可以使用wireshark或其他snifer程序来抓包检测你申请了哪些组播,在windows编程中可以使用WSAJoinLeaf来申请组播。所以组播需要有支持组播的交换机设备支持,如果交换设备不支持,组播将会变成广播,所有的局域网卡都能收到数据。

 

四、广播。广播是向本局域网内的所有计算机发送数据,所有的计算机都可以接收到数据并进行处理。DHCP以及ARP协议均是采用广播的方式实现,广播地址是使用四字节全为255的地址为目的地址。但是广播容易造成广播风暴,因为广播几乎占用了子网的所有带宽。集线器即hub由于其原理决定了它不可能过滤广播风暴,一般的交换机也没有这一功能。但现在有的网络交换机具有过滤广播风暴的功能。使用路由器可以过滤广播风暴,因为广播只能在同一子网内传播。

      详细细节:

1.单播:
    主机之间一对一的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。如果10个客户机需要相同的数据,则服务器需要逐一传送,重复10次相同的工作。但由于其能够针对每个客户的及时响应,所以现在的网页浏览全部都是采用单播模式,具体的说就是IP单播协议。网络中的路由器和交换机根据其目标地址选择传输路径,将IP单播数据传送到其指定的目的地。
    单播的优点:
    1)服务器及时响应客户机的请求
    2)服务器针对每个客户不通的请求发送不通的数据,容易实现个性化服务。
          
    单播的缺点:
    1)服务器针对每个客户机发送数据流,服务器流量=客户机数量×客户机流量;在客户数量大、每个客户机流量大的流媒体应用中服务器不堪重负。
    2)现有的网络带宽是金字塔结构,城际省际主干带宽仅仅相当于其所有用户带宽之和的5%。如果全部使用单播协议,将造成网络主干不堪重负。现在的P2P应用就已经使主干经常阻塞。而将主干扩展20倍几乎是不可能。

2.广播:
    主机之间一对所有的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。在数据网络中也允许广播的存在,但其被限制在二层交换机的局域网范围内,禁止广播数据穿过路由器,防止广播数据影响大面积的主机。
    广播的优点:
    1)网络设备简单,维护简单,布网成本低廉
    2)由于服务器不用向每个客户机单独发送数据,所以服务器流量负载极低。
          
    广播的缺点:
    1)无法针对每个客户的要求和时间及时提供个性化服务。
    2)网络允许服务器提供数据的带宽有限,客户端的最大带宽=服务总带宽。例如有线电视的客户端的线路支持100个频道(如果采用数字压缩技术,理论上可以提供500个频道),即使服务商有更大的财力配置更多的发送设备、改成光纤主干,也无法超过此极限。也就是说无法向众多客户提供更多样化、更加个性化的服务。
    3)广播禁止允许在Internet宽带网上传输。

    3.组播:
    主机之间一对一组的通讯模式,也就是加入了同一个组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些加入组的主机。这样既能一次将数据传输给多个有需要(加入组)的主机,又能保证不影响其他不需要(未加入组)的主机的其他通讯。
    组播的优点:
    1)需要相同数据流的客户端加入相同的组共享一条数据流,节省了服务器的负载。具备广播所具备的优点。
    2)由于组播协议是根据接受者的需要对数据流进行复制转发,所以服务端的服务总带宽不受客户接入端带宽的限制。IP协议允许有2亿6千多万个组播,所以其提供的服务可以非常丰富。 
    3)此协议和单播协议一样允许在Internet宽带网上传输。
  
    组播的缺点:
    1)与单播协议相比没有纠错机制,发生丢包错包后难以弥补,但可以通过一定的容错机制和QOS加以弥补。
    2)现行网络虽然都支持组播的传输,但在客户认证、QOS等方面还需要完善,这些缺点在理论上都有成熟的解决方案,只是需要逐步推广应用到现存网络当中。

转发请注明出处:http://www.cnblogs.com/Su-30MKK/archive/2012/09/23/2698591.html

   

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: