အရင်ဆုံး routing and switching အကြောင်း ကိုအနည်းငယ်တော့သိထားဖို့လိုအပ်ပါတယ်။ ကျွန်တော် အခု routing and switching ကို အတိုချုပ်ရှင်းပြပေးပါမယ်။
Switch ဆိုတာဘာလဲ
Subnet (Network) တစ်ခုတည်းမှာရှိတဲ့ Computer (သို့) VMs on the cloud တွေကို အချင်းချင်း ချိတ်ဆက်ပေးတဲ့ အရာ ဖြစ်ပါတယ်။
ဥပမာပေးရရင်
Dota ဂိမ်းဆိုင် တခု ဖွင့်မယ်ဗျာ။ Dota 1 ( LAN ) ပဲရမယ် အချင်းချင်းပဲ ဆော့ကြမယ်ဆိုပါစို့။ ကွန်ပျူတာ ၁၀ လုံးကို Network ကြိုးတွေနဲ့ Switch တစ်လုံးတည်းမှာ လာတပ်ထားပါတယ်။ စက်တွေကို 192.168.1.0/24 ဆိုတဲ့ တူညီတဲ့ subnet တခု အတွင်းမှာ IP တွေသတ်မှတ်ပေးလိုက်မယ် ( 192.168.1.10,192.168. 1.11, ... 1.20 အထိ ဆိုပါစို့)
ဒါဆို ဆော့လို့ရပါပြီ...
ဘယ်လို အလုပ်လုပ်လဲ?
စက် (A) မှာ ထိုင်နေတဲ့ ကောင်လေးက စက် (B) က လူကို action တခုခု လုပ်တယ် ဆိုပါစို့။
-
ဒီ Data က Switch ဆီကို ရောက်သွားတယ်။
-
Switch က "ဩော်.. ဒါ ငါ့ Network ထဲက စက် B ဆီကို သွားမှာပါလား" ဆိုတာကို MAC Address ကြည့်ပြီး သိတယ်။
-
ဒါနဲ့ စက် B ရှိတဲ့ ကြိုးပေါက်ကို တိုက်ရိုက် ပို့ပေးလိုက်တယ်။
Routing ဆိုတာဘာလဲ
မတူညီတဲ့ Subnet (Network) တွေကို ချိတ်ဆက်ပေးတဲ့အရာဖြစ်ပါတယ်။
ဥပမာပေးရရင်
ဂိမ်းဆိုင် မှာ စက် ၁၀ လုံး ထပ်တိုးမယ်ဗျာ အရင်က သုံးထားတဲ့ Switch ( A ) ကလဲ network ပေါက် ၁၀ ခုပဲ ရှိတယ် ဆိုပါစို့။ နောက်ထပ် Switch ( B ) တစ်လုံးထပ်တိုးမယ်။ PC တွေကို A မှာ ၁၀ လုံး တပ် B မှာ ၁၀ လုံးတပ်မယ်။ A က PC တွေကို 192.168.1.0/24 Subnet အတွင်းမှာ ထားပြီး B က PC တွေကို 192.168.2.0/24 Subnet မှာထားလိုက်မယ်ဆိုတော့ မတူညီတဲ့ Subnet (Network) အတွင်းမှာ ဖြစ်သွားပါပြီ။ အဲ့တော့ အဲ့ဒီလို မတူညီတဲ့ Subnet တွေကို ချိတ်ပေးဖို့ Router က လုပ်ဆောင်ပေးနိုင်တယ်။ ဒီပြဿနာကို ဖြေရှင်းဖို့ Router တစ်လုံး ဝယ်လိုက်မယ်။ Router ကို အလယ်မှာထားပြီး Switch A နဲ့ Switch B ကို Router ရဲ့ Port မှာ သွားတပ်လိုက်ပါတယ်။
Router Configuration
Port 1 မှာ Switch A ကိုတပ်မယ်။ ip address 192.168.1.1 က 192.168.1.0/24 subnet ရဲ့ Gateway ဖြစ်လာမယ်။ Port 2 မှာ Switch B ကိုတပ်မယ်။ ip address 192.168.2.1 က 192.168.2.0/24 Subnet ရဲ့ Gateway ဖြစ်လာမယ်
Computer Configuration
PC တွေမှာ IP ပေးတဲ့အခါ Gateway ဆိုတဲ့ နေရာမှာ Router ရဲ့ IP ကို ထည့်ပေးရပါတော့မယ်။
Switch A ထဲက PC ကို ip သတ်မှတ်မယ်ဆိုရင် ip address က 192.168.1.X, Subnet Mask က 255.255.255.0 ၊ Gateway ip က 192.168.1.1
Switch B ထဲက PC ကို ip သတ်မှတ်မယ်ဆိုရင် ip address က 192.168.2.x, Subnet Mask က 255.255.255.0 ၊ Gateway ip က 192.168.2.1
ဘယ်လို အလုပ်လုပ်လဲ?
Switch A က PC-A 192.168.1.10 ကနေ Switch B က PC-B 192.168.2.10 ကို ping လုပ်လိုက်ရင် ဘာဖြစ်မလဲ?
- PC-A စဉ်းစားတယ် ။ ငါသွားချင်တာ 192.168.2.10၊ ငါ့ IP က 192.168.1.10 Network မတူပါလား။ ဒါဆို Gateway ဆီ ပို့မှရမယ် ဆိုပြီး Data ကို Gateway 192.168.1.1 ဆီ ပို့လိုက်တယ်။
- Switch A ကနေ Data ကို Router ဆီ ပို့ပေးလိုက်တယ်။
- Router (Port 1) က လက်ခံရရှိတယ် Router က Data ကို ဖွင့်ကြည့်တယ်။ "ဪ.. 192.168.2.10 ဆီ သွားချင်တာလား။ 192.168.2.x ဆိုတာ Port 2 မှာ ချိတ်ထားတာပဲ" ဆိုပြီး သိလိုက်တယ်။
- Router က Data ကို Port 2 ကနေတဆင့် Switch B ဆီ ပို့လိုက်တယ်။
- Switch B ကနေ PC-B ဆီကို ပြန်ပို့ပေးလိုက်တယ်။
Gateway အကြောင်း
ကွန်ပျူတာတစ်လုံးကနေ အခြား Network (မိမိနဲ့ Subnet မတူတဲ့နေရာ) ကိုသွားချင်ရင် ဖြတ်သန်းသွားရမယ့် "တံခါးပေါက်" ဖြစ်ပါတယ်။
အပေါ်က Routing ဥပမာမှာ တုန်းက PC-A (192.168.1.10) ဟာ PC-B (192.168.2.10) ကို လှမ်းခေါ်ချင်တော့ Network မတူဘူးဆိုတာ သိလိုက်တယ်။ ဒါကြောင့် သူ့အခန်းရဲ့ တံခါးပေါက် gateway ဖြစ်တဲ့ Router ရဲ့ 192.168.1.1 ဆီကို အရင်သွားရတယ်။
NOTE!
Router မှာ Gateway IP သတ်မှတ်တဲ့ အခါ ချိတ်ဆက်ချင်တဲ့ Network (Subnet) ရဲ့အတွင်းက IP တွေပဲ ဖြစ်ရပါမယ်။ (ဥပမာ - Subnet 192.168.1.xx က စက်တွေအတွက် Gateway သည် 192.168.1.xx ဖြစ်နိုင်ပေမယ့် 192.168.2.xx သို့ 3.xx မဖြစ်နိုင်ပါဘူး၊ ဘာလို့လဲဆိုတော့ 2.xx သို့ 3.xx တွေက တခြား Subnet တွေ အတွက်ဖြစ်ပါတယ်)။
Routing Table ဆိုတာဘာလဲ
Data Packet တွေ ဘယ်လမ်းကြောင်းကနေ သွားရမလဲဆိုတဲ့ လမ်းညွှန်မြေပုံ (Map) သို့မဟုတ် စည်းမျဉ်း (Rules) တွေ မှတ်သားထားတဲ့ ဇယားဖြစ်ပါတယ်။
Router ထဲမှာ စာအုပ်တစ်အုပ် ရှိတယ်လို့ မြင်ယောင်ကြည့်ပါ။ အဲဒီစာအုပ်ထဲမှာ ရေးထားတာက
NOTE!
192.168.1.0/24 ကိုသွားချင်ရင် -> Port 1 ဘက်ကို သွားပါ။ 192.168.2.0/24 ကိုသွားချင်ရင် -> Port 2 ဘက်ကို သွားပါ
Data တစ်ခုဝင်လာတိုင်း Router က ဒီ Routing Table (မြေပုံ) ကို ဖွင့်ကြည့်ပြီးမှ ဘယ်လမ်းကို ပို့ရမလဲ ဆုံးဖြတ်တာ ဖြစ်ပါတယ်။
Default Gateway ဆိုတာဘာလဲ
အင်တာနက် (သို့မဟုတ်) Routing Table ထဲမှာ မပါတဲ့ Network တွေကို သွားချင်ရင် ထွက်ရမယ့် "အဓိက ထွက်ပေါက်" ပါ။
ဥပမာပေးရရင်
ဂိမ်းဆိုင်ကို ပြန်သွားကြရအောင် ဂိမ်းဆိုင်မှာ Dota 2 Online ကိုပါ ဆော့ချင်ကြတယ် ဆိုပါစို့။ Dota 2 Server က စင်ကာပူမှာ ရှိပြီး သူ့ရဲ့ IP က 103.10.124.1 ဖြစ်တယ် ဆိုပါစို့။ ဆိုင်တွင်း Network ကတော့ 192.168.1.xx ဖြစ်တယ်။
PC-A 192.168.1.10 ကနေ Dota Server ကို လှမ်းချိတ်ရပါမယ်။ ပြဿနာက 103.x.x.x ဆိုတဲ့ IP က ဆိုင်တွင်း (Local Network) ထဲမှာ မရှိပါဘူး။ Switch ကလည်း သူ့ network ထဲက လူမဟုတ်ရင် လမ်းမပြတတ်ပါဘူး။ ဒါကြောင့် "ငါမသိတဲ့ လိပ်စာဆိုရင် ဘယ်သူ့ဆီ ပို့ရမလဲ" ဆိုတဲ့ လမ်းညွှန်ချက် လိုအပ်လာပါတယ်။
router ရဲ့ WAN Port မှာ (အင်တာနက်) ISP Fiber ကြိုးနဲ့ ချိတ်ထားမယ်။ Routing Rule မှာ 0.0.0.0/0 ဆိုပြီးသတ်မှတ်ရမယ်။ ISP က public ကိုချိတ်ဆက်နိုင်တာမလို့ ဘယ် ip လာလာ သူကနေဖြတ်ခိုင်းတဲ့သဘောပါ။
ဘယ်လို အလုပ်လုပ်လဲ?
- PC-A က Dota Server IP 103.10.124.1 ကို လှမ်းပို့ချင်တယ်။ သူအရင်ဆုံး စဉ်းစားတာက - "ဒီ IP က ငါ့ရဲ့ Local Network 192.168.1.x ဟုတ်လား? မဟုတ်ရင် Switch ကတဆင့် တိုက်ရိုက်သွားလို့ မရဘူး။"
- ငါ့ Network မဟုတ်ရင် ငါ့ရဲ့ Default Gateway 192.168.1.1 ဆီကို ပို့မှရမယ်" ဆိုပြီး Data Packet ကို Router ဆီ ပစ်ပို့လိုက်တယ်။
- Router က Data ကို ရတယ်။ "ဪ.. စင်ကာပူက IP ကို သွားချင်တာလား။ ငါ့ Routing Table ထဲမှာ 0.0.0.0/0(Internet) လမ်းကြောင်းရှိတယ်။ အဲ့ဒီအတိုင်း သွားလိုက်" ဆိုပြီး ISP (Fiber) လိုင်းဘက်ကို တွန်းပို့ပေးလိုက်တယ်။
Linux acting as Router
ပုံမှန်အားဖြင့် Linux (Ubuntu/CentOS) စက်တွေဟာ Router မဟုတ်ပါဘူး။ ဒါပေမဲ့ လိုအပ်ရင် Router တစ်လုံးလို အလုပ်လုပ်ခိုင်းလို့ ရပါတယ်။
-
Linux Server တစ်လုံးမှာ Network Card ၂ ခု (Network A နဲ့ Network B) စိုက်ထားရုံနဲ့ A နဲ့ B ကို အလိုလို ပေးမဖြတ်ပါဘူး (Security အရ ပိတ်ထားပါတယ်)။
-
Router တစ်လုံးလို Packet တွေကို ဟိုဘက်ဒီဘက် ပေးဖြတ်စေချင်ရင် "IP Forwarding" ဆိုတာကို ဖွင့်ပေးရပါတယ်။
-
Cloud (AWS/DigitalOcean) ပေါ်မှာ VPN Server တွေ၊ Proxy Server တွေ ထောင်တဲ့အခါ ဒီ IP Forwarding ကို မဖြစ်မနေ ဖွင့်ပေးမှသာ ကိုယ့် Server က Traffic တွေကို ဖြတ်သန်းခွင့် ပြုမှာ ဖြစ်ပါတယ်။
-
ယာယီ ဖွင့်ချင်ရင်
"echo 1 > /proc/sys/net/ipv4/ip_forward"command လေးနဲ့ ဖွင့်ပေးလို့ရပါတယ်။
ဒီ part-1 မှာတော့ devops သမားတွေ သိသင့်တဲ့ အခြေခံ routing , switching အကြောင်းကို ရှင်းပြပေးခဲ့တာပါ။ part-2 မှာပြန်တွေ့ကြမယ်။
Discussion
Join the conversation
How do you feel about this article?
Comments
Sign in to join the conversation
Sign in to be the first to comment!
Share Your Article
Share with your professional network
Recent Articles

AWS - Application Load Balancer
Elastic Load Balancing (ELB) ELB ဆိုတာကတော့ request တွေကို တစ်နေရာတည်းမှ လက်ခံကာ Amazon EC2 instances၊ containers, etc.....

Terraform Day 3: Benefits of Terraform State
Terraform ကိုလေ့လာ တဲ့အခါ ကျွန််တော်တို့ရဲ့ Project Folder ထဲမှာ terraform.tfstate ဆိုတဲ့ ဖိုင်လေးကို တွေ့ဖူးကြပါလိမ့်မယ...

Terraform Day 2: Essential IaC Principles You Must Know
မနေ့ကတော့ Terraform အကြောင်း အကြမ်းဖျင်း Concept ကို ပြောပြခဲ့ပြီးပြီဆိုတော့ ဒီနေ့မှာတော့ Terraform ကို Professional ကျက...

TCP/IP Protocol
အားလုံးပဲမင်္ဂလာပါ။ ဒီနေ့ ကျွန်တော်တို့ TCP/IP Protocol အကြောင်း ဆွေးနွေးသွားပါမယ်။ ပထမဆုံးအနေနဲ့ TCP/IP ရဲ့ History လေး...

Terraform Day 1: Introduction to IAC and Terraform
ကျွန်တော်တို့ cloud အကြောင်း စပြောကြပြီဆိုရင် အရင်ဆုံး ခေါင်းထဲရောက်လာတာ Console ထဲဝင်၊ UI ကနေ ခလုတ်လေးတွေ လိုက်နှိပ်ပြီ...

