Saturday, October 24, 2015

IPv6 address


IPv6 address ဟာ NAT တို႕ CIDR တို႕ရဲ႕ေနာက္ပိုင္းထြက္ေပၚလာခဲ့တယ္။ အနာဂါတ္မွာ IP address ေတြမလံုေလာက္မႈျဖစ္လာမယ့္ အေရးကိုတြက္ဆၿပီး IETF လို႕ေခၚတဲ့ internet engineering task fore ဆိုတဲ့အဖြဲ႕အစည္းႀကီးက ဖန္တီးခဲ့ပါတယ္။ ဒီေတာ့ေနာက္ပိုင္းမွာ network engineer ေတြအေနနဲ႕ IPv6 ကိုနားလည္ဖို႕လိုအပ္လာတဲ့အတြက္ Cisco ကသူ႕ရဲ႕ exam version အသစ္မွာ IPv6 ကိုအသားေပးထည့္သြင္းလာခဲ့တယ္။ ဒီေတာ့ IPv6 ကိုကၽြန္ေတာ္တို႕ေလ့လာၾကတာေပါ့။

စၿပီးေျပာရရင္ IPv4 က 32 bit address space ကိုသံုးတယ္။ ဒီေတာ့ 2^32 ဆိုေတာ့ 4,294,967,296 ရတယ္။ ေျပာရရင္ ၄၂၉ သန္းေက်ာ္ address ေတြရတယ္ေပါ့။ ဒါေပမဲ့လည္း တကယ္တန္း network မွာသံုးလို႕ရတာက သန္းေပါင္း ၃၀၀ ေက်ာ္ေလာက္သာသံုးလို႕ရတယ္၊ ဘာျဖစ္လို႕လည္းဆိုေတာ့ calss D တို႕ class E တို႕ကိုလည္း ခ်န္ထားခဲ့ရတယ္။ ဒီၾကားထဲ private address ေတြအတြက္လည္း ခ်န္ထားခဲ့ရေသးတယ္။ ဒီေတာ့ အားလံုးကိုသံုးလို႕မရႏိုင္ဘူးေလ။ ဒီေတာ့ IPv6 ကေကာ၊ ဘယ္ေလာက္မ်ားရေနလို႕လည္းေပါ့။ IPv6 ရဲ႕ address space ဟာ 126 bits ကိုသံုးတယ္။ ဒီေတာ့ 2^128 ဆိုေတာ့ 3.4028236692093846346337460743177 x10^38 ရတာေပါ့။ ဒီေတာ့ ပါးစပ္အေဟာင္းသားျဖစ္ေလာက္တဲ့ address space ကို IPv6 က ပံ့ပိုးေပးႏိုင္ပါတယ္။ လံုေလာက္ပါတယ္ဆိုတဲ့ အေရအတြက္ထက္ကိုပိုေနတဲ့ IPv6 မွာ address type ၃ မ်ိဳးရွိပါတယ္။ Unicast multicast နဲ႕ anycast တို႕ပဲျဖစ္ပါတယ္။ unicast ကေတာ့ one to one communication ကိုလုပ္ေပးတယ္။ multicast ဆိုတာကေတာ့ one to many communication ကိုလုပ္ေဆာင္ေပးႏိုင္တယ္။ anycast ဆိုတာကေတာ့ one to nearest communication ကိုလုပ္ေပးႏိုင္တယ္။ သူကေတာ့ ကၽြန္ေတာ္တို႕နဲ႕ နည္းနည္းစိမ္းတယ္။ ပို႕လိုက္တဲ့ host ကေနအနီးဆံုးေနရာမွာရွိတဲ့ address ဆီကိုပို႕ေပးတာေပါ့။ unicast နဲ႕ multicast တို႕ရဲ႕ သေဘာတရားႏွစ္ခုကိုေပါင္းစပ္ထားတယ္လို႕ေျပာပါတယ္။

IPv6 address ရဲ႕ format ကေတာ့ ipv6_address/ prefix_length  တို႕ကိုေပါင္းစပ္ထားပါတယ္။ ဒီလိုေပါ့

2001:0000:5723:0000:0000:D14E:DBCA:0764/64

သူ႕မွာ full column နဲ႕ခြဲျခားထားတဲ့ bit place 8 ခုရွိၿပီး bit place တစ္ေနရာစာမွာ 16 bits ရွိပါတယ္။ အားလံုးေပါင္းရင္ 16*8 = 128 bits ေပ့ါ။ သူကေတာ့ hex နဲ႕ေဖာ္ျပပါတယ္။ IPv4 address မွာ 0 ကေန 9 အထိ ကိန္ဂဏန္းေတြနဲ႕သာေဖာ္ျပပါတယ္။ ဒါေပမဲ့ IPv6 address မွာေတာ့ 0 ကေန 9 အထိ ၿပီးေတာ့ A ကေန E အထိ character ေတြေရာ ကိန္းဂဏန္းေတြပါ ေပါင္းစပ္ပါ၀င္ပါတယ္။ အေပၚက IPv6 address ကိုၾကည့္ရင္ေတြ႕မွာပါ။ ၿပီးေတာ့ IPv6 address ကိုၾကည့္လိုက္ရင္ ရွည္လွ်ားၿပီး ရႈပ္ေထြးေနတာကိုေတြ႕ရမွာပါ။ ဒီေတာ့ IPv6 address ကိုအတုိင္းအတာတစ္ခုအထိခ်ံဳ႕လို႕ရပါတယ္။ ဘယ္လိုခ်ဳပ္သလဲဆိုေတာ့ 0 ေတြထပ္ေနရင္ 0 တစ္လံုးတည္းသံုးလို႕ရပါတယ္။ ေတြေရွ႕မွာရွိေနရင္လည္းျဖဳတ္ထားလိုက္လို႕ရပါတယ္။ သခ်ာၤမွာ ဂဏန္းအေရွ႕ဘက္မွာရွိတဲ့ 0 ကတန္ဖိုးမရွိဘူးမဟုတ္လား။ ၿပီးေတာ့ 0000:0000:1 လို႕ zero ေတြထပ္လာတဲ့အခါ အဲတာေတြကို ::1 လို႕ေရးလို႕ရပါတယ္။ ဒီေတာ့ ကၽြန္ေတာ္တို႕ေအာက္က IPv6 address ကို အတိုခ်ဳံ႕ၿပီးေရးၾကည့္ရေအာင္ေနာ္။

2001:000C:0007:ABCD:0000:0000:0000:0001/64

အေျဖကေတာ့ ဒီလိုထြက္လာမွာေပါ့။
2001:C:7:ABCD::1/64

  • -       ဂဏန္းေရွ႕က zero ေတြကိုျဖဳတ္ထားလို႕ရပါတယ္
  • -       Zero ေတြခ်ည္းျဖစ္ေနတဲ့ portion ကို zero တစ္လံုးတည္းနဲ႕ ကိုယ္စားျပဳလို႕ရပါတယ္
  • -       Zero ေတြပဲဆက္တိုက္ porting ေတြထပ္လာတယ္ဆိုရင္ အဲဒီ portion ေတြကို :: ႏွစ္ခုနဲ႕ကိုယ္စားျပဳလို႕ရပါတယ္။ ဒါေပမဲ့ ipv6 address တစ္ခုမွာ :: ႏွစ္ခုပါလို႕မရပါဘူး


ဒါဆိုရင္ IPv6 ရဲ႕ address type ကိုေတာ့နည္းနည္းနားလည္သြားေလာက္ပါၿပီ။ ဆက္ၿပီးေတာ့ IPv6 မွာ address scope ခ်ထားပံုကိုေျပာျပပါ့မယ္။ သူ႕မွာ

Link-local address - သူကေတာ့ ipv4 မွာဆိုရင္ private ip address ေတြပဲျဖစ္ပါတယ္။ FE80::/64 နဲ႕သတ္မွတ္ပါတယ္။

Global unicast address - သူကေတာ့ ipv4 မွာရွိတဲ့ public ip address နဲ႕တူပါတယ္။ 2000::/64 နဲ႕သတ္မွတ္တယ္။


Multicast address - သူကေတာ့ ipv4 မွာလိုပဲ one to many communication ေပါ့။ သူက FF00::/8 နဲ႕သတ္မွတ္ထားပါတယ္။

Site-local address - သူကေတာ့ organization တစ္ခုထဲမွာရွိတဲ့ host ေတြအားလံုး data exchange လုပ္လို႕ရေအာင္ေဆာင္ရြက္ေပးတယ္လို႕ဆိုပါတယ္။ ဒါေပမဲ့လည္း သူ႕ကို အနာဂါတ္မွာ ေတြ႕ရဖို႕မရွိပါဘူး။
ဒီေတာ့ ကၽြန္ေတာ္တို႕အေနနဲ႕ link-local address နဲ႕ global unicast address ကိုသာနားလည္ထားဖို႕ မွတ္သားထားဖို႕လိုအပ္ပါတယ္။ ဒီေတာ့ IPv6 အေၾကာင္းကိုဒီေနရာမွာနားၾကတာေပါ့။ ေနာက္အဆင္သင့္ရင္ သင့္သလို႕ သူ႕ကိုသံုးၿပီး lab လုပ္ေပးပါ့မယ္။


No comments:

Post a Comment