# TCP/IP - Part 3

TCP/IP မှာ Network (Internet) Layer ရဲ့ အဓိက အလုပ်နှစ်ခုက **Logical Addressing** နဲ့ **Routing** ပါ။

**Logical Addressing**

* IP (Internet Protocol) ကိုအသုံးပြုပြီး IP Addressing လို့ခေါ်တယ်။
    
* Internet Protocol မှာ IPv4 နဲ့ IPv6 ဆိုပြီး version ၂ မျိုးရှိတယ်။ လက်ရှိ အများဆုံး သုံးနေတာက IPv4 ပါ။
    

**IPv4 Addressing**

* Computer ဒါမှမဟုတ် Device တစ်ခုခုဟာ TCP/IP ကိုသုံးပြီး network ချိတ်ချင်တယ်ဆိုရင် IP Address ကိုအသုံးပြုဖို့လိုအပ်ပါတယ်။
    

---

**IPv4 Structure (တည်ဆောက်ပုံ)**

* IPv4 ရဲ့ size က 32 bits ရှိတယ်။ အဲ့ဒီ 32 bits ကို 8 bits ၄ ခုအဖြစ်ပိုင်းထားတယ်။
    
* Binary number နဲ့ပြရင် 00000000.00000000.00000000.00000000 ကနေ 11111111.11111111.11111111.11111111 အထိရှိတယ်။
    
* 32 bit ဖြစ်တဲ့အတွက် အကြမ်းဖျင်းအားဖြင့် စုစုပေါင်း အသုံးပြုနိုင်တဲ့ address ခုရေ **4,294,967,296 (2<sup>32</sup>)** ရှိတယ်။
    
* Binary number 8 လုံးရှိတဲ့ အပိုင်းတစ်ခုကို one octet လို့ခေါ်တယ်။
    

---

* One octet ရဲ့ **minimum decimal value** (00000000) က 0 ဖြစ်တယ်။ Binary to Decimal conversion: (0\*128 + 0\*64 + 0\*32+ 0\*16 + 0\*8 + 0\*4 + 0\*2 + 0\*1) = 0
    
* One octet ရဲ့ **maximum decimal value** (11111111) က 255 ဖြစ်တယ်။ Binary to Decimal conversion: (1\*128 + 1\*64 + 1\*32+ 1\*16 + 1\*8 + 1\*4 + 1\*2 + 1\*1) = 255
    
* IP address ကိုတကယ်လက်တွေ့အသုံးပြုတဲ့ အခါ binary number နဲ့မသုံးပဲ octet 4 ခုကို *.* (dot) နဲ့ ပိုင်းခြားပြီးအသုံးပြုတယ်။ အဲ့ဒီလိုအသုံးပြုတဲ့ ပုံစံကို Dotted Decimal Notation လို့ခေါ်တယ်။
    
* IP Address ကို Dotted decimal notation နဲ့ပြရရင် 0.0.0.0 ကနေ 255.255.255.255 အထိရှိတယ်။ 0.0.0.0, 1.0.0.0, 1.0.0.1, 1.0.0.2, …, …, 255.255.255.254, 255.255.255.255
    

---

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1678497761673/31349372-aeec-426b-9275-99d237743f2e.png align="center")

---

* Octet တစ်ခုဟာ နောက်ဆုံးကနေစပြီး 255 ပြည့်သွားပြီဆိုတာနဲ့ ရှေ့ address က octet ကိုတစ်တိုးသွားရပါမယ်။
    
* 255 ဖြစ်သွားတဲ့ octet ကို 0 ကနေပြန်စပါမယ်။ ဥပမာ 1.0.0.255 ပြီးရင် 1.0.1.0, 1.0.1.1, 1.0.1.2, …
    

---

TCP/IP - Part 4 မှာ ဆက်လက် ရေးသား ပေးပါဦးမယ်။
