Saturday, August 9, 2008

Latency (3)



၄၊ Processing/Forwarding Delay (Packet တစ္ခု Router သုိ႔မဟုတ္ Switch အထဲမွာ "ၾကာတဲ့အခ်ိန္")

Packet တစ္ခု Switch တစ္ခု ထဲကုိ၀င္လာျပီးရင္ ဘယ္အဆင့္ေတြကုိ ျဖတ္သန္းသြားရမလဲ ?
Packet တစ္ခု Router တစ္ခု ထဲကုိ၀င္လာျပီးရင္ ဘယ္အဆင့္ေတြကုိ ျဖတ္သန္းသြားရမလဲ ?

အလုပ္အင္တာဗ်ဴးမွာ အလြန္ေမးလုိ႔ေကာင္းတဲ့ေမးခြန္း ၂ ခုျဖစ္ပါတယ္။

Switch အလုပ္လုပ္ပုံ အေျခခံ
၁၊ ေရာက္လာတဲ့ Frame ရဲ့ CRC (FCS) တန္ဖုိးကုိ တြက္ခ်က္စစ္ေဆးတယ္။ တန္ဖုိး မကုိက္ဖူး၊ မွားေနတယ္ဆုိရင္ Frame ကုိ လက္မခံဘဲ ဖ်က္ျပစ္လုိက္တယ္။
၂၊ CRC (FCS) တန္ဖုိး မွန္တယ္ဆုိရင္ Frame ရဲ့ Destination Address ကုိဖတ္ျပီး၊ Switch ရဲ့ Mac-address-table ထဲမွာ အဲဒီ destination address ကုိလုိက္ရွာပါတယ္။ Mac-address table ကုိ CAM Table - Content Addressable Memory Table လုိ႔လဲေခၚပါတယ္။ CAM Table ဆုိတာကေတာ့ ဘယ္ MAC Address က ၊ Switch ရဲ့ ဘယ္အေပါက္ (port) မွာ ရွိတယ္ဆုိတာကုိ မွတ္ထားတဲ့ ဇယားျဖစ္ပါတယ္။ တနည္းေျပာရင္ ဘယ္ကြန္ပ်ဴတာက Switch ရဲ့ ဘယ္အေပါက္မွာ ခ်ိတ္ထားတယ္ဆုိတာကုိ မွတ္ထားတဲ့ ဇယားျဖစ္ပါတယ္။
၃၊ CAM Table ထဲမွာ Destination address ကုိ ရွာလုိ႔ေတြ႔ရင္၊ အဲဒီ MAC address နဲ႔ သက္ဆုိင္တဲ့ အေပါက္ကေန Frame ကုိ ထုတ္လႊတ္ ေပးလုိက္ပါတယ္။
၄၊ CAM Table ထဲမွာ Destination address ကုိ ရွာလုိ႔မေတြ႔ရင္၊ Frame ကုိ လက္ခံရတဲ့အေပါက္ကလြဲလုိ႔၊ အေပါက္တုိင္းကုိ ထုတ္လႊတ္ ေပးလုိက္ပါတယ္။
(CRC = Cyclic Redundancy Check)
(FCS = Frame Check Sequence)

Switch ကုိေျပာတဲ့အခါမွာ Packet အစား၊ Frame လုိ႔သုံးတာ သတိျပဳပါ။ OSI ခုႏွစ္လႊာ အလုိအရ Layer 2 က unit က Frame ျဖစ္ျပီးေတာ့၊ Layer 3 က unit က Packet ျဖစ္ပါတယ္။

Switch ေတြ ဘယ္ေလာက္ ျမန္ျမန္နဲ႔ Frame ကုိ ပုံေပးႏုိင္သလဲဆုိတာ ဇယားထဲမွာ ဘယ္ေလာက္ျမန္ျမန္ရွာႏိုင္သလဲ၊ Frame ကုိ ဘယ္အခ်ိန္မွာ စတင္ ထုတ္လႊတ္မလဲ ဆုိတဲ့ အခ်က္ေတြေပၚမွာ မူတည္ပါတယ္။

ဇယားထဲမွာ ဘယ္ေလာက္ျမန္ျမန္ရွာႏုိင္သလဲဆုိတာ ကေတာ့ ဇယားအရြယ္အစားဘယ္ေလာက္ၾကီးသလဲ (ကြန္ပ်ဴတာေတြ ဘယ္ေလာက္မ်ားမ်ား Switch မွာ လာခ်ိတ္ထားသလဲ)၊ Switch ရဲ့memory တုိ႔၊ CPU တုိ႔က ဘယ္ေလာက္ျမန္ျမန္ အလုပ္လုပ္ႏုိင္သလဲဆုိတာေပၚမွာ တည္ပါတယ္။

Frame ကုိ ဘယ္အခ်ိန္မွာ ထုတ္လႊတ္မလဲဆုိတာကေတာ့ Switch က အသုံးျပဳတဲ့နည္းလမ္း (switching method) နဲ႔ဆုိင္ပါတယ္။
၁၊ cut-through switching - Switch က အ၀င္ေပါက္မွာ destination address ကုိ လက္ခံရရွိျပီဆုိတာနဲ႔ ဇယားမွာရွာျပီး အထြက္ေပါက္ကုိ ပုိ႔ေပးတဲ့ နည္းလမ္းျဖစ္ပါတယ္။ ေကာင္းက်ဳိးကေတာ့ အရမ္းျမန္တာေပါ့၊ ဆုိးက်ဳိးကေတာ့ Frame က လမ္းမွာ အမွား တစ္ခုခုျဖစ္ခဲ့တယ္ဆုိတာကုိ switch က မစစ္ေဆးေတာ့တဲ့အတြက္ ပ်က္စီးေနတဲ့ frame ကုိ ခ်ိတ္ထားတဲ့ကြန္ပ်ဴတာေတြ ရသြားႏုိင္ပါတယ္။ အထက္မွာေရးခဲ့တဲ့ အဆင့္ေတြထဲက အဆင့္ (၁) CRC (FCS) စစ္ေဆးတဲ့အဆင့္ကုိ မလုပ္တဲ့ နည္းလမ္းျဖစ္ပါတယ္။
၂၊ fragment free switching - switch က frame ရဲ့ ပထမ ၆၄ bytes ကုိ လက္ခံရရွိတဲ့အခ်ိန္အထိေစာင့္ျပီးမွ ဇယားမွာရွာျပီး အထြက္ေပါက္ကုိပုိ႔ေပးပါတယ္။
Frame တစ္ခုရဲ့အရြယ္က ၆၄ bytes ထက္ ငယ္တယ္ဆုိရင္ Runt (အေသးေလး) လုိ႔ေခၚပါတယ္။ IEEE Ethernet Standard မွာ Frame တစ္ခုရဲ့အရြယ္ဟာ အနည္းဆုံး ၆၄ bytes ရွိရမယ္လုိ႔ သတ္မွတ္ထားပါတယ္။ Runt Frame ျဖစ္ရတဲ့ အဓိက အေၾကာင္းကေတာ့ ကြန္ပ်ဴတာ ႏွစ္လုံးက Frame ကုိ တစ္ျပဳိင္ထဲ ပုိ႔လုိက္ၾကလုိ႔ လမ္းခုလပ္မွာ Frame ေတြ အခ်င္းခ်င္း တုိက္မိၾကရင္း (collision) ျဖစ္တာပါ။ ေကာင္းက်ဳိးကေတာ့ cut-through switching ေလာက္နီးနီးျမန္ျပီး၊ Runts (အေသးေလး) ေတြ မဟုတ္တာ ေသခ်ာေအာင္ စစ္ျပီးသြားျဖစ္သြားပါတယ္။ ဆုိးက်ဳိးကေတာ့ cut-through switching လုိဘဲ CRC (FCS) စစ္ေဆးတဲ့အဆင့္မရွိတာေပါ့။
၃၊ store and forward switching - switch က frame တစ္ခုလုံးကုိ အ၀င္ေပါက္ကလက္ခံ၊ CRC (FCS) တန္ဖုိးကုိတြက္ခ်က္စစ္ေဆး ျပီးေတာ့မွ ဇယားထဲမွာရွာၾကည့္ျပီး အထြက္ေပါက္ကုိ ပု႔ိေပးပါတယ္။ အျခား switching နည္းလမ္းေတြနဲ႔ ယွဥ္ၾကည့္ရင္ေတာ့ ပုိေႏွးတာေပါ့။

ေနာက္ဆုံးေပၚ switch ေတြရဲ့ CPU ေတြက အရမ္းျမန္ေနျပီျဖစ္တာေၾကာင့္ store-and-forward switching နည္းလမ္းကုိဘဲ အျမဲတမ္း သုံးသင့္ပါတယ္။

Post a Comment