SDN (Software Define Networking)



အခုသွားမယ့်အကြောင်းအရာကတော့ လက်ရှိမှာ အနောက်နိုင်ငံတွေမှာ တင်သာမက အာရှတိုက်ကတချို့ companyကြီးတွေတော်တော်များများသုံးလာကြတဲ့ Software Defined Networking (SDN)ရဲ့ အလုပ်လုပ်ပုံတွေအကြောင်း တင်ပေးချင်ပါတယ်။ ကျနော်လည်းဒီရက်ပိုင်းမအားတာရယ်ကြောင့် post မတင်ဖြစ်တာပါ ပီးခဲ့တဲ့အပတ်တုန်းကတင်ခဲ့တဲ့ network automation အကြောင်းကလည်း basic ပဲရှိပါသေးတယ် နောက်အပတ်တေမှာ network automation ရဲ့ basic concepts တေနဲ့ configuration basic လေးတေအကြောင်းထပ်တင်ပေးဖို့ရှိပါသေးတယ်ခင်ဗျာ။ အခုကျနော်တို့ SDNအကြောင်းလေး စလိုက်ရအောင် လားဗျာ။SDNဆိုတာက‌တော့ ကျနော်တို့ အခုလက်ရှိ Data Center တွေ enterprise level
organizations တွေမှာအသုံးပြုနေတဲ့ networking technology တခုဖြစ်ပါတယ်။ ကျနော်တို့သိတဲ့အတိုင်းပဲ data centerလိုနေရာမျိုးမှာ network devices တွေအနည်းဆုံး ရာကျော်ထောင်ကျော်လောက်ရှိမယ့်အပြင်ကို serverတွေကလည်း RAT Type တွေဖြစ်တဲ့အတွက် အသုံးပြုရမယ့် network devices တွေ configurations တွေကလည်းနည်းမှာမဟုတ်ပါဘူးအဓိက ကျနော်တို့အသုံးပြုနေတဲ့ legacy networking နဲ့ ကွာြခားချက်ကတော့ legacy network တွေမှာ
ဥပမာအားဖြင့် cisco switches တွေဆိုရင် switch တခု၀ယ်မယ်ဆို သူ့ရဲ့ cisco IOS ကိုပါတခါတည်း ၀ယ်ရတယ်လေ အာ့မှ ကျနော်တို့ configuration လုပ်တဲ့ အခါ console နဲ့ဖြစ်စေ SSHနဲ့ဖြစ်စေ၀င်လို့ရမာပေါ့နော်။ အလားတူပဲ Mikrotik ကလည်း သူ့ရဲ့ router board တစ်လုံး ၀◌ယ်မယ်ဆိုရင်လည်းကျနော်တို့က Licence level ကို ကျနော်တို့ အသုံးပြုမယ့် နေရာကိုလိုက်ပီးတော့
ရွေးချယ်ရမယ်ပေါ့‌နော်။ SDN မှာ ကျတော့ ဘာကွာသွားသလဲဆိုတော့ ကျနော်တို့ network devices တေမှာ အရင်လိုမျိုး OS နဲ့ herdwareနဲ့တွဲမနေတော့ပဲ အကုန်လုံးသတ်သတ်စီဖြစ်သွားပါတယ်။ network devices တွေကလည်းသူ့တို့လာကတည်းက hardware သီးသန့်နဲ့ လာမာဖြစ်သလို ဒီnetwork devices တွေကိုအသုံးပြုမယ့် SDN controllerတွေလည်းသူ့တို့ vendor နဲ့သူတို့ သီးသန့် OS အဖြစ်နဲ့လာမှာ
ဖြစ်ပါတယ်။ ဒီလိုမျိုး SDN switching မှာဆိုရင်ကျနော်တို့က open source fabric switchတွေကိုအသုံးပြူရပါတယ် ။ဥပမာ cisco ရဲ့ nexus switchesတွေပေါ့၊ဒီ switch တွေကျတော့ hardware သီးသန့်ပဲလာပီး သူ့ရဲ့ hardware chipsets တွေမှာ SDN controller နဲ့
userတွေကအသုံးပြုနိုင်မယ့် API ပါလာပါတယ်။ ဒီနေရာမှာအဓိကပြောချင်တာကတော့ SDN networks တွေမှာ network ထဲမှာ ရှိတဲ့ network devices တွေကိုအသုံးပြုမယ်ဆိုရင်SDN Controller နဲ့ configuration လုပ်ရပါတယ် ဒီ controller တွေကလည်း vendor အမျိုးမျိုးက ထုတ်လုပ်ထားတာဖြစ်ပီး
ဥပမာဆိုရင် cisco ACIတို့ (ACL မဟုတ်ဘူးနော်)၊ ပီးတော့အခုလူသုံးများတဲ့ Big Cloud Fabric (BCF)တို့ဖြစ်ကြတယ်ပေါ့နော်။ ဒီ SDN Controller OS တွေကိုကျနော်တို့ server မှာ ဖြစ်စေ Hypervisor (for example VMWare, Virtual Box) တို့မှာဖြစ်စေ တင်ပီးnetwork devise တွေကို လိုသလိုconfigure လုပ်ပီး ထိန်းချုပ်နိုင်ပါပြီ။ SDN controller မှာဆိုကျနော်တို့ network devices
တွေကိုconfigure လုပ်လို့ရမယ့်အပြင်ကို ကျနော်တို့ LAN ရဲ့ Data Traffic တွေကအစ နောက်ဆုံး LAN တခုလုံးက network topology ကိုပါမြင်ရမှာဖြစ်ပီး အကယ်၍ပြသနာတစုံတရာပေါ်ပေါက်ခဲ့ပါက ဘယ်network device ကဖြစ်နေလဲ ဘယ်နေရာက ဘယ်link down နေတာလဲဆိုတာ topology နဲ့တကွမြင်ရမှာဖြစ်ပါတယ်။SDN networking တွေမှာအသုံးပြုတဲ့ topologyဟာ ကျနော်တို့ legacy networksတွေနဲ့ မတူပဲ Data center တွေဘက်ကိုအသားပေးထားတဲ့ spine-leaf topology ကိုအသုံးပြုထားတာဖြစ်ပါတယ်။ Spine-Leaf topology က သူ့မှာက Spine switch ဆိုပီးရှိမယ်၊ leaf switch ဆိုပီးရှိမယ်။ အရင်ကျနော်တို့ legacy networking မှာဆိုရင် Data Center တွေမှာ ဆိုရင် အားလုံး
စုစုပေါင်း layer 3 ခုရှိမယ်ပေါ့၊ Core layer, Distribution layer and Access Layerရယ်ပေါ့ဗျာ။ကျနော်တို့ SDN မှာဆိုရင် spine-leaf system topologyလို့ပြောရမယ်ပေါ့ဗျာ user တွေက SDNအတွက် automation tools တွေ၊ bandwidth tools တွေအစရှိတဲ့ SDN network အတွက်လိုအပ်တဲ့
toolsတွေသုံးမယ့် application layerရှိမယ်၊ SDN Controller pluginတွေအသုံးပြုမယ့် control layerရှိမယ် ဒါကတော့ userကနေတဆင့်SDN Controller OS ထဲ၀င်ပီးအလုပ်လုပ်တဲ့ layerပေါ့ဗျာ၊ နောက်ဆုံးတခုကတော့ SDN Network devicesတွေ for example open source fabric switchesတွေ Serverတွေရှိမယ့် infrastructure layerရှိမယ်ပေါ့ဗျာ။(ပုံလေးကျိလိုက်ရင်ပိုရှင်းသွားမှာပါ) SDN ရဲ့ အဓိကက switching ဘက်ကိုအသားပေးထားတဲ့အတွက် network ထဲမှာ ရှိရှိသမျှ leaf switchesတွေက SDN Topologyအရ spine switch တွေကိုချိတ်ဆက်ပေးရပါတယ်၊ ပီးတော့မှ spine switchesတွေက core router ကိုချိတ်ဆက်တယ်ပေါ့နော် end devicesတွေဖြစ်တဲ့ servers တွေ computersတွေက leaf switchesတွေကိုချိတ်ဆက်ရတယ်၊ အာ့ဒီ့အခါမှာ ဘာကအားသာသွားလဲဆိုတော့ latency တွေ delay တွေကိုလျှော့ချပစ်နိုင်တယ်၊ပီးတော့ cost တွေကိုလည်းလျှော့ချပစ်နိုင်တယ်၊တနည်းအားဖြင့် spanning-tree တောင်သုံးဖို့မလိုအပ်တော့ပါဘူး ပီးတော့ redundancyအတွက်လည်းမပူရတော့ဘူး
ဘာ့ကြောင့်လည်းဆိုတော့ (ကျနော်ပြောတာမရှင်းရင်ပုံကိုသေချာကျိပါ) ရှိသမျှ leaf switches တေက spine switches တွေကိုချိတ်ဆက်ထားတယ် (ဥပမာ spine switch 2လုံးရှိရင်2လုံးပေါ့) အာ့တော့ spine switches တွေများလေ redundancy အတွက်ပိုသေချာလေပေါ့ဗျာ။ (အမှားပါရင်ခွင့်လွှတ်ပေးကြပါ)
နောက်တခုကတော့ trafficတွေအကြောင်း၊ ကျနော်တို့ SDN မှာ user ဆီကနေ SDN controller ဆီသွားတဲ့ traffic ရှိမယ်၊ SDN Controller ဆီမှတဆင့် switches တွေဆီသွားမယ့် traffic flow တွေရှိမယ်ပေါ့နော်၊ကျနော်တို့ logical topology အရကျိမယ်ဆိုရင် SDN မှာ စောစောက
traffic တွေအရ userနဲ့ SDN Network devicesတွေကိုချိတ်ဆက်ပေးမယ့် API (Application Programmable Interface) ၂ခုရှိပါတယ်၊ ကျနော်တို့ userတွေက script တွေ commandတွေကိုသုံးပီး SDN controllerကတဆင့် open source fabric switchesတွေကိုခိုင်းလို့ရမှာပါ၊ API 2 ခုကတော့
northbound interface API နဲ့ southbound interface API တို့ပါ၊ user တွေကSDN Controller ကိုအသုံးပြုပီးခိုင်းဖို့အတွက် northbound interface APIs တွေကအလုပ်လုပ်ပီး၊ SDN Controllerမှတဆင့် user ရဲ့ scripts တွေ commandsတွေကို network devices တွေကနားလည်ပေးဖို့ southbound interface APIsတွေကိုအသုံးပြုရတယ်ပေါ့ဗျာ၊ လူသုံးများတဲ့ Southbound interface 2မျိုးကတော့ Open DayLight နဲ့ OpenFlowတို့ဖြစ်ကြပါတယ်။ ဒီလိုဆိုရင်တော့ SDN အကြောင်းကိုတော့ basically နားလည်မယ်လို့ထင်ပါတယ်။ ကျေးဇူးတင်ပါတယ်ခင်ဗျ။
12.2.2020 (8:00 PM)
NIT – Networking and information technology

Comments

Popular posts from this blog

Migrating Java Project from local to cloud using Heroku

Hypervisor vs Container