概要

Anycast RPによって、RPの負荷分散と冗長化を行います。Anycast RPでRPが正常時の負荷分散の様子とRPに障害が発生したときの切り替えの様子を実際に確認します。

ネットワーク構成

図 Anycast RPネットワーク構成
図 Anycast RPネットワーク構成

設定の概要

各ルータでは、EIGRP AS1によるユニキャストルーティングを行っています。SourceおよびReciever1はVLC Media Playerを利用します。また、Reciever2はR7でip igmp joing-groupによってマルチキャストレシーバとして動作するようにします。

R3とR4にAnycastアドレスを設定します。設定するAnycastアドレスはLoopback34で34.34.34.34/32です。R2をBSRとし、R3およびR4でAnycastアドレスをRP候補として設定して、R3とR4でRPの負荷分散ができるようにします。

初期設定

各ルータでEIGRPによるユニキャストルーティングが完了している状態から開始します。

設定と確認

Step1:PIM-SMの有効化

PIM-SMによるマルチキャストルーティングを行うために、R1~R7でマルチキャストルーティングを有効化し、Loopback0を除くすべてのインタフェースでPIM-SMを有効化します。マルチキャストルーティングを有効化するには、次のコマンドを使います。

マルチキャストルーティングの有効化

(config)#ip multicast-routing

また、インタフェースでPIM-SMを有効化するには次のコマンドを使います。

インタフェースでPIM-SMを有効化

(config-if)#ip pim {sparse-mode|sparse-dense-mode}

また、RP経由でマルチキャストパケットをルーティングさせるためにR6/R7ではスイッチオーバーを無効化します。

R6/R7 スイッチオーバーの無効化

ip pim spt-threshold infinity

Step2:PIMの確認

Step1で設定したPIM-SMを確認します。確認のために、次の2つのコマンドを使います。

コマンド確認する内容
#show ip pim interfacePIMが有効になっているインタフェースを確認
#show ip pim neighborPIMネイバーを確認
表 PIMの確認コマンド

R1では、show ip pim interfaceおよびshow ip pim neighborの出力例は次のようになります。

R1 show ip pim interface/show ip pim neighbor

R1-PIM#show ip pim interface

Address          Interface                Ver/   Nbr    Query  DR     DR
                                          Mode   Count  Intvl  Prior
172.16.1.1       FastEthernet0/1.1        v2/S   0      30     1      172.16.1.1
172.16.12.1      FastEthernet0/1.12       v2/S   1      30     1      172.16.12.2
R1-PIM#show ip pim neighbor
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
      S - State Refresh Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
172.16.12.2       FastEthernet0/1.12       02:31:06/00:01:21 v2    1 / DR S

Step3:Anycastアドレスの設定とアドバタイズ

R3とR4でLoopback34を作成し、34.34.34.34/32のIPアドレスを設定します。そして、EIGRPでアドバタイズします。

R3、R4 Anycastアドレスの設定とアドバタイズ

interface loopback 34
 ip address 34.34.34.34 255.255.255.255

router eigrp 1
 network 34.34.34.34 0.0.0.0

Step4:Anycastアドレスに対するメトリック調整

R2とR5でAnycastアドレス34.34.34.34/32は等コストロードバランスで、2つのルートがルーティングテーブル上に載せられます。R2はR4からのルートを優先し、R5はR4からのルートを優先するようにオフセットリストでメトリックを調整します。

R2 メトリックの調整

access-list 34 permit 34.34.34.34

router eigrp 1
 offset-list 34 in 100 fastethernet0/1.23

R5 メトリックの調整

access-list 34 permit 34.34.34.34

router eigrp 1
 offset-list 34 in 100 fastethernet0/1.45

R2とR5では、34.34.34.34/32のルートは次のようになります。

R2 show ip route 34.34.34.34

R2-PIM#show ip route 34.34.34.34
Routing entry for 34.34.34.34/32
  Known via "eigrp 1", distance 90, metric 156160, type internal
  Redistributing via eigrp 1
  Last update from 172.16.24.4 on FastEthernet0/1.24, 00:00:55 ago
  Routing Descriptor Blocks:
  * 172.16.24.4, from 172.16.24.4, 00:00:55 ago, via FastEthernet0/1.24
      Route metric is 156160, traffic share count is 1
      Total delay is 5100 microseconds, minimum bandwidth is 100000 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 1

R5 show ip route 34.34.34.34

R5-PIM#show ip route 34.34.34.34
Routing entry for 34.34.34.34/32
  Known via "eigrp 1", distance 90, metric 156160, type internal
  Redistributing via eigrp 1
  Last update from 172.16.35.3 on FastEthernet0/1.35, 00:00:05 ago
  Routing Descriptor Blocks:
  * 172.16.35.3, from 172.16.35.3, 00:00:05 ago, via FastEthernet0/1.35
      Route metric is 156160, traffic share count is 1
      Total delay is 5100 microseconds, minimum bandwidth is 100000 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 1/255, Hops 1

Step5:BSR候補の設定

R2を次のように設定して、BSR候補として設定します。

R2 BSR候補の設定

interface loopback 0
 ip pim sparse-mod

ip pim bsr-candidate loopback0 30

ip pim bsr-candidateコマンド内で指定するインタフェースはPIMが有効になっている必要があります。そのため、Loopback0でPIM-SMを有効化しています。

Step6:RP候補の設定

R3とR4のLoopback34を239.1.1.1のRP候補として設定します。

R3/R4 RP候補の設定

interface loopback34
 ip pim sparse-mode

access-list 1 permit 239.1.1.1

ip pim rp-candidate loopback 34 group-list 1

Step7:RPアドレスの確認

各ルータで239.1.1.1のRPアドレスが34.34.34.34であることを確認します。R1でshow ip pim rp mappingを見ると、次のようになります。

R1 show ip pim rp mapping

R1-PIM#show ip pim rp mapping
PIM Group-to-RP Mappings

Group(s) 239.1.1.1/32
  RP 34.34.34.34 (?), v2
    Info source: 2.2.2.2 (?), via bootstrap, priority 0, holdtime 210
         Uptime: 00:07:01, expires: 00:02:59

Step8:MSDPピアの設定

Anycastアドレスを設定しているR3とR4の間でMSDPピアを設定します。ピアを設定するIPアドレスはお互いのLoopback0とします。

R3 MSDPピアの設定と確認

ip msdp peer 4.4.4.4 connect-source loopback 0
ip msdp originator-id loopback 0

R4 MSDPピアの設定

ip msdp peer 3.3.3.3 connect-source loopback 0
ip msdp originator-id loopback 0

R3とR4でshow ip msdp peerコマンドでMSDPピアの状態を確認します。

R3 show ip msdp peer

R3-PIM#show ip msdp peer
MSDP Peer 4.4.4.4 (?), AS ?
Description:
  Connection status:
    State: Up, Resets: 0, Connection source: Loopback0 (3.3.3.3)
    Uptime(Downtime): 00:07:45, Messages sent/received: 9/8
    Output messages discarded: 0
    Connection and counters cleared 00:08:45 ago
  SA Filtering:
    Input filter: none, route-map: none
    Output filter: none, route-map: none
  SA-Requests:
    Input filter: none
    Sending SA-Requests to peer: disabled
  Peer ttl threshold: 0
  Input queue size: 0, Output queue size: 0

R4 show ip msdp peer

R4-PIM#show ip msdp peer
MSDP Peer 3.3.3.3 (?), AS ?
Description:
  Connection status:
    State: Up, Resets: 0, Connection source: Loopback0 (4.4.4.4)
    Uptime(Downtime): 00:08:13, Messages sent/received: 9/9
    Output messages discarded: 0
    Connection and counters cleared 00:08:50 ago
  SA Filtering:
    Input (S,G) filter: none, route-map: none
    Input RP filter: none, route-map: none
    Output (S,G) filter: none, route-map: none
    Output RP filter: none, route-map: none
  SA-Requests:
    Input filter: none
    Sending SA-Requests to peer: disabled
  Peer ttl threshold: 0
  SAs learned from this peer: 0
  Input queue size: 0, Output queue size: 0


Step9:Receiver1/Receiver2のJoinと共有ツリーの確認

Receiver1のVLC Media Playerで239.1.1.1にJoinします。また、R7のFastEthernet0/1.7を239.1.1.1にJoinします。

R7 239.1.1.1にJoin

interface fastethernet 0/1.7
 ip igmp join-group 239.1.1.1

その後、R3、R4、R5、R6、R7で239.1.1.1に対する共有ツリーを確認します。

R3 show ip mroute 239.1.1.1

R3-PIM#show ip mroute 239.1.1.1
~省略~

(*, 239.1.1.1), 00:19:27/00:03:13, RP 34.34.34.34, flags: S
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    FastEthernet0/0.35, Forward/Sparse, 00:18:05/00:03:12

R4 show ip mroute 239.1.1.1

R4-PIM#show ip mroute 239.1.1.1
~省略~

(*, 239.1.1.1), 00:23:15/00:03:03, RP 34.34.34.34, flags: S
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    FastEthernet0/1.47, Forward/Sparse, 00:23:15/00:03:03

R5 show ip mroute 239.1.1.1

R5-PIM#show ip mroute 239.1.1.1
~省略~

(*, 239.1.1.1), 00:24:26/00:02:41, RP 34.34.34.34, flags: S
  Incoming interface: FastEthernet0/1.35, RPF nbr 172.16.35.3
  Outgoing interface list:
    FastEthernet0/1.56, Forward/Sparse, 00:24:26/00:02:41

R6 show ip mroute 239.1.1.1

R6-PIM#show ip mroute 239.1.1.1
~省略~

(*, 239.1.1.1), 00:51:28/00:02:30, RP 34.34.34.34, flags: SJC
  Incoming interface: FastEthernet0/1.56, RPF nbr 172.16.56.5
  Outgoing interface list:
    FastEthernet0/1.6, Forward/Sparse, 00:51:28/00:02:30

R7 show ip mroute 239.1.1.1

R7-PIM#show ip mroute 239.1.1.1
~省略~

(*, 239.1.1.1), 01:55:35/00:02:27, RP 34.34.34.34, flags: SCL
  Incoming interface: FastEthernet0/1.47, RPF nbr 172.16.47.4
  Outgoing interface list:
    FastEthernet0/1.7, Forward/Sparse, 01:53:57/00:02:27

R3からR7の共有ツリーの様子を図に示すと次のようになります。

図 共有ツリーの全体像
図 共有ツリーの全体像

この図にあるように、Receiver1はR3を中心とする共有ツリーに参加していて、Receiver2はR4を中心とする共有ツリーに参加していることがわかります。つまり、R3とR4でRPの負荷分散が行われています。

Step10:マルチキャストパケットの送信と送信元ツリーの作成

SourceでVLC Media Playerを利用して、239.1.1.1あてにマルチキャストパケットを送信します。マルチキャストパケットがルーティングされて、Receiver1には映像が表示されます。このとき、R1~R4のディストリビューションツリーを確認すると、次のようになります。

R1 show ip mroute 239.1.1.1

R1-PIM#show ip mroute 239.1.1.1
~省略~

(*, 239.1.1.1), 00:04:38/stopped, RP 34.34.34.34, flags: SPF
  Incoming interface: FastEthernet0/1.12, RPF nbr 172.16.12.2
  Outgoing interface list: Null

(172.16.1.100, 239.1.1.1), 00:04:38/00:03:23, flags: FT
  Incoming interface: FastEthernet0/1.1, RPF nbr 0.0.0.0
  Outgoing interface list:
    FastEthernet0/1.12, Forward/Sparse, 00:04:38/00:02:47

R2 show ip mroute 239.1.1.1

R2-PIM#show ip mroute 239.1.1.1
~省略~

(*, 239.1.1.1), 00:31:25/stopped, RP 34.34.34.34, flags: SP
  Incoming interface: FastEthernet0/1.24, RPF nbr 172.16.24.4
  Outgoing interface list: Null

(172.16.1.100, 239.1.1.1), 00:30:29/00:03:22, flags: T
  Incoming interface: FastEthernet0/1.12, RPF nbr 172.16.12.1
  Outgoing interface list:
    FastEthernet0/1.23, Forward/Sparse, 00:30:27/00:02:41
    FastEthernet0/1.24, Forward/Sparse, 00:30:30/00:02:36

R3 show ip mroute 239.1.1.1

R3-PIM#show ip mroute 239.1.1.1
~省略~

(*, 239.1.1.1), 00:43:07/00:02:59, RP 34.34.34.34, flags: S
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    FastEthernet0/0.35, Forward/Sparse, 00:41:45/00:02:30

(172.16.1.100, 239.1.1.1), 00:12:51/00:02:59, flags: MT
  Incoming interface: FastEthernet0/0.23, RPF nbr 172.16.23.2
  Outgoing interface list:
    FastEthernet0/0.35, Forward/Sparse, 00:01:58/00:02:00

MフラグはMSDP SAメッセージによって作成されたエントリであることを表しています。

R4 show ip mroute 239.1.1.1

R4-PIM#show ip mroute 239.1.1.1
~省略~

(*, 239.1.1.1), 00:03:27/00:00:24, RP 34.34.34.34, flags: S
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    FastEthernet0/1.47, Forward/Sparse, 00:03:06/00:03:22

(172.16.1.100, 239.1.1.1), 00:03:27/00:03:24, flags: TA
  Incoming interface: FastEthernet0/1.24, RPF nbr 172.16.24.2
  Outgoing interface list:
    FastEthernet0/1.47, Forward/Sparse, 00:03:06/00:03:22

Aフラグは、MSDP SAメッセージによってアドバタイズしていることを表しています。

R1~R4のディストリビューションツリーの全体像は次の図のようになります。

図 送信元ツリーの全体像
図 送信元ツリーの全体像

Step11:RPの切り替えの確認

Sourceから239.1.1.1へマルチキャストパケットを送信しながらR3を再起動します。R3が再起動する際いったん映像が止まりますが、ユニキャストルーティングのコンバージェンスが完了すると映像が再び表示されることが確認できます。

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