Open Systems Interconnection model (OSI model) ကို Computer system ေတြႀကားမွာ error-free
communication ျဖစ္ေစဖုိ့ International Organization for Standardization (ISO) က သတ္မွတ္ခဲ့တာပါ.
ဘယ္လိုေႀကာင့္လဲ ဆိုေတာ့.. ကြန္ပ်ဴတာ ထုတ္တဲ့ company ေတြ အမ်ားႀကီးရွိသလုိ ကြန္ပ်ဴတာေတြ Netwrok
ေတြ အျပန္အလွန္ခ်ိတ္ဆက္ဖုိ့ device ထုတ္တဲ့ company ေတြ ကလဲ အမ်ားႀကီးပါ. မတူညီတဲ့ company ေတြက
ထုတ္တဲ့ နည္းပညာ မတူတဲ့ device ေတြ ကႊန္ပ်ဴတာေတြ, Network ေတြ တစ္ခုနဲ့ တစ္ခု အျပန္အလွန္ ေခ်ာေခ်ာေမြ ့ေမြ ့
နဲ့ အခ်ိတ္အဆက္မိေစဖုိ့ စံသတ္မွတ္ေပးထားတဲ့ standard model တစ္ခု ခ်မွတ္ခဲ့တာပါ. ေျပာရရင္ေတ့ာဗ်ာ..
Computer ေတြ Node ေတြ တစ္ခုနဲ့ တစ္ခုႀကားမွာ သံုးမယ့္ physical media ေတြ Encrypting Type ေတြ rule ေတြ
application ေတြ protocols ေတြ encoding/decoding စတာေတြကို သတ္မွတ္ေပးထားတဲ့ Standard model
တစ္ခုျဖစ္ပါတယ္. OSI model မွာ Layer 7 ခုရွိပါတယ္.. အဲ့တာေတြကေတာ့…
communication ျဖစ္ေစဖုိ့ International Organization for Standardization (ISO) က သတ္မွတ္ခဲ့တာပါ.
ဘယ္လိုေႀကာင့္လဲ ဆိုေတာ့.. ကြန္ပ်ဴတာ ထုတ္တဲ့ company ေတြ အမ်ားႀကီးရွိသလုိ ကြန္ပ်ဴတာေတြ Netwrok
ေတြ အျပန္အလွန္ခ်ိတ္ဆက္ဖုိ့ device ထုတ္တဲ့ company ေတြ ကလဲ အမ်ားႀကီးပါ. မတူညီတဲ့ company ေတြက
ထုတ္တဲ့ နည္းပညာ မတူတဲ့ device ေတြ ကႊန္ပ်ဴတာေတြ, Network ေတြ တစ္ခုနဲ့ တစ္ခု အျပန္အလွန္ ေခ်ာေခ်ာေမြ ့ေမြ ့
နဲ့ အခ်ိတ္အဆက္မိေစဖုိ့ စံသတ္မွတ္ေပးထားတဲ့ standard model တစ္ခု ခ်မွတ္ခဲ့တာပါ. ေျပာရရင္ေတ့ာဗ်ာ..
Computer ေတြ Node ေတြ တစ္ခုနဲ့ တစ္ခုႀကားမွာ သံုးမယ့္ physical media ေတြ Encrypting Type ေတြ rule ေတြ
application ေတြ protocols ေတြ encoding/decoding စတာေတြကို သတ္မွတ္ေပးထားတဲ့ Standard model
တစ္ခုျဖစ္ပါတယ္. OSI model မွာ Layer 7 ခုရွိပါတယ္.. အဲ့တာေတြကေတာ့…
(1).Physical Layer ဆိုေတာ့ OSI model ရဲ့ ပထမဆံုး layer ျဖစ္ပါတယ္.သူက data ေတြကိုBit အေနနဲ့ ပို့ပါတယ္.
သူ့့တာ၀န္က pin no, volt, dB(အလင္းျပင္းအား), cable (Twisted Pair, Coaxial Cable, Optical Fiber), electrical/optical
signal(on, off, 0, 1), frequency စတာေတြကို standard တစ္ခု သတ္မွတ္ေပးထားပါတယ္. ျပီးေတာ့ signal timing
ေျပာရရင္ Data singal တစ္ခု 0 ပို့ျပီးရင္ ေနာက္ Data Signal တစ္ခု 1ကို ခ်က္ခ်င္း ပို့လိုက္လို့္မရပါဘူး.. အခ်ိန္အပိုင္းအျခာ
းတစ္ခု Nano second ပိုင္းေလာက္ႀကာသည္အထိ ေစာင့္ျပီးမွပို့မွ ရပါမယ္. အဲ့သည္ Data signal ေတြႀကားႀကာခ်ိန္ေတြ
ကိုလဲသက္မွတ္ေပးထားရပါတယ္.Transmitter နဲ့ Receiver ႀကား Signal Timing မတူရင္ Timing လြဲရင္ error တက္နုိင္ပါတယ္.
ျပီးေတာ့ wireless device ေတြ အတြက္ဆုိရင္လဲ.. သံုးရမယ့္ Frequency(2.4Ghz, 5Ghz,.etc) ေတြကို တူညီမွရပါမယ္
မတူညီခဲ့ရင္ communicate လုပ္လို့မရပါဘူး.. တစ္ခါ transmission mode ေတြျဖစ္တဲ့ simplex, half duplex, full duple
mode ေတြကိုလဲ Physical Layer က define လုပ္ပါတယ္ လုပ္ေဆာင္တာကေတာ့ Session Layer ကလုပ္ေဆာင္ေပးပါတယ္.
ေနာက္ျပီး Physical topology ေတြ ျဖစ္တဲ့ Bus, Meshတုိ့ ring တုိ့ကလဲ Physical Layer နဲ့ပဲ သက္ဆိုင္ပါတယ္.
Physical Layer ရဲ့ အဓိက တာ၀န္ကေတာ့ သူ့အထက္Layer ျဖစ္တဲ့ DataLink Layer ကေန ပို့သမွ် data frame ေတြကို
bit signal(0,1) ေတြ အေနနဲ့ ေျပာင္းလဲျပီး ပို့ေဆာင္ေပးရျပီး ၀င္လာသမွ်ကိုလဲ လက္ခံယူျပီး datalink layer ကို frame
ေတြအေနနဲ့ ျပန္လည္ပိုေဆာင္ေပးပါတယ္.
သူ့့တာ၀န္က pin no, volt, dB(အလင္းျပင္းအား), cable (Twisted Pair, Coaxial Cable, Optical Fiber), electrical/optical
signal(on, off, 0, 1), frequency စတာေတြကို standard တစ္ခု သတ္မွတ္ေပးထားပါတယ္. ျပီးေတာ့ signal timing
ေျပာရရင္ Data singal တစ္ခု 0 ပို့ျပီးရင္ ေနာက္ Data Signal တစ္ခု 1ကို ခ်က္ခ်င္း ပို့လိုက္လို့္မရပါဘူး.. အခ်ိန္အပိုင္းအျခာ
းတစ္ခု Nano second ပိုင္းေလာက္ႀကာသည္အထိ ေစာင့္ျပီးမွပို့မွ ရပါမယ္. အဲ့သည္ Data signal ေတြႀကားႀကာခ်ိန္ေတြ
ကိုလဲသက္မွတ္ေပးထားရပါတယ္.Transmitter နဲ့ Receiver ႀကား Signal Timing မတူရင္ Timing လြဲရင္ error တက္နုိင္ပါတယ္.
ျပီးေတာ့ wireless device ေတြ အတြက္ဆုိရင္လဲ.. သံုးရမယ့္ Frequency(2.4Ghz, 5Ghz,.etc) ေတြကို တူညီမွရပါမယ္
မတူညီခဲ့ရင္ communicate လုပ္လို့မရပါဘူး.. တစ္ခါ transmission mode ေတြျဖစ္တဲ့ simplex, half duplex, full duple
mode ေတြကိုလဲ Physical Layer က define လုပ္ပါတယ္ လုပ္ေဆာင္တာကေတာ့ Session Layer ကလုပ္ေဆာင္ေပးပါတယ္.
ေနာက္ျပီး Physical topology ေတြ ျဖစ္တဲ့ Bus, Meshတုိ့ ring တုိ့ကလဲ Physical Layer နဲ့ပဲ သက္ဆိုင္ပါတယ္.
Physical Layer ရဲ့ အဓိက တာ၀န္ကေတာ့ သူ့အထက္Layer ျဖစ္တဲ့ DataLink Layer ကေန ပို့သမွ် data frame ေတြကို
bit signal(0,1) ေတြ အေနနဲ့ ေျပာင္းလဲျပီး ပို့ေဆာင္ေပးရျပီး ၀င္လာသမွ်ကိုလဲ လက္ခံယူျပီး datalink layer ကို frame
ေတြအေနနဲ့ ျပန္လည္ပိုေဆာင္ေပးပါတယ္.
DataLink Layer ကေတာ့ OSI မွာ ဒုတိယေျမာက္ Layer ျဖစ္ျပီးေတာ့ Physical Layer နဲ့ Network Layer တုိ့
အႀကားမွာ ရွိပါတယ္. သူက Data ေတြကို Frame တစ္ခု အေနနဲ့ ေျပာင္းျပီး ပို့ေဆာင္ေပးပါတယ္.အဓိက တာ၀န္ကေတာ့
sender နဲ့ receiver ႀကားက Network မွာ ရွိတဲ့ device ေတြႀကား data ပုိ့လုိက္ရင္ collision ျဖစ္မျဖစ္ အရင္စစ္ပါတယ္
ျပီးမွ ok ျပီဆိုေတာ့မွ data စတင္ပို့ပါတယ္. ဥပမာ Sender A နဲ့ receiver D ႀကားမွာ Device Bနဲ့ C ရွိတယ္ ဆုိက်ပါဆို.
ပထမဆံုး sender A and devive B ႀကားမွာ collision ျဖစ္မျဖစ္ တစ္ခါ စစ္ပါတယ္ clear ျဖစ္မွ data ပို့ပါတယ္. တစ္ခါအဲ့လုိပဲ
device B နဲ့ C ႀကားမွာလဲ စစ္ပါတယ္ clear ျဖစ္မွ data ပို့ပါတယ္ ေနာက္ ဆက္စစ္ပါတယ္ device C နဲ့ receiver D ႀကားကို
အဆင္ေျပမွ data ပို့ပါတယ္ ေျပာရရင္ ေနာက္ဆံုလက္ခံမယ့္သူဆီ မေရာက္မခ်င္းလမး္မွာ ရွိသမွ် point to point ခ်ိတ္ထားတဲ့
segment တုိင္း အပိုင္းတုိင္းကိုစစ္ပါတယ္ collision ျဖစ္နုိင္မျဖစ္နုိင္ကို ျပီးမွ data ကိုပို့ပါတယ္.
အႀကားမွာ ရွိပါတယ္. သူက Data ေတြကို Frame တစ္ခု အေနနဲ့ ေျပာင္းျပီး ပို့ေဆာင္ေပးပါတယ္.အဓိက တာ၀န္ကေတာ့
sender နဲ့ receiver ႀကားက Network မွာ ရွိတဲ့ device ေတြႀကား data ပုိ့လုိက္ရင္ collision ျဖစ္မျဖစ္ အရင္စစ္ပါတယ္
ျပီးမွ ok ျပီဆိုေတာ့မွ data စတင္ပို့ပါတယ္. ဥပမာ Sender A နဲ့ receiver D ႀကားမွာ Device Bနဲ့ C ရွိတယ္ ဆုိက်ပါဆို.
ပထမဆံုး sender A and devive B ႀကားမွာ collision ျဖစ္မျဖစ္ တစ္ခါ စစ္ပါတယ္ clear ျဖစ္မွ data ပို့ပါတယ္. တစ္ခါအဲ့လုိပဲ
device B နဲ့ C ႀကားမွာလဲ စစ္ပါတယ္ clear ျဖစ္မွ data ပို့ပါတယ္ ေနာက္ ဆက္စစ္ပါတယ္ device C နဲ့ receiver D ႀကားကို
အဆင္ေျပမွ data ပို့ပါတယ္ ေျပာရရင္ ေနာက္ဆံုလက္ခံမယ့္သူဆီ မေရာက္မခ်င္းလမး္မွာ ရွိသမွ် point to point ခ်ိတ္ထားတဲ့
segment တုိင္း အပိုင္းတုိင္းကိုစစ္ပါတယ္ collision ျဖစ္နုိင္မျဖစ္နုိင္ကို ျပီးမွ data ကိုပို့ပါတယ္.
သူမွာ SubLayer 2 ခုရွိပါတယ္ Media Access Control (MAC) Sublayer နဲ့ Logical Link Control (LLC) Sublayer တုိ့
ျဖစ္ပါတယ္. Logical Link Control(LLC) sublayer ကေတာ့ point to point Node ေလးေတြႀကားမွာ logical connection
တစ္ခု အရင္ ဖန္တီးေပးပါတယ္ ျပီေတာ့ data ေတြ အဲ့ connection Link ေလးေပၚကသြားနုိင္ေအာင္ အသင့္ျပင္ေပးပါတယ္.
Media Access Control Sublayer မွာ.. MAC address(Layer 2 address, Physical address လို့လဲ ေခၚပါတယ္) ကို
သံုးျပီးေတာ့ .. Frame ေတြကို Point to Point Directly connected node ေတြ ႀကား ပို့ေဆာင္ေပးပါတယ္.္ Data Link Layer
မွာ synchronization, bit error detection/correction error control, and flow control စတာေတြ လုပ္ေဆာင္ပါတယ္္.
switch သည္ Layer 2 device ျဖစ္ပါတယ္..
ျဖစ္ပါတယ္. Logical Link Control(LLC) sublayer ကေတာ့ point to point Node ေလးေတြႀကားမွာ logical connection
တစ္ခု အရင္ ဖန္တီးေပးပါတယ္ ျပီေတာ့ data ေတြ အဲ့ connection Link ေလးေပၚကသြားနုိင္ေအာင္ အသင့္ျပင္ေပးပါတယ္.
Media Access Control Sublayer မွာ.. MAC address(Layer 2 address, Physical address လို့လဲ ေခၚပါတယ္) ကို
သံုးျပီးေတာ့ .. Frame ေတြကို Point to Point Directly connected node ေတြ ႀကား ပို့ေဆာင္ေပးပါတယ္.္ Data Link Layer
မွာ synchronization, bit error detection/correction error control, and flow control စတာေတြ လုပ္ေဆာင္ပါတယ္္.
switch သည္ Layer 2 device ျဖစ္ပါတယ္..
OSI Layer ၇ဲ ့ ၃ ခု ေျမာက္ Layer ကေတာ့ Network Layer ျဖစ္ပါတယ္္္ Network layer က data packet ေတြရဲ႕ logical
addressing(ဥမာ IP address) အခ်က္အလက္ေတြကို တာ၀န္ယူေဆာင္ရြက္ေပးပီးေတာ့ အဲ့ဒိ packet ေတြကို သြားခ်င္တဲ့
(destination address) လိုရာခရီးေရာက္ေအာင္ပို႕ေဆာင္ေပးပါတယ္.
addressing(ဥမာ IP address) အခ်က္အလက္ေတြကို တာ၀န္ယူေဆာင္ရြက္ေပးပီးေတာ့ အဲ့ဒိ packet ေတြကို သြားခ်င္တဲ့
(destination address) လိုရာခရီးေရာက္ေအာင္ပို႕ေဆာင္ေပးပါတယ္.
သူရဲ ့ Function ေတြကေတာ့ routing and Forwarding, addressing, internetworking, traffic problems management
(flow control), error handling, congestion control and packet sequencing တုိ့ပဲ ျဖစ္ပါတယ္. သူ႔ရဲ႕အလုပ္လုပ္ပံုကေတာ့
packet တခု၀င္လာပီဆိုတာနဲ႔ memory ထဲမွာ မွတ္သားသိမ္းဆည္းထားတဲ့ routing table ကိုႀကည့္ျပီးေတာ့ ၀င္လာတဲ့ Packet
သြားရမယ့္ destination ရဲ့ logical address ကို ႀကည့္ျပီး routing table ထဲမွာ ရွိခဲ့ရင္ အဲ့ packet နဲ့ သက္ဆုိင္တဲ့ Network
ကို ပို့ေဆာင္ေပးပါတယ္. ပို့ေဆာင္ေပးတဲ့ေနရာမွာ လဲ destination ကိုသြားနုိင္မယ့္လမ္းက တစ္ခုမကရွိေနရင္ Data Packet
ေတြကို ျဖန့္ျပီးပို့ေဆာင္ေပးပါတယ္. Network Layer မွာ သံုးတဲ့ protocol ေပၚမူတည္ျပီး packet ရဲ့ destination ကို သြားနုိင့္မယ္
လမ္းေႀကာင္း(Route) ကို ေရြးခ်ယ္ပံုခ်င္းမတူညီက်ပါဘူး. Logical address ေတြက same network မွာ computer တစ္လံုးနဲ့
တစ္လံုးမတူရပါဘူး.. Network Layer မွာ သံုးတဲ့ logical address ကို TCP/IP သံုးထားတဲ့ network မွာဆုိ IP address
လုိ့ေခၚပါတယ္.
(flow control), error handling, congestion control and packet sequencing တုိ့ပဲ ျဖစ္ပါတယ္. သူ႔ရဲ႕အလုပ္လုပ္ပံုကေတာ့
packet တခု၀င္လာပီဆိုတာနဲ႔ memory ထဲမွာ မွတ္သားသိမ္းဆည္းထားတဲ့ routing table ကိုႀကည့္ျပီးေတာ့ ၀င္လာတဲ့ Packet
သြားရမယ့္ destination ရဲ့ logical address ကို ႀကည့္ျပီး routing table ထဲမွာ ရွိခဲ့ရင္ အဲ့ packet နဲ့ သက္ဆုိင္တဲ့ Network
ကို ပို့ေဆာင္ေပးပါတယ္. ပို့ေဆာင္ေပးတဲ့ေနရာမွာ လဲ destination ကိုသြားနုိင္မယ့္လမ္းက တစ္ခုမကရွိေနရင္ Data Packet
ေတြကို ျဖန့္ျပီးပို့ေဆာင္ေပးပါတယ္. Network Layer မွာ သံုးတဲ့ protocol ေပၚမူတည္ျပီး packet ရဲ့ destination ကို သြားနုိင့္မယ္
လမ္းေႀကာင္း(Route) ကို ေရြးခ်ယ္ပံုခ်င္းမတူညီက်ပါဘူး. Logical address ေတြက same network မွာ computer တစ္လံုးနဲ့
တစ္လံုးမတူရပါဘူး.. Network Layer မွာ သံုးတဲ့ logical address ကို TCP/IP သံုးထားတဲ့ network မွာဆုိ IP address
လုိ့ေခၚပါတယ္.
ေနာက္တစ္ခုကေတာ့ Transport Layer ပါ. သူကေတာ့ OSI model မွာ 4th layer မွာ တည္ရွိပါတယ္. Transport Layer
ကဘာေတြလုပ္ေဆာင္ေပးလဲဆုိေတာ့ sender နဲ ့ receiver Node (logical end to end Point) ေတြႀကား အျပန္အလွန္
ပို့လိုက္တဲ့ Dataေတြ ကို error-free ျဖစ္ေစဖုိ့. Sequence အတိုင္းအစဥ္လိုက္ျဖစ္ေအာင္ ဆံုးရွံဳးမွဳ(data loss) မျဖစ္ေအာင္
data ေတြကို အႀကိမ္ပို့မိတာမ်ိဳး(Data Duplication)မျဖစ္ေအာင္ လုပ္ေဆာင္ေပးပါတယ္.
ကဘာေတြလုပ္ေဆာင္ေပးလဲဆုိေတာ့ sender နဲ ့ receiver Node (logical end to end Point) ေတြႀကား အျပန္အလွန္
ပို့လိုက္တဲ့ Dataေတြ ကို error-free ျဖစ္ေစဖုိ့. Sequence အတိုင္းအစဥ္လိုက္ျဖစ္ေအာင္ ဆံုးရွံဳးမွဳ(data loss) မျဖစ္ေအာင္
data ေတြကို အႀကိမ္ပို့မိတာမ်ိဳး(Data Duplication)မျဖစ္ေအာင္ လုပ္ေဆာင္ေပးပါတယ္.
ဘယ္လိုမ်ိဳးလဲဆုိေတာ့ သူရဲ့ အေပၚ Layer ျဖစ္တဲ့ session layer က ပို့လိုက္တဲ့ data packet ေတြကိုု ေသးေသးေလးေတြျဖစ္ေအာင္
ပိုင္းလိုက္ပါတယ္(data units ရဲ့ size ကႀကီးေနမယ္ဆုိရင္ေပါ့) ျပီးေတာ့ တစ္ျခားလိုအပ္တဲ့ additional information
ေလးေတြလိုက္ထည့္ေပးပါတယ္. ဘာ information ေလးေတြလဲဆိုေတာ့ packet တစ္ခုခ်င္းဆီမွာ ရွိတဲ့ date ရဲ့ byte
အေရအေတြက္ေတြ, တစ္ျခား function information တစ္ခုဆီရဲ့ byte အေရအတြက္ေတြ, အျပင္ျပီးေတာ့ error control
လုပ္ဖုိ့လဲ ထည့္ေပးထားပါတယ္. ဘယ္လို Error Control လုပ္တာလဲဆိုေတာ့ sender နဲ့ receiver ႀကားမွာ data transfer
လုပ္တဲ့ အခ်ိန္မွာ connection ေႀကာင့္ ဒါမွ မဟုတ္ ႀကားခံ media တစ္ခုေႀကာင့္ data တစ္ခ်ိဳ ့ ပ်က္စီးေပ်ာက္ဆံုးတာမ်ိဳး,
data သြားေနတဲ့ လမ္းေႀကာင္းမွာ တစ္စံုတစ္ေယာက္က ၀င္ျပင္လုိက္တာမ်ိဳးေတြ ကို သိနုိင္တဲ့ Method ေတြ သခ်ၤာ အေျခခံ
တြက္နည္းပံုစံ ေတြနဲ့ တြက္ခ်က္ျပီး sender က ပို့လိုက္တဲ့ data ေတြဟာ original အတိုင္းရွိမရွိကို စစ္ေဆးပါတယ္.
Error Control ကို ႀကည့္ျပီး စစ္ေဆးလိုက္လို့္ original အတုိင္း မဟုတ္တဲ့ data packet ဆုိ အဲ့ data packet တစ္ခုတည္းကိုပဲ
ျပန္ပို့ဖုိ့ request လုပ္ပါတယ္. အဲ့အခါက်ရင္ sender ဘက္က Transport Layer ကေန ျပန္လည္ပို့ေဆာင္ေပးပါတယ္.
Data ေတြကို ပို့တဲ့ ေနရာမွာ တစ္ဘက္နဲ့ တစ္ဘက္ end-to-end reliable ျဖစ္ဖုိ့ အတြက္ data လက္ခံရရွိျပီးတုိင္ receiver
ကေန sender ကို data ရရွိေႀကာင္း (acknowledge ျပန္) ေျပာပါတယ္. အကယ္လို့ receiver ဘက္ေန data လက္ခံ
ရရွိေႀကာင္း ack မျပန္ဘူးဆုိ sender ကအခ်ိန္အတိုင္းအတာ တစ္ခုထိေစာင့္ျပီး ေနာက္တစ္ႀကိမ္ ထပ္ပို့ ပါတယ္(
Retransmitting Data). ေနာက္တစ္ခုက Flow control ပါ ကၽြန္ေတာ္တုိ့ data packet ေတြ network အေပၚသြားတဲ့
အခါမွာ ႀကားမွာရွိတဲ့ router ေတြ switch ေတြ Gate way ေတြကို အဆင့္ဆင့္ျဖတ္ျပီး သယ္သြားရပါတယ္.
အဲ့လိုသြားတဲ့အခ်ိန္မွာ routerေတြ Gate-way ေတြႀကား သြားနုိင္တဲ့ speed ေတြ bandwidth ေတြကို Learning လုပ္ ေ
လ့လာမွတ္သားျပီးေတာ့ ဘယ္router နဲ ့ ဘယ္ႀကားဆုိ ဘယ္ေလာက္နွဳန္းနဲ့သြား ဘယ္နဲ့ဘယ္ႀကားဆုိ ဘယ္ေလာက္သြားဆုိတာ
မ်ိဳးကို Transport Layer ကေနထိန္းခ်ဳပ္လုပ္ေဆာင္ပါတယ္. Transport Layer မွာ connection service ၂မ်ိဳးသံုးပါတယ္
Connection-Oriented (TCP) နဲ့ Connectionless service (UDP) ပါ ဒီေလာက္ဆုိရင္ Transport layer အလုပ္လုပ္ပံုကို
သေဘာေပါက္ေလာက္ပါျပီး. ;-)
ပိုင္းလိုက္ပါတယ္(data units ရဲ့ size ကႀကီးေနမယ္ဆုိရင္ေပါ့) ျပီးေတာ့ တစ္ျခားလိုအပ္တဲ့ additional information
ေလးေတြလိုက္ထည့္ေပးပါတယ္. ဘာ information ေလးေတြလဲဆိုေတာ့ packet တစ္ခုခ်င္းဆီမွာ ရွိတဲ့ date ရဲ့ byte
အေရအေတြက္ေတြ, တစ္ျခား function information တစ္ခုဆီရဲ့ byte အေရအတြက္ေတြ, အျပင္ျပီးေတာ့ error control
လုပ္ဖုိ့လဲ ထည့္ေပးထားပါတယ္. ဘယ္လို Error Control လုပ္တာလဲဆိုေတာ့ sender နဲ့ receiver ႀကားမွာ data transfer
လုပ္တဲ့ အခ်ိန္မွာ connection ေႀကာင့္ ဒါမွ မဟုတ္ ႀကားခံ media တစ္ခုေႀကာင့္ data တစ္ခ်ိဳ ့ ပ်က္စီးေပ်ာက္ဆံုးတာမ်ိဳး,
data သြားေနတဲ့ လမ္းေႀကာင္းမွာ တစ္စံုတစ္ေယာက္က ၀င္ျပင္လုိက္တာမ်ိဳးေတြ ကို သိနုိင္တဲ့ Method ေတြ သခ်ၤာ အေျခခံ
တြက္နည္းပံုစံ ေတြနဲ့ တြက္ခ်က္ျပီး sender က ပို့လိုက္တဲ့ data ေတြဟာ original အတိုင္းရွိမရွိကို စစ္ေဆးပါတယ္.
Error Control ကို ႀကည့္ျပီး စစ္ေဆးလိုက္လို့္ original အတုိင္း မဟုတ္တဲ့ data packet ဆုိ အဲ့ data packet တစ္ခုတည္းကိုပဲ
ျပန္ပို့ဖုိ့ request လုပ္ပါတယ္. အဲ့အခါက်ရင္ sender ဘက္က Transport Layer ကေန ျပန္လည္ပို့ေဆာင္ေပးပါတယ္.
Data ေတြကို ပို့တဲ့ ေနရာမွာ တစ္ဘက္နဲ့ တစ္ဘက္ end-to-end reliable ျဖစ္ဖုိ့ အတြက္ data လက္ခံရရွိျပီးတုိင္ receiver
ကေန sender ကို data ရရွိေႀကာင္း (acknowledge ျပန္) ေျပာပါတယ္. အကယ္လို့ receiver ဘက္ေန data လက္ခံ
ရရွိေႀကာင္း ack မျပန္ဘူးဆုိ sender ကအခ်ိန္အတိုင္းအတာ တစ္ခုထိေစာင့္ျပီး ေနာက္တစ္ႀကိမ္ ထပ္ပို့ ပါတယ္(
Retransmitting Data). ေနာက္တစ္ခုက Flow control ပါ ကၽြန္ေတာ္တုိ့ data packet ေတြ network အေပၚသြားတဲ့
အခါမွာ ႀကားမွာရွိတဲ့ router ေတြ switch ေတြ Gate way ေတြကို အဆင့္ဆင့္ျဖတ္ျပီး သယ္သြားရပါတယ္.
အဲ့လိုသြားတဲ့အခ်ိန္မွာ routerေတြ Gate-way ေတြႀကား သြားနုိင္တဲ့ speed ေတြ bandwidth ေတြကို Learning လုပ္ ေ
လ့လာမွတ္သားျပီးေတာ့ ဘယ္router နဲ ့ ဘယ္ႀကားဆုိ ဘယ္ေလာက္နွဳန္းနဲ့သြား ဘယ္နဲ့ဘယ္ႀကားဆုိ ဘယ္ေလာက္သြားဆုိတာ
မ်ိဳးကို Transport Layer ကေနထိန္းခ်ဳပ္လုပ္ေဆာင္ပါတယ္. Transport Layer မွာ connection service ၂မ်ိဳးသံုးပါတယ္
Connection-Oriented (TCP) နဲ့ Connectionless service (UDP) ပါ ဒီေလာက္ဆုိရင္ Transport layer အလုပ္လုပ္ပံုကို
သေဘာေပါက္ေလာက္ပါျပီး. ;-)
CCNA (Routing & Switch) ခုမွ စလုပ္မယ့္ သူေတြအေနနဲ ့ ခုေျပာခဲ့တဲ့ layer 4 ခုကို ေကာင္းေကာင္း သေဘာေပါက္ဖုိ့
လုိပါတယ္။
လုိပါတယ္။
Session Layer က ကြန္ပ်ဴတာ တစ္လံုးနဲ့ တစ္လံုးႀကားက Logical connection ကို control လုပ္ေပးပါတယ္.
တစ္နည္းေျပာရရင္ machine တစ္ခုေပၚက application process တစ္ခု နဲ့ တစ္ျခား machine ေပၚက application
process တစ္ခုႀကား connection တစ္ခု(session တစ္ခု) စတင္ဖုိ့(establish), ထိန္းသိမ္းဖုိ့ (Maintain) နဲ့ data ေတြ
ပို့လို့ ျ့ပီးသြားရင္ ဖ်က္သိမ္းဖုိ့ (terminate) လုပ္ေဆာင္ပါတယ္.ျပီးေတာ့ အဲ့ connection ကို simplexလား Half Duplexလား
Full Duplexလား ဘယ္modeနဲ့ လုပ္ေဆာင္မယ္ဆုိတာကို session layer ကဆံုးျဖတ္ပါတယ္. အဲ့သည့္ sessions ေတြ ကို
dialogs လို့လဲ ေခၚပါတယ္.
တစ္နည္းေျပာရရင္ machine တစ္ခုေပၚက application process တစ္ခု နဲ့ တစ္ျခား machine ေပၚက application
process တစ္ခုႀကား connection တစ္ခု(session တစ္ခု) စတင္ဖုိ့(establish), ထိန္းသိမ္းဖုိ့ (Maintain) နဲ့ data ေတြ
ပို့လို့ ျ့ပီးသြားရင္ ဖ်က္သိမ္းဖုိ့ (terminate) လုပ္ေဆာင္ပါတယ္.ျပီးေတာ့ အဲ့ connection ကို simplexလား Half Duplexလား
Full Duplexလား ဘယ္modeနဲ့ လုပ္ေဆာင္မယ္ဆုိတာကို session layer ကဆံုးျဖတ္ပါတယ္. အဲ့သည့္ sessions ေတြ ကို
dialogs လို့လဲ ေခၚပါတယ္.
ဘာလုိ့လဲ ဆုိေတာ့ ကၽြန္ေတာ့္တုိ့ လူေတြ ဖုန္းေျပာပံုနဲ့ session အလုပ္ လုပ္ပံုတူလို့ပါ. ဥပမာ.. လူတစ္ေယာက္(A)
ကေန ဖုန္းေခၚလိုက္လို့ တစ္ျခားတစ္ေယာက္(B) ကဖုန္းကိုင္ျပီးရင္ ဖုန္းကိုင္လုိက္ေႀကာင္း စကားစေျပာလို့ရေႀကာင္း
အခ်က္ျပတဲ့ အေနနဲ့ hello ဆုိျပီး လုပ္ပါတယ္ တစ္နည္းေျပာရရင္ session establish လုပ္တယ္ေပါ့ဗ်ာ.. Hello လုပ္ျပီး
establish လုပ္လိုက္တာလဲ တစ္ဘက္နဲ့တစ္ဘက္ စကားစေျပာက်ေတာ့တာပဲ(Data transfer လုပ္တယ္ေပါ့) အဲ့ေတာ့
စကားလဲ ေျပာစရာမခ်န္ေတာ့ဘူးဆုိေတာ့မွ ဒါပဲေနာ္ ဆုိျပီး ဖုန္းခ်တယ္ေလ. အဲ့တာ session terminate လုပ္လိုက္တာေပါ့ဗ်ာ.
. Follow ကေတာ့ အတူတူပါပဲ
ကေန ဖုန္းေခၚလိုက္လို့ တစ္ျခားတစ္ေယာက္(B) ကဖုန္းကိုင္ျပီးရင္ ဖုန္းကိုင္လုိက္ေႀကာင္း စကားစေျပာလို့ရေႀကာင္း
အခ်က္ျပတဲ့ အေနနဲ့ hello ဆုိျပီး လုပ္ပါတယ္ တစ္နည္းေျပာရရင္ session establish လုပ္တယ္ေပါ့ဗ်ာ.. Hello လုပ္ျပီး
establish လုပ္လိုက္တာလဲ တစ္ဘက္နဲ့တစ္ဘက္ စကားစေျပာက်ေတာ့တာပဲ(Data transfer လုပ္တယ္ေပါ့) အဲ့ေတာ့
စကားလဲ ေျပာစရာမခ်န္ေတာ့ဘူးဆုိေတာ့မွ ဒါပဲေနာ္ ဆုိျပီး ဖုန္းခ်တယ္ေလ. အဲ့တာ session terminate လုပ္လိုက္တာေပါ့ဗ်ာ.
. Follow ကေတာ့ အတူတူပါပဲ
;-) အဲ့ေလာက္ဆုိ session layer အလုပ္ လုပ္ပံုကို ျမင္ေလာက္ျပီလို့ ယံုႀကည္ပါတယ္..
Presentation Layer- ကဘာေတြလုပ္နုိင္လဲဆုိေတာ့.. application Layer ကေန ပို့လိုက္တဲ ့ data ေတြကို sender
ဘက္ျခမ္းကေန မပို့ခင္မွာ Network ထဲမွာ သြားလာနိုင္တဲ့ Format ေျပာင္းေပးပါတယ္ Encode လုပ္တယ္လို့လဲေခၚပါတယ္
(Character code translation>> from..ASCII to EBCDIC) ဥပမာေျပာရင္ ဒီဘက္က sender မွာ သံုးတဲ့ Character
code(Data Representation) က ASCII (American Standard Code for Information Interchange) ျဖစ္ျပီး
ဟိုဘက္တစ္ျခားဘက္ျခမ္းက receiver မွာ သံုတဲ့ Character Code က EBCDIC (Extended Binary Coded Decimal
Interchange Code) ျဖစ္ေနနုိင္ပါတယ္.. Presentation Layer က sender ဘက္က ASCII code ေတြကို Network
ထဲမွာသြားလုိ့ရမယ္ format ေျပာင္းျပီး dataေတြကို ပို့လိုက္ပါတယ္(encodingလုပ္တယ္လုိ့ေခၚပါတယ္) အဲ့ပုိ့လိုက္တဲ့
dataေတြကို လက္ခံတဲ့ဘက္ျခမ္းမွာ ရွိတဲ့ Presentation Layer ကေနျပီးေတာ့ EBCDIC code ကို ေျပာင္းလဲေပးပါတယ္
(decoding လုပ္တယ္လိုေခၚပါတယ္). Encoding တစ္ဘက္နဲ့ တစ္ဘက္ သံုးတဲ့ Mechanism ေတြကတူခ်င္မွတူပါလိမ့္မယ္..
ဘက္ျခမ္းကေန မပို့ခင္မွာ Network ထဲမွာ သြားလာနိုင္တဲ့ Format ေျပာင္းေပးပါတယ္ Encode လုပ္တယ္လို့လဲေခၚပါတယ္
(Character code translation>> from..ASCII to EBCDIC) ဥပမာေျပာရင္ ဒီဘက္က sender မွာ သံုးတဲ့ Character
code(Data Representation) က ASCII (American Standard Code for Information Interchange) ျဖစ္ျပီး
ဟိုဘက္တစ္ျခားဘက္ျခမ္းက receiver မွာ သံုတဲ့ Character Code က EBCDIC (Extended Binary Coded Decimal
Interchange Code) ျဖစ္ေနနုိင္ပါတယ္.. Presentation Layer က sender ဘက္က ASCII code ေတြကို Network
ထဲမွာသြားလုိ့ရမယ္ format ေျပာင္းျပီး dataေတြကို ပို့လိုက္ပါတယ္(encodingလုပ္တယ္လုိ့ေခၚပါတယ္) အဲ့ပုိ့လိုက္တဲ့
dataေတြကို လက္ခံတဲ့ဘက္ျခမ္းမွာ ရွိတဲ့ Presentation Layer ကေနျပီးေတာ့ EBCDIC code ကို ေျပာင္းလဲေပးပါတယ္
(decoding လုပ္တယ္လိုေခၚပါတယ္). Encoding တစ္ဘက္နဲ့ တစ္ဘက္ သံုးတဲ့ Mechanism ေတြကတူခ်င္မွတူပါလိမ့္မယ္..
ေနာက္တစ္ခုကေတာ့ ကၽြန္ေတာ္တုိ့ data ေတြ ဟုိဘက္ကေန ဒီဘက္ကို transfer လုပ္တဲ့ အခ်ိန္မွာ secure ျဖစ္ေစဖုိ့
Encryption လုပ္တာကလဲ Presentation Layer ကေနလုပ္ေဆာင္ေပးတာျဖစ္ပါတယ္. ဟိုဘက္ ဒီဘက္ Encryption
Decryption လုပ္တဲ့ စနစ္က တူညီဖုိ့လိုပါတယ္ ေျပာရရင္ Encode/Decode လို ကြဲျပားလို့မရပါဘူး. ေနာက္ Presentation
Layer ကေနလုပ္ေပးနုိင္တဲ့ တစ္ခ်က္ကေတာ့ Compression/Decompression ပါပဲ.. ကၽြန္ေတာ္တုိ့ေတြ data ကို
network တစ္ေလွ်ာက္မပုိ့ခင္မွာ Data ကို compress လုပ္ပါတယ္ compress လုပ္လုိက္ေတာ့ Size ေသးးသြားတာေပါ့
size ေသးေတာ့ ျမန္ျမန္ transfer လုပ္လုိ့ရတာေပါ့ဗ်ာ.. ဟိုဘက္တစ္ျခားဘက္ေ၇ာက္ေတာ့က်မွ ရလာတဲ့ data ကို
decompress ျပန္လုပ္လိုက္မွသာ original အတိုင္းျပန္ရမွာပါ့.. အက်ဥ္းျခံဳး ေျပာရရင္ေတာ့ဗ်ာ.. data ကိုမပုိ့ခင္မွာ ပထမဆံုး
encode လုပ္လုိက္ပါတယ္ ျပီးေတာ့ security အတြက္ encode လုပ္ထားတဲ့ data ကုိ encrypt လုပ္ပါတယ္.
ျပီးေတာ့ network ေပၚမွာ ပို့ရတာျမန္ေအာင္ data size ႀကီးမေနေအာင္ compress လုပ္လုိက္ပါတယ္.
အဲ့လိုလုပ္ျပီးေတာ့မွ ပို့လိုက္ပါတယ္. လက္ခံတဲ့ဘက္ျခမ္းမွာက်ေတာ့ ရလာတဲ့ data ကို ပထမဆံုး decompress
အရင္လုပ္ပါတယ္. Original အတုိင္းရျပီဆုိမွ decryption ျပန္လုပ္ပါတယ္. ျပီးမွ မွန္ကန္တဲ့ format နဲ့ data ကို decode
ျပန္လုပ္ပါတယ္.. ကဲအဲ့တာကေတာ့ presentation layer ရဲ့ အလုပ္လုပ္ပံုျဖစ္ပါတယ္.
Encryption လုပ္တာကလဲ Presentation Layer ကေနလုပ္ေဆာင္ေပးတာျဖစ္ပါတယ္. ဟိုဘက္ ဒီဘက္ Encryption
Decryption လုပ္တဲ့ စနစ္က တူညီဖုိ့လိုပါတယ္ ေျပာရရင္ Encode/Decode လို ကြဲျပားလို့မရပါဘူး. ေနာက္ Presentation
Layer ကေနလုပ္ေပးနုိင္တဲ့ တစ္ခ်က္ကေတာ့ Compression/Decompression ပါပဲ.. ကၽြန္ေတာ္တုိ့ေတြ data ကို
network တစ္ေလွ်ာက္မပုိ့ခင္မွာ Data ကို compress လုပ္ပါတယ္ compress လုပ္လုိက္ေတာ့ Size ေသးးသြားတာေပါ့
size ေသးေတာ့ ျမန္ျမန္ transfer လုပ္လုိ့ရတာေပါ့ဗ်ာ.. ဟိုဘက္တစ္ျခားဘက္ေ၇ာက္ေတာ့က်မွ ရလာတဲ့ data ကို
decompress ျပန္လုပ္လိုက္မွသာ original အတိုင္းျပန္ရမွာပါ့.. အက်ဥ္းျခံဳး ေျပာရရင္ေတာ့ဗ်ာ.. data ကိုမပုိ့ခင္မွာ ပထမဆံုး
encode လုပ္လုိက္ပါတယ္ ျပီးေတာ့ security အတြက္ encode လုပ္ထားတဲ့ data ကုိ encrypt လုပ္ပါတယ္.
ျပီးေတာ့ network ေပၚမွာ ပို့ရတာျမန္ေအာင္ data size ႀကီးမေနေအာင္ compress လုပ္လုိက္ပါတယ္.
အဲ့လိုလုပ္ျပီးေတာ့မွ ပို့လိုက္ပါတယ္. လက္ခံတဲ့ဘက္ျခမ္းမွာက်ေတာ့ ရလာတဲ့ data ကို ပထမဆံုး decompress
အရင္လုပ္ပါတယ္. Original အတုိင္းရျပီဆုိမွ decryption ျပန္လုပ္ပါတယ္. ျပီးမွ မွန္ကန္တဲ့ format နဲ့ data ကို decode
ျပန္လုပ္ပါတယ္.. ကဲအဲ့တာကေတာ့ presentation layer ရဲ့ အလုပ္လုပ္ပံုျဖစ္ပါတယ္.
Application Layer ကေတာ့ ကၽြန္ေတာ္တုိ့ user ေတြနဲ့ အနီးကပ္ဆံုး Layer ျဖစ္ျပီး User ေတြနဲ့ ေအာက္က
Layer ေတြႀကားမွာ interface တစ္ခုအေနနဲ့လုပ္ေဆာင္ေပးပါတယ္..သူကဘာေတြဘယ္ေတြမွာလုပ္ဆာင္ ေပးလဲ
ဆုိေတာ့အဓိကအားျဖင့္ end-user process ေတြနဲ့ software application ေတြႀကားမွာလုပ္ေဆာင္ေပးပါတယ္.
Layer ေတြႀကားမွာ interface တစ္ခုအေနနဲ့လုပ္ေဆာင္ေပးပါတယ္..သူကဘာေတြဘယ္ေတြမွာလုပ္ဆာင္ ေပးလဲ
ဆုိေတာ့အဓိကအားျဖင့္ end-user process ေတြနဲ့ software application ေတြႀကားမွာလုပ္ေဆာင္ေပးပါတယ္.
ဒီေနရာမွာ တစ္ခုေျပာျပခ်င္တာက application Layer ဆုိတာ ကၽြန္ေတာ္တုိ့ေတြ သံုးေနတဲ့ software application
ေတြကိုဆုိလိုတာမဟုတ္ပါဘူး.. ကၽြန္ေတာ္တို့ေတြ networkေတြကိုျဖတ္ျပီး data ေတြပို့မယ္ဆုိေတာ့က်မွ application
layer protocol ေတြကတစ္ဆင့္လုပ္ေဆာင္ေပးတာပါ.. ပိုျပီးရွင္းသြားေအာင္ ဥပမာေျပာရရင္ ကၽြန္ေတာ့္တုိ့
ေမးလ္တစ္ေစာင္ပို့မယ္ဆုိက်ပါေတာ့ အဲ့ေတာဆုိ Gmail(E-mail) စတဲ့ software application တစ္ခုသံုးျပီးပို့လိုက္မယ္
ဆုိရင္ application layer protocol ျဖစ္တယ္တဲ့ SMTP(simple mail transfer protocol) ကိုသံုးရပါတယ္.
ကၽြန္ေတာ္တုိ့ Web Page ေတြ ႀကည့္မယ္ web site ေတြသြားမယ္ဆုိရင္ေတာ့ Application Layer Protocol
ျဖစ္တဲ့ HTTP(Hyper Text Transfer Protocol) နဲ့ သြားပါတယ္. အဲ့တာကေတာ့ Application Layer ရဲ့
အလုပ္လုပ္ပံုပါ
ေတြကိုဆုိလိုတာမဟုတ္ပါဘူး.. ကၽြန္ေတာ္တို့ေတြ networkေတြကိုျဖတ္ျပီး data ေတြပို့မယ္ဆုိေတာ့က်မွ application
layer protocol ေတြကတစ္ဆင့္လုပ္ေဆာင္ေပးတာပါ.. ပိုျပီးရွင္းသြားေအာင္ ဥပမာေျပာရရင္ ကၽြန္ေတာ့္တုိ့
ေမးလ္တစ္ေစာင္ပို့မယ္ဆုိက်ပါေတာ့ အဲ့ေတာဆုိ Gmail(E-mail) စတဲ့ software application တစ္ခုသံုးျပီးပို့လိုက္မယ္
ဆုိရင္ application layer protocol ျဖစ္တယ္တဲ့ SMTP(simple mail transfer protocol) ကိုသံုးရပါတယ္.
ကၽြန္ေတာ္တုိ့ Web Page ေတြ ႀကည့္မယ္ web site ေတြသြားမယ္ဆုိရင္ေတာ့ Application Layer Protocol
ျဖစ္တဲ့ HTTP(Hyper Text Transfer Protocol) နဲ့ သြားပါတယ္. အဲ့တာကေတာ့ Application Layer ရဲ့
အလုပ္လုပ္ပံုပါ
အိုေက.. ခုလုပ္ရမွာ က Layer တစ္ခုခ်င္း အလုပ္လုပ္ ပံုကို ျပန္နားလည္ ျပန္ေႏြးျကည့္က်ရေအာင္.. နားမလည္ လဲ ေမးေပါ့.. ;-)
Comments
Post a Comment