Networking အခြေခံများ

30 minutes to read
34 views

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
Rendering diagram...

Cloud (AWS) Mapping

Cloud Networking သည် LAN + WAN Concepts ကို Virtualize လုပ်ထားသော ပုံစံဖြစ်သည်။

LAN → AWS VPC (Virtual Private Cloud)

VPC ဆိုတာ Cloud ထဲမှာ Virtual LAN တစ်ခုဖန်တီးထားတာဖြစ်သည်။

Rendering diagram...
  • 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 တစ်ကြောင်းပေါ်မှာ ချိတ်ဆက်ထားသော ပုံစံဖြစ်ပါတယ်။

Rendering diagram...
အားသာချက်အားနည်းချက်
Setup လုပ်ရ လွယ်ကူBackbone Cable ပျက်လျှင် Network တစ်ခုလုံး Down သွား
Cable အသုံးပြုမှု နည်းData Collision ဖြစ်နိုင်ချေ မြင့်မားသည်
Cost သက်သာTroubleshooting ခက်ခဲသည်

ယနေ့ခေတ်တွင် မသုံးတော့သလောက်ဖြစ်ပြီး Small Temporary Networks တွင်သာ တွေ့ရတတ်ပါတယ်။


2. Ring Topology

Devices များကို Loop (Ring) ပုံစံ ချိတ်ဆက်ထားပြီး Data သည် Uni-directional (သို့) Dual-directional ဖြင့် လှည့်ပတ်သွားပါတယ်။

Rendering diagram...
အားသာချက်အားနည်းချက်
Data Collision နည်းသည်Device တစ်ခု ပျက်လျှင် Entire Ring ထိခိုက်နိုင်သည်
Data Flow Predictable ဖြစ်Expand လုပ်ရန် ခက်ခဲသည်

Token Ring Systems တွင် အသုံးပြုခဲ့ပြီး ယနေ့ခေတ်မှာတော့ မသုံးကြတော့ပါဘူး။


3. Star Topology (အသုံးများဆုံး)

Devices အားလုံးကို Central Device (Switch / Hub) တစ်ခုနှင့် ချိတ်ဆက်ထားသော ပုံစံဖြစ်ပါတယ်။

Rendering diagram...
အားသာချက်အားနည်းချက်
Device တစ်ခု ချို့ယွင်းလျှင် ကျန်တာ မထိခိုက်Central Switch ပျက်လျှင် Network Down သွား
Troubleshooting လွယ်ကူသည်Cable အသုံးများသည်
Expand လုပ်ရ လွယ်ကူသည်

Office Networks, Home Networks, Cloud Virtual Networks (VPC) တွင် အသုံးများဆုံး Topology ဖြစ်ပါတယ်။


4. Tree Topology

Star Topology တွေကို Hierarchy (အဆင့်ဆင့်) ပုံစံဖြင့် ချိတ်ဆက်ထားခြင်းပါပဲ။

Rendering diagram...
အားသာချက်အားနည်းချက်
Large Network များအတွက် Scalable ဖြစ်Root Switch ပျက်လျှင် Network တစ်ခုလုံးထိခိုက်
Management လုပ်ရ လွယ်ကူသည်Design ပိုရှုပ်ထွေးသည်

Campus Networks, Enterprise Networks တွေမှာ အသုံးများပါတယ်။


5. Mesh Topology

Device တစ်ခုချင်းစီသည် အခြား Devices များနှင့် တိုက်ရိုက်ချိတ်ဆက်ထားသော ပုံစံမျိုးပါ။ Redundancy အမြင့်ဆုံးဖြစ်ပါတယ်။

Mesh topology: six devices fully interconnected

အားသာချက်အားနည်းချက်
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 ပို့ပါတယ်။

Rendering diagram...

ဥပမာ: Browser ကနေ Web Server တစ်ခုကို HTTP Request ပို့တာ, File download လုပ်တာ


2. Multicast (One to Many)

Source Device တစ်ခုကနေ Devices အချို့ (Group member များ) ကိုသာ Data ပို့ပါတယ်။

Rendering diagram...

ဥပမာ: Online Video Streaming (Netflix), Video Conference (Zoom group), OSPF routing protocol updates


3. Broadcast (One to All)

Source Device တစ်ခုကနေ Network ထဲမှာ ရှိတဲ့ Devices အားလုံးကို Data ပို့ပါတယ်။

Rendering diagram...

ဥပမာ: 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 ၃ မျိုးကို အဓိကသုံးပါတယ်။ ဒီမှာတော့ Cable ပုံလေးတွေထည့်မပေးတော့ပါဘူး။ လိုအပ်ရင် Google တို့မှာ သွားရှာကြည့်လို့ရပါတယ်။

1. Twisted Pair Cable

Copper wire pair တွေကို twist လှည့်ထားတဲ့ cable ဖြစ်ပါတယ်။ ဥပမာ: Ethernet cable (Cat5e, Cat6, Cat7)

Rendering diagram...
  • 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) မှာ အသုံးများ

Rendering diagram...

3. Fiber Optic Cable

Fiber Optic Cable သည် Copper Wire အစား Glass သို့မဟုတ် Plastic Fiber ကို အသုံးပြု၍ Light (Photon) ကို Signal အဖြစ် ပို့ဆောင်သော Cable အမျိုးအစား ဖြစ်သည်။

  • Single-Mode Fiber (SMF) — Light Path တစ်ကြောင်းသာ ဖြတ်သန်းနိုင်သောကြောင့် Signal Loss နည်းပြီး အကွာအဝေးရှည်စွာ ပို့ဆောင်နိုင်ပါတယ်။ (Long Distance Networks, ISP Backbone, Datacenter Interconnect)
  • Multi-Mode Fiber (MMF) — Light Path များစွာ ဖြတ်သန်းနိုင်သောကြောင့် ကုန်ကျစရိတ် သက်သာသော်လည်း အကွာအဝေးတိုသော Network များအတွက် သင့်တော်ပါတယ်။ (Campus Networks, Building-to-Building Connections, Data Center Internal Networks)

IP Address

IP Address ဆိုတာဘာလဲ?

IP Address (Internet Protocol Address) ဆိုတာ Network ထဲမှာ ရှိတဲ့ Device တစ်ခုချင်းစီကို သတ်မှတ်ပေးတဲ့ unique identifier (ထူးခြားသော လိပ်စာ) တစ်ခုဖြစ်ပါတယ်။

ဥပမာ — Real world မှာ အိမ်တစ်လုံးကို address (လမ်းနံပါတ်) နဲ့ သတ်မှတ်သလိုပဲ Network ထဲမှာ Device တစ်ခုကို IP Address နဲ့ သတ်မှတ်ပါတယ်။

Rendering diagram...

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 Address များကို အောက်ပါအတိုင်း Class ၅ မျိုး (A, B, C, D, E) အဖြစ် ခွဲခြားသတ်မှတ်ထားပါတယ်။

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 ဆိုတာ)

ဒီ Network Part နဲ့ Host Part ကို Device တွေက ဘယ်လိုခွဲခြားသိနိုင်လဲဆိုတော့ Subnet Mask က သတ်မှတ်ပေးထားလို့ ဖြစ်ပါတယ်။ Classful ခေတ်မှာတော့ Class (A/B/C) က Network နဲ့ Host ကြား boundary ကို ဆုံးဖြတ်ပေးခဲ့ပေမယ့်၊ ယနေ့ခေတ် CIDR စနစ်မှာတော့ Subnet Mask (ဥပမာ /16, /24, /26) ကသာ Network/Host boundary ကို တိကျစွာ သတ်မှတ်ပေးပါတယ်။


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 ဖြစ်ပါတယ်။

Rendering diagram...

AWS မှတ်ချက်: AWS VPC မှာ Subnet ဖန်တီးရင် Private IP range (10.0.0.0/16 စတာ) ကိုသာ သုံးပါတယ်။ Instance တွေဟာ Private IP ရပြီး Internet ထဲ ဝင်ဖို့ NAT Gateway (Public Subnet) ကနေ Public IP ကို ယူသုံးပါတယ်။ ဒီအကြောင်းအရာတွေကိုတော့ AWS နဲ့ ရင်းနီးသူတွေကို သိပါလိမ့်မယ်။


Default Gateway

Default Gateway ဆိုတာ Device တစ်ခုက မိမိ Local Network ကနေ အပြင်ဘက် (Internet သို့မဟုတ် အခြား Network များ) သို့ Data Packet တွေ ပို့ချင်တဲ့အခါ အရင်ဆုံး ပို့ပေးရတဲ့ Router (သို့မဟုတ် Layer 3 Gateway) ရဲ့ IP Address ဖြစ်ပါတယ်။ "Network ရဲ့ တံခါးပေါက်" လို့ အလွယ်မှတ်နိုင်ပါတယ်။

Rendering diagram...
  • 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) အစဉ်လိုက် ဖော်ပြထားပါတယ် -

Rendering diagram...

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 စစ်ဆေးခြင်း

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 ကို အသုံးပြုသည်။

Rendering diagram...
# 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 ကို တည်ဆောက်ခြင်း (establish)၊ ထိန်းသိမ်းခြင်း (maintain)၊ ပြန်လည်ချိတ်ဆက်ခြင်း (recovery) နှင့် ဆုံးသတ်ခြင်း (terminate) တို့ကို လုပ်ဆောင်သော OSI 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
Rendering diagram...

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

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 တည်ဆောက်ပုံ:

Rendering diagram...

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 ကို တန်းပို့သည်။

Rendering diagram...

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

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) ရှိသည်:

Rendering diagram...
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 အလုပ်လုပ်ပုံ

Rendering diagram...

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 တစ်ခုကို Public IP တစ်ခုနှင့် 1:1 fixed mapping လုပ်ခြင်းWeb Server Public IP
Dynamic NATIP Pool ထဲမှ Public IP ကို လိုအပ်သလို dynamic အနေနဲ့ assign လုပ်ခြင်းEnterprise Networks
PAT / NAPTMany:1 mapping - Port Number ကို အသုံးပြု၍ device များကို ခွဲခြားခြင်းHome Router (အသုံးများဆုံး)

PAT (Port Address Translation) — Home Router တွင် အသုံးများဆုံး NAT Type ဖြစ်သည်:

Rendering diagram...

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"