Senin, 19 Desember 2011

MPLS Traffic Engineering

Traffic engineering adalah proses pemilihan saluran data traffic untuk menyeimbangkan beban trafik pada berbagai jalur dan titik dalam network. Tujuan akhirnya adalah memungkinkan operasional network yang andal dan efisien, sekaligus mengoptimalkan penggunaan sumberdaya dan performansi trafik. Panduan TE untuk MPLS (disebut MPLS-TE) adalah RFC-2702 [Awduche 1999a]. RFC-2702 menyebutkan tiga masalah dasar berkaitan dengan MPLS-TE, yaitu:
  • Pemetaan paket ke dalam FEC
  • Pemetaan FEC ke dalam trunk trafik
  • Pemetaan trunk trafik ke topologi network fisik melalui LSP
Namun RFC hanya membahas soal ketiga. Soal lain dikaji sebagai soal-soal QoS. Awduche [1999] menyusun sebuah model MPLS-TE, yang terdiri atas komponen-komponen: manajemen path, penempatan trafik, penyebaran keadaan network, dan manajemen network.

Manajemen Path
Manajemen path meliputi proses-proses pemilihan route eksplisit berdasar kriteria tertentu, serta pembentukan dan pemeliharaan tunnel LSP dengan aturan-aturan tertentu. Proses pemilihan route dapat dilakukan secara administratif, atau secara otomatis dengan proses routing yang bersifat constraint-based. Proses constraint-based dilakukan dengan kalkulasi berbagai alternatif routing untuk memenuhi spesifikasi yang ditetapkan dalam kebijakan administratif. Tujuannya adalah untuk mengurangi pekerjaan manual dalam TE.

Setelah pemilihan, dilakukan penempatan path dengan menggunakan protokol persinyalan, yang juga merupakan protokol distribusi label. Ada dua protokol jenis ini yang sering dianjurkan untuk dipakai, yaitu RSVP-TE dan CR-LDP.

Manajemen path juga mengelola pemeliharaan path, yaitu menjaga path selama masa transmisi, dan mematikannya setelah transmisi selesai.

Terdapat sekelompok atribut yang melekat pada LSP dan digunakan dalam operasi manajemen path. Atribut-atribut itu antara lain:
  • Atribut parameter trafik, adalah karakteristrik trafik yang akan ditransferkan, termasuk nilai puncak, nilai rerata, ukuran burst yang dapat terjadi, dll. Ini diperlukan untuk menghitung resource yang diperlukan dalam trunk trafik.
  • Atribut pemilihan dan pemeliharaan path generik, adalah aturan yang dipakai untuk memilih route yang diambil oleh trunk trafik, dan aturan untuk menjaganya tetap hidup.
  • Atribut prioritas, menunjukkan prioritas pentingnya trunk trafik, yang dipakai baik dalam pemilihan path, maupun untuk menghadapi keadaan kegagalan network.
  • Atribut pre-emption, untuk menjamin bahwa trunk trafik berprioritas tinggi dapat disalurkan melalui path yang lebih baik dalam lingkungan DiffServ. Atribut ini juga dipakai dalam kegiatan restorasi network setelah kegagalan.
  • Atribut perbaikan, menentukan perilaku trunk trafik dalam kedaan kegagalan. Ini meliputi deteksi kegagalan, pemberitahuan kegagalan, dan perbaikan.
  • Atribut policy, menentukan tindakan yang diambil untuk trafik yang melanggar, misalnya trafik yang lebih besar dari batas yang diberikan. Trafik seperti ini dapat dibatasi, ditandai, atau diteruskan begitu saja.
Atribut-atribut ini memiliki banyak kesamaan dengan network yang sudah ada sebelumnya. Maka diharapkan tidak terlalu sulit untuk memetakan atribut trafik trunk ini ke dalam arsitektur switching dan routing network yang sudah ada.

Manajemen Network
Performansi MPLS-TE tergantung pada kemudahan mengukur dan mengendalikan network. Manajemen network meliputi konfigurasi network, pengukuran network, dan penanganan kegagalan network.

Pengukuran terhadap LSP dapat dilakukan seperti pada paket data lainnya. Traffic flow dapat diukur dengan melakukan monitoring dan menampilkan statistika hasilnya. Path loss dapat diukur dengan melakukan monitoring pada ujung-ujung LSP, dan mencatat trafik yang hilang. Path delay dapat diukur dengan mengirimkan paket probe menyeberangi LSP, dan mengukur waktunya. Notifikasi dan alarm dapat dibangkitkan jika parameter-parameter yang ditentukan itu telah melebihi ambang batas.

Protokol Persinyalan
Administrator, atau secara otomatis oleh suatu protokol persinyalan. Dua protokol persinyalan yang umum digunakan untuk MPLS-TE adalah CR-LDP dan RSVP-TE. RSVP-TE memperluas protokol RSVP yang sebelumnya telah digunakan untuk IP, untuk mendukung distribusi label dan routing eksplisit. Sementara itu CR-LDP memperluas LDP yang sengaja dibuat untuk distribusi label, agar dapat mendukung persinyalan berdasar QoS dan routing eksplisit.

Ada banyak kesamaan antara CR-LDP dan RSVP-TE dalam kalkulasi routing yang bersifat constraint-based. Keduanya menggunakan informasi QoS yang sama untuk menyusun routing eksplisit yang sama dengan alokasi resource yang sama. Perbedaan utamanya adalah dalam meletakkan layer tempat protokol persinyalan bekerja. CR-LDP adalah protokol yang bekerja di atas TCP atau UDP, sedangkan RSVP-TE bekerja langsung di atas IP. Perbandingan kedua protokol ini dipaparkan dalam tebal berikut [Wang 2001]


Untuk standardisasi, sejak tahun 2003 sebagian besar implementor telah memilih untuk menggunakan RSVP-TE dan meninggalkan CR-LDP. Lebih jauh, RSVP-TE dikaji dalam RFC-3209.

Topology MPLS TE:

Comments:
Dynamic Path is chosen after Explicit Path is down.
When Explicit Path is up again, it preempts Dynamic Path within 60 seconds.
Path 1 R1-R3-R4-R5
Path 2 R1-R4-R3-R5
Dynamic
—————————————————————————-
Contoh konfigurasi:
—————————————————————————-
NB: OSPF is already up
mpls is already up
—————————————————————————-
cnc1#
!
hostname cnc1
!
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
mpls traffic-eng tunnels
mpls traffic-eng reoptimize timers frequency 60
no mpls traffic-eng auto-bw timers frequency 0
mpls label protocol ldp
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface Tunnel1
ip unnumbered Loopback0
no clns route-cache
tunnel destination 5.5.5.5
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name R1-R3-R4-R5
tunnel mpls traffic-eng path-option 2 explicit name R1-R4-R3-R5
tunnel mpls traffic-eng path-option 3 dynamic
no routing dynamic
!
interface FastEthernet0/0
ip address 10.14.100.1 255.255.255.252
duplex half
mpls ip
!
interface Serial3/0
ip address 192.168.10.9 255.255.255.252
mpls traffic-eng tunnels
mpls ip
serial restart-delay 0
ip rsvp bandwidth
!
interface Serial3/1
ip address 192.168.10.5 255.255.255.252
mpls traffic-eng tunnels
mpls ip
serial restart-delay 0
ip rsvp bandwidth
!
interface Serial3/2
ip address 192.168.10.1 255.255.255.252
mpls traffic-eng tunnels
mpls ip
serial restart-delay 0
ip rsvp bandwidth
!
router ospf 1
mpls traffic-eng router-id Loopback0
mpls traffic-eng area 0
router-id 1.1.1.1
log-adjacency-changes
network 1.1.1.1 0.0.0.0 area 0
network 10.14.100.0 0.0.0.3 area 0
network 192.168.10.0 0.0.0.3 area 0
network 192.168.10.4 0.0.0.3 area 0
network 192.168.10.8 0.0.0.3 area 0
!
ip explicit-path name R1-R3-R4-R5 enable
next-address 192.168.10.6
next-address 192.168.10.14
next-address 192.168.10.18
next-address 5.5.5.5
!
ip explicit-path name R1-R4-R3-R5 enable
next-address 192.168.10.10
next-address 192.168.10.13
next-address 192.168.10.22
next-address 5.5.5.5
!
end
cnc1#
konfigurasi cnc2,cnc3,cnc4 dan cnc5
—————————————————————————-
cncx(config)#mpls traffic-eng tunnels
cncx(config)#mpls label protocol ldp
cncx(config)#int X/X
cncx(config-if)#mpls ip
cncx(config-if)#mpls traffic-eng tunnels
cncx(config-if)#ip rsvp bandwidth
cncx(config-if)
cncx(config)#router ospf 1
cncx(config-router)#mpls traffic-eng router-id loopback 0
cncx(config-router)#mpls traffic-eng area 0
cncx(config-router)#
—————————————————————————-
how to check (ping and traceroute)
—————————————————————————-
custa#ping 7.7.7.7 source 6.6.6.6 repeat 1000
Type escape sequence to abort.
Sending 1000, 100-byte ICMP Echos to 7.7.7.7, timeout is 2 seconds:
Packet sent with a source address of 6.6.6.6
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (1000/1000), round-trip min/avg/max = 32/129/260 ms
custa#
—————————————————————————-
custa#traceroute 7.7.7.7 source 6.6.6.6
Type escape sequence to abort.
Tracing the route to 7.7.7.7
1 10.14.100.1 [MPLS: Label 21 Exp 0] 80 msec 72 msec 96 msec
2 192.168.10.6 [MPLS: Label 31 Exp 0] 72 msec 100 msec 84 msec
3 192.168.10.14 [MPLS: Label 29 Exp 0] 108 msec 92 msec 120 msec
4 192.168.10.18 140 msec 156 msec 80 msec
5 10.14.200.2 152 msec 108 msec *
custa#
—————————————————————————-
Jika link R1-R3 down
custa#traceroute 7.7.7.7 source 6.6.6.6
Type escape sequence to abort.
Tracing the route to 7.7.7.7
1 10.14.100.1 [MPLS: Label 21 Exp 0] 96 msec 164 msec 120 msec
2 192.168.10.10 [MPLS: Label 30 Exp 0] 144 msec 68 msec 88 msec
3 192.168.10.13 [MPLS: Label 29 Exp 0] 108 msec 108 msec 104 msec
4 192.168.10.22 124 msec 96 msec 92 msec
5 10.14.200.2 104 msec 164 msec *
custa#
—————————————————————————-
Jika link R4-R3 down
custa#traceroute 7.7.7.7 source 6.6.6.6
Type escape sequence to abort.
Tracing the route to 7.7.7.7
1 10.14.100.1 [MPLS: Label 21 Exp 0] 84 msec 96 msec 72 msec
2 192.168.10.10 [MPLS: Label 25 Exp 0] 80 msec 104 msec 104 msec
3 192.168.10.18 112 msec 104 msec 60 msec
4 10.14.200.2 76 msec 112 msec *
custa#
—————————————————————————-
cnc1#show mpls traffic-eng tunnels tunnel 1
Name: cnc1_t1 (Tunnel1) Destination: 5.5.5.5
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 1, type explicit R1-R3-R4-R5 (Basis for Setup, path weight 192)
path option 2, type explicit R1-R4-R3-R5
path option 3, type dynamic
Config Parameters:
Bandwidth: 0 kbps (Global) Priority: 7 7 Affinity: 0×0/0xFFFF
Metric Type: TE (default)
AutoRoute: enabled LockDown: disabled Loadshare: 0 bw-based
auto-bw: disabled
Active Path Option Parameters:
State: explicit path option 1 is active
BandwidthOverride: disabled LockDown: disabled Verbatim: disabled
InLabel : -
OutLabel : Serial3/1, 31
RSVP Signalling Info:
Src 1.1.1.1, Dst 5.5.5.5, Tun_Id 1, Tun_Instance 227
RSVP Path Info:
My Address: 192.168.10.5
Explicit Route: 192.168.10.6 192.168.10.14 192.168.10.18 5.5.5.5
Record Route: NONE
Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
RSVP Resv Info:
Record Route: NONE
Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
Shortest Unconstrained Path Info:
Path Weight: 128 (TE)
Explicit Route: 192.168.10.6 192.168.10.22 5.5.5.5
History:
Tunnel:
Time since created: 2 hours, 43 minutes
Time since path change: 23 minutes, 25 seconds
Number of LSP IDs (Tun_Instances) used: 227
Current LSP:
Uptime: 23 minutes, 28 seconds
Selection: reoptimization
Prior LSP:
ID: path option 3 [220]
Removal Trigger: reoptimization completed
cnc1#
—————————————————————————-

Tidak ada komentar:

Posting Komentar