အားလုံးပဲမင်္ဂလာပါ။ ဒီနေ့ ကျွန်တော်တို့ TCP/IP Protocol အကြောင်း ဆွေးနွေးသွားပါမယ်။
ပထမဆုံးအနေနဲ့ TCP/IP ရဲ့ History လေးနဲ့စလိုက်ရအောင်။
History of TCP/IP
TCP/IP ကို 1960နှောင်းပိုင်းမှာစတင်တည်ဆောက်ခဲ့ပြီးတော့ သူ့ရဲ့အဓိကရည်ရွယ်ချက်ကတော့ vendor တူတဲ့ computer အချင်းချင်းပဲဖြစ်ဖြစ်၊ vendor မတူတဲ့ computer အချင်းချင်းပဲဖြစ်ဖြစ် တစ်ကမ္ဘာလုံးမှာရှိတဲ့ computer တွေအကုန် ချိတ်ဆက်အသုံးပြုနိုင်အောင်ဖြစ်တယ်။
1960မရောက်ခင် ရှေ့နှစ်ပိုင်းတွေမှာဆိုရင် vendor တူတဲ့ computers အချင်းချင်းသာဆက်သွယ်နိုင်ခဲ့တယ်။
ဥပမာအနေနဲ့ပြောရမယ်ဆိုရင် ကျွန်တော်တို့ Companyက IBM computer တွေပဲဝယ်ထားတယ်ဆိုပါစို့။ ကျွန်တော်တို့Company က လူအချင်းချင်း computerနဲ့ဆက်သွယ်ရာမှာတော့ အဆင်ပြေနေပါလိမ့်မယ်။ ဒါပေမယ့်အခြားCompanies၊ customers တွေနဲ့ချိတ်ဆက်တဲ့အခါ သူတို့ဆီမှာသာ IBM computers တွေမရှိရင် ကျွန်တော်တို့နဲ့ဆက်သွယ်ဖို့ မဖြစ်နိုင်တော့ပါဘူး။
ဒါကြောင့်မို့ TCP/IP ကို တည်ဆောက်ခဲ့ကြတာဖြစ်ပြီး 1980လောက်ထိ Company တွေက OSI model နဲ့ TCP/IP ကို ယှဉ်တွဲပြီးအသုံးပြုခဲ့ကြပါတယ်။ ဒါပေမယ့်နောက်ပိုင်း 1990လောက်မှာတော့ TCP/IP က ပိုပြီးရွေးချယ်စရာဖြစ်လာခဲ့ပါတယ်။
ဒါကတော့ TCP/IP ရဲ့ history လေးပဲဖြစ်ပါတယ်။
နောက်တစ်ပိုင်းအနေနဲ့ TCP/IPရဲ့ Definition လေးအကြောင်း ဆက်လိုက်ကြရအောင်။
Definition of TCP/IP
TCP/IPဆိုတာက ကျွန်တော်တို့ရဲ့ Computer တွေ Laptop တွေ Phone တွေ internet ကိုအသုံးပြုပြီး အချင်းချင်း dataတွေပို့တာ information တွေ share တဲ့နေရာမှာ အသုံးပြုနေတဲ့ protocol တစ်ခုဖြစ်တယ်။
ဒီနေရာမှာ protocol ဆိုတာလေးကိုရှင်းပြချင်ပါတယ်။
Protocol ဆိုတာက ကျွန်တော်တို့ရဲ့ computer အချင်းချင်း internetပေါ်မှာ ဆက်သွယ်တဲ့အခါ အချင်းချင်းနားလည်နိုင်အောင် စံသတ်မှတ်ထားတဲ့ ဘာသာစကားတစ်ခုဖြစ်ပါတယ်။
ဘာသာစကားတူမှလဲ အချင်းချင်းပြောဆိုနေတာတွေနားလည်နိုင်မှာပဲဖြစ်ပါတယ်။
TCP/IP ရဲ့ Definition ကတော့ဒီလောက်ပါပဲ။
နောက်တစ်ပိုင်းအနေနဲ့ TCP/IPရဲ့ ပါဝင်တဲ့အစိတ်အပိုင်း နှစ်ခုအကြောင်းလေး ရှင်းပြချင်ပါတယ်။
Two components of TCP/IP
ဒီ protocol မှာဆိုရင် TCP(Transmission Control Protocol) နဲ့ IP(Internet Protocol) ဆိုပြီး နှစ်ခုပါဝင်တယ်။
TCP(Transmission Control Protocol)
ဒီဟာကိုအလွယ်ဆုံးရှင်းပြရရင် data ပို့ဆောင်မှုတွေကို စနစ်တကျ ထိန်းချုပ်ပေးတဲ့ အပိုင်းဖြစ်တယ်။ သူ့မှာဆိုရင် အဓိကလုပ်ဆောင်တဲ့ processအနေနဲ့ လေးခုရှိတယ်။
ပထမဆုံးအနေနဲ့ Segmentation
ကျွန်တော်တို့ internet ပေါ်မှာ data တွေပိုဆောင်တဲ့အခါ အလုံးအရင်းအလိုက်တစ်ခါတည်း ပိုဆောင်လိုက်တာမဟုတ်ဘူး။ Senderဘက်ကနေပြီးတော့ dataပိုဆောင်တဲ့အခါ သေးငယ်တဲ့ segment တွေအဖြစ်ခွဲပြီးပိုဆောင်တယ်။ Segmentation ဆိုတာ အခုလိုခွဲပြီးပိုဆောင်တဲ့processကိုခေါ်တာဖြစ်တယ်။
ဒုတိယတစ်ခုအနေနဲ့ Reassembly
ဒါကတော့ ခုနကsenderဘက်က ပို့လိုက်တဲ့ သေးငယ်တဲ့ segment တွေကို ပြန်ပြောင်းပြီး data တစ်ခုတည်းအနေနဲ့receiverဘက်မှာစုစည်းတဲ့အပိုင်းကိုပြောတာဖြစ်တယ်။
တတိယတစ်ခုအနေနဲ့ Error Detection
ခုနကပိုလိုက်တဲ့ segments လေးတွေ အလယ်မှာပြတ်ကျန်နေခဲ့လား ဒါမှမဟုတ် အကုန်မရောက်သွားဘူးလားဆိုတာကို စစ်ဆေးတဲ့အပိုင်းဖြစ်တယ်။
နောက်ဆုံးအနေနဲ့ Retransmission
Retransmission ကတော့ ခုနကပို့လိုက်တဲ့ segmentလေးတွေသာ အလယ်မှာကျန်နေခဲ့မယ်ဆိုရင် ကျန်နေခဲ့တဲ့ အပိုင်းတွေကို ပြန်ပိုဆောင်တဲ့ အပိုင်းဖြစ်ပါတယ်။ Error Detection နဲ့ Retransmission process တွေကြောင့်လဲ TCP/IP က reliable protocol ဆိုပြီးနာမည်ကြီးနေတာဖြစ်တယ်။
IP(Internet Protocol)
IP ရဲ့အလုပ်ကတော့ ဒေတာတွေဘယ်ကနေဘယ်ကိုသွားရမယ်ဆိုတာကို IP addressတွေသုံးပြီး ဆုံးဖြတ်ပေးတယ်။ Address ဆိုကိုနားလည်အောင်ရှင်းပြရမယ်ဆိုရင် အိမ်လိပ်စာနဲ့အတူတူပဲဖြစ်တယ်။
ကျွန်တော်တို့ ပစ္စည်းတစ်ခုခုကို မှာမယ်ဆိုရင် ကျွန်တော်တို့ရဲ့ address ကိုပြောပြရသလိုမျိုးပဲ internet မှာဆိုရင်လဲ computer အချင်းချင်း data တွေ information တွေဖလှယ်မယ်ဆိုရင် IP address သိမှ ရမှာဖြစ်ပါတယ်။
နောက်တစ်ပိုင်းအနေနဲ့ TCP/IP ရဲ့ layersတွေအကြောင်းလေ့လာကြရအောင်။
TCP/IP 4 Layers or 5 Layers ?
အမှန်တကယ်တော့ TCP/IP protocol က 4 Layers ရှိတာဖြစ်ပါတယ် စာရှင်းပြတာတွေလွယ်ကူအောင်လို 5 Layersဆိုပြီးခွဲတာဖြစ်ပါတယ်။
TCP/IP 4 Layers မှာဘာတွေပါလဲဆိုရင်
- Application Layer
- Transport Layer
- Internet Layer
- Network Access (Link) Layer ဆိုပြီးပါဝင်ပါတယ်။
အပေါ်ဆုံး Layer အနေနဲ့ Application Layer
သုံးစွဲတဲ့လူတွေရဲ့service တွေပေါ်မူတည်ပြီးတော့ protocols များစွာကိုထောက်ပံ့ပေးတယ်။
ဥပမာဆိုရင် web siteကို ကျွန်တော်တိုကြည့်ချင်တယ်ဆိုရင် HTTP ဒါမှမဟုတ်HTTPS protocols တွေကိုသုံးပါဆိုပြီးသတ်မှတ်ပေးတဲ့ layerတစ်ခုဖြစ်တယ်။
ဒီ protocolsတွေကို အသုံးပြုတဲ့ userတွေကမမြင်ရဘဲ အနောက်ကွယ်ကနေ အလုပ်လုပ်ဆောင်တာဖြစ်တယ်။
Internet ပေါ်ကနေ files တွေ download လုပ်ချင်တယ်ဆိုရင် FTP protocolကိုသုံးရမယ်။
စသည်ဖြင့် user services တွေက်ု ထောက်ပံ့ပေးတဲ့ layer ကို Application Layer လိုခေါ်ဆိုတာဖြစ်တယ်။
Application Layer ရဲ့ services တွေအနေနဲ့ဆိုရင် HTTP,HTTPS,FTP,DNS,SSH စတာတွေပါဝင်တယ်။ ဒီအရာတွေကဥပမာအနေနဲ့ အနည်းငယ်သာပြောပြထားတာဖြစ်တယ်။ နောက်ထပ် services တွေကအများကြီးရှိနေပါသေးတယ်။
တတိယ Layer အနေနဲ့ Transport Layer
Transport Layer မှာဆိုရင် အဓိက protocol အနေနဲ့ TCP နဲ့ UDP ဆိုပြီး protocol 2ခုရှိပါတယ်။
TCP ကတော့အကျယ်ရှင်းစရာမလိုတော့ဘူးလိုထင်ပါတယ် TCP/IP ဆိုတဲ့ ကျွန်တော်တိုရဲ့အဓိကခေါင်းစဉ်မှာပါတဲ့ TCP နဲ့ concept ချင်းအတူတူပဲဖြစ်ပါတယ်။
ဒီတော့TCP ကို ဘယ် protocol တွေကအသုံးပြုနေသလဲဆိုရင် TCP က reliable ဖြစ်တယ် errorရှိမရှိစစ်ပေးတယ် နောက်ပြီးကျန်နေတဲ့ dataတွေရှိရင်ပြန်ပိုတယ်ဆိုတော့ dataတွေ တိတိကျကျဖော်ပြဖိုလိုတဲ့ web browsing တွေ file တွေ download လုပ်တာတွေ transfer လုပ်တဲ့နေရာတွေ email ပိုတဲ့နေရာတွေမှာအသုံးပြုတာဖြစ်ပါတယ်။
သူ့ရဲ့မကောင်းတဲ့အချက်ကတော့ UDP ထက်စာရင် process လုပ်တဲ့အချိန်တွေမှာနှေးတာဖြစ်ပါတယ်။
UDP(User Datagram Protocol) ကတော့ TCP နဲ့မတူပဲ real time dataတွေကို အချိန်နဲ့တပြေးညီ ရယူချင်တဲ့အခါမှာသုံးတာဖြစ်ပါတယ်။
TCP မှာလုပ်ဆောင်ပေးနိုင်တဲ့ reliable ဖြစ်တာတွေ error ရှိမရှိစစ်တာတွေ data တွေကို retransmission process တွေကို မလုပ်ဆောင်ပေးနိုင်ပါဘူး။
နောက်ပြီးUDP ကိုအများဆုံးအသုံးပြုတာကတော့ live stream တွေမှာအသုံးပြုတာဖြစ်ပါတယ်။
ဒါကြောင့်မို ကျွန်တော်တို့ live ကြည့်နေတဲ့အချိန် လိုင်းလေးပျက်ကျသွားရင် ကျွန်တော်တို့ 5minute လောက်လိုင်းပျက်သွားရင် လိုင်းပျက်တဲ့နေရာကနေ live ကပြန်မစတော့ဘဲ အခုလက်ရှိအချိန်ကနေပြေနမှာဖြစ်ပါတယ်။
အောက်ဆုံး Layer အနေနဲ့ Network Access (link) Layer
ဒီ layer ကတော့ OSI Model ရဲ့ data link Layer နဲ့ physical layer ကိုပေါင်းထားတာဖြစ်ပါတယ်။
ရှင်းရမယ်ဆိုရင် layer နှစ်ခုကိုခွဲရှင်းနေသလိုဖြစ်နေပါလိမ့်မယ်။
ပထမဆုံးဒီlayerရဲ့အလုပ်ကတော့ MAC address နဲ့ LAN ထဲမှာ dataတွေပိုဆောင်တာဖြစ်ပါတယ်။
Same network အတွင်းမှာဆိုရင် Switch က MAC address ကိုသုံးပြီးတော့ data ကိုပိုဆောင်ပါတယ် ဒီMAC address ကဘာလဲလိုဆိုရင် ကျွန်တော်တို computer တွေ phone တွေ internet အသုံးပြုလိုရအောင်လုပ်ပေးနေတဲ့ NIC card ထဲက address ကိုခေါ်ဆိုတာဖြစ်ပါတယ်။
NIC(Network Interface Card) အမျိုးအစား နှစ်မျိုးရှိပါတယ်။
Ethernet NIC နဲ့ Wireless NIC ဆိုပြီးနှစ်မျိုးရှိပါတယ်။
Desktop ထဲမှာဆိုရင် အများအားဖြင့် Ethernet NIC တစ်ကတ်သာပါရှိပြီးတော့ Laptop အများစုမှာတော့ NIC ကတ် နှစ်မျိုးလုံးပါနေတတ်ပါတယ်။
Destktopတွေအနေနဲ့ wirelessသုံးချင်ရင် motherboard ပေါ်မှာ wireless NIC ဝယ်ပြီးစိုက်သုံး ဒါမှမဟုတ် external wireless adapterဝယ်ပြီး တပ်ဆင်မှသာအဆင်ပြေမှာဖြစ်ပါတယ်။
NIC ကတ်ရဲ့အလုပ်လုပ်ပုံကတော့ အခုနက ပို့လိုက်တဲ့ data တွေကို ကြားခံ media ( wire or wireless) ပေါ်မှာပို့ဖို့အတွက် digital values (0,1) တွေအဖြစ်ပြောင်းပြီး တစ်ဖက် computer ကိုပိုဆောင်တဲ့အလုပ်ကိုလုပ်ဆောင်တာဖြစ်ပါတယ်။
ဒါကတော့ Network Access(link) layer ရဲ့အလုပ်လုပ်ပုံလေးပဲဖြစ်ပါတယ်။
ကျွန်တော့်ရဲ့ TCP/IP Protocol concept လေးကတော့ဒီလောက်ပါပဲ။ အနည်းနဲ့အများ TCP/IP Protocol ရဲ့ ဗဟုသုတလေး ရရှိနိုင်မယ်လိုမျှော်လင့်ပါတယ်ဗျ။
Discussion
Join the conversation
How do you feel about this article?
Comments
Sign in to join the conversation
Sign in to be the first to comment!
Share Your Article
Share with your professional network
Recent Articles

AWS - Application Load Balancer
Elastic Load Balancing (ELB) ELB ဆိုတာကတော့ request တွေကို တစ်နေရာတည်းမှ လက်ခံကာ Amazon EC2 instances၊ containers, etc.....

Terraform Day 3: Benefits of Terraform State
Terraform ကိုလေ့လာ တဲ့အခါ ကျွန််တော်တို့ရဲ့ Project Folder ထဲမှာ terraform.tfstate ဆိုတဲ့ ဖိုင်လေးကို တွေ့ဖူးကြပါလိမ့်မယ...

Terraform Day 2: Essential IaC Principles You Must Know
မနေ့ကတော့ Terraform အကြောင်း အကြမ်းဖျင်း Concept ကို ပြောပြခဲ့ပြီးပြီဆိုတော့ ဒီနေ့မှာတော့ Terraform ကို Professional ကျက...

Terraform Day 1: Introduction to IAC and Terraform
ကျွန်တော်တို့ cloud အကြောင်း စပြောကြပြီဆိုရင် အရင်ဆုံး ခေါင်းထဲရောက်လာတာ Console ထဲဝင်၊ UI ကနေ ခလုတ်လေးတွေ လိုက်နှိပ်ပြီ...

AWS - Auto Scaling Group
AWS ASG Auto Scaling Group ဆိုတာကတော့ EC2 instances များကို logical group တစ်ခုအဖြစ် စုစည်းထားပြီး automatic scaling နှင...

