路由器检查到达的组播包源地址,在组/单播路由表中查找是否有到达源地址的路由,如果从此路由下一跳的接口进来的组播包,则RPF检验成功,并转发,否则丢弃。

在RPF Check中,只能有一个输入接口,选举方法按如下顺序:
在组/单播路由表查找去往源的路由。
Lower AD>Longest Match>Lower Metric>Higher IP
R2(config)#ip mroute 13.1.1.3 255.255.255.255 serial 0/0 89 
R2(config)#ip mroute 13.1.1.3 255.255.255.255 12.1.1.1 89

R1:

ip multicast-routing
int lo 0
ip add 1.1.1.1 255.255.255.255
int f0/0
no sh
int f0/0.12
en do 12
ip add 12.1.1.1 255.255.255.0
no sh
ip pim dense-mode

int f0/0.13
en do 13
no sh
ip add 13.1.1.1 255.255.255.0
ip pim dense-mode

int f0/0.31
en do 31
ip add 10.1.1.1 255.255.255.0
no sh
ip pim dense-mode

router eigrp 100
no au
net 10.0.0.0
net 13.0.0.0
net 12.0.0.0
net 1.0.0.0

R2:++++++++++++++++++++++++++++++++++++++

ip multicast-routing
int lo 0
ip add 2.2.2.2 255.255.255.255

int f0/0
no sh
int f0/0.12
en do 12
no sh
ip add 12.1.1.2 255.255.255.0
ip pim dense-mode

router eigrp 100
no au    
net 12.0.0.0
net 2.0.0.0

R3:++++++++++++++++++++++++

ip multicast-routing
int lo 0
ip add 3.3.3.3 255.255.255.255

int f0/0

no sh
int f0/0.31
en do 31
ip add 10.1.1.3 255.255.255.0
ip pim dense-mode

int f0/0.13
en do 13
no sh
ip add 13.1.1.3 255.255.255.0
ip pim dense-mode

int f0/0.35
en do 35
no sh
ip add 35.1.1.3 255.255.255.0
ip pim dense-mode

router eigrp 100
no au
net 35.0.0.0
net 13.0.0.0
net 3.0.0.0

R5:++++++++++++++++++++++++++++++++++++++++

no ip routing
int f0/0
no sh
int f0/0.35
en do 35
ip add 35.1.1.5 255.255.255.0
no sh
ip igmp join-group 224.1.1.1

ip default-gateway 35.1.1.3

========================================

让R2去ping 224.1.1.1 使其产生组播包。
R2#ping 224.1.1.1

Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 224.1.1.1, timeout is 2 seconds:

Reply to request 0 from 35.1.1.5, 164 ms

R1#debug ip mpacket

R3#debug ip mpacket

R1#sh ip mcache  //默认情况下,组播快速转发是开启的,所以第二次PING,debug并没有相关信息产生。
IP Multicast Fast-Switching Cache
(12.1.1.1/32, 224.1.1.1), Serial2/2, Last used: 00:00:09, MinMTU: 1500
  FastEthernet0/0          MAC Header: 01005E010101CC040E1C00000800

+++++++++++++++++++++++++++++++++++++++++++++

把所有组播快速转发关闭
R2#ping 224.1.1.1

Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 224.1.1.1, timeout is 2 seconds:

Reply to request 0 from 34.1.1.4, 212 ms //R2只发送一个组播包

R1一旦接收此组播包,会复制此包然后往OIL的接口发送。
(12.1.1.1, 224.1.1.1), 00:01:38/00:01:31, flags: T
  Incoming interface: Serial2/2, RPF nbr 0.0.0.0
  Outgoing interface list:
    Serial2/3, Prune/Dense, 00:01:38/00:01:24, A
    FastEthernet0/0, Forward/Dense, 00:01:38/00:00:00

*Mar  1 00:13:12.271: IP(0): s=12.1.1.1 (Serial2/2) d=224.1.1.1 (Serial2/3) id=2, prot=1, len=100(100), mforward
*Mar  1 00:13:12.275: IP(0): s=12.1.1.1 (Serial2/2) d=224.1.1.1 (FastEthernet0/0) id=2, prot=1, len=100(100), mforward
*Mar  1 00:13:12.383: IP(0): s=12.1.1.1 (Serial2/3) d=224.1.1.1 id=2, prot=1, len=104(100), not RPF interface

R3:
*Mar  1 00:13:10.411: IP(0): s=12.1.1.1 (Serial2/3) d=224.1.1.1 id=2, prot=1, len=104(100), not RPF interface
*Mar  1 00:13:10.415: IP(0): s=12.1.1.1 (FastEthernet0/0) d=224.1.1.1 (Serial2/3) id=2, prot=1, len=100(100), mforward
*Mar  1 00:13:10.419: IP(0): s=12.1.1.1 (FastEthernet0/0) d=224.1.1.1 (Serial2/2) id=2, prot=1, len=100(100), mforward

R3是从F0/0口学习到的,因为在IP单播表里,到达R2的接口是F0/0,RPF成功,而S2/3失败。

再往后发数据包时,不会往Serial 2/3发送了。
R3++++++++++++++++++++++++++++++++++++++++++++++++++++
*Mar  1 00:21:09.515: IP(0): s=12.1.1.1 (FastEthernet0/0) d=224.1.1.1 (Serial2/3) id=3, prot=1, len=100(100), mforward
*Mar  1 00:21:09.519: IP(0): s=12.1.1.1 (FastEthernet0/0) d=224.1.1.1 (Serial2/2) id=3, prot=1, len=100(100), mforward
*Mar  1 00:21:09.527: IP(0): s=12.1.1.1 (Serial2/3) d=224.1.1.1 id=3, prot=1, len=104(100), not RPF interface
R3#
*Mar  1 00:21:18.035: IP(0): s=12.1.1.1 (FastEthernet0/0) d=224.1.1.1 (Serial2/2) id=4, prot=1, len=100(100), mforward

R1++++++++++++++++++++++++++++++++++++++++++++++++++++
*Mar  1 00:21:11.331: IP(0): s=12.1.1.1 (Serial2/2) d=224.1.1.1 (Serial2/3) id=3, prot=1, len=100(100), mforward
*Mar  1 00:21:11.335: IP(0): s=12.1.1.1 (Serial2/2) d=224.1.1.1 (FastEthernet0/0) id=3, prot=1, len=100(100), mforward
*Mar  1 00:21:11.443: IP(0): s=12.1.1.1 (Serial2/3) d=224.1.1.1 id=3, prot=1, len=104(100), not RPF interface
R1#
*Mar  1 00:21:19.875: IP(0): s=12.1.1.1 (Serial2/2) d=224.1.1.1 (FastEthernet0/0) id=4, prot=1, len=100(100), mforward

R3#show ip rpf 10.1.1.2
RPF information for ? (10.1.1.2)
  RPF interface: FastEthernet0/0
  RPF neighbor: ? (10.1.1.2) - directly connected
  RPF route/mask: 10.1.1.0/24
  RPF type: unicast (connected)
  RPF recursion count: 0
  Doing distance-preferred lookups across tables
R3#

把F0/0的pim给去掉

因为RPF是F0/0不是S2/3口,所以组播包不通。
R2#ping 224.1.1.1

Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 224.1.1.1, timeout is 2 seconds:
.

此时R1接收到组播包会正常转发的
*Mar  1 00:27:01.735: IP(0): s=12.1.1.1 (Serial2/2) d=224.1.1.1 (Serial2/3) id=6, prot=1, len=100(100), mforward

但在R3上丢弃了
*Mar  1 00:26:59.847: IP(0): s=12.1.1.1 (Serial2/3) d=224.1.1.1 id=6, prot=1, len=104(100), not RPF interface

解决方法:
在R3上添加
ip mroute 12.1.1.0 255.255.255.0 s2/3

ip mroute 12.1.1.2 255.255.255.255 s2/3 91 //最长匹配原则 但因为AD比单播里的eigrp 还要高,所以不选择。造成无法通信。

show ip mroute static

R3(config)#ip multicast longest-match  //隐藏命令(开启最长匹配,使其优于AD)


R2#ping 224.1.1.1 repeat 1                                          
                                                                    
Type escape sequence to abort.                                      
Sending 1, 100-byte ICMP Echos to 224.1.1.1, timeout is 2 seconds:  
                                                                    
Reply to request 0 from 35.1.1.5, 164 ms                            
Reply to request 0 from 34.1.1.4, 164 ms

发一个包,收到两个包

R3(config)#int f0/0                          
R3(config-if)#ip multicast ttl-threshold 8

int s2/2                         
ip multicast ttl-threshold 9

在R2使用扩展PING。TTL=10,正常只收到一个回包,一个丢弃了。

也可以基于地址来设置TTL门限值。

R3#sh ip pim int s2/2 detail
Multicast boundary:not set //默认情况下,所以流量都可以进出
Multicast TTL threshold:9

ip multicast bounday 1
access-list 1 permit 224.1.1.1

组播Lab RPF TTL相关推荐

  1. 未指定发送trap的源接口_组播之RPF接口检测

    RPF的检测方法: 1.unicast routing table--单播路由表检测 2.multicast route static--组播路由静态检测 3.MBGP(Muiticast Addre ...

  2. 验证组播的TTL阀值

    实验目的:验证组播的TTL阀值. 实验拓扑: 实验步骤: PC1,PC2均加入224.1.1.1这个组播组. R1: ip multicast-routing interface Serial1/1 ...

  3. CISCO 组播RPF 逆向路径转发 实验原理

    Technorati 标签: CISCO,组播,multicast,RPF,CCIE RPF,reverse path forwarding. 是组播转发的一个重要基础.只有当RPF检测成功以后,组播 ...

  4. 组播路由协议——PIM基本概念

    目录 PIM基本概念 组播路由协议的作用 PIM与之前组播路由协议的区别 组播分发树 RFC机制 PIM两种工作模式 PIM的上游接口与下游接口 上游接口 下游接口 PIM邻居发现 Hello报文作用 ...

  5. wireshark抓组播数据_HCIE学习笔记--组播路由协议PIM-DM工作机制解析

    拓扑 二---PIM--DM扩散 组播源发出的第一份ping包此组播域当中的哪些链路和路由器会接收到?解释对应机制与工作原理 组播路由器接口开启了PIM-DM的都会接收到组播报文. 在PIM-DM模式 ...

  6. ip组播,IGMP协议,PIM协议

    IP组播 是一台源ip主机和多台(一组)ip主机之间进行,中间的交换机和路由器根据接收者的需要,有选择地对数据进行复制和转发,主要应用有在线直播,网络电视,远程教育等. 组播方式的优势 无重复流量节省 ...

  7. Java网络编程(八)—— 组播和MulticastSocket

    Java网络编程(八)-- 组播和MulticastSocket 文章目录 Java网络编程(八)-- 组播和MulticastSocket 什么是组播 MulticastSocket类 总述 构造方 ...

  8. HCIE-RS 论述题 组播地址的处理方式

    题目需求 路由器收到组播数据包的目的地址是224.0.0.5和239.0.0.5,会如何处理? 一.224.0.0.5 组播目标地址为224.0.0.5为OSPF协议预留地址,当路由器收到目的地址为2 ...

  9. rpf逆向路径转发 linux,组播RPF 逆向路径转发 实验原理

    RPF,reverse path forwarding. 是组播转发的一个重要基础.只有当RPF检测成功以后,组播流量才能正确的在网络中进行转发. 当在baidu或者google里面查询关键字 &qu ...

最新文章

  1. 【Groovy】Groovy 方法调用 ( 使用 对象名.成员名 访问 Groovy 类的成员 | 使用 对象名.‘成员名‘ 访问类的成员 | 使用 对象名[‘成员名‘] 访问类成员 )
  2. RAC分解步骤之一,在oracle linux 4u4上安装oracle 10.2.0.1.0操作日志
  3. 《数据结构》知识点Day_04
  4. linux进入文件夹命令,如何在 Linux 中不使用 CD 命令进入目录/文件夹?
  5. Centos7下安装Docker(详细安装教程、傻瓜式安装)
  6. dreamstart的催促
  7. LeetCode第45场双周赛-解题报告
  8. C++---异常处理
  9. 数据化管理第一步,你真的会做报表吗?
  10. ASP.NET MVC3 通过Url传多个参数方法
  11. C++中sort排序之自定义排序cmp(入门)
  12. 学python lesson3
  13. BiLSTM+CRF命名实体识别:达观杯败走记(下篇)
  14. 为你的APK进行数字签名
  15. python编程手册 中文pdf_《Python学习手册(第4版)》高清中文PDF(《Learning Python》)...
  16. 存储服务器内的温度检测信号线 用线,常用的3线和4线电阻温度检测器介绍
  17. 项目管理project模板_项目管理常用的10张图表推荐
  18. imac下修改本地hosts文件解决react项目中的跨域问题
  19. 王者荣耀又开始“神仙”操作,全新的神仙英雄在体验服上线!
  20. 吃透浏览器安全(同源限制/XSS/CSRF/中间人攻击)

热门文章

  1. 知识付费风口,请远离贩卖焦虑的毒鸡汤
  2. 微信公众号消息推送【专属早安】,五分钟快速实现,不会编程也可以 【--网站已修复】
  3. ubuntu下matlab添加中文支持
  4. GB 55037-2022 建筑防火通用规范(全文)
  5. WEB安全师傅们的博客友情链接
  6. 【python】PPT转PDF(同一目录下批量)
  7. 美通企业日报 | 京沪深中高端人才月薪超2万;天津首家戴森官方体验店开幕
  8. 人脸识别(一)调用face++实现人脸检测。
  9. 「1077」Kuchiguse
  10. java获取视频时长