RIJAL FADILAH S.Si
Routing adalah proses dimana suatu router mem-forward paket ke jaringan yang dituju. Suatu router membuat keputusan berdasarkan IP address yang dituju oleh paket. Semua router menggunakan IP address tujuan untuk mengirim paket. Agar keputusan routing tersebut benar, router harus belajar bagaimana untuk mencapai tujuan
Layer Data Link: Internetwork merupakan kumpulan LAN atau link point-topoint atau switched networks yang dihubungkan oleh router IP
Pada Layer IP: IP
Ada 2 perbedaan proses dalam pengiriman datagram IP : Forwarding: Bagaimana melewatkan suatu paket dari interface input ke interface output. Routing: Bagaimana menemukan dan setup routing table (Keputusan jalur mana yang akan diambil). PerbedaanUtama: IP forwarding enable di router dan disable di host
1. Pindah paket dari antrian input 2. Periksa kebijakan, kurangi TTL 4. Tempatkan paket pada antrian output yg tepat Proses Forwarding 3. Cocokkan tujuan paket pada data tabel Tabel IP Forwarding Router
Tujuan Next Hop Interface Net A Net B Net C, Host 3 Default Router 1 Direct Router 2 Router 1 INT 7 INT 4 INT 3 INT 7 Tujuan dapat berupa jaringan, host, atau gateway persinggahan terakhir Next hop dapat berupa Jaringan yang terhubung langsung atau Router pada jaringan yang terhubung langsung Interface Fisik
Statis Administrator Mengonfigurasi manual data tabel + Lebih terkendali + Mengijinkan utk forwarding berbasis tujuan - Lambat utk beradaptasi pada jaringan yg jelek Dinamis Router bertukar informasi menggunakan ROUTING PROTOCOL yang menghitung jalur terbaik + Dapat secara cepat beradaptasi pada perubahan topologi jaringan - Algoritma terdistribusi komplek - Memakan CPU, Bandwidth, Memori - Sulit Debugging - Protocol saat ini berbasis tujuan
R R R A B C D R1 R2 R3 R4 R5 E Dest. Nxt Hop R4 R3 R3 R4 Direct R4 Dest. Nxt Hop A B C D E default R2 R2 Direct R5 R5 R2 Dest. Nxt Hop A B C D E default R1 Direct R3 R1 R3 R1 Default ke upstream router A B C D E default
R1 Dest. A : Dest. A : Nxt Hop R1 : Nxt Hop R2 : R2 Looping merupakan masalah Routing, bukan masalah forwarding
Konfigurasi Manual import informasi dari Router lain Proses Routing Protocol-Specific Routing Table export informasi ke Router lain Tabel IP Forwarding Router
Routing protocol Tujuan: menetapkan jalur yg bagus (dari serangkaian router) melewati jaringan dari sumber ke tujuan. Abstraksi dengan Graph untuk algoritma routing: Titik di graph adalah router. Garis di graph adalah link fisik. o Biaya link: delay, harga biaya, atau tingkat kepadatan. A 1 2 5 B D 2 3 1 3 C E Jalur bagus : 1 5 2 F Biasanya berarti biaya minimum dari suatu jalur
Untuk dapat memforward paket dengan tepat, router harus mempelajari arah/jalan ke jaringan lainnya. Ada dua jenis Routing Dynamic routing - informasi dipelajari dari router lainnya, dan routing protocol secara otomatis menyesuaikan. Static routing - network administrator mengonfigurasi secara manual informasi tentang jaringan lainnya. Hal ini dilakukan untuk mengurangi biaya dan untuk keamanan. Pada kebanyakan jaringan, static routing sering dikombinasikan dengan dynamic routing.
to: 20.2.1.2
BGP RIP Cisco proprietary TCP UDP OSPF IS-IS EIGRP IP (and ICMP) Routing protocol saling bertukar informasi ttg jaringan yang dapat dijangkau antar Router
100 B 100 50 20 20 Temukan jalur dari titik awal ke semua titik yang ada yang mempunyai jumlah panjang jalur yang minimal A Source 80 80 30 C 20 10 10 20 10 10 D 10 20 30 10 E 16
Menentukan jalur (route) Router first-hop default router Router tujuan Host tujuan 5 Host sumber 2 B 3 D 5 A 2 3 1 F 1 C 1 E 2 Router sumber Jalur biaya terkecil
Technology : Distance Vector vs Link State Protocol Solusi untuk masalah jalur terpendek = Data Struktur Graf Bagaimana penghitungan jalur terpendek dapat di desentralisasi dan dilaksanakan oleh banyak router yang saling bekerja sama jalur, titik, bobot jalur + Algoritma Dijkstra atau Bellman-Ford Distance Vector Penghitungan jalur terdistribusi. Hanya menyimpan link data lokal. RIP, EIGRP, BGP Link State Mendistribusikan semua link data. Melakukan penghitungan jalur Secara lokal OSPF, IS-IS, IDPR 18
Autonomous System adalah suatu daerah di Internet yang di administrasi/diatur oleh entitas tunggal. Contoh daerah Autonomous: Jaringan kampus Jaringan backbone Telkom Internet Service Provider daerah Routing dikerjakan dengan cara yang berbedabeda dalam suatu Autonomous System (intradomain routing) dan antar Autonomous System (interdomain routing).
Ethernet Ethernet Autonomous System 1 Router Ethernet Router Router Router Ethernet Ethernet Router Autonomous System 2 Router Ethernet
Intradomain Routing Routing di dalam suatu AS Mengabaikan Internet di luar AS Protocol untuk Intradomain routing disebut dengan Interior Gateway Protocol atau IGP. Protocol yang populer adalah o RIP (sederhana, tua) o OSPF (lebih baik) Interdomain Routing Routing antar AS Diasumsikan Internet merupakan kumpulan AS yang saling terhubung Normalnya, ada satu router dedicated di setiap AS yang mengangani traffic interdomain. Protocol untuk interdomain routing disebut dengan Exterior Gateway Protocols atau EGP. Routing protocol: o EGP
Ada dua dasar algoritma routing yang ditemukan di Internet. 1. Distance Vector Routing Setiap node mengetahui jarak/distance (=cost) ke tetangga-tetangganya yang secara langsung terhubung. Suatu node mengirim secara periodik suatu update daftar routing ke tetangganya. Jika semua node meng-update jaraknya, tabel routing akhirnya akan konvergen. Node baru mengumumkan dirinya sendiri ke tetangganya. 2. Link State Routing Setiap node mengetahui jarak/distance ke tetangga-tetangganya. Informasi jarak/distance (=link state) di-broadcast ke semua node dalam jaringan. Setiap node menghitung tabel routing secara independen
Distance Vector Routing Information Protocol (RIP) Gateway-to-Gateway Protocol (GGP) Exterior Gateway Protocol (EGP) Interior Gateway Routing Protocol (IGRP) Link State Intermediate System - Intermediate System (IS- IS) Open Shortest Path First (OSPF)
Jaringan digambarkan sebagai suatu Graph: o Node terhubung dengan networks Jaringan dapat suatu link atau LAN o Interface jaringan punya cost o Jaringan merupakan tujuan o Net(v,w) merupakan IP address suatu jaringan Untuk memudahkan notasi, terkadang awan antar node diganti dengan link sederhana. c(v,w) v c(v,n) Net(v,w) Net(v,n) n w Net
c(v,w): cost untuk transmit pada interface di jaringan Net(v,w) Net(v,w): alamat jaringan dari jaringan antara v dan w Jaringan dapat berupa link, tapi dapat juga berupa LAN RoutingTable of node v v Net(v,w) c(v,w) Net(v,n) c(v,n) n w Net Dest Net via (next hop) n cost D(v,Net)
RoutingTable of node v Dest via (next hop) cost Net n D(v,Net) Node mengirim pesan ke tetangga2 nya yang berisi entri table routing. v [Net, D(v,Net)] n Format pesan: [Net, D(v,Net)] berarti Biayaku untuk pergi ke Net adalah D (v,net)
RoutingTable of node v Dest Net 1 Net 2 via (next hop) m n cost D(v,Net 1 ) D(v,Net 2 ) Secara periodik, setiap node v mengirim isi tabel routingnya ke para tetangganya : Net N w D(v,Net N ) [Net 1,D(v,Net 1 )] [Net 1,D(v,Net 1 )] m [Net N,D(v,Net N )] v n [Net N,D(v,Net N )] [Net 1,D(v,Net 1 )] [Net N,D(v,Net N )] w
Andaikan node baru v aktif. Biaya/cost untuk mengakses jaringan yang terhubung secara langsung adalah nol: D (v, Net(v,m)) = 0 D (v, Net(v,w)) = 0 D (v, Net(v,n)) = 0 m c(v,m) Net(v,m) v c (v,w) Net(v,w) Dest RoutingTable via (next hop) w Net(v,m) m 0 c(v,n) Net(v,n) Net(v,w) w 0 cost n Net(v,n) n 0
Dest RoutingTable via (next hop) cost Net(v,m) Net(v,w) Net(v,n) m w n 0 0 0 Node baru v mengirim isi tabel routing ke semua tetangganya: [Net(v,n),0] [n,0] [Net(v,w),0] [w,0] m v n [Net(v,n),0] [n,0] [Net(v,m),0] [m,0] w [m,0] [Net(v,m),0] [w,0] [Net(v,w),0]
Node v menerima tabel routing dari node lain dan membuat tabel routing nya [Net 1,D(m,Net 1 )] [Net N,D(m,Net N )] m v [Net 1,D(w,Net 1 )] [Net N,D(w,Net N )] w n [Net 1,D(n,Net 1 )] [Net N,D(n,Net N )]
Andaikan node v menerima pesan dari node m: [Net,D(m,Net)] Net [Net,D(m,Net)] m c(v,m) Net(v,m) v w Node v meng-update tabel routing nya dan mengirim pesan selanjutnya jika pesan mengurangi biaya route: n if ( D(m,Net) + c (v,m) < D (v,net) ) { D new (v,net) := D (m,net) + c (v,m); Update tabel routing; Kirim pesan [Net, D new (v,net)] ke semua tetangga }
Sebelum menerima pesan: [Net,D(m,Net)] Net m c(v,m) Net(v,m) v w Dest Net RoutingTable via (next hop)?? cost D(v,Net) n Andaikan D (m,net) + c (v,m) < D (v,net): Net m c(v,m) Net(v,m) [Net,D new (v,net)] v w [Net,D new (v,net)] Dest Net RoutingTable via (next hop) m cost D new (v,net) n
cost Asumsi : - link cost 1, mis., c(v,w) = 1 - semua update berjalan simultan - awalnya, setiap router hanya tahu cost dari interface yang terhubung cost cost cost 10.0.1.0/24 10.0.2.0/24 10.0.3.0/24 10.0.4.0/24 10.0.5.0/24.2.1.2.1.2.1.2.1 Router A Router B Router C Router D Net via Net via Net via Net via t=0: 10.0.1.0-0 10.0.2.0-0 t=0: 10.0.2.0-0 10.0.3.0-0 t=0: 10.0.3.0-0 10.0.4.0-0 t=0: 10.0.4.0-0 10.0.5.0-0 t=1: 10.0.1.0-0 10.0.2.0-0 10.0.3.0 10.0.2.2 1 t=1: 10.0.1.0 10.0.2.1 1 10.0.2.0-0 10.0.3.0-0 10.0.4.0 10.0.3.2 1 t=1: 10.0.2.0 10.0.3.1 1 10.0.3.0-0 10.0.4.0-0 10.0.5.0 10.0.4.2 1 t=1: 10.0.3.0 10.0.4.1 1 10.0.4.0-0 10.0.5.0-0 t=2: 10.0.1.0-0 10.0.2.0-0 10.0.3.0 10.0.2.2 1 10.0.4.0 10.0.2.2 2 t=2: 10.0.1.0 10.0.2.1 1 10.0.2.0-0 10.0.3.0-0 10.0.4.0 10.0.3.2 1 10.0.5.0 10.0.3.2 2 t=2: 10.0.1.0 10.0.3.1 2 10.0.2.0 10.0.3.1 1 10.0.3.0-0 10.0.4.0-0 10.0.5.0 10.0.4.2 1 t=2: 10.0.2.0 10.0.4.1 2 10.0.3.0 10.0.4.1 1 10.0.4.0-0 10.0.5.0-0
cost cost cost cost 10.0.1.0/24 10.0.2.0/24 10.0.3.0/24 10.0.4.0/24 10.0.5.0/24.2.1.2.1.2.1.2.1 Router A Router B Router C Router D Net via Net via Net via Net via t=2: 10.0.1.0-0 10.0.2.0-0 10.0.3.0 10.0.2.2 1 10.0.4.0 10.0.2.2 2 t=2: 10.0.1.0 10.0.2.1 1 10.0.2.0-0 10.0.3.0-0 10.0.4.0 10.0.3.2 1 10.0.5.0 10.0.3.2 2 t=2: 10.0.1.0 10.0.3.1 2 10.0.2.0 10.0.3.1 1 10.0.3.0-0 10.0.4.0-0 10.0.5.0 10.0.4.2 1 t=2: 10.0.2.0 10.0.4.1 2 10.0.3.0 10.0.4.1 1 10.0.4.0-0 10.0.5.0-0 t=3: 10.0.1.0-0 10.0.2.0-0 10.0.3.0 10.0.2.2 1 10.0.4.0 10.0.2.2 2 10.0.5.0 10.0.2.2 3 t=3: 10.0.1.0 10.0.2.1 1 10.0.2.0-0 10.0.3.0-0 10.0.4.0 10.0.3.2 1 10.0.5.0 10.0.3.2 2 t=3: 10.0.1.0 10.0.3.1 2 10.0.2.0 10.0.3.1 1 10.0.3.0-0 10.0.4.0-0 10.0.5.0 10.0.4.2 1 Sekarang tabel routing menjadi konvergen! t=3: 10.0.1.0 10.0.4.1 3 10.0.2.0 10.0.4.1 2 10.0.3.0 10.0.4.1 1 10.0.4.0-0 10.0.5.0-0
Periodic Updates: Update tabel routing dikirim pada akhir periode waktu tertentu, biasanya 90 detik. Triggered Updates: Jika suatu ukuran berubah pada suatu link, router segera mengirim suatu update tanpa menunggu berakhirnya suatu periode update. Full Routing Table Update: Sebagian besar protokol distance vector routing mengirim tetangganya semua tabel routing (tidak hanya entry yang berubah). Route invalidation timers: Isi tabel routing menjadi invalid jika tidak di-refresh. Biasanya nilai untuk invalidate suatu entry adalah jika tidak ada update yang diterima setelah 3-6 periode update.
Protokol intradomain yang sederhana Implementasi langsung dari Distance Vector Routing Setiap router mengumumkan distance vector nya setiap 30 detik (atau ketika tabel routing berubah) ke semua tetangganya RIP selalu menggunakan 1 sebagai ukuran link Perhitungan maximum hop adalah 15, dengan 16 adalah Route akan timeout (diset ke 16) setelah 3 menit jika tidak diupdate
RIP membutuhkan waktu lama untuk stabil o Bahkan untuk jaringan kecil, RIP membutuhkan beberapa menit sampai tabel routing tetap/settle setelah perubahan RIP mempunyai semua masalah yang ada pada algoritma distance vector Maximum path pada RIP adalah 15 hop