Networking အခြေခံများ

30 minutes to read

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 (အကျယ်အဝန်း) အလိုက် အမျိုးအစားခွဲထားပါတယ်။

TypeFull NameCoverageဥပမာ
PANPersonal Area Networkတစ်ဦးချင်း (အလွန်နီးကပ်)Bluetooth, Phone ↔ Laptop
LANLocal Area Networkအဆောက်အဦး / Office / CampusOffice WiFi, School Lab
MANMetropolitan Area Networkမြို့ / Region တစ်ခုCity ISP Backbone Network
WANWide 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

TopologyBest ForWeak Point
BusSmall networksSingle cable failure
RingLegacy systemsOne node failure affects all
StarMost modern networksCentral switch dependency
TreeLarge enterprise networksRoot failure risk
MeshHigh reliability systemsCost + 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)

TypeDestinationIP Exampleဥပမာ
Unicast၁ ဦးတည်း192.168.1.5Web browsing, SSH
MulticastGroup members224.0.0.xVideo streaming, OSPF
BroadcastNetwork ထဲ ရှိသမျှ192.168.1.255DHCP 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

FeatureTwisted Pair (Cat6)CoaxialFiber Optic
Bandwidth1 Gbps (Cat6a: 10 Gbps)10 Mbps–1 Gbps10 Gbps–100 Gbps+
Distance100m max500m max2km–80km+
Priceဈေးသက်သာအလတ်စားဈေးကြီး
InterferenceEMI ခံနိုင်ရည် နည်းခံနိုင်ရည် အကြောင်းမဟုတ်EMI မထိခိုက် (light သုံး)
Weightပေါ့ပါးအတော်လေးလေးသည်ပေါ့ပါးသည်
Flexibilityကောင်းအနည်းငယ်ကြမ်းသည်ကြမ်းသည် (ကွေးချိုးမပါ)
ဘယ်မှာသုံးလဲOffice LAN, Home WiFiCable TV, CCTVDatacenter, 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 ခွဲပြားထားပါတယ်:

ClassRangeSubnet MaskCIDRPrivate RangeUsable Hostsမှတ်ချက်
A1.0.0.0 – 126.255.255.255255.0.0.0/810.0.0.0 – 10.255.255.25516,777,214Large orgs
B128.0.0.0 – 191.255.255.255255.255.0.0/16172.16.0.0 – 172.31.255.25565,534Medium orgs
C192.0.0.0 – 223.255.255.255255.255.255.0/24192.168.0.0 – 192.168.255.255254Small networks
D224.0.0.0 – 239.255.255.255Multicast only
E240.0.0.0 – 255.255.255.255Research/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:

ClassSubnet MaskHost BitsTotal IPsUsable Hosts
A (/8)255.0.0.02416,777,21616,777,214
B (/16)255.255.0.01665,53665,534
C (/24)255.255.255.08256254

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 တစ်ခုမှာ တစ်ကြိမ်သာ သုံးနိုင်ပါတယ်။

FeatureIPv4IPv6
Bits32 bits128 bits
FormatDot-decimal (192.168.1.1)Colon-hexadecimal (2001:db8::1)
Total Addresses~4.3 billion340 undecillion+
NAT လိုသလားလိုအပ်သည် (address မလုံလောက်မှုကြောင့်)မလိုအပ်တော့သလောက် (Address အရေအတွက် အလွန်များသောကြောင့်)
HeaderVariable length, complexFixed 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 တွင် မသုံးပါ)

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

LayerNameData UnitKey ProtocolsDevices
7ApplicationDataHTTP, HTTPS, FTP, DNS, SMTPBrowser, Mail Server
6PresentationDataSSL/TLS, JPEG, ZIP
5SessionDataNetBIOS, RPC
4TransportSegment/DatagramTCP, UDPFirewall (L4)
3NetworkPacketIP, ICMP, OSPFRouter
2Data LinkFrameEthernet, ARPSwitch, Bridge
1PhysicalBitsCable, 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

FeatureTCPUDP
ConnectionConnection-orientedConnectionless
ReliabilityReliable (ACK + Retransmit)Unreliable
SpeedSlower (Overhead ရှိ)Faster
OrderingGuaranteedNot guaranteed
Error CheckStrongMinimal
Use CasesHTTP/HTTPS, SSH, FTP, EmailDNS, 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 ချထားပြီးပါပြီ"
StepNameဘာလုပ်လဲ
DDiscoverClient က DHCP Server ကို ရှာသည် (Broadcast)
OOfferDHCP Server က IP Address Offer ပေးသည်
RRequestClient က Offer ကို လက်ခံကြောင်း ပြန်တောင်းဆိုသည်
AAcknowledgeDHCP 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 IPPrivate PortPublic IPPublic PortDestination
192.168.1.5045123203.81.x.x55001142.250.71.14:443
192.168.1.5145456203.81.x.x55002208.65.153.238:443

NAT အမျိုးအစားများ

Typeရှင်းလင်းချက်ဥပမာ
Static NATPrivate IP 1:1 → Public IP (Fixed mapping)Web Server Public IP
Dynamic NATIP Pool မှ Public IP ကို Dynamic assign လုပ်ခြင်းEnterprise Networks
PAT / NAPTMany: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/WANNetwork size/scopeAWS VPC = Virtual LAN, Internet = WAN
TopologyNetwork layout patternCloud = logical topology, physical = datacenter
Unicast/BroadcastCommunication typeDHCP = Broadcast, HTTP = Unicast
IP AddressDevice identifierEC2 Private IP, Elastic IP (Public)
Subnet MaskNetwork/Host separator/24 subnet = 254 EC2 hosts
OSI LayersNetwork reference modelL4 Firewall, L7 Load Balancer
TCPReliable transportHTTP/HTTPS, SSH, Database connections
UDPFast transportDNS, DHCP, Video streaming
DHCPAuto IP assignmentAWS VPC auto-assigns Private IPs
NATPrivate→Public translationAWS NAT Gateway (Private subnet → Internet)

ဆက်လက် လေ့လာရန် Topics

Networking ကို မြှင့်တင်ချင်သူများအတွက် Next Steps:

  1. DNS — A, CNAME, MX, TXT records; Recursive vs Authoritative
  2. HTTP/HTTPS — TLS handshake, certificates, HTTP/2
  3. Subnetting deeper — /22, /20 CIDR, VLSM, supernetting
  4. Routing — Static routing, OSPF, BGP basics
  5. Firewalls & Security Groups — Stateful vs Stateless
  6. Load Balancing — L4 vs L7, algorithms (Round Robin, Least Connections)
  7. VPN — WireGuard, IPsec, SSL VPN
  8. Container Networking — Docker bridge, overlay, Kubernetes CNI
  9. AWS VPC Design — Public/Private subnets, Transit Gateway, VPC Peering

"Generated by Nyein Phyo Aung And Claude Code"