Tue Jan 07 2025 • 2 mins read
DNS ဘယ်လိုအလုပ်လုပ်သလဲ
ကျနော်တို့တွေဟာ အင်တာနက်ပေါ်ကနေ ဝက်ဆိုက်တွေကို ဝင်ရောက်ဖတ်ရှုတဲ့အခါ Domain Name တွေကတဆင့် သွားရောက်ကြပါတယ်။ ဥပမာ၊ google.com, nytimes.com စသည်ဖြင့်ပေါ့။ သို့ပေမယ့် အင်တာနက်ပေါ်က ရှိရှိသမျှ Device အားလုံးဟာ IP Address တွေနဲ့ ချိတ်ဆက်အလုပ်လုပ်ကြရပါတယ်။ ဆိုတော့ ကျနော်တို့ရှာဖွေလိုက်တဲ့ ဝက်ဆိုက်တွေရဲ့ Domain Name တွေကို IP Address တွေအဖြစ်ပြောင်းလဲပေးဖို့ရာ DNS Server တွေလိုအပ်လာပါတယ်။ DNS (Domain Name System) ဆိုတာ အင်တာနက်ပေါ်က IP Address တွေနဲ့ Domain Name တွေကို တွဲဖက် မှတ်သားပေးထားတဲ့ စနစ်တစ်ခုပါ။ အင်တာနက်ရဲ့ Contact Book ကြီးတစ်ခုလို့ လွယ်လွယ်မှတ်လို့ရပါတယ်။
Browser တွေက Domain Address တွေကို IP Address အဖြစ် ဘယ်လိုပြောင်းလဲပေးသလဲ။
Domain Name တွေကို ယေဘုယျအားဖြင့် နှစ်ပိုင်းခွဲခြားနိုင်ပါတယ်။ TLD (Top-level domain) နဲ့ SLD (Second-level domain) ပါ။ SLD ကို Root Domain, Base Domain လို့လည်း ခေါ်ကြပါတယ်။ ဥပမာ၊ example.com ဆိုတဲ့ နမူနာ Domain မှာ .com ဟာ Top Level Domain (TLD) ဖြစ်ပြီး example ဟာ Second Level Domain (SLD) ဖြစ်ပါတယ်။
Browser တွေဟာ ဝက်ဆိုက်တခုကို ပြသပေးနိုင်ဖို့အတွက် သက်ဆိုင်ရာ Domain Name ကို IP Address အဖြစ် ပြောင်းလဲပေးဖို့လိုအပ်ပါတယ်။ အဲသလို ပြောင်းလဲပေးနိုင်ဖို့အတွက် DNS Server တွေကို အဆင့်ဆင့်လှမ်းပြီး ဆက်သွယ်ရပါတယ်။ အတိအကျပြောရရင် Resolver Server, Root Server, TLD Server, အဲဒီကတဆင့် Authoritative Name Server စသည်ဖြင့် အဆင့်ဆင့် ဆက်သွယ်ရတာပါ။
ပုံမှန်အားဖြင့် Browser တွေဟာ Website တွေရဲ့ Address တွေကို Cache အနေနဲ့ မှတ်သားထားလေ့ရှိပါတယ်။ အကယ်၍ သိမ်းဆည်းထားတဲ့ Address ရှိမနေခဲ့ဘူးဆိုရင် ပထမဆုံးအနေနဲ့ Resolver Server ကိုလှမ်းပြီး ဆက်သွယ်ရပါတယ်။ Resolver Server ဆိုတာ ပုံမှန်အားဖြင့် ကျနော်တို့ ISP တွေရဲ့ DNS Server တွေဖြစ်ပါတယ်။ အကယ်၍ Resolver Server အနေနဲ့လည်း သက်ဆိုင်ရာ ဝက်ဆိုက်ရဲ့ IP Address ကို မသိနေတဲ့အခါ Root Server ဆီကို ထပ်မံ ဆယ်သွယ်ရပါတယ်။
Root Server တွေဟာ ကမ္ဘာအနှံဖြန့်ကျဲ တည်ရှိနေပြီး အနည်းငယ်သောအဖွဲ့အစည်းတွေကသာ စီမံခန့်ခွဲနေတာဖြစ်ပါတယ်။ Root Server တွေဟာ IP Address တွေကို သိမ်းဆည်းထားတာမျိုးမဟုတ်ဘဲ Top Level Domain (TLD) Server တွေကိုသာ သိမ်းဆည်းထားတာဖြစ်ပါတယ်။ ဥပမာ အားဖြင့် wikipedia.org အတွက် DNS Lookup လုပ်မယ်ဆိုပါတော့ Root Server တွေဟာ Resolver ကို .org နဲ့ပတ်သတ်သမျှ TLD Server တွေကိုသာ ပြောပြပေးမှာပဲဖြစ်ပါတယ်။
TLD Server တွေဆိုတာ .com, .gov, .org စသဖြင့် သီးခြား Top Level Domain တစ်ခုချင်းစီအလိုက်ရှိကြပါတယ်။ ဥပမာ၊ .com TLD Server တခုမှာဆိုရင် .com နဲ့ သတ်ဆိုင်သမျှ အချက်အလက်အားလုံးကို သိမ်းဆည်းထားတာမျိုးပါ။ TLD Server တွေဟာ Resolver ကို သက်ဆိုင်ရာ Domain Name ရဲ့ Authoritative Server ဆီကို ညွှန်ပြပေးမှာပဲဖြစ်ပါတယ်။
Authoritative Name Server တွေကတော့ Domain Name တွေနဲ့ သက်ဆိုင်တဲ့ IP Address တွေ၊ DNS Record တွေကို အမှန်တကယ် သိမ်းဆည်းပေးထားတဲ့ Server တွေဖြစ်ပါတယ်။ Domain Name တခုချင်းစီအတွက် သက်ဆိုင်ရာ အချက်အလက်တွေကို သိမ်းဆည်းထားတာမျိုးပါ။ Authoritative Server တွေဟာ Resolver ရှာဖွေနေတဲ့ Domain Name ရဲ့ IP Address ကို ပြန်ပေးနိုင်မှာပဲဖြစ်ပါတယ်။
အကျဉ်းချုပ်ပြန်ပြောရရင် ပထမဆုံးအနေနဲ့ Browser တွေဟာ Website တခုရဲ့ IP Address ကို မသိခဲ့ရင် DNS Resolver Server ကို လှမ်းမေးရပါတယ်။ Resolver Sever ဖက်ကလည်း အဆိုပါ IP Address ကို မသိခဲ့ရင် Root Server ဆီကို ထပ်မေးရပါတယ်။ Root Server က TLD Server ကို ညွန်းပေးပါတယ်။ TLD Server ကမှတဆင့် Authoritative Name Server ဆီကိုရောက်ပါတယ်။ Authoritative Name Server ကနေမှ ကျနော်တို့လိုချင်တဲ့ IP Address ကို ပြန်ပေးပါတယ်။ အဲဒီနောက်မှာတော့ အဆိုပါ IP Address ကို Resolver က Client ဆီကိုပြန်လည် ပေးပို့ပေးတာပဲဖြစ်ပါတယ်။
#CodeWithThura