3/30/2014

TCP/IP Protocol Basic [articles]

ကြ်န္ေတာ္တုိ႔ IT ေလာကထဲမွာ TCP/IP ဆုိတာ မျဖစ္မေနသိထားသင့္တဲ့ အေျခခံ Concept တစ္ခုပါပဲ။ Networking သမားေတြဆုိရင္ သိကုိသိထားရမွာပါ။ ဟက္ကာျဖစ္ခ်င္ရင္လည္း ဒီ TCP/IP အေၾကာင္းကုိနားလည္ထားရမွာလုိ႔ ဖတ္ဖူးတယ္။ ဟုတ္/မဟုတ္ေတာ့ ကြ်န္ေတာ္လည္း မသိပါဘူး။ TCP/IP ရဲ႕အရွည္ေကာက္ကေတာ့ Transmission Control Protocol/Internet Protocol ျဖစ္ပါတယ္။ TCP/IP Protocol ေၾကာင့္သာ ကြ်န္ေတာ္တုိ႔ LAN မွသည္ Internet ဆီသုိ႕၊ Windows မွသည္ Linux ကြန္ပ်ဴတာေတြဆီ အဆင္ေျပေျပ Communication လုပ္ႏုိင္တာပါ။ TCP/IP သာမရွိခဲ့ရင္ Internet ဆုိတာလည္းရွိလာမွာ မဟုတ္ပါဘူး။ TCP/IP ကုိ ARPAnet (Advanced Research Project Agency) ကေန develop လုပ္ခဲ့တာျဖစ္ပါတယ္။ စစ္ဖက္ဆုိင္ရာက ကြန္ပ်ဴတာေတြအခ်င္းခ်င္း အဆင္ေျပေျပခ်ိတ္ဆက္ႏုိင္ဖုိ႔ တီထြင္ခဲ့တာျဖစ္ပါသတဲ့။ အဲဒီတုန္းကေတာ့ Network Control Protocol (NCP) လုိ႔သာေခၚပါေသးတယ္။ ေနာက္မွ TCP ျဖစ္လာတယ္ဆုိပါေတာ့။ ARPA ဆုိတာ Internet ရဲ႕ဖခင္ပါပဲ။ ဒါကေတာ့ TCP/IP ရဲ႕သမုိင္းအက်ဥ္းျဖစ္ပါတယ္။

TCP/IP Protocol Suite
Protocol ဆုိတာကေတာ့ ကြ်န္ေတာ္တုိ႔နားလည္လြယ္ေအာင္ေျပာရရင္ Standard (စံသတ္မွတ္ခ်က္) တစ္ခုပါပဲ။ ဥပမာ ျမန္မာႏုိင္ငံမွာ ေငြေၾကးအတြက္ က်ပ္(Kyat) ကုိ Standard အျဖစ္အသုံးျပဳတယ္။ ဒါေပမယ့္ သူမ်ားႏုိင္ငံမွာသြားျပီး ျမန္မာေငြက်ပ္ကုိအသုံးျပဳလုိ႔မရဘူး။ ႏုိင္ငံျခားမွာ ျမန္မာစကားနဲ႔သြားေျပာလုိ႔မရဘူး။ Global Language ျဖစ္တဲ့ English ကုိေျပာရတယ္။ ဟုိးအရင္တုန္းကေတာ့ Computer ေလာကမွာလည္း ဒီလုိေပါ့ဗ်ာ။ Apple ကလည္း Apple Talk ဆုိတဲ့ Protocol ကုိသုံးတယ္။ Novel အဖြဲ႕ကလည္း သူတုိ႔ရဲ႕ IPX/SPX (Internetwork Package Exchange/Sequence Package Exchange) ဆုိတဲ့ protocol ကုိတစ္ေယာက္တစ္မ်ဳိးစီအသုံးျပဳၾကတာ။ ဘာေတြျဖစ္လာသလဲဆုိေတာ့ Apple Device အခ်င္းခ်င္းဆက္သြယ္မယ္ဆုိရင္ OK တယ္။ အျခား Novel, Microsoft Device ေတြနဲ႔ခ်ိတ္မယ္မယ္ဆုိ မရေတာ့ဘူး။ ျမန္မာစကားကုိ ကုိရီးယားသြားေျပာလုိ႔ နားမလည္သလုိေပါ့ဗ်ာ။ ဒါေၾကာင့္ စံသတ္မွတ္ခ်က္ Protocol ဆုိတာလုိအပ္လာပါတယ္။
TCP/IP Protocol မေျပာခင္မွာ ကြ်န္ေတာ္တုိ႔အေျခံက်တဲ့ OSI 7 Layer အေၾကာင္းကုိ သိထားရမယ္။ OSI 7 Layer ကုိေအာက္ပါအတုိင္းေတြ႕ႏုိင္ပါတယ္။
Application Layer
Presentation Layer
Session Layer
Transport Layer
Network Layer
Data-Link Layer
Physical Layer


OSI 7 Layer အေၾကာင္းကုိ သေဘာေပါက္ဖုိ႔ ကြ်န္ေတာ္အရင္ ေရးထားတဲ့ OSI 7 Layer [Explain] ဆုိတဲ့ Thread မွာအေသးစိတ္ျပန္ဖတ္ဖုိ႔လုိပါလိမ့္မယ္။ OSI 7 Layer ကုိနားလည္သြားျပီဆုိရင္ TCP/IP ကုိဆက္သြားမယ္။ OSI 7 Layer မွာတုန္းက layer 7 ခုျဖစ္ေပမယ့္ TCP/IP Protocol မွာ Layer 4 ခုပဲျဖစ္သြားပါတယ္။ ဒါေတြကေတာ့ ေအာက္ပါအတုိင္းျဖစ္ပါတယ္။
Application Layer (Application+Prensation+Session)
Transport Layer
Network Layer
Data-Link Layer (Data-Link+Physical)


Application, Prensation, Session Layer 3 ခုေပါင္းျပီး Application Layer အျဖစ္သတ္မွတ္ပါတယ္။ ေနာက္ Data-Link, Physical Layer 2 ခုကုိ Data-Link Layer အျဖစ္သတ္မွတ္လုိက္ပါတယ္။ ဒါေၾကာင့္ TCP/IP Protocol Suite မွာ layer 4 ခုရွိတယ္လုိ႔ ေျပာႏုိင္ပါျပီ။ ေအာက္မွာ Layer 4 ခုအေၾကာင္းကုိ ေဆြးေႏြးၾကည့္ရေအာင္။

Application Layer
ဒီ Layer ကေန ကြ်န္ေတာ္တုိ႔ အစျပဳရတာေပါ့ဗ်ာ။ ဥပမာ ကြ်န္ေတာ္တုိ႔ Gmail ကေန Mail တစ္ေစာင္ပုိ႔လုိက္တာမ်ဳိး။ FTP ကေန ဖုိင္တစ္ခု Download ဆြဲလုိက္တာမ်ဳိး၊ Facebook သုံးေနတာမ်ဳိး၊ တစ္ခုခုျဖစ္ႏုိင္ပါတယ္။ Application Layer အတြက္ နာမည္ၾကီး protocol ေတြကေတာ့ ေအာက္ပါအတုိင္းေတြ႕ရမွာပါ။
HTTP (Hypertext Transfer Protocol)
FTP (File Transfer Protocol)
SMTP (Simple Mail Transfer Protocol)
SNMP (Simple Network Management Protocol)


Transport Layer
Transport Layer ဆုိတာ host ႏွစ္ခုၾကားက data ေတြစီးဆင္းဖုိ႔ ပင္မေက်ာရုိးလုိ႔ေျပာရမွာပါ။ Application Layer ကေနပုိ႔လုိက္တဲ့ data ေတြကုိ ဒီ layer ကပုိ႔ေဆာင္ေပးရပါတယ္။ Transport Layer အတြက္ protocol ေတြအမ်ားၾကီးရွိတဲ့အထဲက အသုံးမ်ားဆုံး protocol ကေတာ့ TCP နဲ႔ UDP (User Datagram Protocol) ပဲျဖစ္ပါတယ္။ ဒီေနရာမွာTCP protocol ဆုိတာ ‘reliable connection’ လုိ႔သတ္မွာတ္ျပီး ဥပမာ ကြ်န္ေတာ္တုိ႔ ဖုိင္ေတြကုိ ေဒါင္းလုတ္ဆြဲေနရင္ တကယ္လုိ႔ၾကားထဲက package ေတြပုိ႔ရာမွာ error ရွိခဲ့ရင္ ျပန္စစ္ျပီး ၾကားမွာ ေဒတာဆုံးရွဳံးမွဳမရွိေအာင္ ကုိင္တြယ္ေပးပါတယ္။ UDP ဆုိတာကေတာ့ ခုနကလုိ ၾကားထဲမွာ တစ္ခုခု error ရွိေနေပမယ့္လည္း Ignore လုပ္ပစ္ျပီး လက္ခံတဲ့ protocol အျဖစ္သတ္မွတ္ေစပါတယ္။ ဒါကုိ ‘unreliable connection’ လုိ႔ေခၚပါတယ္။

Network Layer
ဒီ Layer ကေတာ့ Internet Layer အျဖစ္လူသိမ်ားပါတယ္။ Network Layer မွာ IP Address ေတြပါလာမယ္။ ေနာက္အက်ယ္ခ်ဲျပီး ARP လုိ႔ေခၚတဲ့ Address Resolution Protocol ေတြပါလာမယ္။ ေနာက္ Internet Control Message Protocol (ICMP), Internet Group Management Protocol (IGMP) ဒါေတြပါလာမယ္။ ICMP Protocol ဆုိတာ ကြ်န္ေတာ္တုိ႔သုံးေနက် ping Command ျဖစ္ပါတယ္။

Data-Link Layer
Network Interface Layer လုိ႔လည္းေခၚပါတယ္။ ဒီ layer မွာ OS မွာပါတဲ့ Device Driver ေတြပါဝင္မယ္။ Network Interface Card (NIC) ေတြပါဝင္မယ္။ Device Driver နဲ႔ NIC ေတြက Cable ကေနပုိ႔လုိက္တဲ့ ေဒတာေတြကုိ အျခား ကြန္ပ်ဴတာေတြဆီကုိ Communication လုပ္ရမွာ အဆင္ေျပေစဖုိ႔ ထိန္းေက်ာင္းတာျဖစ္ပါတယ္။

TCP/IP Model
ကြ်န္ေတာ္တုိ႔ ေပၚမွာ layer ေတြအေၾကာင္း ေလ့လာျပီးေနာက္ Computer ႏွစ္ခု TCP/IP Model အေနနဲ႔ ဘယ္လုိဆက္သြယ္သလဲဆုိတာ ေလ့လာၾကည့္မယ္။ ဒါကေတာ့ client-server architecture အျဖစ္လူသိမ်ားတဲ့ ပုံစံပါပဲ။ 

ပုံမွာအတုိင္း ကြ်န္ေတာ္တုိ႔ PC ကေန data ေတြ http protocol ကေန Transport layer ဆီကုိသြားပါမယ္။ ေနာက္ TCP ကေန destination port, sequence number, စတဲ့ information ေတြကုိ assign လုပ္ပါမယ္။ IP Layer မွာေတာ့ Transport layer ကေနလာတဲ့ information ေတြကုိသူရဲ႕ သက္ဆုိင္ရာ information ေတြထပ္ေပါင္းလုိက္ပါတယ္။ source IP Address, Destination IP ဘာညာေပါ့။ ကဲ ေနာက္ဆုံး NIC ေတြက သက္ဆုိင္ရာ MAC Address ေတြကုိ Ethernet Network ကေန data ေတြပုိ႔မယ္။ ဟုိလက္ခံမယ့္ server ဘက္မွာလည္း အရင္ဆုံး Data-link layer ကေန information ေတြကုိအရင္ဖတ္မွာေပါ့ေနာ္။ ဒီလုိပဲ Network Layer, Transport Layer, Application layer ကုိျဖတ္ျပီး ေနာက္ဆုံး target (webserver) ဆီကုိေရာက္သြားပါျပီ။ ေနာက္တဖန္ server ကေန ခုနကလုိပဲ layer အဆင့္ဆင့္ကုိျဖတ္ျပီး webserver ကေန PC ဆီကုိျပန္သြားပါမယ္။ ဒါကေတာ့ TCP/IP အလုပ္လုပ္တဲ့ပုံစံအတုိခ်ဳပ္ေပါ့ဗ်ာ။ အေသးစိတ္ေျပာမယ္ဆုိရင္ ဒီပုိ႔စ္နဲ႔လုံေလာက္မွာမဟုတ္လုိ႔ပါ။ ဒီေလာက္ဆုိရင္ TCP/IP အေျခခံသေဘာတရားကုိ နားလည္သြားမယ္လုိ႔ေမ်ာ္လင့္ပါတယ္။

Ref: TCP/IP Foundations (Andrew G. Blank), thegeekstuff.com
http://www.4sectors.com/forum/showthread.php?tid=1765

No comments:

Post a Comment

If you good, i don't bad. if you think you can bark me, I think i can also fuck you. I'm just ordinary person. Is that OK? :)