Cisco IOS マルチキャスト L2 Multicast MLD snoopingの設定方法

スポンサーリンク

IPv6マルチキャストはL2機能でも、ある程度の制御ができます。MLDはマルチキャストグループへの参加を表明するプロトコルですが、MLDをL2スイッチが覗き見をする事によって、様々な制御を実施する事ができます。

概要

IPv6 MLDとは、IPv4 IGMPに相当するプロトコルです。MLD snoopingとは、MLDを覗き見する事によって、マルチキャストパケットを不要なポートのみに転送する技術です。

コマンド一覧

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

Switch(config)# ipv6 mld snooping
Switch(config)# ipv6 mld snooping vlan <id>

Switch(config)# ipv6 mld snooping vlan <id> static <ipv6_addr> interface <interface>
Switch(config)# ipv6 mld snooping vlan <id> mrouter interface <interface>

Switch(config)# ipv6 mld snooping robustness-variable <value>
Switch(config)# ipv6 mld snooping vlan <id> robustness-variable <value>
Switch(config)# ipv6 mld snooping last-listener-query-count <count>
Switch(config)# ipv6 mld snooping vlan <id> last-listener-query-count <count>
Switch(config)# ipv6 mld snooping last-listener-query-interval <interval>
Switch(config)# ipv6 mld snooping vlan <id> last-listener-query-interval <interval>

Switch(config)# ipv6 mld snooping vlan <id> immediate-leave

構成図

以下の環境で行います。

 Multicast Source   f0/0
            +--------+::1   f0/1+------+
            |   R1   +----------+      | 
            +--------+          |      | 
 Multicast Reciever f0/0        |      | 
            +--------+::3   f0/3|      | 
            |   R3   +----------+  SW1 | 
            +--------+          |      | 
 Multicast Reciever f0/0        |      | 
            +--------+::5  f0/5 |      | 
            |   R5   +----------+      | 
            +--------+          +------+

                  FEC0::100:0/125

 [R1]
ipv6 unicast-routing
ipv6 multicast-routing
!
interface FastEthernet0/0
 ipv6 address FEC0::100:1/125
 ipv6 address FE80::1 link-local

 [R3]
ipv6 unicast-routing
!
interface FastEthernet0/0
 ipv6 address FEC0::100:3/125
 ipv6 address FE80::3 link-local
 ipv6 mld join-group FF12::35

 [R5]
ipv6 unicast-routing
!
interface FastEthernet0/0
 ipv6 address FEC0::100:5/125
 ipv6 address FE80::5 link-local
 ipv6 mld join-group FF12::35

 [SW1]
sdm prefer dual-ipv4-and-ipv6 default

設定全文は下記ファイルです。詳細設定は下記を参照ください。

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
no network-clock-participate slot 1
no network-clock-participate wic 0
ip cef
!
!
!
!
!
ipv6 unicast-routing
ipv6 multicast-routing
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface FastEthernet0/0
 no ip address
 duplex auto
 speed auto
 ipv6 address FEC0::100:1/125
 ipv6 address FE80::1 link-local
!
interface Serial0/0
 no ip address
 encapsulation frame-relay IETF
 shutdown
 frame-relay lmi-type cisco
!
interface Serial0/1
 no ip address
 shutdown
!
!
!
ip http server
no ip http secure-server
!
!
!
!
control-plane
!
!
!
!
!
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
!
!
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
no network-clock-participate slot 1
no network-clock-participate wic 0
ip cef
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface FastEthernet0/0
 no ip address
 duplex auto
 speed auto
 ipv6 address FEC0::100:3/125
 ipv6 address FE80::3 link-local
 ipv6 mld join-group FF12::3
!
interface FastEthernet0/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface Serial1/0
 no ip address
 encapsulation frame-relay IETF
 shutdown
 frame-relay lmi-type cisco
!
interface Serial1/1
 no ip address
 shutdown
!
interface Serial1/2
 no ip address
 shutdown
!
interface Serial1/3
 no ip address
 shutdown
!
!
!
ip http server
no ip http secure-server
!
!
!
!
control-plane
!
!
!
!
!
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
!
!
end
R3
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R5
!
boot-start-marker
boot-end-marker
!
logging message-counter syslog
!
no aaa new-model
dot11 syslog
ip source-route
!
!
!
!
ip cef
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
!
!
!
!
!
archive
 log config
  hidekeys
!
!
!
!
!
!
!
!
interface FastEthernet0/0
 no ip address
 duplex auto
 speed auto
 ipv6 address FE80::5 link-local
 ipv6 address FEC0::100:5/125
 ipv6 mld join-group FF12::3
!
interface FastEthernet0/1
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface Serial0/0/0
 no ip address
 encapsulation frame-relay IETF
 shutdown
 frame-relay lmi-type cisco
!
interface Serial0/1/0
 no ip address
 shutdown
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
!
!
!
!
!
!
!
control-plane
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
scheduler allocate 20000 1000
end
SW1
!
version 12.2
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname SW1
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
system mtu routing 1500
ip subnet-zero
!
!
!
!
!
!
!
!
!
!
spanning-tree mode pvst
spanning-tree extend system-id
!
vlan internal allocation policy ascending
!
!
!
!
interface FastEthernet0/1
 switchport access vlan 100
 switchport mode access
!
interface FastEthernet0/2
!
interface FastEthernet0/3
 switchport access vlan 100
 switchport mode access
!
interface FastEthernet0/4
!
interface FastEthernet0/5
 switchport access vlan 100
 switchport mode access
!
interface FastEthernet0/6
!
interface FastEthernet0/7
!
interface FastEthernet0/8
!
interface FastEthernet0/9
!
interface FastEthernet0/10
!
interface FastEthernet0/11
!
interface FastEthernet0/12
!
interface FastEthernet0/13
!
interface FastEthernet0/14
!
interface FastEthernet0/15
!
interface FastEthernet0/16
!
interface FastEthernet0/17
!
interface FastEthernet0/18
!
interface FastEthernet0/19
!
interface FastEthernet0/20
!
interface FastEthernet0/21
!
interface FastEthernet0/22
!
interface FastEthernet0/23
!
interface FastEthernet0/24
!
interface GigabitEthernet0/1
!
interface GigabitEthernet0/2
!
interface Vlan1
 no ip address
!
ip classless
ip http server
ip http secure-server
!
!
!
!
control-plane
!
!
line con 0
line vty 5 15
!
end

仕様説明

MLD snooping

以下のコマンドでMLD snoopingを有効化する事ができます。IPv4 IGMP snoopingはデフォルトで有効であるのに対し、IPv6 MLD snoopingはデフォルトで無効である事に注意して下さい。

コマンドライン体系がやや複雑なのですが、全体に対する有効化コマンドとVLAN単位の有効化コマンドの両方を入力しないとMLD snoopingが有効にならない事に注意が必要です。

Switch(config)# ipv6 mld snooping
Switch(config)# ipv6 mld snooping vlan <id>

static forwarding

MLDをサポートしないMulticast Clientの場合は、以下のようなstaticエントリを定義する事でマルチキャストパケットを転送する事ができます。

Switch(config)# ipv6 mld snooping vlan <id> static <ipv6_addr> interface <interface>

マルチキャストルータがMLDをサポートしない場合は、以下のようなstaticエントリを定義します。

Switch(config)# ipv6 mld snooping vlan <id> mrouter interface <interface>

MLD tuning

multicast memberから離脱する条件を以下のようなコマンドでチューニングする事ができます。具体的には、タイムアウトやリトライ回数を定義できます。

Switch(config)# ipv6 mld snooping robustness-variable <value>
Switch(config)# ipv6 mld snooping vlan <id> robustness-variable <value>
Switch(config)# ipv6 mld snooping last-listener-query-count <count>
Switch(config)# ipv6 mld snooping vlan <id> last-listener-query-count <count>
Switch(config)# ipv6 mld snooping last-listener-query-interval <interval>
Switch(config)# ipv6 mld snooping vlan <id> last-listener-query-interval <interval>

MLD immediate leave

IPv4と同様に、以下のコマンドでimmediate leaveを定義する事ができます。

Switch(config)# ipv6 mld snooping vlan <id> immediate-leave

MLD snooping

設定投入

以下のコマンドを投入し、vlan 100のMLD snoopingを有効にします。

 [SW1]
ipv6 mld snooping
ipv6 mld snooping vlan 100

動作確認

showコマンドにより設定を確認します。

 [SW1]
SW1#show ipv6 mld snooping
Global MLD Snooping configuration:
-------------------------------------------
MLD snooping                 : Enabled
MLDv2 snooping (minimal)     : Enabled
Listener message suppression : Enabled
TCN solicit query            : Disabled
TCN flood query count        : 2
Robustness variable          : 2
Last listener query count    : 2
Last listener query interval : 1000

Vlan 1:
--------
MLD snooping                        : Enabled
MLD immediate leave                 : Disabled
Robustness variable                 : 2
Last listener query count           : 2
Last listener query interval        : 1000

Vlan 100:
--------
MLD snooping                        : Enabled
MLD immediate leave                 : Disabled
Robustness variable                 : 2
Last listener query count           : 2
Last listener query interval        : 1000

SW1#

static forwarding

設定投入

以下のコマンドを投入し、multicast clientおよびmulticast routerをstaticに定義します。

 [SW1]
ipv6 mld snooping vlan 100 mrouter interface FastEthernet 0/1
ipv6 mld snooping vlan 100 static FF12::3 interface Fa0/5

動作確認

以下showコマンドにより、SW1に接続されたmulticast router一覧を表示させます。Fa0/1がstaticに定義されたmulticast routerである事が分かります。

 [SW1]
SW1#show ipv6 mld snooping mrouter vlan 100
Vlan    ports
----    -----
 100    Fa0/1(static)

SW1#

以下showコマンドにより、staticに定義したmulticast clientを確認します。

 [SW1]
SW1#show ipv6 mld snooping address user
Vlan      Group                    Type        Version     Port List
-----------------------------------------------------------------------
100       FF12::3                  user                    Fa0/1, Fa0/5
SW1#
[/code]

MLD tuning

設定投入

通常はMLD queryに対して2回応答がなかった場合にmulticastの転送ポートから除外されますが、3回応答がなかった場合にmulticastの転送ポートから除外されるよう変更します。

 [SW1]
ipv6 mld snooping robustness-variable 3

動作確認

showコマンドにより設定を確認します。

 [SW1]
SW1#show ipv6 mld snooping querier vlan 100
IP address               : FE80::1
MLD version             : v2
Port                     : Fa0/1
Max response time        : 10s
Query interval           : 125s
Robustness variable      : 2

SW1#show ipv6 mld snooping vlan 100
Global MLD Snooping configuration:
-------------------------------------------
MLD snooping                 : Enabled
MLDv2 snooping (minimal)     : Enabled
Listener message suppression : Enabled
TCN solicit query            : Disabled
TCN flood query count        : 2
Robustness variable          : 3
Last listener query count    : 2
Last listener query interval : 1000

Vlan 100:
--------
MLD snooping                        : Enabled
MLD immediate leave                 : Disabled
Robustness variable                 : 3
Last listener query count           : 2
Last listener query interval        : 1000

SW1#

MLD immediate leave

設定投入

vlan 100に対してimmediate-leaveを有効にします。

 [SW1]
ipv6 mld snooping vlan 100 immediate-leave

動作確認

以下showコマンドにより設定を確認します。

 [SW1]
SW1#show ipv6 mld snooping vlan 100
Global MLD Snooping configuration:
-------------------------------------------
MLD snooping                 : Enabled
MLDv2 snooping (minimal)     : Enabled
Listener message suppression : Enabled
TCN solicit query            : Disabled
TCN flood query count        : 2
Robustness variable          : 3
Last listener query count    : 2
Last listener query interval : 1000

Vlan 100:
--------
MLD snooping                        : Enabled
MLD immediate leave                 : Enabled
Robustness variable                 : 3
Last listener query count           : 2
Last listener query interval        : 1000

SW1#
タイトルとURLをコピーしました