Data Transmission (ဒေတာ ပို့လွှတ်ခြင်း)
A2.3.1: IP addressing, A2.3.2: Transmission media, A2.3.3: Packet switching, A2.3.4: Static and dynamic routing (HL)
မြန်မာလို: A2.3.1: IP addressing (network ပေါ်က စက်တွေကို လိပ်စာ သတ်မှတ်ခြင်း)၊ A2.3.2: transmission media (ဒေတာ သယ်ဆောင်ပေးတဲ့ ကြားခံများ)၊ A2.3.3: packet switching (packet တွေကို သီးခြား လမ်းကြောင်းနဲ့ ပို့ခြင်း)၊ A2.3.4: static routing နဲ့ dynamic routing (ပုံသေ လမ်းကြောင်းနဲ့ အလိုအလျောက် ပြောင်းတဲ့ လမ်းကြောင်း) (HL အဆင့်မှာပဲ စစ်ဆေးပါတယ်)
အဓိက အယူအဆများ
IP Addressing (network ပေါ်က စက်တွေကို လိပ်စာ သတ်မှတ်ခြင်း) (A2.3.1)
IPv4 နဲ့ IPv6
IPv4 (32-bit IP လိပ်စာ စနစ်):
- 32-bit address: dot (အစက်) တွေနဲ့ ခြားထားတဲ့ decimal (အခြေ 10 ဂဏန်းစနစ်) ဂဏန်း အုပ်စု 4 စု
- ဥပမာ:
192.168.1.100 - မတူညီတဲ့ address 4.3 billion (သန်းပေါင်း 4,300) ခန့် ပေးနိုင်ပါတယ်
- Address exhaustion (address တွေ ကုန်သွားခြင်း): ကမ္ဘာပေါ်က စက်အားလုံးအတွက် မလုံလောက်ပါဘူး
IPv6 (128-bit IP လိပ်စာ စနစ်):
- 128-bit address: colon (:) တွေနဲ့ ခြားထားတဲ့ hexadecimal (အခြေ 16 ဂဏန်းစနစ်) ဂဏန်း အုပ်စု 8 စု
- ဥပမာ:
2001:0db8:85a3:0000:0000:8a2e:0370:7334 - မတူညီတဲ့ address 340 undecillion (3.4 x 10^38) ခန့် ပေးနိုင်ပါတယ်
- IPv4 address တွေ ကုန်သွားတဲ့ ပြဿနာကို ဖြေရှင်းဖို့ ဒီဇိုင်းထုတ်ထားတာပါ။ ဒါ့အပြင် routing (လမ်းကြောင်း ရွေးခြင်း) ကိုလည်း ပိုရိုးရှင်းစေပြီး IPsec (Internet layer မှာ ဒေတာကို encrypt လုပ်ပေးတဲ့ နည်း) ကို ထည့်စဉ်းစားပြီး ဒီဇိုင်းထုတ်ခဲ့တာပါ
| အချက် | IPv4 | IPv6 |
|---|---|---|
| Address အရှည် | 32 bits | 128 bits |
| ပုံစံ | Dotted decimal (အစက်ခြား decimal) (192.168.1.1) | Hexadecimal colon (colon ခြား hexadecimal) (2001:db8::1) |
| Address စုစုပေါင်း | ~4.3 billion | ~3.4 x 10^38 |
| NAT (private IP ကို public IP အဖြစ် ပြောင်းပေးခြင်း) လိုသလား | များသောအားဖြင့် လိုပါတယ် (address ချွေတာဖို့) | မလိုပါဘူး (address လုံလောက်လို့) |
| လုံခြုံရေး | IPsec က မဖြစ်မနေ မဟုတ်ပါ (နောက်မှ ထည့်ခဲ့) | IPsec ကို အစကတည်းက ဒီဇိုင်းထဲ ထည့်ထားပါတယ် (ထောက်ပံ့ဖို့ အကြံပြုထားပေမယ့် သုံးတာကတော့ မဖြစ်မနေ မဟုတ်ပါ) |
Public IP address နဲ့ Private IP address
| အမျိုးအစား | သုံးလို့ရတဲ့ နယ်ပယ် | ဥပမာ | ရည်ရွယ်ချက် |
|---|---|---|---|
| Public (အများ မြင်ရတဲ့) | ကမ္ဘာတစ်ဝှမ်းမှာ တစ်ခုတည်းသာ ရှိပြီး အင်တာနက်ပေါ်မှာ မြင်ရပါတယ် | 8.8.8.8 (Google DNS) | အင်တာနက်ပေါ်မှာ စက် ဒါမှမဟုတ် network (ကွန်ရက်) တစ်ခုကို ခွဲခြား သတ်မှတ်ပေးပါတယ် |
| Private (ကိုယ်ပိုင်) | Local network တစ်ခုအတွင်းမှာပဲ တစ်ခုတည်းသာ ဖြစ်ပါတယ် | 192.168.x.x, 10.x.x.x, 172.16-31.x.x | LAN (နေရာ သေးသေးကို ဖုံးတဲ့ network) တွေထဲမှာ သုံးပါတယ်၊ အင်တာနက်ပေါ်မှာ route လုပ်လို့ (router တွေက ဆက်ပို့လို့) မရပါဘူး |
အိမ်သုံး network တစ်ခုပေါ်က စက် အများကြီးက public IP address တစ်ခုတည်း (ISP (အင်တာနက် ဝန်ဆောင်မှု ပေးတဲ့ ကုမ္ပဏီ) က ပေးတာ) ကို မျှသုံးကြပေမယ့် စက်တစ်ခုစီမှာ ကိုယ်ပိုင် private IP address (router က ပေးတာ) ရှိပါတယ်။ ဒါကို NAT က ဖြစ်နိုင်စေပါတယ်။
Static IP address နဲ့ Dynamic IP address
| အမျိုးအစား | ဖော်ပြချက် | အသုံးပြုပုံ |
|---|---|---|
| Static (ပုံသေ) | ကိုယ်တိုင် configure (setting သတ်မှတ်) လုပ်ထားပြီး မပြောင်းပါဘူး | Server (တခြား ကွန်ပျူတာတွေကို ဝန်ဆောင်မှု ပေးတဲ့ ကွန်ပျူတာ) တွေ၊ printer တွေ၊ router (network တွေကြား packet ကို လမ်းကြောင်းပြတဲ့ စက်) တွေ: address တစ်ခုတည်းကို အမြဲ လိုတဲ့ စက်တွေ |
| Dynamic (ပြောင်းလဲနိုင်တဲ့) | DHCP (IP address ကို အလိုအလျောက် ခွဲပေးတဲ့ protocol) က အလိုအလျောက် ခွဲပေးပြီး အချိန်နဲ့အမျှ ပြောင်းနိုင်ပါတယ် | Laptop တွေ၊ ဖုန်းတွေ၊ ဧည့်သည်တွေရဲ့ စက်တွေ: ခဏတာ ချိတ်ဆက်မှုတွေ |
NAT (Network Address Translation၊ private IP ကို public IP အဖြစ် ပြောင်းပေးခြင်း)
NAT က private IP address နဲ့ public IP address ကြား အပြန်အလှန် ပြောင်းပေးလို့ LAN တစ်ခုပေါ်က စက် အများကြီးက public IP address တစ်ခုတည်းကို မျှသုံးနိုင်ပါတယ်။
Private Network NAT Router Internet
[PC1: 192.168.1.2] --+
[PC2: 192.168.1.3] --+-- [Router: 192.168.1.1] ---- [Public IP: 203.0.113.5] ---- Internet
[PC3: 192.168.1.4] --+ (NAT table)
ပုံထဲမှာ Private Network (ကိုယ်ပိုင် network) ထဲက PC1၊ PC2၊ PC3 က private IP address ကိုယ်စီနဲ့ NAT Router (192.168.1.1) ကို ချိတ်ထားပါတယ်။ Router ရဲ့ Internet ဘက်မှာ Public IP (203.0.113.5) တစ်ခုတည်း ရှိပြီး router ထဲမှာ NAT table (ဘယ် request က ဘယ်စက်က လာလဲ မှတ်ထားတဲ့ ဇယား) ရှိပါတယ်။
NAT အလုပ်လုပ်ပုံ:
- PC1 က web server (ဝဘ်စာမျက်နှာတွေ ပေးတဲ့ server) တစ်ခုဆီ request (တောင်းဆိုမှု) တစ်ခု ပို့ပါတယ်
- Router က PC1 ရဲ့ private IP (192.168.1.2) ကို router ရဲ့ public IP (203.0.113.5) နဲ့ အစားထိုးပါတယ်
- Web server က 203.0.113.5 ဆီ ပြန်ဖြေပါတယ်
- Router က သူ့ NAT table ကို စစ်ပြီး request က PC1 ကနေ လာတာကို တွေ့လို့ response (အကြောင်းပြန်ချက်) ကို 192.168.1.2 ဆီ ဆက်ပို့ပေးပါတယ်
NAT ရဲ့ အကျိုးကျေးဇူးများ:
- Public IP address တွေကို ချွေတာခြင်း: public IP တစ်ခုက private စက် အများကြီးကို ဝန်ဆောင်မှု ပေးပါတယ်
- လုံခြုံရေး: private IP address တွေကို အင်တာနက်ကနေ ဖုံးထားလို့ အပြင်က တိုက်ခိုက်သူတွေက အတွင်းက စက်တွေကို တိုက်ရိုက် ပစ်မှတ်ထားလို့ မရပါဘူး
- ပြောင်းလွယ်ပြင်လွယ် ရှိခြင်း: public IP ကို မပြောင်းဘဲ အတွင်း network ကို ပြန်စီစဉ်နိုင်ပါတယ်
ကြည့်ရန်: ဗီဒီယို အရင်းအမြစ်များ
IP address တွေက အင်တာနက်ပေါ်က စက်တွေကို ဘယ်လို ခွဲခြား သတ်မှတ်ပေးလဲ၊ DNS က domain name တွေကို IP address အဖြစ် ဘယ်လို ပြောင်းပေးလဲ ဆိုတာ ရှင်းပြပါတယ်။
DNS resolution (domain name ကနေ IP address ကို ရှာတဲ့ လုပ်ငန်းစဉ်) ကို အဆင့်ဆင့် ပြပါတယ်: URL (website လိပ်စာ) ရိုက်ထည့်တာကနေ server ရဲ့ IP ကို ရှာတွေ့တဲ့ အထိပါ။
Transmission Media (ဒေတာ သယ်ဆောင်ပေးတဲ့ ကြားခံများ) (A2.3.2)
Fibre Optic Cable (အလင်းနဲ့ ဒေတာ ပို့တဲ့ ဖန်မျှင် ကြိုး)
- ပါးလွှာတဲ့ ဖန် ဒါမှမဟုတ် ပလတ်စတစ် မျှင်တွေထဲကနေ ဒေတာကို light pulse (ခဏတာ လင်းလိုက်တဲ့ အလင်း အချက်ပြမှု) တွေအဖြစ် ပို့ပါတယ်
- Bandwidth (တစ်စက္ကန့်မှာ ပို့နိုင်တဲ့ ဒေတာ အများဆုံး) အလွန်မြင့်ပြီး အကွာအဝေး ဝေးဝေးအထိ ပို့နိုင်ကာ electromagnetic interference (လျှပ်စစ်သံလိုက် နှောင့်ယှက်မှု) ကြောင့် မထိခိုက်ပါဘူး
- တပ်ဆင်ရတာ ဈေးကြီးပြီး ကျိုးပဲ့လွယ်ကာ ပြင်ဖို့ အထူး ပစ္စည်းကိရိယာ လိုပါတယ်
Twisted Pair Cable (ကြေးနီကြိုးတွေကို အတွဲလိုက် ကျစ်ထားတဲ့ ကြိုး၊ ဥပမာ Ethernet/Cat5e/Cat6)
- Interference (နှောင့်ယှက်မှု) လျော့အောင် ကြေးနီကြိုးတွေကို အတူ ကျစ်ထားပါတယ်
- LAN တွေမှာ အသုံးအများဆုံး ကြိုးနဲ့ ချိတ်ဆက်မှုပါ
- ကုန်ကျစရိတ် နည်းပြီး တပ်ဆင်ရ လွယ်ပေမယ့် fibre ထက် range (ပို့နိုင်တဲ့ အကွာအဝေး) တိုပြီး bandwidth နည်းပါတယ်
- Electromagnetic interference (EMI) ကြောင့် ထိခိုက်လွယ်ပါတယ်
Wireless (ကြိုးမဲ့၊ Wi-Fi၊ radio)
- ဒေတာကို radio လှိုင်း တွေအဖြစ် ပို့ပါတယ်
- ကြိုး မလိုပါဘူး: ပြောင်းလွယ်ပြင်လွယ် ရှိပြီး နေရာ ရွှေ့ပြီး သုံးနိုင်ပါတယ်
- Interference (နံရံတွေ၊ တခြားစက်တွေ) ကြောင့် ထိခိုက်လွယ်ပြီး range ကန့်သတ်ချက် ရှိကာ လုံခြုံရေး စိုးရိမ်စရာတွေ ရှိပါတယ် (signal တွေကို ကြားဖြတ် ယူနိုင်ပါတယ်)
Transmission Media နှိုင်းယှဉ်ချက်
| အချက် | Fibre Optic | Twisted Pair | Wireless |
|---|---|---|---|
| Bandwidth | အလွန်မြင့် (100 Gbps နဲ့ အထက်၊ Gbps = တစ်စက္ကန့်ကို gigabit) | အလယ်အလတ် (Cat6a အတွက် 10 Gbps အထိ) | အလယ်အလတ် (စံပေါ် မူတည်ပြီး ကွာ) |
| Installation (တပ်ဆင်ခြင်း) | ရှုပ်ထွေး၊ အထူး ပစ္စည်းကိရိယာ လို | ရိုးရှင်း၊ ပုံမှန် ကိရိယာ | အရိုးရှင်းဆုံး (ကြိုး မလို) |
| Cost (ကုန်ကျစရိတ်) | မြင့် | နည်း | အလယ်အလတ် (AP (Wi-Fi signal ထုတ်ပေးတဲ့ access point) တွေ လို) |
| Range | အလွန်ဝေး (km) | တို (100m အထိ) | ကန့်သတ်ချက်ရှိ (အဆောက်အအုံထဲမှာ 30-100m) |
| Interference | EMI ကြောင့် မထိခိုက် | EMI ကြောင့် ထိခိုက်လွယ် | ထိခိုက်လွယ် (နံရံ၊ စက်များ) |
| Attenuation (ဝေးလာတာနဲ့အမျှ signal အားနည်းလာခြင်း) | အလွန်နည်း | အလယ်အလတ် | များ (အတားအဆီးပေါ် မူတည်ပြီး ကွာ) |
| Reliability (စိတ်ချရမှု) | အလွန်မြင့် | မြင့် | အလယ်အလတ် (signal ပြတ်တတ်) |
| Security (လုံခြုံရေး) | အလွန်လုံခြုံ (ကြားဖြတ် ချိတ်ယူရ ခက်) | လုံခြုံ (ကြိုးကို တိုက်ရိုက် ထိဖို့ လို) | လုံခြုံမှု နည်း (signal တွေက ပတ်ပတ်လည်ကို ထုတ်လွှင့်) |
စာမေးပွဲအတွက် အကြံပြုချက်: Transmission media တွေကို နှိုင်းယှဉ်တဲ့အခါ သတ်မှတ်ထားတဲ့ အချက်တွေနဲ့ အမြဲ ပြန်ချိတ်ပါ: bandwidth၊ complexity of installation (တပ်ဆင်ရ ရှုပ်ထွေးမှု)၊ cost၊ range၊ susceptibility to interference (interference ခံရလွယ်မှု)၊ attenuation၊ reliability၊ security။ ဒါတွေက IB Computer Science (နိုင်ငံတကာ ကျောင်းတွေမှာ သင်တဲ့ ကွန်ပျူတာသိပ္ပံ သင်ရိုး) က သတ်မှတ်ထားတဲ့ အချက်တွေပါ။
Packet Switching (packet တွေကို သီးခြား လမ်းကြောင်းနဲ့ ပို့ခြင်း) (A2.3.3)
Network ပေါ်ကနေ ဒေတာ ပို့တဲ့အခါ ဆက်တိုက် စီးဆင်းနေတဲ့ ဒေတာ တစ်ခုလုံးအဖြစ် မပို့ပါဘူး။ အဲဒီအစား ဒေတာကို packet (network ပေါ် ပို့တဲ့ ဒေတာ အစိတ်အပိုင်းငယ်) တွေအဖြစ် ခွဲလိုက်ပါတယ်။
Packet ရဲ့ ဖွဲ့စည်းပုံ
Header
- Source IP
- Destination IP
- Protocol
- Packet number
- Total packets
Payload
- The actual data
- (a portion of the original file or message)
Trailer
- Error checking
- (checksum)
ပုံထဲမှာ packet ရဲ့ အပိုင်း သုံးပိုင်းကို ပြထားပါတယ်။ Header (packet ရှေ့ပိုင်းက ထိန်းချုပ် အချက်အလက်) ထဲမှာ Source IP (ပို့သူရဲ့ IP)၊ Destination IP (လက်ခံသူရဲ့ IP)၊ Protocol (ဒေတာ ပို့ပုံအတွက် သဘောတူ စည်းမျဉ်း)၊ Packet number (packet နံပါတ်) နဲ့ Total packets (packet စုစုပေါင်း အရေအတွက်) ပါပါတယ်။ Payload (packet က သယ်ဆောင်တဲ့ ဒေတာ) ထဲမှာ The actual data (တကယ့် ဒေတာ၊ မူရင်း file ဒါမှမဟုတ် message ရဲ့ အစိတ်အပိုင်း တစ်ခု) ပါပြီး Trailer (packet နောက်ဆုံးပိုင်း) ထဲမှာ Error checking (အမှား စစ်ခြင်း) အတွက် checksum (ဒေတာ ပျက်မပျက် စစ်ဖို့ တွက်ထားတဲ့ တန်ဖိုး) ပါပါတယ်။
Header မှာ routing နဲ့ ပြန်စုပေါင်းဖို့ အချက်အလက်တွေ (source/destination IP၊ packet number၊ protocol) ပါပါတယ်။ Payload မှာ တကယ့် ဒေတာ ပါပါတယ်။ Trailer မှာ data integrity (ဒေတာ မှန်ကန်ပြီး မပျက်စီးဘဲ ရှိနေခြင်း) ကို စစ်ဖို့ error checking အချက်အလက် (checksum) ပါပါတယ်။
Packet Switching အလုပ်လုပ်ပုံ
- Segmentation (ဒေတာကို အပိုင်းငယ်တွေ ခွဲခြင်း): ပို့တဲ့ စက်က ဒေတာကို packet အသေးလေးတွေ ခွဲပါတယ်
- Header attachment (header တပ်ခြင်း): packet တစ်ခုစီမှာ source IP၊ destination IP၊ packet number နဲ့ packet စုစုပေါင်း အရေအတွက် ပါတဲ့ header တစ်ခု တပ်ပါတယ်
- Independent routing (သီးခြားစီ လမ်းကြောင်း ရွေးခြင်း): packet တစ်ခုစီကို သီးခြားစီ ပို့ပြီး network ထဲမှာ မတူတဲ့ လမ်းကြောင်းတွေနဲ့ သွားနိုင်ပါတယ်
- Routing decisions (လမ်းကြောင်း ဆုံးဖြတ်ချက်များ): router တွေက packet တစ်ခုစီရဲ့ destination IP ကို စစ်ပြီး ရနိုင်တဲ့ အကောင်းဆုံး လမ်းကြောင်းအတိုင်း ဆက်ပို့ပါတယ်
- Reassembly (ပြန်စုပေါင်းခြင်း): လက်ခံတဲ့ စက်က packet number တွေကို သုံးပြီး packet တွေကို မှန်ကန်တဲ့ အစဉ်အတိုင်း ပြန်စုပေါင်းပါတယ်
- Error checking: trailer ထဲက checksum ကို စစ်ပါတယ်၊ ပျက်စီးနေတဲ့ packet တွေကို ပစ်ပယ်ပြီး ထပ်ပို့ပါတယ် (TCP (ဒေတာကို စိတ်ချရအောင် ပို့တဲ့ protocol) သုံးရင်)
Sender Receiver
| |
|--[Pkt 1]--> Router A --> Router C ----------> [Pkt 1]--|
|--[Pkt 2]--> Router A --> Router B --> Router D -> [Pkt 2]--|
|--[Pkt 3]--> Router B --> Router D ----------> [Pkt 3]--|
| |
Packets take different routes Reassembled in order at destination
ပုံထဲမှာ Sender (ပို့သူ) က packet 3 ခု (Pkt 1၊ Pkt 2၊ Pkt 3) ကို ပို့ပြီး packet တစ်ခုစီက မတူတဲ့ router (Router A၊ B၊ C၊ D) တွေကို ဖြတ်ပြီး Receiver (လက်ခံသူ) ဆီ ရောက်ပါတယ်။ အောက်ဆုံးက စာတွေက Packets take different routes (packet တွေက မတူတဲ့ လမ်းကြောင်းတွေနဲ့ သွား) နဲ့ Reassembled in order at destination (ဦးတည်ရာမှာ အစဉ်အတိုင်း ပြန်စုပေါင်း) လို့ ဆိုလိုပါတယ်။
Packet Switching မှာ Switch နဲ့ Router ရဲ့ အခန်းကဏ္ဍ
| စက် | Packet switching မှာ လုပ်တဲ့ အလုပ် |
|---|---|
| Switch (LAN ထဲက စက်တွေကို ချိတ်ပေးတဲ့ စက်) | MAC address (network စက်ရဲ့ hardware လိပ်စာ) တွေကို သုံးပြီး LAN တစ်ခုတည်းအတွင်းမှာ packet တွေကို ဆက်ပို့ပါတယ်၊ frame (header နဲ့ trailer ထည့်ပြီး ထုပ်ထားတဲ့ ဒေတာ အထုပ်) header ထဲက destination MAC ကို စစ်ပါတယ် |
| Router | IP address တွေကို သုံးပြီး မတူတဲ့ network တွေကြား packet တွေကို ဆက်ပို့ပါတယ်၊ packet header ထဲက destination IP ကို စစ်ပြီး အကောင်းဆုံး လမ်းကြောင်းကို ဆုံးဖြတ်ပါတယ် |
အများ မှားတတ်တာက “router က packet အားလုံးကို လမ်းကြောင်း တစ်ခုတည်းနဲ့ ပို့တယ်” လို့ ပြောတာပါ။ Packet switching မှာ packet တစ်ခုစီကို သီးခြားစီ route လုပ်ပါတယ်: message တစ်ခုတည်းထဲက မတူတဲ့ packet တွေက network ထဲမှာ မတူတဲ့ လမ်းကြောင်းတွေနဲ့ သွားနိုင်ပါတယ်။ ဒါက အဓိက အားသာချက် တစ်ခုပါ: လမ်းကြောင်း တစ်ခု ကျပ်နေရင် ဒါမှမဟုတ် ပျက်နေရင် packet တွေက တခြား လမ်းကြောင်းတွေနဲ့ သွားနိုင်ပါတယ်။
ဒေတာကို packet တွေအဖြစ် ဘယ်လို ခွဲလဲ၊ packet တွေကို အင်တာနက်ပေါ်မှာ သီးခြားစီ ဘယ်လို route လုပ်လဲ၊ ပြီးရင် စိတ်ချရအောင် ဘယ်လို ပြန်စုပေါင်းလဲ ဆိုတာ ရှင်းပြပါတယ်။
ထပ်ဆောင်း လေ့လာစရာ: Throughput နဲ့ Goodput
ဒီအပိုင်းက IB syllabus (IB သင်ရိုး) ထက် ကျော်လွန်တဲ့ အပိုင်းပါ။ ဒါကြောင့် IB စာမေးပွဲမှာ အကဲဖြတ် စစ်ဆေးတာ မရှိပါဘူး။
Throughput နဲ့ Goodput:
- Throughput = တစ်စက္ကန့်မှာ ပို့လိုက်တဲ့ ဒေတာ စုစုပေါင်း (header တွေ၊ retransmission (ထပ်ပို့ခြင်း) တွေနဲ့ protocol overhead (protocol အတွက် အပို ကုန်ကျတဲ့ ဒေတာ) အပါအဝင်)
- Goodput = တစ်စက္ကန့်မှာ လက်ခံရရှိတဲ့ အသုံးဝင်တဲ့ ဒေတာ (overhead မပါ)
- Packet တိုင်းမှာ တကယ့် ဒေတာအပြင် header နဲ့ trailer တွေ ပါလို့ goodput က throughput ထက် အမြဲ နည်းပါတယ်
ကိုယ်တိုင် စမ်းကြည့်ပါ: packet ခရီး simulator (တကယ့် ဖြစ်စဉ်ကို ကွန်ပျူတာနဲ့ အတုလုပ်ပြတဲ့ tool) က ဒီလို topology (network ထဲက စက်တွေ ချိတ်ဆက်ထားပုံ) မျိုးကို ဖြတ်ပြီး message အစစ် တစ်ခုကို ပို့ပြပါတယ်။ Loss (packet ပျောက်ခြင်း) ကို ဖွင့်ပြီး retransmission ကို ကြည့်ပါ၊ dynamic routing ကို ပြောင်းပြီး packet တွေ တစ်ခုနဲ့ တစ်ခု ကျော်တက်သွားတာကို ကြည့်ပါ။
Static Routing နဲ့ Dynamic Routing (A2.3.4)
Static routing နဲ့ dynamic routing ကို HL အဆင့်မှာပဲ အကဲဖြတ် စစ်ဆေးပါတယ်။ SL (Standard Level) နဲ့ HL (Higher Level) ဆိုတာ IB Computer Science သင်တန်းရဲ့ အဆင့်နှစ်ဆင့်ဖြစ်ပြီး HL အပိုင်းတွေက ပိုနက်နက်ရှိုင်းရှိုင်း လေ့လာရတဲ့ အပိုင်းတွေပါ။
Static Routing (ကိုယ်တိုင် သတ်မှတ်ထားတဲ့ ပုံသေ လမ်းကြောင်း)
- Route (လမ်းကြောင်း) တွေကို network administrator (network ကို စီမံတဲ့ တာဝန်ရှိသူ) က ကိုယ်တိုင် configure လုပ်ပါတယ်
- Routing table (ဘယ် network ဆီ ဘယ်လမ်းကြောင်းနဲ့ ပို့ရမလဲ မှတ်ထားတဲ့ ဇယား) က ပုံသေပါ: ကိုယ်တိုင် update မလုပ်မချင်း မပြောင်းပါဘူး
| အားသာချက်များ | အားနည်းချက်များ |
|---|---|
| Network အသေးတွေမှာ configure လုပ်ရ ရိုးရှင်း | Network ပြောင်းလဲမှုတွေ (link (စက် နှစ်ခုကြား ချိတ်ဆက်မှု) ပြတ်တာ) ကို လိုက်မပြောင်းနိုင် |
| ကြိုခန့်မှန်းလို့ရ: ဒေတာက လမ်းကြောင်း တစ်ခုတည်းကို အမြဲ သွား | ထိန်းသိမ်းရ ခက်: ပြောင်းလဲမှု တိုင်းကို ကိုယ်တိုင် update လုပ်ရ |
| လုံခြုံ၊ ကြားဖြတ် ယူစရာ routing protocol (router တွေ လမ်းကြောင်း အချက်အလက် ဖလှယ်တဲ့ protocol) traffic (network ပေါ်က ဒေတာ အသွားအလာ) မရှိ | Network ကြီးတွေအတွက် ကောင်းကောင်း မချဲ့ထွင်နိုင် |
| Resource (အရင်းအမြစ်) သုံးစွဲမှု နည်း (run နေတဲ့ routing algorithm (လမ်းကြောင်း တွက်တဲ့ algorithm) မရှိ) | Load balancing (traffic ကို လမ်းကြောင်း အများပေါ် ခွဲဝေပို့ခြင်း) မရှိ: traffic ကို လမ်းကြောင်း အများပေါ် မခွဲဝေနိုင် |
Dynamic Routing (router တွေက လမ်းကြောင်းကို အလိုအလျောက် ပြောင်းခြင်း)
- Router တွေက routing protocol တွေကို သုံးပြီး route တွေကို အလိုအလျောက် ရှာဖွေ ပြီး update လုပ်ပါတယ်
- Network ပြောင်းလဲမှုတွေ (ဥပမာ link ပြတ်တာ၊ congestion (ဒေတာ များလွန်းလို့ ကျပ်ညပ်ခြင်း)) ကို တုံ့ပြန်ပြီး routing table တွေ update ဖြစ်ပါတယ်
| အားသာချက်များ | အားနည်းချက်များ |
|---|---|
| Network ပြောင်းလဲမှုတွေကို အလိုအလျောက် လိုက်ပြောင်း | Set up လုပ်ရတာနဲ့ troubleshoot (ပြဿနာ ရှာဖွေ ဖြေရှင်း) လုပ်ရတာ ပိုရှုပ်ထွေး |
| Network ကြီးတွေအတွက် ကောင်းကောင်း ချဲ့ထွင်နိုင် | Resource သုံးစွဲမှု ပိုများ (routing algorithm တွေအတွက် CPU (ကွန်ပျူတာရဲ့ အဓိက processor)၊ memory (မှတ်ဉာဏ်)) |
| Load balancing: traffic ကို လမ်းကြောင်း အများပေါ် ခွဲဝေနိုင် | Routing protocol traffic က bandwidth ကို ယူသုံး |
| Fault tolerance (တစ်စိတ်တစ်ပိုင်း ပျက်ရင်လည်း ဆက်အလုပ်လုပ်နိုင်မှု): link တစ်ခု ပျက်ရင် တခြား လမ်းကနေ ပြန်ပို့ | Convergence time (router အားလုံး route အသစ်တွေကို သဘောတူသွားတဲ့အထိ ကြာတဲ့ နှောင့်နှေးချိန်) |
Static Routing နဲ့ Dynamic Routing နှိုင်းယှဉ်ချက်
| အချက် | Static Routing | Dynamic Routing |
|---|---|---|
| Configuration (setting သတ်မှတ်ခြင်း) | ကိုယ်တိုင် | အလိုအလျောက် |
| Maintenance (ထိန်းသိမ်းမှု) | များ (ကိုယ်တိုင် update) | နည်း (သူ့ဘာသာ update) |
| Complexity (ရှုပ်ထွေးမှု) | ရိုးရှင်း | ရှုပ်ထွေး |
| Resource usage (resource သုံးစွဲမှု) | နည်း | ပိုများ (routing algorithm တွေ) |
| Convergence | ချက်ချင်း (ပြောင်းစရာ မလို) | ပြောင်းလဲမှု ဖြစ်ပြီးနောက် အချိန် ယူရ |
| Scalability (network ကြီးလာတဲ့အခါမှာလည်း ကောင်းကောင်း ဆက်အလုပ်လုပ်နိုင်မှု) | ညံ့ (network အသေးများ) | ကောင်း (network ကြီးများ) |
| Network size (network အရွယ်အစား) | LAN အသေးများ | LAN ကြီးများနဲ့ WAN (နယ်မြေ ကျယ်ကျယ်ကို ဖုံးတဲ့ network) များ |
ဘယ်အချိန်မှာ ဘယ်ဟာ သုံးမလဲ။ Static routing က network အသေး၊ မပြောင်းလဲတဲ့ network တွေအတွက် သင့်တော်ပါတယ် (ဥပမာ အင်တာနက် ချိတ်ဆက်မှု တစ်ခုတည်း ရှိတဲ့ အိမ်ရုံးခန်း)။ Dynamic routing က link တွေ ပျက်နိုင်တဲ့ ဒါမှမဟုတ် traffic ပုံစံတွေ ပြောင်းလဲတတ်တဲ့ ကြီးမားရှုပ်ထွေးတဲ့ network တွေအတွက် သင့်တော်ပါတယ် (ဥပမာ ရုံးခွဲတွေကြား လမ်းကြောင်း အများ ရှိတဲ့ ကုမ္ပဏီ WAN)။
အဆင့်ဆင့် ရှင်းပြထားတဲ့ ဥပမာများ
ဥပမာ 1: IP Address တွေကို အမျိုးအစား ခွဲခြင်း
IP address တစ်ခုစီကို အမျိုးအစား ခွဲပြီး သူ့ ရည်ရွယ်ချက်ကို ရှင်းပြပါ။
| # | IP Address | အမျိုးအစား | ရှင်းလင်းချက် |
|---|---|---|---|
| 1 | 192.168.0.1 | Private, IPv4 | 192.168.x.x က private range (address အပိုင်းအခြား) ပါ၊ များသောအားဖြင့် အိမ်သုံး router ရဲ့ default address (မူလ သတ်မှတ်ထားတဲ့ address) ပါ |
| 2 | 8.8.8.8 | Public, IPv4 | ကမ္ဘာတစ်ဝှမ်းမှာ တစ်ခုတည်းသာ ရှိပါတယ်၊ ဒါက Google ရဲ့ public DNS (domain နာမည်ကို IP လိပ်စာ ပြောင်းပေးတဲ့ စနစ်) server ပါ |
| 3 | 10.0.0.50 | Private, IPv4 | 10.x.x.x က private range ပါ၊ အဖွဲ့အစည်း တစ်ခုရဲ့ LAN ထဲမှာ သုံးပါတယ် |
| 4 | 2001:0db8::1 | IPv6 | 128-bit hexadecimal ပုံစံပါ၊ IPv6 addressing စနစ်ရဲ့ အစိတ်အပိုင်းပါ |
| 5 | 172.16.5.10 | Private, IPv4 | 172.16-31.x.x က private range ပါ |
ဥပမာ 2: Packet တစ်ခုရဲ့ ခရီး
ကျောင်းသား တစ်ယောက်ရဲ့ laptop ကနေ web server တစ်ခုဆီ packet တစ်ခု သွားပုံကို trace (တစ်ဆင့်ချင်း လိုက်ကြည့်ပြီး မှတ်) လုပ်ပါ:
| အဆင့် | ဖြစ်ပျက်ပုံ | ပါဝင်တဲ့ စက် |
|---|---|---|
| 1 | ဒေတာကို packet တွေ ခွဲပြီး source/dest IP ပါတဲ့ header တွေ ထည့်ပါတယ် | ကျောင်းသားရဲ့ laptop |
| 2 | Packet ကို local network ထဲက switch ဆီ ပို့ပါတယ် | NIC (စက်ကို network နဲ့ ချိတ်ပေးတဲ့ card) → Switch |
| 3 | Switch က router ဆီ ဆက်ပို့ပါတယ် (network မတူလို့) | Switch → Router |
| 4 | Router က NAT ကို သုံးပြီး private IP ကို public IP နဲ့ အစားထိုးပါတယ် | Router (NAT) |
| 5 | Packet ကို အင်တာနက်ကို ဖြတ်ပြီး ဆက်ပို့ပါတယ် (router အများ) | အင်တာနက်ပေါ်က router များ |
| 6 | Packet က web server ရဲ့ network router ဆီ ရောက်ပါတယ် | ဦးတည်ရာ router |
| 7 | Router က switch ဆီ ဆက်ပို့ပြီး switch က web server ဆီ ပို့ပါတယ် | Switch → Web server |
| 8 | Web server က packet number တွေကို သုံးပြီး packet အားလုံးကို ပြန်စုပေါင်းပါတယ် | Web server |
Quick Check (အမြန် စစ်ဆေးမေးခွန်း)
Q1. IPv4 က မတူညီတဲ့ address ဘယ်နှစ်ခု ပေးနိုင်သလဲ။
Q2. NAT ရဲ့ အဓိက လုပ်ဆောင်ချက်က ဘာလဲ။
Q3. ဘယ် transmission medium က electromagnetic interference ကြောင့် မထိခိုက်သလဲ။
Q4. Packet switching မှာ packet header ထဲမှာ ဘယ်အချက်အလက်တွေ ပါသလဲ။
Q5. (HL) Network link တစ်ခု ပျက်သွားတဲ့အခါ ဘယ် routing အမျိုးအစားက အလိုအလျောက် လိုက်ပြောင်းသလဲ။
Address ပြောင်းပုံကို တစ်ဆင့်ချင်း လိုက်ကြည့်ပါ
Computer A (private IP: 192.168.1.5) ကနေ NAT router (public IP: 203.0.113.10) ကို ဖြတ်ပြီး web server (93.184.216.34) ဆီ packet တစ်ခု သွားပုံကို trace လုပ်ပါ။ အဆင့် တစ်ခုစီမှာ source IP address (ပို့သူ IP) နဲ့ destination IP address (လက်ခံသူ IP) ကို ဖြည့်ပါ။
Trace: NAT က address ပြောင်းပုံ
Computer A (192.168.1.5) က NAT router (public IP: 203.0.113.10) ကို ဖြတ်ပြီး web server (93.184.216.34) ဆီ request တစ်ခု ပို့ပါတယ်။ ပြီးတော့ web server က response ပြန်ပို့ပါတယ်။
| အဆင့် | နေရာ | Packet ထဲက Source IP | Packet ထဲက Destination IP |
|---|---|---|---|
| 1 | Computer A က packet ပို့ | ||
| 2 | NAT ပြောင်းပြီးနောက် | ||
| 3 | Web server က response ပို့ | ||
| 4 | NAT ပြန်ပြောင်းပြီးနောက် |
Spot the Error (အမှား ရှာခြင်း)
ကျောင်းသား တစ်ယောက်က packet switching အကြောင်း ပြန်လေ့ကျင့်ဖို့ မှတ်စု ရေးထားပါတယ်။ Line တစ်ကြောင်းမှာ အမှား ပါပါတယ်။ အမှားပါတဲ့ line ကို ရွေးပါ၊ ပြီးရင် မှန်ကန်တဲ့ ပြင်နည်းကို ရွေးပါ။
Line တွေရဲ့ အဓိပ္ပာယ်: (1) ဒေတာကို မပို့ခင် packet တွေ ခွဲတယ်၊ (2) packet အားလုံးက ဦးတည်ရာဆီ လမ်းကြောင်း တစ်ခုတည်းနဲ့ သွားရမယ်၊ (3) packet တစ်ခုစီမှာ source နဲ့ destination IP ပါတဲ့ header ရှိတယ်၊ (4) packet တွေကို ဦးတည်ရာမှာ အစဉ်အတိုင်း ပြန်စုပေါင်းတယ်။
Line 2 အတွက် မှန်ကန်တဲ့ ပြင်နည်းကို ရွေးပါ:
Fill in the Blanks (ကွက်လပ် ဖြည့်ခြင်း)
ကွက်လပ် တစ်ခုစီမှာ မှန်ကန်တဲ့ term ကို ဖြည့်ပြီး ဒေတာ ပို့လွှတ်ခြင်း အနှစ်ချုပ်ကို ပြည့်စုံအောင် လုပ်ပါ။
ကွက်လပ်ပါတဲ့ စာကြောင်းတွေက English နဲ့ ဖြစ်ပြီး ကွက်လပ်တွေကိုလည်း English လို ရိုက်ထည့်ရပါမယ်။ DATA TRANSMISSION (ဒေတာ ပို့လွှတ်ခြင်း) က ခေါင်းစဉ်ပါ။ စာကြောင်းတွေရဲ့ အဓိပ္ပာယ်က အောက်ပါအတိုင်းပါ:
- …… က private IP address နဲ့ public IP address ကြား ပြောင်းပေးပါတယ်။
- …… က IPv4 ရဲ့ address ကုန်သွားတဲ့ ပြဿနာကို ဖြေရှင်းဖို့ 128-bit address တွေကို သုံးပါတယ်။
- Packet switching မှာ ဒေတာကို routing အချက်အလက် ပါတဲ့ header တွေနဲ့ …… တွေအဖြစ် ခွဲပါတယ်။
- …… ကြိုးတွေက ဒေတာကို light pulse တွေအဖြစ် ပို့ပြီး electromagnetic interference ကြောင့် မထိခိုက်ပါဘူး။
- …… IP address ကို DHCP က အလိုအလျောက် ခွဲပေးပြီး အချိန်နဲ့အမျှ ပြောင်းနိုင်ပါတယ်။
ဒီ ဒေတာ ပို့လွှတ်ခြင်း အနှစ်ချုပ်ကို ပြည့်စုံအောင် ကွက်လပ်တွေ ဖြည့်ပါ:
DATA TRANSMISSION
=================
translates between private and public IP addresses.
uses 128-bit addresses to solve the address exhaustion problem of IPv4.
In packet switching, data is broken into with headers containing routing information.
cables transmit data as light pulses and are immune to electromagnetic interference.
A IP address is automatically assigned by DHCP and may change over time.
Predict the Output (output ကို ကြိုခန့်မှန်းခြင်း)
အိမ်သုံး network တစ်ခုမှာ router တစ်ခုနဲ့ ချိတ်ထားတဲ့ စက် 4 ခု ရှိပါတယ်။ ISP က router ကို public IP address တစ်ခု ပေးထားပါတယ်: 203.0.113.5။ စုစုပေါင်း public IP address ဘယ်နှစ်ခု သုံးသလဲ။
ဂဏန်း ရိုက်ထည့်ပါ:
Packet တစ်ခုကို IP address 10.0.0.5 ကနေ 8.8.8.8 ဆီ ပို့ပါတယ်။ Source address (ပို့သူ address) က public လား၊ private လား။
Public ဒါမှမဟုတ် Private လို့ English လို ရိုက်ထည့်ပါ:
Practice Exercises (လေ့ကျင့်ခန်းများ)
Core (အခြေခံ အဆင့်)
-
IP Addressing: IPv4 နဲ့ IPv6 ကြား ကွာခြားချက်ကို Explain (ရှင်းပြပါ) လုပ်ပါ။ IPv6 ကို ဘာကြောင့် တီထွင်ခဲ့သလဲ။
- Transmission Media: အောက်က setup (တပ်ဆင်ထားပုံ) တစ်ခုစီမှာ သူ့ transmission medium ကြောင့် ဖြစ်တဲ့ ပြဿနာ တစ်ခု ရှိပါတယ်။ တစ်ခုစီအတွက် အချက် တစ်ခု (bandwidth၊ cost၊ range ဒါမှမဟုတ် interference) ကို သုံးပြီး ပြဿနာကို explain လုပ်ပါ၊ ပြီးရင် ပိုကောင်းတဲ့ medium တစ်ခုကို suggest (အကြံပြုပါ) လုပ်ပါ။
- (a) အလုပ်ရုံ တစ်ခုက ပုံမှန် twisted pair network ကြိုးကို ဂဟေဆော်စက် (welding machine) တွေရဲ့ ပါဝါကြိုးတွေ ဘေးကနေ သွယ်ထားလို့ ဂဟေ စဆော်တိုင်း connection ပြတ်ပါတယ်။
- (b) အားကစား အသင်း တစ်ခုမှာ အသင်းဆောင်ထဲမှာ Wi-Fi access point တစ်ခုပဲ ရှိပါတယ်။ ကစားကွင်းရဲ့ ဟိုဘက်စွန်း၊ 200 m ခန့် အကွာမှာ tablet သုံးနေတဲ့ နည်းပြတွေက ချိတ်လို့ မရပါဘူး။
- (c) ကော်ဖီဆိုင် ပိုင်ရှင် တစ်ယောက်က ဖောက်သည်တွေ laptop သုံးနိုင်အောင် စားပွဲတိုင်းဆီ fibre optic ကြိုး သွယ်ဖို့ ဈေးနှုန်း မြင့်မြင့် တောင်းခံခံရပါတယ်။
- (d) Video editor 8 ယောက်က ကွန်ပျူတာတွေကြား video file ကြီးတွေ ရွှေ့ဖို့ အလုပ်များနေတဲ့ Wi-Fi network တစ်ခုတည်းကို မျှသုံးလို့ file ရွှေ့တိုင်း နှေးပါတယ်။
- Packet Switching: packet header၊ payload နဲ့ trailer ရဲ့ အခန်းကဏ္ဍ အပါအဝင် packet switching လုပ်ငန်းစဉ်ကို Describe (ဖော်ပြရှင်းပြပါ) လုပ်ပါ။ Packet တွေ ဘာကြောင့် မတူတဲ့ လမ်းကြောင်းတွေနဲ့ သွားနိုင်လဲ Explain လုပ်ပါ။
Extension (တိုးချဲ့ အဆင့်)
-
NAT ကို ရှင်းပြခြင်း: လုပ်ငန်း သေးသေး တစ်ခုမှာ ကွန်ပျူတာ 50 လုံး ရှိပေမယ့် ISP ဆီက public IP address 1 ခုပဲ ရထားပါတယ်။ ကွန်ပျူတာ 50 လုံးလုံး အင်တာနက်ကို တစ်ပြိုင်နက် သုံးနိုင်အောင် NAT က ဘယ်လို လုပ်ပေးလဲ Explain လုပ်ပါ။ အဖြေထဲမှာ ပုံ တစ်ပုံ ထည့်ပါ။
-
Medium ရွေးချယ်ခြင်း: ကျောင်းသစ် တစ်ကျောင်း ဆောက်နေပါတယ်။ အောက်ပါ တစ်ခုစီအတွက် အသင့်တော်ဆုံး transmission medium ကို အကြံပြုပါ: (a) server room (server တွေ ထားတဲ့ အခန်း) ကို စာသင်ခန်း တစ်ခုစီနဲ့ ချိတ်ဆက်ခြင်း၊ (b) စာကြည့်တိုက်မှာ အင်တာနက် သုံးခွင့် ပေးခြင်း၊ (c) 2 km အကွာက ISP နဲ့ ကျောင်းကို ချိတ်ဆက်ခြင်း။ ရွေးချယ်မှု တစ်ခုစီကို Justify (ဘာကြောင့် ရွေးတာလဲ အကြောင်းပြချက်နဲ့ ပြပါ) လုပ်ပါ။
Challenge (စိန်ခေါ်မှု အဆင့်)
- Routing နှိုင်းယှဉ်ချက် (HL): ကုမ္ပဏီ တစ်ခုမှာ WAN နဲ့ ချိတ်ထားတဲ့ ရုံး 5 ခု ရှိပါတယ်။ ဒီ network အတွက် static routing နဲ့ dynamic routing ကို Compare and contrast (နှစ်ခုလုံးကို တစ်လျှောက်လုံး ကိုးကားပြီး တူတာနဲ့ ကွာတာကို ဖော်ပြပါ) လုပ်ပါ။ အဖြေထဲမှာ အောက်ပါ အချက်တွေကို discuss (အမြင် အမျိုးမျိုးကို ချိန်ဆပြီး ဆွေးနွေးပါ) လုပ်ပါ: (a) ဘယ်နည်းက ပိုသင့်တော်လဲ၊ ဘာကြောင့်လဲ၊ (b) ရုံး နှစ်ခုကြား link တစ်ခု ပျက်သွားရင် နည်း တစ်ခုစီမှာ ဘာဖြစ်လဲ၊ (c) resource သုံးစွဲမှု၊ ရှုပ်ထွေးမှုနဲ့ scalability မှာ trade-off (တစ်ခု ရဖို့ တစ်ခု အလျှော့ပေးရတာ) များ၊ (d) convergence ဆိုတဲ့ အယူအဆနဲ့ ဒါက ဘာကြောင့် အရေးကြီးလဲ။
ဆက်စပ် ခေါင်းစဉ်များ
- အရင် လေ့လာထားရမယ့် ခေါင်းစဉ်: Network Fundamentals (network အခြေခံများ): data transmission ကို ကိုင်တွယ်တဲ့ network အမျိုးအစားတွေ (LAN၊ WAN) နဲ့ စက်တွေ (router၊ switch) ကို နားလည်ထားဖို့
- အရင် လေ့လာထားရမယ့် ခေါင်းစဉ်: Protocols and Layers (protocol များနဲ့ network အလွှာများ): packet တွေကို ဘယ်လို ပုံစံချပြီး ပို့မလဲဆိုတာကို TCP/IP protocol တွေက သတ်မှတ်ပါတယ်
- ဆက်စပ် ခေါင်းစဉ်: Number Systems (ဂဏန်းစနစ်များ): IP address တွေက အခြေခံအားဖြင့် binary (0 နဲ့ 1 ကိုပဲ သုံးတဲ့ ဂဏန်းစနစ်) ဂဏန်းတွေပါ၊ IPv4 က 32 bit ဖြစ်ပြီး IPv6 က 128 bit ပါ
- နောက်ထပ် လေ့လာမယ့် ခေါင်းစဉ်: Network Security (network လုံခြုံရေး): NAT က လုံခြုံရေး အလွှာ တစ်ခု ပေးပါတယ်၊ firewall (network အဝင်အထွက်ကို စစ်ထုတ်တဲ့ အကာအကွယ်) တွေက packet inspection (packet ကို စစ်ဆေးခြင်း) ကို သုံးပါတယ်
- နောက်ထပ် လေ့လာမယ့် ခေါင်းစဉ်: Encryption (ဒေတာကို ဖတ်မရအောင် ပြောင်းခြင်း): ပို့နေတုန်း ကြားဖြတ် မယူနိုင်အောင် packet ထဲက ဒေတာကို encrypt လုပ်နိုင်ပါတယ်