Materi: Konsep, Algoritma, RIP, OSPF, BGP
Referensi Utama: Kurose & Ross — Computer Networking (8th Ed)
Dosen Pengampu:
Topik yang dibahas pada bab ini:
Dua pendekatan utama dalam menyusun network control plane:
Fungsi Network Layer: Forwarding (data plane) → memindahkan paket; Routing (control plane) → menentukan rute.
Setiap router memiliki komponen routing algorithm-nya sendiri. Router-router saling berinteraksi satu sama lain untuk membangun dan memperbarui forwarding table-nya.
Karakteristik:
✔ Desentralisasi – setiap router autonomous
✔
Distribusi informasi routing antar router (tanpa controller terpusat)
Remote Controller terpusat yang menghitung dan menginstall forwarding table di setiap router.
Perbandingan arsitektur per-router control plane (kiri) dengan SDN control plane (kanan).

Setelah memahami dua paradigma utama (Tradisional vs SDN), bagaimana fokus kita di kelas ini?
Tujuan: Menentukan jalur ("good paths/routes") dari host pengirim ke host penerima, melalui jaringan router.
Jaringan dimodelkan sebagai Graf G = (N, E):
Sifat: Terpusat (centralized) – topologi jaringan dan biaya link diketahui oleh semua node via "link state broadcast".
Menghasilkan least-cost paths dari satu node sumber ke semua node tujuan → menghasilkan forwarding table untuk node tersebut.
c(x,y) = biaya link langsung dari x ke y; = ∞ jika
bukan tetangga langsungD(v) = estimasi biaya least-cost-path dari
sumber ke vp(v) = predecessor node sebelum v di jalur dari
sumberN' = himpunan node yang least-cost-path-nya sudah
definitif diketahui
Initialization:
N' = {u} /* sumber adalah u */
for all nodes v:
if v adjacent to u → D(v) = c(u,v)
else D(v) = ∞
Loop:
1. find w not in N' such that D(w) is minimum
2. add w to N'
3. update D(v) for all v adjacent to w and not in N':
D(v) = min(D(v), D(w) + c(w,v))
until all nodes in N'
| Step | N' | D(v),p(v) | D(w),p(w) | D(x),p(x) | D(y),p(y) | D(z),p(z) |
|---|---|---|---|---|---|---|
| 0 | u | 2, u | 5, u | 1, u ✓ | ∞ | ∞ |
| 1 | u, x | 2, u | 4, x | — | 2, x ✓ | ∞ |
| 2 | u, x, y | 2,u ✓ | 3, y | — | — | 4, y |
| 3 | u, x, y, v | — | 3, y ✓ | — | — | 4, y |
| 4 | u,x,y,v,w | — | — | — | — | 4, y ✓ |
| 5 | u,x,y,v,w,z | ✅ Semua node diproses – algoritma selesai! | ||||
| Tujuan | outgoing link |
|---|---|
| v | (u,v) |
| x | (u,x) |
| y | (u,x) |
| w | (u,x) |
| x | (u,x) |
| destination | outgoing link |
|---|---|
| v | (u,v) |
| x | (u,x) |
| y | (u,x) |
| w | (u,x) |
| z | (u,x) |
Setelah algoritma selesai, dari node u, diperoleh:
| Destination | Outgoing Link |
|---|---|
| v | (u,x) |
| x | (u,x) |
| y | (u,x) |
| w | (u,x) |
| z | (u,x) |
Graf: u–v (7), u–w (3), u–x (5), w–v (11/w), w–x (6/w), x–v (14/x), x–y (9/x), v–y (8/v), v–z (7/v), y–z (2/y)
| Step | N' | D(v) | D(w) | D(x) | D(y) | D(z) |
|---|---|---|---|---|---|---|
| 0 | u | 7,u | 3,u✓ | 5,u | ∞ | ∞ |
| 1 | u,w | 7,u | — | 5,u✓ | ∞ | ∞ |
| 2 | u,w,x | 7,u✓ | — | — | 14,x | ∞ |
| 3 | u,w,x,v | — | — | — | 11,w✓ | 14,x |
| 4 | u,w,x,v,y | — | — | — | — | 13,y✓ |
Catatan: Bisa ada tie (biaya sama) – bisa dipecah sembarang. Predecessor node ditelusuri untuk membangun least-cost-path tree.
Ketika biaya link bergantung pada volume trafik, bisa terjadi route oscillations (rute berubah terus menerus).
Skenario: routing ke tujuan a, trafik masuk di d, c, e dengan rate 1, e(<1), 1. Link cost bergantung pada traffic load.
| Step | N' | D(B) | D(C) | D(D) | D(E) |
|---|---|---|---|---|---|
| 0 | A | 4,A | 2,A✓ | ∞ | ∞ |
| 1 | A,C | 3,C✓ | — | 10,C | 12,C |
| 2 | A,C,B | — | — | 8,B✓ | 12,C |
| 3 | A,C,B,D | — | — | — | 10,D✓ |
Jalur terpendek: A→B: A-C-B (cost 3), A→D: A-C-B-D (cost 8), A→E: A-C-B-D-E (cost 10)
Kita telah berhasil mensimulasikan Dijkstra dengan sangat baik. Namun, sebagai Network Engineer masa depan, Anda harus tahu kapan sebuah alat akan rusak/gagal.
Berdasarkan Bellman-Ford (BF) equation – dynamic programming:
Graf: u–v(2), u–w(5), u–x(1), v–w(3), x–w(3), x–y(1), w–y(1), w–z(5), y–z(2)
Misalkan node u menghitung Du(z). Tetangga u adalah: x, v, w.
Diketahui dari tetangga: Dv(z)=5, Dw(z)=3, Dx(z)=3
Node x adalah node yang menghasilkan minimum → x adalah next hop menuju z dari u.
Key idea: Dari waktu ke waktu, setiap node mengirim distance vector-nya ke tetangga.
Dx(y) ← minv {c(x,v) + Dv(y)} untuk setiap
y ∈ NDengan kondisi minor yang alami, estimasi Dx(y) akan konvergen ke nilai aktual dx(y).
Jaringan 3×3 grid: a–b–c / d–e–f / g–h–i, dengan link cost mostly 1 kecuali a–b=8.
Pada t=0: setiap node hanya tahu jarak ke tetangga langsungnya.
Semua node mengirimkan DV mereka ke tetangga-tetangga mereka.
Pada setiap iterasi, semua node melakukan 3 hal secara bersamaan:
| Dest | Cost |
|---|---|
| a | 8 (direct) |
| c | 1 (direct) |
| e | 1 (direct) |
| others | ∞ |
| Dest | Cost | Via |
|---|---|---|
| a | 8 | a (direct) |
| c | 1 | c (direct) |
| d | 2 ✨baru | e |
| e | 1 | e (direct) |
| f | 2 ✨baru | e |
| h | 2 ✨baru | e |
Node e menerima DV dari tetangganya: b, d, f, h. Menghitung ulang DV-nya dengan BF.
Q: Berapakah DV baru yang dihitung node e pada t=1?
Informasi state sebuah node menyebar secara bertahap seperti gelombang:
Topologi: x–y (1), y–z (4→1). Scenario: biaya link y–z berubah dari 4 menjadi 1.
Topologi: x–y (1), y–z (4→60). Ketika biaya y–z naik dari 4 ke 60:
| Aspek | Link State (LS) | Distance Vector (DV) |
|---|---|---|
| Message Complexity | n router, O(n²) pesan | Exchange antar tetangga; waktu konvergen bervariasi |
| Speed of Convergence | O(n²) algo, O(n²) pesan; bisa osilasi | Waktu konvergen bervariasi; bisa routing loops, count-to-infinity |
| Robustness | Router bisa advertise biaya link salah; setiap router hanya hitung tabel sendiri – error terisolasi | Router bisa advertise biaya path salah ("I have zero cost path everywhere") → black-holing; error menyebar ke seluruh jaringan |
Studi routing selama ini mengasumsikan kondisi ideal:
→ Semua router identik
→ Jaringan
"flat" (datar)
Namun kenyataannya tidak demikian di internet!
Router diaggregasi ke dalam region yang disebut Autonomous Systems (AS), juga dikenal sebagai "domain".
Topologi: AS1, AS2, AS3 saling terhubung via gateway router di tepi masing-masing AS.
Misalkan router di AS1 menerima datagram tujuan di luar AS1.
Inter-domain routing AS1 harus:
Protokol intra-AS yang paling umum:
| Protokol | Tipe | Keterangan |
|---|---|---|
| RIP | Distance Vector | DV klasik, exchange tiap 30 detik, sudah jarang digunakan [RFC 1723] |
| EIGRP | DV-based | Sebelumnya Cisco-proprietary, menjadi open di 2013 [RFC 7868] |
| OSPF | Link State | Open Shortest Path First, link-state routing [RFC 2328] |
| IS-IS | Link State | ISO standard, esensinya sama dengan OSPF |
Open: publicly available (RFC 2328).
Two-level hierarchy: Local area + Backbone.
LSA di-flood hanya dalam area atau backbone – tidak ke seluruh jaringan.
Intra-AS routing menentukan entri untuk tujuan di dalam AS. Inter-AS routing menentukan entri untuk tujuan di luar AS.
BGP adalah de facto inter-domain routing protocol – "glue that holds the Internet together".
BGP memungkinkan subnet mengadvertise keberadaannya dan tujuan yang bisa dicapai ke seluruh internet: "I am here, here is who I can reach, and how".
Gateway routers menjalankan kedua protokol eBGP (dengan AS lain) dan iBGP (dengan router internal di AS yang sama).
Ketika AS3 gateway 3a mengadvertise path AS3,X ke AS2 gateway 2c:
→ AS3 berjanji kepada AS2 akan forward datagram menuju X.
Pesan BGP dipertukarkan antar peers via koneksi TCP:
| Pesan | Fungsi |
|---|---|
| OPEN | Membuka koneksi TCP ke remote BGP peer dan autentikasi. |
| UPDATE | Mengadvertise path baru atau menarik path lama. |
| KEEPALIVE | Menjaga koneksi tetap aktif; juga ACK untuk OPEN. |
| NOTIFICATION | Melaporkan error pada pesan sebelumnya; juga untuk menutup koneksi. |
BGP advertised route = prefix + attributes.
Proses advertisement dari AS3 menuju AS1:
Setelah 1a, 1b, 1d belajar via iBGP dari 1c bahwa "path ke X melewati 1c":
Integrasi BGP (inter-AS) + OSPF (intra-AS) → forwarding table lengkap.
Router 2d belajar (via iBGP) bahwa bisa route ke X via 2a atau 2c.
Skenario: A advertise path Aw ke B dan C. B memilih tidak mengadvertise BAw ke C.
Router bisa mempelajari lebih dari satu rute ke tujuan AS yang sama. Urutan prioritas pemilihan rute:
| Aspek | Intra-AS | Inter-AS |
|---|---|---|
| Policy | Satu admin → policy kurang signifikan | Admin ingin kontrol penuh bagaimana traffic di-route, siapa yang boleh lewat jaringannya |
| Scale | Dalam satu AS, tabel routing lebih kecil | Hierarchical routing hemat ukuran tabel dan update traffic |
| Performance | Bisa fokus ke performance (bandwidth, delay) | Policy mendominasi performance |
AS3,X (3 hop) dan
AS2,AS3,X (4 hop), mana yang diprioritaskan? Berikan alasan!
Sebagai Network Engineer utama di kampus kita, Anda dihadapkan pada skenario nyata Multi-Homing.
Jaringan: x–y (2), x–z (7), y–z (1).
Kondisi awal (t=0):
| Dx(x)=0 | Dx(y)=2 | Dx(z)=7 |
| Dy(x)=2 | Dy(y)=0 | Dy(z)=1 |
| Dz(x)=∞ | Dz(y)=1 | Dz(z)=0 |
Buatlah simulasi routing pada Cisco Packet Tracer dengan ketentuan komponen berikut:
| Karakteristik | RIP | OSPF | BGP |
|---|---|---|---|
| Tipe | IGP (Distance Vector) | IGP (Link State) | EGP (Path Vector) |
| Metrik | Hop Count | Cost (Bandwidth) | Atribut Path, Kebijakan |
| Skala Jaringan | Kecil (Maks 15 Hop) | Menengah - Besar (Enterprise) | Global (Internet) |