开头说明
基于针对组播PIM协议,来自自己早些年的笔记中的分享,还存在许多的不止 也需要去重新补充,而且话术可能有点存在啰嗦或者不简洁明了的情况,难免会存在些许错误,后续本人将重新攥写本文。
前言
PIM,协议无关组播。PIM运行在路由器之间,生成组播的路由表项,指导组播流量的转发。
PIM,没有路由!只是指导组播流量的转发罢了。基于单播来指导组播流量的转发。
组播里面没有路由。运行组播路由选择协议的初衷是为了让路由器拥有转发组播流量的功能。
注意:PIM运行于IP协议之上,协议号103 组播地址为224.0.0.13
1、组播流量的过程
如果要说PING、或者TCP的TELNET,HTTP等服务的过程,那么都是先对目的IP进行建立访问,或者就是对目的IP进行访问操作,但是组播并不是这样的,组播对于目的IP是没有一个准确的概念的,组播并不知道到底什么时候会有接收者,什么地方会有接收者,会有多少个接收者。组播好处就是不用对每一个接收流量的目标去挨个发送。但我说他这是坏处,也不为过。为什么?
- 如果不知道准确的目标,那么可能有些一直或长时间不会存在流量接收者的路由器,那么他一定要一直保持着关于组播流量的记录,以防止突然有接收者想要接收这股组播流量了。这是弊端之一(采用SM模式可以解决该问题)
而且,组播可不像单播一样,单播的访问是基于路由表项的,而不同路由器之间也可以通过不同的路由协议进行路由条目的传递通告。但是组播并不是这样,组播传递的仅仅是生成组播的转发表项,指导组播流量的转发,换句话说,组播只是指导这个接收者,去查找信源地址,这也说明了,组播中,不同等于单播的,S去找D,而是D去主动找Source Add 信源(毕竟接收者是不固定的,但是信源是固定的)
RPF校验(Reversave Path Forwarding)
组播协议的防环机制。
RPF校验的工作原理就是抄单播IGP的作业,IGP优秀的机制保证了其不会出现环路(而且如果单播IGP出现了环路,那组播就算再完好也没用)
RPF校验根据去往信源的单播路由下一跳,是否是接收到该组播流量的入接口,来判断是否环路。,需要主以的是,路由器针对一个信源,有且只有一个出接口(不然就环路了咯)
能够保证组播无环的机制,因为不可能确定组播信源和接收者,所以路由器想要在建立邻居的过程中防环,不可能做到。所以只能通过实际报文的接收,实时判断该如何防环。
RPF就是抄单播的作业,因为单播路由选择协议,一般不会产生环路,而且你如果单播都出问题,那么组播肯定也无一例外
RPF校验的负载均衡情况:
由于RPF校验是基于单播路由表的选择规则来的,但是网络中负载均衡的情况是十分常见的。如果RPF校验出现了负载均衡的情况,那么奖进行选举:比较负载均衡路由中路由的出接口地址大小,越大越优。若出接口相同,则比较下一跳IP地址的大小。
手工指定RPF
- 组播静态路由来更改RPF
- MP-BGP
这二者的操作方式有些像单播BGP和静态路由,不过单播BGP和静态路由的作用是为了指导路由的传递或者自身来传递路由。而组播中。这只是为了修改RPF校验的出接口罢了。通过手工指定RPF,在不修改单播路径的情况下,修改RPF的对应接口。
运行组播MP-BGP的接口将优先成为RPF接口
建立IPv4 Multicast组播邻居,注意他们并不会传递组播路由&