Rangkaian Terdefinisi Perisian (SDN)
Rangkaian Terdefinisi Perisian (Software-Defined Networking, SDN) ialah satu pendekatan terhadap pengurusan rangkaian yang menggunakan kaedah abstraksi untuk membolehkan konfigurasi rangkaian yang dinamik dan cekap secara pengaturcaraan. Ia digunakan untuk mewujudkan pengelompokan dan segmentasi, di samping meningkatkan prestasi dan pemantauan rangkaian dengan cara yang lebih menyerupai pengkomputeran awan berbanding pengurusan rangkaian tradisional. SDN bertujuan menambah baik seni bina statik rangkaian tradisional dan boleh digunakan untuk memusatkan kecerdasan rangkaian pada satu komponen rangkaian dengan memisahkan proses penerusan paket rangkaian (data plane) daripada proses penghalaan (control plane).
Control plane terdiri daripada satu atau lebih pengawal (controller), yang dianggap sebagai "otak" rangkaian SDN, di mana keseluruhan kecerdasan rangkaian dihimpunkan. Walau bagaimanapun, pemusatan ini mempunyai kelemahan tertentu berkaitan dengan keselamatan, kebolehskalaan dan keanjalan.
Sejak kemunculannya pada tahun 2011, SDN sering dikaitkan dengan protokol OpenFlow, yang digunakan untuk komunikasi jauh dengan elemen network plane bagi menentukan laluan paket melalui suis rangkaian. Namun, sejak tahun 2012, sistem proprietari juga menggunakan istilah ini, termasuk Cisco Systems’ Open Network Environment dan platform pemvirtualan rangkaian Nicira. Sementara itu, SD-WAN pula menerapkan teknologi serupa pada rangkaian kawasan luas (WAN).
Sejarah
Asal-usul prinsip SDN dapat dikesan kepada pemisahan antara control plane dan data plane yang mula digunakan dalam rangkaian telefon suis awam. Pemisahan ini membolehkan penyediaan dan pengurusan dipermudah bertahun-tahun sebelum seni bina ini diterapkan dalam rangkaian data.
Pada tahun 2004, Internet Engineering Task Force (IETF) mula mempertimbangkan pelbagai cara untuk memisahkan fungsi kawalan dan penerusan data dengan cadangan piawaian antara muka yang dinamakan Forwarding and Control Element Separation (ForCES). Kumpulan Kerja ForCES turut mencadangkan seni bina sokongan bernama SoftRouter.
Beberapa piawaian awal lain daripada IETF juga menekankan pemisahan kawalan daripada data plane, antaranya Linux Netlink sebagai protokol perkhidmatan IP, serta seni bina berasaskan Path Computation Element (PCE).
Namun begitu, percubaan awal ini gagal mendapat sambutan. Antara sebabnya ialah kebimbangan komuniti Internet terhadap risiko kegagalan control plane, serta kebimbangan vendor bahawa penciptaan API piawai antara control plane dan data plane akan meningkatkan persaingan.
Penggunaan perisian sumber terbuka dalam seni bina terpisah ini berpunca daripada projek Ethane di Jabatan Sains Komputer Universiti Stanford. Reka bentuk suis ringkas Ethane membawa kepada penciptaan OpenFlow, dengan API pertamanya diperkenalkan pada tahun 2008. Pada tahun yang sama, sistem operasi rangkaian bernama NOX turut diwujudkan.
Kajian SDN turut merangkumi penggunaan emulator seperti vSDNEmul, EstiNet, dan Mininet. Usaha pembangunan OpenFlow diteruskan di Stanford, termasuk pewujudan testbed untuk menilai protokol tersebut dalam rangkaian kampus, serta WAN yang menghubungkan pelbagai kampus.
Di luar akademia, penggunaan awal SDN dimulakan oleh Nicira pada tahun 2010 untuk mengawal OVS melalui Onix, yang dibangunkan bersama dengan NTT dan Google. Antara penggunaan terkenal ialah projek Google B4 pada tahun 2012. Google kemudian mengumumkan penggunaan OpenFlow/Onix dalam pusat datanya. Satu lagi pelaksanaan berskala besar wujud di China Mobile.
Pada tahun 2011, Open Networking Foundation ditubuhkan bagi mempromosikan SDN dan OpenFlow. Pada acara Interop 2014 dan Tech Field Day, SDN dipertontonkan oleh Avaya dengan menggunakan Shortest-Path Bridging (IEEE 802.1aq) serta OpenStack sebagai kampus automatik, yang melanjutkan automasi dari pusat data ke peranti hujung dengan menghapuskan penyediaan manual.
Konsep
Seni bina SDN memisahkan kawalan rangkaian (control plane) daripada fungsi penerusan (data plane), membolehkan kawalan rangkaian diprogramkan secara terus dan infrastruktur asasnya diabstrakkan daripada aplikasi serta perkhidmatan rangkaian. Protokol OpenFlow merupakan salah satu protokol yang digunakan dalam teknologi SDN.
Ciri-ciri seni bina SDN:
Boleh diprogram secara langsung – kawalan rangkaian boleh diprogram terus kerana dipisahkan daripada fungsi penerusan.
Agile – pemisahan kawalan daripada penerusan membolehkan pentadbir melaras aliran trafik rangkaian secara dinamik mengikut keperluan.
Diurus secara berpusat – kecerdasan rangkaian (secara logik) dipusatkan dalam SDN controller berasaskan perisian yang mengekalkan pandangan global rangkaian, kelihatan kepada aplikasi sebagai suis logik tunggal.
Dikonfigurasi secara pengaturcaraan – pengurus rangkaian boleh mengkonfigurasi, mengurus, mengamankan, dan mengoptimumkan sumber rangkaian dengan cepat melalui program automatik SDN yang tidak bergantung pada perisian proprietari.
Berasaskan piawaian terbuka dan neutral vendor – apabila dilaksanakan melalui piawaian terbuka, SDN memudahkan reka bentuk dan operasi rangkaian kerana arahan diberikan oleh pengawal SDN, bukan peranti vendor tertentu.
Komponen Seni Bina SDN
Aplikasi SDN ialah program yang berkomunikasi mengenai keperluan rangkaian serta tingkah laku rangkaian yang dikehendaki kepada pengawal SDN melalui northbound interface (NBI). Selain itu, aplikasi ini juga boleh menggunakan pandangan terabstrak tentang rangkaian bagi tujuan membuat keputusan dalaman. Sesebuah aplikasi SDN terdiri daripada logik aplikasi dan satu atau lebih pemacu NBI. Aplikasi SDN juga boleh mendedahkan satu lagi lapisan kawalan rangkaian terabstrak, sekali gus menawarkan satu atau lebih NBI peringkat tinggi melalui agen NBI masing-masing.
Pengawal SDN (SDN Controller) Pengawal SDN ialah entiti berpusat secara logik yang bertanggungjawab untuk:
Menterjemah keperluan daripada lapisan aplikasi SDN ke datapath SDN, dan
Menyediakan aplikasi SDN dengan pandangan terabstrak rangkaian (termasuk statistik dan peristiwa).
Pengawal SDN terdiri daripada satu atau lebih agen NBI, logik kawalan SDN, dan pemacu Control to Data-Plane Interface (CDPI). Takrifannya sebagai entiti berpusat secara logik tidak mengehadkan mahupun menolak seni bina pelaksanaan lain seperti persekutuan berbilang pengawal, hubungan hierarki antara pengawal, antara muka komunikasi antara pengawal, serta penggunaan virtualisasi atau pemisahan (slicing) sumber rangkaian.
Datapath SDN Datapath SDN ialah peranti rangkaian logik yang memperlihatkan keterlihatan dan kawalan penuh terhadap keupayaan penerusan dan pemprosesan data yang diiklankannya. Perwakilan logik ini boleh merangkumi semua atau sebahagian daripada keupayaan tersebut.
Datapath SDN terdiri daripada agen CDPI dan sekumpulan enjin penerusan trafik serta sifar atau lebih fungsi pemprosesan trafik. Fungsi ini mungkin termasuk penerusan mudah antara antara muka luaran atau pemprosesan trafik dalaman.
Satu atau lebih datapath SDN boleh digabungkan dalam satu elemen rangkaian fizikal—gabungan bersepadu sumber komunikasi yang diurus sebagai satu unit. Datapath juga boleh ditakrifkan merentasi berbilang elemen fizikal. Takrif logik ini tidak menetapkan perincian pelaksanaan, pemetaan logik kepada fizikal, pengurusan sumber fizikal yang dikongsi, penggunaan virtualisasi atau slicing, keserasian dengan rangkaian bukan SDN, mahupun fungsi pemprosesan data (termasuk lapisan OSI 4 hingga 7).
Antara Muka Kawalan kepada Data-Plane SDN (CDPI) CDPI ialah antara muka yang ditakrifkan antara pengawal SDN dan datapath SDN, yang sekurang-kurangnya menyediakan kawalan pengaturcaraan untuk semua operasi penerusan, pengiklanan keupayaan, pelaporan statistik, dan pemberitahuan peristiwa. Nilai penting SDN terletak pada jangkaan bahawa CDPI dilaksanakan secara terbuka, neutral vendor, dan boleh beroperasi antara pelbagai sistem.
Antara Muka Northbound SDN (NBI) NBI ialah antara muka antara aplikasi SDN dan pengawal SDN. Ia lazimnya menyediakan pandangan rangkaian terabstrak serta membolehkan ekspresi langsung tingkah laku dan keperluan rangkaian. Ini boleh berlaku pada sebarang tahap abstraksi dan merangkumi set fungsi yang berbeza.
Control Plane SDN Pelaksanaan control plane SDN boleh mengikuti reka bentuk berpusat, hierarki, atau teragih. Cadangan awal menumpukan pada penyelesaian berpusat, di mana satu entiti kawalan mempunyai pandangan global rangkaian. Walaupun ini memudahkan pelaksanaan logik kawalan, ia menghadapi keterbatasan kebolehskalaan apabila saiz dan dinamik rangkaian meningkat.
Untuk mengatasi halangan ini, pendekatan hierarki dan teragih telah dicadangkan.
Dalam penyelesaian hierarki, pengawal beroperasi dengan pandangan rangkaian yang dibahagikan, manakala keputusan yang memerlukan pandangan menyeluruh dibuat oleh pengawal akar berpusat secara logik.
Dalam pendekatan teragih, pengawal beroperasi berdasarkan pandangan tempatan mereka atau bertukar mesej penyegerakan untuk meningkatkan pengetahuan.
Pendekatan teragih lebih sesuai untuk menyokong aplikasi SDN adaptif. Isu utama dalam mereka bentuk control plane teragih ialah menentukan bilangan dan penempatan entiti kawalan. Faktor penting yang dipertimbangkan termasuk kelewatan propagasi antara pengawal dan peranti rangkaian, kebolehpercayaan laluan kawalan, toleransi kegagalan, serta keperluan aplikasi.
Data Plane SDN Dalam SDN, data plane bertanggungjawab memproses paket data menggunakan set peraturan yang ditentukan oleh control plane. Data plane boleh dilaksanakan dalam suis perkakasan fizikal atau perisian, seperti Open vSwitch.
Pelaksanaan data plane boleh diklasifikasikan sebagai:
SDN berasaskan suis perkakasan – menggunakan peranti fizikal, contohnya suis OpenFlow dengan jadual TCAM.
SDN berasaskan suis perisian – menggunakan perisian pada peranti fizikal atau hipervisor, contohnya Open vSwitch.
SDN berasaskan hos – agen SDN ditempatkan dalam sistem operasi titik akhir komunikasi, yang membolehkan konteks tambahan tentang aplikasi, pengguna, atau aktiviti berkaitan aliran rangkaian.
Kemasukan entri jadual aliran (flow table entries) boleh berlaku dalam tiga mod:
Proaktif – pengawal mengisi semua entri terlebih dahulu, tiada kelewatan tambahan.
Reaktif – entri diisi apabila diperlukan; jika tiada peraturan padanan, agen menghantar permintaan kepada pengawal.
Hibrid – gabungan mod proaktif untuk trafik tertentu dan reaktif untuk selebihnya.
Aplikasi SDN
Rangkaian Mudah Alih Terdefinisi Perisian (Software-Defined Mobile Networking, SDMN) SDMN ialah pendekatan dalam reka bentuk rangkaian mudah alih di mana semua ciri protokol dilaksanakan dalam bentuk perisian. Ia memaksimumkan penggunaan perkakasan dan perisian generik serta komoditi, sama ada di rangkaian teras mahupun rangkaian akses radio. SDMN dicadangkan sebagai peluasan paradigma SDN bagi memasukkan fungsi khusus rangkaian mudah alih. Sejak keluaran 3GPP Rel.14, pemisahan Control Plane dan User Plane telah diperkenalkan dalam seni bina rangkaian teras mudah alih melalui protokol PFCP.
Rangkaian Kawasan Luas Terdefinisi Perisian (Software-Defined Wide Area Network, SD-WAN) SD-WAN ialah rangkaian kawasan luas yang diuruskan menggunakan prinsip SDN. Pendorong utama SD-WAN adalah untuk mengurangkan kos WAN dengan menggunakan talian sewaan yang lebih mampu milik dan mudah diperoleh secara komersial, sebagai alternatif atau pengganti sebahagian talian MPLS yang lebih mahal. Kawalan dan pengurusan dilakukan secara berasingan daripada perkakasan, dengan pengawal berpusat membolehkan konfigurasi dan pentadbiran yang lebih mudah.
Rangkaian Kawasan Setempat Terdefinisi Perisian (Software-Defined Local Area Network, SD-LAN) SD-LAN ialah rangkaian kawasan setempat (LAN) yang dibina berdasarkan prinsip SDN, tetapi mempunyai perbezaan penting dari segi topologi, keselamatan rangkaian, keterlihatan aplikasi dan kawalan, pengurusan serta kualiti perkhidmatan. SD-LAN memisahkan kawalan, pengurusan, dan data plane untuk membolehkan seni bina berasaskan dasar (policy-driven architecture) bagi LAN berwayar dan tanpa wayar. Ciri-ciri SD-LAN termasuk penggunaan sistem pengurusan berasaskan awan serta penyambungan tanpa wayar tanpa kehadiran pengawal fizikal.
Keselamatan dalam Paradigma SDN
Seni bina SDN boleh membolehkan, memudahkan, atau meningkatkan aplikasi keselamatan rangkaian kerana pengawal mempunyai pandangan menyeluruh rangkaian serta keupayaan untuk memprogram semula data plane pada bila-bila masa. Walaupun keselamatan seni bina SDN itu sendiri masih menjadi persoalan yang terus dikaji dalam komuniti penyelidikan, terdapat pelbagai aplikasi keselamatan yang boleh diwujudkan berasaskan SDN, antaranya:
Pengesanan dan Mitigasi Serangan DDoS – dengan mengumpul statistik rangkaian secara berkala daripada data plane dan menggunakan algoritma klasifikasi untuk mengesan anomali. Jika anomali dikesan, aplikasi akan memberi arahan kepada pengawal untuk memprogram semula data plane.
Pertahanan Berasaskan Sasaran Bergerak (Moving Target Defense, MTD) – algoritma ini menyukarkan serangan dengan menyembunyikan atau menukar sifat utama sistem secara berkala, contohnya pengawal boleh menukar alamat IP maya untuk hos tertentu.
Peningkatan keselamatan melalui FlowVisor dan FlowChecker – FlowVisor membolehkan perkongsian hardware forwarding plane untuk beberapa rangkaian logik berasingan (slice), manakala FlowChecker digunakan untuk mengesahkan peraturan OpenFlow baharu yang dihantar oleh pengguna.
Sistem seperti NICE turut dibangunkan untuk memeriksa kesilapan pengaturcaraan sebelum aplikasi SDN digunakan dalam senario berskala besar.
Penyampaian Data Berkumpulan (Group Data Delivery) Menggunakan SDN
Aplikasi teragih yang berjalan merentasi pusat data biasanya mereplikasi data untuk penyegerakan, keanjalan ralat, pengimbangan beban, dan penghantaran data lebih hampir kepada pengguna. Proses menyampaikan data dengan boleh dipercayai daripada satu mesin ke pelbagai mesin dikenali sebagai Reliable Group Data Delivery (RGDD).
Suis SDN boleh digunakan untuk RGDD dengan pemasangan peraturan yang membolehkan penerusan ke berbilang port keluar. Protokol OpenFlow sejak versi 1.1 menyokong Group Tables, yang memudahkan kaedah ini. Dengan SDN, pengawal pusat boleh membina pokok penerusan (forwarding trees) yang cekap sambil mengambil kira status kesesakan rangkaian. Antara pendekatan yang dibangunkan ialah MCTCP (untuk penghantaran dalam pusat data), DCCast, dan QuickCast (untuk replikasi data yang pantas dan cekap merentasi pusat data melalui WAN persendirian).
Hubungan SDN dengan NFV
Virtualisasi Fungsi Rangkaian (Network Function Virtualization, NFV) ialah konsep yang melengkapi SDN. NFV tidak bergantung secara langsung pada SDN atau konsep SDN. NFV memisahkan perisian daripada perkakasan untuk membolehkan pelaksanaan rangkaian yang lebih fleksibel serta operasi dinamik.
Pelaksanaan NFV biasanya menggunakan pelayan komoditi bagi menjalankan perisian perkhidmatan rangkaian yang sebelum ini dilaksanakan melalui perkakasan khusus. Perisian perkhidmatan rangkaian dalam persekitaran NFV dikenali sebagai Fungsi Rangkaian Maya (Virtual Network Function, VNF).
Program hibrid SDN-NFV diwujudkan untuk menyediakan kecekapan tinggi, keanjalan, serta kebolehskalaan NFV, dengan tujuan mempercepatkan inovasi dan penyediaan perkhidmatan menggunakan teknologi virtualisasi IT piawai.
SDN memberi kecekapan dari segi kawalan peranti penerusan generik (seperti penghala dan suis) melalui pengawal SDN.
NFV pula menyediakan kecekapan bagi aplikasi rangkaian dengan menggunakan pelayan terpiawai yang memvirtualkan fungsi perisian.
Adalah mungkin untuk melaksanakan VNF sebagai entiti kendiri menggunakan paradigma rangkaian dan orkestrasi sedia ada. Namun, terdapat manfaat besar apabila konsep SDN digunakan untuk melaksanakan dan mengurus infrastruktur NFV, khususnya dalam aspek pengurusan serta orkestrasi VNF. Atas sebab itu, platform berbilang vendor kini didefinisikan untuk menggabungkan SDN dan NFV dalam ekosistem yang selaras.
Hubungan SDN dengan DPI
Pemeriksaan Paket Mendalam (Deep Packet Inspection, DPI) memberikan kesedaran aplikasi kepada rangkaian, manakala SDN pula memberikan kesedaran rangkaian kepada aplikasi. Walaupun SDN akan mengubah seni bina rangkaian secara radikal, ia masih perlu beroperasi bersama seni bina tradisional untuk mengekalkan tahap kebolehoperasian yang tinggi.
Seni bina baharu berasaskan SDN perlu mengambil kira semua keupayaan yang kini disediakan oleh peranti atau perisian khusus selain peranti penerusan utama (seperti penghala dan suis). Ini termasuklah DPI, peranti keselamatan, serta kelengkapan lain yang menyokong keselamatan rangkaian.
Anggaran Kualiti Pengalaman (Quality of Experience, QoE) Menggunakan SDN
Apabila menggunakan model berasaskan SDN untuk penghantaran trafik multimedia, satu aspek penting yang perlu diberi perhatian ialah anggaran Kualiti Pengalaman (QoE).
Untuk menganggarkan QoE, langkah pertama ialah memastikan sistem dapat mengklasifikasikan trafik dengan tepat. Selepas itu, adalah disarankan agar sistem berupaya menyelesaikan masalah kritikal secara kendiri dengan menganalisis corak trafik yang berlaku.
Pendekatan ini membolehkan rangkaian:
Memberi keutamaan kepada trafik multimedia yang sensitif terhadap kelewatan (seperti video penstriman dan panggilan suara melalui IP).
Menyesuaikan laluan penghantaran atau peraturan pengurusan trafik berdasarkan prestasi sebenar yang dialami pengguna.
Menyokong penyampaian perkhidmatan dengan tahap pengalaman pengguna yang konsisten, meskipun dalam keadaan beban rangkaian yang berubah-ubah.
Dengan cara ini, SDN bukan sahaja meningkatkan kecekapan teknikal rangkaian, tetapi juga menyumbang kepada peningkatan pengalaman pengguna akhir.