IP组播RPF失败常见问题的故障排除方法.docx_第1页
IP组播RPF失败常见问题的故障排除方法.docx_第2页
IP组播RPF失败常见问题的故障排除方法.docx_第3页
IP组播RPF失败常见问题的故障排除方法.docx_第4页
IP组播RPF失败常见问题的故障排除方法.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在排除组播路由故障时,最主要的问题是源地址。 组播有一个反向路径转发检查(RPF 检查Reverse-Path-Forwarding)的概念。 当组播数据包到达某个接口时,RPF 进程将检查以确保此传入接口是单播路由用于抵达组播数据包源的传出接口。 此 RPF 检查进程将防止出现环路。 组播路由不转发数据包,除非数据包的source通过反向路径转发(RPF)检查。 数据包通过此 RPF 检查后,组播路由将仅根据目标地址转发数据包。当在组播配置过程中出现IP组播反向路径转发(RPF)失败时,处理方法可参考下面的案例。以下图为例:在上图中,组播数据包从 IP 地址为 1.1.1.1 的服务器进入路由器 75a 的 E0/0 并发送到组 224.1.1.1。 这称为 (S,G) 或 (1.1.1.1, 224.1.1.1)。故障现象: 直接连接到路由器 75a 的主机接收到了该组播的馈送数据,但直接连接到路由器 72a 的主机没有进行接收。诊断问题: 首先,使用 show ip mroute 224.1.1.1 命令查看路由器 75a 的状况。 该命令将检查组地址为 224.1.1.1 的组播路由 (mroute):75a#show ip mroute 224.1.1.1 IP Multicast Routing Table Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT M - MSDP created entry, X - Proxy Join Timer Running A - Advertised via MSDP Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 224.1.1.1), 00:01:23/00:02:59, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Ethernet0/1, Forward/Sparse-Dense, 00:01:23/00:00:00 (1.1.1.1, 224.1.1.1), 00:01:23/00:03:00, flags: TA Incoming interface: Ethernet0/0, RPF nbr 0.0.0.0 Outgoing interface list: Ethernet0/1, Forward/Sparse-Dense, 00:01:23/00:00:00 由于该路由器运行的是 PIM 密集模式协议(D 标志表明这是密集模式),因此请忽略 (*,G) 条目而只关注 (S,G) 条目。 该条目表明组播数据包来自地址为 1.1.1.1 的服务器并发送到组播组 224.1.1.1。 数据包在 Ethernet0/0 接口传入并在 Ethernet0/1 接口转发出去。 这是一个完美的方案。使用 show ip pim neighbor 命令以查看路由器 72a 是否将上游路由器 (75a) 显示为 PIM 邻居:ip22-72a#show ip pim neighborPIM Neighbor Table Neighbor Address Interface Uptime Expires Ver Mode 2.1.1.1 Ethernet3/1 2d00h 00:01:15 v2 从 show ip pim neighbor 命令的输出看,PIM 邻居看起来一切正常。那么使用 show ip mroute 命令查看路由器 72a 是否具有良好的组播路由:ip22-72a#show ip mroute 224.1.1.1IP Multicast Routing TableFlags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected, L - Local, P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT, M - MSDP created entry, X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement, U - URD, I - Received Source Specific Host Report, Z - Multicast Tunnel Y - Joined MDT-data group, y - Sending to MDT-data groupOutgoing interface flags: H - Hardware switched, A - Assert winner Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 224.1.1.1), 00:10:42/stopped, RP 0.0.0.0, flags: DC Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Ethernet3/1, Forward/Dense, 00:10:42/00:00:00 Ethernet3/2, Forward/Dense, 00:10:42/00:00:00 (1.1.1.1, 224.1.1.1), 00:01:10/00:02:48, flags: Incoming interface: Ethernet2/0, RPF nbr 0.0.0.0 Outgoing interface list: Ethernet3/1, Forward/Dense, 00:01:10/00:00:00 Ethernet3/2, Forward/Dense, 00:00:16/00:00:00 ip22-72a#通过 show ip mroute 224.1.1.1 命令可以发现,传入接口为 Ethernet2/0 而不是预期的 Etheret3/1。使用show ip mroute 224.1.1.1 count 命令,查看该组播组是否有任何组播流量抵达路由器 72a 以及接下来发生的情况:ip22-72a#show ip mroute 224.1.1.1 countIP Multicast Statistics3 routes using 2032 bytes of memory2 groups, 0.50 average sources per groupForwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per secondOther counts: Total/RPF failed/Other drops(OIF-null,rate-limit etc) Group: 224.1.1.1, Source count: 1, Packets forwarded: 0, Packets received: 471 Source: 1.1.1.1/32, Forwarding: 0/0/0/0, Other: 471/471/0ip22-72a#从 Other 计数中可以看到流量由于 RPF 故障而被丢弃: total 471 drops, due to RPF failure 471使用 show ip rpf 命令以查看是否有 RPF 错误ip22-72a#show ip rpf 1.1.1.1RPF information for ? (1.1.1.1) RPF interface: Ethernet2/0 RPF neighbor: ? (0.0.0.0) RPF route/mask: 1.1.1.1/32 RPF type: unicast (static) RPF recursion count: 0 Doing distance-preferred lookups across tablesip22-72a#Cisco IOS以这种方式计算 RPF 接口。 RPF 信息的可能源包括单播路由表、MBGP 路由表、DVMRP 路由表和静态组播路由表。 计算 RPF 接口时,主要使用管理距离确定 RPF 计算所基于的信息源。 具体规则如下: 在所有以前的 RPF 数据源中搜索源 IP 地址的匹配项。 如果使用共享树,则使用 RP 地址而不是源地址。 如果找到多个匹配路由,则使用管理距离最短的路由。 如果管理距离相等,则使用以下优先顺序:1. 静态组播路由2. DVMRP 路由3. MBGP 路由4. 单播路由 如果某个路由在同一个路由表中有多个条目,则使用最长的匹配路由。show ip rpf 1.1.1.1 命令输出表明 RPF 接口为 E2/0,但传入接口应该是 E3/1。使用 show ip route 1.1.1.1 命令以查看 RPF 接口为什么与预期接口不同。ip22-72a#show ip route 1.1.1.1 Routing entry for 1.1.1.1/32 Known via static, distance 1, metric 0 (connected) Routing Descriptor Blocks: * directly connected, via Ethernet2/0 Route metric is 0, traffic share count is 1从 show ip route 1.1.1.1 命令的输出中可以看到有一个静态 /32 路由,它导致选择了错误的接口作为 RPF 接口。使用 debug 命令进行进一步调试ip22-72a#debug ip mpacket 224.1.1.1 *Jan 14 09:45:32.972: IP: s=1.1.1.1 (Ethernet3/1) d=224.1.1.1 len 60, not RPF interface *Jan 14 09:45:33.020: IP: s=1.1.1.1 (Ethernet3/1) d=224.1.1.1 len 60, not RPF interface *Jan 14 09:45:33.072: IP: s=1.1.1.1 (Ethernet3/1) d=224.1.1.1 len 60, not RPF interface *Jan 14 09:45:33.120: IP: s=1.1.1.1 (Ethernet3/1) d=224.1.1.1 len 60, not RPF interface信息包在E3/1进来,是正确的。 然而,他们被丢弃,因为那不是单播路由表使用RPF检查的接口。注意: 调试数据包具有一定危险。 数据包调试会触发非常占用 CPU 资源的组播数据包交换进程。 此外,数据包调试还会产生大量输出,由于向控制台端口输出过慢,从而可能导致将路由器完全挂起。 在调试数据包之前,切记要禁用向控制台的日志输出,并启用将日志输出到内存缓冲区。 为此,需配置 no logging console 和 logging buffered debugging。 可以使用 show logging 命令查看调试结果。处理方法:可以更改单播路由表以满足此要求,也可以添加静态组播路由以强制组播的 RPF 使用特定接口,而不管单播路由表的设置如何。 添加静态组播路由:ip22-72a(config)#ip mroute 1.1.1.1 255.255.255.255 2.1.1.1此静态组播路由表明,要到达地址 1.1.1.1,RPF 将使用 2.1.1.1 作为下一跳,其传出接口为 E3/1。ip22-72a#show ip rpf 1.1.1.1 RPF information for ? (1.1.1.1) RPF interface: Ethernet3/1 RPF neighbor: ? (2.1.1.1) RPF route/mask: 1.1.1.1/32 RPF type: static mroute RPF recursion count: 0 Doing distance-preferred lookups across tables show ip mroute 和 debug ip mpacket 的输出一切正常,show ip mroute count 中的发送数据包数增加了,并且 HostA 收到数据包。ip22-72a#show ip mroute 224.1.1.1 IP Multicast Routing Table Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT M - MSDP created entry, X - Proxy Join Timer Running A - Advertised via MSDP Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 224.1.1.1), 00:01:15/00:02:59, RP 0.0.0.0, flags: DJC Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Ethernet3/1, Forward/Sparse-Dense, 00:01:15/00:00:00 Ethernet3/2, Forward/Sparse-Dense, 00:00:58/00:00:00 (1.1.1.1, 224.1.1.1), 00:00:48/00:02:59, flags: CTA Incoming interface: Ethernet3/1, RPF nbr 2.1.1.1, Mroute Outgoing interface list: Ethernet3/2, Forward/Sparse-Dense, 00:00:48/00:00:00 ip22-72a#show ip mroute 224.1.1.1 countIP Multicast Statistics3 routes using 2378 bytes of memory2 groups, 0.50 average sources per groupForwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per secondOther counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc) Group: 224.1.1.1, Source count: 1, Packets forwarded: 1019, Packets received: 1019 Source: 1.1.1.1/32, Forwarding: 1019/1/100/0, Other: 1019/0/0 ip22-72a#show ip mroute 224.1.1.1 countIP Multicast Statistics3 routes using 2378 bytes of memory

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论