Back to IF2230 Jaringan Komputer
Keamanan & Jaringan Masa Depan: Software-Defined Networking (SDN)
Questions/Cues
- Apa analogi di balik lahirnya SDN?
- Apa konsep inti dari SDN?
- Jelaskan pemisahan Control Plane dan Data Plane.
- Apa saja tiga lapisan dalam arsitektur SDN?
- Apa itu Network OS (Controller)?
- Apa itu Southbound API? Contohnya?
- Apa itu Northbound API?
- Bagaimana cara kerja protokol OpenFlow?
- Apa itu Flow Table?
- Apa saja keuntungan utama dari SDN?
- Apa konsekuensi SDN bagi industri?
Reference Points
- Lecture 12
Latar Belakang dan Konsep Inti SDN
Analogi dengan Revolusi PC: Kelahiran SDN diilhami oleh transisi industri komputer dari era mainframe ke era PC. Sistem mainframe bersifat terintegrasi secara vertikal: perangkat keras, sistem operasi, dan aplikasi semuanya berasal dari satu vendor yang sama, bersifat tertutup, dan lambat berinovasi. Sebaliknya, model PC bersifat horizontal: ada antarmuka terbuka yang memungkinkan berbagai vendor untuk membuat perangkat keras, OS, dan aplikasi yang dapat saling bekerja sama, mendorong inovasi yang cepat. SDN bertujuan membawa revolusi serupa ke dunia jaringan yang secara tradisional bersifat tertutup.
Konsep Inti SDN: Konsep fundamental dari SDN adalah memisahkan Control Plane dari Data Plane.
- Data Plane (Infrastructure Layer): Ini adalah “otot” jaringan. Tugasnya hanya satu: meneruskan paket data secepat mungkin. Terdiri dari perangkat keras forwarding yang relatif sederhana (misalnya, switch OpenFlow).
- Control Plane (Control Layer): Ini adalah “otak” jaringan. Tugasnya adalah menentukan aturan atau logika tentang bagaimana paket harus diteruskan. Dalam SDN, otak ini dipindahkan dari setiap perangkat jaringan individu dan dipusatkan pada sebuah SDN Controller.
Arsitektur Software-Defined Networking
Arsitektur SDN umumnya terdiri dari tiga lapisan:
Infrastructure Layer (Data Plane): Lapisan terbawah yang berisi perangkat keras jaringan (switch, router) yang tugasnya hanya meneruskan paket sesuai instruksi dari atas.
Control Layer (Control Plane): Lapisan tengah yang berisi Network Operating System (Network OS) atau SDN Controller. Controller ini memiliki pandangan global dan terpusat tentang seluruh topologi dan status jaringan.
Application Layer: Lapisan teratas yang berisi aplikasi jaringan. Aplikasi ini (misalnya, aplikasi routing, load balancing, keamanan) berjalan “di atas” controller dan menggunakan informasi dari controller untuk “memprogram” perilaku jaringan secara keseluruhan.
- API (Application Programming Interface):
- Southbound API: Antarmuka antara Control Layer dan Infrastructure Layer. Contoh paling populer adalah OpenFlow.
- Northbound API: Antarmuka antara Application Layer dan Control Layer, memungkinkan aplikasi untuk mengakses data jaringan dan memprogram control plane.
Protokol OpenFlow: Southbound API
OpenFlow adalah standar protokol komunikasi terbuka yang paling umum digunakan sebagai Southbound API. Ia mendefinisikan cara bagi controller untuk berkomunikasi dengan dan memprogram perangkat di data plane.
- Cara Kerja:
- Controller menggunakan OpenFlow untuk mengisi dan memodifikasi Flow Table di dalam setiap switch.
- Setiap entri dalam Flow Table terdiri dari pasangan
<Match, Action>:
- Match: Aturan untuk mencocokkan paket berdasarkan informasi di headernya (misalnya, alamat MAC sumber/tujuan, alamat IP sumber/tujuan, nomor port).
- Action: Tindakan yang harus dilakukan jika ada paket yang cocok. Contoh:
teruskan ke port 5,buang paket,ubah header, ataukirim paket ini ke controller untuk instruksi lebih lanjut.- Ketika sebuah paket tiba di switch, switch akan mencari entri yang cocok di Flow Table-nya dan melakukan aksi yang sesuai. Jika tidak ada yang cocok, switch akan mengirim paket tersebut ke controller.
Keuntungan dan Konsekuensi SDN
- Keuntungan Utama:
- Manajemen Terpusat: Administrator jaringan dapat melihat dan mengelola seluruh jaringan dari satu titik, menyederhanakan konfigurasi dan pemecahan masalah.
- Inovasi Cepat: Fitur dan layanan jaringan baru dapat dikembangkan sebagai perangkat lunak (aplikasi di atas controller) tanpa harus menunggu vendor merilis perangkat keras atau firmware baru.
- Fleksibilitas dan Programabilitas: Perilaku jaringan dapat diubah dan diotomatisasi secara dinamis sesuai kebutuhan aplikasi.
- Potensi Pengurangan Biaya: Memungkinkan penggunaan perangkat keras komoditas (white-box switches) yang lebih murah karena kecerdasan sudah dipindahkan ke controller.
- Konsekuensi bagi Industri: SDN mengubah model bisnis dari penjualan perangkat keras yang mahal dan tertutup menjadi model yang lebih terbuka dan berorientasi pada perangkat lunak. Ini membuka pintu bagi banyak inovasi dan perusahaan startup baru di bidang perangkat lunak jaringan.
- Software-Defined Networking (SDN) adalah arsitektur jaringan revolusioner yang memisahkan control plane (otak) dari data plane (otot), dan memusatkan kecerdasan jaringan pada sebuah SDN Controller.
- Arsitektur SDN terdiri dari tiga lapisan: Aplikasi, Kontrol (Controller), dan Infrastruktur (Switch). Komunikasi antara Controller dan Switch diatur oleh Southbound API seperti protokol OpenFlow.
- Dengan memungkinkan jaringan untuk diprogram melalui perangkat lunak, SDN menawarkan keuntungan berupa manajemen terpusat, inovasi yang lebih cepat, dan fleksibilitas tinggi, yang secara fundamental mengubah cara jaringan dirancang dan dioperasikan.
Additional Information (Optional)
Konsep Terkait: Network Function Virtualization (NFV)
- NFV adalah konsep yang sering berjalan beriringan dengan SDN. Jika SDN memisahkan kontrol dari forwarding, NFV bertujuan untuk mem-virtualisasi fungsi-fungsi jaringan yang sebelumnya berjalan di perangkat keras khusus—seperti firewall, load balancer, atau IDS—agar dapat berjalan sebagai perangkat lunak di server komoditas standar. Kombinasi SDN dan NFV memungkinkan terciptanya jaringan yang sangat dinamis, fleksibel, dan otomatis.
Tantangan SDN
- Meskipun memiliki banyak keuntungan, SDN juga memiliki tantangan. Skalabilitas dan ketahanan (resilience) dari controller menjadi sangat krusial. Jika controller mati, seluruh jaringan di bawahnya bisa “buta” dan berhenti berfungsi. Keamanan juga menjadi perhatian utama, karena controller yang terpusat menjadi target serangan yang sangat bernilai tinggi.
Eksplorasi Mandiri
- Cara terbaik untuk memahami SDN adalah dengan mencobanya. Gunakan simulator jaringan seperti Mininet, yang memungkinkan Anda membuat topologi jaringan virtual lengkap (switch, host, controller) di dalam satu mesin Linux. Anda dapat menjalankan controller OpenFlow sumber terbuka (seperti Ryu atau POX) dan menulis skrip Python sederhana untuk memprogram perilaku switch, misalnya, membuat switch bertindak seperti hub, switch Layer 2, atau bahkan router dasar. Ini memberikan pengalaman langsung merasakan kekuatan pemrograman jaringan.