GNU/Linux >> Belajar Linux >  >> Linux

Software Defined Networking (SDN) - Arsitektur dan peran OpenFlow

Dalam artikel kami sebelumnya, kami memiliki ikhtisar yang baik tentang SDN sebagai teknologi, mengapa dibutuhkan, dan bagaimana industri TI mengadopsinya. Sekarang, mari kita pelajari lebih dalam, dan pahami arsitektur SDN dan peran protokol Openflow dalam implementasi teknologi.

SDN secara luas terdiri dari tiga lapisan:

  1. Lapisan aplikasi
  2. Lapisan kontrol
  3. Lapisan infrastruktur

Mari kita coba dan pahami lapisan-lapisan ini dengan pendekatan dari bawah ke atas.

Lapisan infrastruktur terdiri dari berbagai peralatan jaringan yang membentuk jaringan dasar untuk meneruskan lalu lintas jaringan. Ini bisa berupa kumpulan sakelar dan router jaringan di pusat data. Lapisan ini akan menjadi lapisan fisik di mana virtualisasi jaringan akan diletakkan melalui lapisan kontrol (di mana pengontrol SDN akan duduk dan mengelola jaringan fisik yang mendasarinya).

Lapisan kontrol adalah tanah bidang kontrol tempat logika cerdas di pengontrol SDN akan berada untuk mengontrol infrastruktur jaringan. Ini adalah area di mana setiap vendor jaringan bekerja untuk menghasilkan produk mereka sendiri untuk pengontrol dan kerangka kerja SDN. Di lapisan ini, banyak logika bisnis sedang ditulis di pengontrol untuk mengambil dan memelihara berbagai jenis informasi jaringan, detail status, detail topologi, detail statistik, dan banyak lagi.

Karena pengontrol SDN adalah untuk mengelola jaringan, sehingga harus memiliki logika kontrol untuk kasus penggunaan jaringan dunia nyata seperti switching, perutean, L2 VPN, L3 VPN, aturan keamanan firewall, DNS, DHCP, dan pengelompokan. Beberapa vendor jaringan dan bahkan komunitas open source sedang mengerjakan implementasi kasus penggunaan ini di pengontrol SDN mereka. Setelah diimplementasikan, layanan ini mengekspos API mereka (biasanya berbasis REST) ​​ke lapisan atas (lapisan Aplikasi), sesuatu yang memudahkan administrator jaringan yang kemudian menggunakan aplikasi di atas pengontrol SDN untuk mengonfigurasi, mengelola, dan memantau jaringan yang mendasarinya. Lapisan kontrol terletak di tengah dan memperlihatkan dua jenis antarmuka – Arah Utara dan Arah Selatan.

  • Antarmuka utara :dimaksudkan untuk komunikasi dengan lapisan atas, Aplikasi dan secara umum akan direalisasikan melalui REST API dari pengontrol SDN. S antarmuka keluar :dimaksudkan untuk komunikasi dengan lapisan Infrastruktur elemen jaringan yang lebih rendah dan secara umum akan direalisasikan melalui protokol selatan – Openflow, Netconf, Ovsdb, dll.

Lapisan aplikasi  adalah area terbuka untuk mengembangkan aplikasi inovatif sebanyak mungkin dengan memanfaatkan semua informasi jaringan tentang topologi jaringan, status jaringan, statistik jaringan, dll. Ada beberapa jenis aplikasi yang dapat dikembangkan seperti yang terkait dengan otomatisasi jaringan, konfigurasi jaringan, dan manajemen, pemantauan jaringan, pemecahan masalah jaringan, kebijakan dan keamanan jaringan. Aplikasi SDN tersebut dapat menyediakan berbagai solusi ujung ke ujung untuk perusahaan dunia nyata dan jaringan pusat data. Vendor jaringan datang dengan set aplikasi SDN mereka. Misalnya, Brocade memiliki aplikasi yang sangat berguna berikut ini:

  • Pengoptimal Aliran Brokat
  • Router virtual Brokat
  • Penasihat Jaringan Brokat

HPE juga merupakan salah satu vendor yang memiliki SDN App store yang berisi banyak aplikasi SDN dari berbagai perusahaan juga. Misalnya:

  • Pengoptimal Jaringan HPE
  • Pelindung Jaringan HPE
  • visualisator Jaringan HPE
  • NEC UNC untuk HP SDN VAN Controller
  • Penyeimbang beban SDN Aricent
  • Kemudi aliran cerdas TechM
  • Penyeimbang beban server TechM

Seperti yang kita bahas secara singkat Openflow di artikel sebelumnya, sekarang kita akan membahas detail komunikasi menuju selatan dari lapisan kontrol ke lapisan infrastruktur (saklar jaringan) melalui protokol Openflow.

Openflow telah berperan penting dalam revolusi SDN dalam arti bahwa itu adalah kunci untuk menunjukkan pemisahan bidang kontrol dari bidang data. Openflow adalah spesifikasi standar yang disediakan oleh Open Networking Foundation (ONF), dan terus berkembang seiring waktu dengan dukungan untuk berbagai persyaratan jaringan dunia saat ini. Versi protokol Openflow saat ini adalah 1.5.1.

Openflow adalah protokol yang memberikan spesifikasi standar untuk komunikasi antara pengontrol SDN dan peralatan jaringan (biasanya sakelar). Ini memungkinkan keputusan perutean diambil oleh pengontrol SDN dan membiarkan aturan penerusan, aturan keamanan didorong pada sakelar di jaringan yang mendasarinya.

Pengontrol dan sakelar SDN perlu menerapkan spesifikasi Openflow agar dapat memahami bahasa umum pesan Openflow. Untuk mengontrol sakelar jaringan, pengontrol SDN akan memasukkan aturan ke sakelar sehingga mereka dapat mengambil keputusan saat lalu lintas jaringan mengenainya. Sakelar perlu mempertahankan aturan tersebut di tabel Openflow. Sesuai dengan Openflow, aturan tersebut disebut 'alur' dan disimpan di 'tabel alur'.

Secara umum, arus membawa tiga jenis informasi:

  1. Bidang pencocokan:bidang tersebut akan menentukan kriteria untuk mencocokkan paket berdasarkan bidang headernya – L2 (alamat ethernet tujuan sumber, ID VLAN, prioritas VLAN, dll.), L3 (IPv4/ Alamat tujuan sumber IPv6, jenis protokol, DSCP, dll.), kolom L4 (port tujuan sumber TCP/UDP/SCTP), kolom ARP, kolom ICMP, kolom MPLS, dll.
  2. Tindakan:mereka akan menentukan apa yang harus dilakukan dengan sebuah paket jika cocok dengan kriteria. Tindakannya seperti drop, forward pada beberapa port switch, modifikasi paket (push/pop VLAN ID, push/pop label MPLS, kenaikan/penurunan IP TTL), teruskan ke antrean port tertentu, dll.
  3. Penghitung:untuk melacak berapa banyak paket yang cocok dengan alirannya

Untuk lebih spesifik, alur berisi beberapa informasi lebih lanjut yang dapat diperiksa lebih lanjut di spesifikasi Openflow.

Saluran atau koneksi aliran terbuka adalah penyiapan antara sakelar dan pengontrol sehingga pengontrol dapat berkomunikasi dengan sakelar untuk mengonfigurasi, mengelola, dan memantaunya. Sesuai spesifikasi Openflow, Openflow berjalan pada koneksi TCP atau TLS dan pengontrol mendengarkan koneksi pada port 6653. Sakelar diharapkan untuk memulai koneksi dan harus mengirim permintaan koneksi ke pengontrol.

Secara opsional, koneksi dapat dimulai dari sisi pengontrol juga, dan untuk kasus ini, sakelar akan berada dalam mode pasif untuk mendengarkan koneksi. Baik dari sisi mana pun, itu akan menjadi penyiapan koneksi TCP atau TLS normal, setelah dibuat, pesan Openflow dipertukarkan melalui koneksi TCP atau TLS. Misalnya, di bawah ini adalah perintah dari open source Openflow virtual switch (OpenVswitch) untuk memulai koneksi TCP dengan pengontrol:

ovs-vsctl set-controller <sampleBridgeName> tcp:192.168.56.101:6653

Di sini, 192.168.56.101 adalah IP pengontrol dan 6653 adalah port pengontrol yang akan mendengarkan koneksi.

Openflow menentukan berbagai pesan untuk mengaktifkan komunikasi antara sakelar dan pengontrol, termasuk pesan penyiapan koneksi, pesan konfigurasi, dapatkan pesan statistik sakelar, pesan keep-alive, pesan peristiwa asinkron, pesan kesalahan, pesan eksperimen, dan banyak lagi.

Mari kita pahami secara singkat tentang pesan Openflow:

  • Setelah koneksi TCP dibuat, pesan Openflow HELLO dipertukarkan antara kedua entitas untuk menegosiasikan versi Openflow yang akan digunakan untuk komunikasi lebih lanjut. Hal ini diperlukan karena mungkin saja sakelar dan pengontrol berjalan pada versi Openflow yang berbeda. Keduanya akan menyetujui versi tertinggi yang didukung.
  • Setelah negosiasi versi selesai, pengontrol pertama-tama mengirim pesan permintaan Fitur Openflow untuk mendapatkan ID jalur data pesan alihkan dalam tanggapan dan untuk menentukan fitur apa yang didukung sakelar.
  • Untuk mengonfigurasi tombol untuk menangani traffic jaringan, pesan Openflow seperti entri aliran dapat dikirim dari pengontrol. Ini dipertahankan dalam tabel aliran di dalam sakelar.
  • Untuk mengelompokkan entri alur, grup dapat dikonfigurasi oleh pengontrol melalui pesan grup yang dapat disimpan ke dalam tabel grup di dalam sakelar.
  • Untuk mendapatkan detail statistik dari sakelar, pesan Openflow seperti statistik aliran, statistik port, statistik antrian, statistik grup, statistik tabel, dll. dapat dikirim dari pengontrol.
  • Untuk memeriksa keaktifan koneksi, pesan echo request dan reply Openflow dapat dikirim dari controller atau switch.
  • Pesan Openflow asinkron seperti penghapusan aturan alur dari sakelar, kesalahan penerapan konfigurasi gagal dari sakelar, status port naik/turun dari sakelar, dll. dapat dikirim dari sakelar ke pengontrol pembaruan.

Hingga saat ini, kami telah mempelajari arsitektur SDN, lapisannya, dan perannya sebagai Openflow untuk mewujudkan prinsip inti SDN untuk memisahkan bidang kontrol dari bidang data. Sekarang kita perlu melihat bagaimana pengontrol dapat menggunakan Openflow untuk mengonfigurasi dan mengelola jaringan yang mendasarinya.

Pada dasarnya, pengontrol perlu menerapkan beberapa kode plugin Openflow yang dapat digunakan untuk mengirim, menerima, dan memahami pesan Openflow ke dan dari sakelar Openflow di jaringan yang mendasarinya.

Untuk mengonfigurasi tombol Openflow, pengontrol perlu memasukkan aturan alur ke dalam tabel Openflow saklar berdasarkan yang terakhir dapat menangani lalu lintas jaringan yang mengenainya. Pesan aliran terbuka untuk entri aliran memiliki kumpulan bidang tuple yang besar untuk kriteria yang cocok (bidang L2, L3, L4, dll.) paket yang berasal dari jaringan, yang semuanya akan membantu dalam mengonfigurasi aturan ACL, aturan kebijakan keamanan, aturan bandwidth yang membatasi laju QoS, aturan perutean, aturan pencerminan port, dan aturan modifikasi paket.

Untuk memantau sakelar Openflow, Openflow menyediakan berbagai pesan permintaan dan tanggapan untuk mengambil sakelar dan informasi statistik jaringan dan pesan peristiwa untuk memperbarui pengontrol tentang perubahan manual atau kegagalan yang terjadi di sisi sakelar, termasuk peristiwa aliran yang dihapus, perubahan status port ATAS/BAWAH, dan banyak lagi.

Untuk melakukan beberapa tugas khusus vendor pada sakelar Openflow, Openflow menyediakan pesan eksperimental di mana vendor memiliki kebebasan untuk menentukan isi pesan dan bertukar informasi khusus antara pengontrol dan sakelar. Begitulah cara Openflow digunakan oleh banyak aplikasi SDN untuk memberikan solusi kontrol dan pengelolaan jaringan yang mudah.

This article is co-authored by Tarun Thakur.

Referensi:

  • https://www.sdxcentral.com/sdn/definitions/inside-sdn-architecture/
  • https://www.opennetworking.org/images/stories/downloads/sdn-resources/technical-reports/TR_SDN_ARCH_1.0_06062014.pdf
  • http://noviflow.com/the-basics-of-sdn-and-the-openflow-network-architecture/

Linux
  1. Instal Dan Hapus Perangkat Lunak Di Manjaro

  2. Perangkat Lunak Untuk Menavigasi Diagram Jaringan?

  3. Memecahkan masalah jaringan Windows Server

  1. MIXXX – Perangkat Lunak DJ yang Cantik, Gratis, dan Open Source

  2. Warpinator – Mengirim dan Menerima File Melalui Jaringan

  3. Cara:MTR – Memahami dan Mengatasi Masalah Konektivitas Jaringan

  1. Jaringan Kubernetes, Kereta OpenStack, dan tren industri lainnya

  2. Dapatkan lembar contekan jaringan Linux kami

  3. Perbedaan Antara Perangkat Keras dan Perangkat Lunak Firewall