Difference between revisions of "OS: PRAKTIKUM — Mesh Network Lab"
Onnowpurbo (talk | contribs) (Created page with " PRAKTIKUM 8 — Mesh Network Lab (OLSR & BATMAN pada OpenWRT x86, simulasi di GNS3 berbasis Ubuntu 24.04) Praktikum ini merupakan kelanjutan logis dari pembahasan networking...") |
Onnowpurbo (talk | contribs) |
||
| Line 1: | Line 1: | ||
| + | Praktikum ini merupakan kelanjutan logis dari pembahasan networking stack dan network OS pada OpenWRT dalam dokumen Sistem Operasi, 2026. Fokus utamanya adalah memahami jaringan sebagai sistem terdistribusi, bukan sekadar konfigurasi IP statis atau routing konvensional. Pada mesh network, setiap node adalah router, dan sistem operasi berperan aktif dalam pengambilan keputusan routing secara dinamis . | ||
| − | + | ==Tujuan Praktikum== | |
| − | |||
| − | |||
| − | |||
| − | Tujuan Praktikum | ||
Setelah menyelesaikan praktikum ini, mahasiswa diharapkan mampu: | Setelah menyelesaikan praktikum ini, mahasiswa diharapkan mampu: | ||
| − | Menjelaskan konsep mesh networking sebagai implementasi nyata distributed system pada level OS. | + | * Menjelaskan konsep mesh networking sebagai implementasi nyata distributed system pada level OS. |
| − | Mengkonfigurasi OLSR dan BATMAN pada OpenWRT x86. | + | * Mengkonfigurasi OLSR dan BATMAN pada OpenWRT x86. |
| − | Mensimulasikan jaringan mesh menggunakan GNS3. | + | * Mensimulasikan jaringan mesh menggunakan GNS3. |
| − | Mengamati dan menganalisis perilaku routing dinamis (route discovery, failover, convergence). | + | * Mengamati dan menganalisis perilaku routing dinamis (route discovery, failover, convergence). |
Pendekatan ini selaras dengan filosofi OBE (30% teori – 70% praktek), dimana mahasiswa tidak hanya tahu protokol, tetapi melihat OS “berpikir” saat topologi berubah . | Pendekatan ini selaras dengan filosofi OBE (30% teori – 70% praktek), dimana mahasiswa tidak hanya tahu protokol, tetapi melihat OS “berpikir” saat topologi berubah . | ||
| − | Konsep Dasar Mesh Network (Ringkas tapi Inti) | + | |
| + | ==Konsep Dasar Mesh Network (Ringkas tapi Inti)== | ||
Dalam mesh network, tidak ada single point of failure. Setiap node: | Dalam mesh network, tidak ada single point of failure. Setiap node: | ||
| − | Menjalankan kernel networking stack. | + | * Menjalankan kernel networking stack. |
| − | Memiliki routing daemon di user space. | + | * Memiliki routing daemon di user space. |
| − | Bertukar informasi routing secara periodik atau reaktif. | + | * Bertukar informasi routing secara periodik atau reaktif. |
| + | |||
Dua pendekatan yang diuji: | Dua pendekatan yang diuji: | ||
| + | |||
OLSR (Optimized Link State Routing) | OLSR (Optimized Link State Routing) | ||
| − | Proaktif: setiap node selalu memiliki peta jaringan terkini. | + | * Proaktif: setiap node selalu memiliki peta jaringan terkini. |
| + | |||
BATMAN (Better Approach To Mobile Adhoc Networking) | BATMAN (Better Approach To Mobile Adhoc Networking) | ||
| − | Hop-by-hop: node tidak perlu mengetahui seluruh topologi, cukup best next hop. | + | * Hop-by-hop: node tidak perlu mengetahui seluruh topologi, cukup best next hop. |
| + | |||
Insight OS penting: | Insight OS penting: | ||
| − | Routing mesh bukan fitur aplikasi, tetapi hasil interaksi user-space daemon ↔ kernel routing table ↔ network interface. | + | Routing mesh bukan fitur aplikasi, tetapi hasil interaksi user-space daemon ↔ kernel routing table ↔ network interface. |
| − | Desain Topologi Praktikum (GNS3) | + | ==Desain Topologi Praktikum (GNS3)== |
Arsitektur Lab | Arsitektur Lab | ||
| − | Host: Ubuntu 24.04 (CLI + GNS3) | + | * Host: Ubuntu 24.04 (CLI + GNS3) |
| − | Node: | + | * Node: 3–5 VM OpenWRT x86 |
| − | 3–5 VM OpenWRT x86 | + | * Media: Internal Network / Ethernet virtual di GNS3 |
| − | Media: Internal Network / Ethernet virtual di GNS3 | + | |
Contoh topologi sederhana: | Contoh topologi sederhana: | ||
| − | [OWRT-1] --- [OWRT-2] --- [OWRT-3] | + | |
| − | + | [OWRT-1] --- [OWRT-2] --- [OWRT-3] | |
| − | + | \ / | |
| + | ---------[OWRT-4]---- | ||
Setiap node: | Setiap node: | ||
| − | Satu interface mesh (mis. eth1) | + | * Satu interface mesh (mis. eth1) |
| − | IP satu subnet (untuk OLSR) | + | * IP satu subnet (untuk OLSR) |
| − | Tanpa default gateway statis | + | * Tanpa default gateway statis |
| − | Setup Awal OpenWRT (Wajib) | + | |
| + | ==Setup Awal OpenWRT (Wajib)== | ||
Login ke masing-masing node OpenWRT: | Login ke masing-masing node OpenWRT: | ||
| − | ssh root@192.168.100.x | + | ssh root@192.168.100.x |
| + | |||
Update paket: | Update paket: | ||
| − | opkg update | + | opkg update |
| + | |||
Pastikan interface mesh aktif: | Pastikan interface mesh aktif: | ||
| − | ip addr | + | ip addr |
| − | ip link | + | ip link |
| + | |||
Contoh set IP statis (sementara, untuk lab): | Contoh set IP statis (sementara, untuk lab): | ||
| − | ip addr add 10.10.10.1/24 dev eth1 | + | ip addr add 10.10.10.1/24 dev eth1 |
| − | ip link set eth1 up | + | ip link set eth1 up |
| + | |||
Catatan Akademik: | Catatan Akademik: | ||
| − | Pada OpenWRT, konfigurasi jaringan bersifat declarative (UCI), tetapi observasi awal via CLI membantu memahami state kernel secara langsung. | + | Pada OpenWRT, konfigurasi jaringan bersifat declarative (UCI), tetapi observasi awal via CLI membantu memahami state kernel secara langsung. |
| + | |||
| + | ==Praktik A — Setup OLSR== | ||
| + | ===Instalasi OLSR=== | ||
| + | opkg install olsrd olsrd-mod-txtinfo | ||
| − | + | ===Konfigurasi Dasar=== | |
| − | |||
| − | |||
| − | Konfigurasi Dasar | ||
Edit: | Edit: | ||
| − | nano /etc/config/olsrd | + | nano /etc/config/olsrd |
| + | |||
Contoh minimal: | Contoh minimal: | ||
| − | config olsrd | + | config olsrd |
| − | + | option IpVersion '4' | |
| − | + | option Fibs 'default' | |
| − | + | option LinkQualityLevel '2' | |
| − | + | option LinkQualityAlgorithm 'etx' | |
| + | |||
| + | config Interface | ||
| + | option interface 'eth1' | ||
| + | option Mode 'mesh' | ||
| − | |||
| − | |||
| − | |||
Restart service: | Restart service: | ||
| − | /etc/init.d/olsrd restart | + | /etc/init.d/olsrd restart |
| + | |||
Verifikasi Routing | Verifikasi Routing | ||
| + | ip route | ||
| − | |||
Cek info OLSR: | Cek info OLSR: | ||
| − | telnet localhost 2006 | + | telnet localhost 2006 |
| + | |||
Observasi penting: | Observasi penting: | ||
| − | Routing table terisi tanpa static route. | + | * Routing table terisi tanpa static route. |
| − | Semua node aware terhadap topologi penuh. | + | * Semua node aware terhadap topologi penuh. |
| − | Praktik B — Setup BATMAN | + | |
| − | Instalasi BATMAN | + | ==Praktik B — Setup BATMAN== |
| − | opkg install kmod-batman-adv batctl | + | ===Instalasi BATMAN=== |
| + | opkg install kmod-batman-adv batctl | ||
| + | |||
Load kernel module: | Load kernel module: | ||
| − | modprobe batman-adv | + | modprobe batman-adv |
| − | |||
| − | |||
| − | batctl if add eth1 | + | ===Konfigurasi Interface=== |
| − | ip link set up dev bat0 | + | batctl if add eth1 |
| + | ip link set up dev bat0 | ||
Beri IP ke bat0: | Beri IP ke bat0: | ||
| + | ip addr add 10.20.20.1/24 dev bat0 | ||
| − | ip | + | ===Verifikasi=== |
| − | + | batctl n # neighbor | |
| + | batctl o # originator | ||
| + | ip route | ||
| − | |||
| − | |||
| − | |||
Perbedaan konseptual: | Perbedaan konseptual: | ||
| − | OLSR → routing terlihat eksplisit. | + | * OLSR → routing terlihat eksplisit. |
| − | BATMAN → routing abstrak, OS hanya tahu next hop terbaik. | + | * BATMAN → routing abstrak, OS hanya tahu next hop terbaik. |
| − | Simulasi Dinamis di GNS3 | + | |
| − | Eksperimen Wajib | + | ==Simulasi Dinamis di GNS3== |
| + | ===Eksperimen Wajib=== | ||
Putuskan satu link di GNS3. | Putuskan satu link di GNS3. | ||
| + | |||
Amati: | Amati: | ||
| − | ip route | + | ip route |
| − | ping antar node | + | ping antar node |
| + | |||
Sambungkan kembali link. | Sambungkan kembali link. | ||
| + | |||
Pertanyaan Observasi: | Pertanyaan Observasi: | ||
| − | Berapa lama recovery time? | + | * Berapa lama recovery time? |
| − | Protokol mana yang lebih cepat converge? | + | * Protokol mana yang lebih cepat converge? |
| − | Bagaimana ukuran routing table berubah? | + | * Bagaimana ukuran routing table berubah? |
| + | |||
Kaitan OS: | Kaitan OS: | ||
| − | Inilah contoh nyata self-healing system yang dikendalikan oleh kombinasi kernel + daemon routing. | + | Inilah contoh nyata self-healing system yang dikendalikan oleh kombinasi kernel + daemon routing. |
| + | |||
| + | ==Analisis Akademik (OBE-Oriented)== | ||
| − | |||
Mahasiswa wajib menuliskan refleksi: | Mahasiswa wajib menuliskan refleksi: | ||
| − | Bandingkan OLSR vs BATMAN dari sisi: | + | |
| − | Kompleksitas | + | * Bandingkan OLSR vs BATMAN dari sisi: |
| − | Skalabilitas | + | ** Kompleksitas |
| − | Overhead routing | + | ** Skalabilitas |
| − | Jelaskan: | + | ** Overhead routing |
| − | Peran kernel routing table | + | |
| − | Peran user-space routing daemon | + | * Jelaskan: |
| − | Challenge Lanjutan (Opsional, Fun & Menantang) | + | ** Peran kernel routing table |
| − | Tambahkan node mobile (link sering putus-nyambung). | + | ** Peran user-space routing daemon |
| − | Bandingkan performa ping latency. | + | |
| − | Kombinasikan mesh + NAT ke Ubuntu Server. | + | ==Challenge Lanjutan (Opsional, Fun & Menantang)== |
| − | Simulasikan node failure total (power off VM). | + | * Tambahkan node mobile (link sering putus-nyambung). |
| − | Penutup | + | * Bandingkan performa ping latency. |
| + | * Kombinasikan mesh + NAT ke Ubuntu Server. | ||
| + | * Simulasikan node failure total (power off VM). | ||
| + | |||
| + | ==Penutup== | ||
Praktikum ini menegaskan bahwa: | Praktikum ini menegaskan bahwa: | ||
| − | Sistem Operasi bukan hanya pengelola CPU dan memori, tetapi “otak kolektif” jaringan terdistribusi. | + | * Sistem Operasi bukan hanya pengelola CPU dan memori, tetapi “otak kolektif” jaringan terdistribusi. |
| − | Dengan OLSR dan BATMAN, mahasiswa melihat langsung bagaimana OS membuat keputusan adaptif di lingkungan yang tidak stabil—sebuah kompetensi kunci untuk network OS engineer, IoT architect, dan distributed system builder . | + | * Dengan OLSR dan BATMAN, mahasiswa melihat langsung bagaimana OS membuat keputusan adaptif di lingkungan yang tidak stabil—sebuah kompetensi kunci untuk network OS engineer, IoT architect, dan distributed system builder . |
Latest revision as of 08:55, 15 February 2026
Praktikum ini merupakan kelanjutan logis dari pembahasan networking stack dan network OS pada OpenWRT dalam dokumen Sistem Operasi, 2026. Fokus utamanya adalah memahami jaringan sebagai sistem terdistribusi, bukan sekadar konfigurasi IP statis atau routing konvensional. Pada mesh network, setiap node adalah router, dan sistem operasi berperan aktif dalam pengambilan keputusan routing secara dinamis .
Tujuan Praktikum
Setelah menyelesaikan praktikum ini, mahasiswa diharapkan mampu:
- Menjelaskan konsep mesh networking sebagai implementasi nyata distributed system pada level OS.
- Mengkonfigurasi OLSR dan BATMAN pada OpenWRT x86.
- Mensimulasikan jaringan mesh menggunakan GNS3.
- Mengamati dan menganalisis perilaku routing dinamis (route discovery, failover, convergence).
Pendekatan ini selaras dengan filosofi OBE (30% teori – 70% praktek), dimana mahasiswa tidak hanya tahu protokol, tetapi melihat OS “berpikir” saat topologi berubah .
Konsep Dasar Mesh Network (Ringkas tapi Inti)
Dalam mesh network, tidak ada single point of failure. Setiap node:
- Menjalankan kernel networking stack.
- Memiliki routing daemon di user space.
- Bertukar informasi routing secara periodik atau reaktif.
Dua pendekatan yang diuji:
OLSR (Optimized Link State Routing)
- Proaktif: setiap node selalu memiliki peta jaringan terkini.
BATMAN (Better Approach To Mobile Adhoc Networking)
- Hop-by-hop: node tidak perlu mengetahui seluruh topologi, cukup best next hop.
Insight OS penting:
Routing mesh bukan fitur aplikasi, tetapi hasil interaksi user-space daemon ↔ kernel routing table ↔ network interface.
Desain Topologi Praktikum (GNS3)
Arsitektur Lab
- Host: Ubuntu 24.04 (CLI + GNS3)
- Node: 3–5 VM OpenWRT x86
- Media: Internal Network / Ethernet virtual di GNS3
Contoh topologi sederhana:
[OWRT-1] --- [OWRT-2] --- [OWRT-3]
\ /
---------[OWRT-4]----
Setiap node:
- Satu interface mesh (mis. eth1)
- IP satu subnet (untuk OLSR)
- Tanpa default gateway statis
Setup Awal OpenWRT (Wajib)
Login ke masing-masing node OpenWRT:
ssh root@192.168.100.x
Update paket:
opkg update
Pastikan interface mesh aktif:
ip addr ip link
Contoh set IP statis (sementara, untuk lab):
ip addr add 10.10.10.1/24 dev eth1 ip link set eth1 up
Catatan Akademik:
Pada OpenWRT, konfigurasi jaringan bersifat declarative (UCI), tetapi observasi awal via CLI membantu memahami state kernel secara langsung.
Praktik A — Setup OLSR
Instalasi OLSR
opkg install olsrd olsrd-mod-txtinfo
Konfigurasi Dasar
Edit:
nano /etc/config/olsrd
Contoh minimal:
config olsrd
option IpVersion '4'
option Fibs 'default'
option LinkQualityLevel '2'
option LinkQualityAlgorithm 'etx'
config Interface
option interface 'eth1'
option Mode 'mesh'
Restart service:
/etc/init.d/olsrd restart
Verifikasi Routing
ip route
Cek info OLSR:
telnet localhost 2006
Observasi penting:
- Routing table terisi tanpa static route.
- Semua node aware terhadap topologi penuh.
Praktik B — Setup BATMAN
Instalasi BATMAN
opkg install kmod-batman-adv batctl
Load kernel module:
modprobe batman-adv
Konfigurasi Interface
batctl if add eth1 ip link set up dev bat0
Beri IP ke bat0:
ip addr add 10.20.20.1/24 dev bat0
Verifikasi
batctl n # neighbor batctl o # originator ip route
Perbedaan konseptual:
- OLSR → routing terlihat eksplisit.
- BATMAN → routing abstrak, OS hanya tahu next hop terbaik.
Simulasi Dinamis di GNS3
Eksperimen Wajib
Putuskan satu link di GNS3.
Amati:
ip route ping antar node
Sambungkan kembali link.
Pertanyaan Observasi:
- Berapa lama recovery time?
- Protokol mana yang lebih cepat converge?
- Bagaimana ukuran routing table berubah?
Kaitan OS:
Inilah contoh nyata self-healing system yang dikendalikan oleh kombinasi kernel + daemon routing.
Analisis Akademik (OBE-Oriented)
Mahasiswa wajib menuliskan refleksi:
- Bandingkan OLSR vs BATMAN dari sisi:
- Kompleksitas
- Skalabilitas
- Overhead routing
- Jelaskan:
- Peran kernel routing table
- Peran user-space routing daemon
Challenge Lanjutan (Opsional, Fun & Menantang)
- Tambahkan node mobile (link sering putus-nyambung).
- Bandingkan performa ping latency.
- Kombinasikan mesh + NAT ke Ubuntu Server.
- Simulasikan node failure total (power off VM).
Penutup
Praktikum ini menegaskan bahwa:
- Sistem Operasi bukan hanya pengelola CPU dan memori, tetapi “otak kolektif” jaringan terdistribusi.
- Dengan OLSR dan BATMAN, mahasiswa melihat langsung bagaimana OS membuat keputusan adaptif di lingkungan yang tidak stabil—sebuah kompetensi kunci untuk network OS engineer, IoT architect, dan distributed system builder .