Skip to content
GitHub

TCP Connection အကြောင်း

TCP (Transmission Control Protocol) ဆိုတာ ဘာလဲ?

Section titled “TCP (Transmission Control Protocol) ဆိုတာ ဘာလဲ?”

အင်တာနက်ပေါ်မှာ အချက်အလက် (Data) တွေ ပို့တယ်ဆိုတာ အဆင့်ဆင့် စည်းမျဉ်းတွေ (Protocol Layers တွေ) နဲ့ သွားတာပါ။ စာပို့တာနဲ့ ဆင်တူပါတယ်။ TCP ရဲ့ အဓိက အလုပ်ကတော့ အချက်အလက်တွေကို ပို့တဲ့နေရာကနေ လက်ခံတဲ့နေရာဆီကို ယုံကြည်စိတ်ချရတဲ့ နည်းလမ်းနဲ့ (Reliable) သေချာ ပို့ဆောင်ပေးတာပဲ ဖြစ်ပါတယ်။

TCP ရဲ့ အဓိက ကောင်းကွက်များ

Section titled “TCP ရဲ့ အဓိက ကောင်းကွက်များ”

Connection-Oriented (ချိတ်ဆက်မှုကို အခြေခံခြင်း)

Section titled “Connection-Oriented (ချိတ်ဆက်မှုကို အခြေခံခြင်း)”

TCP ဟာ “ဆက်သွယ်မှု ထူထောင်ပြီးမှ သွားတဲ့” (Connection-Oriented) နည်းလမ်းပါ။ ဒါက ဘာကိုပြောလဲဆိုတော့ တကယ် အချက်အလက် (Data) တွေ မပို့ခင်မှာ ပို့မယ့် ကွန်ပျူတာနှစ်လုံး (ပို့သူနဲ့ လက်ခံသူ ကြား) မှာ ‘ငါတို့ အဆက်အသွယ်ရပြီနော်၊ အချက်အလက်တွေ ပို့တော့မယ်နော်’ ဆိုပြီး လမ်းကြောင်းတစ်ခုကို အရင် ဖွင့်လိုက်ရပါတယ်။ အချက်အလက် အားလုံး ပို့ပြီးသွားရင်လည်း ‘ပို့လို့ပြီးပြီ’ ဆိုပြီး စနစ်တကျ ပြန်ပိတ်ရပါတယ်။ ဒါဟာ မပြောချင်တဲ့အချိန် ဖုန်းမခေါ်ဘဲ၊ ပြောချင်မှ ဖုန်းခေါ်ပြီး ပြောတာနဲ့ တူပါတယ်။

tcp-ip layers

ယုံကြည်စိတ်ချရမှု (Reliable)

Section titled “ယုံကြည်စိတ်ချရမှု (Reliable)”

ပို့လိုက်တဲ့ အချက်အလက်တွေ လမ်းမှာ ပျောက်ဆုံးတာ၊ မလိုလားဘဲ နှစ်ခါရောက်တာ၊ ဒါမှမဟုတ် ရှေ့နောက်လွဲပြီး ရောက်တာမျိုးတွေ မဖြစ်အောင် TCP က သေချာ စီစဉ်ပေးပါတယ်။ စာတိုက်ကနေ မှတ်ပုံတင် (Registered Mail) နဲ့ အာမခံပြီး ပို့တာမျိုးနဲ့ ဆင်ပါတယ်။

ဘယ်လို ယုံကြည်စိတ်ချရအောင် လုပ်ဆောင်လဲ?

Section titled “ဘယ်လို ယုံကြည်စိတ်ချရအောင် လုပ်ဆောင်လဲ?”
  • အစီအစဉ် နံပါတ်တပ်ခြင်း (Sequence Numbers): ပို့လိုက်တဲ့ အချက်အလက် အပိုင်းလေးတွေကို အစီအစဉ်လိုက် နံပါတ်တွေ တပ်ပေးလိုက်ပါတယ်။ ဒါမှ လက်ခံရတဲ့သူက နံပါတ်အတိုင်း ပြန်စီပြီး မူရင်းအတိုင်း အပြည့်အစုံ ရနိုင်တာပေါ့။ (စာရွက်တွေကို စာမျက်နှာ နံပါတ်တပ်ပြီး ပို့သလိုပါပဲ)။
  • လက်ခံကြောင်း အကြောင်းပြန်ခြင်း (Acknowledgements - ACKs): အချက်အလက် အပိုင်းလေးတစ်ခုကို အောင်မြင်စွာ လက်ခံရရှိပြီ ဆိုတာနဲ့ လက်ခံတဲ့ဘက်က ပို့တဲ့သူကို ‘ရပါပြီ’ လို့ ပြန်ပြီး အကြောင်းကြားပေးပါတယ်။ (ပစ္စည်းရတာနဲ့ လက်ခံရရှိကြောင်း ပြန်စာထိုးပေးတာမျိုးပါ)။
  • ပြန်ပို့ခြင်း (Retransmission): ပို့တဲ့သူက အပိုင်းတစ်ခုကို ပို့လိုက်ပြီး လက်ခံရရှိကြောင်း အကြောင်းပြန်စာ (ACK) ကို သတ်မှတ်ထားတဲ့ အချိန်အတွင်း ပြန်မရရင်၊ အဲ့ဒီအပိုင်း ပျောက်သွားပြီလို့ ယူဆပြီး အလိုအလျောက် ပြန်ပို့ပေးပါတယ်။
  • မှန်ကန်တဲ့ အစီအစဉ်အတိုင်း ရောက်ရှိခြင်း (Ordered Delivery): Data အပိုင်းလေးတွေ Network လမ်းကြောင်းပေါ်မှာ အစီအစဉ်လွဲပြီး (ရှေ့နောက် မမှန်ဘဲ) ရောက်လာခဲ့ရင်တောင်၊ TCP က အစီအစဉ် မှန်ကန်အောင် ပြန်စီပြီးမှသာ အပေါ်က Program တွေကို လွှဲပေးပါတယ်။ ပို့လိုက်တဲ့ အစီအစဉ်အတိုင်းပဲ လက်ခံသူဆီကို အတိအကျ ရောက်ရှိစေပါတယ်။

အခြား အရေးကြီး Feature များ

Section titled “အခြား အရေးကြီး Feature များ”
  • ပို့တဲ့နှုန်း ထိန်းချုပ်ခြင်း (Flow Control): လက်ခံတဲ့ ကွန်ပျူတာရဲ့ မှတ်ဉာဏ် (Buffer) ပြည့်လျှံပြီး Data တွေ ပျောက်မသွားအောင် ပို့တဲ့ဘက်က Data ပို့တဲ့နှုန်းကို ထိန်းညှိပေးပါတယ်။ (ဥပမာ - ရေပိုက် အသေးလေးထဲကို ရေအများကြီး တန်းလောင်းထည့်ရင် ဖိတ်ကုန်သလိုမျိုး မဖြစ်အောင် ဖြည်းဖြည်းချင်း လောင်းထည့်တာမျိုး ဖြစ်ပါတယ်)။
  • လမ်းကြောင်း ပိတ်ဆို့မှု ထိန်းချုပ်ခြင်း (Congestion Control): Network ပေါ်မှာ အချက်အလက် အသွားအလာ အရမ်းများပြီး လမ်းကြောင်းတွေ ပိတ်ဆို့မှု (Traffic Jam) မဖြစ်ရအောင် ကူညီပေးတဲ့ စနစ်တွေလည်း ပါဝင်ပါတယ်။