Friday, October 16, 2015

NAT ( Network Address Translation )

NAT ျဖစ္ေပၚလာရျခင္းရဲ႕ အဓိကအေၾကာင္းအရင္းကေတာ့ IPv4 address မ်ားကုန္ခန္းလာျခင္းေၾကာင့္ပဲျဖစ္ပါတယ္။ ေျပာရရင္ေတာ့ဗ်ာ အင္တာနက္ရဲ႕ မူလရည္ရြယ္ခ်က္ကေတာ့ ARPANET ဆိုတဲ့ စစ္ဖက္ဆိုင္ရာ အစိုးရအဖြဲ႕အစည္းတစ္ခုအတြက္ 1960 ျပည့္ ႏွစ္မ်ားမွာဖန္တီးခဲ့တာျဖစ္တယ္။ ဒါေပမဲ့ ၁၉၇၀ နဲ႕ ၁၉၈၀ ျပည့္ ႏွစ္ေတြကိုေရာက္တဲ့အခါမွာ အင္တာနက္ဆိုတာကို စီးပြားေရးလုပ္ငန္းေတြအတြက္ခ်ေပးရာကေန ၁၉၉၀ ျပည့္ ႏွစ္မ်ားကိုေရာက္ေတာ့ အလြန္ကိုက်ယ္ျပန္႕လာတဲ့ နက္၀ါ့ႀကီးတစ္ခုအျဖစ္ကိုေရာက္ရွိလာခဲ့တယ္။ ဒီေတာ့ ၂၀၀၀ ျပည့္ႏွစ္ေရာက္တဲ့အခါမွာ သန္းေပါင္းမ်ားစြာရွိတဲ့ IPv4 address ေတြဟာ ကုန္သေလာက္နီးပါျဖစ္လာခဲ့တယ္။ ဘာျဖစ္လို႕လည္းဆိုေတာ့ internet ေပၚမွာရွိတဲ့ IP ေတြသည္ ထပ္တူျဖစ္လို႕မရလို႕ပါပဲ။ ဒါကို unique ျဖစ္ရတယ္လို႕ေခၚပါတယ္။ တနည္းအားျဖင့္ unique ip address ဒါမွမဟုတ္ public ip address ေပ့ါဗ်ာ။ ဒီေတာ့ host တစ္ခုကို IP တစ္ခုႏႈန္းနဲ႕ေပးတဲ့အခါ ကုန္ေတာ့တာေပါ့။ ဒီလိုျပသနာျဖစ္လာတဲ့အခါမွာ ေျဖရွင္းဖို႕နည္းလမ္းရွာၾကတဲ့အခါမွာ NAT, CIDR အျပင္ IP version 6 (IPv6) တို႕ကိုပြဲထုတ္ခဲ့တယ္ေပါ့ဗ်ာ။ NAT ကိုသံုးျခင္းအားျဖင့္ private network အတြင္းမွာရွိတဲ့ computer ေတြဟာ public network တစ္နည္းအားျဖင့္ internet ကိုခ်ိတ္ဆက္ႏိုင္ၾကတယ္။ ထပ္ၿပီးေျပာရရင္ ကၽြန္ေတာ္တို႕မွာ network တစ္ခုရွိမယ္၊ ကြန္ပ်ဴတာ အလံုး ၂၀ ေလာက္နဲ႕ေပါ့။ အဲဒီ network ထဲက ကြန္ပ်ဴတာအားလံုးကိုလည္း internet ေပၚက resources ကိုလွမ္း access လုပ္လို႕ရေနေစခ်င္တယ္။ ဒီလိုဆိုရင္ ကၽြန္ေတာ္တို႕မွာ public ip address အခု ၂၀ ရွိဖို႕လိုတာေပါ့။ ဒီလိုအေျခအေနမွာ NAT ကိုသံုးလိုက္တာနဲ႕ public ip address တစ္ခုကိုသာသံုးၿပီး ကိုယ့္ network ထဲမွာရွိတဲ့ host အလံုး ၂၀ လံုးကို internet access ေပးလို႕ရပါတယ္။ ဘာျဖစ္လို႕လည္းဆိုေတာ့ NAT သည္ public ip address တစ္ခုတည္းကိုသံုးၿပီး local network ထဲက host ေတြကိုယ္စား internet နဲ႕ ခ်ိတ္ဆက္ေပးလို႕႔ပါပဲ။ ပံုကိုၾကည့္လိုက္ရင္ ရွင္းသြားမွာပါ။


 

ပံု (၃၁)


ပံုမွာ NAT ကိုလိုက္ရွာေနပါလိမ့္မယ္။ ေတြ႕မွာမဟုတ္ပါဘူး။ J ဘာျဖစ္လို႕လည္းဆိုေတာ့ NAT ဆိုတာ device တစ္ခုမဟုတ္လို႕ပါပဲ။ routing function တစ္ခုပါ။ ဒါ့ေၾကာင့္ ပံုမွာ NAT service ကိုပံ့ပိုးေပးတာကေတာ့ router ဒါမွမဟုတ္ modem ပဲျဖစ္ပါတယ္။ အိုေခ:? ပံုမွာဆိုရင္ ကၽြန္ေတာ္တို႕မွာ internet ေပၚမွာသံုးလို႕မရတဲ့ IP 10.0.0.9 ဆိုတာကိုေပးထားတယ္။ ဒါေပမဲ့ internet ကိုသံုးခ်င္တယ္။ ဒါ့ေၾကာင့္ ကၽြန္ေတာ္တို႕နဲ႕ အင္တာနက္ၾကားမွာ public ip ေပးထားတဲ့ router တစ္လံုးကို သံုးၿပီး NAT service ကို on ထားလိုက္တယ္။ ဒါ့ေၾကာင့္ ကၽြန္ေတာ္တို႕အေနနဲ႕ internet ေပၚမွာရွိတဲ့ resources ေတြကိုသံုးလို႕ရသြားတယ္။ ဘာ့ေၾကာင့္လဲဆိုေတာ့ ကၽြန္ေတာ္လွမ္း access လုပ္ခ်င္တဲ့ ip ကို router ကေနမွတ္ထားလိုက္တယ္။ ၿပီးမွ သူ႕ရဲ႕ public ip ကိုသံုးၿပီးေတာ့ ကၽြန္ေတာ္လွမ္း access လုပ္ခ်င္တဲ့ internet ေပၚက host ကိုဆက္သြယ္ေပးလိုက္လို႕ပဲျဖစ္ပါတယ္။ ဒီေတာ့ ကၽြန္ေတာ္ကိုယ္တိုင္ကေတာ့ တိုက္ရိုက္ access လုပ္လို႕မရဘူး။ ဒါေပမဲ့ access လုပ္လို႕ရတဲ့ router က ကိုယ္စားလုပ္ေပးလိုက္တာပဲျဖစ္ပါတယ္။ NAT မွာ ၃ မ်ိဳးရွိပါတယ္။
1)    Static NAT
2)    Dynamic NAT
3)    NAT Overload
တို႕ပဲျဖစ္ပါတယ္။
၁) Static NAT ဆိုတာကေတာ့ private ip address တစ္ခုနဲ႕ public ip တစ္ခုနဲ႕ကို one to one mapping လုပ္ေပးတာျဖစ္ပါတယ္။ ေျပာရရင္ private address 192.168.1.1 ကို internet access ရေအာင္ 10.0.0.1 နဲ႕တြဲေပးလိုက္တာပဲျဖစ္ပါတယ္။ ဒါေပမဲ့ သူ႕ရဲ႕အားနည္းခ်က္က private ip တစ္ခုအတြက္ public ip တစ္ခုလိုတာပဲျဖစ္ေတာ့ private ip အမ်ားႀကီးအတြက္ဆိုရင္ public address ေတြအမ်ားႀကီးယူရမွာမို႕ မေခ်ာင္ပါဘူ။ ပံု () က static NAT ပါပဲ။
၂) Dynamic NAT ဆိုတာကေတာ့ public address range 10.0.0.1 ကေန 10.0.0.5 ထိရွိမယ္။ private ip ေတြက internet ကိုလွမ္း access လုပ္တဲ့အခါမွာ လြတ္ေနတဲ့ public ip address တစ္ခုကို random လုပ္ၿပီးတြဲေပးလိုက္တာျဖစ္တယ္။ ဒီေကာင္ကလည္း public ip address ေတြအမ်ားႀကီး လိုတာပဲေပါ့။ ပံု (၃၂) ကေတာ့ dynamic NAT ပဲျဖစ္ပါတယ္။


ပံု (၃၂)

၃) NAT overload – “ကၽြန္ေတာ္အႀကိဳက္ဆံုးပါပဲခင္ဗ်” လို႕ မင္းသား ေဒြး ေၾကညာသလိုေျပာရေတာ့မွာပါပဲ။ ဘာျဖစ္လို႕လည္းဆိုေတာ့ private ip address အမ်ားႀကီးကို public ip address တစ္ခုတည္းကိုသံုးၿပီး internet access ရရွိေစလို႕ပါပဲ။ မိုက္တယ္ေနာ္။ သူ႕ကို port address translation လုိ႕လည္းေခၚပါတယ္။ ဘာ့ေၾကာင့္လည္းဆိုေတာ့ သူက port no ေတြနဲ႕ အလုပ္လုပ္လို႕ပါပဲ။



ပံု (၃၃)

အိုေခဗ်ာ။ သင္ခန္းစာကိုဒီေနရာမွာခဏေလးရပ္ထားမယ္။ ေနာက္သင္ခန္းစာေတြမွာ တစ္ခုခ်င္းစီကို lab လုပ္မယ္။ အခု ေခါင္းေတြပူေတာ့ ေရေအးေအးေလးတစ္ခြက္ေလာက္ ေသာက္ၿပီး ေနာက္ထပ္ စိတ္၀င္စားဖို႕ေကာင္းတဲ့ CCNA နဲ႕ Network lab ေတြကို ဖန္တီးႏိုင္ဖို႕စဥ္းစားလိုက္ပါဦးမယ္။ J

ေလးစားစြာျဖင့္
ထူးျမတ္ေအာင္ ( Tech-Gate)
09 422195462



No comments:

Post a Comment