Difference between revisions of "OS: OpenWRT Networking & Mesh"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
| Line 90: | Line 90: | ||
==OLSR vs BATMAN vs Routing Tradisional== | ==OLSR vs BATMAN vs Routing Tradisional== | ||
| − | Perbandingan Konseptual | + | |
| − | Aspek | + | {| class="wikitable" style="margin:auto" |
| − | Routing Tradisional | + | |+ Perbandingan Konseptual |
| − | OLSR | + | |- |
| − | BATMAN-adv | + | ! Aspek !! Routing Tradisional !! OLSR !! BATMAN-adv |
| − | Layer OSI | + | |- |
| − | L3 | + | | Layer OSI || L3 || L3 || L2 |
| − | L3 | + | |- |
| − | + | | Dinamis || ❌ || ✅ || ✅ | |
| − | Dinamis | + | |- |
| − | ❌ | + | | Cocok untuk mesh || ❌ || ✅ || Sangat cocok |
| − | ✅ | + | |- |
| − | + | | Kompleksitas || Rendah || Menengah || Tinggi (kernel) | |
| − | Cocok untuk mesh | + | |- |
| − | ❌ | + | | Lokasi eksekusi || Kernel + static config || User-space daemon || Kernel module |
| − | ✅ | + | |} |
| − | Sangat cocok | ||
| − | Kompleksitas | ||
| − | Rendah | ||
| − | Menengah | ||
| − | Tinggi (kernel) | ||
| − | Lokasi eksekusi | ||
| − | Kernel + static config | ||
| − | User-space daemon | ||
| − | Kernel module | ||
==Kapan Menggunakan Apa?== | ==Kapan Menggunakan Apa?== | ||
Revision as of 08:47, 15 February 2026
Bab ini merupakan puncak dari transisi sistem operasi general-purpose menuju network operating system. Jika pada Ubuntu Server mahasiswa belajar bahwa networking adalah salah satu subsistem kernel, maka pada OpenWRT mahasiswa akan menyadari bahwa jaringan adalah jantung sistem operasi itu sendiri. Seluruh desain OpenWRT—mulai dari filesystem read-only, konfigurasi berbasis teks, hingga pemilihan paket—dioptimalkan untuk routing, forwarding, dan mesh networking.
OpenWRT menjadi studi kasus ideal untuk memahami bagaimana kernel networking stack, routing protocol, dan distributed system bekerja secara nyata di level OS, bukan sekadar teori.
Routing Fundamentals
Konsep Dasar Routing dalam Sistem Operasi
Routing adalah proses menentukan jalur terbaik untuk meneruskan paket dari satu network interface ke tujuan akhirnya. Pada Linux (termasuk OpenWRT), routing sepenuhnya dikendalikan oleh kernel networking stack, sedangkan user-space hanya menyediakan control plane.
Secara konseptual, routing terdiri dari:
- Data plane → forwarding paket (kernel space)
- Control plane → pengisian routing table (user space daemon)
Insight penting:
Pada OpenWRT, batas antara OS dan router hampir tidak ada—OpenWRT adalah router OS.
Routing Table di OpenWRT
Periksa routing table:
ip route
Contoh output sederhana:
default via 192.168.1.1 dev eth0 192.168.1.0/24 dev eth0 proto kernel scope link
Maknanya:
- default route → semua trafik ke luar subnet
- connected route → jaringan lokal langsung
Routing table ini akan berubah dinamis saat OLSR atau BATMAN diaktifkan.
Forwarding sebagai Fungsi Kernel
Aktifkan IP forwarding:
sysctl net.ipv4.ip_forward
Jika belum aktif:
sysctl -w net.ipv4.ip_forward=1
Di OpenWRT, fitur ini default aktif, karena OS diasumsikan sebagai router.
OLSR (Optimized Link State Routing)
Konsep OLSR
OLSR adalah proactive link-state routing protocol yang dirancang khusus untuk mobile ad-hoc network (MANET) dan mesh network. Berbeda dengan routing tradisional, setiap node secara aktif bertukar informasi topologi.
Ciri utama OLSR:
- Proactive → route selalu tersedia
- Menggunakan HELLO dan TC (Topology Control) message
- Optimasi melalui Multi-Point Relay (MPR)
Makna OS:
OLSR berjalan di user-space, tetapi mengendalikan routing table kernel secara langsung.
Instalasi OLSR di OpenWRT
opkg update opkg install olsrd olsrd-mod-arprefresh
Aktifkan interface mesh:
uci set olsrd.@Interface[0].interface='lan' uci commit olsrd /etc/init.d/olsrd enable /etc/init.d/olsrd start
Observasi Routing OLSR
Lihat neighbor:
ip route
Atau melalui plugin HTTP (opsional):
opkg install olsrd-mod-httpinfo
Praktik akademik:
Matikan satu node VM dan amati konvergensi ulang routing table dalam hitungan detik.
BATMAN-adv
Konsep BATMAN-adv
BATMAN-adv (Better Approach To Mobile Adhoc Networking – advanced) bekerja di layer 2, bukan layer 3 seperti OLSR. Ia menjadikan seluruh mesh seolah-olah satu switch virtual raksasa.
Karakteristik utama:
- Bekerja di kernel space
- Routing tersembunyi dari IP layer
- Sangat cocok untuk WiFi mesh & IoT
Perbedaan filosofis:
OLSR berpikir seperti router, BATMAN berpikir seperti bridge.
Instalasi BATMAN-adv
opkg update opkg install kmod-batman-adv batctl
Load kernel module:
modprobe batman-adv
Tambahkan interface:
batctl if add eth0 ip link set up dev bat0
Cek status:
batctl o
Implikasi OS-Level
Karena BATMAN-adv berjalan di kernel:
- Latency rendah
- Overhead kecil
- Lebih robust pada node bergerak
Ini adalah contoh nyata fungsi OS berpindah dari user-space ke kernel-space demi performa.
OLSR vs BATMAN vs Routing Tradisional
| Aspek | Routing Tradisional | OLSR | BATMAN-adv |
|---|---|---|---|
| Layer OSI | L3 | L3 | L2 |
| Dinamis | ❌ | ✅ | ✅ |
| Cocok untuk mesh | ❌ | ✅ | Sangat cocok |
| Kompleksitas | Rendah | Menengah | Tinggi (kernel) |
| Lokasi eksekusi | Kernel + static config | User-space daemon | Kernel module |
Kapan Menggunakan Apa?
Routing tradisional → Jaringan statis, enterprise, ISP OLSR → Mesh akademik, eksperimen routing, MANET BATMAN-adv → WiFi mesh, IoT, komunitas jaringan Insight penting untuk mahasiswa:
Tidak ada solusi terbaik—yang ada adalah solusi yang sesuai konteks sistem operasi dan jaringan.
Refleksi Akademik (OBE-Oriented)
Setelah menyelesaikan bab ini, mahasiswa tidak hanya tahu protokol, tetapi mampu:
- Menganalisis routing sebagai fungsi kernel
- Membangun mesh network nyata di VM
- Membedakan desain OS-level vs network-level
- Berpikir sebagai network OS engineer
Ini adalah tahap di mana sistem operasi tidak lagi berdiri sendiri, melainkan menjadi bagian dari distributed system.
“Di OpenWRT, jaringan bukan fitur. Jaringan adalah identitas sistem operasi itu sendiri.”