组播
2021-05-23 06:07:31 2 举报
AI智能生成
组播知识点
作者其他创作
大纲/内容
组播
组播网络架构
组播源与第一跳组播路由器
中间的组播路由器
最后一条组播路由器和组播接收者
组播角色
组播源
组播路由器
组播接收者
组播组
组播IP地址
组播IP地址范围
永久组地址范围及常用地址
ASM临时组地址范围
SSM临时组地址范围
本地管理组地址范围
组播MAC地址
MAC地址分类
组播MAC与组播IP的映射
IGMP
IGMP概述
IGMPv1
报文类型
成员关系查询
子主题
成员关系报告
报文格式
查询及响应
路由器周期性发送成员关系查询报文
组成员计时器超时后用成员关系报告报文回复
第一个回复的组成员抑制其它组成员回复
组成员加入及离开
可通过成员关系报告报文加入
组成员静默离开,路由器在130秒后不再发送组播流量
查询器
需要查询器的原因
选举机制
IGMPv2
常规查询
特定组查询
离组
版本1的成员关系报告
组成员离开
组成员离开时发送离组报文
路由器发送特定组查询报文
路由器连续2次 1秒内没有收到回应报文认为没有组成员
故障切换
IGMPv3
与V1和V2的主要区别
特定组/源查询
此报文目的IP为224.0.0.22
离组使用特殊的成员关系报告报文
成员关系查询报文格式
成员关系报告报文格式
6种类型的组记录
其它的字段...
查询器发送常规查询报文
组成员用包含Mode_Is_Include类型组记录的成员关系报告报文回应
组成员离组
组成员发送包含Change_To_Include_Mode类型组记录的成员关系报告报文
其中组地址为之前自己加入的组播组
组播源为空
查询器收到后发送特定组/源查询报文,来确认是否还有想接收组播源发往组播组流量的组成员
和IGMPv2一样
组播路由协议的作用
确定上下游接口
维护组播路由表项
组播路由表项包含的内容
构建无环的树
组播相关表项
IGMP组表
IGMP路由表
组播协议路由表
组播路由表
组播路由表项的类型
表项的四个关键信息
组播转发表
组播分发树
组播分发树的来源
SPT
以组播源为根
从源到接收者路径最短
RPT
以RP为根、建立RPT分支;组播流量从源到RP、从RP到接收者
组播流量的传输路径可能不是最优路径
RPF
作用
选择RPF路由
组播流量转发中使用RPF检查
PIM-DM
PIM-DM工作模式
先假定网络中每个分支都存在组播接收者
将组播流量扩散到全网,PIM-DM形成的SPT覆盖全网
没有组播接收者的分支使用剪枝将自己从SPT上剪掉
需要组播流量的话再用嫁接机制把自己所在分支嫁接到SPT上
PIM协议使用IP封装,协议号103
hello
用于发现PIM直连链路邻居、参数协商、邻居关系维护
通告hello报文选举DR,DR可以充当IGMPv1中的查询器,对于PIM-DM没有用
源IP为路由器的接口IP地址
目的IP为224.0.0.13(此地址是所有PIMv2路由器的组播地址)
缺省hello报文发送间隔为30秒
Join/Prune
剪枝报文源IP为路由器的接口IP地址
剪枝报文的目的IP为224.0.0.13
剪枝报文载荷中有剪枝的组播地址G和组播源S
Graft(嫁接)
嫁接报文是单播报文
源IP是下游设备的接口地址
目的IP是上游设备的接口地址
Graft-Ack
断言
报文目的地址为224.0.0.13(所有PIM路由器监听的地址)
报文中携带:组播源地址S、组播组G、到组播源的单播路由的优先级和度量值
PIM邻居的建立、删除
路由器接口激活PIM后便周期性发送PIM Hello报文
发现直连邻居后,为邻居启动计时器
计时器时间为对方hello报文中的holdtime(缺省105S)
计时器超时前收到邻居发送的hello报文,刷新该计时器;计时器超时删除该邻居
扩散过程
路由器收到组播报文后,先进行RPF检查
将组播报文向所有下游节点转发
剪枝过程
没有接收者的下游节点向上游节点发送剪枝报文
为这个接口的剪枝状态启动一个计时器,计时器超时接口剪枝状态取消
计时器超时前收到下游设备发来的剪枝报文,那么重置计时器
因此下游设备需要周期性的向上游设备发送剪枝报文
嫁接过程
被剪枝的节点上出现了组播组成员时,不能等剪枝状态超时再接收流量,可使用嫁接机制主动恢复对组播流量的转发
需要恢复接收组播数据的节点向上游节点发送嫁接报文来申请重新加入SPT中
上游节点收到后恢复转发状态,并回复嫁接确认报文
下游节点发送过嫁接报文后会启动一个嫁接计时器(缺省3S),计时器超时后仍未收到嫁接应答报文,则重新发送嫁接报文
避免同一网段存在多台组播路由器时,向同一网段发送重复的组播报文
触发断言机制的路由器会向所有PIM路由器(224.0.0.13)发送断言报文
通过规则比较,获胜者成为网段的转发者
到组播源的单播路由的优先级较高者获胜
如果单播优先级相等,到组播源的度量值较小者获胜
如果度量值相等,本地接口IP地址较大者获胜
PIM-SM
工作模式
假定所有主机都不需要接收组播数据,只向明确提出需要组播数据的主机转发
选择某台路由器作为RP
连接接收者的路由器向某组播组对于的RP发送加入报文
这个加入报文被逐跳送往RP,所经过的路径形成RPT分支
组播源侧DR向RP注册,触发建立SPT
register(注册)
register-stop
Bootstrap
目的IP为组播地址224.0.0.13
TTL值为1,因此是逐跳传到整个网络
接口对端路由器收到后会记录报文中相关信息,并重新产生自举报文,向其连接接口泛洪
Assert
Candidate-RP-Advertisement(候选RP通告)
和PIM-DM一致
DR选举
与组播源相连的网络、与接收者相连的网络都有选举DR
组播源侧DR负责向RP发送注册报文;接收者侧DR负责向RP发送加入报文
DR选举过程
路由器相互之间发送hello报文,hello报文中优先级值大的胜出
如果优先级相同或网络中有路由器不支持携带优先级,路由器IP地址大的胜出
当DR故障时,其他路由器超时后仍未收到DR的hello报文,则触发新的DR选举过程
DR是可抢占的,华为设备接口DR优先级缺省为1,可以手动调整
构建RPT
接收者通过IGMP报文通知与其直连的DR要加入组播组G
DR收到后,查找单播路由表,向该组播组对应的RP发送PIM加入报文
组播流量先发往RP,再沿着RPT到达DR,最终到达接收者
接收者不需要组播数据时,与其直连的DR会向RP发送剪枝报文
上游节点收到剪枝报文后,在组播表项的出接口列表中删除这个接口
同时上游节点检查自己是否有该组播组的接收者,如果没有,则继续向其上游节点转发剪枝报文
组播源注册
目的是向RP通知组播源的存在
组播源侧的DR收到组播流量时,将其封装为注册报文,单播发送给该组播组相应的RP
RP收到注册报文后,解封装后将其中的组播报文沿着RPT发给接收者
组播源再次发送组播数据时就可以沿着SPT到达RP,再由RP沿着RPT到达接收者
RP收到组播数据后,会向组播源侧的DR单播发送注册停止报文
组播源侧DR收到后不再发送注册报文,组播源注册过程结束
RPT向SPT切换
使用RPT发送流量会存在次优路径;RP负载可能过大的问题
当接收侧DR在RPT上收到第一份组播流量时(也可设置发送的组播流量速率)触发RPT向SPT切换
接收者侧DR向RP逐跳发送包含RP位的剪枝报文
假如此时只有这一个接收者,RP收到剪枝报文后会向组播源发送剪枝报文
最终实现了从RPT向SPT的切换,之后组播数据直接从组播源发送到接收者
RP的发现
通过手工配置发现
网络中所有PIM-SM路由器必须有到达RP的正确单播路由,用于构建RPT及发起注册过程
通常使用RP的loop口作为RP地址,将其宣告进动态路由协议,可以实现冗余
静态RP的接口不必激活PIM-SM,也就是loop口不用激活PIM-SM
静态RP地址可以关联ACL,这样RP只为ACL所匹配的组播组服务
网络中所有PIM-SM路由器必须将同一个组播组映射到相同的RP上;一个组播组只能映射到唯一的RP上
通过BSR动态发现
C-RP会向BSR(周期性)单播发送自己的候选通告
候选通告中包含了C-RP自己负责的组播组范围、RP优先级及IP地址信息等
BSR收集并汇总后,把汇总信息(封装在自己的自举报文中,周期性的)向全网进行泛洪
网络中所有PIM-SM路由器都会收到这个汇总信息,然后采用相同的算法计算得出组播组与RP的映射关系
这些汇总信息成为RP-set,又称为RP集,是组播组与RP的映射关系数据库
RP选举规则
C-RP所服务的组播组范围与该组播组地址匹配度最长的C-RP胜出
若范围相同,比较C-RP的优先级,优先级高的获胜
若优先级相同,则使用哈希(Hash)函数计算哈希值,值较大者获胜
若优先级和哈希值都相同,则C-RP的IP地址较大者获胜
可以同时部署这两种发现机制
对于同一个组播组,若这两种机制映射的RP地址不同,优先使用BSR动态发现的RP
当动态RP失效时,自动切换到手工配置的静态RP
也可通过命令改变这种优先顺序
BSR的选举
BSR从C-BSR中选举,通过PIM自举报文进行选举
自举报文中包含C-BSR优先级、哈希掩码长度、IP地址等信息
先比较优先级,值最大的C-BSR成为BSR
然后比较IP地址大的成为BSR
BSR选举出来后,会周期性(缺省为60S)的向网络中泛洪自举报文,向整个网络通告自己的信息
网络中的所有PIM-SM路由器都会侦听BSR所泛洪的通告并保存BSR相关信息
SSM模型在PIM中的实现
ASM模型包括PIM-DM和PIM-SM两种模式,SSM模型能借助PIM-SM的部分技术来实现
因为接收者知道组播源的位置,SSM模型中不需要RP,不需要构建RPT,不需要组播源注册
SSM模型需要IGMPv3和PIM-SM部分子集的支持
构建SPT
使用组播接收者准备加入的组播组地址来决定是构建SPT还是RPT
接收侧DR收到接收者报告报文时,会先判断该报文的组地址是否在SSM地址范围内
如果在SSM地址范围内,则为PIM-SSM构建SPT,DR向组播源逐跳发送通道的订阅报文
如果不在SSM地址范围内,则为PIM-SM模型,按PIM-SM的机制处理
IGMP snooping
工作原理
相关端口
收到普遍组查询时处理过程
收到成员关系报告时处理过程
收到离组报文时处理过程
IGMP snooping proxy
知识点
STP
OSPF
ISIS
BGP
MPLS
IPv6
Qos
PPP
堆叠、VRRP
DHCP
AAA
BFD、NQA
NAT
SNMP
VLAN
Netstream
大题
0 条评论
回复 删除
下一页