Apakah ada alasan untuk tidak menggunakan BFD?

17

Dalam mencari untuk mengimplementasikan Bidirectional Forwarding Detection (BFD) tampaknya sangat fleksibel dalam hal penyetelan waktu, bobot yang ringan untuk setiap overhead dan fleksibilitas dalam hal keseluruhan aplikasi tampak sangat mengesankan.

Jadi jika misalnya dapat diterapkan untuk mendeteksi kegagalan tautan melalui Ethernet, MPLS pada banyak hop, di tepi jaringan, untuk konvergensi IGP, untuk terowongan, dll. - mengapa tidak digunakan dalam skenario tertentu mungkin dan apakah ada alternatif lain yang muncul yang harus diperhatikan?

MattE
sumber

Jawaban:

18

Saya hanya secara langsung mengetahui satu masalah dengan BFD, yaitu permintaan CPU. Saat ini saya sedang menyelidiki masalah dengan Cisco 7301 yang ketika mendorong lebih banyak lalu lintas selama jam sibuk kami, dibandingkan dengan sisa hari itu, BFD kadang-kadang mengatur waktu dan mengarahkan perjalanan ke tautan berikutnya.

Tampaknya di bawah volume lalu lintas tinggi penggunaan CPU router meningkat (yang tidak biasa) tetapi pada sekitar 40-50% paket CPU BFD tidak menerima sumber daya yang cukup.

Namun saya telah menemukan informasi berikut yang menunjukkan masalah tambahan dengan BFD (Dari presentasi NANOG ini , ada lebih banyak di presentasi, itu bagus, coba baca!)

Apa saja peringatannya?

  • Dua yang utama:
    1. BFD dapat memiliki permintaan sumber daya yang tinggi tergantung pada skala Anda.
    2. BFD tidak terlihat oleh protokol bundling Layer 2. (LAG Ethernet atau bundel POS)

Permintaan Sumber Daya BFD

  • Jumlah sesi BFD pada setiap linecard atau router dapat memengaruhi seberapa baik skala BFD untuk Anda. -Setiap platform yang unik memiliki batasnya sendiri.
  • Antarmuka bundel yang mendukung min tx / rx dari 250ms atau 2 detik telah terlihat.
  • Dalam beberapa kasus, instance BFD pada router mungkin perlu dioperasikan pada rute-prosesor tergantung pada implementasinya (sesi BFD berbasis non-adjacency).
  • Uji platform Anda terlebih dahulu sebelum menggunakan BFD. Cobalah untuk memuat CPU RP atau LC dengan pengaturan yang telah Anda konfigurasikan. Ini dapat dilakukan dengan:
  • Menjalankan perintah CPU-heavy
  • Paket banjir ke TTL kedaluwarsa di tempat tujuan

Permintaan Sumber Daya BFD (lanjutan)

  • Nilai apa yang aman untuk dicoba?
  • Berdasarkan berbicara dengan beberapa operator, 300ms dengan pengganda 3 (deteksi 900ms) tampaknya menjadi nilai aman yang bekerja pada sebagian besar peralatan dengan cukup baik.
  • Ini adalah peningkatan yang signifikan atas beberapa alternatif.

Bundling tautan BFD dan L2

  • BFD tidak mengetahui anggota bundel tautan L2 yang mendasarinya.
  • Bundel L2 4x10GigE (802.3ad) akan muncul sebagai adjacency L3 tunggal. Paket-paket BFD akan ditransmisikan pada satu tautan anggota, alih-alih semua 4 tautan.
  • Kegagalan tautan dengan BFD di atasnya akan mengakibatkan seluruh adjacency L3 gagal.
  • Namun, dalam beberapa skenario, tautan anggota yang gagal dapat mengakibatkan hanya satu paket BFD yang dibuang. Paket selanjutnya dapat merutekan melalui tautan anggota yang berfungsi.
jwbensley
sumber
1
Hal lain yang perlu diperhatikan adalah bahwa beberapa platform tidak mendukung BFD pada setiap jenis antarmuka. Paling terkenal (bagi saya): Cisco 7600 tidak mendukung antarmuka BFD pada SVI (Vlan) hingga sangat, sangat baru-baru ini (15. diperlukan sesuatu).
Sebastian Wiesinger
1
Poin bagus, masalah 7301 yang sedang saya kerjakan, seharusnya, tetapi masih belum berjalan semulus yang saya inginkan, dan itu pada iOS 12 yang sangat baru. Sedangkan 7301 dan 7206 lainnya baik-baik saja. Sebastian benar, sangat layak untuk disebutkan bahwa itu tidak terlalu mendukung karena kita semua mungkin ingin berada di platform perangkat keras umum ini.
jwbensley
1
Perhatikan bahwa ada konsep IETF untuk membahas menjalankan BFD di atas LAG: tools.ietf.org/html/draft-mmm-bfd-on-lags . Ini belum benar-benar diterapkan di mana pun, tetapi mudah-mudahan masalah ini pada akhirnya akan terpecahkan, karena ini adalah skenario yang sangat umum.
Darius Jahandarie
5

Saya telah melihat dua alasan mengapa BFD belum diimplementasikan:

  1. Ketidaktahuan tentang hal itu (saya bersalah untuk beberapa waktu).

  2. Biaya, jika Anda seorang toko Cisco. Meskipun mungkin dapat diabaikan tergantung pada ukuran organisasi Anda, sekarang ada biaya lisensi terkait untuk menerapkan BFD.

Pada kerangka waktu ISR G2 / ASR, BFD tidak lagi dalam paket lisensi "IP Base". Anda harus meningkatkan setidaknya ke tingkat lisensi "Data" untuk membuka BFD. Lihat buku putih ini dari Cisco.

Persyaratan lisensi ini mungkin tidak menjadi masalah, karena Anda mungkin sudah membeli tingkat lisensi yang lebih tinggi untuk fitur-fitur lain, tetapi ini adalah sesuatu yang harus diperhatikan.

Brett Lykins
sumber
+1 Luar biasa, saya hanya memikirkan alasan teknis, tetapi biaya jelas, bagus! Juga tidak tahu, saya telah menjadi orang pertama yang memberitahu seseorang tentang BFD juga. Dua poin hebat!
jwbensley
3

Beberapa hal untuk melengkapi jawaban javano:

  • Ingat bahwa ethernet 40g dan 100g dapat dianggap bundel, meskipun tidak sama dengan LACP, tetapi 4x10, 4x25 & 10x10
  • Pada beberapa perangkat keras (Beberapa Juniper ujung yang lebih tinggi misalnya) BFD ditangani pada kartu garis yang dapat bermanfaat (tidak ada kerugian di bawah beban RE yang tinggi) atau defisit (tidak ada kerugian langsung jika RE mati)
  • Menjalankan BFD melalui tautan / jalur yang sudah menjadi SPOF (mis., Bundel serat tunggal) bisa lebih buruk daripada hanya meningkatkan keterlambatan operator
LapTop006
sumber
2

BFD adalah fitur yang diciptakan untuk mendeteksi masalah konektivitas L2 ketika ada beberapa perangkat perantara di antara dua rekan. Jadi BFD adalah fitur deteksi kegagalan.

Biasanya kita membutuhkan BFD jika kita memiliki 2 router yang saling terhubung melalui saklar L2 9 atau cloud L2 lainnya). Dalam hal ini jika satu router turun, status tautan tidak akan tercermin pada router lain, karena saklar akan membuat tautan tetap naik. Jika itu hanya tautan P2P (kabel tunggal) antara router, antarmuka akan turun tepat pada kegagalan rekan dan IGP akan bergabung kembali dalam interval sub-detik.

Jadi, alasan untuk tidak menggunakan BFD adalah: - BFD tidak didukung pada kotak [es]; - BFD tidak diperlukan, karena Anda tidak memiliki perangkat perantara (gunakan udld dan carrier-delay sebagai gantinya).

Vasilii M
sumber