Networking အခြေခံများ
Networking ဆိုတာဘာလဲ?
Networking ဆိုတာ Computer တွေ၊ Device တွေကို တစ်ခုနဲ့တစ်ခု ချိတ်ဆက်ပြီး Data တွေ၊ Resources တွေကို အပြန်အလှန် မျှဝေအသုံးပြုနိုင်အောင် လုပ်ဆောင်ပေးတဲ့ နည်းပညာတစ်ခု ဖြစ်ပါတယ်။ ရိုးရိုးရှင်းရှင်းပြောရရင်တော့ Computer နှစ်လုံး (သို့) Device များကို ချိတ်ဆက်ပြီး File, Printer, Internet စတဲ့ Resources တွေကို အတူတကွ အသုံးပြုနိုင်တဲ့ System လို့ ဆိုနိုင်ပါတယ်။
ဘာကြောင့် Networking ကို သင်ကြားရမလဲ?
- DevOps Engineer, Cloud Engineer တွေအတွက် Networking ဟာ မဖြစ်မနေ သိထားရမည့် အခြေခံပညာဖြစ်ပါတယ်
- AWS, GCP, Azure မှာ VPC, Subnet, Security Group တွေ configure လုပ်ရင် Networking ကို မသိဘဲ မဖြစ်ပါဘူး
- Production server တွေမှာ Firewall, Load Balancer, DNS configure လုပ်ဖို့ Networking fundamentals မဖြစ်မနေ လိုပါတယ်
- ပြဿနာဖြစ်တိုင်း "Network ပြဿနာပဲ" လို့ မှားယွင်းကောက်ချက်မချဘဲ root cause ကို တိတိကျကျ ရှာဖွေဖြေရှင်းနိုင်ဖို့ အခြေခံအားဖြင့် တီးမိခေါက်မိရှိဖို့တော့ လိုအပ်ပါတယ်
Networking ရဲ့ အသုံးဝင်ပုံများ -
- Resource Sharing — Printer, File, Database တွေကို network ထဲမှာ share သုံးနိုင်ပါတယ်
- Communication — Email, Chat, Video Call တွေကို network ကနေ send/receive လုပ်ပါတယ်
- Internet Access — Website, Cloud Services တွေကို network ကနေ access လုပ်ပါတယ်
- Remote Work — VPN ကနေ office server တွေကို အိမ်ကနေ access လုပ်နိုင်ပါတယ်
- Cloud Computing — AWS EC2, S3 စတာတွေဟာ networking ပေါ်မှာ အချင်းချင်း ဆက်သွယ်ပါတယ်
Network Area Types
Network ကို Coverage Area (အကျယ်အဝန်း) အလိုက် အမျိုးအစားခွဲထားပါတယ်။
| Type | Full Name | Coverage | ဥပမာ |
|---|---|---|---|
| PAN | Personal Area Network | တစ်ဦးချင်း (အလွန်နီးကပ်) | Bluetooth, Phone ↔ Laptop |
| LAN | Local Area Network | အဆောက်အဦး / Office / Campus | Office WiFi, School Lab |
| MAN | Metropolitan Area Network | မြို့ / Region တစ်ခု | City ISP Backbone Network |
| WAN | Wide Area Network | နိုင်ငံ / ကမ္ဘာလုံး | Internet, Global Enterprise Network |
PAN: [Phone] <--Bluetooth--> [Laptop] (~1-10m)
LAN: [PC-1] ---[Switch]--- [PC-2] (Room / Office)
MAN: [Office A] =====Fiber===== [Office B] (City level)
WAN: [Myanmar] ---- Internet ---- [Singapore] (Global)
Cloud (AWS) Mapping
Cloud Networking သည် LAN + WAN Concepts ကို Virtualize လုပ်ထားသော ပုံစံဖြစ်သည်။
LAN → AWS VPC (Virtual Private Cloud)
VPC ဆိုတာ Cloud ထဲမှာ Virtual LAN တစ်ခုဖန်တီးထားတာဖြစ်သည်။
VPC (10.0.0.0/16)
|-- Public Subnet --> EC2 (Web Server)
|-- Private Subnet --> EC2 (App / DB)
- Subnets = LAN Segments
- EC2 Instances = Devices inside LAN
- Security Groups = Firewall inside LAN
MAN → Multi-AZ Architecture
Same Region ထဲမှာ Availability Zones များကို Interconnect လုပ်ထားသော ပုံစံ — City-level redundancy နှင့် တူသည်။
WAN → Internet Gateway + Global Backbone
Internet Gateway (IGW) မှတစ်ဆင့် VPC ကို Internet နှင့် ချိတ်ဆက်ပြီး Cross-region communication ပြုလုပ်သည်။
DevOps မှတ်ချက်: LAN = VPC Design, MAN = Multi-AZ Architecture, WAN = Internet + Multi-region Systems.
Network Topology
Network Topology ဆိုတာ Network ထဲရှိ Devices တွေကို ဘယ်လို Layout / Structure နဲ့ ချိတ်ဆက်ထားလဲ ဆိုတာကို ဆိုလိုပါတယ်။ Topology ရွေးချယ်မှုသည် Performance, Cost, Scalability, Fault Tolerance တို့အပေါ် တိုက်ရိုက်သက်ရောက်မှုရှိသည်။
1. Bus Topology
Devices အားလုံးကို Single Backbone Cable တစ်ကြောင်းပေါ်မှာ ချိတ်ဆက်ထားသော ပုံစံဖြစ်သည်။
[PC-1]--[PC-2]--[PC-3]--[PC-4]--[PC-5]
|________ Backbone Cable ______________|
| အားသာချက် | အားနည်းချက် |
|---|---|
| Setup လုပ်ရ လွယ်ကူ | Backbone Cable ပျက်လျှင် Network တစ်ခုလုံး Down သွား |
| Cable အသုံးပြုမှု နည်း | Data Collision ဖြစ်နိုင်ချေ မြင့်မားသည် |
| Cost သက်သာ | Troubleshooting ခက်ခဲသည် |
ယနေ့ခေတ်တွင် မသုံးတော့သလောက်ဖြစ်ပြီး Small Temporary Networks တွင်သာ တွေ့ရသည်။
2. Ring Topology
Devices များကို Loop (Ring) ပုံစံ ချိတ်ဆက်ထားပြီး Data သည် Uni-directional (သို့) Dual-directional ဖြင့် လှည့်ပတ်သွားသည်။
[PC-1]
/ \
[PC-4] [PC-2]
\ /
[PC-3]
| အားသာချက် | အားနည်းချက် |
|---|---|
| Data Collision နည်းသည် | Device တစ်ခု ပျက်လျှင် Entire Ring ထိခိုက်နိုင်သည် |
| Data Flow Predictable ဖြစ် | Expand လုပ်ရန် ခက်ခဲသည် |
Token Ring Systems တွင် အသုံးပြုခဲ့ပြီး ယနေ့ခေတ်တွင် မသုံးတော့ပါ။
3. Star Topology (အသုံးများဆုံး)
Devices အားလုံးကို Central Device (Switch / Hub) တစ်ခုနှင့် ချိတ်ဆက်ထားသော ပုံစံဖြစ်သည်။
[PC-1]
|
[PC-4] ---[Switch]--- [PC-2]
|
[PC-3]
| အားသာချက် | အားနည်းချက် |
|---|---|
| Device တစ်ခု ချို့ယွင်းလျှင် ကျန်တာ မထိခိုက် | Central Switch ပျက်လျှင် Network Down သွား |
| Troubleshooting လွယ်ကူသည် | Cable အသုံးများသည် |
| Expand လုပ်ရ လွယ်ကူသည် |
Office Networks, Home Networks, Cloud Virtual Networks (VPC) တွင် အသုံးများဆုံး Topology ဖြစ်သည်။
4. Tree Topology
Star Topology များကို Hierarchy (အဆင့်ဆင့်) ပုံစံဖြင့် ချိတ်ဆက်ထားခြင်းဖြစ်သည်။
[Root Switch]
/ \
[Switch-A] [Switch-B]
/ | \ / | \
[PC] [PC] [PC] [PC] [PC] [PC]
| အားသာချက် | အားနည်းချက် |
|---|---|
| Large Network များအတွက် Scalable ဖြစ် | Root Switch ပျက်လျှင် Network တစ်ခုလုံးထိခိုက် |
| Management လုပ်ရ လွယ်ကူသည် | Design ပိုရှုပ်ထွေးသည် |
Campus Networks, Enterprise Networks တွင် အသုံးများသည်။
5. Mesh Topology
Device တစ်ခုချင်းစီသည် အခြား Devices များနှင့် တိုက်ရိုက်ချိတ်ဆက်ထားသော ပုံစံဖြစ်သည်။ Redundancy အမြင့်ဆုံးဖြစ်သည်။
[PC-1] ----------- [PC-2]
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
[PC-3] ----------- [PC-4]
| အားသာချက် | အားနည်းချက် |
|---|---|
| High Fault Tolerance ရှိသည် | Cable / Connection များလွန်းသည် |
| Redundancy အမြင့်ဆုံး | Cost မြင့်မားသည် |
| Direct Path → Low Latency ရသည် | Complexity မြင့်မားသည် |
Internet Backbone (Logical Mesh), Service Mesh (Microservices), WireGuard VPN Mesh တွင် အသုံးများသည်။
Topology Summary
| Topology | Best For | Weak Point |
|---|---|---|
| Bus | Small networks | Single cable failure |
| Ring | Legacy systems | One node failure affects all |
| Star | Most modern networks | Central switch dependency |
| Tree | Large enterprise networks | Root failure risk |
| Mesh | High reliability systems | Cost + complexity |
DevOps မှတ်ချက်: AWS VPC = Star + Tree Hybrid (logical). Kubernetes Networking = Logical Mesh. Internet = Partial Mesh (BGP routing).
Network Communications
Data ကို Network ပေါ်မှာ ဘယ်လို ပို့ဆောင်လဲ ဆိုတဲ့ ပုံစံ (Communication Types) ၃ မျိုးရှိပါတယ်။
1. Unicast (One to One)
Source Device တစ်ခုကနေ Destination Device တစ်ခုကိုပဲ Data ပို့ပါတယ်။
[Client] ---------------------------> [Server]
ဥပမာ: Browser ကနေ Web Server တစ်ခုကို HTTP Request ပို့တာ, File download လုပ်တာ
2. Multicast (One to Many)
Source Device တစ်ခုကနေ Devices အချို့ (Group member များ) ကိုသာ Data ပို့ပါတယ်။
+--> [PC-A] (Group member)
[Server] ----+--> [PC-B] (Group member)
+--> [PC-C] (Group member)
-x-> [PC-D] (Group မဟုတ်)
ဥပမာ: Online Video Streaming (Netflix), Video Conference (Zoom group), OSPF routing protocol updates
3. Broadcast (One to All)
Source Device တစ်ခုကနေ Network ထဲမှာ ရှိတဲ့ Devices အားလုံးကို Data ပို့ပါတယ်။
+--> [PC-A]
+--> [PC-B]
[Server] ----+--> [PC-C]
+--> [PC-D]
+--> [PC-E]
ဥပမာ: DHCP Server ကနေ IP Address ပေးဖို့ broadcast လုပ်တာ, ARP (Address Resolution Protocol)
| Type | Destination | IP Example | ဥပမာ |
|---|---|---|---|
| Unicast | ၁ ဦးတည်း | 192.168.1.5 | Web browsing, SSH |
| Multicast | Group members | 224.0.0.x | Video streaming, OSPF |
| Broadcast | Network ထဲ ရှိသမျှ | 192.168.1.255 | DHCP discovery, ARP |
Network Cables
Physical network မှာ Device တွေကို ချိတ်ဆက်ဖို့ Cable ၃ မျိုးကို အဓိကသုံးပါတယ်။
1. Twisted Pair Cable
Copper wire pair တွေကို twist လှည့်ထားတဲ့ cable ဖြစ်ပါတယ်။ ဥပမာ: Ethernet cable (Cat5e, Cat6, Cat7)
(W1)~~(W2) <- Pair 1, twisted
(W3)~~(W4) <- Pair 2, twisted
(W5)~~(W6) <- Pair 3, twisted
(W7)~~(W8) <- Pair 4, twisted
8 wires / 4 pairs inside 1 cable
- UTP (Unshielded Twisted Pair) — Shield မပါ, Office network မှာ အသုံးများ
- STP (Shielded Twisted Pair) — Shield ပါ, EMI interference နည်းသည်
2. Coaxial Cable
Central copper conductor ကို insulation, metal shield, outer jacket တွေနဲ့ ဝိုင်းဖုံးထားတဲ့ cable ဖြစ်ပါတယ်။ Cable TV, Old Ethernet (10BASE2) မှာ အသုံးများ
[Outer jacket] → [Metal shield] → [Insulation] → [Copper core]
3. Fiber Optic Cable
Copper wire အစား Glass/Plastic fiber ကနေ Light (photon) ကို signal အဖြစ် ပို့ဆောင်တဲ့ cable ဖြစ်ပါတယ်။
- Single-mode — Light ၁ ကြောင်းပဲ ဖြတ်သန်း, ကွာဝေးပါတယ် (Long distance, ISP, Datacenter inter-connect)
- Multi-mode — Light ကြောင်းများ ဖြတ်သန်း, တိုပါတယ် (Campus building တွင်း)
Cable Comparison Table
| Feature | Twisted Pair (Cat6) | Coaxial | Fiber Optic |
|---|---|---|---|
| Bandwidth | 1 Gbps (Cat6a: 10 Gbps) | 10 Mbps–1 Gbps | 10 Gbps–100 Gbps+ |
| Distance | 100m max | 500m max | 2km–80km+ |
| Price | ဈေးသက်သာ | အလတ်စား | ဈေးကြီး |
| Interference | EMI ခံနိုင်ရည် နည်း | ခံနိုင်ရည် အကြောင်းမဟုတ် | EMI မထိခိုက် (light သုံး) |
| Weight | ပေါ့ပါး | အတော်လေးလေးသည် | ပေါ့ပါးသည် |
| Flexibility | ကောင်း | အနည်းငယ်ကြမ်းသည် | ကြမ်းသည် (ကွေးချိုးမပါ) |
| ဘယ်မှာသုံးလဲ | Office LAN, Home WiFi | Cable TV, CCTV | Datacenter, ISP, Long distance |
DevOps မှတ်ချက်: Cloud မှာ Server တွေချိတ်ဆက်တဲ့ physical layer ဟာ Fiber Optic ဖြစ်ပြီး ကျွန်တော်တို့က Virtual NIC (vNIC) ကနေ abstract ပုံစံနဲ့ access လုပ်ပါတယ်။ Latency optimize လုပ်ချင်ရင် AWS Availability Zone တွေနဲ့ placement groups ကို Fiber topology နားလည်ထားမှ ဆုံးဖြတ်နိုင်မှာပါ။
IP Address
IP Address ဆိုတာဘာလဲ?
IP Address (Internet Protocol Address) ဆိုတာ Network ထဲမှာ ရှိတဲ့ Device တစ်ခုချင်းစီကို သတ်မှတ်ပေးတဲ့ unique identifier (ထူးခြားသော လိပ်စာ) တစ်ခုဖြစ်ပါတယ်။
ဥပမာ — Real world မှာ အိမ်တစ်လုံးကို address (လမ်းနံပါတ်) နဲ့ သတ်မှတ်သလိုပဲ Network ထဲမှာ Device တစ်ခုကို IP Address နဲ့ သတ်မှတ်ပါတယ်။
Real World : "No.123, Pyay Road, Yangon" <- House Address
Network : "192.168.1.50" <- IP Address
IPv4 Address Structure
IPv4 Address ဟာ 32 bits ပါဝင်ပြီး dot (.) ၃ ခုနဲ့ 4 octets (8 bits × 4) ဆိုပြီး ခွဲပါတယ်။
192 . 168 . 1 . 50
11000000 . 10101000 . 00000001 . 00110010
(8 bits) (8 bits) (8 bits) (8 bits)
32 bits total
Octet တစ်ခုမှာ 8 bits ပါတဲ့အတွက် 0 မှ 255 ထိ (2⁸ = 256 values) ဖြစ်နိုင်ပါတယ်။
IP Address Classes
IPv4 ကို ၅ Class ခွဲပြားထားပါတယ်:
| Class | Range | Subnet Mask | CIDR | Private Range | Usable Hosts | မှတ်ချက် |
|---|---|---|---|---|---|---|
| A | 1.0.0.0 – 126.255.255.255 | 255.0.0.0 | /8 | 10.0.0.0 – 10.255.255.255 | 16,777,214 | Large orgs |
| B | 128.0.0.0 – 191.255.255.255 | 255.255.0.0 | /16 | 172.16.0.0 – 172.31.255.255 | 65,534 | Medium orgs |
| C | 192.0.0.0 – 223.255.255.255 | 255.255.255.0 | /24 | 192.168.0.0 – 192.168.255.255 | 254 | Small networks |
| D | 224.0.0.0 – 239.255.255.255 | — | — | — | — | Multicast only |
| E | 240.0.0.0 – 255.255.255.255 | — | — | — | — | Research/Reserved |
Loopback Address:
127.0.0.0မှ127.255.255.255ထိ — ဒီ range ဟာ Loopback / Testing အတွက် Reserved ဖြစ်ပါတယ်။ping 127.0.0.1ဆိုရင် မိမိ Computer ထဲပဲ ping ပြန်သွားပြီး Network မပါဝင်ပါဘူး — NIC (Network Interface Card) အလုပ်လုပ်/မလုပ် test လုပ်ဖို့ သုံးပါတယ်။
Network Part vs Host Part
IP Address မှာ Network Part (ဘယ် network ထဲမှာ) နဲ့ Host Part (ဘယ် device) ဆိုပြီး ၂ ပိုင်း ရှိပါတယ်:
Class A: N . H . H . H (1 octet Network, 3 octets Host)
Class B: N . N . H . H (2 octets Network, 2 octets Host)
Class C: N . N . N . H (3 octets Network, 1 octet Host)
ဥပမာ (Class C - 192.168.1.50):
192.168.1 = Network Part (ဘယ် network ထဲမှာ ဆိုတာ)
50 = Host Part (ဘယ် device ဆိုတာ)
Subnet Mask — Binary ပုံစံ
Subnet Mask ဟာ IP Address ရဲ့ ဘယ်အပိုင်းက Network ဆိုတာ၊ ဘယ်အပိုင်းက Host ဆိုတာ ဖော်ပြပေးပါတယ်:
Class A (/8) -- Subnet Mask: 255.0.0.0
Binary: 11111111.00000000.00000000.00000000
NNNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH
Class B (/16) -- Subnet Mask: 255.255.0.0
Binary: 11111111.11111111.00000000.00000000
NNNNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH
Class C (/24) -- Subnet Mask: 255.255.255.0
Binary: 11111111.11111111.11111111.00000000
NNNNNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH
N = Network bit (1) H = Host bit (0)
CIDR Notation (/8, /16, /24): Slash နောက်က number ဟာ Binary 1 ရေတဲ့ count ဖြစ်ပါတယ်။
/24ဆိုတာ left side ကနေ 1 ၂၄ ခုဆိုတဲ့ သဘောပါ — ဒါဟာ Network part ကိုကိုယ်စားပြုပါတယ်။
Private vs Public IP
Class table ထဲမှာ Private Range ကို ဖော်ပြထားပြီးဖြစ်ပြီး Private ranges ကနေ ကျော်တဲ့ IP အားလုံးဟာ Public IP ဖြစ်ပြီး Internet ပေါ်မှာ directly routable ဖြစ်ပါတယ်။
Home WiFi Router:
WAN (Public) IP: 203.81.x.x <- ISP ပေးတဲ့ Public IP (Internet)
LAN (Private) IP: 192.168.1.1 <- Router ရဲ့ Private IP (Default Gateway)
Laptop : 192.168.1.50 <- Private IP
Phone : 192.168.1.51 <- Private IP
AWS မှတ်ချက်: AWS VPC မှာ Subnet ဖန်တီးရင် Private IP range (10.0.0.0/16 စတာ) ကိုသာ သုံးပါတယ်။ Instance တွေဟာ Private IP ရပြီး Internet ထဲ ဝင်ဖို့ NAT Gateway (Public Subnet) ကနေ Public IP ကို ယူသုံးပါတယ်။
Default Gateway
Default Gateway ဆိုတာ Local Network ကနေ အပြင် (Internet သို့မဟုတ် other networks) ကို packet တွေ ထွက်သွားဖို့ ဖြတ်သန်းရတဲ့ Router ရဲ့ IP Address ဖြစ်ပါတယ်။ "Network ရဲ့ တံခါးပေါက်" လို့ မှတ်ထားနိုင်ပါတယ်။
[Laptop 192.168.1.50]
|
| (destination = 8.8.8.8 → not local → send to gateway)
|
[Router/Gateway 192.168.1.1]
|
| (NAT + route to internet)
|
[Internet → 8.8.8.8]
- Destination IP ဟာ same network ထဲမှာ ဆိုရင် → directly ပို့
- Destination IP ဟာ different network ဆိုရင် → Default Gateway ကို ဦးဆုံးပို့
# Linux မှာ default gateway ကြည့်
ip route show | grep default
# Output: default via 192.168.1.1 dev eth0
Host Count ကို တွက်ချက်နည်း
Formula:
Usable Hosts = 2ᴴ - 2
H = Host bits အရေအတွက် (Subnet Mask မှာ 0 ဖြစ်တဲ့ bits)
-2 = Network Address (ပထမဆုံး Address) နှင့် Broadcast Address (နောက်ဆုံး Address) တို့ကို Host အဖြစ် အသုံးမပြုနိုင်သောကြောင့် နုတ်ရခြင်း ဖြစ်သည်။
ဥပမာ — 192.168.10.0 /24:
Address: 192.168.10.0
Binary: 11000000.10101000.00001010.00000000
Netmask: 255.255.255.0 (/24)
Binary: 11111111.11111111.11111111.00000000
# Wildcard Mask = Netmask ကို inverse ပြောင်းထားခြင်း
Wildcard: 0.0.0.255
Binary: 00000000.00000000.00000000.11111111
└─ H bits = 8
တွက်ချက်ခြင်း:
Host bits (H) = 8
Total IPs = 2⁸ = 256
Usable Hosts = 256 - 2 = 254
Network Address (ပထမဆုံး): 192.168.10.0 → ← ဒီ IP ကို device ကို assign မပေးနိုင်
HostMin (ပထမ usable): 192.168.10.1
HostMax (နောက်ဆုံး usable): 192.168.10.254
Broadcast (နောက်ဆုံးဆုံး): 192.168.10.255 → ← ဒီ IP ကို device ကို assign မပေးနိုင်
Usable Host Count: 254 (Private Network)
Class အလိုက် Host Count:
| Class | Subnet Mask | Host Bits | Total IPs | Usable Hosts |
|---|---|---|---|---|
| A (/8) | 255.0.0.0 | 24 | 16,777,216 | 16,777,214 |
| B (/16) | 255.255.0.0 | 16 | 65,536 | 65,534 |
| C (/24) | 255.255.255.0 | 8 | 256 | 254 |
IPv6
IPv4 (32 bits) တွင် IP Address များ မလုံလောက်တော့သောကြောင့်၊ ထိုပြဿနာကို ဖြေရှင်းရန် IPv6 (128 bits) ကို တီထွင်ခဲ့ကြပါတယ်။
IPv4: 192.168.1.1 (32-bit, dot-decimal)
IPv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 (128-bit, colon-hexadecimal)
IPv6: 2001:db8::8a2e:370:7334 (:: shorthand ဖြင့် ချုံ့ထားသောပုံစံ)
::shorthand: IPv6 မှာ consecutive zero groups တွေကို::နဲ့ ချုံ့ရေးနိုင်ပါတယ်။0000:0000:0000→::။ Address တစ်ခုမှာ တစ်ကြိမ်သာ သုံးနိုင်ပါတယ်။
| Feature | IPv4 | IPv6 |
|---|---|---|
| Bits | 32 bits | 128 bits |
| Format | Dot-decimal (192.168.1.1) | Colon-hexadecimal (2001:db8::1) |
| Total Addresses | ~4.3 billion | 340 undecillion+ |
| NAT လိုသလား | လိုအပ်သည် (address မလုံလောက်မှုကြောင့်) | မလိုအပ်တော့သလောက် (Address အရေအတွက် အလွန်များသောကြောင့်) |
| Header | Variable length, complex | Fixed 40 bytes, simpler |
OSI 7 Layers
OSI (Open Systems Interconnection) Model သည် Network communication ကို Layer ၇ ဆင့်ဖြင့် ခွဲခြားဖော်ပြထားသော Reference Model တစ်ခု ဖြစ်သည်။ Layer တစ်ခုချင်းစီတွင် Data ကို PDU (Protocol Data Unit) ဟု ခေါ်ကြပြီး Layer အလိုက် အမည်ကွဲပြားသွားပါတယ်။ Data ပေးပို့သောအခါ Layer 7 မှ Layer 1 သို့ Encapsulation (ထုပ်ပိုးခြင်း) ပြုလုပ်ပြီး PDU အမည်များသည် — Data → Segments → Packets → Frames → Bits ဟူ၍ အဆင့်လိုက် ပြောင်းလဲသွားသည်။
ဘာကြောင့် အရေးကြီးလဲ? Network Troubleshooting လုပ်ရာတွင် — "Layer 1 ပြဿနာလား? (Cable, Signal)" "Layer 3 ပြဿနာလား? (IP, Routing)" ဆိုပြီး Layer အလိုက် ခွဲခြမ်းစစ်ဆေးနိုင်ပါတယ်။ ထို့အပြင် Router သည် Layer 3 Device၊ Switch သည် Layer 2 Device ဆိုတာကိုလည်း အလွယ်တကူ နားလည်နိုင်ပါတယ်။
OSI Layers များကို အောက်မှ အပေါ်သို့ (Layer 1 → Layer 7) အစဉ်လိုက် ဖော်ပြထားပါတယ် -
+-----------------------------------------+
| Layer 7 - Application (HTTP, FTP) | <- User မြင်တဲ့ level
+-----------------------------------------+
| Layer 6 - Presentation (SSL, JPEG) |
+-----------------------------------------+
| Layer 5 - Session (NetBIOS) |
+-----------------------------------------+
| Layer 4 - Transport (TCP, UDP) |
+-----------------------------------------+
| Layer 3 - Network (IP, Router) |
+-----------------------------------------+
| Layer 2 - Data Link (MAC, Switch) |
+-----------------------------------------+
| Layer 1 - Physical (Cable, Hub) | <- Physical hardware
+-----------------------------------------+
Layer 7 သည် User နှင့် အနီးစပ်ဆုံး Layer ဖြစ်ပြီး
Layer 1 သည် Physical Hardware နှင့် ဆက်စပ်သော Layer ဖြစ်သည်။
Layer 1 — Physical Layer
Data Unit: Bits (0 နဲ့ 1)
Physical Layer ဟာ Bit များကို electrical signal, light signal, သို့မဟုတ် radio wave အဖြစ် Physical medium မှတဆင့် ပေးပို့သော Layer ဖြစ်ပါတယ်။
- Devices: Cable, Hub, Repeater, Network Adapter (NIC)
- ဥပမာ: Ethernet cable, Fiber optic, WiFi radio waves
ဖြစ်နိုင်သော ပြဿနာများ:
- Cable ပြတ်ခြင်း / ချိတ်ဆက်မှု မမှန်ခြင်း
- NIC ပျက်စီးခြင်း
- Signal အားနည်းခြင်း (WiFi)
Troubleshooting (Physical Layer only):
- Cable ချိတ်ဆက်မှု စစ်ဆေးခြင်း
- NIC / Switch port Link Light စစ်ဆေးခြင်း
- Signal Strength စစ်ဆေးခြင်း
(Note: ping = Layer 3 test -- L1 troubleshoot တွင် မသုံးပါ)
Layer 2 — Data Link Layer
Data Unit: Frames
Data Link Layer သည် MAC Address (Physical Address) ကို အသုံးပြုပြီး တူညီသော Network အတွင်းရှိ Device များကြား Data transfer ပြုလုပ်ပေးတဲ့ Layer ဖြစ်ပါတယ်။
- Devices: Switch, Bridge
- Protocols: Ethernet, WiFi (802.11), ARP
- MAC Address:
00:1A:2B:3C:4D:5E— NIC (Network Interface Card) တစ်ခုချင်းစီအတွက် Manufacturer မှ သတ်မှတ်ပေးထားသော Unique Hardware Address ဖြစ်သည်။
Switch သည် Layer 2 Device ဖြစ်ပြီး —
MAC Address Table ကို အသုံးပြုကာ
မည်သည့် Port မှ မည်သည့် MAC Address သို့
Data ပို့ရမည်ကို ဆုံးဖြတ်ပေးသည်။
ARP (Address Resolution Protocol) — IP မှ MAC ရှာဖွေပုံ:
Layer 3 IP Address မှ Layer 2 MAC Address ကို ရှာဖွေရန် ARP ကို အသုံးပြုသည်။
[PC: 192.168.1.50] သည် [Router: 192.168.1.1] သို့ ဆက်သွယ်လိုသောအခါ —
Step 1: ARP Request (Broadcast)
"192.168.1.1 ကို ဘယ်သူအသုံးပြုနေပါသလဲ? MAC Address ပြောပါ"
Step 2: ARP Reply (Unicast)
"ကျွန်ုပ်၏ MAC Address သည် AA:BB:CC:DD:EE:FF ဖြစ်သည်"
Step 3: ARP Cache တွင် သိမ်းဆည်းပြီး နောက်တစ်ကြိမ်တွင် Directly ဆက်သွယ်နိုင်သည်။
# ARP cache ကြည့်ခြင်း
arp -a
# 192.168.1.1 at aa:bb:cc:dd:ee:ff on en0
Layer 3 — Network Layer
Data Unit: Packets
Network Layer သည် IP Address ကို အသုံးပြုပြီး မတူညီသော Network များကြား (Inter-network) Data routing ပြုလုပ်သော Layer ဖြစ်သည်။
- Devices: Router
- Protocols: IP (IPv4, IPv6), ICMP (ping), OSPF, BGP
Router သည် Layer 3 Device ဖြစ်ပြီး —
Routing Table ကို အသုံးပြုကာ
"ဤ Packet ကို မည်သည့် Next Hop သို့ ပို့ရမည်နည်း"
ဆိုသည်ကို ဆုံးဖြတ်ပေးသည်။
AWS မှတ်ချက်: AWS Route Table သည် Layer 3 Routing ကို Virtual ပုံစံဖြင့် Implement လုပ်ထားခြင်း ဖြစ်သည်။
Layer 4 — Transport Layer
Data Unit: Segments (TCP) / Datagrams (UDP)
Transport Layer သည် End-to-End Data Delivery ကို Manage လုပ်ပေးပြီး Port Numbers များကို အသုံးပြုသော Layer ဖြစ်သည်။
- TCP (Transmission Control Protocol) — Reliable, Connection-oriented; Connection တည်ဆောက်ပြီးမှ Data ပို့သည်
- UDP (User Datagram Protocol) — Faster, Connectionless; Connection မတည်ဆောက်ဘဲ Data ပို့သည်
21 = FTP
22 = SSH
25 = SMTP (Email Sending)
53 = DNS (UDP for queries, TCP for zone transfers / large responses)
67 = DHCP Server port (UDP only)
68 = DHCP Client port (UDP only)
80 = HTTP
443 = HTTPS
3306 = MySQL
5432 = PostgreSQL
Layer 5 — Session Layer
Data Unit: Data
Session Layer သည် Application များကြားရှိ Communication Session များကို တည်ဆောက်ခြင်း၊ ထိန်းသိမ်းခြင်း၊ ဆုံးသတ်ခြင်းတို့ကို လုပ်ဆောင်သော Layer ဖြစ်သည်။
- ဥပမာ: Login Session, Database Connection, Video Call Session (Zoom)
Layer 6 — Presentation Layer
Data Unit: Data
Presentation Layer သည် Data ကို Format ပြောင်းခြင်း၊ Encoding ပြုလုပ်ခြင်း၊ Encryption / Decryption ပြုလုပ်ခြင်း၊ Compression ပြုလုပ်ခြင်းတို့ကို လုပ်ဆောင်သော Layer ဖြစ်သည်။
- Encryption: SSL/TLS (HTTPS)
- Compression: JPEG, MP3, ZIP
- Encoding: ASCII, Unicode (UTF-8)
Layer 7 — Application Layer
Data Unit: Data
Application Layer သည် User နှင့် Directly Interact လုပ်သော Topmost Layer ဖြစ်သည်။
- Protocols: HTTP, HTTPS, FTP, SSH, DNS, SMTP, DHCP
Request (Sending):
Browser → HTTP Request → Layer 7 → Layer 6 → Layer 5 → Layer 4 → Layer 3 → Layer 2 → Layer 1 → Network
Response (Receiving):
Network → Layer 1 → Layer 2 → Layer 3 → Layer 4 → Layer 5 → Layer 6 → Layer 7 → Browser
OSI Layers Summary Table
| Layer | Name | Data Unit | Key Protocols | Devices |
|---|---|---|---|---|
| 7 | Application | Data | HTTP, HTTPS, FTP, DNS, SMTP | Browser, Mail Server |
| 6 | Presentation | Data | SSL/TLS, JPEG, ZIP | — |
| 5 | Session | Data | NetBIOS, RPC | — |
| 4 | Transport | Segment/Datagram | TCP, UDP | Firewall (L4) |
| 3 | Network | Packet | IP, ICMP, OSPF | Router |
| 2 | Data Link | Frame | Ethernet, ARP | Switch, Bridge |
| 1 | Physical | Bits | — | Cable, Hub, NIC |
မှတ်ချက် — Mnemonic (မှတ်ရလွယ်ဖို့):
Top → Bottom: "All People Seem To Need Data Processing"
Bottom → Top: "Please Do Not Throw Sausage Pizza Away"
Useful Network Commands
1. ping
ping command သည် Network Connectivity Test လုပ်ရန် အသုံးပြုသည်။ (ICMP Protocol — OSI Layer 3)
# Basic ping
ping google.com
ping 8.8.8.8
# Count သတ်မှတ်ပြီး ping
ping -c 4 google.com # Linux / Mac
ping -n 4 google.com # Windows
# Output Example
PING google.com (142.250.71.14): 56 data bytes
64 bytes from 142.250.71.14: icmp_seq=0 ttl=55 time=12.5 ms
64 bytes from 142.250.71.14: icmp_seq=1 ttl=55 time=11.8 ms
# Notes
# Request timeout → Host unreachable / firewall block
# time= → Latency in ms (နည်းလေကောင်း)
# ttl= → Time To Live (hop count)
2. nslookup / dig
Domain name မှ IP Address ရှာဖွေရန် (DNS Lookup) အသုံးပြုသည်။
# nslookup
nslookup google.com
nslookup nyeinphyoaung.com
# Specific DNS server သုံးပြီး query
nslookup google.com 1.1.1.1
# Output Example
Server: 8.8.8.8
Address: 8.8.8.8#53
Name: google.com
Address: 142.250.71.14
# dig (Linux / Mac)
dig google.com
dig google.com A # IPv4 record
dig google.com MX # Mail server
dig google.com TXT # SPF / DKIM
3. traceroute / tracert
Source မှ Destination ကြားရှိ Router (Hop) တစ်ခုချင်းစီကို ပြသပေးသည်။
# Linux / Mac
traceroute google.com
# Windows
tracert google.com
# Output Example
1 192.168.1.1 1.2 ms <- Home Router
2 10.10.10.1 5.4 ms <- ISP Gateway
3 203.81.x.x 15.3 ms <- ISP Backbone
4 * * * <- ICMP blocked (firewall)
5 142.250.71.14 25.1 ms <- Destination
4. Network Info Commands
# IP Address
ip addr show # Linux
ifconfig # Mac / Linux (legacy)
ipconfig # Windows
# Open Ports
ss -tuln # Linux (modern)
netstat -an # Windows / older Linux
# ARP Table (MAC mapping)
arp -a
# Routing Table
ip route show # Linux
route print # Windows
TCP နှင့် UDP
TCP (Transmission Control Protocol)
TCP သည် Reliable, Connection-oriented Protocol ဖြစ်သည်။ Data ပို့ရန်အတွက် Connection ကို အရင်တည်ဆောက်ပြီး Data ရောက်ရှိမှုကို Confirm (ACK) ပြုလုပ်သည်။
TCP 3-Way Handshake — Connection တည်ဆောက်ပုံ:
Client Server
| |
|-- SYN --------------------> | Connection request
| |
|<- SYN-ACK ----------------- | Acknowledge + response
| |
|-- ACK --------------------> | Connection established
| |
| [ Data Transfer ] |
| |
|-- FIN --------------------> | Connection close request
|<- ACK --------------------- |
|<- FIN --------------------- |
|-- ACK --------------------> |
TCP Features:
- Acknowledgement (ACK) — Data ရောက်ရှိကြောင်း Confirm ပြုလုပ်သည်
- Retransmission — Packet ပျောက်လျှင် ပြန်ပို့သည်
- Flow Control — Receiver Overload မဖြစ်အောင် ထိန်းညှိသည်
- Ordering — Packet များကို Sequence အတိုင်း ပြန်စီပေးသည်
UDP (User Datagram Protocol)
UDP သည် Fast, Connectionless Protocol ဖြစ်သည်။ Connection တည်ဆောက်ခြင်းနှင့် Acknowledgement မပါဘဲ Data ကို တန်းပို့သည်။
Client Server
| |
|-- Data -------------------> | No ACK
|-- Data -------------------> | No guarantee
|-- Data -------------------> |
UDP Features:
- No handshake — ချက်ချင်း Data ပို့သည်
- No acknowledgement — Confirm မပြုလုပ်
- No retransmission — Packet ပျောက်လည်း ပြန်မပို့
- Low latency — Overhead နည်းသောကြောင့် မြန်ဆန်သည်
TCP vs UDP Comparison
| Feature | TCP | UDP |
|---|---|---|
| Connection | Connection-oriented | Connectionless |
| Reliability | Reliable (ACK + Retransmit) | Unreliable |
| Speed | Slower (Overhead ရှိ) | Faster |
| Ordering | Guaranteed | Not guaranteed |
| Error Check | Strong | Minimal |
| Use Cases | HTTP/HTTPS, SSH, FTP, Email | DNS, DHCP, Streaming, Gaming, VoIP |
TCP Use Cases:
- Web browsing (HTTP/HTTPS) -- Page content မပျောက်ရ
- File Transfer (FTP, SCP) -- File intact ဖြစ်ရ
- Email (SMTP, IMAP) -- Message မပျောက်ရ
- Databases (MySQL, PostgreSQL) -- Data accurate ဖြစ်ရ
UDP Use Cases:
- DNS queries -- မြန်ရ, ပျောက်ရင် ပြန် query လုပ်
- Video streaming (YouTube) -- Smooth ဖြစ်ရ, frame တစ်နှစ်ကျ OK
- Online Gaming -- Low latency အဓိက
- VoIP (Zoom, WhatsApp calls) -- Real-time လိုအပ်
- DHCP -- IP assign လုပ်တာ UDP broadcast
မှတ်ချက်: TCP = Reliable delivery (သေချာပေးပို့မှု) — Courier service (လက်ခံကြောင်း လက်မှတ်ထိုး) နှင့်တူသည်။ UDP = Fast delivery (မြန်ဆန်မှုအဓိက) — Postcard (ပို့လိုက်တာပဲ၊ confirm မရှိ) နှင့်တူသည်။
DHCP (Dynamic Host Configuration Protocol)
DHCP ဆိုတာဘာလဲ?
DHCP သည် Network ထဲရှိ Device များကို IP Address, Subnet Mask, Default Gateway, DNS Server တို့ကို အလိုအလျောက် (Automatically) သတ်မှတ်ပေးသော Protocol ဖြစ်သည်။
DHCP မရှိပါက — IT Admin တစ်ယောက်သည် Device တစ်ခုချင်းစီအတွက် IP Address များကို Manually Configure လုပ်ရမည်။
DHCP DORA Process
IP Address ရယူရန် အဆင့် ၄ ဆင့် (DORA) ရှိသည်:
Client DHCP Server
| |
|-- DISCOVER ------------------------> |
| "DHCP server ရှိပါသလား?" (Broadcast)
| |
|<- OFFER ---------------------------- |
| "ဒီ IP ကို သုံးနိုင်သည် (192.168.1.50)"
| |
|-- REQUEST -------------------------> |
| "ဒီ IP ကို လက်ခံပါသည်"
| |
|<- ACK ------------------------------ |
| "OK, IP ချထားပြီးပါပြီ"
| Step | Name | ဘာလုပ်လဲ |
|---|---|---|
| D | Discover | Client က DHCP Server ကို ရှာသည် (Broadcast) |
| O | Offer | DHCP Server က IP Address Offer ပေးသည် |
| R | Request | Client က Offer ကို လက်ခံကြောင်း ပြန်တောင်းဆိုသည် |
| A | Acknowledge | DHCP Server က IP Lease ကို Confirm လုပ်ပေးသည် |
DHCP Lease — DHCP မှ ပေးထားသော IP သည် အမြဲတမ်းမဟုတ်ဘဲ Lease Time အလိုက် ယာယီဖြစ်သည်။
# DHCP IP release
sudo dhclient -r
# DHCP IP renew
sudo dhclient
# Lease file ကြည့်ရန်
cat /var/lib/dhcp/dhclient.leases
AWS မှတ်ချက်: AWS VPC ထဲရှိ EC2 Instance များသည် AWS DHCP Server မှတစ်ဆင့် Private IP Address, DNS Server, Domain Options တို့ကို အလိုအလျောက် ရရှိသည်။ DHCP Options Set ကို အသုံးပြု၍ Custom DNS / Domain Name များကိုလည်း Configure လုပ်နိုင်သည်။
NAT (Network Address Translation)
NAT ဆိုတာဘာလဲ?
NAT သည် Private IP Address များကို Public IP Address ဖြင့် Translate လုပ်ပြီး Internet သို့ ဝင်/ထွက်ခွင့်ပေးသော Mechanism တစ်ခု ဖြစ်သည်။
ဘာကြောင့် NAT လိုသလဲ?
IPv4 Address များသည် ကမ္ဘာပေါ်ရှိ Device များအတွက် လုံလောက်မှုမရှိသောကြောင့် (≈ 4.3 billion), Private IP Ranges များကို အသုံးပြုပြီး NAT မှတစ်ဆင့် Internet Access ပေးသည်။
NAT အလုပ်လုပ်ပုံ
Home Network Router (NAT) Internet
-------------------- -------------------- --------------------
Laptop 192.168.1.50
Phone 192.168.1.51 --> [NAT Table] --> 203.81.x.x --> Google
Tablet 192.168.1.52
Public IP တစ်ခုတည်းဖြင့် Private Devices များအားလုံး Internet သုံးနိုင်သည်။
NAT Table Example:
| Private IP | Private Port | Public IP | Public Port | Destination |
|---|---|---|---|---|
| 192.168.1.50 | 45123 | 203.81.x.x | 55001 | 142.250.71.14:443 |
| 192.168.1.51 | 45456 | 203.81.x.x | 55002 | 208.65.153.238:443 |
NAT အမျိုးအစားများ
| Type | ရှင်းလင်းချက် | ဥပမာ |
|---|---|---|
| Static NAT | Private IP 1:1 → Public IP (Fixed mapping) | Web Server Public IP |
| Dynamic NAT | IP Pool မှ Public IP ကို Dynamic assign လုပ်ခြင်း | Enterprise Networks |
| PAT / NAPT | Many:1 — Port Number ဖြင့် Device ခွဲခြားသည် | Home Router (အသုံးများဆုံး) |
PAT (Port Address Translation) — Home Router တွင် အသုံးများဆုံး NAT Type ဖြစ်သည်:
Laptop (192.168.1.50:45123)
Phone (192.168.1.51:45456) --> Router (NAT) --> 203.81.x.x:55001 --> Google
Tablet (192.168.1.52:46789) 203.81.x.x:55002 --> YouTube
203.81.x.x:55003 --> Facebook
Port Number ဖြင့် Device များကို ခွဲခြားထားသည်။
AWS NAT Gateway မှတ်ချက်: AWS VPC တွင် Private Subnet ထဲရှိ EC2 Instances များသည် Internet Access မရှိသော်လည်း NAT Gateway (Public Subnet) မှတစ်ဆင့် Internet Access ရရှိနိုင်သည်။ ဤသည်မှာ PAT Concept ကို Cloud Environment တွင် Implement လုပ်ထားခြင်း ဖြစ်သည်။
NAT ၏ အကန့်အသတ် — End-to-End Connectivity: NAT သည် Outbound traffic (Private → Internet) ကိုသာ ဆောင်ရွက်သည်။ Internet မှ Private Device သို့ တိုက်ရိုက် ဝင်ရောက်၍မရ။ ထို့ကြောင့် VoIP (Zoom, WhatsApp) တွင် STUN/TURN Servers လိုအပ်သည်။ P2P Applications များ ရှုပ်ထွေးသည်။ Kubernetes Networking တွင် NAT ကို bypass လုပ်ရန် CNI Plugins (Calico, Flannel) လိုအပ်သည်။
Networking Concepts — Quick Summary
| Concept | ဘာလဲ | DevOps ဆက်နွယ်မှု |
|---|---|---|
| LAN/WAN | Network size/scope | AWS VPC = Virtual LAN, Internet = WAN |
| Topology | Network layout pattern | Cloud = logical topology, physical = datacenter |
| Unicast/Broadcast | Communication type | DHCP = Broadcast, HTTP = Unicast |
| IP Address | Device identifier | EC2 Private IP, Elastic IP (Public) |
| Subnet Mask | Network/Host separator | /24 subnet = 254 EC2 hosts |
| OSI Layers | Network reference model | L4 Firewall, L7 Load Balancer |
| TCP | Reliable transport | HTTP/HTTPS, SSH, Database connections |
| UDP | Fast transport | DNS, DHCP, Video streaming |
| DHCP | Auto IP assignment | AWS VPC auto-assigns Private IPs |
| NAT | Private→Public translation | AWS NAT Gateway (Private subnet → Internet) |
ဆက်လက် လေ့လာရန် Topics
Networking ကို မြှင့်တင်ချင်သူများအတွက် Next Steps:
- DNS — A, CNAME, MX, TXT records; Recursive vs Authoritative
- HTTP/HTTPS — TLS handshake, certificates, HTTP/2
- Subnetting deeper — /22, /20 CIDR, VLSM, supernetting
- Routing — Static routing, OSPF, BGP basics
- Firewalls & Security Groups — Stateful vs Stateless
- Load Balancing — L4 vs L7, algorithms (Round Robin, Least Connections)
- VPN — WireGuard, IPsec, SSL VPN
- Container Networking — Docker bridge, overlay, Kubernetes CNI
- AWS VPC Design — Public/Private subnets, Transit Gateway, VPC Peering
"Generated by Nyein Phyo Aung And Claude Code"