OS: OpenWRT Networking & Mesh

From OnnoWiki
Jump to navigation Jump to search

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

Perbandingan Konseptual
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.”


Pranala Menarik