概要

シンプルなネットワーク構成に基づいて、ip multicast rate-limitコマンドによるマルチキャストパケットのレート制限の設定例について解説します。

ネットワーク構成

図 マルチキャストパケットのレート制限 ネットワーク構成
図 マルチキャストパケットのレート制限 ネットワーク構成

R2がBSR CandidateおよびRP Candidateです。RECEIVERは239.1.1.1のマルチキャストグループにJoinしています。

初期設定

R1

ip multicast-routing 
!         
interface Loopback0
 ip address 192.168.0.1 255.255.255.255
 ip pim sparse-mode
!
interface Ethernet0/0
 ip address 192.168.1.1 255.255.255.0
 ip pim sparse-mode
!
interface Ethernet0/1
 ip address 192.168.12.1 255.255.255.0
 ip pim sparse-mode
!
!
router ospf 1
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 0

R2

ip multicast-routing 
!         
interface Loopback0
 ip address 192.168.0.2 255.255.255.255
 ip pim sparse-mode
!
interface Ethernet0/0
 ip address 192.168.12.2 255.255.255.0
 ip pim sparse-mode
!
interface Ethernet0/1
 ip address 192.168.23.2 255.255.255.0
 ip pim sparse-mode
!
router ospf 1
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 0
!
ip pim bsr-candidate Loopback0 0
ip pim rp-candidate Loopback0

R3

ip multicast-routing 
!         
interface Loopback0
 ip address 192.168.0.3 255.255.255.255
 ip pim sparse-mode
!
interface Ethernet0/0
 ip address 192.168.23.3 255.255.255.0
 ip pim sparse-mode
!
interface Ethernet0/1
 ip address 192.168.3.3 255.255.255.0
 ip pim sparse-mode
!
router ospf 1
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 0

SOURCE

no ip routing
!
interface Ethernet0/0
 ip address 192.168.1.100 255.255.255.0
!
ip default-gateway 192.168.1.1

RECEIVER

no ip routing
!
interface Ethernet0/0
 ip address 192.168.3.100 255.255.255.0
 ip igmp join-group 239.1.1.1
!
ip default-gateway 192.168.3.3

設定と確認

【Step1:レート制限なしの通信確認】

SOURCEからPingコマンドでマルチキャストパケットを生成します。パケットサイズを5000バイトとして239.1.1.1あてにPingを実行します。

SOURCE

SOURCE#ping 239.1.1.1 repeat 10 size 5000

Type escape sequence to abort.
Sending 10, 5000-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:

Reply to request 0 from 192.168.3.100, 276 ms
Reply to request 1 from 192.168.3.100, 296 ms
Reply to request 2 from 192.168.3.100, 300 ms
Reply to request 3 from 192.168.3.100, 276 ms
Reply to request 4 from 192.168.3.100, 304 ms
Reply to request 5 from 192.168.3.100, 272 ms
Reply to request 6 from 192.168.3.100, 328 ms
Reply to request 7 from 192.168.3.100, 316 ms
Reply to request 8 from 192.168.3.100, 292 ms
Reply to request 9 from 192.168.3.100, 284 ms

【Step2:マルチキャストパケットのレート確認】

R1でshow ip mroute 239.1.1.1 countコマンドでマルチキャストパケットのレートを確認します。

R1

R1#show ip mroute 239.1.1.1 count 
IP Multicast Statistics
3 routes using 1660 bytes of memory
2 groups, 0.50 average sources per group
Forwarding Counts: Pkt Count/Pkts(neg(-) = Drops) per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)

Group: 239.1.1.1, Source count: 1, Packets forwarded: 61, Packets received: 62
  RP-tree: Forwarding: 0/0/0/0, Other: 0/0/0
  Source: 192.168.1.100/32, Forwarding: 61/2/711/20, Other: 62/0/1

5000バイトのパケットサイズでPingを実行すると、約20kbpsの送信レートとなっています。

【Step3:ip multicast rate-limitの設定】

R1 E0/0でマルチキャストパケットのレート制限を有効化します。インバウンドのマルチキャストパケットに対して16kbpsで制限をかけます。

R1

interface Ethernet0/0
 ip multicast rate-limit in 16

【Step4:ip multicast rate-limitの確認】

SOURCEから再度Pingコマンドでマルチキャストパケットを生成します。デフォルトのパケットサイズとパケットサイズを5000バイトに指定してPingを実行します。

SOURCE

SOURCE#ping 239.1.1.1 repeat 10          

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

Reply to request 0 from 192.168.3.100, 80 ms
Reply to request 1 from 192.168.3.100, 96 ms
Reply to request 2 from 192.168.3.100, 24 ms
Reply to request 3 from 192.168.3.100, 12 ms
Reply to request 4 from 192.168.3.100, 12 ms
Reply to request 5 from 192.168.3.100, 20 ms
Reply to request 6 from 192.168.3.100, 4 ms
Reply to request 7 from 192.168.3.100, 32 ms
Reply to request 8 from 192.168.3.100, 28 ms
Reply to request 9 from 192.168.3.100, 12 ms
SOURCE#ping 239.1.1.1 repeat 10 size 5000

Type escape sequence to abort.
Sending 10, 5000-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:
..........

デフォルトのパケットサイズでは16kbpsを超過しないため、Pingの応答が返ってきます。一方、5000バイトのパケットサイズでは16kbpsを超過するため、Pingの応答が返ってこなくなることがわかります。

また、R1でshow ip mroute 239.1.1.1 および show ip mroute 239.1.1.1 countコマンドの出力は以下のようになります。

R1

R1#show ip mroute 239.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 - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 00:02:09/stopped, RP 192.168.0.2, flags: SPF
  Incoming interface: Ethernet0/1, RPF nbr 192.168.12.2
  Outgoing interface list: Null

(192.168.1.100, 239.1.1.1), 00:02:09/00:02:05, flags: FT
  Incoming interface: Ethernet0/0, RPF nbr 0.0.0.0
                      Int Limit 16 kbps
  Outgoing interface list:
    Ethernet0/1, Forward/Sparse, 00:02:09/00:03:20

R1#show ip mroute 239.1.1.1 count 
IP Multicast Statistics
3 routes using 1660 bytes of memory
2 groups, 0.50 average sources per group
Forwarding Counts: Pkt Count/Pkts(neg(-) = Drops) per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)

Group: 239.1.1.1, Source count: 1, Packets forwarded: 19, Packets received: 50
  RP-tree: Forwarding: 0/0/0/0, Other: 0/0/0
  Source: 192.168.1.100/32, Forwarding: 19/0/836/0, Other: 50/0/31

IPマルチキャストの仕組み