top of page

JANOG 53 NETCON 問題解説 Level 4-4

JANOG 53 にスタッフ(NETCON委員)として参加させていただきました。 作成した問題について、回答と解説を記載します。

Level 4-4 MPLS sham-link の問題



技術要素

・MPLS

構成解説

CSR1000v x 3, XRd x 2, linux x 2

問題文


Site-AとSite-BはMPLS網を使用して拠点間通信をしています。MPLS網に障害が発生したときのため、従量課金制のバックアップ用回線を用意して、CE1とCE2を直接接続するリンクを新たに追加したところ、Site-AとSite-B間の通信が平常時もバックアップ用回線を通ってしまうようになりました。なお、CEではバックアップ用回線のOSPF COSTを 100 に設定しています。

Site-AとSite-B間の通信が、通常時はMPLS網を通り、MPLS網が使用できない場合のみバックアップ回線を使用するように、PEの設定を修正してください。 通常時

PC1:~# traceroute -n 192.168.2.100

traceroute to 192.168.2.100 (192.168.2.100), 30 hops max, 46 byte packets

 1  192.168.1.1  0.690 ms  0.389 ms  0.388 ms

 2  172.16.10.1  0.830 ms  0.653 ms  0.702 ms

 3  172.16.20.1  2.080 ms  1.899 ms  1.722 ms

 4  172.16.20.2  2.285 ms  1.856 ms  1.919 ms

 5  192.168.2.100  1.839 ms  1.873 ms  1.778 ms

MPLS網障害発生時

PC1:~# traceroute -n 192.168.2.100

traceroute to 192.168.2.100 (192.168.2.100), 30 hops max, 46 byte packets

 1  192.168.1.1  0.628 ms  0.417 ms  0.357 ms

 2  172.16.100.2  1.064 ms  0.856 ms  0.819 ms

 3  192.168.2.100  0.981 ms  0.882 ms  0.830 ms



【制約】

CE1/CE2にはログインできません 本件の解決のため、PE1とPE2のそれぞれにLoopbackインターフェースを1つ作成できます ・PBRを使用してはいけません ・MPLS網障害発生時の動作確認には、PE1の G4 を shutdown してください ・参考:CE1/CE2では、初期状態では以下のようになっています

RP/0/RP0/CPU0:CE1#show ospf interface brief

Thu Dec 28 06:10:19.232 UTC

 

* Indicates MADJ interface, (P) Indicates fast detect hold down state

 

Interfaces for OSPF 1

 

Interface PID Area IP Address/Mask Cost State Nbrs F/C

Gi0/0/0/1 1 10 172.16.10.2/30 1 DR 1/1

Gi0/0/0/2 1 10 192.168.1.1/24 1 DR 0/0

Gi0/0/0/3 1 10 172.16.100.1/30 100 BDR 1/1

 

 

 

RP/0/RP0/CPU0:CE2#show ospf interface brief

Thu Dec 28 06:11:23.555 UTC

 

* Indicates MADJ interface, (P) Indicates fast detect hold down state

 

Interfaces for OSPF 1

 

Interface PID Area IP Address/Mask Cost State Nbrs F/C

Gi0/0/0/1 1 10 172.16.20.2/30 1 DR 1/1

Gi0/0/0/2 1 10 192.168.2.1/24 1 DR 0/0

Gi0/0/0/3 1 10 172.16.100.2/30 100 DR 1/1

 

 

RP/0/RP0/CPU0:CE2#show route ospf

Thu Dec 28 06:11:28.138 UTC

 

O 172.16.10.0/30 [110/101] via 172.16.100.1, 00:03:28, GigabitEthernet0/0/0/3

O 192.168.1.0/24 [110/101] via 172.16.100.1, 00:03:28, GigabitEthernet0/0/0/3




問題解説 【状態確認】PC1からPC2に対して、ping と traceroute を試してみます。

PC1:~# ping -c 5 192.168.2.100

PING 192.168.2.100 (192.168.2.100) 56(84) bytes of data.

64 bytes from 192.168.2.100: icmp_seq=1 ttl=62 time=1.43 ms

64 bytes from 192.168.2.100: icmp_seq=2 ttl=62 time=1.30 ms

64 bytes from 192.168.2.100: icmp_seq=3 ttl=62 time=1.29 ms

64 bytes from 192.168.2.100: icmp_seq=4 ttl=62 time=1.34 ms

64 bytes from 192.168.2.100: icmp_seq=5 ttl=62 time=1.24 ms

 

--- 192.168.2.100 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4004ms

rtt min/avg/max/mdev = 1.241/1.320/1.428/0.062 ms

 

 

PC1:~# traceroute -n 192.168.2.100

traceroute to 192.168.2.100 (192.168.2.100), 30 hops max, 46 byte packets

1 192.168.1.1 0.777 ms 0.427 ms 0.390 ms

2 172.16.100.2 2.713 ms 0.872 ms 0.887 ms

3 192.168.2.100 0.929 ms 0.864 ms 0.841 ms

バックアップリンクを経由してしまっています。


原因は後述しますが、この問題を解決するには、PE1/PE2で sham-link を構成する必要があります。



PE1とPE2に sham-link 用に Lo1 を作成します。

(IPアドレスは他のインターフェースとバッティングしなければ何でもOKです)


PE1

int lo1

 ip vrf forwarding Customer-X

 ip add 172.16.3.1 255.255.255.255


PE2

int lo1

 ip vrf forwarding Customer-X

 ip add 172.16.3.2 255.255.255.255


作成したLo1のアドレス帯をBGPでアドバタイズします。


PE1

router bgp 65001

 address-family ipv4 vrf Customer-X

 network 172.16.3.1 mask 255.255.255.255

PE2

router bgp 65001

 address-family ipv4 vrf Customer-X

 network 172.16.3.2 mask 255.255.255.255


OSPFで sham-link の設定をします。


PE1

router ospf 2 vrf Customer-X

 area 10 sham-link 172.16.3.1 172.16.3.2

PE2

router ospf 2 vrf Customer-X

 area 10 sham-link 172.16.3.2 172.16.3.1


sham-link がUPしていることを確認します。


PE1

PE1#show ip ospf 2 interface brief

Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C

SL0          2     10              0.0.0.0/0          1     P2P   1/1

Gi4          2     10              172.16.10.1/30     1     BDR   1/1

 

 

PE1#show ip ospf 2 sham-links

Sham Link OSPF_SL0 to address 172.16.3.2 is up

Area 10 source address 172.16.3.1

  Run as demand circuit

  DoNotAge LSA allowed. Cost of using 1 State POINT_TO_POINT,

  Timer intervals configured, Hello 10, Dead 40, Wait 40,

    Hello due in 00:00:00

    Adjacency State FULL (Hello suppressed)

    Index 1/2/2, retransmission queue length 0, number of retransmission 0

    First 0x0(0)/0x0(0)/0x0(0) Next 0x0(0)/0x0(0)/0x0(0)

    Last retransmission scan length is 0, maximum is 0

    Last retransmission scan time is 0 msec, maximum is 0 msec


再度PC1からPC2に traceroute を試してみます。

PC1:~# traceroute -n 192.168.2.100

traceroute to 192.168.2.100 (192.168.2.100), 30 hops max, 46 byte packets

 1  192.168.1.1  0.690 ms  0.499 ms  0.419 ms

 2  172.16.10.1  32.705 ms  0.609 ms  0.669 ms

 3  172.16.20.1  15.431 ms  1.639 ms  1.589 ms

 4  172.16.20.2  9.117 ms  1.837 ms  1.734 ms

 5  192.168.2.100  1.940 ms  1.824 ms  1.793 ms

MPLS網を経由するようになりました。


MPLS網の障害発生時を想定して、PE1の G4 を shut してみます。


PE1

int g4

 shutdown



PC1からtraceします。

PC1:~# traceroute -n 192.168.2.100

traceroute to 192.168.2.100 (192.168.2.100), 30 hops max, 46 byte packets

 1  192.168.1.1  0.692 ms  0.442 ms  0.388 ms

 2  172.16.100.2  1.110 ms  0.935 ms  0.808 ms

 3  192.168.2.100  0.844 ms  0.917 ms  1.069 ms

バックアップリンクを経由します。




MPLS網の復旧を想定して、no shut します。


PE1

int g4

 no shutdown


30秒程度待ってから、PC1からtraceします。

PC1:~# traceroute -n 192.168.2.100

traceroute to 192.168.2.100 (192.168.2.100), 30 hops max, 46 byte packets

 1  192.168.1.1  0.677 ms  0.464 ms  0.378 ms

 2  172.16.10.1  0.736 ms  0.614 ms  0.723 ms

 3  172.16.20.1  1.811 ms  1.555 ms  1.536 ms

 4  172.16.20.2  1.967 ms  1.859 ms  1.675 ms

 5  192.168.2.100  1.694 ms  1.646 ms  1.809 ms

MPLS網経由に戻っています。



【初期状態でバックアップリンクを経由してしまっていた理由】

MPLSで PE-CE 間でOSPFを使用する場合、PE同士のOSPFプロセスIDを一致させると

MPLS網がスーパーバックボーンとなり、PEがABRのように動作します。


対向拠点の情報は LSA Type 3 で広報されます。



LSA Type 3 のため、PE上では「O IA」(エリア間ルート)としてルーティングテーブルに経路を載せます。

RP/0/RP0/CPU0:CE1#show route ospf

Thu Dec 28 07:08:19.692 UTC

 

O IA 172.16.20.0/30 [110/2] via 172.16.10.1, 00:00:07, GigabitEthernet0/0/0/1

O IA 172.16.100.0/30 [110/102] via 172.16.10.1, 00:00:06, GigabitEthernet0/0/0/1

O IA 192.168.2.0/24 [110/3] via 172.16.10.1, 00:00:07, GigabitEthernet0/0/0/1


しかしバックアップリンクを構成したことにより、エリアID 10 内で直接LSAを交換するため、

「O」(エリア内ルート)となってしまい、バックアップリンクを通ります。


バックアップリンクの OSPF Cost は 100 に設定されていますが、

エリア間ルート「O IA」よりもエリア内ルート「O」が優先されるため、Cost の比較は行われません。

RP/0/RP0/CPU0:CE1#show route ospf

Thu Dec 28 07:13:33.457 UTC

 

O    172.16.20.0/30 [110/101] via 172.16.100.2, 00:00:01, GigabitEthernet0/0/0/3

O    192.168.2.0/24 [110/101] via 172.16.100.2, 00:00:01, GigabitEthernet0/0/0/3



sham-link はPE間の仮想リンクとして動作し、LSA Type 1 のまま対向拠点の経路情報を広報します。

MPLS網から学習するルートが「O」(エリア内ルート)となり、ここで Cost が比較され、

Cost値の低いMPLS網に向くようになります。

RP/0/RP0/CPU0:CE1#show route ospf

Thu Dec 28 06:16:03.401 UTC

 

O E2 172.16.3.1/32 [110/1] via 172.16.10.1, 00:03:02, GigabitEthernet0/0/0/1

O E2 172.16.3.2/32 [110/1] via 172.16.10.1, 00:02:13, GigabitEthernet0/0/0/1

O 172.16.20.0/30 [110/3] via 172.16.10.1, 00:02:08, GigabitEthernet0/0/0/1

O 192.168.2.0/24 [110/4] via 172.16.10.1, 00:02:08, GigabitEthernet0/0/0/1




正解例 以下のようにPE1/PE2に sham-link の設定を追加します。


PE1

int lo1

 ip vrf forwarding Customer-X

 ip add 172.16.3.1 255.255.255.255

 

router bgp 65001

 address-family ipv4 vrf Customer-X

 network 172.16.3.1 mask 255.255.255.255

 

router ospf 2 vrf Customer-X

 area 10 sham-link 172.16.3.1 172.16.3.2

PE2

int lo1

 ip vrf forwarding Customer-X

 ip add 172.16.3.2 255.255.255.255

 

router bgp 65001

 address-family ipv4 vrf Customer-X

 network 172.16.3.2 mask 255.255.255.255

 

router ospf 2 vrf Customer-X

 area 10 sham-link 172.16.3.2 172.16.3.1

初期config

 PE1

hostname PE1

no ip domain lookup

 

ip vrf Customer-X

 rd 65001:100

 route-target export 65001:100

 route-target import 65001:100

 

no mpls ip propagate-ttl

 

interface Loopback0

 ip address 1.1.1.1 255.255.255.255

 

interface GigabitEthernet3

 no shutdown

 ip address 172.16.1.1 255.255.255.0

 

interface GigabitEthernet4

 no shutdown

 ip vrf forwarding Customer-X

 ip address 172.16.10.1 255.255.255.252

 

router ospf 2 vrf Customer-X

 router-id 1.1.1.1

 redistribute bgp 65001

 network 172.16.10.1 0.0.0.0 area 10

 

router ospf 1

 router-id 1.1.1.1

 network 1.1.1.1 0.0.0.0 area 0

 network 172.16.1.1 0.0.0.0 area 0

 mpls ldp autoconfig

 

router bgp 65001

 bgp router-id 1.1.1.1

 bgp log-neighbor-changes

 no bgp default ipv4-unicast

 neighbor 100.100.100.100 remote-as 65001

 neighbor 100.100.100.100 update-source Loopback0

 

 address-family vpnv4

  neighbor 100.100.100.100 activate

  neighbor 100.100.100.100 send-community extended

 exit-address-family

 

 address-family ipv4 vrf Customer-X

  redistribute ospf 2

 exit-address-family

 

PE2

hostname PE2

no ip domain lookup

 

ip vrf Customer-X

 rd 65001:100

 route-target export 65001:100

 route-target import 65001:100

 

no mpls ip propagate-ttl

 

interface Loopback0

 ip address 2.2.2.2 255.255.255.255

 

interface GigabitEthernet3

 no shutdown

 ip address 172.16.2.2 255.255.255.0

 

interface GigabitEthernet4

 no shutdown

 ip vrf forwarding Customer-X

 ip address 172.16.20.1 255.255.255.252

 

router ospf 2 vrf Customer-X

 router-id 2.2.2.2

 redistribute bgp 65001

 network 172.16.20.1 0.0.0.0 area 10

 

router ospf 1

 router-id 2.2.2.2

 network 2.2.2.2 0.0.0.0 area 0

 network 172.16.2.2 0.0.0.0 area 0

 mpls ldp autoconfig

 

router bgp 65001

 bgp router-id 2.2.2.2

 bgp log-neighbor-changes

 no bgp default ipv4-unicast

 neighbor 100.100.100.100 remote-as 65001

 neighbor 100.100.100.100 update-source Loopback0

 

 address-family vpnv4

  neighbor 100.100.100.100 activate

  neighbor 100.100.100.100 send-community extended

 exit-address-family

 

 address-family ipv4 vrf Customer-X

  redistribute ospf 2

 exit-address-family


P1

hostname P1

no ip domain lookup

 

interface Loopback0

 ip address 100.100.100.100 255.255.255.255

 

interface GigabitEthernet3

 no shutdown

 ip address 172.16.1.100 255.255.255.0

 

interface GigabitEthernet4

 no shutdown

 ip address 172.16.2.100 255.255.255.0

 

router ospf 1

 router-id 100.100.100.100

 network 100.100.100.100 0.0.0.0 area 0

 network 172.16.1.100 0.0.0.0 area 0

 network 172.16.2.100 0.0.0.0 area 0

 mpls ldp autoconfig

 

router bgp 65001

 bgp router-id 100.100.100.100

 bgp log-neighbor-changes

 no bgp default ipv4-unicast

 neighbor 1.1.1.1 remote-as 65001

 neighbor 1.1.1.1 update-source Loopback0

 neighbor 2.2.2.2 remote-as 65001

 neighbor 2.2.2.2 update-source Loopback0

 

 address-family vpnv4

  neighbor 1.1.1.1 activate

  neighbor 1.1.1.1 send-community extended

  neighbor 1.1.1.1 route-reflector-client

  neighbor 2.2.2.2 activate

  neighbor 2.2.2.2 send-community extended

  neighbor 2.2.2.2 route-reflector-client

 exit-address-family


CE1

hostname CE1

 

interface GigabitEthernet0/0/0/1

 no shutdown

 ipv4 address 172.16.10.2 255.255.255.252

 

interface GigabitEthernet0/0/0/2

 no shutdown

 ipv4 address 192.168.1.1 255.255.255.0

 

interface GigabitEthernet0/0/0/3

 no shutdown

 ipv4 address 172.16.100.1 255.255.255.252

 

router ospf 1

 area 10

  interface GigabitEthernet0/0/0/1

 

  interface GigabitEthernet0/0/0/2

   passive enable

 

  interface GigabitEthernet0/0/0/3

   cost 100


CE2

hostname CE2

 

interface GigabitEthernet0/0/0/1

 no shutdown

 ipv4 address 172.16.20.2 255.255.255.252

 

interface GigabitEthernet0/0/0/2

 no shutdown

 ipv4 address 192.168.2.1 255.255.255.0

 

interface GigabitEthernet0/0/0/3

 no shutdown

 ipv4 address 172.16.100.2 255.255.255.252

 

router ospf 1

 area 10

  interface GigabitEthernet0/0/0/1

 

  interface GigabitEthernet0/0/0/2

   passive enable

 

  interface GigabitEthernet0/0/0/3

   cost 100


タグ:

Comments


最新記事
アーカイブ
タグから検索
ソーシャルメディア
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page