Single Area OSPF (Cisco Router)
Introduction to OSPF
Open
Shortest Path First adalah Interior Routing Protocol, sama seperti RIP,
yang digunakan untuk menghubungkan network-network dalam suatu internal
organisasi. Namun OSPF termasuk kategori link state routing protocol,
sehingga sebuah router OSPF akan mengetahui semua status (state) atau
kondisi dari setiap link yang ada dalam jaringan. Ini dilakukan router
OSPF dengan menyebarkan Link State Advertisement (LSA) keseluruh router
OSPF lain dalam suatu area OSPF. Dengan LSA ini, router OSPF kemudian
akan membangun database jaringan yang merupakan gambaran topologi
jaringan tersebut. Dari database inilah router OSPF menyusun tabel
routingnya.
Karena memiliki gambaran topologi yang
lengkap, maka jaringan yang menerapkan OSPF akan kecil kemungkinan
mengakibatkan routing loop. Router OSPF juga akan lebih cepat
mengantisipasi perubahan jaringan, sehingga dapat digunakan untuk
jaringan-jaringan berskala besar. OSPF juga merupakan classless routing
protocol, sehingga dapat diterapkan pada jaringan yang menggunakan
Variable Length Subnet Mask (VLSM).
Namun router yang menjalankan OSPF
membutuhkan resource yang lebih besar, karena akan membuat LSA,
menyerbarkan LSA, menyusun database, menjalankan algoritma routing yang
lebih rumit, untuk kemudian menghasilkan tabel routing. Administrator
jaringan juga dituntut memiliki kemampuan yang lebih baik untuk
menerapak OSPF. Selain itu, karena akan terjadi penyebaran (flooding)
LSA, maka desain jaringan akan menentukan efisien tidaknya penerapan
OSPF.
OSPF dapat diterapkan dalam dua cara, yaitu Single Area OSPF dan Multi Area OSPF.
Dengan Multi Area OSPF, router-router OSPF dikelompokkan secara logika
dan fisik, sehingga flooding LSA dapat dikendalikan dengan lebih baik.
Penerapan Single Area OSPF dapat dilihat seperti gambar berikut.
Sedangkan penerapan Multi Area OSPF, dapat dilihat pada gambar berikut.
Basic Configuration
Untuk mengkonfigurasikan OSPF pada
router, langkah yang harus dilakukan relatif sama dengan routing
protocol yang lain. Administrator jaringan hanya perlu mengaktfikan
OSPF, kemudian meng-advertise network yang ingin diperkenalkan kepada
router lain. Namun network yang di-advertise harus dimasukan ke dalam
salah satu area OSPF. Jika hanya menerapkan Single Area OSPF, maka harus
dibuat minimal satu Area yang dinamakan Backbone Area, atau Area 0.
Bila pada routing protocol lain, saat
akan meng-advertise sebuah network address harus disertakan subnetmask
atau prefix, maka pada Router Cisco advertise dilakukan dengan
menyertakan wildcard (kebalikan dari bit subnetmask).
Untuk mengkonfigurasikan OSPF pada Router R1 pada gambar di atas, maka perintah yang dapat digunakan adalah sebagai berikut.R1#configure terminal
R1(config)#router ospf 1
R1(config-router)#network 192.168.1.0 0.0.0.255 area 0
Sedangkan pada Router R2, perintah yang dapat digunakan adalah sebagai berikut.
R2#configure terminal
R2(config)#router ospf 1
R2(config-router)#network 172.16.20.0 0.0.0.255 area 0
R2(config-router)#network 10.10.10.0 0.0.0.3 area 0
Pada saat kedua router mencapai kondisi convergence, maka tabel routing akan terlihat lengkap seperti pada uraian berikut ini.
R1#show ip route
Codes: C – connected, S – static, I – IGRP, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2, E – EGP
i – IS-IS, L1 – IS-IS level-1, L2 – IS-IS level-2, ia – IS-IS
* – candidate default, U – per-user static route, o – ODR
Gateway of last resort is not set
10.0.0.0/30 is subnetted, 1 subnets
C 10.10.10.0 is directly connected, FastEthernet0/1
172.16.0.0/24 is subnetted, 1 subnets
O 172.16.20.0 [110/2] via 10.10.10.2, 00:00:51, FastEthernet0/1
C 192.168.1.0/24 is directly connected, FastEthernet0/0
R2#show ip route
Codes: C – connected, S – static, I – IGRP, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2, E – EGP
i – IS-IS, L1 – IS-IS level-1, L2 – IS-IS level-2, ia – IS-IS
* – candidate default, U – per-user static route, o – ODR
P – periodic downloaded static route
Gateway of last resort is not set
10.0.0.0/30 is subnetted, 1 subnets
C 10.10.10.0 is directly connected, FastEthernet0/1
172.16.0.0/24 is subnetted, 1 subnets
C 172.16.20.0 is directly connected, FastEthernet0/0
O 192.168.1.0/24 [110/2] via 10.10.10.1, 00:00:30, FastEthernet0/1
Router ID
Setiap router OSPF harus menggunakan
identitas (ID) sebagai pengenal satu sama lain. ID juga digunakan
sebagai penunjuk dari mana sebuah LSA berasal. Jika tidak
dikonfigurasikan, maka router OSPF akan mengambil IP Address dari salah
satu interfacenya yang aktif untuk dijadikan Router ID. Dan bila
terdapat beberapa IP Address, maka IP Address tertinggi yang akan
dipilih.
Untuk melihat IP Address mana yang digunakan sebagai Router ID, maka dapat digunakan perintah seperti berikut ini.R1#show ip protocols
Routing Protocol is “ospf 1″
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 192.168.1.1
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Maximum path: 4
Routing for Networks:
192.168.1.0 0.0.0.255 area 0
10.10.10.0 0.0.0.3 area 0
Routing Information Sources:
Gateway Distance Last Update
10.10.10.2 110 00:02:41
Distance: (default is 110)
R2#show ip protocols
Routing Protocol is “ospf 1″
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 172.16.20.1
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Maximum path: 4
Routing for Networks:
172.16.20.0 0.0.0.255 area 0
10.10.10.0 0.0.0.3 area 0
Routing Information Sources:
Gateway Distance Last Update
10.10.10.1 110 00:05:12
Distance: (default is 110)
Interface Loopback merupakan interface yang tidak pernah berada dalam
posisi “down”, sehingga IP Address pada interface ini sangat cocok
untuk dijadikan Router ID. Adapun contoh penerapan Router ID dapat
dilihat pada gambar berikut.Routing Protocol is “ospf 1″
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 172.16.20.1
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Maximum path: 4
Routing for Networks:
172.16.20.0 0.0.0.255 area 0
10.10.10.0 0.0.0.3 area 0
Routing Information Sources:
Gateway Distance Last Update
10.10.10.1 110 00:05:12
Distance: (default is 110)
Untuk mengkonfigurasikan Interface Loopback untuk dijadikan Router ID, dapat digunakan perintah berikut ini.
R1#configure terminal
R1(config)#interface loopback 0
R1(config-if)#ip address 10.1.1.1 255.255.255.255
R2#configure terminal
R2(config)#interface loopback 0
R2(config-if)#ip address 10.2.2.2 255.255.255.255
Dengan adanya IP Address pada Interface Loopback yang menjadi Router ID, maka Router ID pada setiap router dapat dilihat seperti berikut ini.
R1#show ip protocols
Routing Protocol is “ospf 1″
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 10.1.1.1
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Maximum path: 4
Routing for Networks:
192.168.1.0 0.0.0.255 area 0
10.10.10.0 0.0.0.3 area 0
Routing Information Sources:
Gateway Distance Last Update
10.10.10.2 110 00:00:25
Distance: (default is 110)
R2#show ip protocols
Routing Protocol is “ospf 1″
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 10.2.2.2
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Maximum path: 4
Routing for Networks:
172.16.20.0 0.0.0.255 area 0
10.10.10.0 0.0.0.3 area 0
Routing Information Sources:
Gateway Distance Last Update
10.10.10.1 110 00:01:01
Distance: (default is 110)
Multi Access Network
Router OSPF akan
membuat LSA dan mengirimkannya ke seluruh router yang lain. Jika network
yang digunakan adalah Multi Access Network, maka LSA akan beredar
sebanyak-banyaknya, sehingga perlu dipilih sebuah router yang akan
mengumpulkan keseluruhan LSA untuk kemudian dikirimkan ke router lain.
Router ini disebut Designated Router (DR). Selain DR perlu juga dipilih
Backup Designated Router (BDR) yang bertugas sebagai cadangan dari DR.
Router yang memiliki Router ID tertinggi akan menjadi DR, kemudian disusul oleh Router ID terendah berikutnya yang akan menjadi BDR.
Pada
gambar di atas, yang akan menjadi DR adalah Router R3 dengan Router ID
10.3.3.3 disusul R2 dengan Router ID 10.2.2.2 yang akan menjadi BDR.Router yang memiliki Router ID tertinggi akan menjadi DR, kemudian disusul oleh Router ID terendah berikutnya yang akan menjadi BDR.
Untuk melihat router mana yang menjadi DR atau BDR dapat digunakan perintah berikut ini.
R1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
10.2.2.2 1 FULL/BDR 00:00:30 10.10.10.2 FastEthernet0/1
10.3.3.3 1 FULL/DR 00:00:34 10.10.10.3 FastEthernet0/1
R2#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
10.3.3.3 1 FULL/DR 00:00:35 10.10.10.3 FastEthernet0/1
10.1.1.1 1 FULL/DROTHER 00:00:38 10.10.10.1 FastEthernet0/1
R3#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
10.1.1.1 1 FULL/DROTHER 00:00:33 10.10.10.1 FastEthernet0/1
10.2.2.2 1 FULL/BDR 00:00:36 10.10.10.2 FastEthernet0/1
Metric
OSPF menggunakan cost sebagai metric,
dimana path dengan akumuliasi nilai cost terendah yang akan dipilih dan
dimasukkan ke dalam tabel routing. Router Cisco menggunakan parameter
bandwidth untuk menentukan cost, seperti pada tabel berikut ini.
Nilai cost juga dapat ditentukan dengan mengganti parameter cost yang ada pada setiap interface router yang menjalankan OSPF. Untuk melihat nilai yang ada pada setiap interface, dapat digunakan perintah seperti berikut ini.
R1#show ip ospf interface
FastEthernet0/0 is up, line protocol is up
Internet address is 192.168.1.1/24, Area 0
Process ID 1, Router ID 10.1.1.1, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State DR, Priority 1
Designated Router (ID) 10.1.1.1, Interface address 192.168.1.1
No backup designated router on this network
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:00
Index 1/1, flood queue length 0
Next 0×0(0)/0×0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 0, Adjacent neighbor count is 0
Suppress hello for 0 neighbor(s)
FastEthernet0/1 is up, line protocol is up
Internet address is 10.10.10.1/30, Area 0
Process ID 1, Router ID 10.1.1.1, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State BDR, Priority 1
Designated Router (ID) 10.2.2.2, Interface address 10.10.10.2
Backup Designated Router (ID) 10.1.1.1, Interface address 10.10.10.1
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:00
Index 2/2, flood queue length 0
Next 0×0(0)/0×0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 10.2.2.2 (Designated Router)
Suppress hello for 0 neighbor(s)
Internet address is 10.10.10.1/30, Area 0
Process ID 1, Router ID 10.1.1.1, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State BDR, Priority 1
Designated Router (ID) 10.2.2.2, Interface address 10.10.10.2
Backup Designated Router (ID) 10.1.1.1, Interface address 10.10.10.1
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:00
Index 2/2, flood queue length 0
Next 0×0(0)/0×0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 10.2.2.2 (Designated Router)
Suppress hello for 0 neighbor(s)
FastEthernet1/0 is up, line protocol is up
Internet address is 10.10.10.6/30, Area 0
Process ID 1, Router ID 10.1.1.1, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State BDR, Priority 1
Designated Router (ID) 10.3.3.3, Interface address 10.10.10.5
Backup Designated Router (ID) 10.1.1.1, Interface address 10.10.10.6
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:00
Index 3/3, flood queue length 0
Next 0×0(0)/0×0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 10.3.3.3 (Designated Router)
Suppress hello for 0 neighbor(s)
Internet address is 10.10.10.6/30, Area 0
Process ID 1, Router ID 10.1.1.1, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State BDR, Priority 1
Designated Router (ID) 10.3.3.3, Interface address 10.10.10.5
Backup Designated Router (ID) 10.1.1.1, Interface address 10.10.10.6
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:00
Index 3/3, flood queue length 0
Next 0×0(0)/0×0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 10.3.3.3 (Designated Router)
Suppress hello for 0 neighbor(s)
Untuk merubah cost pada Interface f0/1 sehingga link 10.10.10.0/30 memiliki cost 10, maka dapat digunakan perintah seperti berikut ini.
R1#configure terminal
R1(config)#interface FastEthernet 0/1
R1(config-if)#ip ospf cost 10
Dengan cost pada link 10.10.10.0/30 yang bernilai 10, maka untuk menuju network 172.16.20.0/24 Router R1 akan memilih link melalui Router R3 yang memiliki akumulasi cost sebesar 3. Ini dapat dilihat pada tabel routing pada Router R1 berikut ini.
R1#show ip route
Codes: C – connected, S – static, I – IGRP, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2, E – EGP
i – IS-IS, L1 – IS-IS level-1, L2 – IS-IS level-2, ia – IS-IS
* – candidate default, U – per-user static route, o – ODR
P – periodic downloaded static route
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C 10.1.1.1/32 is directly connected, Loopback0
C 10.10.10.0/30 is directly connected, FastEthernet0/1
C 10.10.10.4/30 is directly connected, FastEthernet1/0
O 10.10.10.8/30 [110/2] via 10.10.10.5, 00:03:54, FastEthernet1/0
172.16.0.0/24 is subnetted, 2 subnets
O 172.16.20.0 [110/3] via 10.10.10.5, 00:00:13, FastEthernet1/0
O 172.16.30.0 [110/2] via 10.10.10.5, 00:03:54, FastEthernet1/0
C 192.168.1.0/24 is directly connected, FastEthernet0/0
Adapun cost dari interface f0/1 pada Router R1, dapat dilihat lagi dengan menggunakan perintah berkut ini.
R1#show ip ospf interface f0/1
FastEthernet0/1 is up, line protocol is up
Internet address is 10.10.10.1/30, Area 0
Process ID 1, Router ID 10.1.1.1, Network Type BROADCAST, Cost: 10
Transmit Delay is 1 sec, State BDR, Priority 1
Designated Router (ID) 10.2.2.2, Interface address 10.10.10.2
Backup Designated Router (ID) 10.1.1.1, Interface address 10.10.10.1
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:03
Index 2/2, flood queue length 0
Next 0×0(0)/0×0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 10.2.2.2 (Designated Router)
Suppress hello for 0 neighbor(s)
Redistribute
OSPF juga dapat digunakan untuk
menyebarkan (redistribute) konfigurasi statik routing yang ada pada
sebuah router. Sehingga entry static routing tersebut akan diketahui
oleh router OSPF lainnya. Redistribute ini umumnya diterapkan pada
router OSPF yang terhubung ke jaringan luar (outside network), misalnya
pada Router yang berfungsi sebagai gateway ke Internet.
Konfigurasi default route (statik) yang perlu dikonfigurasikan pada Router R1 adalah sebagai berikut.
R1(config)#ip route 0.0.0.0 0.0.0.0 80.1.1.1
Sedangkan perintah yang digunakan untuk
melakukan redistribute entry static routing (default route) tersebut
adalah sebagai berikut.
R1(config-router)#default-information originateSehingga tabel routing pada Router R1 akan terlihat seperti berikut ini.
R1#show ip route
Codes: C – connected, S – static, I – IGRP, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2, E – EGP
i – IS-IS, L1 – IS-IS level-1, L2 – IS-IS level-2, ia – IS-IS
* – candidate default, U – per-user static route, o – ODR
P – periodic downloaded static route
Gateway of last resort is 80.1.1.1 to network 0.0.0.0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C 10.1.1.1/32 is directly connected, Loopback0
C 10.10.10.0/30 is directly connected, FastEthernet0/1
C 10.10.10.4/30 is directly connected, FastEthernet1/0
O 10.10.10.8/30 [110/2] via 10.10.10.5, 00:19:54, FastEthernet1/0
[110/2] via 10.10.10.2, 00:07:32, FastEthernet0/1
80.0.0.0/30 is subnetted, 1 subnets
C 80.1.1.0 is directly connected, FastEthernet0/0
172.16.0.0/24 is subnetted, 2 subnets
O 172.16.20.0 [110/2] via 10.10.10.2, 00:07:32, FastEthernet0/1
O 172.16.30.0 [110/2] via 10.10.10.5, 00:19:54, FastEthernet1/0
S* 0.0.0.0/0 [1/0] via 80.1.1.1
Perintah redistribute tadi akan membuat Router R2 dan R3 mengetahui path menuju Internet yang dapat ditempuh melalui Router R1, seperti terlihat pada tabel routing berikut ini.
R2#show ip route
Codes: C – connected, S – static, I – IGRP, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2, E – EGP
i – IS-IS, L1 – IS-IS level-1, L2 – IS-IS level-2, ia – IS-IS
* – candidate default, U – per-user static route, o – ODR
P – periodic downloaded static route
Gateway of last resort is 10.10.10.1 to network 0.0.0.0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C 10.2.2.2/32 is directly connected, Loopback0
C 10.10.10.0/30 is directly connected, FastEthernet0/1
O 10.10.10.4/30 [110/2] via 10.10.10.9, 00:20:19, FastEthernet1/0
[110/2] via 10.10.10.1, 00:20:09, FastEthernet0/1
C 10.10.10.8/30 is directly connected, FastEthernet1/0
172.16.0.0/24 is subnetted, 2 subnets
C 172.16.20.0 is directly connected, FastEthernet0/0
O 172.16.30.0 [110/2] via 10.10.10.9, 00:20:19, FastEthernet1/0
O*E2 0.0.0.0/0 [110/1] via 10.10.10.1, 00:00:38, FastEthernet0/1
C 10.2.2.2/32 is directly connected, Loopback0
C 10.10.10.0/30 is directly connected, FastEthernet0/1
O 10.10.10.4/30 [110/2] via 10.10.10.9, 00:20:19, FastEthernet1/0
[110/2] via 10.10.10.1, 00:20:09, FastEthernet0/1
C 10.10.10.8/30 is directly connected, FastEthernet1/0
172.16.0.0/24 is subnetted, 2 subnets
C 172.16.20.0 is directly connected, FastEthernet0/0
O 172.16.30.0 [110/2] via 10.10.10.9, 00:20:19, FastEthernet1/0
O*E2 0.0.0.0/0 [110/1] via 10.10.10.1, 00:00:38, FastEthernet0/1
R3#show ip route
Codes: C – connected, S – static, I – IGRP, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2, E – EGP
i – IS-IS, L1 – IS-IS level-1, L2 – IS-IS level-2, ia – IS-IS
* – candidate default, U – per-user static route, o – ODR
P – periodic downloaded static route
Gateway of last resort is 10.10.10.6 to network 0.0.0.0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C 10.3.3.0/24 is directly connected, Loopback0
O 10.10.10.0/30 [110/2] via 10.10.10.10, 00:20:39, FastEthernet0/0
[110/2] via 10.10.10.6, 00:08:12, FastEthernet0/1
C 10.10.10.4/30 is directly connected, FastEthernet0/1
C 10.10.10.8/30 is directly connected, FastEthernet0/0
172.16.0.0/24 is subnetted, 2 subnets
O 172.16.20.0 [110/2] via 10.10.10.10, 00:20:39, FastEthernet0/0
C 172.16.30.0 is directly connected, FastEthernet1/0
O*E2 0.0.0.0/0 [110/1] via 10.10.10.6, 00:00:58, FastEthernet0/1
{ 0 komentar... Views All / Send Comment! }
Posting Komentar