マルチキャストパケットのレート制限 設定例

ネットワーク構成

mcast-rate-limit01.png
図 マルチキャストパケットのレート制限 ネットワーク構成

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
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

multicast rate-limitの設定と確認

【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:multicast rate-limitの設定】

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

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface Ethernet0/0
ip multicast rate-limit in 16
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【Step4: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
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Follow me!