مرتضی امیدیان
متخصص DevOps -مدرس توسینسو - http://www.mOmidian.ir

پروتکل BFD چیست؟ بررسی Bidirectional Forwarding Detection

Bidirectional Forwarding Detection یا BFD چیست؟ توی این آموزش کوتاه میخوام یه معرفی مختصر از پروتکل BFD داشته باشم.برای معرفی این پروتکل از یک مثال ساده استفاده می کنیم:توی تصویر زیر دو روتر با R1 و R2 با استفاده از یک سوییچ به صورت لایه 2 به هم متصل شدند که این روتر ها با پروتکل EIGRP همسایگی تشکیل دادند.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
وب سایت توسینسو

حالا سوالی که مطرح می شه اینه که اگر اینترفیس فیزیکی لایه 2 ای بین این دو روتر Down بشه چه اتفاقی می افته؟ خوب اول از همه روتر R2 همسایگی بین دو روتر رو قطع می کنه:

وب سایت توسینسو

خوب حالا چه اتفاقی برای R1 میافته؟؟؟!!! خوب این روتر نادون، ارتباط فیزیکی و لایه یکیش که هنوز برقراره و از سر نادونی و سر به هواییش از اتفاقی که بین روتر 2 و سوییچ افتاده هم خبری نداره بنده خدا. پس روتر 1 همسایگی EIGRP خودشو تا زمانی که hello ای از روتر مقابل دریافت نکند و Hello Dead time تموم بشه حفظ میکنه این یعنی چی؟؟ یعنی اینکه توی مدتی که زمان هنوز تموم نشده روتر خنگ ما هنوز ترافیک EIGRP را به سمت سوییچ ارسال میکنه.راهکاری که میشه برای تشخیص سریع تر این مشکل توی روتر 1 استفاده کرد چیه؟! خوب ما میتونیم زمان ارسال بسته های hello را کاهش بدیم ولی این زمان بسته به سخت افزار و پروتکل میسریابی و غیره محدود میشه، پس بریم سراغ پروتکل BFD:

پروتکل BFD:

BFD یک پروتکل hello سادست که از جهات بسیاری شبیه به راه کارهای تشخیص، توی پروتکل های مسیریابی شناخته شده می باشن ایشون.نتایج و فایده های زیادی در استفاده از این پروتکل در مقابل کاهش Hello dead time و Hello time وجود داره:

  • این پروتکل توانایی تشخیص خطا را در شبکه در کمتر از یک ثانیه داراست در صورتی که کم کردن زمان ارسال Hello توی پروتکل ها رو حداقل به یک تا دو ثانیه می شه رسوند.
  • به دلیل اینکه این پروتکل وابسته به یک پروتکل روتینگ خاص نیست میتونیم از اون توی پروتکل های مختلف مسیریابی مثل OSPF،EIGRP و ... استفاده کنیم.
  • این پروتکل از میزان مصرف پردازنده کمتری در مقابل تایمر Hello در پروتکل های مسیر یابی داره و اونم به این دلیله که بعضی از قسمت های این پروتکل رو می شه توی Data plan قرار داد در صورتی که پروتکل های مسیر یابی کلا توی Control plan قرار دارند.

پیاده سازی ساده پروتکل BFD توی سیسکو

مجدد شکل دو روتر و سوییچ را در نظر بگیرید:

وب سایت توسینسو

روی اینترفیس Gig 4/8 در روتر شماره 1 که به سوییچ لایه 2 متصله تنظیمات زیر انجام شده:

وب سایت توسینسو
وب سایت توسینسو

مقدار وارد شده بعد از دستور BFD ، میزان فاصله زمانی به میلی ثانیه هستش که بین ارسال پکت های BFD طول میکشه و مقدار دوم حداقل زمان توی دریافت پکت هاست و مقدار سوم ضریبیه که برای محاسبه Hold down استفاده می شه.

روی روتر شماره2:

وب سایت توسینسو

و در نهایت با استفاده از دستور Show bfd neghbors می تونیم همسایه ها و تنظیمات نهایی را مشاهده کنیم:

وب سایت توسینسو
وب سایت توسینسو

امیدوارم که لذت برده باشید ، مرتضی امیدیان ، توسینسو باشید.


مرتضی امیدیان
مرتضی امیدیان

متخصص DevOps -مدرس توسینسو - http://www.mOmidian.ir

مدرس سایت توسینسو jncis-sec , jncia-jre , jncia-ijos http://www.mOmidian.ir

نظرات