
CISCO-multicast
文章平均质量分 85
CISCO-multicast
梅利333
热爱生活,热爱从事的事业
展开
-
multicast-8RP的选举
2) 当hash mask length 不为0 时,G 地址被掩码掩盖的bits 需要参与hash 运算,此时hash 结果既受到RP地址的影响,也受到了G地址的影响,因此导致了不同的组地址可能自动选择不同的CRP,,使CRP之间既能备份又能分摊。3 BSR的对于CRP信息的获知,信息源是CRP,但是其它组播路由器对于CRP信息的获知,)源是BSR,(这句话也很好理解 ,因为CRP会以单播的形式发送通告消息给BSR,而只有BSR才会将携带了CRP信息的bootstrap消息泛洪全网)原创 2020-10-26 09:03:00 · 215 阅读 · 0 评论 -
multicast - 14 nbma mode
需要说一下的是,在R4,R6,R7 三台设备上,DMVPN部份的接口是tunnel 接口,并不是物理接口,更不是公网地址,一定要注意。说白了,输入这么一条命令的目的就是把流量发给真正需要流量的人,不需要的就不给,由于这种特殊的网络架构下没有办法将接口Prune掉。单播就不用说了吧,简单的要死,但是要注意,此时R4上面不要将F0/1口宣告到左侧的单播路由协议中,因为它是公网接口。左侧为单播,右侧为DMVPN,R4 是Hub,下面两台是spoke,DMVPN部份使用什么协议没有限制,无所谓,原创 2020-10-26 10:19:00 · 66 阅读 · 0 评论 -
multicast-5 PIM
2 PIM需要在相邻路由器之间建立邻居关系,(仅仅是建立邻居而已)但是不存在任何组播路由信息的交互,(并不是由PIM来完成路由表的交互)5 组播路由表的建立通常因为三种原因来触发,收到了组成员IGMP消息,收到了PIM 消息,或者是收到了组播的数据包。在建立PIM邻居时无所谓是V1/V2,但是在实际转发数据时,必须使用相同的版本,而且是V2版本。6 PIM存在两个版本,V1,V2,路由器上启用PIM,默认是V2,可以通过接口命令来进行修改。因为要运行IGMP,开启了PIM就开启了IGMP,两个是在一起的。原创 2020-10-25 21:40:00 · 59 阅读 · 0 评论 -
Multicast-1 初识
通过这张图可以很直观的看到,在组播的环境中,就算是人数越来越多,跟我也没有毛关系,就算是有,也问题不大,不会太多的占用带宽的.其实很像交换中的生成树,最接近接收者的是树的边界,被称为last-hop 也可以叫做leaf router 叶路由器。接近数据源的路由器叫做第一跳路由器,firt-hop router,由这台设备负责开始转发组播源的数据。需要发送相同的数据去往多个不同的接收者,(如果是单播就会出现很多的重复发送)1) 单播数据转发去往多个不同接收者时,数据源需要复制大量的数据包,负担很大。原创 2020-10-25 20:37:00 · 87 阅读 · 0 评论 -
multicast-13 DR的作用
此时可以通过neighbor表看出来,所有的设备接口Priority 都是1, 是一个默认值 没有办法比较,那只能对比接口了,,用DR作为igmp querier (如果有两个末跳路由器,由其中一台发送通用查询消息)V1现在不用了。这个和IGMP 中的查询者有关,谁的地址小谁就是查询者,负责和接收者这边建立IGMP的联系。通过抓包可以看到,是R5最终发出来的消息,并且是一个prune 消息,另外做为此时的PC接收者,他凭什么就将加组消息发向R4呢?通过抓包可以很明显的看出来,是R2最终发送的注册消息,原创 2020-10-26 10:12:00 · 134 阅读 · 0 评论 -
multicast-4 组播分布树及转发模式初识
S,G 的OIL,(outgoing interface list) 会继承*,G的,但是任何表项中的incoming interface 都不能出现在OIL中,如果冲突则在OIL中删除该接口,也就是说收包接口不可能出现在发包接口里。可以看到这个条目是* G 的,任何源,到组239.1.1.1的流量,存活时间/超时时间(是不可能到0 的,因为有igmp协议的存在,末跳路由器和组成员之间有通用查询,并且是主机主动请求加入的组)如果是*,G的话,是连接RP的接口,当然现在我们用的是dense模式,没有RP。原创 2020-10-25 21:20:00 · 199 阅读 · 0 评论 -
multicast-7 sparse-mode
先是构建*,G表项,然后再根据单播注册消息完成RP身后的S,G表项构建,从而达到组播数据的正常传递,后续会再不间断的发送注册消息,而再次发送的注册消息就不再和 第一次一样了,后面发的并没有实际的数据,我们称之为畸形的注册消息。9 RP上的S,G 表项不会删除,因为只要组播源存在,就会不间断的向RP发送register 注册消息,从而刷新RP上的S,G表项,如果将来有新的组成员出现,RP可以立刻向源发起S,G join 消息来建立 SPT。显然都没有,所以这时*G的表项中OIL 是null 空的。原创 2020-10-26 08:35:00 · 163 阅读 · 0 评论 -
multicast-10 Anycast RP
1 Anycast 最初由RPF1546提出并定义,用于IP网络上通过一个IP地址标识一组特定的服务的主机,同时服务访问并不关心提供服务的具体是哪一台主机,(比如我们常用的8.8.8.8)访问该地址的。PS:RP的指定要使用相同的IP地址,而BSR最好不要使用这个地址,因为到时候根本就不知道是谁发的了。,当组播路由器使用RP时,将被组播路由器按照单播路由表将其引导到离自己最近的RP上,但是R2上啥都没有,因为R3现在自己是RP,不会再向上发了,所以R2上是空的,肯定不行,因为两侧的地址是一样的,咋建啊?原创 2020-10-26 09:50:00 · 112 阅读 · 0 评论 -
multicast-6 dense-mode
Assert 消息干架,决定最终由谁来进行转发(假设最终由D设备胜利了)那么此时C上的接口就应该被prune ,但是由于C设备下面还有组成员,肯定是不可以被prune的,然后回到E上,E此时将收到的组播数据进行泛洪,到了F,F已经等待多时了,发送S,G的join 消息,顺理成章的接收了组播数据,4 此时recelver 1 发送了IGMP的report 消息,C上也有了*,G的表项,同时也接收到了组播数据,那么这时就行成了S,G的表项,数据得以传递到recelver 1。这样了来,R2也收到了,(R3说。原创 2020-10-25 21:52:00 · 69 阅读 · 0 评论 -
multicast- 12 BIDIR tree
可以看到在R2上,去往224.1.1.1 这个组播地址的路由表中,并没有看到S,G表项,至于下面的那个是因为AUTO-RP 产生的224.0.1.39和224.0.1.40两个S,G表项,那个可以不用管它。表中带有*号的是最优的,并且只有本地接口才会标*,如果本地接口不是DF,那么就显示为对端接口,也就没有*了,如图中的34.0.0.3,是R3的,我是在R4上查看的。在此图中虽然标识了server /PC,但是在实际使用中,谁都有可能成为发包者,源,也有可能成为接收者,组成员因为是多对多,没有任何的限制。原创 2020-10-26 10:04:00 · 82 阅读 · 0 评论 -
multicast-3组播的防环原则-RPF
也可以理解为所谓的源,是和IGP协议有关的,当出现两条或多条线路时,参考IGP的最优路径来计算自己的源,然后再进行对比,进行RPF校验,从而避免重复报文。2) 如果该路由器只有一个接口,但是存在多个下一跳,(如上面我们提到的R7情况),该接口做为RPF接口,多个下一跳中地址大的那个做为RPF邻居。3) 如果该路由器有多个接品,并且有多个下一跳,那么地址最大的接口做为RPF接口,地址最大的下一跳做为RPF邻居。一台一台的来进行PRF校验测试,看看哪个是RPF的接口,哪个又是RPF的neighbor。原创 2020-10-25 21:09:00 · 183 阅读 · 0 评论 -
multicast-2 IGMP协议
就是我一个组里有多个成员,当收到路由器发来query 查询时,做为组内成员需要回复,而这时,不是所有的成员都需要回复,只要有一台就可以了。第一种就是咱们上面说的,我想要加入到一个组内,会发送report 时间间隔为10s,发送一次/两次,为什么发两次,是为了确保组播路由器可以接收到,此时不考虑suppress 的问题。)两次都没有人回复我,那么我就会把这个条目删除掉。因为此时做为leaf路由器要检测一下还有没有其它成员需要接收这个组的数据,如果没有,那么将不再转发该组数据,如果有的话,就必须有人回复,原创 2020-10-25 20:49:00 · 111 阅读 · 0 评论 -
multicast-9 MSDP
而BSR的工作原理,就是向外泛洪bootstrap消息,并且这个消息会从R2的F0/1口发出去,发出去不要紧,但是做为右侧的AS,是否就会收到这个bootstrap消息,从而进行选举,导致最后两个AS所选举出来的RP是一样的,但是通过wireshark 抓包可以明显的看到,SA的消息是发出去了,但是到达对端的时候有什么问题和我这边没有关系了,问题是出在了对端 的RP上。然而两侧的AS之间内部的RP无法实现数据的交互,无法完成注册信息的传递,也就无法完成组播流量的正常传递,原创 2020-10-26 09:43:00 · 77 阅读 · 0 评论 -
multicast-11 SSM
此时如果R2没有配置SSM 的组播地址,那么将会生成*,G表项,因为现在收到了S,G join 消息要创建S,G 而创建S,G前提就是要创建 *,G。那么R3生成了S,G表项以后,就要顺着它的incoming interface 接口发送S,G join 消息,当然,R1也是一样的,如果你不写SSM的那条命令,将永远是*,G+ S,G两个表项。此时可以看到,S,G表项建立完成,而且并没有看到所谓的父级,*,G表项。并且你有没有注意到,现在的S,G表项后面的flags 是sT。原创 2020-10-26 09:58:00 · 134 阅读 · 0 评论