HCNP学习笔记-路由交换网络(5)- IGMP和PIM协议原理及配置

一、IGMP协议

IGMP:因特网组管理协议,是TCP/IP协议族中负责IP组播成员管理的协议,它用来在接收者和其直播相邻的组播路由器之间建立,维护组播组成员关系。
IGMP协议运行于主机与组播路由器之间。
IGMP协议的作用:
主机侧:通过IGMP协议向路由器通告组成员关系。
路由器侧:通过IGMP协议维护组成员关系。
IGMP(Internet Group Management Protocol)作为因特网组管理协议,是TCP/IP协议族中负责IP组播成员管理的协议,它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
IGMPv1支持两种类型的报文:
普遍组查询报文(General Query):路由器周期性地向224.0.0.1地址(表示同一网段内所有主机和路由器)发送通用查询报文,默认查询周期为60秒,发送周期可以通过命令配置。
成员关系报告报文(Membership Report):用于主机加入某个组播组。
IGMPv3报文包含两大类:查询报文和成员报告报文。IGMPv3没有定义专门的成员离开报文,成员离开通过特定类型的报告报文来传达。查询报文中不仅包含普遍组查询报文和特定组查询报文,还新增了特定源组查询报文(Group-and-Source-Specific Query)HCNP学习笔记-路由交换网络(5)- IGMP和PIM协议原理及配置_第1张图片
IGMP Snooping机制的提出,解决了二层组播泛洪问题。
IGMP Snooping可以实现组播数据帧在数据链路层的转发和控制。
1、IGMPv1中,当最后一个组播成员离开该组后,组播路由器将在多长时间后删除对应的组播转发表项?
答:60*2+10=130s
2、IGMP Snooping的实现原理是什么?
答:IGMP Snooping通过侦听组播路由器与主机之间交互的IGMP报文建立组播数据报文的二层转发表项,从而管理和控制组播数据报文在二层网络中的转发。

二、PIM协议

PIM直接利用单播路由表的路由信息进行组播报文RPF检查,创建组播路由表项,转发组播路由。
RPF(Reverse Path Forwarding,逆向路径转发)。
在单播报文的转发机制中,路由器依据单播报文的目的IP地址,查找单播路由表进行转发。其中,单播路由表可以通过静态配置或者动态路由协议来学习路由。
在组播中,接收者可能存在于全网中的任意位置,所以如果静态配置组播路由的话,存在实时性差、灵活性差以及工作量大容易出错的问题。
PIM路由表项即通过PIM协议建立的组播路由表项。PIM网络中存在两种路由表项:(S,G)路由表项或 ( * ,G)路由表项。S表示组播源,G表示组播组,* 表示任意。
(S,G)路由表项主要用于在PIM网络中建立SPT。对于PIM-DM网络和PIM-SM网络适用。
,G)路由表项主要用于在PIM网络中建立RPT。对于PIM-SM网络适用。
PIM路由器上可能同时存在两种路由表项。当收到源地址为S,组地址为G的组播报文,且RPF检查通过的情况下,按照如下的规则转发:
如果存在(S,G)路由表项,则由(S,G)路由表项指导报文转发。
如果不存在(S,G)路由表项,只存在(
,G)路由表项,则先依照(*,G)路由表项创建(S,G)路由表项,再由(S,G)路由表项指导报文转发。
PIM(Protocol Independent Multicast)协议无关组播,目前常用版本是PIMv2,PIM报文直接封装在IP报文中,协议号为103,PIMv2组播地址为224.0.0.13。
在PIM组播域中,以组播组为单位建立从组播源到组成员的点到多点的组播转发路径。由于组播转发路径呈现树型结构,也称为组播分发树(MDT,Multicast Distribution Tree)。
组播分发树的特点:
无论网络中的组成员有多少,每条链路上相同的组播数据最多只有一份。
被传递的组播数据在距离组播源尽可能远的分叉路口才开始复制和分发。

PIM有两种模式:
PIM-DM(Protocol Independent Multicast –Dense Mode)。
PIM-SM (Protocol Independent Multicast –Sparse Mode)。
PIM-DM的工作机制:
1、邻居发现
2、扩散与剪枝
3、状态刷新
4、嫁接
5、断言
在PIM-DM网络中,路由器周期性发送Hello消息来发现、建立并维护邻居关系。周期是30秒。
扩散过程:PIM-DM假设网络中所有主机都准备接收组播数据,当某组播源开始向组播组G发送数据时,具体过程如下:
1、路由器接收到组播报文时会进行RPF检查。
2、如果RPF检查通过,则创建(S,G)表项,然后将数据向所有下游PIM-DM节点转发,这个过程称为扩散(Flooding)。
3、如果RPF检查没有通过,则将报文丢弃。
RPF检查:为了防止组播报文在转发过程中出现重复报文及环路的情况,路由器必须执行RPF检查。
剪枝过程:当下游有没有组播成员,扩散组播报文会导致带宽资源的浪费。为避免带宽的浪费PIM-DM使用剪枝机制。
PIM-DM的扩散—剪枝机制周期性进行,每3分钟重复一次,RTC对RTE所在网段处于剪枝状态,RTC对RTE的接口会维护一个“剪枝定时器”,当剪枝定时器超时,RTC就会恢复对RTE的数据转发,这样会导致不必要的网络资源浪费。
离组播源最近的第一跳RTA周期性触发State Refresh消息。State Refresh消息在全网扩散,刷新所有设备上的剪枝定时器状态。
Graft机制:新的组成员加入组播组后,快速得到组播报文。
Assert机制:避免重复组播报文。
为避免重复的组播报文浪费带宽资源,PIM路由器在接收到邻居路由器发送的相同组播报文后,会以组播的方式向本网段的所有PIM路由器发送Assert消息,其中目的地址为224.0.0.13
**PIM-DM适用于组播成员分布较为密集的园区网络。对于PIM-DM的局限性,PIM-SM可以提供相对更加有效的解决方案。
相对于PIM-DM的“推(Push)模式”,PIM-SM使用“拉(Pull)模式”转发组播报文。
PIM-SM的关键机制包括
邻居建立、DR竞选、RP发现、RPT构建、组播源注册、SPT切换、Assert;同时也可通过配置BSR(Bootstrap Router)管理域来实现单个PIM-SM域的精细化管理。**PIM-SM中PIM邻居建立过程以及Assert机制与PIM-DM相同。
PIM-SM的关键任务:
1、建立RPT(汇聚点树也称共享树)
2、建立SPT(最短路径树)
RP的作用:
RP是PIM-SM域中的核心路由器,担当RPT树根节点。
共享树里所有组播流量都要经过RP转发给接收者。
RP可以静态指定也可动态选举:
静态指定是指由管理员在每台PIM-SM路由器上进行配置,使得每台路由器获知RP的位置。
动态选举是指通过专用协议在若干台C-RP(Candidate-RP)中选举产生。管理员需要开启选举协议并配置若干台PIM-SM路由器成为C-RP。
RP配置方式建议:
中小型网络:建议选择静态RP方式,对设备要求低,也比较稳定。
如果网络中只有一个组播源,建议选择直连组播源的设备作为静态RP,这样可以省略源端DR向RP注册的过程。
采用静态RP方式要确保域内所有路由器(包括RP本身)的RP信息以及服务的组播组范围全网一致。
大型网络:可以采用动态RP方式,可靠性高,可维护性强。
如果网络中存在多个组播源,且分布密集,建议选择与组播源比较近的核心设备作为C-RP;如果网络中存在多个用户,且分布密集,建议选择与用户比较近的核心设备作为C-RP。
1、什么是组播分发树,组播分发树有哪些类型?
答案:组播分发树是指从组播源到接收者之间形成的一个单向无环数据传输路径。组播分发树有两类:SPT和RPT。
2、Assert机制的作用是什么?
答:Assert可以避免在共享网络(如Ethernet)中相同报文的重复发送。通过Assert机制在共享网络中来选定一个唯一的转发者。其他落选路由器则剪掉对应的接口以禁止转发信息。
3、PIM-SM协议中,与组播接收者相连的DR负责向RP发送单播Register消息。
答:错误,与组播源相连的DR负责向RP发送单播的Register消息。

你可能感兴趣的:(网络工程师学习笔记)