目錄

簡介

必要條件

需求

採用元件

慣例

背景資訊

密集模式

具有一個RP的稀疏模式

具有多個RP的稀疏模式

使用一個RP的自動RP

具有多個RP的自動RP

DVMRP

MBGP

MSDP

虛電路多點傳送路由

適用於衛星連結的IGMP UDLR

PIMv2 BSR

CGMP

IGMP窺探

PGM

MRM

疑難排解

相關資訊

簡介

本檔案介紹如何為各種網路場景設定多點傳送的基礎知識。

必要條件

需求

思科建議您瞭解以下主題：

- 網際網路通訊協定(IP)多點傳送。

採用元件

本文件所述內容不限於特定軟體和硬體版本。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

慣例

如需文件慣例的詳細資訊，請參閱思科技術提示慣例。

背景資訊

IP組播是一種節省頻寬的技術，可降低流量，因為它同時向數千個企業接收者和家庭提供單一資訊流。利用組播的應用包括視訊會議、公司通訊、遠端學習，以及軟體、股票報價和新聞的分發。

密集模式

思科建議您在可能的情況下，尤其是對於新部署，使用協定無關組播(PIM)稀疏模式，特別是自動RP。但是，如果需要密集模式，請在需要處理組播流量的每個介面上配置全域性命令ip multicast-routing 和interface命令ip pim sparse-dense-mode。本文檔中所有配置的常見要求是全域性配置組播並在介面上配置PIM。自Cisco IOS®軟體版本11.1起，可以使用ip pim sparse-dense-mode 命令同時配置介面命令ip pim dense-mode 和ip pim sparse-mode 。在此模式下，如果組處於密集模式，則介面被視為密集模式。如果組處於稀疏模式（例如，如果已知某個RP），則該介面被視為稀疏模式。

註：本文檔示例中的「源」表示組播流量的源，「接收器」表示組播流量的接收器。

如果組處於密集模式，則介面被視為密集模式

路由器A的配置

ip multicast-routing

interface ethernet0

ip address <address> <mask>

ip pim sparse-dense-mode

interface serial0

ip address <address> <mask>

ip pim sparse-dense-mode

路由器B配置

ip multicast-routing

interface serial0

ip address <address> <mask>

ip pim sparse-dense-mode

interface ethernet0

ip address <address> <mask>

ip pim sparse-dense-mode

具有一個RP的稀疏模式

在本例中，路由器A是RP，它通常是距離源最近的路由器。靜態RP配置要求PIM域中的所有路由器都配置了samei p pim rp-address 命令。您可以配置多個RP，但每個特定組只能有一個RP。

可以有多個RP，但每個特定組只能有一個RP

路由器A的配置

ip multicast-routing

ip pim rp-address 10.1.1.1

interface ethernet0

ip address <address> <mask>

ip pim sparse-dense-mode

interface serial0

ip address 10.1.1.1 255.255.255.0

ip pim sparse-dense-mode

路由器B配置

ip multicast-routing

ip pim rp-address 10.1.1.1

interface serial0

ip address <address> <mask>

ip pim sparse-dense-mode

interface ethernet0

ip address <address> <mask>

ip pim sparse-dense-mode

具有多個RP的稀疏模式

在本範例中，來源A傳送到224.1.1.1、224.1.1.2和224.1.1.3。Source-B傳送到224.2.2.2、224.2.2.3和224.2.2.4。可以有一台路由器（RP 1或RP 2）作為所有組的RP。但是，如果您希望不同的RP處理不同的組，則需要配置所有路由器以包括RP可以服務的組。這種型別的靜態RP配置要求PIM域中的所有路由器配置相同的ip pim rp-address address acl命令。您還可以使用自動RP來實現相同的設定，此設定更易於配置。

來源A傳送到224.1.1.1、224.1.1.2和224.1.1.3；來源B傳送到224.2.2.2、224.2.2.3和224.2.2.4。

RP 1配置

ip multicast-routing

ip pim RP-address 10.1.1.1 2

ip pim RP-address 10.2.2.2 3

access-list 2 permit 224.1.1.1

access-list 2 permit 224.1.1.2

access-list 2 permit 224.1.1.3

access-list 3 permit 224.2.2.2

access-list 3 permit 224.2.2.3

access-list 3 permit 224.2.2.4

RP 2配置

ip multicast-routing

ip pim RP-address 10.1.1.1 2

ip pim RP-address 10.2.2.2  3

access-list 2 permit 224.1.1.1

access-list 2 permit 224.1.1.2

access-list 2 permit 224.1.1.3

access-list 3 permit 224.2.2.2

access-list 3 permit 224.2.2.3

access-list 3 permit 224.2.2.4

路由器3和4的配置

ip multicast-routing

ip pim RP-address 10.1.1.1  2

ip pim RP-address 10.2.2.2  3

access-list 2 permit 224.1.1.1

access-list 2 permit 224.1.1.2

access-list 2 permit 224.1.1.3

access-list 3 permit 224.2.2.2

access-list 3 permit 224.2.2.3

access-list 3 permit 224.2.2.4

使用一個RP的自動RP

自動RP要求您配置RP，以宣佈其作為RP和對映代理的可用性。RP使用224.0.1.39傳送公告。RP對映代理偵聽來自RP的已通告資料包，然後在傳送到224.0.1.40的發現消息中傳送RP到組的對映。這些發現消息被剩餘路由器用於其RP到組對映。您可以使用一個同時充當對映代理的RP，也可以配置多個RP和多個對映代理以實現冗餘。

請注意，當您選擇來源RP公告的介面時，思科建議您使用環回介面而不是物理介面。此外，可以使用交換VLAN介面(SVI)。如果VLAN介面用於通告RP地址，則ip pim [vrf vrf-name] send-rp-announce {interface-type interface-number中的interface-type選項 | ip-address} scope ttl-value 命令必須包含VLAN介面和VLAN編號。例如，該命令類似ip pim send-rp-announceVlan500 scope 100。如果您選擇物理介面，則依靠該介面始終處於開啟狀態。實際情況並非總是如此，一旦物理介面關閉，路由器就會停止將自己通告為RP。使用環回介面時，它始終處於開啟狀態且從不關閉，這可以確保RP繼續通過任何可用介面將自身通告為RP。即使其一個或多個物理介面發生故障也是如此。回送介面必須啟用PIM並由內部網關協定(IGP)通告，或者必須使用靜態路由到達。

環回介面必須啟用PIM並通過內部網關協定進行通告或使用靜態路由到達

路由器A的配置

ip multicast-routing

ip pim send-rp-annouce loopback0 scope 16

ip pim send-rp-discover

scope 16

interface loopback0

ip address <address> <mask>

ip pim sparse-dense-mode

interface ethernet0

ip address <address> <mask>

ip pim sparse-dense-mode

interface serial0

ip address <address> <mask>

ip pim sparse-dense-mode

路由器B配置

ip multicast-routing

interface ethernet0

ip address <address> <mask>

ip pim sparse-dense-mode

interface serial0

ip address <address> <mask>

ip pim sparse-dense-mode

具有多個RP的自動RP

本示例中的訪問清單僅允許RP成為您想要的組的RP。如果未配置訪問清單，則RP可用作所有組的RP。如果兩個RP宣佈它們可以成為同一組的RP，則對映代理使用「最高IP地址優先」規則解決這些衝突。

當該組通告兩個RP時，您可以為每個路由器配置環回地址，以影響哪個路由器是特定組的RP。將較高的IP地址放在首選RP上，然後使用環回介面作為通告資料包的源；例如，ip pim send-RP-announceloback0。當使用多個對映代理時，每個對映代理都會將同一組到RP的對映通告到224.0.1.40發現組。

將較高的IP地址放在首選RP上

RP 1配置

ip multicast-routing

interface loopback0

ip address <address> <mask>

ip pim sparse-dense-mode

ip pim send-RP-announce loopback0 scope 16 group-list 1

ip pim send-RP-discovery scope 16

access-list 1 permit 239.0.0.0 0.255.255.255

RP 2配置

ip multicast-routing

interface loopback0

ip address <address> <mask>

ip pim sparse-dense-mode

ip pim send-RP-announce loopback0 scope 16 group-list 1

ip pim send-RP-discovery scope 16

access-list 1 deny 239.0.0.0 0.255.255.255

access-list 1 permit 224.0.0.0 10.255.255.255

DVMRP

您的Internet服務提供商(ISP)可能建議您建立到ISP的距離向量組播路由協定(DVMRP)隧道，以便訪問Internet(mbone)中的組播主幹。配置DVMRP隧道的最低命令如下所示：

interface tunnel0

ip unnumbered <any pim interface>

tunnel source <address of source>

tunnel destination <address of ISPs mrouted box>

tunnel mode dvmrp

ip pim sparse-dense-mode

通常ISP會讓您通過隧道連線到運行「mrouted」(DVMRP)的UNIX電腦。如果ISP讓您改為通過隧道連線到另一台Cisco裝置，請使用預設GRE隧道模式。

如果您要為mbone上的其他人生成組播資料包而不是接收組播資料包，則需要通告源子網。如果您的組播源主機地址是172.16.108.1，則需要將該子網的存在通告給mbone。預設情況下，使用度量1通告直連網路。

如果您的來源沒有使用DVMRP通道直接連線到路由器，請在介面tunnel0：下配置此項

ip dvmrp metric 1 list 3

access-list 3 permit  172.16.108.0 0.0.0.255

注意：您必須在此命令中包含訪問清單，才能防止將整個單播路由表通告到mbone。

如果您的設定類似於此處所示的設定，並且您想要通過域傳播DVMRP路由，請在路由器A和B的serial0介面上配置ip dvmrp unicast-routing命令。此操作會將DVMRP路由轉發到隨後具有用於反向路徑轉發(RPF)的DVMRP路由表的PIM鄰居。DVMRP獲知的路由的RPF優先順序高於所有其他協定，直連路由除外。

通過域傳播DVMRP路由

MBGP

多重通訊協定邊界閘道通訊協定(MBGP)是傳輸兩組路由的基本方法：一組用於單點傳播路由，另一組用於多點傳播路由。MBGP提供決定允許組播資料包在何處流轉的必要控制。PIM使用與組播路由關聯的路由來構建資料分發樹。MBGP提供RPF路徑，而不是建立組播狀態。要轉發組播資料包，仍然需要PIM。

仍需要PIM才能轉發組播資料包

路由器A的配置

ip multicast-routing

interface loopback0

ip pim sparse-dense-mode

ip address 192.168.2.2 255.255.255.0

interface serial0

ip address 192.168.100.1 255.255.255.0

interface serial1

ip pim sparse-dense-mode

ip address 192.168.200.1 255.255.255.0

router bgp 123

network 192.168.100.0 nlri unicast

network 192.168.200.0 nlri multicast

neighbor 192.168.1.1 remote-as 321 nlri unicast multicast

neighbor 192.168.1.1 ebgp-multihop 255

neighbor 192.168.100.2 update-source loopback0

neighbor 192.168.1.1 route-map setNH out

route-map setNH permit 10

match nlri multicast

set ip next-hop 192.168.200.1

route-map setNH permit 20

路由器B配置

ip multicast-routing

interface loopback0

ip pim sparse-dense-mode

ip address 192.168.1.1 255.255.255.0

interface serial0

ip address 192.168.100.2 255.255.255.0

interface serial1

ip pim sparse-dense-mode

ip address 192.168.200.2 255.255.255.0

router bgp 321

network 192.168.100.0 nlri unicast

network 192.168.200.0 nlri multicast

neighbor 192.168.2.2 remote-as 123 nlri unicast multicast

neighbor 192.168.2.2 ebgp-multihop 255

neighbor 192.168.100.1 update-source loopback0

neighbor 192.168.2.2 route-map setNH out

route-map setNH permit 10

match nlri multicast

set ip next-hop 192.168.200.2

route-map set NH permit 20

如果您的單播和多播拓撲是一致的（例如，它們通過同一鏈路），則配置中的主要差異是nlri unicast multicast命令。以下提供範例：

network 192.168.100.0 nlri unicast multicast

採用MBGP的同餘拓撲結構具有優勢，即使流量經過相同的路徑，也可將不同的策略應用於單播BGP與多播BGP。

MSDP

組播源發現協定(MSDP)連線多個PIM-SM域。每個PIM-SM域使用自己的獨立RP，並且不必依賴於其他域中的RP。MSDP允許域從其他域發現組播源。如果您還與MSDP對等點進行BGP對等，您必須對MSDP使用與BGP相同的IP地址。當MSDP執行對等RPF檢查時，MSDP期望MSDP對等地址與BGP/MBGP在SA消息中對RP執行路由表查詢時提供的地址相同。但是，如果MSDP對等點之間存在BGP/MBGP路徑，則不需要使用MSDP對等點運行BGP/MBGP。如果沒有BGP/MBGP路徑和多個MSDP對等體，則必須使用ip msdp default-peer 命令。此處的示例顯示，RP A是其域的RP，RP B是其域的RP。

組播源發現協定(MSDP)連線多個PIM-SM域

路由器A的配置

ip multicast-routing

ip pim send-RP-announce loopback0 scope 16 group-list 1

ip pim send-RP-discovery scope 16

ip msdp peer 192.168.100.2

ip msdp sa-request 192.168.100.2

interface loopback0

ip address <address> <mask>

ip pim sparse-dense-mode

interface serial0

ip address 192.168.100.1 255.255.255.0

ip pim sparse-dense-mode

路由器B配置

ip multicast-routing

ip pim send-RP-announce loopback0 scope 16 group-list 1

ip pim send-RP-discovery scope 16

ip msdp peer 192.168.100.1

ip msdp sa-request 192.168.100.1

interface loopback0

ip address <address> <mask>

ip pim sparse-dense-mode

interface serial0

ip address 192.168.100.2 255.255.255.0

ip pim sparse-dense-mode

虛電路多點傳送路由

末節組播路由允許您將遠端/末節路由器配置為IGMP代理。這些末節路由器不是完全參與PIM，而是將IGMP消息從主機轉發到上游組播路由器。

末節路由器將IGMP消息從主機轉發到上游組播路由器

路由器1配置

int s0

ip pim sparse-dense-mode

ip pim neighbor-filter 1

access-list 1 deny 192.168.140.1

需要使用ip pim neighbor-filter命令，以便路由器1不能將路由器2識別為PIM鄰居。如果將Router 1配置為稀疏模式，則不需要使用鄰居過濾器。路由器2不能在稀疏模式下運行。在密集模式下，末節組播源可能會泛洪到主幹路由器。

路由器2配置

ip multicast-routing

int e0

ip pim sparse-dense-mode

ip igmp helper-address 192.168.140.2

int s0

ip pim sparse-dense-mode

適用於衛星連結的IGMP UDLR

單向連結路由(UDLR)提供了一種透過單向衛星連結將多點傳播封包轉送到具有後通道的存根網路的方法。這類似於末節組播路由。如果沒有此功能，上行鏈路路由器無法動態獲知要在單向鏈路上轉發哪個IP組播組地址，因為下行鏈路路由器無法傳送回任何內容。

單向連結路由(UDLR)提供轉送多點傳送封包的方法

Uplink-rtr配置

ip multicast-routing

interface Ethernet0

description Typical IP multicast enabled interface

ip address 172.16.12.1 255.0.0.0

ip pim sparse-dense-mode

interface Ethernet1

description Back channel which has connectivity to downlink-rtr

ip address 172.16.11.1 255.0.0.0

ip pim sparse-dense-mode

interface Serial0

description Unidirectional to downlink-rtr

ip address 10.0.0.1 255.0.0.0

ip pim sparse-dense-mode

ip igmp unidirectional-link

no keepalive

下行鏈路rtr配置

ip multicast-routing

interface Ethernet0

description Typical IP multicast enabled interface

ip address 172.16.14.2 255.0.0.0

ip pim sparse-dense-mode

ip igmp helper-address udl serial0

interface Ethernet1

description Back channel which has connectivity to downlink-rtr

ip address 172.16.13.2 255.0.0.0

ip pim sparse-dense-mode

interface Serial0

description Unidirectional to uplink-rtr

ip address 10.0.0.2 255.0.0.0

ip pim sparse-dense-mode

ip igmp unidirectional-link

no keepalive

PIMv2 BSR

如果網路中的所有路由器都運行PIMv2，則可以配置BSR而不是自動RP。BSR和自動RP非常相似。BSR配置要求您配置BSR候選（類似於自動RP中的RP通告）和BSR（類似於自動RP對映代理）。若要設定BSR，請使用以下步驟：

1. 在候選BSR上配置：

ip pim bsr-candidate interface hash-mask-len pref

其中 interface包含候選BSR IP地址。建議（但非必須）hash-mask-Len在所有候選BSR中都是相同的。具有最大pref值的候選BSR被選為此域的BSR。

以下為命令用法的範例：

ip pim bsr-candidate ethernet0 30 4

PIMv2 BSR收集候選RP資訊並傳播與每個組字首關聯的RP集資訊。為了避免單點故障，您可以將域中的多個路由器配置為候選BSR。

根據配置的首選項值，在候選BSR中自動選擇BSR。要充當候選BSR，路由器必須連線並位於網路的骨幹網中，而不是位於網路的撥號區域中。

2. 配置候選RP路由器。此範例顯示介面ethernet0上整個管理範圍位址範圍的候選RP:

access-list 11 permit 239.0.0.0 0.255.255.255

ip pim rp-candidate ethernet0 group-list 11

CGMP

若要設定群組管理通訊協定(CGMP)，請在面對交換器的路由器介面上設定以下內容：

ip pim sparse-dense-mode

ip cgmp

然後在交換器上設定以下專案：

set cgmp enable

IGMP窺探

Catalyst 5000版本4.1提供網際網路群組管理通訊協定(IGMP)窺探。IGMP監聽需要Supervisor III卡。在路由器上配置IGMP監聽不需要除PIM之外的配置。通過IGMP監聽仍然需要路由器來提供IGMP查詢。

此處提供的範例顯示如何在交換器上啟用IGMP窺探：

Console> (enable) set igmp enable

IGMP Snooping is enabled.

CGMP is disabled.

如果您嘗試啟用IGMP，但CGMP已啟用，您將看到以下內容：

Console> (enable) set igmp enable

Disable CGMP to enable IGMP Snooping feature.

PGM

實用通用多點傳送(PGM)是一種可靠的多點傳送傳輸通訊協定，適用於需要從多個來源向多個接收者進行有序、無重複的多點傳送資料交付的應用程式。PGM保證組內的接收器從傳輸和重新傳輸接收所有資料包，或者可以檢測不可恢復的資料包丟失。

沒有PGM全域性命令。使用ip pgm 命令為每個介面配置PGM。您必須在介面上具有PIM的路由器上啟用組播路由。

MRM

組播路由監控器(MRM)有助於在大型組播路由基礎設施中自動檢測故障。MRM旨在向網路管理員發出接近即時的組播路由問題警報。

MRM有兩個元件：MRM測試器和MRM管理器。MRM測試程式是傳送方或接收方。

MRM在Cisco IOS軟體版本12.0(5)T及更高版本中可用。只有MRM測試者和管理器需要運行支援MRM的Cisco IOS版本。

多點傳送路由監控器(MRM)有助於在大型多點傳送路由基礎架構中自動進行故障檢測

測試發件人配置

interface Ethernet0

ip mrm test-sender

測試接收器配置

interface Ethernet0

ip mrm test-receiver

測試管理器配置

ip mrm manager test1

manager e0 group 239.1.1.1

senders 1

receivers 2 sender-list 1

access-list 1 permit 10.1.1.2

access-list 2 permit 10.1.4.2

測試管理器上的show ip mrm manager命令的輸出如下所示：

Test_Manager# show ip mrm manager

Manager:test1/10.1.2.2 is not running  Beacon interval/holdtime/ttl:60/86400/32 Group:239.1.1.1, UDP port test-packet/status-report:16384/65535 Test sender: 10.1.1.2 Test receiver: 10.1.4.2

使用以下命令開始測試。測試管理器將控制消息傳送到測試傳送器和測試接收器，如測試引數中所配置。測試接收方加入該組並監控從測試傳送方傳送的測試資料包。

Test_Manager# mrm start test1

*Feb  4 10:29:51.798: IP MRM test test1 starts ......

Test_Manager#

要顯示測試管理器的狀態報告，請輸入以下命令：

Test_Manager# show ip mrm status

IP MRM status report cache:

Timestamp        Manager          Test Receiver   Pkt Loss/Dup (%)       Ehsr

*Feb  4 14:12:46 10.1.2.2         10.1.4.2        1            (4%)      29

*Feb  4 18:29:54 10.1.2.2         10.1.4.2        1            (4%)      15

Test_Manager#

輸出顯示，接收方在給定時間戳上傳送了兩個狀態報告（每條線路各一條）。每個報告在間隔視窗內都包含一個資料包丟失（預設為一秒）。「Ehsr」值顯示測試傳送方估計的下一個序列號值。如果測試接收方看到重複的資料包，則在「Pkt Loss/Dup」列中顯示一個負數。

若要停止測試，請輸入以下命令：

Test_Manager# mrm stop test1

*Feb  4 10:30:12.018: IP MRM test test1 stops

Test_Manager#

測試運行時，MRM傳送方會以預設的200毫秒時間間隔將RTP資料包傳送到配置的組地址。接收方以相同的預設間隔監控（期望）相同的資料包。如果接收方在五秒的預設視窗間隔內檢測到資料包丟失，則會向MRM管理器傳送報告。如果您在管理器上發出show ip mrm status命令，則可以從接收方顯示狀態報告。

疑難排解

在網路中實施IP組播時，發現的一些最常見問題是由於RPF故障或TTL設定，路由器不轉發組播流量。請參閱IP多點傳送疑難排解指南，詳細瞭解這些以及其他常見問題、症狀和解決方法的討論。

相關資訊

- IP組播故障排除指南

- 使用CLI工具排除多播網路故障

- IP多點傳送支援

- 思科技術支援與下載