Monday, March 18, 2019

MPLS over Static Routes

Bagi yang memperhatikan configurasi MPLS, rata-rata contoh yang diberikan adalah bahwa masing-masing LSR (Label Switch Router) baik PE maupun P harus:

1. Diaktifkan IGP OSPF
2. Diaktifkan Lo0, dan berpartisi pasi dalam OSPF
3. Force mpls-id menggunakan Lo0

Perhatikan artikel L2 Over MPLS disini atau disini.

Pertanyaan menggelitik, apakah bisa OSPF kita tidak pakai, tapi cukup routing static, plus tanpa interface Loopback?

Apabila kita lakukan experiment di GNS3, ternyata sepertinya tidak bisa. Alias tidak tembus.

Perhatikan contoh sederhada sbb.


R1 dan R3 adapah PE, sedangkan R2 adalah P.

Pertama-tama kita setting IP Address interface ke tiga router tsb. Kita tidak menggunakan Loopback.

Setelah kita bisa melakukan PING dari R1 ke R3 (20.0.0.2) maka logikanya routing static done dong? Bener!

Selanjutnya kita aktifkan mpls, dengan menambahkan command "mpls ip" di interface yang berpartisipasi dalam MPLS. Done! Lalu kita check apakah masing-masing router sudah ketemu neighbour nya.

Kita check di R3.

R3#sh mpl ldp ne
    Peer LDP Ident: 20.0.0.1:0; Local LDP Ident 20.0.0.2:0
        TCP connection: 20.0.0.1.646 - 20.0.0.2.28888
        State: Oper; Msgs sent/rcvd: 10/10; Downstream
        Up time: 00:04:58
        LDP discovery sources:
          FastEthernet0/0, Src IP addr: 20.0.0.1
        Addresses bound to peer LDP Ident:
          10.0.0.2        20.0.0.1
    Peer LDP Ident: 10.0.0.1:0; Local LDP Ident 20.0.0.2:0
        TCP connection: 10.0.0.1.646 - 20.0.0.2.44976
        State: Oper; Msgs sent/rcvd: 10/10; Downstream
        Up time: 00:03:39
        LDP discovery sources:
          Targeted Hello 20.0.0.2 -> 10.0.0.1, active, passive
        Addresses bound to peer LDP Ident:
          10.0.0.1

Ternyata sudah ketemu.

Kita coba cek di R2, dan R1. Kedua router tsb juga sudah ketemu dengan peers mpls neighbour nya. Logikanya Ping dari PC-1 ke PC-2 tembus dong.

Kita coba.

PC-2> ping 192.168.1.1
host (192.168.1.1) not reachable

Ternyata tidak tembus.

Apa penyebabnya?


MPLS LIB dan LFIB

Ternyata walaupun MPLS Neighbour Adjacency telah terbentuk dan masing-masing Router LSR telah exchange route dan label, tapi Label Binding (Label Information Base) dan Label Routing Table (Label Forwarding Information Base) TIDAK TERBENTUK!

Pejelasan proses LIB dan LFIB disini.

Hal ini disebabkan, sebuah informasi Label dan Prefix yang diterima dari Neighbour, maka MPLS daemon akan cek dulu, apakah akan di bindings dan di install di LFIB. Maka si daemon akan cek dulu apakah mpls-id neighbour itu (/32) nya terinstall di routting table. Jika terinstall maka LFIB bisa terbentuk.

Dengan demikian maka kita tinggal check di R1, R2, R3 mpls-id nya berapa. Dari pemeriksaan, diketahui:
R1, mpls id 10.0.0.1
R2, mpls id 20.0.0.1
R3, mpls id 20.0.0.2

Bisa dilihat di R3 sbb:
R3#sh mpl ldp ne
    Peer LDP Ident: 20.0.0.1:0; Local LDP Ident 20.0.0.2:0
        TCP connection: 20.0.0.1.646 - 20.0.0.2.28888
        State: Oper; Msgs sent/rcvd: 10/10; Downstream
        Up time: 00:04:58
        LDP discovery sources:
          FastEthernet0/0, Src IP addr: 20.0.0.1
        Addresses bound to peer LDP Ident:
          10.0.0.2        20.0.0.1
    Peer LDP Ident: 10.0.0.1:0; Local LDP Ident 20.0.0.2:0
        TCP connection: 10.0.0.1.646 - 20.0.0.2.44976
        State: Oper; Msgs sent/rcvd: 10/10; Downstream
        Up time: 00:03:39
        LDP discovery sources:
          Targeted Hello 20.0.0.2 -> 10.0.0.1, active, passive
        Addresses bound to peer LDP Ident:
          10.0.0.1


Tugas selanjunya di masing-masing router tambahkan routing statik ke:
10.0.0.1/32
20.0.0.1/32
20.0.0.2/32

Contoh di R3:

Sebelum ditambahkan routing static (/32) ke masing-masing mpls router-id itu di R3 cek LFIB:

R3#sh mpls for
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  10.0.0.0/24      0             Fa0/0      20.0.0.1
17         No Label   l2ckt(1)         0             Fa0/1      point2point

Perhatikan tidak ada sama sekali Label yang di stempel untuk outgoing.

Sekarang kita tambahkan routing /32 di R3

R3(config)#ip route 20.0.0.1 255.255.255.255 f0/0 20.0.0.1
R3(config)#ip route 10.0.0.1 255.255.255.255 f0/0 20.0.0.1

Lalu check sekarang FLIB di R3.

R3#sh mpls for
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  10.0.0.0/24      0             Fa0/0      20.0.0.1
17         No Label   l2ckt(1)         554           Fa0/1      point2point
18         Pop Label  20.0.0.1/32      0             Fa0/0      20.0.0.1
19         16         10.0.0.1/32      0             Fa0/0      20.0.0.1

Perhatikan baris terakhir terlihat untuk ke arah 10.0.0.1/32 sudah di binding dengan label 16.

dan PING pun berhasil.

PC-2> ping 192.168.1.1
84 bytes from 192.168.1.1 icmp_seq=1 ttl=64 time=62.117 ms
84 bytes from 192.168.1.1 icmp_seq=2 ttl=64 time=58.067 ms
84 bytes from 192.168.1.1 icmp_seq=3 ttl=64 time=58.249 ms
84 bytes from 192.168.1.1 icmp_seq=4 ttl=64 time=62.184 ms
84 bytes from 192.168.1.1 icmp_seq=5 ttl=64 time=53.361 ms

Berikut konfigurasi lengkapnya.

================================================
R1

interface FastEthernet0/0
 no ip address
 xconnect 20.0.0.2 100 encapsulation mpls
!
interface FastEthernet0/1
 ip address 10.0.0.1 255.255.255.0
 mpls ip
!
ip route 20.0.0.0 255.255.255.0 FastEthernet0/1 10.0.0.2
ip route 20.0.0.1 255.255.255.255 FastEthernet0/1 10.0.0.2
ip route 20.0.0.2 255.255.255.255 FastEthernet0/1 10.0.0.2


================================================
R2

interface FastEthernet0/0
 ip address 10.0.0.2 255.255.255.0
 mpls ip
!
interface FastEthernet0/1
 ip address 20.0.0.1 255.255.255.0
 mpls ip
!
ip route 10.0.0.1 255.255.255.255 FastEthernet0/0 10.0.0.1
ip route 20.0.0.2 255.255.255.255 FastEthernet0/1 20.0.0.2


================================================
R3

interface FastEthernet0/0
 ip address 20.0.0.2 255.255.255.0
 mpls ip
!
interface FastEthernet0/1
 no ip address
 xconnect 10.0.0.1 100 encapsulation mpls
!
ip route 10.0.0.0 255.255.255.0 FastEthernet0/0 20.0.0.1
ip route 10.0.0.1 255.255.255.255 FastEthernet0/0 20.0.0.1
ip route 20.0.0.1 255.255.255.255 FastEthernet0/0 20.0.0.1

No comments: