组播单播广播.docx
《组播单播广播.docx》由会员分享,可在线阅读,更多相关《组播单播广播.docx(6页珍藏版)》请在冰豆网上搜索。
组播单播广播
组播、单播、广播
组播、单播、广播
单播:
主机之间“一对一”的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。
单播的优点:
1.服务器及时响应客户机的请求
2.服务器针对每个客户不同请求发送不同数据,容易实现个性化服务。
单播的缺点:
1.在客户数量大、每个客户机流量大的流媒体应用中服务器不堪重负。
2.现有的网络带宽是金字塔结构,如果全部使用单播协议,将造成网络主干不堪重负。
广播:
主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。
广播的优点:
1.网络设备简单,维护简单,布网成本低廉
2.服务器不用向每个客户机单独发送数据,所以服务器流量负载极低。
广播的缺点:
1.无法针对每个客户的要求和时间及时提供个性化服务。
2.网络允许服务器提供数据的带宽有限,客户端的最大带宽=服务总带宽。
也就是说无法向众多客户提供更多样化、更加个性化的服务。
3.广播禁止在Internet宽带网上传输。
组播:
主机之间“一对一组”的通讯模式,也就是加入了同一个组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。
组播的优点:
1.需要相同数据流的客户端加入相同的组共享一条数据流,节省了服务器的负载。
具备广播所具备的优点。
2.由于组播协议是根据接受者的需要对数据流进行复制转发,所以服务端的服务总带宽不受客户接入端带宽的限制。
所以其提供的服务可以非常丰富。
3.此协议和单播协议一样允许在Internet宽带网上传输。
组播的缺点:
1.与单播协议相比没有纠错机制,发生丢包错包后难以弥补,但可以通过一定的容错机制和QOS加以弥补。
2.现行网络虽然都支持组播的传输,但在客户认证、QOS等方面还需要完善,这些缺点在理论上都有成熟的解决方案,只是需要逐步推广应用到现存网络当中。
组播,multicast
一、IP网络数据传输方式
组播技术是IP网络数据传输三种方式之一,在介绍IP组播技术之前,先对IP网络数据传输的单播、组播和广播方式做一个简单的介绍:
单播(Unicast)传输:
在发送者和每一接收者之间实现点对点网络连接。
如果一台发送者同时给多个的接收者传输相同的数据,也必须相应的复制多份的相同数据包。
如果有大量主机希望获得数据包的同一份拷贝时,将导致发送者负担沉重、延迟长、网络拥塞;为保证一定的服务质量需增加硬件和带宽。
IGMPSnooping、CGMP等二层组播协议。
IGMP建立并且维护路由器直联网段的组成员关系信息。
域内组播路由协议根据IGMP维护的这些组播组成员关系信息,运用一定的组播路由算法构造组播分发树进行组播数据包转发。
域间组播路由协议在各自治域间发布具有组播能力的路由信息以及组播源信息,以使组播数据在域间进行转发。
2、组播IP地址
组播IP地址用于标识一个IP组播组。
IANA把D类地址空间分配给IP组播,其范围是从224.0.0.0到239.255.255.255。
如下图所示(二进制表示),IP组播地址前四位均为1110。
八位组
(1)八位组
(2)八位组(3)八位组(4)
1110XXXXXXXXXXXXXXXXXXXXXXXXXXXX
3、组成员关系协议(IGMP)
IGMP协议运行于主机和与主机直接相连的组播路由器之间,主机通过此协议告诉本地路由器希望加入并接受某个特定组播组的信息,同时路由器通过此协议周期性地查询局域网内某个已知组的成员是否处于活动状态(即该网段是否仍有属于某个组播组的成员),实现所连网络组成员关系的收集与维护。
IGMP有三个版本,IGMPv1由RFC1112定义,目前通用的是IGMPv2,由RFC2236定义。
IGMPv3目前仍然是一个草案。
IGMPv1中定义了基本的组成员查询和报告过程,IGMPv2在此基础上添加了组成员快速离开的机制,IGMPv3中增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文。
这里着重介绍IGMPv2协议的功能。
IGMPv2通过查询器选举机制为所连网段选举唯一的查询器。
查询器周期性的发送普遍组查询消息进行成员关系查询;主机发送报告消息来应答查询。
当要加入组播组时,主机不必等待查询消息,主动发送报告消息。
当要离开组播组时,主机发送离开组消息;收到离开组消息后,查询器发送特定组查询消息来确定是否所有组成员都已离开。
通过上述IGMP机制,在组播路由器里建立起一张表,其中包含路由器的各个端口以及在端口所对应的子网上都有哪些组的成员。
当路由器接收到某个组G的数据报文后,只向那些有G的成员的端口上转发数据报文。
至于数据报文在路由器之间如何转发则由路由协议决定,IGMP协议并不负责。
4、网络二层组播相关协议
网络二层组播相关协议包括IGMPSnooping,IGMPProxy和CGMP协议。
IGMPSnooping的实现机理是:
交换机通过侦听主机发向路由器的IGMP成员报告消息的方式,形成组成员和交换机接口的对应关系;交换机根据该对应关系将收到组播数据包只转给具有组成员的接口。
IGMPProxy与IGMPSnooping实现功能相同但机理相异:
IGMPsnooping只是通过侦听IGMP的消息来获取有关信息,而IGMPProxy则拦截了终端用户的IGMP请求并进行相关处理后,再将它转发给上层路由器。
CGMP(CiscoGroupManagementProtocol)是Cisco基于客户机/服务器模型开发的私有协议,在CGMP的支持下,组播路由器能够根据接收到的IGMP数据包通知交换机哪些主机何时加入和脱离组播组,交换机利用由这些信息所构建的转发表来确定将组播数据包向哪些接口转发。
GMRP是主机到以太网交换机的标准协议,它使组播用户可以在第二层交换机上对组播成员进行注册。
5、组播路由协议(PIM-SM)
众多的组播路由协议中,目前应用最多的协议是PIM-SM稀疏模式协议无关组播。
在PIM-SM域中,运行PIM-SM协议的路由器周期性的发送Hello消息,用以发现邻接的PIM路由器,并且负责在多路访问网络中进行指定路由器(DR)的选举。
这里,DR负责为其直连组成员朝着组播分发树根节点的方向发送"加入/剪枝"消息,或是将直连组播源的数据发向组播分发树。
编址
A类0.0.0.0-127.255.255.255
B类128.0.0.0-191.255.255.255
C类192.0.0.0-223.255.255.255
D类224.0.0.0-239.255.255.255
A,B,C类ip包转发基于目的ip地址。
D类(组播地址)包转发基于源地址。
组播地址的分类:
保留——224.0.0.0-224.0.0.255
用户组播地址——224.0.1.0-238.255.255.255
本地管理组——239.0.0.0-239.255.255.255(用于私人组播领域,类似私有IP地址)
RPF:
amulticastpacketreceivedonaninterfacewillbeacceptedifreceivedontheinterfacethatwouldbeusedtosendaunicastippacketbacktothesource;thisiscalledreversepathforwarding(RPF).
逆向路径转发:
设备在接口上收到组播报文后,如果去往组播源的单播路由也是从该接口学到的,则转发组播数据,否则丢弃。