单播,广播和多播
一.引言
1.有三种IP地址:单播地址,广播地址和多播地址。
2.广播和多播仅应用于UDP;TCP是一个面向连接的协议,它意味着分别运行于两主机(由IP地址确定)内的两进程(由端口号确定)间存在一条连接.
3.网络中的一条报文是如何传送到主机中的某一个进程的
1>主机网卡仅接收那些目的地址为网卡物理地址或广播地址的报文。(目前大多数的网卡经过配置都能接收目的地址为多播地址或某些子网多播地址的报文)。
2>网卡接收到报文后交付给IP层,IP层通过判断目的IP是否是本地IP地址或多播地址;如果是,则接收,否则丢弃。
3>IP层把接收到的报文传给传输层,传输层通过端口号把报文传给应用层的某一个进程。
二.单播,多播,广播
1.单播:主机之间“一对一”的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。如果10个客户机需要相同的数据,则服务器需要逐一传送,重复10次相同的工作。但由于其能够针对每个客户的及时响应,所以现在的网页浏览全部都是采用IP单播协议。网络中的路由器和交换机根据其目标地址选择传输路径,将IP单播数据传送到其指定的目的地。
1>单播的优点:
Ø 服务器及时响应客户机的请求
Ø 服务器针对每个客户不通的请求发送不通的数据,容易实现个性化服务
2>单播的缺点:
Ø 服务器针对每个客户机发送数据流,服务器流量=客户机数量×客户机流量;在客户数量大、每个客户机流量大的流媒体应用中服务器不堪重负。
Ø 现有的网络带宽是金字塔结构,城际省际主干带宽仅仅相当于其所有用户带宽之和的5%。如果全部使用单播协议,将造成网络主干不堪重负。现在的P2P应用就已经使主干经常阻塞,只要有5%的客户在全速使用网络,其他人就不要玩了。而将主干扩展20倍几乎是不可能。
2.广播:有时一个主机要向网上的所有其他主机发送帧,这就是广播。(常见的ARP协议就是利用的广播)。多播的目的物理MAC地址是:0xff,0xff,0xff,0xff,0xff,0xff.
1>广播的优点:
Ø 网络设备简单,维护简单,布网成本低廉
Ø 由于服务器不用向每个客户机单独发送数据,所以服务器流量负载极低。
2>广播的缺点:
Ø 无法针对每个客户的要求和时间及时提供个性化服务。
Ø 网络允许服务器提供数据的带宽有限,客户端的最大带宽=服务总带宽。例如有线电视的客户端的线路支持100个频道(如果采用数字压缩技术,理论上可以提供500个频道),即使服务商有更大的财力配置更多的发送设备、改成光纤主干,也无法超过此极限。也就是说无法向众多客户提供更多样化、更加个性化的服务。
Ø 广播禁止在Internet宽带网上传输(防止引起广播风暴)
4.多播(组播)(multicast)处于单播和广播之间:帧仅传送给属于多播组的多个主机。
1>主机之间“一对一组”的通讯模式,也就是加入了同一个组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些加入组的主机。这样既能一次将数据传输给多个有需要(加入组)的主机,又能保证不影响其他不需要(未加入组)的主机的其他通讯
2>组播的优点:
Ø 需要相同数据流的客户端加入相同的组共享一条数据流,节省了服务器的负载。具备广播所具备的优点。
Ø 由于组播协议是根据接受者的需要对数据流进行复制转发,所以服务端的服务总带宽不受客户接入端带宽的限制。IP协议允许有2亿6千多万个(268435456)组播,所以其提供的服务可以非常丰富。
Ø 此协议和单播协议一样允许在Internet宽带网上传输。
3>组播的缺点:
Ø 与单播协议相比没有纠错机制,发生丢包错包后难以弥补,但可以通过一定的容错机制和QOS加以弥补。
Ø 现行网络虽然都支持组播的传输,但在客户认证、QOS等方面还需要完善,这些缺点在理论上都有成熟的解决方案,只是需要逐步推广应用到现存网络当中。
分享到:
相关推荐
网络基本知识,单播、多播和广播的比较
单播、广播、组播介绍单播、广播、组播介绍单播、广播、组播介绍单播、广播、组播介绍
windows下使用UDP的简单实例,包括单播、广播和多播的实例代码,使用VS2010编写
实现单播组播广播功能
整理的用Qt实现的三种Udp方式:单播、组播(多播)和广播源代码,可以很好的看出三种方式的发送接收的区别,简单直接一看就懂得干货。
本软件实现了两台甚至多台电脑之间使用UDP通信的功能,包括单播,广播,组播的功能实现,三种发送方式的切换在代码中已标明。 默认状态为本机发送,本机接受,也就是接收端的ip地址设置为127.0.0.1,用户可根据实际...
单播、组播、广播和任播有什么区别?
详细地介绍单播 多播 组播的广播区别,适用于初学者。
WPF+C#广播和单播示例 实现功能:添加聊天组 显示聊天组成员 多人聊天和单聊 界面简单,目的在于联系UDP通讯,对于图片的处理还未完成,Demo中的保存数据按钮目前没添加功能,欢迎大家一块研究
单播、组播、广播和任播有什么区别
Qt网络编程之搭建Udp通信【单播、组播、广播】 内有三种详细的方式对应的代码。还有详细的注释。如果有什么不懂得可以私聊我。 切记路径不能有中文。
Linux网络编程—单播多播与广播的实现文档编码
主要对单播,多播,以及广播技术做了讲解,讲解很细,可以让你基本掌握有关此的相关内容
udp网络通信例子源代码(单播、组播、广播)
linuxudp单播组播广播实现归纳.pdf
使用QUdpSocket实现UDP通信的单播、组播、广播
MFC实现的播和广播的例子……主要是udp发送和接收组播和广播包……
TCP IP协议中的广播和多播章节,主要介绍广播和多播报文
UDP是轻量的、不可靠的、面向数据报、无连接的协议,它可以用于对可靠性要求不高的场合,和TCP通信不同,两个程序之间进行UDP通信无需...UDP单播 、组播、广播,使用Qt实现,工程文件包,下载解压缩直接导入工程即可
网上很多例子都搞的复杂的不行,想移植过来发现左调用一个右调用一个,完全无法移植,麻烦的要死。 这个我自己写的,要移植的话一小段代码往你自己工程里一复制,就齐了。