Wednesday, December 3, 2008

CEF ျပသနာ


ဒီျပသနာၾကဳံတာ ဒီလထဲမွာ အနည္းဆုံး ၃ ခါရွိျပီ။ Cisco layer-3 switch ေတြမွာ CEF နဲ႔ MLS ကုိသုံးရင္ (default is on) CEF ဇယား ၂ ခုေဆာက္ရတယ္။ တစ္ခုက Hardware table ျဖစ္ျပီး၊ တစ္ခုက Software table ျဖစ္ပါတယ္။ ဒီဇယားႏွစ္ခုက Packet တစ္ခု ဘယ္ကုိသြားခ်င္ရင္ ဘယ္ကတဆင့္သြားမယ္ဆုိတာ ဆုံးျဖတ္တာျဖစ္တယ္။ တနည္းေျပာရင္ Source နဲ႔ destination address ကုိသိရင္ next hop address ကုိဆုံးျဖတ္တာေပါ့။ အဲဒီ Hardware table နဲ႔ Software table သေဘာမတူၾကေတာ့အခါ ျပသနာ မ်ဳိးစံု တက္ေတာ့တာပါဘဲ။

ဒီဥပမာမွာ Source address (10.50.16.11) ကေန destination address (10.100.6.1) နဲ႔ (10.100.6.2) ကုိသြားတဲ့လမ္းေၾကာင္းကုိမွတ္ထားတဲ့ hardware table နဲ႔ software table သေဘာမတူျဖစ္ေနတာကုိ ေတြ႔ပါလိမ့္မယ္။

switch က Cisco 6500 Supervisor-720 ျဖစ္ပါတယ္။

့hardware cef entry ကုိၾကည့္ဖုိ႔ command - "show mls cef exact-route "
software cef entry ကုိၾကည့္ဖုိ႔ command - "show ip cef exact-route "

"show ip route" မွာေရာ၊ software cef table မွာပါ next-hop က 10.50.252.26 လုိ႔ေျပာျပီး - hardware cef table မွာေတာ့ 10.100.6.2 အတြက္ nexthop က 10.50.252.38 လုိ႔ ေျပာပါတယ္။ တကယ္တန္း packet က hardware cef table ကေျပာတဲ့ လမ္းေၾကာင္းအတုိင္းသြားပါတယ္။



lab-router#sh ip route 10.100.6.1
Routing entry for 10.100.6.0/24
Known via "bgp 65050", distance 200, metric 0
Tag 65005, type internal
Last update from 10.22.1.57 03:50:24 ago
Routing Descriptor Blocks:
* 10.22.1.57, from 10.50.252.26, 03:50:24 ago
Route metric is 0, traffic share count is 1
AS Hops 1
Route tag 65005

lab-router#sh ip route 10.100.6.2
Routing entry for 10.100.6.0/24
Known via "bgp 65050", distance 200, metric 0
Tag 65005, type internal
Last update from 10.22.1.57 03:50:26 ago
Routing Descriptor Blocks:
* 10.22.1.57, from 10.50.252.26, 03:50:26 ago
Route metric is 0, traffic share count is 1
AS Hops 1
Route tag 65005


lab-router#
lab-router#show ip cef exact-route 10.50.16.11 10.100.6.0
10.50.16.11 -> 10.100.6.1 : GigabitEthernet6/1 (next hop 10.50.252.26)
lab-router#show ip cef exact-route 10.50.16.11 10.100.6.1
10.50.16.11 -> 10.100.6.2 : GigabitEthernet6/1 (next hop 10.50.252.26)
lab-router#

lab-router#show mls cef exact-route 10.50.16.11 10.100.6.1
Interface: Gi6/25, Next Hop: 10.50.252.38, Vlan: 1020, Destination Mac:
0022.55e6.66d1
lab-router#show mls cef exact-route 10.50.16.11 10.100.6.2
Interface: Gi6/1, Next Hop: 10.50.252.26, Vlan: 1018, Destination Mac:
0022.55e6.67f1
lab-router#



ဒီျပသနာကုိ Cisco website မွာ ဒီမွာရွင္းျပထားေပမဲ့ ေရးထားကတလြဲျဖစ္ေနပါတယ္။
အမွန္ကေတာ့ ေအာက္ကစာပုိဒ္အတုိင္းျဖစ္သင့္တယ္လုိ႔ထင္ပါတယ္။ ေနာက္ဆုံးစာေၾကာင္းက မွားေနတာပါ။


Difference Between IP CEF and MLS CEF 

The output of show mls cef exact-route source-ip address dest-ip address and
show ip cef exact-route source-address dest-ip address is different because the
packets are software switched when IP CEF is used, and the packets are
hardware switched when MLS CEF is used. Because most of the packets are
hardware switched, the best command to view the next-hop to reach a destination
is show mls cef exact-route source-ip address dest-ip address .





Huck


ျပင္သစ္ဘုရင္လူ၀ီ ၁၆ ေခါင္းျဖတ္ခံရျပီး သူရဲ့သားအၾကီးဆုံးမင္းသားလဲ ဘုရင္ျဖစ္ရမဲ့အစား ေထာင္ထဲမွာ ပိတ္ထားခံရတဲ့အေၾကာင္း၊ တခ်ဳိ.ကေျပာၾကတာေတာ့ မင္းသားေထာင္ထဲမွာ ေသသြားတဲ့အေၾကာင္း ကၽြန္ေတာ္က လူမဲ ဂ်င္ကုိ ေျပာျပပါတယ္။

လူမဲ ဂ်င္ - "သနားစရာဘဲ"
ဟတ္က္ဘယ္ရီ - "ဒါေပမယ့္ တခ်ဳိ.ကေျပာၾကတာက ေထာင္ကလြတ္ျပီး အေမရိကကုိ ေရာက္လာသတဲ့"

လူမဲ ဂ်င္ - "ဒါဆုိေကာင္းတာေပါ့! ဒါနဲ႔ သူတစ္ေယာက္ထဲျဖစ္ေနမွာေပါ့ - ဒီမွာ ဘုရင္ဆုိတာမွ မရွိတာ၊ မဟုတ္ဘူးလား ?"
ဟတ္က္ဘယ္ရီ - "မရွိဘူး"

လူမဲ ဂ်င္ - "ဒါဆုိ ဘယ္အဆင္ေျပမလဲ၊ သူဘယ္ေရာက္သြားလဲ?"
ဟတ္က္ဘယ္ရီ - "မေျပာတတ္ဘူး။ တခ်ဳိ.ကေျပာတာေတာ့ ရဲအဖမ္းခံလုိက္ရတယ္တဲ့၊ တခ်ဳိ.ကလဲ ဒီကလူေတြကို ျပင္သစ္စကားေျပာတာ နားလည္ေအာင္ သင္ေပးတယ္ တယ္တဲ့။"

လူမဲ ဂ်င္ - "ဘာေၾကာင့္လဲ ဟတ္က္? ျပင္သစ္လူမ်ဳိးေတြ ငါတုိ႔လုိ စကားမေျပာၾကလုိ႔လား?"
ဟတ္က္ဘယ္ရီ - "ဘယ္ေျပာမလဲ ဂ်င္ - မင္းဆုိလည္းသူတုိ႔ေျပာတာနားလည္မွာ မဟုတ္ဘူး။ စကားလုံးတစ္လုံးေလးမွ နားလည္မွာ မဟုတ္ဘူး"

လူမဲ ဂ်င္ - "ဒါဆုိရင္ေတာ့ ငါေတာ္ေတာ္အျမင္ကတ္မွာဘဲ။ ဘာေၾကာင့္ ဒီလုိျဖစ္ရတာလဲ။"
ဟတ္က္ဘယ္ရီ - "ငါလဲ မေျပာတတ္ဘူး။ ဒါေပမယ္ အဲလုိျဖစ္ေနတာေတာ့ ေသခ်ာတယ္။ သူတုိ႔ေျပာတဲ့စကားနည္းနည္း စာအုပ္တစ္အုပ္ထဲမွာ ဖတ္ဖူးတယ္။ ဆုိပါစုိ႔ တစ္ေယာက္ကလာျပီး Polly-voo-franzy လုိ႔ေျပာရင္ မင္းဘာလုိ႔ထင္မလဲ"

လူမဲ ဂ်င္ - "ငါ ကေတာ့ဘာမွထင္မွာမဟုတ္ဘူး။ ေခၚတဲ့ေကာင္ရဲ့ ေခါင္းကုိသာ ရုိက္ခြဲျပစ္လုိက္မယ္။ အဲဒီေကာင္က လူျဖဴမဟုတ္ဘူး ဆုိရင္ေပါ့။ ဘယ္လူမဲကမွ ငါ့ကုိ အဲဒီလုိ ေခၚတာ မခံႏုိင္ဘူး။"
ဟတ္က္ဘယ္ရီ - "ခ်ီးမွဘဲ၊ မင္းကုိ ဘယ္လုိမွေခၚတာမဟုတ္ဘူး။ မင္း ျပင္သစ္စကားေျပာတတ္သလားလုိ႔ေမးတာ။"

လူမဲ ဂ်င္ - "ဒါဆုိလဲ ဘာေၾကာင့္ အဲလုိ မေမးသလဲ?"
ဟတ္က္ဘယ္ရီ - "သူက အဲလုိေမးေနတာဘဲ။ ျပင္သစ္လူမ်ဳိးေမးတဲ့ နည္းနဲ႔ေမးေနတာ။"

လူမဲ ဂ်င္ - "ဟင္း - ေတာ္ေတာ္ရီစရာေကာင္းတဲ့နည္းဘဲ။ ေတာ္ျပီ ငါဒီအေၾကာင္းထပ္မၾကားခ်င္ေတာ့ဘူး။ အဓိပၸါယ္ကုိ မရွိဘူး"
ဟတ္က္ဘယ္ရီ - "ဂ်င္ ဒီမွာၾကည့္၊ ေၾကာင္ေတြ ငါတုိ႔စကားေျပာသလုိ ေျပာလား?"

လူမဲ ဂ်င္ - "ဟင့္အင္း၊ ေၾကာင္ေတြက ဘယ္ေျပာလိမ့္မလဲ"
ဟတ္က္ဘယ္ရီ - "ႏြားဆုိရင္ေကာ ?"
လူမဲ ဂ်င္ - "ဟင့္အင္း၊ ႏြားလည္းတူတူဘဲ ဘယ္ေျပာလိမ့္မလဲ"
ဟတ္က္ဘယ္ရီ - "ႏြားကေရာေၾကာင္လုိစကားေျပာသလား၊ ဒါမမဟုတ္ ေၾကာင္ကေရာ ႏြားလုိစကားေျပာသလား?"
လူမဲ ဂ်င္ - "ဟင့္အင္း၊ ဘယ္ေျပာလိမ့္မလဲ"
ဟတ္က္ဘယ္ရီ - "သူတုိ႔ဘာသာ စကားတစ္မ်ဳိးဆီေျပာၾကတယ္ဆုိတာ သဘာ၀က်တယ္၊ မဟုတ္ဘူးလား?"
လူမဲ ဂ်င္ - "ဟုတ္တာေပါ့"
ဟတ္က္ဘယ္ရီ - "ေကာင္းျပီ၊ ဒါဆုိ ျပင္သစ္လူမ်ဳိးက ငါတုိ႔နဲ႔မတူတဲ့ စကားေျပာတာသဘာ၀ မက်ဘူးလား? ေျဖပါအုံး"

လူမဲ ဂ်င္ - "ေၾကာင္ကလူလား - ဟတ္က္?"
ဟတ္က္ဘယ္ရီ - "မဟုတ္ဘူး"

လူမဲ ဂ်င္ - "ဒါဆုိ ေၾကာင္တစ္ေကာင္က လူလုိစကားေျပာဖုိ႔ဆုိတာ အဓိပၸါယ္မရွိဘူး။ ႏြားကေရာ လူလား? - ႏြားကေရာ ေၾကာင္လား?"
ဟတ္က္ဘယ္ရီ - "တစ္ခုမွ မဟုတ္ဘူး"

လူမဲ ဂ်င္ - "ေကာင္းျပီ။ ဒါဆုိ ေၾကာင္ေရာ ႏြားပါ သူတုိ႔နဲ႔မဆုိင္တဲ့စကားေျပာစရာအေၾကာင္းကုိမရွိဘူး။ ျပင္သစ္လူမ်ဳိးဆုိတာ လူမဟုတ္ဘူးလား?"
လူမဲ ဂ်င္ - "ဟုတ္တယ္"

လူမဲ ဂ်င္ - "ေကာင္းျပီ! ဒါဆုိဘာေၾကာင့္သူက လူလုိစကားမေျပာရတာလဲ? မင္းဒီေမးခြန္းကုိေျဖပါအုံး"

ဒီလူမဲ အျငင္းအခုံလုပ္ဖုိ႔ဆုိတာ တတ္မွာလဲမဟုတ္ဘူး - ေလကုန္တာသာအဖတ္တင္တယ္။ ဒါနဲ႔ ငါလည္းစကားဆက္မေျပာေတာ့ဘူး။

Mark Twain ရဲ့ "Adventures of Huckleberry Finn" စာအုပ္မွျဖစ္ပါတယ္။
Huck က ၁၃ ႏွစ္သားအရြယ္ျဖစ္ျပီး အိမ္ကေနထြက္ေျပးခါ ေဖါင္တစီးေပၚမာ လူမဲ Jim နဲ႔ ခရီးသြားတဲ့ဇာတ္လမ္းျဖစ္ပါတယ္။ Huck က ျပန္ေျပာတဲ့အေနနဲ႔ ေရးထားတာျဖစ္ပါတယ္။

Monday, December 1, 2008

Networker တစ္ေယာက္ရဲ့ စာအုပ္စင္ (၁)


ဖတ္ခဲ့ဘူးတဲ့၊ ဖတ္ေနရဆဲျဖစ္တဲ့ စာအုပ္ေတြထဲက ေကာင္းႏုိးရာရာေတြကုိ ေရးသြားပါမယ္။

စာအုပ္အမည္ - Internetworking with TCP/IP Vol1 (Principles, Protocols and Architecture)
စာေရးသူ - Douglas E Comer
ISBN-13 - 978-0131876712 (5th Edition)

၁၉၉၆ ခုႏွစ္ က ICST မွာ ေလ့လာခဲ့ရတဲ့ TCP/IP နဲ႔ဆုိင္တဲ့ပထမဦးဆုံးစာအုပ္ျဖစ္ပါတယ္။ ေနာက္ဆုံးထြက္တာကေတာ့ ၂၀၀၅ ခုႏွစ္ထုတ္ 5th Edition ျဖစ္ပါတယ္။ ႏိုင္ငံတကာက တကၠသုိလ္ေတာ္ေတာ္မ်ားမ်ားမွာ သင္ရုိးစာအုပ္အေနနဲ႔ သုံးစြဲတယ္လုိ႔သိရပါတယ္။ ကၽြန္ေတာ္သင္ခဲ့ရတာကေတာ့ 2nd Edition ျဖစ္ပါတယ္။ ၁၀ ႏွစ္ေက်ာ္ၾကာခဲ့ေပမဲ့ အခုအခ်ိန္အထိ ကၽြန္ေတာ့ဆီမွာ 3rd Edition စာအုပ္တစ္အုပ္ရွိပါတယ္။ ကၽြန္ေတာ္ညြန္းတဲ့ Chapter ေတြက 3rd Edition ကျဖစ္တဲ့အတြက္ေၾကာင့္ 5th Edition နဲ႔ ေတာ္ေတာ္မ်ားမ်ားကြဲျပားႏုိင္ပါတယ္။

ဒီစာအုပ္က ၃ အုပ္တြဲရဲ့ ပထမစာအုပ္ျဖစ္ပါတယ္။
ဒုတိယစာအုပ္ (Vol 2) ကေတာ့ TCP/IP ကုိ အစအဆုံးျပန္ေရးလုိသူေတြအတြက္ ရည္ရြယ္ပါတယ္။ TCP/IP မွာပါတဲ့ Data Structure ေတြ၊ Algorithm ေတြကုိ ANSI C နဲ႔ရွင္းျပထားပါတယ္။ (ဒီစာအုပ္ကုိ တ၀က္တပ်က္သာဖတ္ဖူးပါတယ္။)
တတိယစာအုပ္ (Vol 3) ကေတာ့ TCP/IP ကုိသုံးျပီး Client/Server application ေရးလုိသူမ်ားအတြက္ ရည္ရြယ္ပါတယ္။ Linux နဲ႔ POSIX Socket ေတြကုိ သုံးျပီးရွင္းျပထားပါတယ္။ (ဒီစာအုပ္ကုိ တ၀က္တပ်က္သာဖတ္ဖူးပါတယ္။)

အဓိကေဆြးေႏြးသြားမွာကေတာ့ Vol1 ျဖစ္ပါတယ္။ ဒီစာအုပ္က သီအုိရီကုိ ပုိျပီးအေလးထားတဲ့စာအုပ္ျဖစ္ပါတယ္။ ဥပမာ ARP (Address Resolution Protocol) ကုိ
PA = f (IA)
လုိ႔ ရွင္းျပတဲ့ထားပါတယ္။ (3rd Edition, Page 75)

Chapter ၁၊ ၂၊ ၃၊ ၁၁၊ ၁၉ နဲ႔ ၂၇ တုိ႔က Protocol နဲ႔ Protocol Layering နဲ႔ပတ္သက္တဲ့ အေျခခံအခ်က္အလက္ေတြကုိရွင္းျပထားပါတယ္။ (အၾကိမ္ၾကိမ္ ျပန္ဖတ္ဖုိ႔လုိပါတယ္။)

Chapter ၄ ကေန ၁၀ အထိက IP (Internet Protocol) အေၾကာင္းကုိ အေသးစိတ္ရွင္းျပထားပါတယ္။ ဒီလုိရွင္းျပတဲ့ေနရာမွာ လက္ေတြ႔မွာ ဘယ္လုိအသုံးျပဳရမယ္ဆုိတဲ့ ဥပမာေတြေပးမထားပါဘူး။ စာဖတ္သူေတြအေနနဲ႔ ေန႔စဥ္အသုံးျပဳတဲ့ Operating System ေတြမွာ ဘယ္လုိအလုပ္လုပ္တယ္ဆုိတာ ႏွုိင္းယွဥ္ေလ့လာဖုိ႔လုိပါလိမ့္မယ္။ ဆုိပါစုိ႔ Chapter ၉ က ICMP အေၾကာင္းကုိေျပာတဲ့အခါ OS ေတြမွာပါတဲ့ ping ဘယ္လုိအလုပ္လုပ္တယ္ဆုိတာ နားလည္ေအာင္ေလ့လာရင္ပုိျပည့္စုံပါလိမ့္မယ္။ (အၾကိမ္ၾကိမ္ ျပန္ဖတ္ဖုိ႔လုိပါတယ္။)

Chaper ၁၂ က UDP အေၾကာင္း ျဖစ္ျပီး (တစ္ေခါက္ေတာ့ အနည္းဆုံးဖတ္ၾကည့္ပါ၊ ဒိထက္ေကာင္းတဲ့ စာအုပ္အခ်ဳိ.ရွိပါတယ္။)

Chapter ၁၃ က TCP အေၾကာင္းျဖစ္ပါတယ္။ ကၽြန္ေတာ့အလုိအရေတာ့ TCP ကုိဒီထက္ပုိျပီး က်ယ္က်ယ္ျပန္႔ျပန္႔ေရးထားရင္ ပုိျပည့္စုံမယ္လုိ႔ထင္ပါတယ္။ (တစ္ေခါက္ေတာ့ အနည္းဆုံးဖတ္ၾကည့္ပါ၊ ဒိထက္ေကာင္းတဲ့ စာအုပ္အခ်ဳိ.ရွိပါတယ္။)

Chapter ၈၊ ၁၄၊ ၁၅၊ ၁၆ ကေတာ့ IP Routing နဲ႔ Routing Protocol ေတြကုိရွင္းျပထားပါတယ္။ (တစ္ေခါက္ေတာ့ အနည္းဆုံးဖတ္ၾကည့္ပါ၊ ဒိထက္ေကာင္းတဲ့ စာအုပ္ေတြအမ်ားၾကီးရွိပါတယ္။)

Chapter ၂၀ - TCP/IP Network ကုိ Application ေတြက ဘယ္လုိစကားေျပာတယ္ဆုိတာကုိရွင္းျပထားပါတယ္။ Socket Programming နဲ႔ပတ္သက္တဲ့ အေၾကာင္းအရာေတြျဖစ္ပါတယ္။ (နားလည္ေအာင္ဖတ္ၾကည့္ပါ၊ ဒိထက္ေကာင္းတဲ့ စာအုပ္အခ်ဳိ.ရွိပါတယ္။)

က်န္တဲ့ Chapter ေတြကေတာ့ Application Layer Protocols ေတြကုိရွင္းျပထားတာပါ။ (အခ်ိန္ရွိရင္ဖတ္ၾကည့္ပါ၊ ဒိထက္ေကာင္းတဲ့ စာအုပ္ေတြအမ်ားၾကီးရွိပါတယ္။)

ကၽြန္ေတာ္ အၾကံေပးလုိတာကေတာ့ ဒီစာအုပ္ရဲ့ ပထမ Chapter ၂၀ ကုိ အခ်ိန္ေပးျပီးနားလည္ေအာင္ဖတ္ၾကည့္ပါ။ ေက်ာင္းတက္ေနဆဲသူေတြ ဆုိရင္ Vol 2 ကုိပါ အခ်ိန္ရရင္ ဖတ္ၾကည့္ပါ။ Socket Programming ကုိဖတ္ရတာ နားမလည္ရင္ ဒီ tutorial နဲ႔တြဲျပီးဖတ္ပါ။
CCNA ေျဖဖုိ႔ျပင္ေနၾကသူမ်ားလည္း Vol 1 ကုိ အခ်ိန္ေပးျပီးဖတ္ၾကည့္ပါ။ ေနာင္မၾကာခင္မွာ ေသခ်ာေပါက္အသံုး၀င္ပါလိမ့္မယ္။


5th Edition စာအုပ္ မ်က္ႏွာဖုံး (http://www.bn.com မွ)