Wednesday 21 December 2016

Failure Detection ရဲ့ အရေးပါမှုနှင့် BFD

Failure Detection ဟာ Network တခုအတွက် ဘယ်လောက် အရေးပါလည်း ဆိုတာနဲ့ Bidirectional Forwarding Detection (BFD) ဆိုတာ ဘာလဲ။ ဘယ်လို အခြေအနေမျိုးမှာ ဘာကြောင့် သုံးကြ တယ်ဆိုတာ လေ့လာ ကြည့်ရအောင်။ ကိုယ်တာဝန်ယူထားရတဲ့ Network တခုမှာ တခုခုပြဿနာဖြစ်ပီ ဆိုရင် ဘယ် နေရာမှာ ဘာဖြစ်နေတယ်ဆိုတာကို အရင်ဆုံးသိဖို့က အရေးကြီးပါတယ်။ ဒါမှသာ ဘာဆက်လုပ်သင့်တယ်၊ ဘယ်နေရာတွေ ပြင်ရမယ်ဆိုတာ သိမှာပါ။ ဘယ်နေရာက ဘာဖြစ်နေမှန်းမသိဘူးဆိုရင် ဖြေရှင်းဖို့မလွယ်ကူသလို၊ ဖြေရှင်းရမဲ့ အချိန်ကိုပါ ကြာမြင့်စေပါတယ်။ တနည်းအားဖြင့်ပြောရရင် ပြတ်တောက်ချိန် Outage ကိုကြာမြင့်စေတဲ့အတွက် မလိုလားအပ်တဲ့ ကိစ္စတွေ ပေါ်ပေါက်နိုင်စေပါတယ်။

ဒီနေရာမှာ အချက် ၂ ချက်က အရေးကြီးပါတယ်။ ပထမတခုက Failure detection နဲ့ ဒုတိယတခုက Time ပါ။ ပထမ အချက်က အဓိကပေမဲ့ အချိန်ကလဲ အရေးကြီးပါတယ်။ ကိုယ်ရဲ့ Network နဲ့ SLA အပေါ်မူတည်ပါတယ်။ Failure Detection အတွက် NMS တွေ၊ Devices' syslog တွေ၊ traps တွေတခြားလိုအပ်တဲ့ အချက်အလက် တွေနဲ့ Admin တယောက်အတွက် မြင်သာအောင် စီစဉ်ထားရပါတယ်။ အဲဒါတွေကလည်း ကိုယ်အသုံးပြုနေတဲ့ Device/Link/Protocols တွေရဲ့ သဘာဝအပေါ်မူတည်ပါတယ်။ သူတို့က ပေးပို့တာ နောက်ကျရင် NMS နဲ့ Syslog ကသိတာလည်း နောက်ကျပါတယ်။ Poll Method ဖြစ်ဖြစ်၊ Push Method ဖြစ်ဖြစ် အတူတူပါပဲ။

နောက်တခုက Network outage တွေမှာ ပြဿနာဖြစ်ရင် Admin/user fault ရယ်၊ Links/ Circuits outage က equipment/device failure ကပိုပါတယ်။ တော်ရုံ Device တွေဟာ Power ကြောင့်ကလွဲရင် hardwar ကြောင့်   ဖြစ်တာ နဲပါတယ်။ ဒီတော့ အများအားဖြင့် Link/Circuit တွေ၊ Configuration error တွေကိုအဓိက စောင့်ကြည့်ရတာများပါတယ်။ Link/Circuit တွေရဲ့ အခြေအနေကိုကြည့်ပြီး အပေါ်က Protocol တွေက Neighbor တွေဆောက် ၊ Routing တွေ ဖလှယ်ကြပါတယ်။ အဲဒီနေရာမှာ Protocol တွေရဲ့ Hello တို့ Hold time တို့က အဓိက အလုပ် လုပ်တယ်။ Protocol တခုနဲ့တခု၊ Link အမျိုးအစား တခုနဲ့တခု Hold time တွေမတူကြပါဘူး။ အဲဒီ Hello ပျောက်သွားပြီ Hold time ကျော်သွားပြီဆိုတော့မှ Neighbor ပျောက်ပီဆိုပြီးတော့ Failover ကိစ္စတွေ စလုပ်ပါတယ်။ အဲဒီ Hold time အတွင်းမှာ traffic တွေဟာ black hole အထဲကို ရောက်သွားပါတယ်။ ပြန်ကောင်းသွားလို့ပဲဖြစ်ဖြစ် Failover ကအလုပ်လုပ်သွားတာပဲ ဖြစ်ဖြစ် ရတော့မှ ပြန်အဆင်ပြေသွားပါတယ်။ ပြန်မကောင်းခင် အချိန်အတွင်းမှာ ဖြစ်သွားတာကတော့ Packet loss ပေါ့။ Convergence time နှေးလေ Outage ကြာချိန်များလေပါပဲ။

Failure detect ဖြစ်တယ် dynamic Failover အလုပ်လုပ်တယ်ဆိုရင် ပြည့်စုံပြီလို့ ဆိုလို့ရပေမယ့် အဲဒီ protocol တွေရဲ့ တမိနစ်လောက်ရှိတဲ့ hold time ကို မစောင့်နိုင်တဲ့ အခြေအနေတွေရှိပါတယ်။ နောက်တခါ multiple protocols တွေရှိနေတဲ့ အချိန်မျိုးမှာ Failure detection ကိုတတ်နိုင်သလောက် တူညီအောင် Circuit/Link တွေကို စောင့်ကြည့်မယ်ဆိုရင်တော့ protocol တခုစီရဲ့ hello နဲ့ hold time တွေကို လိုက်ညှိရပါလိမ့်မယ်။ OSPF fast hello မျိုးပေါ့။ ဒါပေမယ့် တကယ့်လက်တွေ့မှာ သိပ်မလွယ်ပါဘူး။ နောက်တခါ dynamic protocol မသုံးထားတဲ့လင့်မျိုးမှာ hello မရှိရင် Layer 2 ရဲ့ hardware alarm ကိုပဲအားထားရပါတယ် ဒါပေမဲ့ Ethernet လိုမျိုး interface အတွက် အဆင် မပြေပြန်ဘူး။ အထူး သဖြင့် Metro Ethernet Link တွေမှာ MUX/MC/Switch က ခံနေတဲ့ အတွက် interface down stage ကိုဘယ်တော့မှ မရောက်ပါဘူး။ Interface down မဖြစ်တဲ့အတွက် Failover ကလဲ အလုပ်မလုပ်ပါဘူး။

ဒီကိစ္စကိုဖြေရှင်းဖို့အတွက် IP LSA တို့ EEM တို့သုံးပြီး Failure detection ရအောင်လုပ်ကြပါတယ်။ Point to point link တွေအတွက်တော့ ပေါ့ပါးပီး မြန်ဆန်တဲ့ Bidirectional Forwarding Detection ခေါ် BFD ကိုလည်းသုံးကြပါတယ်။ BFD ရဲ့ timer ဟာ msec အထိဆင်းပြီး လုပ်ဆောင်နိုင်တဲ့အတွက် IGP hello တွေ လုပ်ဆောင်နိုင်တဲ့ အချိန်နဲ့ အများကြီး ကွာပါတယ်။ နောက် dynamic protocol မရှိတဲ့ နေရာမျိုးအတွက်လည်း overhead နဲနဲနဲ့ Failure detection ကို လုပ်ဆောင်ပေးပါတယ်။ Interface level နဲ့ routing protocols level မှာ အသုံးပြုရပါတယ်။ ဒါပေမဲ့ ကိုယ်အသုံးပြုနေတဲ့ IOS က support လုပ်ဖို့တော့လိုပါတယ်။

သူ့ရဲ့အလုပ်လုပ်ပုံကလည်း ရှင်းရှင်းလေးပါ။ Timer တွေပါတဲ့ BFD control packet ကို တဖက်ကနေ တဖက်ပို့ပေးရင်း Neighbor ရှိနေသေးလားကြည့်ပေးတာပါ။ packet ရောက်မလာရင် Down ပေါ့။ Operations mode အနေနဲ့ ၂ မျိုးရှိတယ်။ Asynchronous mode ရယ် Demand mode ရယ်။ Primary mode ဖြစ်တဲ့ Asynchronous mode က ၂ ဖက်စလုံးက peer တွေက control packet ကို ပုံမှန်ပေးပို့ပြီး စောင့်ကြည့်တယ်။ Demand mode ကတော့ neighbor ဖြစ်ပြီးသွားရင် ပုံမှန်မပို့ပဲ လိုအပ်တယ်လို့ထင်မှ ထပ်ပို့ကြတယ်။ သူတို့တွဲသုံးတဲ့ လုပ်ဆောင်ချက်တခုကတော့ Echo function လို့ခေါ်တယ်။ သူကတော့ ဒီဖက်ကပို့လိုက်တဲ့ Control packet က Loop ပေးသလိုမျိုး Echo ပြန်ရောက်လာတဲ့ ပုံစံမျိုး။ ဘယ် Mode ကိုသုံးရမလဲဆိုတာကတော့ ကိုယ့် Network အခြေအနေ ကိုယ်သုံးတဲ့ Device နဲ့ OS အပေါ်မှမူတည်ပါတယ်။ Aggressive detection အတွက်တော့ Asynchronous နဲ့ Echo သုံးကြပြီး Overhead လျော့ချင်ရင်တော့ Demand mode ကိုသုံးကြပါတယ်။

BFD ဟာ Failure Detection အတွက် အထောက်အကူပြုတဲ့ Protocol ဖြစ်ပါတယ် ဒါပေမဲ့ သေချာစဉ်းစားပြီး ကိုယ့် Network အတွက် တကယ်လိုအပ်မှသာ အသုံးပြုသင့်ပါတယ်။ Failure Detection ဟာ မြန်နိုင်သလောက်ကောင်းလေ ဆိုပေမယ့် တဖက်မှာတော့ Network stability ကိုလည်း ပြန်ကြည့် ရပါတယ်။ Convergence time ဟာ Protocol default setting တွေနဲ့လုံလောက်တယ်ဆိုရင်တော့ Network Stability အတွက်ပိုပြီး ဦးစားပေး စဉ်းစားသင့်ပါတယ်။ အခုလောက်ဆို Failure Detection ဟာ ဘယ်လောက်အရေးပါလည်းဆိုတာ ကိုသိလောက်ပါပြီ။ ဒါနဲ့အတူ BFD ဆိုတဲ့ Protocol အကြောင်းကိုပါ တီးမိခေါက်မိ ရှိလောက်ပြီလို့ထင်ပါတယ်။ BFD ရဲ့ အသေးစိတ်ကိုထပ်ဖတ်မယ်ဆိုရင်တော့ RFC 5880 မှာဖတ်ကြည့်ပါ။ Configuration အတွက်ကတော့ ကိုယ်သုံးတဲ့ Device နဲ့ OS ပေါ်မူတည်ပြီး Cisco Documentation မှာရှာကြည့်ပါ။

ကိုဖြိုး

No comments:

Post a Comment