Tuesday, April 29, 2008
IOS မ်ဳိးဆက္သစ္
ပထမဦး Cisco IOS ကုိ ၁၉၈ရ ခုႏွစ္မွာ William Yeager (Born 1940, SF CA) ကေရးခဲ့ပါတယ္။ IOS အသက္ ၂၀ ေက်ာ္ရွိျပီလုိ. ေျပာရင္ရပါတယ္။
ဒီ ၁ ႏွစ္၊ ၂ ႏွစ္ အတြင္းမွာ Cisco IOS ကုိ အေျပာင္းအလည္း ေတာ္ေတာ္ၾကီး လုပ္လာတယ္ဆုိတာကုိ သတိျပဳမိပါတယ္။
ကၽြန္ေတာ္ လက္လွမ္းမီသေလာက္ ေျပာရလ်င္၊
၁။ IOS
၂။ IOS-XE
၃။ IOS-XR
၄။ NX-OS ဆုိျပီး ၄ ခုကြဲသြားမလုိ ရွိေနပါတယ္။
၁။ IOS
Original IOS ျဖစ္လုိ. အထူးေျပာစရာမရွိပါဘူး။ မၾကာခင္မွာ (၅ ႏွစ္ မွ ၁၀ ႏွစ္ အတြင္း) IOS ကုိ အသုံးျပဳတာ ရပ္စဲသြားမယ္လုိ.ထင္ပါတယ္။
၂။ IOS-XE
IOS-XE ကုိ Linux Kernel ေပၚမွာ အေျခခံထားျပီး Modular Operating System ျဖစ္ပါတယ္။ Modular ျဖစ္တဲ့အတြက္ upgrade လုပ္ရင္ျဖစ္ျဖစ္၊ Process တစ္ခုကုိ restart လုပ္ရင္ျဖစ္ျဖစ္ Router ကုိ reboot လုပ္စရာ မလုိေတာ့ပါဘူး။
IOS-XE ကုိ အသုံးျပဳတဲ့ Router တစ္ခုမွာ Operating System ကုိ backup copy အေနနဲ. run ေနမွာျဖစ္ျပီး၊ Router ကုိျပဳျပင္စရာ ရွိလ်င္ power off လုပ္ဖုိ.မလုိပါဘူး။ ေလာေလာဆယ္ Run ေနတဲ့ OS ကေန Backup ကုိေျပာင္းခ်င္ရင္လဲ မ်က္ေတာင္တခတ္ အတြင္းမွာ ေျပာင္းလုိ.ရတယ္လုိ. Cisco က ခပ္ႂကြားႂကြားေျပာထားပါတယ္။
Cisco ရဲ. တရား၀င္ အေျဖကေတာ့ IOS-XE ဟာ မ်ဳိးဆက္သစ္ IOS မဟုတ္ဘူး၊ Original IOS အတြက္ addition သာျဖစ္တယ္လုိ.ဆုိပါတယ္။
ဒီ IOS က Edge Routers ေတြအတြက္ျဖစ္ပါတယ္။ အသစ္ထြက္လာတဲ့ ASR (Aggregation Services Router) မွာ IOS-XE ကုိ အသုံးျပဳေနပါျပီ။
ASR Router ကုိ သုံးဖုိ.ရည္ရြယ္တဲေနရာေတြ ကေတာ့
၁။ Enterprise ေစ်းကြက္မွာ ရုံးခြဲေတြကုိ ဆက္သြယ္မဲ့ WAN Circuits ေတြကုိ စုေပါင္းလက္ခံတဲ့ေနရာ
၂။ Service Provider ေစ်းကြက္မွာ Broadband circuit customer ေတြကုိ စုေပါင္းလက္ခံတဲ့ေနရာ
တုိ.ျဖစ္ပါတယ္။
IOS-XE ရဲ. အားသာတဲ့ အခ်က္ေတြကေတာ့
၁။ QoS (Quality of Service) (ဗမာလုိ ဘယ္လုိေျပာရမလဲ မသိပါ။)
၂။ VoIP (Voice Over IP) အင္တာနက္ ဖုံး
၃။ Security (Firewall)
၄။ NAT (Network Address Translation) စတဲ့ အလုပ္မ်ဳိးစုံျဖစ္ပါတယ္။
စာညႊန္း -
၁။ Cisco ASR 1000 Router အေမးအေျဖ
၂။ Cisco ASR Router ကုိ တည္ထြင္သူႏွင့္ေတြ.ဆုံျခင္း
- IOS-XR နဲ. NX-OS အေၾကာင္း ဆက္ေရးပါဦးမယ္
Monday, April 28, 2008
Hello Protocol (2) - BFD the rescue?
Hello Protocol ရဲ. ေခတ္မမွီေတာ့တဲ့ ျပသနာေတြကုိေျဖရွင္းဖုိ. ၂၀၀၆ IETF အစည္းအေ၀းမွာ BFD (Bi-directionaly Forwarding Protocol) ကုိ စတင္ျပီး ေဆြးေႏြးခဲ့ပါတယ္။
BFD ကုိသံုးတဲ့ Router ၂ ခုဟာ အရင္ဆံုး session တစ္ခု တည္ေဆာက္ရပါတယ္။ TCP 3-way Handshake နဲ. သေဘာခ်င္း ဆင္ပါတယ္။
3-way Handshake ကုိ အက်ယ္ခ်ဲ.ရလ်င္ -
၁။ RouterA က RouterB ကုိ လွမ္းႏွုတ္ဆက္မယ္။
၂။ RouterB က RouterA ႏွုတ္ဆက္တာကုိ အသိအမွတ္ျပဳမယ္။ တခ်ိန္ထည္းမွာ RouterB က RouterA ကုိ ႏွုတ္ဆက္မယ္။
၃။ RouterA က RouterB ႏွုတ္ဆက္တာကုိ အသိအမွတ္ျပဳမယ္။
အထက္ပါ အဆင့္ ၃ ဆင့္ ျပီးသြားလ်င္ RouterA နဲ. RouterB တုိ. session တည္ေဆာက္တာ ေအာင္ျမင္သြားျပီလုိ.ေျပာရပါမယ္။ (This is my bloated translation of - successful 3 way handshake establishment :)
BFD ကို Router မွာ Configure လုပ္ဖုိ.အတြက္ -
၁။ ဘယ္ေလာက္ milli-second တုိင္းမွာ BFD Hello packet ကုိ ကုိယ္နဲ. မိတ္ေဆြျပဳထားတဲ့ Router ဆီကုိပုိ.မယ္။
၂။ ဘယ္ေလာက္ milli-second တုိင္းမွာ ကုိယ္နဲ. မိတ္ေဆြျပဳထားတဲ့ Router ဆီက BFD Hello packet ကုိ ေမ်ွာ္လင့္ရမယ္။
၃။ BFD Hello packet ဘယ္ႏွစ္ခု ဆက္တုိက္ လက္ခံမရလ်င္ မိတ္ေဆြအျဖစ္က ရပ္စဲမယ္။
ဆုိတာကုိ ၾကဳိတင္စဥ္းစား ဖုိ.လုိပါတယ္။
Cisco IOS မွာ အသုံးျပဳပုံက -
bfd interval <50-999ms> min_rx <1-999ms> multiplier <3-50 times>
Cisco IOS မွာ BFD ကို OSPF, BGP, EIGRP, IS-IS နဲ. HSRP protocols ေတြမွာ သုံးလုိ.ရေနပါျပီ။
OSPF ကုိ BFD နဲ.တြဲသုံးတဲ့ ဥပမာ -
interface FastEthernet 0/1
ip address 172.16.10.1 255.255.255.0
bfd interval 50 min_rx 50 multiplier 3 <-- (*)
!
router ospf 123
network 172.16.0.0 0.0.0.255 area 0
bfd all-interfaces
(*)
၅၀ မီလီစကၠန္.တုိင္းမွာ မိတ္ေဆြ Router ကုိ BFD Hello Packet ပုိ.ပါမယ္။
၅၀ မီလီစကၠန္.တုိင္းမွာ မိတ္ေဆြ Router ဆီက BFD Hello Packet ရရမယ္လုိ. ေမွ်ာ္လင့္ထားပါတယ္။
မိတ္ေဆြ Router ဆီက BFD Hello Packet ၃ ခါဆက္တုိက္ မရလ်င္ မိတ္ေဆြအျဖစ္က ရပ္စဲပါမယ္။ တနည္းေျပာရလ်င္ ၁၅၀ မီလီစကၠန္. အတြင္းမွာ မိတ္ေဆြ Router အလုပ္မလုပ္ေတာ့တာကုိ ခ်က္ခ်င္းသတိျပဳႏုိင္ပါမယ္။
ကၽြန္ေတာ္ေဆြးေႏြးျပီးသေလာက္က BFD ဟာ အျခား Hello Protocol ေတြနဲ. ယွဥ္ၾကည့္ရင္ အမ်ားၾကီးပုိျမန္တယ္ဆုိတဲ့ အခ်က္ပါ။ BFD ရဲ. အျခား အက်ဳိးေတြလည္း ရွိပါေသးတယ္။ တခ်ဳိ.ကုိေျပာရလ်င္
၁။ မီဒီယာမ်ဳိးစုံမွာ သုံးလုိ.ရတယ္ (wire, wireless, MPLS, virtual circuit etc)
၂။ Routing Protocol မ်ဳိးစုံနဲ. တြဲသုံးလုိ. ရတယ္။ (e.g. BGP, OSPF, EIGRP, IS-IS, HSRP)။ BFD မရွိခင္က Routing Protocol မွာ ပါတဲ့ Hello Protocol ကုိသုံးရပါမယ္။
၃။ Bandwidth ကုိ ေခၽြတာလုိ.ရတယ္။ Router တစ္ခုက BGP, OSPF နဲ. HSRP တြဲျပီး အလုပ္လုပ္ေနတယ္ ဆုိပါစုိ.။ အဲဒီ Routing Protocol ၃ ခု က ေနျပီး Hello Packets ၃ မ်ဳိး ပုိ.လုိက္ ယူလုိက္ လုပ္ေနရပါလိမ္.မယ္။ BFD သုံးခဲ့လ်င္ Routing Protocol ဘယ္ႏွစ္ခုဘဲ သုံးထားထား Hello Packets ၁ မ်ဳိးထဲသာ လုိအပ္ပါမယ္။
အေသးစိ္တ္အခ်က္အလက္မ်ားကုိေတာ့ စာညႊန္းမွာ ဖတ္ၾကည့္ပါ။
စာညႊန္း -
၁။ Cisco.com မွာ ရွင္းျပထားတဲ့ BFD
၂။ IETF မွာ ေဆြးေႏြးထားတဲ့ BFD စာတန္းမ်ား
Sunday, April 27, 2008
Linux for Network Engineers
ifconfig
Linux ကြန္ပ်ဴတာမွာရွိတဲ့ Network Card ေတြရဲ. IP address, Subnet Mask ကုိ ၾကည့္ဖုိ.၊ ျပင္ဖုိ. သံုးပါတယ္။
ethtool
(e.g ethtool eth0) Linux ကြန္ပ်ဴတာမွာရွိတဲ့ Network Card ေတြရဲ. Speed, Duplex setting ကုိ ၾကည့္ဖုိ.၊ ျပင္ဖုိ. သံုးပါတယ္။
tcpdump
Linux ကြန္ပ်ဴတာမွာရွိတဲ့ Network Card ကုိ ျဖတ္သြားတဲ့ Packet ေတြကုိ ၾကည့္ဖုိ. သုံးပါတယ္။
netstat
ဒီ command ကုိအသုံးျပဳပုံ အမ်ဳိးမ်ဳိးရွိပါတယ္။
(netstat -nr) Default gateway ကုိ ၾကည့္ဖုိ.၊ Routing Table ကုိၾကည့္ဖုိ. သုံးပါတယ္။
(netstat -s) Linux ကြန္ပ်ဴတာက Packet ဘယ္ေလာက္ ပုိ.ထားတယ္၊ လက္ခံထားတယ္ အေရအတြက္ ကုိၾကည့္ဖုိ. သုံးပါတယ္။
(netstat -at) Linux ကြန္ပ်ဴတာမွာ ေလာေလာဆယ္ အလုပ္လုပ္ေနတဲ့ TCP Sockets ေတြကုိၾကည့္ဖုိ. သုံးပါတယ္။
(netstat -au) Linux ကြန္ပ်ဴတာမွာ ေလာေလာဆယ္ အလုပ္လုပ္ေနတဲ့ UDP Sockets ေတြကုိၾကည့္ဖုိ. သုံးပါတယ္။
(netstat -ng) Linux ကြန္ပ်ဴတာမွာ နားေထာင္ေနတဲ့ Multicast group ေတြကုိၾကည့္ဖုိ. သုံးပါတယ္။
DNS Configuration File
/etc/resolv.conf
Network Configuration Files
/etc/sysconfig/network-scripts/ifcfg-xxx - RedHat Linux အတြက္သာျဖစ္ပါတယ္။
ဥပမာ eth0 ရဲ. IP Address, Subnetmask, Gateway ကုိျပင္ခ်င္လ်င္ /etc/sysconfig/network-scripts/ifcfg-eth0 မွာျပင္ရပါမယ္။ ျပင္ျပီးလ်င္ "service network restart" command နဲ. network ကုိ ျပန္စလုိက္ရင္ IP Address ေျပာင္းျပီးသြား ျဖစ္သြားပါမယ္။
Loading Network Driver Files
Linux ကုိ သိပ္မကြ်မ္းက်င္ေသးဘဲ ဒီ command ေတြကုိ စမ္းၾကည့္လုိ. အခန္.မသင့္လ်င္ ျပသနာမ်ဳိးစုံၾကဳံေတြ.ႏုိင္ပါတယ္။
lsmod - ကြန္ပ်ဴတာထဲမွာ ရွိတဲ့ module ေတြ အားလုံးကုိ ၾကည့္ႏုိင္ပါတယ္။ lsmod = List Module
modinfo - module တစ္ခုရဲ. အေသးစိတ္ အခ်က္အလက္ေတြကုိ ေလ့လာႏုိင္ပါတယ္။
modprobe - module တစ္ခုကုိ ထပ္ထည့္လ်င္ သုံးပါတယ္။
insmod - module တစ္ခုကုိ ထပ္ထည့္လ်င္ သုံးပါတယ္။
rmmod - module တစ္ခုကုိ ကြန္ပ်ဴတာက ဖယ္ထုတ္ခ်င္လ်င္ သံုးပါတယ္။
** modprobe နဲ. insmod တို. အလုပ္လုပ္ပုံ.ခ်င္း ဆင္ပါတယ္။ modeproble က အသစ္ထည့္ခ်င္တဲ့ module က အျခား module တစ္ခု လုိအယ္ေနရင္ အလုိေလ်ာက္ ထည့္ေပးသြားပါတယ္။ insmod နဲ.ဆုိရင္ module ကို ထည့္မေပးဘဲ error message ေပၚလာပါမယ္။
- မၾကာခင္ command ေတြ ထပ္ျပီး ျဖည့္ သြားပါမယ္။
Subscribe to:
Posts (Atom)
