亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

使用 RGMP: 基礎內容與案例分析
2006-04-17   網絡

介紹

路由器—端口群管理協議(RGMP)和IGMP偵聽一起用于強制組播業務發送至實際需要該業務的層中。IGMP偵聽將組播業務發送至路由器所有端口。有了RGMP,組播業務僅被發送至需要對其進行接收的端口。由于RGMP在組播網絡的骨干上運行,知道了組播的基礎知識(IGMP、PIM、組播路由)將有助于理解本文。

硬件和軟件 版本

RGMP是一個在Catalyst交換機與路由器之間運行的協議,兩者都需要支持RGMP以使功能正常作用。下列交換機支持RGMP:
  • Catalyst 6000:從軟件版本5.4開始
  • 運行本機模式的Catalyst 6000:從軟件12.1(3a)E3開始
  • Catalyst 5000:從軟件版本5.4開始

下列Cisco IOS® 路由器軟件版本支持RGMP:

  • 12.2 主系列版本
  • 12.1E
  • 12.1T (從版本12.1(5)T1開始)
  • 12.0S (從版本12.0(10)S開始)
  • 12.0ST (從版本12.0(11)ST開始)

協議限制

  • 路由器和交換機上都需要運行RGMP。
  • 您需要在交換機上啟用IGMP偵聽。
  • RGMP將僅對配置有協議獨立組播(PIM)分散模式的群組有效。
  • 不支持直接連接至一RGMP交換機發送組播業務的源。
  • 不支持將多個路由器連接至同一交換機端口(例如在同一集線器上的兩個路由器)。
  • 不支持將多個路由器連接至同一非RGMP交換機。

如果不遵守這些限制,將有可能導致組播連接中斷。

RGMP減少網絡負載

RGMP的目的是去除不必要的組播業務。以下圖表說明的是沒有啟用RGMP的假設網絡:

我們現在有一個連接至R1的組播源以及一個連接至R4的接收機。該群組的RP在R2之后。業務由R1轉發至交換機(每個PIM與mroute表格,當接收機在交換機接口之后)。交換機將使用IGMP偵聽來對這個只有源的網絡進行探測,并創建一個指向所有路由器(R1、R2、R3與R4)的靜態Content-Address Memory (CAM)條目。組播業務將發送至所有路由器,其中包括不需要該業務的R3。這個組播業務量很大,可能會對路由器R3產生不必要的負載。RGMP已經克服了這個問題。

下圖顯示了啟用RGMP的同一個網絡 (假設路由器與交換機均有RGMP能力):

R2與R4將對交換機發送至RGMP加入組播群組。R3將不發送RGMP 加入消息。結果,交換機將僅向R2與R4的群組轉發從R1接收的組播業務,而不向R3發送。這樣就減少了網絡上的業務量。

RGMP詳情

RGMP和CGMP類似,是一個在路由器和交換機之間運行的協議。路由器發送RGMP數據包,交換機接收RGMP數據包。交換機從不發送RGMP數據包,而路由器將忽略任何可能接收到的RGMP數據包。RGMP數據包是類型為IGMP的IP數據包,且被發送至預留的群組地址224.0.0.25(MAC地址01 - 00 - 5e - 00 - 00 - 19)。它們作為IGMP數據包發送,保活時間(TTL)為1。地址224.0.0.25是對應于所有交換機組播地址的預留地址。一個RGMP數據包基本包括一個類型字段、一個群組地址字段以及一個校驗和。

下表顯示RGMP數據包的不同類型:

描述 作用
Hello 當在路由器上啟用RGMP時,將沒有組播數據業務通過交換機發送至路由器,除非為一個組發送RGMP 加入消息.
Bye 當路由器上禁用RGMP時,所有組播數據業務將通過交換機發送至路由器。
Join 對于從第3層群組地址G中組播的MAC地址,組播數據業務將被發送至路由器。在RGMP數據包的群組地址字段中,這些數據包的群組為G。
Leave Mult群組G的組播數據業務將不發送至路由器。在RGMP數據包的群組地址字段中,這些數據包的群組為G。

Hello與Bye數據包使用0.0.0.0作為RGMP數據包中的群組地址。Join與Leave使用讓路由器發生響應的群組地址(加入或者離開)。

RGMP數據包使用以下的地址類型:

地址類型 所用地址
所有RGMP數據包的目的地MAC地址 01-00-5e-00-00-19
所有RGMP數據包的目的地IP地址 224.0.0.25
用于RGMP Hello與Bye的群組地址 0.0.0.0
用于RGMP Join與Leave的群組地址TD> 發送Join或者Leave的組播群組

是什么使路由器發送RGMP數據包

RGMP Hello
每當路由器上啟用RGMP時,該路由器將向交換機送出一條RGMP Hello信息,指出交換機不應該把組播數據業務轉發至該路由器上,除非發送某組的RGMP 加入消息。同樣,請注意必須在路由器上對PIM進行配置,以使該功能生效。在同一重發間隔中發送RGMP Hello信息作為PIM Hello信息(默認值為30秒)。RGMP Hello信息始終先于PIM Hello信息。

RGMP Bye
每當路由器禁用RGMP,它將發送RGMP Bye信息至交換機,指出路由器不再執行RGMP,且所有組播業務應再次轉發至該路由器。

RGMP 加入消息
每當路由器發送PIM 加入消息時,它同時構建RGMP 加入消息并在送出PIM 加入消息的同一接口處送出。使用上述圖表舉例,R4從群組G接收機接收IGMP報告的同時向RP發送PIM 加入信息。它還在同一接口上發送RGMP Join,該信息隨后由交換機S1截獲。S1對數據包進行處理,并將該路由器端口添加到群組G的第2層靜態條目(靜態CAM條目)。這樣可以在該端口上實現對群組G的業務轉發。
綜述:

  • 每當路由器創建(*,G)條目時,將發送RGMP Join,發送接口和路由器發送PIM Join信息的接口是同一個。
  • 每當路由器創建(S,G)條目時,將發送RGMP Join。路由器將在通向S的接口上發送PIM Join信息,然后RGMP Join也在同一通向S的接口上進行發送。
  • RGMP Join將在發送PIM Join時發送,但不在接收PIM Join時發送。
  • 如果有多個源發送至群組G,且只有一個(*,G)條目,將只送出一條RGMP Join。

RGMP Leave
當路由器發送(*,G)或者(S,G)的PIM Prune消息時,它同樣會檢查:對于PIM Prune的發送接口,該群組是否至少有一個其它的mroute 條目。如果沒有其它的條目,RGMP Leave將在同一接口進行發送。

當交換機接收RGMP數據包時將發生什么

當路由器禁用RGM而交換機啟用IGMP偵聽時,交換機中的各組播群組轉發條目列出輸出端口表,其中包括所有組播路由器端口以及響應主機所加入到組播群組的所有端口,
當啟用了RGMP時,將發生以下變化:

  • 交換機不向RGMP路由器發送任何組播群組,除非特地給出請求(除224.0.0.x和224.0.1[39-40])范圍中預留的組。
  • 交換機仍向非RGMP路由器群組發送組播業務。

RGMP Hello:
當從某個路由器端口接收到一個RGMP Hello數據包時,交換機將把該路由器端口作為有RGMP能力的端口標記,普通的組播業務將不再發送至該組播路由器端口。

RGMP Bye:
收到RGMP Bye時,我們取消作為RGMP路由器端口的路由器端口的標記,并在VLAN中的所有現有群組中添加該端口。

RGMP Join:
當某個特殊群組接收RGMP Join數據包時,交換機將添加該路由器端口,由該端口接收RGMP Join并發送至群組目的地端口列表中。RGMP Join也被轉發至所有RGMP路由器端口。

RGMP Leave:
當某個特殊群組接收RGMP Leave數據包時,交換機將從對接收該群組產生響應的端口群組中去除該路由器端口。

RGMP配置與檢驗

在交換機上啟用RGMP:

#set igmp enable !--- 如果以前沒有進行該設置
 #set rgmp enable

您可以通過通過輸入以下命令來檢驗設定:

#sh rgmp group 
 #sh multi router 
 #sh rgmp stat 
 #sh multi group

在路由器上配置RGMP:

#ip rgmp !--- 處于接口模式

and, if not done previously:

#ip multicast-routing !--- 處于全局配置模式
 #ip pim sparse-mode !--- 處于接口模式

運行本地IOS的Catalyst 6000上的RGMP

運行本地IOS的Catalyst 6000上的RGMP具有以下特點:

  • 默認值是在所有L2端口(交換機端口)上啟用RGMP,且無法禁用。

  • 如果需要L3組播接口起到RGMP路由器的作用,則需要在所有L3組播端口上啟用RGMP;通過在接口方式(和通常IOS路由器上一樣)中發出ip rgmp命令來實現。

通過IGMP偵聽探測到的運行RGMP的接口以及所有其它的RGMP路由器可以通過發出以下命令進行檢驗:

 Boris#sh ip igmp snooping mrouter 
 vlan            ports 
 -----+---------------------------------------- 
    1  Po3,Router 
   10  Gi3/8,Router 
   11  Gi3/8,Router 
  100  Router 
  101  Router 
  198  Po3,Router 
  199  Po3,Router+ 
  222  Router 
 '+'- RGMP capable router port 
 Boris#
 

處理輸出結果顯示本地6000的VLAN 199接口上配置了ip rgmp在VLAN 199上,路由器標記為具有RGMP能力。本地IOS中的路由器代替了VLAN 199中的6500路由器本身。

案例分析

以下圖表說明使用RGMP的實際網絡:

在本例中,僅fido和taras中的多層交換機功能卡(MSFC)是具有RGMP能力的路由器;donald、daniella以及piggy是無RGMP能力的路由器。由組播源4.4.4.1向224.1.1.1進行發送,224.1.1.1位于piggy后的串口上。 Taras - msfc在VLAN 2與VLAN 3之間執行 VLAN間路由。VLAN 2中沒有接收機,而VLAN 3中有兩個接收機:一個在fido后面,另一個在donald后面。

注意: 在下節中,沒有由具體命令處理的輸出結果被認為來自路由器上的 debug ip rgmp 和來自交換機上的set trace mcast 5 命令

[page]

在交換機上啟用RGMP

首先,我們在taras(Catalyst 6000交換機)上啟用RGMP,假定還沒有路由器進行了RGMP配置。一旦啟用了RGMP,交換機將組播MAC地址01 - 00 - 5e - 00 - 00 - 19添加至系統CAM表,這意味著交換機開始對所有發送至該MAC地址的數據包進行接收。該地址相當于由RGMP使用的224.0.0.25:
taras (enable) set rgmp enable
RGMP enabled.
taras (enable) sh cam sys
* = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry.
X = Port Security Entry $ = Dot1x Security Entry
VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type]
---- ------------------ ----- -------------------------------------------
1 00-d0-00-3f-8b-fc R# 15/1
1 00-d0-00-3f-8b-ff # 1/3
1 01-00-0c-cc-cc-cc # 1/3
1 01-00-0c-cc-cc-cd # 1/3
1 01-00-0c-dd-dd-dd # 1/3
1 01-00-5e-00-00-19 # 1/3
1 01-80-c2-00-00-00 # 1/3
1 01-80-c2-00-00-01 # 1/3
2 00-d0-00-3f-8b-fc R# 15/1
2 01-00-0c-cc-cc-cc # 1/3
2 01-00-0c-cc-cc-cd # 1/3
2 01-00-0c-dd-dd-dd # 1/3
2 01-00-5e-00-00-19 # 1/3
2 01-80-c2-00-00-00 # 1/3
2 01-80-c2-00-00-01 # 1/3
3 00-d0-00-3f-8b-fc R# 15/1
3 01-00-0c-cc-cc-cc # 1/3
3 01-00-0c-cc-cc-cd # 1/3
3 01-00-0c-dd-dd-dd # 1/3
3 01-00-5e-00-00-19 # 1/3
3 01-80-c2-00-00-00 # 1/3
3 01-80-c2-00-00-01 # 1/3

在路由器上啟用RGMP

現在我們在taras - msfc與fido上啟用RGMP。路由器以接口方式進行配置,當debug ip rgmp運行時,我們可以看到路由器開始每30秒在該接口上發送RGMP Hello數據包。

taras(config-if)#ip rgmp
 00:10:24: RGMP: Sending a Hello packet on Ethernet0 
 00:10:54: RGMP: Sending a Hello packet on Ethernet0 
 00:11:24: RGMP: Sending a Hello packet on Ethernet0 
 00:11:54: RGMP: Sending a Hello packet on Ethernet0

如果我們現在查看交換機,就可以看到端口4/6與15/1被標記為具RGMP能力的路由器端口。 請注意,交換機總是在接收PIM Hello之前接收RGMP Hello:
MCAST-IGMPQ:recvd an RGMP Hello on the port 15/1 vlanNo 3 GDA 0.0.0.0
MCAST-RGMP: Received RGMP Hello in vlanNo 3 on port 15/1
MCAST-IGMPQ:recvd a PIM V2 packet of type HELLO on the port 15/1 vlanNo 3

taras (debug-eng) sh multi ro 
 Port       Vlan 
 ---------- ---------------- 
  4/3       3 
  4/4       2 
  4/5       3 
  4/6     + 3 
 15/1     + 2-3    
Total Number of Entries = 5 
 '*' - Configured 
 '+' - RGMP-capable 

VLAN 2中的RGMP操作

由于在donald之后有接收機開啟(而在fido之后沒有接收機),VLAN 2中的組播業務需要轉發至VLAN 3。所以taras中的MSFC需要在VLAN 2中獲得業務。

路由器將發送:
16:10:28: RGMP: Sending a Join packet on Vlan2 for group 224.1.1.1
16:10:29: RGMP: Sending a Join packet on Vlan2 for group 224.1.1.1

交換機的監控程序進行接收:
MCAST-RGMP: Received RGMP Join for 224.1.1.1 in vlanNo 2 on port 15/1

通過使用sh rgmp group,我們可以看到端口15/1在VLAN 2中有加入的群組01 - 00 - 5e - 01 - 01 - 01。請注意,在VLAN 3中顯示了靜態的CAM條目,但是,端口列表中包括的僅有的路由器端口為無RGMP能力的路由器端口(也就是說,15/1與4/6不在VLAN 3中的條目列表之中,因為這些路由器不具備RGMP能力,也不會在VLAN 3中發送RGMP Join)。同樣要注意的是,在靜態的CAM表中,RGMP操作將不影響群組01 - 00 - 5e - 00 - 01 - [27,28](該群組相當于由auto - rp使用的224.0.1.[39,40])。這些群組中的所有業務仍將發送至所有組播路由器,無論它們是否具有RGMP有能力。
taras (enable) sh cam sta
* = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry.
X = Port Security Entry $ = Dot1x Security Entry
VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type]
---- ------------------ ----- -------------------------------------------
2 01-00-5e-01-01-01 4/4,15/1
2 01-00-5e-00-01-27 4/4,15/1
2 01-00-5e-00-01-28 4/4,15/1
3 01-00-5e-01-01-01 4/5,4/3
3 01-00-5e-00-01-27 4/3,4/5-6,15/1
3 01-00-5e-00-01-28 4/3,4/5-6,15/1

taras (enable) sh rgmp group 01-00-5e-01-01-01
RGMP enabled
VLAN Dest MAC/Route Des [CoS] RGMP Joined Router Ports
---- ------------------ ----- ------------------------
2 01-00-5e-01-01-01 15/1

Total Number of Entries = 1 

現在來看VLAN 2的RGMP情況。交換機定期接收RGMP Hello與RGMP Join數據包。它每30秒從taras - msfc處獲得RGMP Hello,且taras - msfc每向該群組發送一條PIM Join時,就向224.1.1.1發送一條RGMP Join:

taras (enable) sh rgmp stat 2
 RGMP enabled 
 RGMP statistics for vlan 2: 
Receive : 
    Valid pkts:                        67 
    Hellos:                            40 
    Joins:                             27 
    Leaves:                            0 
    Join Alls:                         0 
    Leave Alls:                        0 
    Byes:                              0 
    Discarded:                         0 
 Transmit : 
    Total pkts:                        0 
    Failures:                          0 
    Hellos:                            0 
    Joins:                             0 
    Leaves:                            0 
    Join Alls:                         0 
    Leave Alls:                        0 
    Byes:                              0 

到目前為止,taras - msfc和fido僅在VLAN 3中發送了Hello數據包:

taras (enable) sh rgmp stat 3 
 RGMP enabled 
 VLAN 3中的RGMP Join操作 
Receive : 
    Valid pkts:                        468 
    Hellos:                            468 
    Joins:                             0 
    Leaves:                            0 
    Join Alls:                         0 
    Leave Alls:                        0 
    Byes:                              0 
    Discarded:                         0 
 Transmit : 
    Total pkts:                        0 
    Failures:                          0 
    Hellos:                            0 
    Joins:                             0 
    Leaves:                            0 
    Join Alls:                         0 
    Leave Alls:                        0 
    Byes:                        

RGMP Join Operation in VLAN 3

如果我們現在開啟fido之后的接收機B,具備RGMP能力的路由器將對群組224.1.1.1發送一條RGMP Join至交換機。交換機將進行接收,并將4/6(fido)添加到VLAN 3中對該群組響應的接收機列表中。

在路由器中我們看到:
01:07:49: RGMP: Sending a Join packet on Ethernet0 for group 224.1.1.1
01:07:49: RGMP: Sending a Join packet on Ethernet0 for group 224.1.1.1
01:07:49: RGMP: Sending a Join packet on Ethernet0 for group 224.1.1.1
01:07:51: RGMP: Sending a Join packet on Ethernet0 for group 224.1.1.1

交換機接收RGMP Join,并添加路由器端口4/6至靜態條目。我們可以看見各種show 命令的結果:
MCAST-IGMPQ:recvd an RGMP Join on the port 4/6 vlanNo 3 GDA 224.1.1.1
MCAST-RGMP: Received RGMP Join for 224.1.1.1 in vlanNo 3 on port 4/6
EARL-MCAST: SetRGMPPortInGDA: RGMP port 4/6 in vlanNo 3 joining for the first time
for this group 224.1.1.1

MCAST-RELAY:Relaying packet on port 15/1 vlanNo 3
MCAST-SEND: Inband Transmit Succeeded for IGMP RELAY msg on port 15/1 vlanNo 3

taras (enable) sh rgmp group RGMP enabled
VLAN Dest MAC/Route Des [CoS] RGMP Joined Router Ports
---- ------------------ ----- ------------------------
2 01-00-5e-01-01-01 15/1
3 01-00-5e-01-01-01 4/6

Total Number of Entries = 2
taras (enable) sh cam sta 01-00-5e-01-01-01
* = Static Entry. + = Permanent Entry. # = System Entry. R = Router Entry.
X = Port Security Entry $ = Dot1x Security Entry

VLAN Dest MAC/Route Des [CoS] Destination Ports or VCs / [Protocol Type]
---- ------------------ ----- -------------------------------------------
2 01-00-5e-01-01-01 4/4,15/1
3 01-00-5e-01-01-01 4/3,4/5-6

taras (enable) sh rgmp stat 3
RGMP enabled
RGMP statistics for vlan 3:

Receive : 
    Valid pkts:                      542 
    Hellos:                          532 
    Joins:                           10 
    Leaves:                          0 
    Join Alls:                       0 
    Leave Alls:                      0 
    Byes:                            0 
    Discarded:                       0 
 Transmit : 
    Total pkts:                      0 
    Failures:                        0 
    Hellos:                          0 
    Joins:                           0 
    Leaves:                          0 
    Join Alls:                       0 
    Leave Alls:                      0 
    Byes:                            0

RGMP Leave操作

假設接收機B不再響應,故而fido不再需要該群組的組播業務,它將在接口中對該群組發送一條PIM Prune。路由器也對該群組發送一條RGMP Leave,讓交換機了解這個路由器不再對該群組作出響應。

當接收機B仍然開啟時,sh ip mroute顯示具有C標記的(S,G)條目,告訴我們有一個發出響應的接收機相連:

fido#sh ip mroute 224.1.1.1
IP Multicast Routing Table
Flags: 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 - Advertised via MSDP, U - URD,
I - Received Source Specific Host Report
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 224.1.1.1), 00:01:18/00:00:00, RP 10.10.10.1, flags: SJCL 
   Incoming interface: Ethernet0, RPF nbr 33.3.3.1 
   Outgoing interface list: 
                        
                                                
                                        

熱詞搜索:

上一篇:cisco系列交換機簡要配置手冊(中文)
下一篇:Catalyst 2900XL/3500XL/2950 與 CatOS 交換機之間的 ISL/802.1q 中繼

分享到: 收藏