本檔案介紹用於多點傳送網路疑難排解的工具和方法。
本檔案需要熟悉IP多點傳送、網際網路群組管理通訊協定(IGMP)、通訊協定無關多點傳送(PIM)和反向路徑轉送(RPF)。
本文件所述內容不限於特定軟體和硬體版本。
附註:本檔案中的命令可用性、語法和輸出因Cisco平台和軟體版本而異。示例使用Cisco IOS®和Cisco IOS XE®命令輸出。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
對組播網路進行故障排除時,請考慮網路和資料包流中使用的信令協定。信令協定用於設定和中斷組播會話(例如PIM密集模式、PIM稀疏模式和DVMRP)。 資料包流根據信令過程建立的轉發表在源裝置與接收裝置之間傳送、複製和接收組播資料包。
下表組織來源、網路和接收者的訊號傳送和封包流量檢查:
| 來源 |
網路 |
接收器 |
|
| 訊號 |
不適用 |
||
| 封包流量 |
接下來的小節將詳細介紹可用於檢查和解決常見問題的故障排除工具。
完成以下步驟,判斷來源是否已經傳送封包,且已插入正確封包欄位:
1.檢查主機上的介面計數器。首先,檢查源主機上的介面計數器(如果是在UNIX系統上,請運行netstat命令),以檢視它是否傳送資料包。如果失敗,請檢查主機堆疊和應用程式中是否有錯誤組態或錯誤。
2.運行show ip igmp groups <interface-name>命令,驗證路由器已收到該介面上的IGMP成員報告。
3.檢查組播應用程式中資料包的TTL值。要跨越一個路由躍點,必須至少有2個。如果應用程式傳送的TTL值為1的資料包,則當TTL到期時,第一個上游路由器將丟棄這些資料包。若要驗證,請執行show ip traffic命令,並尋找「bad hop count」計數器的值是否增加。TTL值為1或小於介面使用ip multicast ttl-threshold命令設定的TTL閾值的任何資料包將被丟棄,並且「壞跳數」計數器將增加1。運行show ip igmp interface <interface-name>命令檢視介面TTL閾值。
4.運行show ip mroute count和show ip mroute active命令,檢查第一個上游路由器或交換機,以檢視它是否看到來自源的組播資料包。命令輸出會顯示每個(S,G)對的流量統計資訊。如果沒有觀察到任何流量,請繼續檢查源應用程式、主機堆疊、資料包捕獲和第一跳路由器介面。
5.使用組播組或支援的訪問清單(ACL)過濾器和detail關鍵字,在最近的上游路由器上運行debug ip mpacket命令,以瞭解其他資料包資訊和粒度。
附註:當網路上有大量多點傳播流量時,請謹慎執行此命令。僅在必要時在路由器上運行debug ip mpacket命令。運行detail引數以在debug輸出中顯示資料包報頭,並運行訪問清單以檢查來自特定源的流量。請記住,此命令會對其他流量的效能產生嚴重影響。
這是任何網路中最複雜和最重要的故障排除部分。這取決於使用的網路信令協定,例如PIM稀疏模式、PIM密集模式和DVMRP。思科建議採用本節所述的多步驟方法。
完成以下步驟以排除PIM稀疏模式故障:
1.檢查所有組播路由器上是否已啟用IP組播路由。
2.運行show ip pim neighbor命令檢查到期計時器和模式以確保成功建立PIM鄰居,並查詢可能阻止PIM鄰居建立的任何連線和計時器問題。如有必要,運行ip pim version {1介面命令 | 2}和ip pim {dense-mode | sparse-mode | sparse-dense-mode}以配置所需的PIM版本和模式。
3.運行show ip pim rp mapping命令以確保正確的RP-Group對映,並在配置了自動RP的情況下檢查到期計時器。運行debug ip pim auto-rp命令以識別任何自動RP故障。如果您沒有看到任何PIM組到RP的對映,請檢查自動RP配置,或使用ip pim rp-address <rp-address> [<access-list>] [override]命令配置靜態組到RP的映射。使用ip pim send-rp-announce <interface> scope <ttl> group-list <access-list>配置候選RP,並使用ip pim send-rp-discovery <interface> scope <ttl>配置對映代理。以下命令僅適用於自動RP:在候選RP上配置send-rp-announce,並在對映代理上配置send-rp-discovery。
4.運行show ip rpf <source-address>命令以驗證源地址的RPF介面、鄰居和路由。PIM丟棄到達非RPF介面的組播資料包。其他斷言或修剪處理取決於PIM模式和介面型別。debug ip pim命令有助於識別PIM網路中故障的可能原因。將觀察到的輸出與本文檔中的典型輸出進行比較。運行此輸出以標識PIM稀疏模式中的三個離散階段:加入、註冊和SPT切換。show ip mroute命令允許您檢視傳出介面清單中的空條目和mroute表中的已修剪條目。
使用以下命令檢查網路中的組播資料包流:
運行mtrace命令以逐跳檢查組播跟蹤
完成以下步驟以檢查接收方信令:
1.在連線到接收器的第一台上游路由器上運行show ip igmp groups命令,以驗證路由器在面向接收器的介面上獲取到的組成員身份。
2.運行ping命令檢查主機和第一個上游路由器的可達性。
3.運行show ip igmp interface命令以檢查介面的IGMP版本。
4.運行debug ip igmp命令,進一步對接收器信令進行故障排除。
完成以下步驟以檢查接收方資料包流:
1.在UNIX系統上運行netstat命令以檢查接收方介面統計資訊。
2.檢查TCP/IP堆疊是否已正確安裝和配置。
3.檢查組播接收器客戶端應用程式是否已正確安裝和配置。
4.在面向接收者的介面上使用資料包捕獲,以便識別多路訪問網段上的重複組播資料包。
本節中的命令也可用於進行故障排除,尤其是當您測試網路資料包流並找到組播網路中的故障點時。
此命令以ASCII圖形格式顯示組播路徑。它跟蹤網路中任意兩點之間的路徑,顯示網路中每個節點的丟棄和重複、TTL和延遲。
當您需要在網路中查詢擁塞點或關注丟棄/重複次數較高的路由器時,這很有用。計算出的負丟棄值表示下游介面報告的資料包比上游介面多,這可以表示重複的資料包或反取樣差異。
Router#mstat lwei-home-ss2 172.16.58.88 224.0.255.255 Type escape sequence to abort Mtrace from 172.16.143.27 to 172.16.58.88 via group 224.0.255.255 >From source (lwei-home-ss2.cisco.com) to destination (lwei-ss20.cisco.com) Waiting to accumulate statistics...... Results after 10 seconds: Source Response Dest Packet Statistics For Only For Traffic 172.16.143.27 172.16.62.144 All Multicast Traffic From 172.16.143.27
| __/ rtt 48 ms Lost/Sent = Pct Rate To 224.0.255.255 v / hop 48 ms --------------------- -------------------- 172.16.143.25 lwei-cisco-isdn.cisco.com | ^ ttl 1 v | hop 31 ms 0/12 = 0% 1 pps 0/1 = --% 0 pps 172.16.121.84 172.16.121.45 eng-frmt12-pri.cisco.com | ^ ttl 2 v | hop -17 ms -735/12 = --% 1 pps 0/1 = --% 0 pps 172.16.121.4 172.16.5.27 eng-cc-4.cisco.com | ^ ttl 3 v | hop -21 ms -678/23 = --% 2 pps 0/1 = --% 0 pps 172.16.5.21 172.16.62.130 eng-ios-2.cisco.com | ^ ttl 4 v | hop 5 ms 605/639 = 95% 63 pps 1/1 = --% 0 pps 172.16.62.144 172.16.58.65 eng-ios-f-5.cisco.com | \__ ttl 5 v \ hop 0 ms 4 0 pps 0 0 pps 172.16.58.88 172.16.62.144 Receiver Query Source
此命令顯示組播鄰居路由器資訊、路由器功能和代碼版本、組播介面資訊、TTL閾值、度量、協定和狀態。當您必須驗證組播鄰居、確認存在雙向鄰居鄰接關係以及驗證隧道在兩個方向上都處於開啟狀態時,這很有用。
Router#mrinfo 192.168.7.37 (b.cisco.com) [version cisco 11.1] [flags: PMSA]: 192.168.7.37 -> 192.168.7.34 (s.cisco.com) [1/0/pim] 192.168.7.37 -> 192.168.7.47 (d.cisco.com) [1/0/pim] 192.168.7.37 -> 192.168.7.44 (d2.cisco.com) [1/0/pim] 192.168.9.26 -> 192.168.9.29 (su.bbnplanet.net) [1/32/pim]
輸出中的標誌表示:
P =支援修剪
M =支援Mtrace
S =支援SNMP
A =支援自動RP
此命令顯示從源到接收方的組播路徑,並跟蹤網路中各點之間的路徑,其中顯示每個節點的TTL閾值和延遲。
進行故障排除時,運行mtrace命令以查詢組播流量停止的位置、驗證組播流量的路徑以及識別次優路徑。
Router#mtrace 192.168.215.41 192.168.215.67 239.254.254.254 Type escape sequence to abort. Mtrace from 192.168.215.41 to 192.168.215.67 via group 239.254.254.254 From source (?) to destination (?) Querying full reverse path... 0 192.168.215.67 -1 192.168.215.67 PIM thresh^ 0 0 ms -2 192.168.215.74 PIM thresh^ 0 2 ms -3 192.168.215.57 PIM thresh^ 0 894 ms -4 192.168.215.41 PIM thresh^ 0 893 ms -5 192.168.215.12 PIM thresh^ 0 894 ms -6 192.168.215.98 PIM thresh^ 0 893 ms
進行疑難排解時,ping指令是實驗室中產生多點傳播流量以測試多點傳播樹的一種簡單方法,因為處理多點傳送ICMP回應要求的可到達群組成員可以回應。
R3#ping 239.255.0.1 Type escape sequence to abort. Sending 1, 100-byte ICMP Echos to 239.255.0.1, timeout is 2 seconds: Reply to request 0 from 172.16.12.2, 16 ms Reply to request 0 from 172.16.7.2, 20 ms
本節中的命令可幫助您在對組播問題進行故障排除時收集有用的資訊。請參閱IP多點傳送組態設定指南Cisco IOS XE 17.x以瞭解其他資訊。
提示:如果您的show命令回應緩慢,路由器可能正在命令輸出中執行IP網域查詢位址。您可以在全域性配置模式下運行no ip domain lookup命令來禁用IP域查詢。這將停止IP域查詢並提高show命令輸出速度。
此命令顯示哪些組播組直接連線到路由器,哪些組播組通過網際網路組管理協定(IGMP)獲取。您可以使用此命令驗證接收器或本地加入的路由器介面是否已加入路由器介面上的目標組。Last Reporter列僅顯示一個IGMP主機,這表示該主機已傳送未經請求的IGMP連線或IGMP報告,以響應來自該特定組的PIM路由器的IGMP查詢。您可以看到每個組和介面條目都有一個最後報告程式。
R1#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 239.255.0.1 Ethernet1 00:10:54 00:01:10 192.168.9.1 224.0.1.40 Ethernet0 01:36:27 00:02:45 192.168.10.2 224.0.1.40 Ethernet1 01:48:15 never 192.168.9.3
運行此命令可顯示介面上與組播相關的資訊,並驗證IGMP已啟用、運行了正確的版本、計時器、生存時間(TTL)閾值和IGMP查詢器路由器設定正確。不需要在介面上配置IGMP。當您配置ip pim {dense-mode|sparse-mode|sparse-dense-mode}時,預設啟用此功能。
R1#show ip igmp interface
Ethernet1 is up, line protocol is up
Internet address is 192.168.9.3/24
IGMP is enabled on interface
Current IGMP version is 2
CGMP is disabled on interface
IGMP query interval is 60 seconds
IGMP querier timeout is 120 seconds
IGMP max query response time is 10 seconds
Last member query response interval is 1000 ms
Inbound IGMP access group is not set
IGMP activity: 22 joins, 18 leaves
Multicast routing is enabled on interface
Multicast TTL threshold is 0
Multicast designated router (DR) is 192.168.9.5
IGMP querying router is 192.168.9.3 (this system)
Multicast groups joined (number of users):
224.0.1.40(1)
運行此命令可列出Cisco IOS軟體發現的協定無關組播(PIM)鄰居。
R1#show ip pim neighbor PIM Neighbor Table Neighbor Interface Uptime/Expires Ver DR Address Prio/Mode 10.10.10.1 Ethernet0/0 02:19:41/00:01:38 v2 1 / DR B S
每個欄位的詳細資訊解釋如下:
Neighbor Address:指定PIM鄰居IP地址。
Interface:在其中發現PIM鄰居的介面。
運行時間:鄰居的總運行時間。
Expires:鄰居超時之前的時間,以及收到下一個PIM hello之前的時間。
版本:鄰居介面上的PIM版本。
DR Prio:可能值為0到4294967294或N。
這是一個新列,用於跟蹤PIM介面的DR選舉優先順序。使用Bidir-PIM的Cisco IOS®軟體版本12.1(2)T和12.2以及Cisco IOS®映像引入了根據最高優先順序與最高IP地址配置DR的功能。可以運行ip pim dr-priority <0-4294967294> 介面命令來設定DR優先順序。預設DR優先順序設定為1。
對於互操作性,如果PIM鄰居運行不支援DR優先順序功能的舊版Cisco IOS®,則「DR Previous」列顯示為N。如果多路訪問網路上的任何路由器不通告DR Priority選項,則DR選舉將使用該網路上所有PIM路由器中的最高主IP地址。
模式:有關DR和其他PIM功能的資訊。
除了PIM鄰居支援的所有功能外,此列還列出DR:
DR - PIM鄰居是指定路由器
B — 支援雙向PIM(Bidir-PIM)
S — 支援狀態刷新(僅適用於密集模式)
進行故障排除時,使用此命令驗證所有鄰居都已啟動,並且它們使用正確的模式、版本和過期計時器。您還可以檢查路由器配置,或使用show ip pim interface命令驗證模式(PIM稀疏模式或密集模式)。 使用debug ip pim命令觀察pim查詢消息交換。
運行此命令可顯示為PIM配置的介面的資訊。此外,您可以運行此命令來驗證介面上配置了正確的PIM模式(密集或稀疏),鄰居計數正確,指定路由器(DR)正確(這對於PIM稀疏模式至關重要)。 多路訪問網段(如乙太網、權杖環、FDDI)根據通告的最高DR優先順序選擇DR,並將最高的主要IP地址用作中繼器。如果路由器不通告DR優先順序,則選擇使用最高的主要IP地址。點對點鏈路不顯示DR資訊。
R1#show ip pim interface
Address Interface Version/Mode Nbr Query DR
Count Intvl
192.168.10.1 Ethernet0 v2/Sparse-Dense 1 30 192.168.10.2
192.168.9.3 Ethernet1 v2/Sparse-Dense 1 30 192.168.9.5
運行此命令以顯示IP組播路由表的摘要內容。當您檢視計時器和標誌時,您還可以使用此選項來驗證活動的組播組以及哪些組播傳送器處於活動狀態。
R1#show ip mroute summary
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
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.255.0.1), 01:57:07/00:02:59, RP 192.168.7.2, flags: SJCF
(192.168.33.32, 239.255.0.1), 01:56:23/00:02:59, flags: CJT
(192.168.9.1, 239.255.0.1), 01:57:07/00:03:27, flags: CFT
(*, 224.0.1.40), 1d00h/00:00:00, RP 192.168.7.2, flags: SJPCL
運行此命令以顯示IP組播路由表的完整內容。進行疑難排解時,請運行此命令以驗證:
來自標誌的(S,G)和(*,G)狀態條目。
傳入介面正確。如果不是,請檢查單播路由表。
傳出介面正確。如果錯誤修剪,請檢查下游路由器中的狀態。
R1#show ip mroute
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
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.255.0.1), 01:55:27/00:02:59, RP 192.168.7.2, flags: SJCF
Incoming interface: Ethernet0, RPF nbr 192.168.10.2
Outgoing interface list:
Ethernet1, Forward/Sparse, 01:55:27/00:02:52
(192.168.33.32 , 239.255.0.1), 01:54:43/00:02:59, flags: CJT
Incoming interface: Ethernet0, RPF nbr 192.168.10.2
Outgoing interface list:
Ethernet1, Forward/Sparse, 01:54:43/00:02:52
(192.168.9.1, 239.255.0.1), 01:55:30/00:03:26, flags: CFT
Incoming interface: Ethernet1, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0, Forward/Sparse, 01:55:30/00:03:12
(*, 224.0.1.40), 1d00h/00:00:00, RP 192.168.7.2, flags: SJPCL
Incoming interface: Ethernet0, RPF nbr 192.168.10.2
Outgoing interface list: Null
運行此命令可顯示超過閾值的活動流量源和組。進行故障排除時,請使用它來驗證活動的源組對、超過已配置閾值的每個(S,G)條目的流量速率,以及是否收到目標組組播流量。如果沒有收到流量,請尋找從來源到接收者的有效流量。
R1#show ip mroute active Active IP Multicast Sources - sending >= 4 kbps Group: 239.255.0.1, (?) Source: 192.168.33.32 (?) Rate: 10 pps/115 kbps(1sec), 235 kbps(last 23 secs), 87 kbps(life avg)
運行此命令以顯示IP組播路由如何執行反向路徑轉發(RPF)。 進行故障排除時,使用它來驗證RPF資訊是否正確。如果不是,請檢查源地址的單播路由表。此外,在來源位址上執行ping和trace命令,以驗證單點傳播路由是否有效。您可以使用距離向量組播路由協定(DVMRP)路由或靜態路由來修復任何單播 — 組播不一致問題。
R1#show ip rpf 192.168.33.32 RPF information for ? (192.168.33.32) RPF interface: Ethernet0 RPF neighbor: ? (192.168.10.2) RPF route/mask: 192.168.33.0/16 RPF type: unicast (eigrp 1) RPF recursion count: 0 Doing distance-preferred lookups across tables
在支援組播快速交換快取的Cisco IOS®版本上,此命令顯示快取條目並幫助隔離快速交換問題。在較新的Cisco IOS XE®平台上,運行show ip mfib命令以顯示組播轉發資訊。
R1#show ip mcache IP Multicast Fast-Switching Cache (192.168.33.32/32, 239.255.0.1), Ethernet0, Last used: 00:00:00 Ethernet1 MAC Header: 01005E7F000100000C13DBA90800 (192.168.9.1/32, 239.255.0.1), Ethernet1, Last used: 00:00:00 Ethernet0 MAC Header: 01005E7F000100000C13DBA80800
運行此命令以驗證是否收到組播流量,並檢查其流量和丟棄。如果沒有收到流量,請從來源到接收者進行工作,直到找到流量停止的位置。您也可以運行此命令來驗證流量是否已轉發。如果不是,請運行show ip mroute命令以查詢「Null Outgoing interface list」和RPF故障。
R1#show ip mroute count
IP Multicast Statistics
routes using 2406 bytes of memory
2 groups, 1.00 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)
Group: 239.255.0.1, Source count: 2, Group pkt count: 11709
RP-tree: Forwarding: 3/0/431/0, Other: 3/0/0
Source: 192.168.33.32/32, Forwarding: 11225/6/1401/62, Other: 11225/0/0
Source: 192.168.9.1/32, Forwarding: 481/0/85/0, Other: 490/0/9
Group: 224.0.1.40, Source count: 0, Group pkt count:
運行此命令可檢查單播路由表並修復mroute表中的RPF故障。
R2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
D 192.168.9.0/24 [90/307200] via 192.168.10.1, 00:59:45, Ethernet0
C 192.168.10.0/24 is directly connected, Ethernet0
D 192.168.4.0/24 [90/11040000] via 192.168.7.1, 23:21:00, Serial0
D 192.168.5.0/24 [90/11023872] via 192.168.7.1, 23:21:02, Serial0
C 192.168.7.0/24 is directly connected, Serial0
D 192.168.33.0/16 [90/2195456] via 192.168.7.1, 1d23h, Serial0
D 192.168.1.0/24 [90/11552000] via 192.168.7.1, 22:41:27, Serial0
運行此命令可按組播組範圍檢查RP分配,並驗證RP學習(靜態或自動RP)的來源和對映是否正確。如果發現錯誤,請檢查本地路由器配置或自動RP配置。
R1#show ip pim rp mapping
PIM Group-to-RP Mappings
Group(s) 224.0.1.40/32
RP 192.168.7.2 (?), v1
Info source: local, via Auto-RP
Uptime: 2d00h, expires: never
Group(s): 224.0.0.0/4, Static
RP: 192.168.7.2 (?)
本節旨在向您說明某些debug指令輸出在正常運作的網路中必須達到的外觀。進行疑難排解時,您可以區分正確的debug輸出和指出網路中問題的內容。有關這些debug命令的更多詳細資訊,請參閱Cisco IOS Debug命令參考。
運行debug ip igmp命令以顯示接收和傳輸的IGMP資料包以及IGMP主機相關事件。此命令的no形式將禁用調試輸出。
此輸出可幫助您發現IGMP進程是否正常工作。一般來說,如果IGMP不起作用,路由器不會在連線的介面上學習接收方組成員身份。在PIM密集模式下,初始泛洪可以將流量傳送到網段,直到修剪刪除網段。在PIM稀疏模式中,路由器不會將面向接收方的介面新增到傳出介面清單中,而無需接收方成員資格或其他本地轉發要求。
R1#debug ip igmp 12:32:51.065: IGMP: Send v2 Query on Ethernet1 to 224.0.0.1 12:32:51.069: IGMP: Set report delay time to 9.4 seconds for 224.0.1.40 on Ethernet1 12:32:56.909: IGMP: Received v1 Report from 192.168.9.1 (Ethernet1) for 239.255.0.1 12:32:56.917: IGMP: Starting old host present timer for 239.255.0.1 on Ethernet1 12:33:01.065: IGMP: Send v2 Report for 224.0.1.40 on Ethernet1 12:33:01.069: IGMP: Received v2 Report from 192.168.9.4 (Ethernet1) for 224.0.1.40 12:33:51.065: IGMP: Send v2 Query on Ethernet1 to 224.0.0.1
上一個輸出顯示路由器將組播地址224.0.0.1(此子網上的所有組播系統)的IGMP版本2查詢從介面Ethernet 1發出。 Interface Ethernet 1本身是組224.0.1.40(可以運行show ip igmp interface命令來確定這一點)的成員,該命令將報告延遲時間設定為9.4秒(隨機確定)。 由於它在接下來的9.4秒內沒有收到來自另一個組播組224.0.1.40系統的任何報告,因此它會傳送其成員資格的版本2報告,該報告由位於乙太網1上的路由器本身接收。它還從主機192.168.9.1接收IGMP報告版本1,該主機直接連線到組239.255.0.1的介面Ethernet 1。
當您驗證路由器介面是否傳送查詢並確定查詢間隔(在上一個案例中,為60秒)時,此debug輸出非常有用。 您還可以使用該命令來確定客戶端使用的IGMP版本。
運行debug ip mpacket命令以顯示所有接收和傳輸的IP組播資料包。此命令的no形式將禁用調試輸出。
R1#debug ip mpacket 239.255.0.1 detail 13:09:55.973: IP: MAC sa=0000.0c70.d41e (Ethernet0), IP last-hop=192.168.10.2 13:09:55.977: IP: IP tos=0x0, len=892, id=0xD3C1, ttl=12, prot=17 13:09:55.981: IP: s=192.168.33.32 (Ethernet0) d=239.255.0.1 (Ethernet1) len 906, mforward
此命令對組播資料包進行解碼,並顯示資料包是轉發(mforward)還是丟棄。這在您對網路中的封包流問題進行偵錯,以檢視TTL值以及封包遭到捨棄的原因時很有用。
注意:開啟封包層級偵錯輸出時,尤其是當路由器服務多點傳播封包負載高時,請謹慎使用。
此命令對於路由表維護非常有用。使用它來驗證(S,G)mroute是否已安裝在IP組播路由表中,如果沒有,則說明原因。此輸出中的關鍵資訊是RPF介面。如果存在RPF檢查故障,(S,G)mroute將無法安裝到mrouting表中。
R1#debug ip mrouting 239.255.0.1 13:17:27.821: MRT: Create (*, 239.255.0.1), RPF Null, PC 0x34F16CE 13:17:27.825: MRT: Create (192.168.33.32/32, 239.255.0.1), RPF Ethernet0/192.168.10.2, PC 0x34F181A 13:17:30.481: MRT: Create (192.168.9.1/32, 239.255.0.1), RPF Ethernet1/0.0.0.0, PC 0x34F18
運行debug ip pim命令以顯示接收和傳輸的PIM資料包以及PIM相關事件。此命令的no形式會禁用調試輸出。本節通過一個示例來幫助您瞭解PIM稀疏模式的調試輸出,並顯示典型的調試輸出。
以下是R1上debug ip pim的輸出:
R1#debug ip pim PIM: Send v2 Hello on Ethernet0 PIM: Send v2 Hello on Ethernet1 PIM: Received v2 Hello on Ethernet0 from 192.168.10.2 PIM: Send v2 Hello on Ethernet0 PIM: Send v2 Hello on Ethernet1 PIM: Building Join/Prune message for 239.255.0.1 PIM: v2, for RP, Join-list: 192.168.7.2/32, RP-bit, WC-bit, S-bit PIM: Send v2 periodic Join/Prune to RP via 192.168.10.2 (Ethernet0) PIM: Received RP-Reachable on Ethernet0 from 192.168.7.2 for group 239.255.0.1 PIM: Update RP expiration timer (270 sec) for 239.255.0.1
現在,當組239.255.0.1的組播接收器加入R1時,檢視R1和R2之間的debug輸出。首先,檢視R1上的輸出:
1 PIM: Check RP 192.168.7.2 into the (*, 239.255.0.1) entry 2 PIM: Send v2 Join on Ethernet0 to 192.168.10.2 for (192.168.7.2/32, 239.255.0.1), WC-bit, RPT-bit, S-bit 3 PIM: Building batch join message for 239.255.0.1 4 PIM: Building Join/Prune message for 239.255.0.1 5 PIM: v2, for RP, Join-list: 192.168.7.2/32, RP-bit, WC-bit, S-bit 6 PIM: Send v2 periodic Join/Prune to RP via 192.168.10.2 (Ethernet0) 7 PIM: Received RP-Reachable on Ethernet0 from 192.168.7.2 : for group 239.255.0.1 8 PIM: Update RP expiration timer (270 sec) for 239.255.0.1 9 PIM: Building Join/Prune message for 239.255.0.1 10 PIM: v2, for RP, Join-list: 192.168.7.2/32, RP-bit, WC-bit, S-bit 11 PIM: Send v2 periodic Join/Prune to RP via 192.168.10.2 (Ethernet0)
現在,檢視R2上的輸出:
12 PIM: Received v2 Join/Prune on Ethernet0 from 192.168.10.1, to us 13 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2 14 PIM: Check RP 192.168.7.2 into the (*, 239.255.0.1) entry, RPT-bit set, WC-bit set, S-bit set 15 PIM: Add Ethernet0/192.168.10.1 to (*, 239.255.0.1), Forward state 16 PIM: Building Join/Prune message for 239.255.0.1 17 PIM: Received v2 Join/Prune on Ethernet0 from 192.168.10.1, to us 18 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RPT-bit set, WC-bit set, S-bit set 19 PIM: Add Ethernet0/192.168.10.1 to (*, 239.255.0.1), Forward state 20 PIM: Building Join/Prune message for 239.255.0.1 21 PIM: Send RP-reachability for 239.255.0.1 on Ethernet0 22 PIM: Received v2 Join/Prune on Ethernet0 from 192.168.10.1, to us 23 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RPT-bit set, WC-bit set, S-bit set 24 PIM: Add Ethernet0/192.168.10.1 to (*, 239.255.0.1), Forward state 25 PIM: Building Join/Prune message for 239.255.0.1
在前面的第1行中,組239.255.0.1的組播接收器加入R1。這會在mroute表中安裝(*, 239.255.0.1)條目。然後,在第2行中,組播接收器向R2(RP)傳送IGMP加入以加入共用樹。
當PIM加入/修剪到達R2時,R2會安裝(*, 239.255.0.1)mroute,如R2輸出第12行至第15行所示。
R2在其路由表中安裝(*, 239.255.0.1)後,會將其從中收到加入/修整消息的介面新增到其處於轉發狀態的傳出介面清單(OIL)中。然後,它會在收到加入/修剪消息的介面上傳送回可到達RP的消息。此事務顯示在R2輸出的第15行至第21行中。R1收到組239.255.0.1的RP可到達消息並更新其RP的過期計時器。預設情況下,此交換每分鐘重複一次,並刷新其組播轉發狀態,如R1輸出的第7行和第8行所示。
在下一行中,將會看到R2(RP)和R3之間的debug輸出。源(直接連線到R3)開始將資料包傳送到組239.255.0.1。
首先,檢視R3上的輸出:
1 PIM: Check RP 192.168.7.2 into the (*, 239.255.0.1) entry 2 PIM: Building Join/Prune message for 239.255.0.1 3 PIM: For RP, Join-list: 192.168.7.2/32, RP-bit, WC-bit 4 PIM: Send periodic Join/Prune to RP via 192.168.7.2 (Serial4/0) 5 PIM: Received RP-Reachable on Serial4/0 from 192.168.7.2 6 PIM: Update RP expiration timer (270 sec) for 239.255.0.1 7 PIM: Send Register to 192.168.7.2 for 192.168.33.32, group 239.255.0.1 8 PIM: Send Register to 192.168.7.2 for 192.168.33.32, group 239.255.0.1 9 PIM: Received Join/Prune on Serial4/0 from 192.168.7.2 10 PIM: Join-list: (192.168.33.32/32, 239.255.0.1), S-bit set 11 PIM: Add Serial4/0/192.168.7.2 to (192.168.33.32/32, 239.255.0.1), Forward state 12 PIM: Received Register-Stop on Serial4/0 from 192.168.7.2 13 PIM: Clear register flag to 192.168.7.2 for (192.168.33.32/32, 239.255.0.1) 14 PIM: Received Register-Stop on Serial4/0 from 192.168.7.2 15 PIM: Clear register flag to 192.168.7.2 for (192.168.33.32/32, 239.255.0.1)
這是R2(RP)的輸出:
16 PIM: Received Join/Prune on Serial0 from 192.168.7.1, to us 17 PIM: Send RP-reachability for 239.255.0.1 on Serial0 18 PIM: Received Register on Serial0 from 192.168.7.1 for 192.168.33.32, group 239.255.0.1 19 PIM: Forward decapsulated data packet for 239.255.0.1 on Ethernet0 20 PIM: Forward decapsulated data packet for 239.255.0.1 on Serial0 21 PIM: Send Join on Serial0 to 192.168.7.1 for (192.168.33.32/32, 239.255.0.1), S-bit 22 PIM: Send Join on Serial0 to 192.168.7.1 for (192.168.33.32/32, 239.255.0.1), S-bit 23 PIM: Send Register-Stop to 192.168.7.1 for 192.168.33.32, group 239.255.0.1 24 PIM: Received Join/Prune on Serial0 from 192.168.7.1, to us 25 PIM: Prune-list: (192.168.33.32/32, 239.255.0.1) 26 PIM: Received v2 Join/Prune on Ethernet0 from 192.168.10.1, to us 27 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RPT-bit set, WC-bit set, S-bit set 28 PIM: Add Ethernet0/192.168.10.1 to (*, 239.255.0.1), Forward state 29 PIM: Add Ethernet0/192.168.10.1 to (192.168.33.32/32, 239.255.0.1) 30 PIM: Join-list: (192.168.33.32/32, 239.255.0.1), S-bit set 31 PIM: Add Ethernet0/192.168.10.1 to (192.168.33.32/32, 239.255.0.1), Forward state 32 PIM: Building Join/Prune message for 239.255.0.1 33 PIM: For 192.168.7.1, Join-list: 192.168.33.32/32 34 PIM: For 192.168.10.1, Join-list: 192.168.9.1/32 35 PIM: Send v2 periodic Join/Prune to 192.168.10.1 (Ethernet0) 36 PIM: Send periodic Join/Prune to 192.168.7.1 (Serial0) 37 PIM: Received Join/Prune on Serial0 from 192.168.7.1, to us 38 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RP-bit set, WC-bit set, S-bit set 39 PIM: Add Serial0/192.168.7.1 to (*, 239.255.0.1), Forward state 40 PIM: Add Serial0/192.168.7.1 to (192.168.33.32/32, 239.255.0.1) 41 PIM: Add Serial0/192.168.7.1 to (192.168.9.1/32, 239.255.0.1) 42 PIM: Join-list: (192.168.9.1/32, 239.255.0.1), S-bit set 43 PIM: Add Serial0/192.168.7.1 to (192.168.9.1/32, 239.255.0.1), Forward state 44 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RP-bit set, WC-bit set, S-bit set 45 PIM: Add Serial0/192.168.7.1 to (*, 239.255.0.1), Forward state
| 修訂 | 發佈日期 | 意見 |
|---|---|---|
3.0 |
23-Sep-2026
|
更新拼寫、語法、插入水平線以分隔各個部分的可讀性、固定CCW警報。 |
2.0 |
28-Nov-2023
|
重新認證 |
1.0 |
10-Dec-2001
|
初始版本 |