Friday, September 12, 2014

What is TCP/IP?

What is TCP/IP?

TCP/IP အေၾကာင္းကိုမေျပာခင္ဘယ္လိုျဖစ္ေပၚလာသလဲဆိုတာကေန Intro စ၀င္ခ်င္ပါတယ္။ Network ေတြကိုစတင္အသံုးျပဳတဲ့ကာလတံုးကေပါ့ အခုလိုမ်ိဳးၾကိဳက္တဲ့ Computer ေတြျပီး Network တည္ေဆာက္တာမ်ိဳးမရပါဘူးဗ်။ ဥပမာအေနနဲ ့ေျပာရရင္ Acer Computer က Dell နဲ ့အျပန္အလွန္ communicate မလုပ္ႏိုင္ၾကပါဘူး ဒီလိုဆိုလိုတာပါ။ အဲ့အခ်ိန္ကေတာ့ Computer ထုတ္လုပ္ေရာင္းခ်ေသာ Company ၂ ခုသာရွိပါတယ္။ တစ္ခုကေတာ့ IBM ေခၚ International Bussiness Machines ဆိုတာျဖစ္ျပီး ေနာက္တစ္ခုကေတာ့ DEC ေခၚ Digital Equipment Corporation ျဖစ္ၾကပါတယ္။ ထို Company အသီးသီးေတြသူတို ့ Computer ေတြအျပန္အလွန္ ဆက္သြယ္ႏိုင္ေသာ ကိုယ္ပိုင္ Networking model ေတြကို
အသံုးျပဳၾကပါတယ္ SNA ေခၚ System Network Architecture ကို IBM မွဖန္တီးအသံုးျပဳသလို DEC မွလဲ DECnet ကိုအသံုးျပဳပါတယ္။အခ်င္းခ်င္းဆက္သြယ္ႏိုင္ရန္အတြက္ DEC မွ SNA model ကိုနားလည္အသံုးျပဳႏိုင္တဲ့ Software တစ္ခုကိုေရးသားခဲ့ပါတယ္။ ေျပာရရင္ SNA မွ DECnet ၊ DECnet မွ ွSNA ထိုကဲ့သို ့ေျပာင္းလဲေပးတာကိုဆိုလိုတာပါ။ သို ့ေပမယ့္ထိုသို ့အသံုးျပဳျခင္းပာာလည္း အေကာင္းဆံုးနည္းလမ္းတစ္ခုေတာ့မပာုတ္ခဲ့ပါဘူး။ ဒါေၾကာင့္နဲ ့ ေနာက္ပိုင္းမွာ ကိုယ္ပိုင္ networking model အသံုးျပဳမွဳေတြကိုရပ္နားလိုက္ၾကျပီး Open Public Model ေခၚ TCP/IP Model ကိုလဲလွယ္အသံုးျပဳခဲ့ၾကပါတယ္။

Transmission Control Protocol ေခၚ TCP
TCP မွာလုပ္ေဆာင္ခ်က္ေတြမ်ားစြာရွိပါတယ္ ထိုထဲက segmentation ႏွင့္ error recovery အေၾကာင္းကိုေျပာခ်င္ပါတယ္။ Segmentation ဆိုတာကေတာ့ Data ေတြကိုမပို ့ခင္မွာ packert မ်ားအျဖစ္ ပိုင္းျခားလိုက္သည္ကိုဆိုလိုပါတယ္။ ကြန္ျပဴတာမွေပးပို ့မည့္ Data အား အပိုင္းေသးေသးေလးေတြအျဖစ္စိတ္ပိုင္းလိုက္တာကို segmentation ေခၚ TCP ရဲ့လုပ္ေဆာင္ခ်က္တစ္ခုလဲျဖစ္ပါတယ္။ ေနာက္ TCP header ထည့္သြင္းလိုက္ေသာ data အပိုင္းတစ္ခုအား TCP Segment တစ္ခုလို ့ေခၚတြင္ပါတယ္Note: Packet မျဖစ္ေသးပါ။ Error Recovery လုပ္ေဆာင္ျခင္းအတြက္ TCP Header ထည့္သြင္းလိုက္ျခင္းျဖစ္ပါတယ္။

Error Recovery ကိုဥပမာေလးတစ္ခုနဲ ့ရွင္းခ်င္ပါတယ္။ ေျပာရရင္ Data တစ္ခုအား ၃ပိုင္းပိုင္းျပီးပို ့မယ္ဆိုပါဆို ့ ဒါဆို First Part , Second Part , Third Part ၃ပိုင္းျဖစ္သြားျပီေပါ့။ TCP Header ဆိုတာ Part တစ္ခုေရွ ့ကေနထည့္သြင္းလိုက္တာျဖစ္ပါတယ္

Computer 1 >>>>>>> Computer 2
TCP Header ______ User Data
Seq = 1 _______ First Part
Seq = 2 ________ Second Part
Seq = 3 _________ Third Part

ဒီလိုေလးေပါ့ TCP header သည္ <Seq> ေခၚ sequence number တပ္ဖို ့ေနရာျဖစ္ပါတယ္။ ေနာက္ acknowledge ေခၚ <ACK> ထည့္သြင္းဖို ့လဲျဖစ္ပါတယ္။ ေျပာရရင္ Computer 1 ကေန Computer 2 ကိုေပးပို ့ရာမွာ Second Part မွာ Error တက္ျပီဆိုပါစုိ႔။ ဒါဆို Computer B မွ Computer A သို ့ ACK = 2 ဆို ့ျပီး Acknowledge ေပးပို ့ျပီးျပန္လည္ေတာင္းပါလိမ့္မယ္။ ဒါဆို Computer A မွ B သို ့ Second Part အားျပန္လည္ေပးပို ့မွာျဖစ္ပါတယ္ ထို ့သို ့ျဖင့္ Error Recovery လုပ္ေဆာင္မွာျဖစ္ပါတယ္။ Segment တစ္ခုရဲ့အရြယ္ပမာနသည္ 1480 byte ရွိျပီး TCP header သည္ 20 byte ေနရာယူပါတယ္

IP ေခၚ Internet Protocol
TCP သည္အဓိကလုပ္ေဆာင္ခ်က္ကေတာ့ Segmentation ႏွင့္ Error Recovery ျဖစ္ပါတယ္။ Data အားလိုအပ္ေတာ့ေနရာအားေရာက္ရွိေစရန္ IP မွဆက္လက္လုပ္ေဆာင္ပါတယ္။ TCP မွရရွိလာေသာ segment ေရွ ့သြင္ IP header အားထပ္မံထည့္သြင္းပါတယ္အဲ့တြင္ source IP ႏွင့္ destination IP address တို ့ပါရွိပါတယ္။ ထိုသို ့ထည္သြင္းျပီးသြားပါက IP Packet တစ္ခုျဖစ္သြားပါျပီ။ IP သည္ 20 byte ရွိပါတယ္။ ေအာက္ပါလိုျဖစ္သြားျပီေပါ့

" IP Header ", "TCP Header", "Data"
IP Address အေၾကာင္းကိုနဲနဲေျပာခ်င္ပါတယ္။ IP Address တြင္ Internet Protocol မွသတ္မွတ္ထားေသာပံုေသတစ္ခုရွိပါတယ္။ IP address သည္ 32bit binary number ေတြျဖစ္ပါတယ္။ သို ့ေပမယ့္မွတ္သားရန္ခက္ခဲ့သည့္အတြက္ decimal number မ်ားျဖင့္အသံုးျပဳပါတယ္။ ဒါမ်ိဳးကိုေတာ့ dotted decimal လို ့ဆိုပါတယ္။ 192 . 168 . 10 . 20 တစ္ခုစီကို octet လို ့ကိုယ္စားျပဳပါတယ္ ဒီေတာ့ 192 က 1st octet , 168 က 2nd octect and so on....IP Address သည္ 32bit ျဖစ္ပါတယ္။

No comments:

Post a Comment