1. 什么是组播?组播、单播、广播的区别
- 单播是主机间一对一的通讯模式,网络中的设备根据网络报文中包含的目的地址选择传输路径,将单播报文传送到指定的目的地,只对接收到的数据进行转发,不会进行复制。它能够针对每台主机及时的响应,现在的网页浏览全部都是采用单播模式。
- 广播是主机间一对所有的通讯模式,设备会将报文发送到网络中的所有可能接收者。设备简单地将它收到的任何广播报文都复制并转发到除该报文到达的接口外的每个接口。广播处理流程简单,不用选择路径。
- 组播是主机间一对多的通讯模式, 组播是一种允许一个或多个组播源发送同一报文到多个接收者的技术。组播源将一份报文发送到特定的组播地址,组播地址不同于单播地址,它并不属于特定某个主机,而是属于一组主机。一个组播地址表示一个群组,需要接收组播报文的接收者都加入这个群组。
2. 单播、组播流量在网络中传输过程有什么区别?
- 采用单播传输方式时,要确保有流量需求的用户都能收到流量,则数据源需要发送与需求用户数量相同的流量数
- 采用广播传输方式时,数据源只需发送一份流量,该网段中的所有设备都会收到流量,因此会存在流量的冗余
- 采用组播传输方式时,数据源只需发送一份流量,只有有需求的用户会收到流量
3. 网络中部署组播,是否必须先部署单播?能否只部署组播,不部署单播?为什么?
单播组网:
- 全网设备相连的接口都需要配置单播IP地址
- 全网要部署单播路由协议,确保数据源和需求用户之间路由互通
数据流发送时,对不同用户发送的流量IP报文头封装的目的地址不同,分别为各个用户的IP地址
组播组网:
- 全网设备相连的接口都需要配置单播IP地址
- 全网要部署单播路由协议,确保数据源和需求用户之间路由互通
- 全网部署组播PIM协议(PIM-SM或者PIM-DM),并配置相应的BSR和RP
- 需求用户必须发送IGMP组加入报文,组加入报文中包含其需要加入的组IP地址
数据源发送数据流,该数据流二层目的MAC地址是组播的MAC地址,IP报文的目的地址为225.1.1.1。
组播实现机制总体来说就是接收者告诉一个中心节点(在组播协议里面称为RP),它需要哪些组地址的流量;RP需要被告之数据源(在组播场景中我们称之为组播源,它的特点是流量二层头中目的MAC地址是组播MAC地址,IP报层IP报文头目的地址是组播IP地址)在哪,数据源往哪些组地址发流。RP知道了接收方和发送方的所有信息后,就会根据需要把流量发送到特定位置(它发送的过程中建立了组播分发树)。
网络中部署组播,必须先部署单播,因为在组播部署的时候,源注册过程组播源必须知道RP的路由,才能发送过去,源注册报文是单播报文。另外组播分发树建立的过程中,是需要查到组播源(或者RP)的路由的,在组播中我们称为RPF检查,这个也需要单播路由的支持
4. 什么是组播源?
信息的发送者称为“组播源”
5. 什么是组播组?
接收相同信息的多个接收者构成一个“组播组”,“组播组”没有地域的限制。
一个组播组就是一个IP地址,不表示具体的主机,而是表示一系列系统的集合,主机加入某个组播组 即声明自己接收某个IP地址的报文。组播IP地址不会在网络上实际存在。
6. 组播地址范围?指定源的组播组范围?预留给协议使用的组播地址范围?
组播源IP地址:A、B、C类地址
组播目标IP地址:D类地址 224.0.0.0 –239.255.255.255
为网络协议预留的地址段有:224.0.0.0-224.0.0.255
全局范围地址:224.0.1.0-238.255.255.255
指定信源组播地址:232.0.0.0~232.255.255.255
GLOP地址:233.0.0.0~233.255.255.255
有限范围地址:239.0.0.0-239.255.255.255
常用组播地址
224.0.0.1 – 组播网络中的所有节点
224.0.0.2 – 所有路由器
224.0.0.13 – 所有运行PIMv2的路由器
224.0.0.5, 224.0.0.6, 224.0.0.9, 224.0.0.10 单播路由协议
224.0.0.25 表示所有的交换机
224.0.1.40 auto-rp
7. 组播源IP是单播IP or 组播IP?
组播源IP地址是单播IP
8. 组播报文的目的IP是单播IP or 组播IP?
组播报文的目的IP是组播IP
9. 什么是RPF?组播表项的入接口作用?
RPF检测
- 路由器收到一份组播报文后,会根据报文的源地址通过单播路由表查找到达“报文源”的路由,查看到“报文源”的路由表项的出接口是否与收到组播报文的入接口一致。如果一致,则认为该组播报文从正确的接口到达,从而保证了整个转发路径的正确性和唯一性。这个过程就被称为RPF检查。
组播路由表项由入接口和出接口组成
在入接口上,路由器会运行RPF(反向路径转发)检查来防止环路,根据上一次的源地址和自身单播路由表中目的为组播源的路由下一跳对比,如果下一跳和组播数据源上一跳相同,则RPF检查成功,失败则删除这条路径(入接口)。
10. 组播表项的出接口作用?如果有多个出接口,组播报文如何发送?是每个接口发送一份相同的报文,还是选择其中一个接口发送?
在出口方向上,IGMP协议运行在路由器和PC中间,用来发现接口上是否存在组播组成员,如果存在就转发组播数据。当路由器收到发往组G的组播数据后,只向那些有G的成员的接口转发该数据
11. 接收者通过加入组播组来实现对组播信息的接收,而接收者是如何动态地加入或离开组播组的?
目前IGMP有以下三个版本:
- IGMPv1(RFC 1112)中定义了基本的组成员查询和报告过程;
- IGMPv2(RFC 2236)在IGMPv1 的基础上添加了组成员快速离开的机制等;
- IGMPv3(RFC 3376)中增加的主要功能是成员可以指定接收或拒绝来自某些组播源的报文,以实现对SSM 模型的支持。
当同一个网段内有多个IGMP路由器时,IGMPv2通过查询器选举机制从中选举出唯一的查询器。查询器周期性地发送普遍组查询消息进行成员关系查询,主机通过发送报告消息来响应查询。而作为组成员的路由器,其行为也与普通主机一样,响应其它路由器的查询。
当主机要加入组播组时,不必等待查询消息,而是主动发送报告消息;当主机要离开组播组时,也会主动发送离开组消息,查询器收到离开组消息后,会发送特定组查询消息来确定该组的所有组成员是否都已离开。
12. 什么是ASM?什么是SSM?
ASM Any-Source Multicast 任意信源组播
SSM Source-Specific Multicast 指定信源组播
13. 什么是SPT?什么是RPT?
SPT Shortest Path Tree 最短路径树
源树是指以组播源作为树根,将组播源到每一个接收者的最短路径结合起来构成的转发树。由于源树使用的是从组播源到接收者的最短路径,因此也称为最短路径树(SPT)。对于某个组,网络要为任何一个向该组发送报文的组播源建立一棵树。源树的优点是能构造组播源和接收者之间的最短路径,使端到端的延迟达到最小。但付出的代价是,在路由器中必须为每个组播源保存路由信息,这样会占用大量的系统资源,路由表的规模也比较大。
RPT Rendezvous Point Tree 共享树
以某个路由器作为路由树的树根,该路由器称为汇集点(RP),共享树就是由RP到所有接收者的最短路路径所共同构成的转发树。使用共享树时,对应某个组网络中只有一棵树。所有的组播源和接收者都使用这棵树来收发报文,组播源先向树根发送数据报文,之后报文又向下转发到达所有的接收者。共享树的最大优点是路由器中保留的路由信息可以很少,缺点是组播源发出的报文要先经过RP,再到达接收者,经由的路径通常并非最短,而且对RP的可靠性和处理能力要求很高。