Sunday, 26 July 2015

Null 0

Null ဆိုတာကို သင်္ချာသမားတွေ၊ ကွန်ပျူတာသမားတွေ ရင်းနှီးပီးသားပါ၊ ဘာမှမရှိတဲ့အရာတို့ သုညတို့ဆိုပီးသိထားကြပါတယ်။ Cisco Router တွေမှာလည်း Null 0 ဆိုတဲ့ Virtual Interface ရှိပါတယ်၊ OSPF တို့ EIGRP တို့ Routes Summary လုပ်တဲ့အခါ Null 0 Interface ကို သုံးထားတဲ့ Summary Route ထွက်လာပါတယ်။ Routing Loop တွေမဖြစ်အောင် ကာကွယ်တဲ့အနေနဲ့ အသုံးပြုတာပါ။ အဲဒီ Null 0 route ကို Discard Route/ Blackhole Route လို့လဲခေါ်ပါတယ်။ Blackhole ဆိုရင်လဲ ကြားဖူးကြမှာပါ၊ အဲဒီအထဲကို ဝင်သွားရင်ဘာမှပြန်မထွက်လာဘူး၊ ဘယ်မှရောက်သွားတာမတွေ့ရဘူးစသဖြင့် သိကြမှာပါ။ တလောက Malaysia Airline က လေယာဉ်တောင် မမြင်ရတဲ့ Blockhole ထဲရောက်သွားတယ်လို့ ဆိုတဲ့သူတွေရှိပါတယ်။ သူတို့ထင်တာလဲ ထင်စရာပဲ အခုချိန်ထိအစအနတောင် မတွေ့ရတော့တာ။ ဆိုချင်တာက IP routing မှာလည်း အလားတူပဲ Blackhole route ထဲရောက်သွားရင် အဲဒီ Traffic ဟာဘယ်ကိုမှမရောက်ေတော့ပဲ အဲဒီ Null 0 Interface မှာပဲ အဆုံးသတ်သွားပါတယ်။ ACL မှာသုံးတဲ့ အောက်ဆုံးကမမြင်ရတဲ့ Deny Statement လိုပါပဲ။

ဒါနဲ့ Routing Loop နဲ့ဘယ်လိုပက်သက်လဲလို့မေးစရာရှိပါတယ်။ တိုက်ရိုက်တော့မပက်သက်ဘူး ဒါပေမယ့် ဖြစ်လာနိုင်စရာရှိတဲ့အခြေအနေမျိုးမှာ ကာကွယ်ပေးနိုင်တယ်လို့ဆိုလို့ရပါတယ်။ နမူနာတခုလောက်နဲ့ ကြည့်လိုက်ရင် ရှင်းသွားပါလိမ့်မယ်။ Router တွေဟာ Dynamic routing သုံးတဲ့အခါမှာ သူတို့ရဲ့အောက်မှာရှိတဲ့ Network တွေကို တဖက်က Neighbor ဖြစ်တဲ့ Router တွေကို Dynamic Routing protocol တွေကနေ ဖလှယ်လေ့ရှိကြပါတယ်၊ ဒီနေရာမှာ Class တူ၊ အစဉ်လိုက်ရှိနေတဲ့ Routes တွေပါလာရင် Summary အနေနဲ့အကြီးဆုံး Network/ Subnet တခုကိုပဲ အစားထိုးအသုံးပြုလေ့ရှိပါတယ်။ Subnet အသေးလေးတွေပွထနေမယ့်အစား Routing table ထဲမှာ ရှင်းလင်းတဲ့ Summary route တခုပဲမြင်နိုင်တာပေါ့၊ ဥပမာ 192.168.1.0/24 2.0/24 3.0/24 စတဲ့ Class C Network တွေကို တဖက်ကို ပြောတဲ့အခါမှာတော့ ဒီဖက်မှာ 192.168.0.0/16 ရှိတယ်၊ အဲဒီကိုသွားချင်ရင် ဒီဖက်ကိုလာခဲ့လို့ ပြောလိုက်ယုံပဲ။ ဒီအချိန်မှာ EIGRP/OSPF တို့က Null 0 route ထုတ်ပေးပါလိမ့်မယ်၊ တကယ်လို့Null 0 route မရှိခဲ့ရင်တော့ Loop ဖြစ်နိုင်ခြေများသွားပီပေါ့။ တဖက်က Router က 192.168.100.1 ဆိုတဲ့နေရာကို သွားချင်လို့ ဒီဖက်ကို ပို့လိုက်ရော ဒါပေမယ့် အဲဒီ Network ကမရှိဘူး၊ ဘယ်သွားရမှန်းမသိတော့ Default route ကိုပို့လိုက်ရော၊ Default route ကသာ တဖက်က Router ကလာတာဆိုရင် Loop ဖြစ်ပီပေါ့။ ဒီတော့ အဲဒီလိုမဖြစ်အောင် Null 0 ထဲကိုပို့လိုက်ယုံပဲ။

မြင်သာအောင် ကိုယ်တိုင် LAB လုပ်ပီးစမ်းကြည့်နိုင်ပါတယ်။

ဒီLAB မှာ Router ၃လုံးသုံးထားပီး R1 ကနေ Summary Route ကိုEIGRP ကနေ ကြေညာထားပါတယ်။ R2 ကDefault route ကို R3 ကို Static Route သုံးထားပီး EGIRP ကနေ R1 ကိုပြန်ပေးထားပါတယ်။ R3 ကတော့ 192.168.0.0/16 ကိုလာချင်ရင် R2 ကနေသွားဖို့ Static route သုံးထားပါတယ်။ ဒါဟာမြင်တွေ့နေကြ Small office/Medium office တွေမှာအသုံးပြုတဲ့ပုံဖြစ်ပါတယ်။ R3 က Provider အနေနဲ့ရှိပီး R2 ကProvider ကိုချိတ်ဆက်တဲ့ Router ပါ။ R1 ကတော့အတွင်းက Network တွေကိုသွားတဲ့ Router ဆိုပါတော့။ R1 အောက်မှာ Subnet တွေများတဲ့အတွက် Summary ကြေညာလိုက်ပါတယ် ဒါပေမယ့် သူ့မှာ 192.168.1.0 ဆိုတဲ့ Network ကမရှိသေးဘူး။ အဲဒီအချိန်မှာ R3 က 192.168.1.1 ကိုလာတဲ့အခါမှာ အခုလိုအနေထားတွေ ကိုတွေ့ရမှာဖြစ်ပါတယ်။

Null 0 ရှိတဲ့အချိန်မှာ R1 ဟာ 192.168.1.0 ကိုတွေ့တဲ့အချိန်မှာ သူ့နေရာမှာပဲ ပွဲပြတ်သွားပါတယ်။ R3 ကနေကြည့်ရင် Traceroute ရပ်သွားတာကိုတွေ့ရမှာပါ။







Null 0 မရှိတဲ့အချိန်မှာတော့ R1 ဟာ R2 မှာများရှိနေမလားဆိုပီး Default route အားကိုးနဲ့ R2 ကိုပို့လိုက်ပါတယ်။ ဒါကို R2 ကတွေ့တော့ ဒီNetwork ဟာ R1 ရဲ့အောက်မှာရှိတာပဲဆိုပီး R1 ကိုပြန်ပို့လိုက်ပြန်ရော၊ ဒါနဲ့ပဲ R1 နဲ့ R2 ကြားမှာ ပြဿနာစတက်တော့ တာပဲ။ ဒါကိုတော့ R3 ရဲ့ Traceroute ကနေမြင်ရပါတယ်။ နောက်ဆုံး TTL ကျော်သွားမှပဲရပ်သွားပါတော့တယ်။










နောက်တခုအနေနဲကတော့ DDoS attack တွေ၊ P2P traffic တွေကြောင့် Network performance ကျလာပီ၊ Traffic congestion တွေဖြစ်လာပီဆိုရင် Static route ကို Null 0 နဲ့တွဲသုံးပီး အဲဒီ Traffic တွေကို ဖြတ်ချလိုက်လို့ရပါတယ်။ ဥပမာ အပြင်က IP တခုကို ကိုယ့်ရဲ့အတွင်းက Hosts/ nodes တွေက Traffic တွေအများကြီးပြန်ပို့နေပီ၊ အပြင်က IP တချို့က ကိုယ့်အတွင်းက Server တွေ၊ Hosts တွေကို Ping/ Scan တွေလုပ်ပီး တိုက်ခိုက်နေပီဆိုရင် Return Traffic အတွက် အပြန်လမ်းကြောင်းကို Null 0 ထဲထည့်ပီး ရပ်သွားအောင် လုပ်လို့ရပါတယ်။ ACL နဲ့လည်းလုပ်လို့ရပါတယ် ဒါပေမယ့် ACL process လုပ်ရတာဟာ Router ရဲ့ Resource ကိုပိုပီးသုံးရပါတယ်၊ Null 0 ဟာပေါ့ပါးပီး အမြန်အသုံးပြုလို့ရတဲ့အတွက်ပိုပီးအဆင်ပြေမယ်ထင်ပါတယ်။ အတော်များများဟာ အရေးပေါ်အချိန်မှာ အခုလိုနည်းကိုအသုံးပြုလေ့ရှိပါတယ်။ ဒါပေမယ့် သူရဲ့နောက်ဆက်တွဲ ပြဿနာတွေ ဖြစ်လာနိုင်ချေတွေကိုလည်း သိထားဖို့လိုပါတယ်။ အထူးသဖြင့် အပြင်နဲ့တိုက်ရိုက်ချိတ်ဆက်နေတဲ့ BGP Edge မှာ အဲဒီ Discard route တွေကိုမှားပီး Advertise မလုပ်မိဖို့လိုအပ်ပါတယ်။ 2008 က Pakistan ISP ကြောင့် ပြဿနာတက်ခဲ့ပါတယ်။


အဲဒီတုံးက Pakistan အစိုးရက Youtube Video တခုကို သူ့နိင်ငံကသူတွေမကြည့်စေချင်လို့ ISP ကိုပိတ်ခိုင်းပါတယ်၊ ISP က တခြားနည်းပညာသုံးရမဲ့အစား Discard Route အသုံးပြုခဲ့ပုံရပါတယ်၊ ဒါတင်မကပဲ အဲဒီ Discard route ကို Upstream ISP ကိုကြေညာလိုက်ပါတယ်။ သူရဲ့ Route ဟာ Specifc route ဖြစ်တဲ့အတွက် ISP တွေအချင်းချင်းမှာ ပြန့်သွားပီး နေရာအတော်များများကိုရောက်သွားပါတယ်။ ဒီတော့ Youtube ကြည့်တဲ့ Traffic တွေအားလုံးဟာ တကယ့် Youtube server တွေရှိတဲ့နေရာကိုသွားရမဲ့အစား Discard route ရှိတဲ့ Blackhole ထဲကို အကုန်ရောက်ကုန်ပါတယ်။ Pakistan ကသူတွေတင်မကပဲ ကမ္ဘာအနှံကလူတွေပါ Youtube ကြည့်မရတဲ့ ဘဝကိုရောက်သွားပါတယ်။ ၂ နာရီလောက် ပြတ်သွားတယ်လို့သိရပါတယ်။ အတော်စိတ်ဝင်စားဖို့ကောင်းပါတယ်၊ ဒီအောက်ကလင့်မှာဖတ်ကြည့်ပေါ့။ ပီးတော့ ISP တွေမှာလုပ်နေတဲ့ Network Engineer တွေရဲ့အရေးပါပုံကိုလည်း မြင်သာသွားတာပေါ့။ အဲဒီလိုနေရာတွေမှာ သေချာမတတ်ပဲနဲ့ဝင်လုပ်လို့မရပါဘူး။ နောက်ပြဿနာတွေကိုတော့ ဘယ်လိုရှင်းကြမလဲ မသိဘူး၊

http://www.cnet.com/news/how-pakistan-knocked-youtube-offline-and-how-to-make-sure-it-never-happens-again/

ဒီတော့ နားတာလဲနားကြတာပေါ့၊ ဒါပေမယ့် သေချာစဉ်းစားပီးမှ နားစေချင်ပါသည်။



ကိုဖြိုး

No comments:

Post a Comment