Cisco IOS マルチキャスト TTL thresholdの設定方法

スポンサーリンク

Multicast TTL thresholdはマルチキャストドメインを限定する手法のひとつで、指定した閾値以下であるTTLのマルチキャストパケットを破棄する機能です。

コマンド一覧

このシナリオで重要なコマンド一覧は以下の通りです。

Router(config-if)#ip multicast ttl-threshold <ttl>

構成図

以下の環境で動作確認を行います。PIM dense modeによるマルチキャストルーティングを有効にします。

         e0/0    e0/1      e0/0    e0/1
 +--------+.1    .2+--------+.2    .3+--------+
 |   R1   +--------+   R2   +--------+   R3  | 
 +--------+        +--------+        +--------+
        192.168.1.0/24    192.168.23.0/24

 R1 Loopback0     R2 Loopback0     R3 Loopback0
 10.1.1.1/32      10.2.2.2/32      10.3.3.3/32

 [R1]
interface Loopback0
 ip pim dense-mode
!
interface Ethernet0/0
 ip pim dense-mode

 [R2]
interface Loopback0
 ip pim dense-mode
!
interface Ethernet0/0
 ip pim dense-mode
!
interface Ethernet0/1
 ip pim dense-mode

 [R3]
interface Loopback0
 ip pim dense-mode
!
interface Ethernet0/1
 ip pim dense-mode

設定全文は下記ファイルです。ルーティングなどの詳細設定は下記を参照ください。

R1
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R1
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
ip multicast-routing 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.1.1.1 255.255.255.255
 ip pim dense-mode
!
interface Ethernet0/0
 ip address 192.168.12.1 255.255.255.0
 ip pim dense-mode
 half-duplex
!
interface Ethernet0/1
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/2
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router eigrp 10
 network 0.0.0.0
 no auto-summary
!
ip http server
ip forward-protocol nd
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
R2
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R2
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
ip multicast-routing 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.2.2.2 255.255.255.255
 ip pim dense-mode
!
interface Ethernet0/0
 ip address 192.168.23.2 255.255.255.0
 ip pim dense-mode
 half-duplex
!
interface Ethernet0/1
 ip address 192.168.12.2 255.255.255.0
 ip pim dense-mode
 half-duplex
!
interface Ethernet0/2
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router eigrp 10
 network 0.0.0.0
 no auto-summary
!
ip http server
ip forward-protocol nd
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
R3
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R3
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
ip multicast-routing 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Loopback0
 ip address 10.3.3.3 255.255.255.255
 ip pim dense-mode
!
interface Ethernet0/0
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/1
 ip address 192.168.23.3 255.255.255.0
 ip pim dense-mode
 half-duplex
!
interface Ethernet0/2
 no ip address
 shutdown
 half-duplex
!
interface Ethernet0/3
 no ip address
 shutdown
 half-duplex
!
!
router eigrp 10
 network 0.0.0.0
 no auto-summary
!
ip http server
ip forward-protocol nd
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end

ttl threshold

設定

R3 Loopback 0を239.3.3.3のマルチキャストグループに参加させます。

 [R3]
interface Loopback0
 ip address 10.3.3.3 255.255.255.255
 ip pim dense-mode
 ip igmp join-group 239.3.3.3

R2 e0/0にTTL thresholdとして閾値15を定義します。この設定により閾値15以下のTTLであるマルチキャストが破棄されるようになります。

 [R2]
interface Ethernet0/0
 ip multicast ttl-threshold 15

動作確認

R1からR3へのpingを送信します。TTLが16であるpingは成功するものの、TTLが15であるpingは失敗します。

 [R1]
R1#ping
Protocol [ip]:
Target IP address: 239.3.3.3
Repeat count [1]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Interface [All]: Ethernet0/0
Time to live [255]: 16
Source address or interface:
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 239.3.3.3, timeout is 2 seconds:

Reply to request 0 from 192.168.23.3, 84 ms
R1#
R1#
R1#ping
Protocol [ip]:
Target IP address: 239.3.3.3
Repeat count [1]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Interface [All]: Ethernet0/0
Time to live [255]: 15
Source address or interface:
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 239.3.3.3, timeout is 2 seconds:
.
R1#

TTLに関する補足説明

R1 e0/0からTTL16で送信する場合は、R2にパケットが転送された時点でTTL16となります。しかし、R1 Loopback0から送信された場合は、Loopback0からe0/0への転送でTTLがひとつ小さくなります。R1 Loopback0からTTL16でマルチキャストパケットを転送した場合はR2に届く頃にはTTL15となっていますので、R2のttl thresholdによりパケットが破棄されてしまいます。

 [R1]
R1#ping
Protocol [ip]:
Target IP address: 239.3.3.3
Repeat count [1]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Interface [All]: Loopback0
Time to live [255]: 16
Source address or interface:
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 239.3.3.3, timeout is 2 seconds:
.
R1#
タイトルとURLをコピーしました