Tuesday, October 18, 2011

OSPF Topology in GNS3

Gns3မွာ OSPF Topology ေလးတစ္ခုလက္ေတြ႕လုပ္ႀကည့္ပါမယ္။ေအာက္ကပံုေလးက Topology simple ပံုေလးပါ။


ပံုေလးမွာ Router 3 လံုးသံုးထားပါတယ္။ပီးေတာ့ OSPF ကို multi-area ထားပါမယ္။ပီးေတာ့ Telnet နဲ႔ Remote ကေနလွမ္းပီး Configure လုပ္လို႔ရေအာင္ပါတစ္ခါတည္းလုပ္ပါမယ္။R1 ကို 2961series,R2 ကို 3600 series နဲ႔
R3 ကို 3700 series အသီးသီးသံုးပါမယ္။အခု Topology မွာ Serial link ေတြပါေနတာေႀကာင့္ အဲ့ဒီ serial link ေတြအတြက္ NM-4T ဆိုတဲ့ Module ကိုသံုးပါမယ္။ေနာက္ပီးကြ်န္ေတာ့္ရဲ့ပံုထဲမွာ Ethernet ေတြလည္းပါ
ပါတယ္။ဒါေႀကာင့္အဲ့အတြက္လည္း Ethernet Module ေတြလိုပါတယ္။ဒီမွာတာ့ GT96100-FE နဲ႔  NM-1FE-TX  နွစ္ခုထဲကႀကိဳက္တာသံုးလို႔ရပါတယ္။ကြ်န္ေတာ္ကဒီေနရာမွာ Interface Module ေတြ အေႀကာင္း ကိုေျပာ ခ်င္တာမ်ိဳးမဟုတ္ပဲ Topology ေလးကို Gns3 မွာအသံုးခ်ပံုကိုပဲအဓိကေျပာခ်င္တာပါ။ Nework  Module Interface ေတြနဲ႔ပတ္သတ္ပီးအေသးစိတ္ေလ့လာခ်င္ရင္ cisco website မွာေလ့လာလုိ႔ရပါ တယ္။NM-4T အတြက္ ဒီေနရာ ေလးမွာေလ့လာလို႔ရပါတယ္။

အေပၚကပံုေလးကေတာ့ Router ရဲ့ Module ေတြပဲျဖစ္ပါတယ္။အားလံုးပီးသြားရင္ကြ်န္ေတာ္တို႔ Router ေတြ ကို Power ႏိုးပါမယ္။Idle PC value Apply လုပ္ပါမယ္။အဲ့ဒါေတြကေတာ့ Gns3 Configuration ခ်ပံုမွာပါပီးပါျပီ။

 အေပၚကပံုေလးကေတာ့ Router R2 ကို Power ႏိုးထားတဲ့ပံုပါ။Router အားလံုး Power On ျပီးသြာင္းရင္ ပထမ ဆံုး Interface အသီးသီးကို Topology ပံုမွာပါတဲ့သက္ဆိုင္ရာ IP ေတြေပးပါမယ္။ပီးရင္ Router အသီးသီးကို Telenet နဲ႔ Enable Secret တို႔ကိုအသီးသီး Configure ခ်ပါမယ္။ေအာက္ကပံုေလးက Router1 ကို Configure
 ခ်ထားတဲ့ပံုပါ။


Router အသီးသီးရဲ့ Configure ခ်ပံုေတြကိုေအာက္မွာေရးေပးထားပါတယ္။
For Router1,
Router>enable                                                                    //enter the priviliage mode
Router#configure terminal                                                  //enter the configuration mode
Router(config)hostname R1                                               //setup host name to Router
R1(config)interface fastethernet0/0                                    //enter into the fast ethernet interface
R1(config-if)ip address 192.168.10.1 255.255.255.0     //setup the ip address to the fast ethernet  interface
R1(config-if)no shutdown                                              //start the interface into up
R1(config-if)interface serial1/0                                      //enter to the serial interface
R1(config-if)ip address 10.10.10.1 255.255.255.0       //setup the ip address to the interface
R1(config-if)clock rate 64000                                      //setup the clock rate for DTE
R1(config-if)no shutdown                                            //start the serial interface into up
R1(config-if)interface lo0                                             //start the look back interface
R1(config-if)ip address 1.1.1.1 255.255.255.0           //setup the look back interface ip address
R1(config-if)exit                                                         //exit from interface mode
R1(config)username HninSi password Rose               //setup the User name and password to login
R1(config)enable secret 1234                                   //setup the enable secret for Router
R1(config)line vty 0 15                                             //enter the virtual terminal line
R1(config-line)login local
R1(config-line)end                                                   //exit from the line
R1#write memory                                                   //saving configurations to the NVRAM

For Router2,
Router>enable                                                                     //enter the priviliage mode
Router#configure terminal                                                    //enter the configuration mode
Router(config)hostname R2                                                //setup host name to Router
R2(config)interface fastethernet0/0                                     //enter into the fast ethernet interface
R2(config-if)ip address 192.168.30.1 255.255.255.0        //setup the ip address to the fast ethernet  interface
R2(config-if)no shutdown                                                 //start the interface into up
R2(config-if)interface serial1/0                                         //enter to the serial interface
R2(config-if)ip address 10.10.10.2 255.255.255.0         //setup the ip address to the interface
R2(config-if)no shutdown                                               //start the serial interface into up
R2(config-if)interface serial1/1                                       //enter to the serial interface
R2(config-if)ip address 172.16.0.1 255.255.255.0        //setup the ip address to the serial interface
R2(config-if)clock rate 64000                                       //setup the clock rate for DTE
R2(config-if)no shutdown                                             //starting the serial interface into up
R2(config-if)interface lo0                                             //start the look back interface
R2(config-if)ip address 2.2.2.2 255.255.255.0           //setup the look back interface ip address
R2(config-if)exit                                                         //exit from interface mode
R2(config)username Sabae password jasmine            //setup the User name and password to login
R2(config)enable secret asdfg                                   //setup the enable secret for Router
R2(config)line vty 0 15                                             //enter the virtual terminal line
R2(config-line)login local
R2(config-line)end                                                   //exit from the line
R2#write memory                                                   //saving configurations to the NVRAM


အေပၚကပံုေလးကေတာ့ Router3 ကိုConfigure ခ်ထားပံုေလးပါ။Configuration ခ်တဲ့ေနရာမွာပထမဆံုးအေန ကေတာ့ Router ရဲ့ Console ကေန၀င္ပီးခ်ေပးရမွာျဖစ္ပါတယ္။ေနာက္အႀကိမ္မ်ားမွာေတာ့ Telnet ကေနလွမ္း configure လို႔ရပါျပီ။ပီးရင္ကိုယ္ IP ေပးထားတဲ့ Interface ေတြရဲ့အေျခေနေလးကိုတစ္ခ်က္ေလာက္ျပန္ႀကည့္ ႀကည့္ပါမယ္။ေအာက္ကပံုေလးကေတာ့ Interface ေတြရဲ့ Status ေတြကိုျပန္ႀကည့္ထားတဲ့ပံုပါ။


လက္ရွိအေျခေနထိ Network ေတြကို Route မလုပ္ရေသးပါဘူး။ဒါေႀကာင့္ Direct ျဖစ္ေနတဲ့ Network ရဲ့ Interface IP ကလြဲရင္ က်န္တဲ့ Remote Network ရဲ့ Interface IP ေတြကို ping လုပ္လို႔ရမွာမဟုတ္ပါ။ဆိုလိုတာ က Router1 ကေန 10.10.10.2 ကို ping လုပ္လို႔ရပါမယ္။ဘာလို႔လဲဆိုေတာ့ Direct Network ျဖစ္ေနလို႔ပါ။အခု telnet နဲ႔၀င္ရင္လည္း Direct Network ရဲ့ Interface ကေနတစ္ဆင့္ပဲ၀င္ရမွာျဖစ္ပါတယ္။ဘာလို႔လဲဆိုေတာ့ Route မလုပ္ရေသးလို႔ပါ။Route လုပ္ပီးရင္ေတာ့ ႀကိဳက္ရာ Remote Network ရဲ့ InterfaceIP ကေန၀င္လို႔ရပါျပီ ဒါဆိုရင္အခု OSPF နဲ႔ Route လုပ္ပါမယ္။Router1 ကေနပဲက်န္တာေတြအကုန္လံုးကို telnet နဲ႔ Configure လုပ္ ပါမယ္။ေအာက္မွာ Configure လုပ္တဲ့ Command ေလးေတြပါ။

For Routing,
R1>en
R1#config t
R1(config)router ospf 1
R1(config-router)net 192.168.10.0 0.0.0.255 area 0
R1(config-router)net 10.10.10.0 0.0.0.255 area 0
R1(config-router)net 1.1.1.0 0.0.0.255 area 0
R1(config-router)end
R1#wr
R1#telnet 10.10.10.2
Trying 10.10.10.2

User Access Vertification
Username:Sabae
Password:jasmine
R2>en
Password:asdfg
R2#config t
R2(config)router ospf 1
R2(config-router)net 10.10.10.0 0.0.0.255 area 0
R2(config-router)net 172.16.0.0 0.0.0.255 area 1
R2(config-router)net 2.2.2.0 0.0.0.255 area 0
R2(config-router)net 192.168.30.0 0.0.0.255 area 0
R2(config-router)end
R2#wr
R2#telnet 172.16.0.2
Trying 172.16.0.2

User Access Vertification
Username :Chary
Password : flower
R3>en
Password:ilu123
R3#config t
R3(config)router ospf 1
R3(config-router)net 172.16.0.0 0.0.0.255 area 1
R3(config-router)net 3.3.3.0 0.0.0.255 area 1
R3(config-router)net 192.168.50.0 0.0.0.255 area 1
R3(config-router)end
R3#wr

 အခုဆိုရင္ Router ေတြအားလံုးကို Telnet ကေနတစ္ဆင့္ OSPF Routing ကို Configure ခ်ျပီးပီျဖစ္ပါတယ္။ျပီး ရင္ Routing table ေတြရဲ့အေျခေနေတြ၊Interface ေတြရဲ့အေျခေနေတြ၊Neighbor Router ေတြရဲ့အေျခေနသည္ တို႔ ကိုျပန္လည္ check up လုပ္နုိင္ပါတယ္။လိုအပ္ရင္ telnet ကေနတစ္ဆင့္ပဲ configure ခ်နိုင္ပါတယ္။
ေအာက္ကပံုကေတာ့ Router ေတြရဲ့ Routing Table Statue ကိုႀကည့္ထားတဲ့ပံုပါ။အဲ့ေနရာမွာတကယ့္လက္ေတြ႔ မွာဆိုရင္ေတာ့ Router အားလံုးရဲ့ status ကိုတစ္ခါတျပိဳင္တည္းႀကည့္ခ်င္တယ္ဆိုရင္ telnet နဲ႔မွပဲရမွာပါ။ ဒီမွာတာ့ simulation လုပ္ေနတာျဖစ္လို႔ computer တစ္လံုးတည္းကေနတစ္ျပိဳင္တည္းႀကည့္နုိင္ပါတယ္။



အေပၚကပံုကေတာ့ Router ေတြရဲ့ Interface အသီးသီး ကို telnet ကေနတစ္ဆင့္ႀကည့္ထားတဲ့ပံုပါ။ဒီေနရာမွာ OSPF Routing Information ေတြကိုျပန္ႀကည့္တဲ့ command ေတြထဲကမွအသံုးမ်ားတာေတြကိုေအာက္မွာေေရး ထားေပးပါတယ္။
R1#show ip ospf interface s0/0
R1#show ip ospf neighbor
R1#show ip protocol
R1#show ip route
R1#show ip ospf database

အထက္ပါ command မ်ားအနက္ show ip route command သည္ routing table ကိုႀကည့္ေသာ command ျဖစ္ပီး အျခားေသာ Routing Protocol မ်ားတြင္လည္းအသံုးျပဳနိုင္ေပသည္။show ip ospf neighbor သည္ neighbor router မ်ား၏ adjacency state ကိုႀကည့္ရွုေသာ command ျဖစ္သည္။


အထက္မွပံုမွာ sh ip ospf interface နွင့္ sh ip neighbor တို႔ကို အသံုးျပဳထားပံုျဖစ္သည္။sh ip ospf interface command ဟာဆိုရင္ Interface IP address,Area Assignment,Process ID,Router ID,Network type,Cost Priority,DR/DBR election information,Hello and Dead timer intervals,Adjacent neighbor information တို႔ကိုျပ သေပးပါတယ္။အခုဒီပံုမွာ R2 ဟာ OSPF Topology အရ Area border Router ျဖစ္ပါတယ္။ကြ်န္ေတာ့္အေနနဲ႔ Topology သေဘာကိုေျပာခ်င္တာမ်ိဳးမဟုတ္ပဲ Gns3 မွာ OSPF Topology တစ္ခုကိုဘယ္လို apply လုပ္တယ္ ဆိုတာကိုပဲေျပာခ်င္တာျဖစ္ပါတယ္။အခုဟာက simulation လုပ္ေနတာျဖစ္လုိ႔ လက္ေတြ႕နဲ႔ေတာ့အနည္းငယ္ ကြဲလြဲပါတယ္။သုိ႔ေသာ္လည္း cisco ios image အစစ္ေတြကို emulate လုပ္ထားတာမို႔အစစ္နည္းပါးအတိုင္း function ေတြကိုအသံုးခ်လို႔ရေစပါတယ္။ေနာက္မ်ားအခ်ိန္ရရင္ အျခားေသာအေႀကာင္းရာမ်ားျဖစ္တဲ့ Access List တည္ေဆာက္ပံုတို႔၊NAT တုိ႔ Virtual LAN စသည္တို႔ကိုလည္းGns3 ေပၚမွာဘယ္လို apply လုပ္တယ္ဆို တာေရးေပးပါအံုးမယ္။

ေလးစားစြာျဖင့္
Win Tun Hlaing


Wednesday, October 12, 2011

Gns3 Configuration in Ubuntu Linux

Gns3 ကို Ubuntu Linux မွာ Configuration ခ်မယ္ဆိုရင္ဘာေတြလိုအပ္မလဲဆိုေတာ့.....
1.GNS3-0.7.4-scr.tar.gz
2.Cisco IOS Firmwares
3.dynamips
4.Necessary Package Files
ေတြပဲျဖစ္ပါတယ္။အဲ့ဒါေတြထဲကနံပတ္တစ္ကေနသံုးအထိကို www.gns3.net မွာသြားျပီးယူလို႔ရပါတယ္။ နံပတ္ေလးျဖစ္တဲ့ NecessaryPackageFiles ေတြကိုေတာ့ PackageManager ကေနကိုယ့္ဘာ သာပဲတင္ေပးမွာျဖစ္ပါတယ္။


အေပၚကပံုေလးကေတာ့ GNS3-0.7.4-scr.tar.gz file ေလးျဖစ္ပါတယ္။အဲ့ဒီ tar.gz file ေလးကို Desktop    ေပၚမွာပဲ extract လုပ္လိုက္ပါ။ဒါဆို GNS3-0.4.4-src ဆိုတဲ့ Folder ေလးတစ္ခုရလာပါ မယ္။ကြ်န္ေတာ္တို႔က အဲ့ Folder ေလးထဲကို၀င္ပီး Configuration ခ်ေပးရမွာပါ။ အဲ့ဒီအတြက္လိုအပ္တဲ့ package အခ်ိဳ႕ကို Package Manager ကေနရွာပီးတင္လိုက္ပါမယ္။လိုအပ္တာကေတာ့ python-qt4 ဆို တဲ့ package ေလးပါပဲ။ရွိေနပီးသားဆိုရင္ေတာ့မလိုေတာ့ပါဘူး။မရွိေသးရင္ေတာ့တင္ေပးရပါမယ္။


အေပၚကပံုကေတာ့ python-qt4 ကို Package Manager ကေန Search လုပ္တဲ့ပံုပါ..။ဒီမွာေတာ့အရင္ တည္းကရွိေနပီးသားျဖစ္လို႔ထပ္တင္စရာမလိုေတာ့ပါဘူး။ပီးရင္ေစာတုန္းက extract လုပ္ထားတဲ့ GNS3-0.7.4-scr Folder ေလးထဲကိုသြားပါ။အဲ့မွာ gns3 ဆိုတဲ့ notepad လို script ေလးကို right-click> properties ကိုသြားပီး Permission tab မွာ Allow executing files as a program ဆိုတာေလးကိုအ မွန္ျခစ္ေပးရပါမယ္။ေနာက္ပီးေတာ့ dynamips ဆိုတာေလးလိုပါေသးတယ္။အဲ့ေကာင္က window မွာဆို ရင္ေတာ့ install လုပ္စဥ္ကတည္းကပါလာေပမယ့္ linux မွာေတာ့ကိုယ့္ဘာသာ configureခ်ေပးရ မွာျဖစ္ပါတယ္။ကြ်န္ေတာ္ကေတာ့ dynamips-0.2.8-RC2-x86.bin ဆိုတာေလးကိုသံုးပါမယ္။ အဲ့ေကာင္
ေလးကို ေစာတုန္းက extract လုပ္ထားတဲ့ GNS3-0.7.4-scr ဆိုတဲ့ Folder ေလးထဲကိုပဲထည့္ပါမယ္။ ဒါေပမယ့္ဒါကေသေတာ့မဟုတ္ပါ။ကိုယ္ႀကိဳက္တဲ့ file system ေအာက္မွာထားလို႔ရပါတယ္။ပီးရင္ dynam ips-0.2.8-RC2-x86.bin ကို Right-Click>Properties မွာ Permission ကို Executable ျဖစ္ေအာင္ ထားေပးရပါမယ္။ေအာက္ကပံုေလးကိုႀကည့္ပါ။


 အဲ့ဒါဆိုရင္ကြ်ေတာ္တို႔ gns3 ကို Ubuntu ေပၚမွာစပီး Run လို႔ရပါပီ။gns3 script ေလးကို Double-Click နဲ႔သာ run လုိက္ပါ။prompt ေလးတစ္ခုက်လာရင္ Run ဆိုတာေလးနဲ႔ run ရပါမယ္။ေအာက္ကပံုကိုႀကည့္ ပါ။

အဲ့ဒါဆိုရင္ေနာက္တစ္ဆင့္က IOS image ေတြကို Configuration ခ်ေပးရမွာပဲျဖစ္ပါတယ္။အဲ့အဆင့္ ကေတာ့ window ကပံုစံနဲ႔တူတူပဲျဖစ္ပါတယ္။ဒါေႀကာင့္မို႔အေသးစိတ္မျပေတာ့ပါဘူး။IOS image ေတြကို Configure မခ်ရေသးခင္မွာ Router ေတြကို Work Space ကိုဆြဲတင္လို႔ရမွာမဟုတ္ပါ။ေအာက္ကပံုလးကို တစ္ခ်က္ႀကည့္ႀကည့္ပါ။


အေပၚကပံုေလးကိေတာ့ IOS ေတြကို Configuration ခ်ထားတဲ့ပံုပါ
ေနာက္ပီးgns3 က cisco ios အစစ္ေတြကိုသံုးပါတယ္။အဲ့အတြက္ system ရဲ့ Resources ေတြကိုအလြန္ပဲ သံုးစြဲပါတယ္။ေနာက္အေရးႀကီးတဲ့တစ္ခ်က္ရွိပါေသးတယ္။အဲ့ဒါက dynamip ပါ။သူကဘာလဲဆိုေတာ့ ios emulator ပါ။ios ကို run လို႔ရေအာင္လုပ္ေပးထားတဲ့ program လို႔ပဲေျပာရမွာေပါ့ဗ်ာ။အဲ့ဒီprogram ေလး success ျဖစ္မွ IOS ေတြအလုပ္လုပ္မွာပါ။Fail ျဖစ္ရင္ေတာ့အလုပ္လုပ္မွာမဟုတ္ပါ။ေအာက္ကပံုကိုႀကည့္ပါ


အေပၚကပံုကေတာ့ Router ေတြကို Work Space ေပၚကိုဆြဲတင္ထားပံုျဖစ္ပါတယ္။အေပၚကအဆင့္ေတြ အားလံုးပီးသြားရင္ေတာ့ Router တစ္လံုးကို Power နွုိးႀကည့္လိုက္ပါမယ္။Power ႏိုးလိုက္ပီဆိုတာနဲ႔ gns3 က CPU Resources ေတြကိုအလြန္သံုးစြဲေတာ့မွာပါ။ေအာက္ကပံုကိုႀကည့္ပါ။
ဒါေပမယ့္ Gns3 မွာ Idle PC ဆိုတာရွိပါတယ္။အဲ့ဒါေလးကိုသံုးပီး CPU Loading ကိုေလ်ွာ့ခ်ႏိုင္ပါတယ္။ သို႔ေသာ္လည္း memory loading ကိုေတာ့ ေလွ်ာ့ခ်နိုင္ျခင္းမရွိပါဖူး။ဒါေႀကာင့္ gns3 ကိုသံုးမယ္ဆိုရင္ physical memory မ်ားေလေကာင္းေလပဲျဖစ္ပါတယ္။အဲ့ေနရာမွာကြ်န္ေတာ့္အေနနဲ႔ဆိုရင္ေတာ့ linux ကို ပိုပီး favour ျဖစ္ပါတယ္။ဘာလို႔လဲဆိုရင္သူက window ထက္စာရင္ memory စားတာေတာ္ေတာ္ေလး နည္းပါတယ္။ဒါေႀကာင့္ gns3 run ရင္ေတာ္ေတာ္ေလးအဆင္ေျပတာေတြ႔ရပါတယ္။

အေပၚကပံုကေတာ့ Idle PC ကို Router ေပၚမွာ Apply လုပ္ပီးတဲ့ပံုပါ။Idle PC apply လုပ္ပံုကေတာ့ Router ေပၚမွာ Right Click>Idle PC ဆိုတာေလးကိုနွိပ္ေပးရမွာပါ။ပီးရင္သူ႔ဘာသာ Aoto တြက္ပီးေပၚ လာတဲ့ prompt ေလးထဲက star ျပထားတာေလးကိုေရြးပီး apply လုပ္ေပးလုိက္ရင္ပါပီ။ပီးရင္ေတာ့ကြ်န္
 ေတာ္တို႔ Router ရဲ့ Console ထဲကို၀င္လို႔ရပါပီ။အဲ့လို၀င္တဲ့ေနရာမွာ gns3 မွာပါတဲ့ default အတိုင္းသံုး ရင္လည္းရပါတယ္။ကြ်န္ေတာ္ကေတာ့ Ubuntu Linux မွာသံုးေနတာျဖစ္လို႔ Gnome Terminal ကိုပဲသံုးပါ မယ္။အဲ့ဒီအတြက္ Edit>Preference ေအာက္က General မွာ Terminal Setting ဆိုတာကိုသြားပါ။အဲ့မွာ Terminal Command ဆိုတဲ့အကြက္ေလးထဲမွာ ......
gnome-termanal -t %d -e 'screen -L telnet %h %p' >dev/null/ 2>&1 & ဆိုပီးထည့္ေပးပါ။
ေအာက္ကပံုေလးကိုႀကည့္ပါ..။
 ပီးရင္ေတာ့ Right-Click>Console ကေန Router ထဲကို၀င္ပီး management လုပ္လို႔ရပီျဖစ္ပါတယ္။
 အေပၚကပံုေလးကေတာ့ Router ထဲကို၀င္ထားတဲ့ပံုျဖစ္ပါတယ္။ေအာက္ကပံုေလးေတြကေတာ့ gns3 မွာပါ တဲ့ features ေလးေတြပါ..။

window မွာ configuration ခ်ပံုေလးကိုေတာ့ http://www.fileserve.com/file/QJKhKf4 မွာယူလို႔ရပါ တယ္။အဲ့မွာေတာ့ပံုပိုမ်ားလို႔post အေနနဲ႔တင္ဖို႔အဆင္မေျပတာေႀကာင့္ word နဲ႔ပဲေရးပီး file hosting မွာပဲသြားတင္လိုက္ရတာပါ။

ကြ်န္ေတာ့္အေနနဲ႔ junior ညီငယ္ညီမငယ္ေလးေတြအဆင္ေျပေအာင္ကိုယ္သိသေလာက္ကို
self-studyလုပ္ပီးေဖာ္ျပေပးလိုက္ပါတယ္။အခုခ်ိန္မွာအားလံုးသိႀကတဲ့အတုိင္းပဲစိန္ေခၚမွုေတြ
ကအရမ္းမ်ားေနပါတယ္။ေငြေႀကးအရေသာ္လည္းေကာင္း၊နည္းပညာအရေသာ္လည္းေကာင္း
စသည္ျဖင့္ေပါ့။ေငြမရွိလို႔သင္တန္းကတက္ခ်င္ေပမယ့္မတက္နိုင္၊သင္တန္းတက္ျပန္ေတာ့လည္း
guide line မရွိလို႔အဆင္မေျပစသည္ျဖင့္ေပါ့။ေနာက္မ်ားအားလပ္လို႔ရွိရင္ gns3 ေပၚမွာ Topology
ေတြ Apply လုပ္ပံုေလးေတြကိုလည္းသိသေလာက္ေရးေပးပါအံုးမယ္။configuration ခ်ရာမွာလိုအပ္မယ့္ files ေလးေတြကိုလည္း တစ္စုတစ္စည္းတည္းျဖစ္ေအာင္connection ေကာင္းတဲ့အခ်ိန္မွာတင္ေပးပါ့မယ္။

ေလးစားစြာျဖင့္
Win Tun Hlaing 

Sunday, October 9, 2011

IPv4 CIDR Addressing

IP Address မွာယေန့လက္ရွိ Ipv4 ရယ္၊IPv6 ရယ္ဆိုပီးေတာ့ရွိပါတယ္။အခု Ipv4 အေျကာင္းကို
ပဲအဓိကေရးပါ့မယ္။IPv4 ကေတာ့ Address Space 32-bitsပါ။အဲ့ဒီ32-bits ကိုေလးပိုင္းခြဲပီးတစ္
ပုိင္းမွာ8-bits စီအလုပ္လုပ္ပါတယ္။ေနာက္ပီး IP Address ေတြကို Network ေပာ္မူတည္ပီးClass
ေတြခြဲသံုးပါတယ္။Class ေတြကေတာ့A,B,C,D,E ေပါ့။ကြ်န္ေတာ္တို့ကIP Address တစ္ခုကိုျကည့္
ရံုနဲ့ ဘယ္ Class မွာပါတယ္ဆိုတာကိုတန္းသိနုိင္ပါတယ္။
 Class A
0 to 126 အထိျဖစ္ပါတယ္။အေသးစိတ္ေပးရင္ 0.0.0.0 ကေန 126.255.255.255 အထိေပါ့။
Class B
128 to 191 အထိျဖစ္ပါတယ္။အေသးစိတ္ဆိုရင္ေတာ့ 128.0.0.0 ကေန 191.255.255.255
အထိျဖစ္ပါတယ္။
Class C
192 to 223 အထိျဖစ္ပါတယ္။အေသးစိတ္ဆိုရင္ေတာ့ 192.0.0.0 ကေန 223.255.255.255
အထိျဖစ္ပါတယ္။
Class D
224 to 239 အထိျဖစ္ပါတယ္။အေသးစိတ္ဆိုရင္ေတာ့ 224.0.0.0 ကေန 239.255.255.255
အထိျဖစ္ပါတယ္။
Class E
240 to 255 အထိျဖစ္ပါတယ္။အေသးစိတ္ဆိုရင္ေတာ့ 240.0.0.0 ကေန 255.255.255.255
အထိျဖစ္ပါတယ္။
တစ္ခုသတိထားမိမလားမသိဖူး။အထက္က Address ေတြထဲမွာ 127 ဆိုတာမပါဖူးေလ။အဲ့ဒါက
lookbuck Address ပါ။ဒါေျကာင့္ဘာconnection မွမရွိတဲ့အခ်ိန္မွာ nslookup ဆိုတဲ့ command
ရုိက္ျကည့္ရင္ 127.0.0.1 ဆိုတာေတြ့ရမယ္ေလ။IPv6 မွာေတာ့ ::1 က lookbuck address ေပါ့။
အထက္ကClass ေတြအနက္မွာမွကြ်န္ေတာ္တို့A,B,C ရယ္ကိုပဲသံုးပါမယ္။Class D ကေတာ့
multicast ျဖစ္ပီး၊ Class Eကေတာ့ Research အတြက္ပါ။အဲ့ေတာ့အဲ့နွစ္ခုကိုမသံုးဖူးလို့ပဲမွတ္ပါ။
ေအာက္မွာ Class A,B,C ရဲ့ Network Address နဲ့ Host Address ေတြကိုေသးစိတ္တြက္ျပပါမယ္။

 ClassA : Network . Hosts . Hosts . Hosts
                  8-bits    8-bits   8-bits   8-bits
ClassB : Networks. Networks . Hosts . Hosts
                  8-bits         8-bits      8-bits    8-bits
ClassC: Networks.Networks.Networks.Hosts
                  8-bits      8-bits         8-bits     8-bits

ClassA မွာဆိုရင္ေရွ့ဆံုး 8-bits က Network Address ျဖစ္ပီးေနာက္ 24-bits ကေတာ့ hosts
Address ပါ။ကုိယ့္ရဲ့ Network မွာ Host ေတြအမ်ားျကီးသံုးခ်င္ရင္ClassA ကိုယူေပါ့။တိတိက်
က်ဆိုရင္ ClassA က Hosts ေပါင္း16 သန္းေက်ာ္သံုးလို့ရပါတယ္။
ClassB မွာဆိုရင္ေရွ့ဆံုး 16-bits က Network Address ျဖစ္ပီးေနာက္16-bits ကေတာ့ hosts
Address ပါ။ကိုယ့္Network မွာ Host ေတြက254 လံုးထက္ေက်ာ္မယ္ClassA ေလာက္လည္းမ
မ်ားဖူးဆိုရင္ေတာ့ Class B ကိုသံုးေပါ့။Class B က hosts ေပါင္းေျခာက္ေသာင္းခြဲေက်ာ္သံုးလို့ရပါ
တယ္။ClassC မွာေတာ့ ေရွ့24-bits က Network Address ျဖစ္ပီးေနာက္8-bits ကhosts Address ျဖစ္ပါတယ္။
သူကေတာ့host Address နည္းသြားတာေပါ့။Class C မွာhost ေပါင္း254လံုးသံုးလို့ရပါတယ္။
ကြ်န္ေတာ္တို့ကဘာေပာ္မွာInternet ခ်ိတ္ထားတဲ့ computer ေတြအမ်ားျကီးပါ။computer တစ္လံုး
ကို IP တစ္ခုေပးလိုက္မယ္ဆိုရင္ ရွိသမ်ွ IP ေလးေတြေျပာင္သြားပါလိမ့္မယ္။ဒါေျကာင့္IP Address
ေတြကို Private Address နဲ့ Public Address ဆိုပီးထပ္ခြဲပါတယ္။Public Address ဆိုတာက
Internet ေပာ္မွာသံုးတဲ့ Address ျဖစ္ပီးPrivate Address ကေတာ့မည္သူမဆိုလြပ္လပ္စြာသံုးစြဲ
နိုင္ပါတယ္။သံုးတဲ့ေနရာမွာလည္းကိုယ့္ Network ေပာ္မူတည္ပီး အဆင္ေျပတဲ့Class ကိုယူသံုးနိုင္
ပါတယ္။private IP အေသးစိတ္ကေတာ့.....

Class A : 10.0.0.0 to 10.255.255.255 (Netmask :255.0.0.0)
Class B : 172.16.0.0 to 172.35.255.255(Netmask:255.255.0.0)
Class C: 192.168.0.0 to 192.168.255.255(Netmask:255.255.255.0)
ျဖစ္ပါတယ္။က်ြ်န္ေတာ္တို့အေတြ့ရမ်ားတဲ့ 192.168 ဆိုတာကClassC ရဲ့ Private Address ပါ။
အခုက်ြန္ေတာ္ဒီမွာေရးခ်င္တာက CIDR နဲ့ပတ္သတ္တာျဖစ္လို့ က်န္တဲ့အပိုင္း ေတြကို ေက်ာ္သြားပါမယ္။CIDR အအဓိကရည္ရြယ္ခ်က္ကေတာ့ IP ေတြကိုအတတ္နိုင္ဆံုးေခ်ြတာခ်င္လို့
သံုးတာျဖစ္ပါတယ္။CIDR ကိုတြက္မယ္ဆိုရင္ Binary နဲ့ Decimal သေဘာတရားေလးေတြနည္း
နည္းေတာ့သိထားရပါမယ္။Class A,B,C ကိုBinar ပံုစံေလးေနဲ့ျကည့္မယ္ဆိုရင္..

ClassA : 11111111.00000000.00000000.00000000(255.0.0.0)
ClassB : 11111111.11111111.00000000.00000000(255.255.0.0)
ClassC : 11111111.11111111.11111111.00000000(255.255.255.0)
ျဖစ္ပါတယ္။ေအာက္မွာ Binar ကေန Decimal ေျပာင္းပံုေလးပါ။
11111111=(1*2^8)+(1*2^7)+(1*2^6)+(1*2^5)+(1*2^4)+(1*2^3)+(1*2^2)+
(1*2^1)+(1*2^0)
=128+64+32+16+8+4+2+1=255
အခုကြ်န္ေတာ္ Class C ကိုအဓိကထားပီးေရးပါ့မယ္။အသံုးမ်ားတယ္ Private IP လည္းျဖစ္တဲ့
192.168 ကိုပဲသံုးပါ့မယ္။
192.168.10.20(255.255.255.0) နဲ့ 192.168.20.20(255.255.255.0) အဲ့ဒီ Address နွစ္ခုကိုျကည့္ပါ။ClassC ျဖစ္ပီးnetmaskလည္းတူပါတယ္။ဒါေပမယ့္ Network ေတာ့မတူပါဖူး။တစ္ခုက 192.168.10.0 network မွာရွိေနပီး
ေနာက္တစ္ျဖစ္တဲ့ 192.168.20.20 ကေတာ့ 192.168.20.0 Network မွာရွိေနပါတယ္။အခုကြ်န္ေတာ္ CIDR ကို ClassC Addressနဲ့
တြက္ျပပါ့မယ္။Class C ရဲ့ subnet mask ကေတာ့ 255.255.255.0 ပါ။အေပာ္မွာေရးပီးပါပီ။အဲ့ဒါ
ကိုCIDR ပံုစံေလးေျပာင္းေရးျကည့္ခ်င္လို့ပါ။ဒါကClassC ကို CIDR နဲ့ေရးတာပါ။
                   255.255.255.0 /24
11111111.11111111.11111111.00000000(/24)
အခု ClassC Address တစ္ခုကိုယူပီး Practice တြက္ျကည့္ျကတာေပါ့..။တြက္တဲ့ေနရာမွာFormula
ေလးနဲ့တြက္ရင္ပိုအဆင္ေျပတာေပါ့။ClassC က 192 ကေနစတယ္ေနာ္။223မွာဆံုး
တယ္။ဒါေလးကိုေသခ်ာသတိထားေစခ်င္ပါတယ္။ေနာက္ပိုင္းအသံုး၀င္လာမွာမို့ပါ။

192.0.0.0 11000000.00000000.00000000.00000000
223.255.255.255 11011111.11111111.11111111.11111111
110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh
n=Networks
h=Hosts
ဟာ....။ရွုပ္ကုန္ပါပီ။ဘယ္က n ေတြ h ေတြပါလာတာပါလိမ့္။ဒါကဒီလိုရွိပါတယ္။Class C က192 ကစတယ္ေလ။239 မွာဆံုးတယ္။
192 = 11000000 ျဖစ္ပီးေတာ့ 239 = 11011111 ျဖစ္တယ္ေလ။အဲ့ေတာ့ ClassC အေနနဲ့ သံုးခုေျမာက္ bit
အထိအေသပဲျဖစ္ပီးေတာ့ေလးခုေျမာက္ကေနစပီး Variable ျဖစ္ပါတယ္။ျကိုက္တဲ့ ClassC Addressတစ္
ခုကိုယူပါ။binary ေျပာင္းျကည့္လိုက္ပါ။အဲ့ေဘာင္ထဲမွာပဲရွိေနပါလိမ့္မယ္။ေနာက္ပီး ClassC ကေနာက္ဆံုး
8-bits ကုိပဲhosts အတြက္ေနရာေပးပါတယ္။အမ်ားဆံု 8-bits ပဲရမယ္ေပါ့။သို့ေသာ္ CIDR သံုးပီးNetwork အေရတြက္နဲ့ Hosts အေရတြက္ကိုလိုသလိုျပင္လို့ရပါတယ္။ဒါေျကာင့္ClassC ရဲ့Addressတစ္
ခုကိုယူပီးတြက္ျကည့္ပါမယ္။

Address          Network   Hosts        Netmask           CIDR Notation
192.168.0.0         1            254       255.255.255.0           /24
192.168.0.0         2            126      255.255.255.128        /25
192.168.0.0         4            62        255.255.255.192        /26
192.168.0.0         8            30       255.255.255.224         /27
192.168.0.0         16          14       255.255.255.240         /28
192.168.0.0         32          6        255.255.255.248          /29
192.168.0.0         64          2        255.255.255.252          /30

Subnet Mask                             Binary Form                                                   CIDR
255.255.255.0                         11111111.11111111.11111111.00000000           /24
255.255.255.128                     11111111.11111111.11111111.10000000           /25
255.255.255.192                     11111111.11111111.11111111.11000000           /26
255.255.255.224                     11111111.11111111.11111111.11100000           /27
255.255.255.240                     11111111.11111111.11111111.11110000           /28
255.255.255.248                     11111111.11111111.11111111.11111000           /29
255.255.255.252                     11111111.11111111.11111111.11111100           /30

အဲ့ဒီမွာကြ်န္ေတာ္တို့ 192.168.0.0 Network ကိုယူပီး 255.255.255.0 Subnet ထားမယ္ဆိုပါဆို့။
ClassC ရဲ့ host portion ကေနာက္ဆံုး 8-bits ေလ။အဲ့ေတာ့0 ရွစ္လံုး ကေန 1 ရွစ္လံုးထိေပါ့။အဲ့
ေတာ့Address အေရတြက္ဟာ 00000000=0 ကေန 1111111=255 အထိယူလို့ရတာေပါ့။အဲ့ေတာ့ 192.168.0.0 ကေန
192.168.0.255 အထိေပါ့။Address ေပါင္း256 ခုရမွာေပါ့။ဒါေပမယ့္
Network Address 192.168.0.0 နဲ့ broadcast Address 192.168.0.255 ဖက္လုိက္ရင္စုစုေပါင္း
သံုးလို့ရတဲ့ hosts အေရတြက္ဟာ 254လံုးပဲရွိပါတယ္။ေပာ္ကဇယားေလးမွာျပန္ျကည့္ျကည့္ပါ။

ေနာက္တစ္ခါ 192.168.0.0 Network ကိုပဲ ေနာက္ 1-bit တိုးျကည့္လုိက္ပါမယ္။တိုးတယ္ဆိုတာ ွNetmask ကိုတိုးတာေနာ္။
အဲ့အခါမွာ Subnet mask က 255.255.255.128 ျဖစ္သြားပီး1စုစုေပါင္း
25 လံုးျဖစ္သြားလို့ CIDR နဲ့ေရးရင္ /25လို့ေရးပါမယ္။အဲ့ဒီအခါမွာ Networkအေရတြက္ကနွစ္ခုျဖစ္
သြားပီး host အတြက္ bit စုစုေပါင္း 7-bits ပဲရွိပါေတာ့တယ္။ဒါေျကာင့္အမ်ားဆံုးAddress အေရ တြက္ဟာ (2^7)=128
ျဖစ္ပါတယ္။ဒါက Network နဲ့ brocast မဖယ္ရေသးဖူးေနာ္။ဖယ္လိုက္ရင္
သံုးလို့ရမယ့္ host အေရတြက္က 126 ပဲရွိမွာေပါ့။အေပာ္ကဇယားေလးအတိုင္းပဲေလ။ထြက္လာမယ့္
Networkေတြက 192.168.0.0 to 192.168.0.127 ကတစ္ခု 192.168.0.128 to 192.168.0.255
ကတစ္ခုစုစုေပါင္းနွစ္ခုေလ။အဲမွာမွ 192.168.0.0 နဲ့ 192.168.0.128 ေတြက Network Address
ေတြျဖစ္ပီးေတာ့ 192.168.0.127နဲ့192.168.0.255 တို့ကေတာ့ broadcast ေတြပဲျဖစ္ပါတယ္။အဲ့
ေတာ့ Formula ေလးေတြထုတ္ျကည့္ရေအာင္..။

No of Networks=(2^no of subnet bits)
Number of host=2^(number of hosts bits)-2
No of subnet bits= ေရြ့လုိက္တဲ့ bits အေရတြက္
No of hosts bits=က်န္တဲ့ bits အေရတြက္ျဖစ္ပါသည္။ 0 or 1 ကို bit ဟုသံုးနွုန္းပါသည္။

ေနာက္တစ္ခုတြက္ျကည့္ရေအာင္ဗ်ာ။192.168.0.0 Network ကိုပဲ Default /24 ကေန /26 လုပ္
ျကည့္မယ္။အဲ့အခါ subnet က 255.255.255.0 ကေန 255.255.255.192 ျဖစ္သြားပီး network
အေရတြက္ကလည္း ေလးခုျဖစ္သြားပါလမ့္မယ္။Formula ထဲထည့္တြက္လည္းရတယ္။

No of Networks=(2^2)=4 Networks
Number of hosts=(2^6)-2=64-2=62 hosts(Network & Broadcast မပါ)

           Block Sizes                                      Broadcast                 Network            Netmask
192.168.0.0 to 192.168.0.63                      192.168.0.63              192.168.0.0         255.255.255.192
192.168.0.64 to 192.168.0.127                  192.168.0.127            192.168.0.64       255.255.255.192
192.168.0.128 to 192.168.0.191                192.168.0.191            192.168.0.128     255.255.255.192
192.168.0.192 to 192.168.0.225                192.168.0.255            192.168.0.192     255.255.255.192
ေနာက္တစ္ခုက Block Size ပါ။ဘယ္လိုတြက္လဲဆိုေတာ့ host အေရတြက္ကိုတြက္ရင္ရလာမယ့္
Address Size ကိုအစဥ္လိုက္ 1x,2x,3x စသည္ျဖင့္တြက္သြားေပါ့။eg,0,64,128,192စသည္

ျဖင့္တြက္သြားလုိ့ရပါတယ္။ေနာက္ 19.168.0.0 Network ကိုပဲ /24 ကေန /27 လုပ္ျကည့္ရင္လည္း
အေပာ္ကအတိုင္းပါပဲ။Block Size ေတာ့မ်ားလာမွာေပါ့။

Block Sizes                                     Broadcast              Network              Netmask
192.168.0.0 to 192.168.0.31           192.168.0.31          192.168.0.0       255.255.255.224
192.168.0.32 to 192.168.0.63         192.168.0.63          192.168.0.32     255.255.255.224
192.168.0.64 to 192.168.0.95         192.168.0.95          192.168.0.64     255.255.255.224
192.168.0.96 to 192.168.0.127       192.168.0.127        192.168.0.96     255.255.255.224
192.168.0.128 to 192.168.0.159     192.168.0.159        192.168.0.128   255.255.255.224
192.168.0.160 to 192.168.0.191     192.168.0.191        192.168.0.160   255.255.255.224
192.168.0.192 to 192.168.0.223     192.168.0.223        192.168.0.192   255.255.255.224
192.168.0.224 to 192.168.0.225     192.168.0.225        192.168.0.224   255.255.255.224

0,32,64,96,128,160,192,224 …....။အဲဒီမွာ 192.168.0 ေနရာမွာ 192.168.1 ဆိုလည္းအတူ
တူပါပဲ။အဲလိုပဲ192.168.0 ကေန 192.168.n အထိျကိုက္အထိအဲ့အတိုင္းတြက္လို့ရပါတယ္။
အဲ့ေနရာမွာ n ဆိုတာ 1 ကေန 255ထိပဲအျကံုး၀င္ပါလိမ့္မယ္။ေနာက္ဟာေလးေတြကိုယ့္ဟာကိုယ္
ဆက္တြက္ျကည့္ပါ။ဟိုးအေပာ္ကဇယားမွာ /30 အထိအက်ဥ္းတြက္ထားပါတယ္။:D
Binary to Decimal ေျပာင္းပံုေလးပါ။
10000000=128
11000000=192
11100000=224
11110000=240
11111000=248
11111100=252
11111110=254
11111111=255

Given a subnet mask of 255.255.255.224, which of the following addresses can be assigned to network hosts? (Choose three)
A – 15.234.118.63
B – 92.11.178.93
C – 134.178.18.56
D – 192.168.16.87
E – 201.45.116.159
F – 217.63.12.192

Answer is B,C,D.

CIDR အရ 255.255.255.224 သည္ /27 ျဖစ္ပီးေတာ့AddressSize=2^5=32
ျဖစ္ပါတယ္။ဒါေျကာင့္ 0,32,64,96,128,160,192,224 ဆိုပီးရပါမယ္။
အဲမွာမွ 0,32,64,96,128,160,192,224 တို့သည္ Network Addresမ်ားျဖစ္ပါတယ္။
ဒါအျပင္ 31,63,95,127,159,191,223,255 တို့က broadcast ေတြပါ။
ဒါေျကာင့္A နဲ့ E တို့က broadcast ေတြထဲမွာပါေနပီးF ကေတာ့ Network Address
ေတြထဲမွာပါေနပါတယ္။ဒါေျကာင့္ျကားAddress ျဖစ္တဲ့ B,C,D ရယ္ကိုေရြးတာပါ။
အဲဒါေလးက Subnetting ရဲ့အသံုး၀င္ပံုေလးပါ။အေသးစိတ္ေလ့လာခ်င္ရင္ေတာ့
www.9tut.com မွာေလ့လာနုိင္ပါတယ္။သူကCCNAsite ပါ။
က်ြန္ေတာ့အေနနဲ့ Networking ကိုစိတ္၀င္စားပီးသင္သန္းေျကးျကီးလုိ့မတက္နိုင္တဲ့၀ါ
သနာရွင္ေတြ၊ကိုယ့္ဟာကိုယ္self-study လုပ္လိုသူေတြ၊Junior ညီငယ္ညီမငယ္ေလး
ေတြအတြက္ပါေလ့လာလို့ရေအာင္တတ္သေလာက္မွတ္သေလာက္ေရးသားေပးလုိက္ပါ
တယ္။ေနာက္အခ်ိန္ရမွာ Class A နဲ့ Class B အေျကာင္းေကာ အျခား Network
Simulator ေလးေတြ Configuration လုပ္ပံုေလးေတြကိုပါေရးပီး Knowledge
sharing လုပ္ေပးပါ့မယ္။စာလံုးေပါင္းမွားတာမ်ိုးရွိရင္သည္းခံေပးပါ။

 ေလးစားစြာျဖင့္
Win Tun Hlaing