TCP/IP: Konsep Routing
Routing
Seperti halnya OSI Network Layer Protokol, Internet Protocol
(IP) mempunyai tanggung jawab untuk mencarikan route yang harus di
tempuh paket untuk mencapai tujuan. Hal ini dilakukan dengan melihat
tujuan IP di NET_ID dan informasi kemana paket harus di arahkan di
table routing. Semua ini dilakukan oleh protocol routing, bukan IP,
protocol routing ini yang akan mengisi tabel routing.
Beberapa referensi yang baik tentang teknik routing dapat di baca di
Linux Advanced Routing & Traffic Control http://lartc.org/ and Linux Network Administration Guide http://www.tldp.org/guides.html.
Detail
teknik dan implementasi routing yang sangat kompleks dan mungkin
sebaiknya di bahas dalam buku yang terpisah. Bagi anda yang sangat
tertarik untuk mendalami teknik routing sangat di sarankan untuk
mendownload berbagai whitepaper / material yang ada di situs Cisco http://www.cisco.com yang banyak menyediakan teknik routing yang baik terutama untuk jaringan sekelas Internet Service Provider (ISP).
Routing Direct vs. Indirect
Jika dua komputer yang terhubung dalam jaringan komputer dengan
hub yang sama, maka ke dua komputer tersebut dapat langsung berhubungan
satu sama lain melalui hub tanpa perlu mem-forward ke router atau
gateway.
Umumnya untuk routing direct kita tidak perlu mengkonfigurasi
apa-apa di sisi system operasinya. Informasi bahwa sebuah host adalah
direct, jika ke dua-nya mempunyai network address (NET_ID) yang sama
persis. Konfigurasi netmask di network interface sangat menentukan dan
sangat fatal disini. Konfigurasi interface di Linux pada interface eth0
dapat dilakukan menggunakan perintah,
# ifconfig eth0 [ip-address] netmask [subnetmask]
Jika dua komputer yang saling berhubung tidak tersambung pada
jaringan yang sama, tidak tersambung pada hub yang sama. Harus ada
sebuah atau beberapa buah router / gateway yang di fungsikan untuk
me-relay paket agar ke dua komputer dapat saling komunikasi.
Agar indirect routing dapat berfungsi dengan baik, kita perlu
menambahkan entry pada tabel routing di sistem operasi yang kita
gunakan. Pada jaringan komputer yang sangat sederhana dengan sebuah
router atau gateway ke jaringan yang lebih besar (atau Internet),
teknik menambahkan gateway secara statis dapat menggunakan perintah,
# route add default gw [ip-router-anda]
Tentunya bagi jaringan yang kompleks dengan banyak router / gateway kita tidak mungkin menggunakan teknik sederhana tersebut.
Metoda Routing
Teknik routing yang di jelaskan di atas menggunakan perintah
route add di shell Linux sebetulnya termasuk kategori routing statik.
Routing Statik
Route ke tujuan di daftar secara manual. Tabel routing statik hanya
berubah jika di ubah oleh pengguna atau administrator.
Sambungan ke jaringan tidak tergantung pada kondisi jaringan. Jadi baik
jaringan yang dituju up atau down, route statik akan tetap ada di tabel
routing, dan paket / trafik akan di kirim ke tujuan.
Biasanya akan ada paling tidak satu (1) buah routing statik untuk
sebuah network interface, yang biasanya di buat secara automatis pada
saat network interface tersebut di konfigurasi.
Tabel routing statik akan terkonfigurasi pada saat booting, dan tidak
berubah sampai waktu yang tidak di tentukan. Teknik ini merupakan
teknik paling mendasar dalam jaringan komputer. Tentunya di asumsikan
bahwa semua workstation tetap bekerja dalam konfigurasi IP address yang
benar, jika ada satu workstation yang berubah konfigurasinya, maka
memungkinan besar semua komputer di jaringan harus berubah
konfigurasinya untuk merefleksikan perubahan topologi jaringan yang
ada.
Routing default “usaha terakhir” untuk trafik tujuan yang tidak di ketahui oleh router. Merupakan bentuk routing yang paling sederhana untuk sebuah jaringan yang tersambung dengan satu titik exit / keluaran.
Routing dinamik
Routing dynamic (dinamik) menggunakan protokol informasi routing yang
khusus yang dapat secara automatis mengupdate tabel routing yang dapat
berbicara dengan router lainnya.
Sambungan ke jaringan tergantung kepada ke beradaan dan kondisi
jaringan. Maka, jika jaringan yang dituju sedang terputus atau mati
maka route ke arah jaringan tersebut akan hilang dari tabel dan trafik
tidak akan dikirimkan ke tujuan tersebut.
Disini akan di bahas secara umum berbagai protokol routing dan
kerjanya. Maupun contoh aplikasinya di Linux menggunakan Quangga yang
merupakan turunan dari Zebra yang sangat mirip dengan Cisco. Untuk
melihat dengan lebih detail kebutuhan dari sebuah router Internet dapat
membacanya di RFC 1716.
Sebagian besar jaringan akan menggunakan kombinasi dari ketiga metoda routing tersebut.
Protokol Routing Yang Banyak Digunakan
Pada dasarnya ada dua (2) keluarga protokol routing, yaitu:
1.Interior Gateway Protocol (IGP), adalah nama generik keluarga
protokol yang membantu pertukaran informasi routing antar router dalam
sebuah jaringan autonomous, seperti LAN dalam sebuah perusahaan. IGP
biasanya digunakan untuk wilayah pada geografis yang terbatas. Contoh
IGP adalah RIP dan OSPF.
2.Exterior Gateway Protocol (EGP), adalah nama generik keluarga
protokol yang digunakan untuk membantu pertukaran informasi routing
antara dua mesin antar jaringan / sistem autonomous. EGP biasanya
digunakan antar mesin di Internet untuk saling bertukar tabel routing.
Contoh EGP adalah BGP.
Lebih detail dari masing-masing protokol routing ini adalah sebagai berikut:
OSPF - Open Shortest Path First, sebuah Interior Gatesway
Routing Protocol yang dikembangkan untuk jaringan berbasis IP yang
berdasarkan algoritma untuk mencari jalur terpendek lebih dulu
(shortest path first) atau link-state.
Router yang menggunakan algoritma link-state akan mengirimkan
informasi routing ke semua node di jaringan dengan menghitung sambungan
terpendek (shortest path) ke setiap node berbasis pada topografi dari
Internet yang di bentuk oleh setiap node. Setiap node akan mengirimkan
bagian dari tabel routing (sambil terus memonitor route ke tujuan
network tertentu) yang menjelaskan tentang status dari sambungan dia,
router juga akan mengirimkan struktur routing (topografi) lengkap.
Keuntungan menggunakan algoritma sambungan terpendek (shortest
path) akan menghasilkan update kecil-kecil yang lebih sering di
mana-mana di jaringan. Tabel routing akan lebih cepat convergen, oleh
karena akan menghindari masalah looping routing, count-to-infinity
(pada saat router terus menerusn menaikan hop count ke arah sebuah
jaringan). Hal-hal ini akan menyebabkan jaringan yang tidak stabil.
Keburukan dari algoritma sambungan terpendek (shortest path
first) membutuhkan memory dan kekuatan CPU yang besar. Walau pada
akhirnya lebih banyak keuntungan yang di peroleh dari pengorbanan yang
harus di lakukan.
OSPF versi 2, yang di terangkan di RFC 1583, (http://www.isi.edu/in-notes/rfc1583.ps) pada hari ini banyak menggantikan RIP di Internet.
RIP - Routing Information Protocol, adalah sebuah Interior Gateway Protocol. RIP versi 2 (RIP-2) diterangkan di RFC 2453, (http:http://www.isi.edu/in-notes/rfc2453.txt)
menerangkan bagaimana router saling bertukar informasi tabel routing
menggunakan algoritma distance vector. Dengan RIP, sebuah router
tetangga akan secara periodik mengirimkan seluruh table routing yang
ada di router tetangga tersebut. RIP menggunakan jumlah hop (hop count)
yang di lewati sebagai metric perhitungan untuk biaya jalur (path
cost). Path / jalur yang dapat dilewati di batasi 16 hop. RIP menjadi
semakin tidak effisien di Internet karena jaringan terus
berkembang.Beberapa protokol routing berbasis RIP yang masih digunakan
di LAN, antara lain adalah NetWare, AppleTalk, VINES, dan DECnet. IANA
mencatat daftar RIP message types (http://www.iana.org/assignments/rip-types).
IGRP - Interior Gateway Routing Protocol, adalah prorietary
network protocol yang dikembangkan oleh Cisco System yang dirancang
untuk bekerja dalam sebuah Autonomous System. IGRP adalah
distance-vector routing protocol yang artinya setiap router akan
mengirimkan semua atau sebagian dari tabel routingnya dalam message
routing update pada interval tertentu ke setiap router tetangga. Sebuah
router akan memilih jalur terbaik antara sumber dan tujuan. Karena
setiap jalur mungkin terdiri dari banyak sambungan, system perlu cara
untuk membandingkan berbagai sambungan untuk menentukan jalur yang
terbaik. Berbeda dengan RIP yang hanya mempunyai satu kriteria (hop
saja), IGRP menggunakan lima (5) kriteria untuk menentukan jalur
terbaik, yaitu, kecepatan sambungan, delay, panjang paket, beban
jaringan dan reliabilitas. Seorang network administrator dapat
menentukan bobot dari masing-masing kriteria untuk menentukan jalur
terbaiknya.
EIGRP - Enhanced Interior Gateway Routing Protocol, adalah
evolusi dari IGRP yang berusaha memenuhi kebutuhan jaringan skala besar
dan perubahan di teknologi jaringan sejak diimplementasikannya IGRP.
Router yang menggunakan IGRP dapat menggunakan EIGRP karena metrics
yang digunakan oleh kedua protokol ini dapat saling translasi. Jika
tidak ada route yang baik, EIGRP akan meminta pada tetangga untuk
mencari alternatif route. Permintaan ini akan di propagasikan ke router
yang lain sampai di peroleh route alternatif. Berbeda dengan IGRP,
EIGRP menggunakan Diffusing-Update Algorithm (DUAL) yang di kembangkan
di SRI International.
BGP - Border Gateway Protocol versi 4 (BGPv4) adalah exterior
gateway protocol yang memungkinkan sekumpulan router dikenal sebagai
autonomous system untuk saling berbagi informasi routing. BGP
menggunakan protocol distance vector, seperti RIP, tapi tidak seperti
protocol distance vector yang lain, tabel BGP juga menyimpan informasi
route yang sebenarnya ke jaringan yang dituju. BGP juga mendukung
kebijakan routing, yang memungkinkan network administrator untuk
mengatur routing berdasarkan masalah keamanan, politik, legal, atau
ekonomis bukan hanya sekedar berdasarkan teknis saja. BGP juga
mendukung CIDR. BGPv4 di jelaskan di RFC 1771 (http://www.isi.edu/in-notes/rfc1771.txt), sedang RFC 1268 (http://www.isi.edu/in-notes/rfc1268.txt) menjelaskan penggunakan BGP di Internet. Di samping itu, IANA memaintain daftar dari BGP Parameters. (http://www.iana.org/assignments/bgp-parameters)
Autonomous System (AS) adalah sebuah group dari jaringan yang
beroperasi di bawah administrasi bersama, yang menggunakan metodologi
routing yang sama. Sebuah AS akan menggunakan Internal Gateway Protocol
(IGP) dan metrik yang sama untuk membuat route paket dalam AS. AS akan
menggunakan External Gateway Protocol (EGP) untuk membuat route paket
ke Autonomous System (AS) yang lain.
Alternatif terakhir yang paling sederhana, tabel routing dibuat
menggunakan “routing statis”. Contoh sederhana sebuah routing statis
adalah penggunaan default gateway pada sebuah mesin. Sehingga tanpa
perlu berfikir panjang, sebuah mesin yang ingin menghubungi mesin lain
di luar LAN cukup mengirimkan paket-nya ke gateway.
Router-router penghubung LAN corporate ke Internet pun biasanya
menggunakan statik routing yang mengarahkan semua traffic ke Internet
dari LAN untuk di arahkan ke router ISP. Karena hanya satu jalur menuju
ISP maka protokol routing jarang dibutuhkan pada konfigurasi seperti
ini.
Semua mesin & router akan menjaga tabel routingnya masing-masing
yang berisi informasi routing terkini. Pada windows, kita dapat melihat
isi tabel routing menggunakan perintah
route print
Pada Unix / Linux, menggunakan perintah
netstat –r
atau
netstat -nr
Masing-masing protocol routing mempunyai hubungan yang berbeda-beda
dengan keluarga protocol TCP/IP. Message RIP biasanya di bawa oleh
datagram UDP yang tentunya berjalan di atas paket IP. Message OSPF
biasanya di bawa langsung di atas datagram IP. BGP berbeda sama sekali,
message BGP di kirim di atas TCP yang berjalan di atas IP.
Umumnya semua buku TCP/IP akan mendiskusikan IP routing dengan cukup
detail. Salah satu buku yang baik tentang IP routing adalah Routing in
the Internet oleh Christian Huitema. Harganya lumayan sekitar US$50-an.
Pemilihan Protokol Routing
Ada dua kelas protokol routing, yaitu, protokol link state dan
protokol distance vector. Perbandingan ke duanya adalah sebagai
berikut,
Protokol Link State
Protokol Distance Vector
ISIS, OSPF
RIP, IGRP
Informasi yang dikirim:
Menjelaskan kondisi sambungan yang tersambung ke router.
Alokasi IP network / subnet.
Biaya dari link (dihitung kebalikan dari bandwidth).
Informasi yang dikirim:
Ke semua jaringan yang di ketahui router, tidak hanya ke jaringan yang router tsb tersambung.
Router yang mengadvertise akan menambah metric / hop-count dari router yang dia dengar. Maksimum hop-count 15.
Keuntungan:
Lebih scalability, tidak ada hop count, mendukung VLSM dan CIDR,
hirarki dan memungkinkan aggregasi.
Lebih cepat konvergen, secara langsung membanjirkan link state ke
jaringan, dan lebih sedikit over head untuk pertukaran informasi
routing.
Memungkinkan load balancing melalui link cost.
Keuntungan:
Konfigurasi sederhana.
Kerugian:
Lebih susah di konfigurasi dan di troubleshoot.
Kerugian: Tidak memperhitungkan kecepatan link. Lambat konvergensi. Lebih banyak pertukaran dan maintenance tabel routing. Timer hold-down / flush memperlambat konvergensi menjadi menit. Ada kemungkinan routing loop temporer. Tidak terlalu scalable, kurang hirarki. Classful, kurang kemampuan VLSM dan CIDR. Tergantung dari keperluan / kompleksitas jaringan, protokol yang digunakan mungkin dapat berbeda-beda. Tentunya yang paling sederhana adalah menggunakan routing statis & tidak menggunakan protokol sama sekali. Pada Interior Gateway Protocol (IGP), ada beberapa kriteria dalam pemilihan protokol routing adalah sebagai berikut:
RIPv1 RIPv2 IGRP OSPF EIGRP Sambungan redundan X X V V V Sambungan paralel X X V V V VLSM X V X V V IP address diskontinyu X
V
X
V
V
EIGRP pada dasarnya proprietary dari Cisco, sementara OSPF
merupakan standard terbuka Internet, jadi lebih mudah untuk di
implementasikan di jaringan yang menggunakan router non-Cisco.
VLSM adalah Variable Length Subnet Masking yang memungkinkan
kita melakukan masking IP address tidak mengikuti standard masking
konvensional.
Routing Sederhana
Routing dalam artian yang sederhana berarti melewatkan paket IP
menuju sasaran. Alat yang berfungsi melakukan routing paket biasanya
disebut sebagai router atau gateway. Agar mampu melewatkan paket data
antar jaringan, maka router minimal harus memiliki dua buah network
interface.
Proses routing dilakukan secara hop by hop. IP tidak mengetahui
jalur keseluruhan menuju tujuan setiap paket. IP routing hanya
menyediakan IP address dari router berikutnya (next hop router) yang
menurutnya “lebih dekat” ke host tujuan.
Sebuah mesin / komputer hanya dapat mengirim paket pada divais lain yang terhubung kedalam satu jaringan fisik yang sama. Paket dari IP addressA1 dengan tujuan IP address C1 diforward melalui router G1 dan G2. Host A1 pertama kali mengirim paket ke router G1 (karena G1 terhubung ke tempat dimana host A1 berada). Kemudian router G1 mengirimkan paket ke router G2 melalui network B. Dan akhirnya G2 yang juga terhubung ke network C langsung menyampaikan paket ke address tujuan, host C1.
Perhatikan dalam setiap paket yang dikirim IP source A1 dan IP
destination C1 tetap & tidak berubah. Tapi MAC address source dan
MAC address tujuan akan berubah-ubah dalam setiap paket tergantung
mesin yang merelay paket tersebut.
Jika kita perhatikan baik-baik, maka keberadaan Address
Resolution Protocol (ARP) sangat penting untuk dapat memperoleh tabel
MAC & IP address.
Algoritma routing untuk host
Proses routing yang dilakukan oleh host cukup sederhana. Jika
host tujuan terletak di jaringan yang sama/terhubung langsung, IP
datagram dikirim langsung ke tujuan. Jika tidak, IP datagram dikirim ke
default router. Router ini yang akan mengatur pengiriman IP
selanjutnya, hingga sampai ke tujuannya.
Konfigurasi sederhana ini dapat kita lihat di konfigurasi
networking dari Windows, yang kita cukup memasukan sebuah IP address
gateway yang mengarahkan IP paket ke Internet.
Algoritma routing untuk router
Dalam menentukan pilihan arah pelewatan IP datagram, router
berkonsultasi dengan tabel routing yang dimilikinya berikut ini ialah
contoh dari sebuah tabel routing.
[root@gate ~]# netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 202.100.10.32 0.0.0.0 255.255.255.240 U 0 0 0 wlan0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.11.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 44.132.0.0 192.168.0.1 255.255.0.0 UG 0 0 0 eth1 0.0.0.0 202.100.10.33 0.0.0.0 UG 0 0 0 wlan0 [root@gate ~]#
Dari hasil perintah netstat –nr diatas terlihat tabel routing ini berisi:
1.IP address tujuan
2.IP address next hop router (gateway)
3.Flag. Flag ini menyatakan jenis routing.
4.Spesifikasi Network interface tempat datagram dilewatkan.
Dalam proses meneruskan paket ke tujuan, IP router melakukan hal hal berikut :
1.mencari di tabel routing, entry yang cocok dengan IP address
tujuan. Jika ditemukan, paket akan di kirim ke next hop router atau
interface yang terhubung langsung dengannya (directly connected
interface)
2.mencari di tabel routing, entry yang cocok dengan alamat network dari
network tujuan. Jika ditemukan, paket dikirim ke next hop router
tersebut.
3.Mencari di tabel routing, entry yang bertanda default. Jika tidak ada
alternatif routing yang lain, paket akan dikirim ke router default.
Router default / gateway biasanya dapat di identifikasi dengan
router dengan NetMask 0.0.0.0 dan IP tujuan 0.0.0.0. Tabel routing ini
dihasilkan oleh program protokol routing.
Teknik Mengatasi Kelangkaan IP address
Ada beberapa teknik dasar yang dapat digunakan untuk mengatasi kelangkaan IP addressm antara lain adalah:
1.Alokasi IP address yang lebih kreatif, menggunakan:
a.Teknik Variable Length Subnet Mask (VLSM).
b.Menggunakan alokasi blok IP address yang tidak permanen, seperti menggunankan Dynamic Host Configuration Protocol (DHCP).
c.Penggabungan beberapa kelas IP address (biasanya kelas C).
2.Menggunakan Classless Interdomain Routing (CIDR), di definisikan dalam RFC 1519.
3.Menggunakan Private IP adddress dan Network Address Translation (NAT).
a.Private IP address di definisikan di RFC 1918.
b.Network Address Translation (NAT) di definisikan di RFC 1631.
4.Menggunakan IP v6 yang memungkinkan alokasi IP address yang jauh lebih besar.
Variable Length Subnet Mask
Kemampuan untuk mengkonfigurasi sebuah jaringan dengan mask yang
berbeda-beda. Hal ini membuat pembagian jaringan lebih fleksibel
menjadi beberapa subnet walaupun tetap menjaga jumlah mesin yang cukup
di masing-masing subnet.
Contoh pembagian kelas address, sebuah address kelas C dengan mask 255.255.255.x, dapat dibagi menjadi:
255.255.255.252 (1111 1100) 64 subnet dengan 4 host masing-masing.
255.255.255.248 (1111 1000) 32 subnet dengan 8 host masing-masing.
255.255.255.240 (1111 0000) 16 subnet dengan 16 host masing-masing.
255.255.255.224 (1110 0000) 8 subnet dengan 32 host masing-masing.
255.255.255.192 (1100 0000) 4 subnet dengan 64 host masing-masing.
255.255.255.128 (1000 0000) 2 subnet dengan 128 host masing-masing.
Jika kita ingin membagi sebuah kelas menjadi 3 subnet, dengan
sebuah subnet 100 host dan dua subnet dengan 50 host, maka VLSM akan
dibutuhkan.
RIPv1 dan IGRP tidak dapat menangani VLSM.
OSPF, EIGRP, ISIS, dan RIPv2 dapat menangani VLSM.
Classless Inter Domain Routing (CIDR)
IP network di representasikan dengan <prefix, length> atau
NET_ID, HOST_ID. Tidak ada lagi kelas IP address tradisional A/B/C.
Lebih merepresentasikan hirarki arsitektur Internet, dimana setiap
domain akan mengambil IP address-nya dari tingkat / hirarki yang lebih
tinggi.
Memungkinkan beberapa kelas / blok IP address untuk di
kumpulkan menjadi satu kumpulan, CIDR blok atau Supernet. Hal ini dapat
di identifikasi dengan mudah pada kelas IP address yang mempunyai
prefix (atau NET_ID) yang pendek, lebih pendek dari network mask yang
normal. Memungkinkan beberapa IP network untuk dijadikan satu dalam
sebuah pemberitahuan routing.
Contoh <198.32.0.0/16> merupakan network kelas C yang
ilegal. <198.32.0.0/26> merupakan supernet karena netmask 16
lebih kecil dari 24, yang merupakan panjang netmask normalnya. Network
198.32.1.0/20 dapat di identifikasi sebagai jaringan yang lebih
spesifik dengan panjang prefix / NET_ID 20.
Keuntungan CIDR, terutama lebih mengarah pada jaringan yang
lebih hirarki dan berorientasi geografis. Lebih efisien dalam propagasi
& strategi routing. Sangat menghemat bandwidth dalam
mempropagasikan route. Aggregasi memungkinkan ISP untuk memberitahukan
address di bawahnya dalam satu kalimat saja, daripada banyak kalimat.
Kemungkinan masalah dengan CIDR. CIDR hanya akan bekerja jika
setiap orang / pelanggan tersambung ke provider-nya melalui satu
sambungan saja (single homing) dan mengambil IP address dari prefix /
NET_ID provider. Konfigurasi ini akan sulit bagi pelanggan yang
tersambung pada lebih dari provider (multi-homing), atau pelanggan yang
sudah mempunyai IP address sendiri.
Aturan Longest Match Routing
Routing selalu dilakukan berdasarkan kecocokan yang paling
panjang (longest match). Maksudnya, routing akan selalu memilih netmask
yang terpanjang dari dua prefix yang berbeda panjangnya untuk sebuah
network yang sama. Sebuah tujuan tersambung ke banyak domain harus
selalu secara explisit memberitahukan routing se-eksplisit mungkin,
tidak dalam bentuk aggregat.
Jika ada dua (2) pilihan routing ke arah mesin 198.32.1.1,
melalui Domain A dengan masking 16 bit 198.32.1.0/16 dan melalui Domain
B dengan masking 24 bit 198.32.1.0/24. Maka yang akan di pilih adalah
masking terpanjang, dalam hal ini jalur 2 untuk network 198.32.1.0
dengan 24 bit masking.
Routing Loop
Loop routing terjadi jika traffic berjalan bolak balik antar jaringan dan tidak pernah mencapai tujuannya. Cara mengatasinya:
Tidak boleh mengikuti route yang tidak spesifik untuk tujuan
yang match dengan salah satu route aggregat sendiri.
Buang semua paket yang di arahkan ke tujuan yang tidak dapat dihubungi
yang tidak sespesifik route aggregat.
Perhatikan adanya “Black hole” dimana traffic mencapai dan berhenti
pada tujuan yang sebetulnya bukan yang dituju, tapi dari situ tidak
dapat di forward kemana-mana lagi.
Skenario Multihoming
Multihoming terjadi jika kita mempunyai beberapa saluran ke
jaringan lain. Ada beberapa skenario multihoming yang sering digunakan
yang akan di bahas.
Address Dari Sebuah Provider Yang Sama
Advertising aggregate akan menjadi sedikit tricky. Tidak boleh ada yang meng-aggregate route orang lain, kecuali jika
Pihak yang meng-aggregat adalah superset dari pihak yang di aggregat.
Kedua pihak telah sepakat secara penah.
Contoh, subnet 198.24.0.0/18 akan membuat blackhole bagi
StubNet, karena trafik akan mengikuti longest match dan akhirnya ISP2
tidak akan memiliki route sambungan ke StubNet.
Dalam hal ini, aggregat secara explisit harus di advertise ke
ISP1 dan ISP2. Jika ISP1 hanya advertise aggregate yang tidak spesifik
dari 198.24.0.0/13, maka semua trafik ke arah JamesNet dan LindaNet
akan selalu mengikuti longest match melalui ISP2.
Address Di ambil Dari Provider Yang Berbeda
Dalam contoh ini, setiap provider akan dapat mengaggregat
address-nya masing-masing tanpa perlu mendaftarkan range yang spesifik
dari provider yang lain.
Kerugiannya,
Route backup untuk organisasi multihomed tidak di maintain.
Masing-masoing hanya akan advertise block-nya saja, tapi tidak dari blok ISP yang lain.
Sebagian dari jaringan akan terputus jika salah satu ISP putus.
Address Di Ambil Tidak Dari Provider Manapun
Jika address tidak di ambil dari ISP1, ISP2 maupun NAP, maka
semua ISP harus mengadvertise aggregat spesifik ini di atas address
mereka.
Kerugiannya, hanya akan menambah besarnya tabel routing di semua router.
Autonomous System (AS)
Autonomous System (AS) adalah sekumpulan router yang mempunyai
kebijakan routing yang sama, di jalankan di bawah sebuah administrasi
teknis. Secara praktisnya,
Sekumpulan IGP (Interior Gateway Protocol) akan bekerjasama
untuk membangun interior routing.
Setiap AS memperoleh nomor identifikasinya, AS Number, yang
dialokasikan oleh Internet Registry. Untuk percobaan kita juga mengenal
Private AS Number.
Informasi routing antar AS di pertukarkan melalui Exterior Gateway
Protocol (EGP) seperti BGPv4.
Stub AS
Merupakan konfigurasi paling sederhana dari sebuah jaringan
dimana sebuah autonomous system (AS) mencapai jaringan diluar
domain-nya melalui hanya satu pintu yang tersambung ke Provider.
Istilah teknis-nya adalah Single Homed AS atau Stub AS. Konfigurasi ini
berkonsekuensi,
Semua traffic default akan dikirimkan ke provider, oleh karena
itu tidak ada kebutuhan untuk memperoleh informasi routing dari
provider.
Single homed AS tetap mempunyai kebutuhan untuk memberitahukan route
yang ada di provider melalui beberapa alternatif cara, antara lain.
Melalui entry statik – baik untuk sekumpulan kecil routing yang
di aggregat.
Melalui protokol IGP – biasanya stub AS akan sangat sulit memperoleh AS
number karena kebijakan routing cenderung untuk mengikuti kebijakan
routing provider oleh karena itu tidak memerlukan AS number yang unik.
Melalui protokol BGP – provider dapat memberikan pelanggan private AS
number (dari 65412 sampai dengan 65535).
Multihomed Nontransit AS
Konfigurasi multihomed terjadi jika kita mempunyai lebih dari
satu pintu ke dunia luar. Beberapa konsekuensi kebijakan non-transit
adalah:
Kita tidak menginginkan adanya trafik transit melalui AS yang kita
kontrol.
Tidak ada IP address source atau destination dari luar AS.
AS tidak akan mengadvertise route yang dia pelajari dari AS lain.
Trafik transit sebetulnya masih dapat di paksakan melalui routing
default atau routing statik.
Tidak memerlukan BGPv4.
Multihomed Transit AS
Multihomed karena mempunyai lebih dari satu sambungan ke dunia
luar. Transit memungkinkan trafik dilakukan melalui jaringan AS yang
kita kontrol. Beberapa konsekuensi multihomed transit AS adalah,
Menggunakan BGP di dalam As sebagai pipa untuk mempertukarkan update BGP (IBGP).
Router yang menjalankan IBGP di kenal sebagai transit router.
Router yang menjalankan EBGP di kenal sebagai border router.
Akan meng-advertise route yang dipelajari dari AS yang lain.
Implementasi Routing Menggunakan Quangga
Pasti sebagian besar pembaca pernah mendengar nama besar Cisco atau 3COM untuk peralatan jaringan yang baik. Tapi bagaimana dengan Linux? Linux pada hari ini sangat baik untuk server, sedikit yang menyadari bahwa Linux mempunyai potensi yang sangat baik sebagai router. Dengan GNU Zebra atau turunan yang terbarunya Quangga, sebuah mesin Linux dapat menjadi router yang mendukung routing protokol TCP/IP, seperti, RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGPv4, dan BGPv4+.
Project Zebra di mulai tahun 1996, berasal dari Kunihiro
Ishiguro yang bekerja di NIS, sebuah ISP yang merupakan kerjasama
antara British Telecom dan Marubeni. Bekerja di ISP, Ishiguro menyadari
kebutuhan software routing yang baik. Pada saat itu Ishiguro
bertemuYoshinari Yoshikawa. Yoshikawa mempunyai visi yang sama dengan
Ishiguro, akhirnya mereka bersatu untuk secara bahu membahu membangun
software routing engine pertama di dunia yang berbasis pada GNU General
Public License.
Entitas ini di sebut Zebra Project, yang terdiri atas keahlian
bisnis IP Infusion yang digabung dengan keahlian teknis beberapa
engineer networking dunia yang terbaik dan komit untuk memberikan free
software routing engine yang berkualitas baik.
Membuat Sendiri Router Yang Baik
Jika kita pernah membuat sebuah firewall, sebetulnya kita sudah
membuat sebuah router yang sederhana. Pada kesempatan ini kita akan
membuat sebuah router Linux yang dapat berkomunikasi menggunakan
protokol routing dinamik. Protokol ini memungkinkan sebuah router untuk
bicara satu sama lain dan berbagi informasi tentang jalur-jalur yang
ada di jaringan. Hal ini sangat penting di jaringan yang besar seperti
Internet dimana routing statik tidak mungkin digunakan.
Contoh, walaupun hanya rangkuman dari iunformasi routing saja
yang dikirim, tabel Border Gateway Protocol (BGP) di Internet akan
berisi lebih dari 100,000 line / kalimat. Di tambah dengan kecepatan
perubahan yang terjadi di Internet, maka penggunakan routing statik di
Internet sangat mustahil. Kebutuhan akan routing dynamic sangat nyata,
bahkan untuk jaringan yang lebih kecil dari Internet, seperti jaringan
corporate sangat terasa.
BGP, adalah External Gateway Protocol (EGP), yang merupakan
tulang punggung routing di Internet. Untuk jaringan yang kecil, Open
Shortest Path First (OSPF) yang merupakan Internal Gateway Protocol
(EGP) adalah salah satu yang banyak digunakan. GNU Zebra dan Quangga
adalah software open source yang memungkinkan kita menjalankan BGP dan
/ atau OSPF di Linux.
Menginstalasi Zebra
Versi terakhir Zebra dapat di ambil dari zebra.org. Sebetulnya
ada juga paket zebra yang spesifik untuk distribusi tertentu dari
berbagai sumber di Internet, termasuk RedHat dan Debian. Jika anda
menginstall dari source code, maka prosedur instalasi standard dapat
digunakan. Setelah paket di ekstrak, jalankan:
./configure
make
make install
Script konfigurasi akan mendetek secara automatis konfigurasi IP
address dan routing yang ada dan secara automatis akan mendukung
konfigurasi IP yang ada. Kondisi jaringan yang banyak digunakan pada
hari ini umumnya berbasis IPv4, tapi bagi pengguna IPv6 Zebra telah
mendukung pula.
Jika kita menginstalsi program routing, kita mungkin perlu
menambahkan beberapa baris pada /etc/services. Daemon Zebra beroperasi
menggunakan virtual terminal line (VTY), sistem yang kita gunakan perlu
mengetahui dimana port yang digunakan. Untuk itu, kita perlu
menambahkan pada /etc/services berikut
zebrasrv 2600/tcp # zebra service
zebra 2601/tcp # zebra vty
ripd 2602/tcp # RIPd vty
ripngd 2603/tcp # RIPngd vty
ospfd 2604/tcp # OSPFd vty
bgpd 2605/tcp # BGPd vty
ospf6d 2606/tcp # OSPF6d vty
Menginstalasi Quagga
Bagi anda yang menggunakan RedHat Fedora Core 4, instalasi
Quagga dapat secara mudah dilakukan melalui GUI pada System Settings
Server
Update dari source code quagga dapat di ambil dari http://www.quagga.net. Binary / RPM bagi RedHat Fedora Core 4 dapat di ambil dari http://www.quagga.net/download/binaries/fedora/4/. Teknik instalasi RPM sangat standard menggunakan perintah
# rpm –ivh nama-paket.rpm
Konfigurasi Quagga
Jika kita familiar dengan sistem operasi Cisco IOS, seharusnya
kita tidak terlalu masalah untuk membuat Zebra jalan dalam waktu
singkat. Setiap sesi Zebra akan menggunakan VTY untuk memungkinkan
konfigurasi dinamik melalui telnet. Sehingga jika kita ingin
mengkonfigurasi OSPF, kita cukup telnet ke Linux port 2604. Untuk
mengubah tabel routing di kernel atau untuk mengkonfigurasi
redistribuasi antara protokol routing, kita harus telnet ke port 2601.
Pada dasarnya daemon Zebra berfungsi sebagai manager yang menangani
komunikasi antar daemon dengan sistem itu sendiri.
Mari kita lihat bagaimana cara membuat OSPF dan BGP beroperasi
di server. Zebra pada dasarnya menggunakan file konfigurasi berbentuk
text. Untuk router OSPF / BGP file konfigurasi yang digunakan adalah
zebra.conf, ospfd.conf dan bgpd.conf.
Isi file zebra.conf, adalah sebagai berikut
! Zebra configuration saved from vty
! 2002/02/28 01:46:12
!
hostname LinuxRouter
password zebra
enable password z3bRa
log file /var/log/zebra/zebra.log
!
interface eth0
description Interface to External Network ip address 10.0.0.1/24
!
interface eth1
description Interface to Internal Network ip address 192.168.66.1/24
secara umum konfigurasi minimal / sederhana dari zebra.conf
cukup menjelaskan. Zebra / Quangga dapat menggunakan banyak tipe
network interface, baik itu Ethernet, ISDN dll. asal dikenal oleh
kernel.
Subnet masking dilakukan dengan network bit (contoh /24)
berbeda dengan full mask (contoh 255.255.255.0). Perhatikan ada dua
jenis password, satu untuk user mode satu lagi untuk privileged mode.
Hal ini sangat penting untuk memberikan akses pada pengguna
nonadministrator, dan sangat penting jika kita membuat router server
atau looking glass.
Seorang BGP admin akan mengatakan betapa pentingnya looking
glass ini untuk melakukan perbaikan routing, karena looking glass
mungkinkan kita melihat route yang ada di luar AS kita sendiri. AS
singkatan dari Autonomous System, pada dasarnya group dari peralatan
yang berada dalam kebijakan atau administrasi yang sama. BGP Routing
dilakukan oleh AS Number. AS number di kontrol oleh Network Information
Center, seperti ARIN, APNIC, RIPE NCC dll.
Langkah selanjutnya untuk memulai program Zebra, kita dapat menggunakan perintah berikut:
/usr/sbin/zebra –dk
/usr/sbin/ospfd –d
/usr/sbin/bgpd –d
Perintah pertama adalah untuk menjalankan zebra. Zebra akan
mengupdate tabel routing di kernel. Switch –dk memberitahukan program
untuk beroperasi sebagai daemon (“d”), dan akan beroperasi di belakang
layar. Switch “k” memberitahukan Zebra untuk “keep” menyimpan semua
tabel routing yang telah di konfigurasi sebelumnya. Hal ini sangat
penting jika kita tidak ingin agar tabel konfigurasi di Zebra terhapus
secara tidak sengaja.
Biasanya, route dan interface di konfigurasi menggunakan
kombinasi peintah ifconfig dan route. Zebra pada dasarnya mengubah
secara keseluruhan bentuk route management-nya.
Mengkonfigurasi OSPF
Untuk memulai konfigurasi OSPF kita dapat telnet ke port 2604.
Untuk memasuki privileged mode dapat dilakukan dengan menulis “enable”
dan memasukan password privileged mode. Mode konfigurasi di akses
melalui configuration terminal command. Zebra / Quagga juga mau
menerima singkatan yang sama dengan Cisco. Juga menerima perintah
“list” dan “?”, yang akan memberikan daftar perintah yang ada dan
penjelasan singkat.
Anda juga akan suka melihat “tab completion” / tombol tab untuk
melengkapi perintah juga di dukung. Feature ini sangat baik, terutama
jika anda sudah biasa dengan itu. Selanjutnya kita akan memberitahukan
daemon tentang jaringan mana yang akan di beritahukan melalui OSPF,
termasuk pemberitahuan area-nya. OSPF mendukung banyak area untuk
scalability.
Untuk memasuki mode konfigurasi OSPF dapat dilakukan dengan
menulis router ospf. Dengan perintah network 192.168.66.0/24 area 0,
memberitahukan router bahwa kita akan menggunakan OSPF untuk
memberitahukan keberadaan network 192.168.66.9 dengan subnet mask
255.255.255.0.
Dalam contoh ini, kita akan membuat interface eth0 menjadi
interface passive sehingga routing update yang ada tidak akan di
keluarkan dari interface ini. Hal ini penting untuk proses testing jika
router lain di arah eth0 kemungkinan akan mendengarkan. Proses membuat
passive interface dapat dilakukan menggunakan perintah
passive-interface eth0. Jika kita telah membuat perubahan, keluar dari
mode konfigurasi dengan menulis “end” dan simpan hasilnya dengan
perintah “write file”. Tampak disini adalah cuplikan dari apa yang kita
lakukan.
labrat:~# telnet 0 2604 Trying 0.0.0.0... Connected to 0. Escape character is '^]'.
Hello, this is zebra (version 0.84b)
Copyright 1996-2000 Kunihiro Ishiguro
User Access Verification
Password:
ospfd> enable
Password:
ospfd# configure terminal
ospfd(config)# router ospf
ospfd(config-router)# network 192.168.66.0/24 area 0
ospfd(config-router)# passive-interface eth0
ospfd(config-router)# end
ospfd# write file
Configuration saved to /etc/zebra/ospfd.conf
Ingat bahwa agar OSPF atau BGP dapat beroperasi di atas sebuah
interface, interface tersebut harus nyala (“up”). Untuk secara manual
menyalakan sebuah interface, login ke port 2601, jalankan perintah “no
shut” pada interface yang bersangkutan.
Konfigurasi BGP
Mengkonfigurasi BGP tidak berbeda jauh dengan OSPF. Untuk memulai, lakukan telnet ke port 2605.
Setelah menjalankan perintah “configure terminal”, masuk ke mode
konfigurasi BGP dengan menuliskan “router bgp <AS#>”. BGP
menggunakan AS number untuk mebangun hubungan dengan tetangganya. Dalam
lingkungan testing, kita harus menggunakan AS number private, dalam
range 64512 sampai 65534.
Jaringan yang akan di advertise oleh BGP harus di masukan dalam
perintah network. Tidak ada perintah “area” dalam BGP, oleh karena itu
network command kita hanya “network 192.168.66.0/24”. Berbeda dengan
OSPF, tetangga BGP harus secara statis di set. Kita dapat menset-nya
melalui perintah berikut: “neighbor <neighbor IP> remote-as
<remote AS #>”. Berikut adalah contoh cuplikan yang akan terjadi:
labrat:~# telnet 0 2605 Trying 0.0.0.0... Connected to 0. Escape character is '^]'.
Hello, this is zebra (version 0.84b)
Copyright 1996-2000 Kunihiro Ishiguro
User Access Verification
Password:
bgpd> enable
Password:
bgpd# configure terminal
bgpd(config)# router bgp 65530
bgpd(config-router)# network 192.168.66.0/24
bgpd(config-router)# neighbor 10.0.0.5 remote-as 65531
bgpd(config-router)# end
bgpd# write file
Configuration saved to /etc/zebra/bgpd.conf
Ada banyak option yang dapat dikembangkan dari OSPF dan BGP, ada
baiknya kita mempelajari berbagai manual dan dokumentasi tentang
routing sebelum memasukannya ke dalam lingkungan produksi.
Tidak ada komentar:
Posting Komentar