Router တစ်လုံး ဘယ်လို အလုပ်လုပ်? Part-1


ကျွန်တော် ကျန်းမာရေးမကောင်းတာနဲ့ အာမချောင်ရတာ တော်တော်ကြာသွားပါတယ်။ ဒီကြားထဲမှာလဲ Cloud Computing ပိုင်းကိုခဏ မေ့ထားရပြီး နဂိုမူလ ဘူတ ဖြစ်တဲ့ Networking ပိုင်းကို ပြန်လုပ်နေရတာနဲ့ ကျွန်တော် Network ထဲက တစ်ချို့ကို ရေးပြချင်စိတ် ဖြစ်လာပါတယ်။
ဒီနေ့တော့ ကျွန်တော်က Network ဆိုတာနဲ့ မပါမဖြစ်ဖြစ်တဲ့ Router တစ်လုံး ဘာတွေ အလုပ်လုပ်ရလဲဆိုတာကို ပြောပြပေးသွားမှာပါ။ အကယ်လို့ ကျွန်တော် ပြောပြတဲ့ ထဲမှာ အမှားတစုံတရာ ပါဝင်ခဲ့ပါက ကျွန်တော့် အပြစ် ကျွန်တော့် အမှားသာဖြစ်ပါတယ်။ ကျွန်တော့် ဆရာများ Senior များရဲ့ အမှားအပြစ် မဟုတ်တာကို ပြောပြလိုပါတယ်။
What is a Router?
Router ဆိုတာကတော့ Different Network တွေကို ချိတ်ဆက်ပေးတဲ့ Networking Device တွေလို့ များသောအားဖြင့် သိထားကြပါတယ်။ ကျွန်တော်တို့ Network သမားတွေက Network တစ်ခုကို Broadcast Domain တစ်ခုလို့ သတ်မှတ်ထားပါတယ်။ Router တွေ အကြောက်ဆုံး Traffic ကလဲ Broadcast Traffic ပါပဲ။ Broadcast Traffic က တစ်ခါတစ်လေမှာ Network ကို ပြသနာ ပေးတတ်တဲ့ Traffic ပါပဲ။ ဆိုတော့ ပြောရရင် Router က Broadcast Domain တွေကို ခြားနားပေးတယ်ပေါ့ဗျာ သူ့ကြောင့် ကွဲသွားတဲ့ Broadcast Domain တစ်နည်း အားဖြင့် Different Network တွေကို သူကိုယ်တိုင်ပဲ ပြန်ပြီး ဆက်သွယ်ပေးဖို့လဲ တာဝန်ရှိတယ်လို့ မှတ်လို့ရပါတယ်။
တစ်ကယ်တော့ Router သုံးမှ Different Network ကို ချိတ်ဆက်ပေးနိုင်မှာ မဟုတ်ပါဘူး။ Layer 3 Device တွေ ကို သုံးပြီး Different Network တွေကို ချိတ်ဆက်ပေးနိုင်ပါတယ်။ ပြောရရင် Layer 3 Switches, Firewall စတဲ့ Layer 3 ကို Support ပေးတဲ့ Device တွေပေါ့။
Main Tasks of Router
Router တစ်လုံးကို Basically အားဖြင့် Power စပြီးဖွင့်တဲ့ အချိန်ကနေ Power ပိတ်သွားတဲ့ အချိန်အထိ လုပ်ရတဲ့ အဓိက လုပ်ရတာ 2 ခုရှိပါတယ်။
Path Selection
Packet Forwarding
Unicast
Multicast
Anycast (Poor Load Balancer လို့လဲ သိကြပါတယ်)
Broadcast
စောနက ပြောတဲ့ အထဲမှာ Router တွေက Broadcast Traffic ကို ခြားနား ပေးတယ် လို့ပြောထားခဲ့ပါတယ်။ ဒါက General သဘောတရားပါ။ တစ်ခါတစ်လေမှာ ကျွန်တော်တို့က DHCP လို Service မျိုးအတွက် ip helper-address
command သုံးထားတာမျိုး အခြေနေတွေမှာဆိုရင်တော့ Broadcast Traffic ကို Unicast အသွင်ပြောင်းပြီးတော့ သယ်ပါတယ်။ တစ်ခါတစ်လေကျရင်လဲ လုပ်ငန်း လိုအပ်ချက် အရ Broadcast Traffic ကို သယ်ရတာမျိုးလဲ ရှိတတ်ပါတယ်။
192.168.1.0/24 Network ကနေ 192.168.2.0/24 Network ဆီကို သွားတဲ့ အခါမှာ Router တစ်လုံးက Path Selection and Packet Forwarding ကို ဘယ်လို လုပ်လဲ ဆိုတာကို အကြမ်းဖြင်း ပြောပြပါ့မယ်။ အခု ရှင်းပြတဲ့ အချိန်မှာတော့ Unicast Traffic ကို မူတည်ပြီးတော့ပဲ ပြောပြသွားပါ့မယ်။ Unicast Packet Forwarding ပေါ့ဗျာ
Packet ဆိုတာကတော့ OSI 7 Layer မှာ Layer 3 (network layer) ရဲ့ PDU <Protocol Data Unit> ပါ။ Layer 2 မှာဆိုရင်တော့ Frame ပေါ့ဗျာ။
Router က layer 3 ဖြစ်တဲ့ အတွက် သူ့ဆီကို ရောက်တဲ့ IP Header ကို ဖွင့်ကြည့်တာပေါ့။ IP Header ထဲမှာ ဘာတွေပါလဲဆိုတော့ Source, Destination, IP Version, TTL, Header Checksum, etc.… ပါတာပေါ့ဗျာ။ ကျွန်တော် Internet ကနေ ပုံလေး ရှာပြထားပါတယ်။
Packet တစ်ခုက Router စီကို ရောက်ပြီဆိုတာနဲ့ Router က Header Checksum ကို အရင်စစ်ပါတယ်။ Header Checksum ဆိုတာဘာလဲ ဆိုပြီး သိဖို့ လိုပါတယ်။ Header Checksum ဆိုတာက Network ထဲမှာ Data Transmission လုပ်နေတုန်း Error တက်ခဲ့လား ဆိုတာကို စစ်ကြည့်တာဖြစ်ပါတယ်။ Error မတက်ဘူးဆိုရင်တော့ Destination IP Address ကို ဆက်ကြည့်ပါတယ်။
အခု ကျွန်တော် ပြောပြနေတာက Unicast Traffic ဖြစ်တဲ့ အတွက် Router က Destination IP Address ကိုပဲ ကြည့်ပါတယ်။ Source IP Address ကို Unicast Traffic မှာ မစစ်ပါဘူး။ ကိုယ်က Source IP Address ကိုပါ စစ်စေချင်ရင်တော့ uRPF ကိုသုံးရပါမယ်။ uRPF <Unicast Reverse Path Forwarding> အကြောင်းကိုတော့ နောက်ပိုင်းမှာ ကျွန်တော် ဆက်ရေးသွားပါ့မယ်။
အိုကေ uRPF လဲ မသုံးထားဘူးဆိုတော့ အခုဆို Router က Packet ကနေတဆင့် Destination IP ကို သိနေပါပြီ။ ဒါဆိုရင် ဒီ Destination IP ကို ဘယ်ကနေ သွားရမလဲဆိုတာကို သိရဖို့ အတွက် Routing Table ထဲမှာ သွားရှာပါတယ်။
Routing Table
အားလုံးသိကြတဲ့ အတိုင်းပါပဲ Routing Table ဆိုတာက Routing Information တွေကို စုစည်းထားပေးတဲ့ Collection တစ်ခုပါပဲ။ ပြောလက်စနဲ့ Routing Table အကြောင်းပါ ဆက်ပြီး အာချောင်ခွင့်ပြုပါ။ ကျွန်တော်ရေးထားတဲ့ note မှာလဲ တစ်ဆက်ထည်း ဖြစ်နေတာဆိုတော့ ဆက်ပြောပြပါ့မယ်။
Routing Table ကို ဘယ်သူက ဆောက်လဲဆိုရင် IP<Routed Protocol> က ဆောက်တယ်လို့ အလွယ်ပြောလို့ရပါတယ်။ Router မှာ IP မပေးသေးရင် Routing Table မှာ ဘာမှာ ပေါ်နေမှာ မဟုတ်ပါဘူး။
အခု ကျွန်တော်က loopback interface တစ်ခုနဲ့ physical interface မှာ ip တစ်ခု ပေးကြည့်ပါမယ်။
IP ပေးလိုက်တာနဲ့ Routing Table ထဲမှာ Route Information တွေကို စမြင်ရပြီ ဖြစ်ပါတယ်။
Routing Table ထဲမှာ အဓိက အချက် သုံးခုပါဝင်ပါတယ်။ Destination IP Address, Exit Interface, Next Hop စတာ တွေပဲ ဖြစ်ပါတယ်။ Connected Route တွေမှာတော့ Destination IP Address and Exit Interface Information ပဲ ပါဝင်ပြီးတော့ BGP Route တွေမှာတော့ Destination IP Address and Next Hop Information ပဲ ပါဝင်ပါတယ်။
ကိုယ်သွားချင်တဲ့ Destination ကို Routing Table ထဲမှာ တွေ့ရင်တော့ Routing Table ထဲက အတိုင်း Destination ကို သွားတာပေါ့ဗျာ။ Destination IP Address ကို Routing Table ထဲမှာမတွေ့ရင်ရော? မတွေ့ဘူးဆိုရင်တော့ Default Route ရှိလား လို့ Routing Table ထဲမှာ ရှာပါတယ်။ ရှာလို့ တွေ့ရင်တော့ Default Route အတိုင်းထွက်တာပေါ့ဗျာ။ Default Route ပါမတွေ့ရင်တော့ Packet ကို ဖြတ်ချရတော့တာပေါ့။
ဒါကတော့ Router တစ်လုံး ဘယ်လို အလုပ်လုပ်လဲဆိုတာကို Path Selection and Packet Forwarding Overview အနေနဲ့ ကျွန်တော့် Note လေးကို အခြေခံပြီး ပြန်ပြောပြထားတာပါ။
နောက်နေ့မှာ Part 2 အနေနဲ့ Deep Dive ဖော်ပြနိုင်ဖို့ ကြိုးစားပါဦးမယ်။
the-art-by-makisam.cloud
Subscribe to my newsletter
Read articles from Min Htet San directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Min Htet San
Min Htet San
I'm Security and Cloud Support Engineer at KBZ Bank. I'm tying to be a Cloud Native Engineer......