Multipath BGP dengan berbagai ASN yang layak untuk jaringan produksi?

15

di Cisco (perintah ini disembunyikan karena alasan tertentu)

#bgp bestpath as-path multipath-relax

Perilaku BGP default hanya menginstal rute saja dengan AS_PATH yang sama persis ke RIB. Dengan multipath-relax, AS_PATH hanya perlu memiliki panjang yang sama.

Masalah apa yang berpotensi menyebabkannya? Mengapa tidak digunakan lebih sering?

Sebagai penyedia transit, apakah fitur ini menyulitkan pemecahan masalah (Saya berpikir tentang keluhan pengguna akhir tentang kinerja jaringan)? Apakah itu membuat lebih sulit untuk mengetahui jalur lalu lintas tertentu pada waktu tertentu? Apakah ada hal lain yang dapat membantu pemecahan masalah. Saya tidak yakin tentang skalabilitas dan biaya untuk NetFlow di jaringan SP.

sdaffa23fdsf
sumber
1
Saya telah menginstruksikan beberapa pelanggan untuk menggunakannya, saya belum pernah mendengar ada masalah. draft-lapukhov-bgp-routing-large-dc-05 sangat bergantung pada fitur ini
ytti
Saya mencari fitur serupa di Juniper JunOS ... Apakah ada? networkengineering.stackexchange.com/questions/6735/…
Everton
Apakah ada jawaban yang membantu Anda? Jika demikian, Anda harus menerima jawabannya sehingga pertanyaan tidak terus muncul selamanya, mencari jawaban. Atau, Anda dapat memberikan jawaban Anda sendiri dan menerimanya.
Ron Maupin

Jawaban:

15

bgp bestpath as-path multipath-relaxdiperkenalkan oleh CSCea19918. Biasanya eBGP load-balancing membutuhkan rute kandidat untuk menjadi jalur yang sama-biaya; yaitu atribut BGP identik:

  • Berat yang sama
  • Pref-Lokal yang sama
  • AS-Path yang sama (baik nomor AS, dan panjang jalur AS)
  • asal yang sama
  • MED yang sama
  • berbeda hop berikutnya

Seperti yang Anda sebutkan, perintah ini melonggarkan persyaratan AS-Path yang sama sehingga setiap kandidat eBGP AS-Path dengan panjang AS-path yang sama dapat digunakan untuk penyeimbangan beban eBGP (ini tidak akan memuat-keseimbangan antara jalur eBGP dan iBGP). Jika Anda menjalankan BGP antara beberapa ISP dan Anda mencari jalan keluar yang lebih baik untuk menyeimbangkan antara koneksi hulu Anda, ini dapat membantu Anda.

Masalah apa yang berpotensi menyebabkannya?

Tidak ada banyak bahaya selama Anda adalah pelanggan perusahaan yang tidak memberikan layanan transit ke ASN lain; untuk penyedia transit mungkin sangat aman, tapi saya tidak bisa memastikan tidak ada perutean perutean jika ASN transit menggunakan fitur ini . Pada awalnya, saya pikir akan dengan mudah ada loop dalam kasus ASN transit, pada refleksi lebih lanjut saya tidak dapat menemukan masalah nyata.

Mengapa ini jarang digunakan?

Pertanyaan bagus, sudah ada setidaknya sejak 2005.

Mike Pennington
sumber
1
Bisakah Anda jelaskan bagaimana hal itu dapat menyebabkan loop dengan #bgp bestpath as-path multipath-relax (bukan #bgp bestpath sebagai-path diabaikan)?
sdaffa23fdsf
0
The   basic  issue   is   that  the   BGP   speaker  configured   with
"multipath-relax"   gets  into   a  control   plane  <->   data  plane
inconsistency; i.e.  it advertises  only the  best path,  but installs
multiple paths in the forwarding  that have different ASPATHs than the
best. This breaks the basic tool BGP has to detect loops - ASPATH loop
check.

A (distorted) scenario below. I am sure you can come up with
a better example with a bit more time at hand.

            ...............
            : R4  AS1 (10/8)
           /:..............
     ..../......
     :  R5 AS2
     :....\.....
       /   \  ...............
     /      --:--R1
  R6 AS4      :    \    AS3
     \--------:--- R2
              :    /
              : R3 (10/8)
              :..............

In this example,
- R3 in AS3 and R4 in AS1 announce a prefix 10/8. R5 in AS2 receives
  the prefix from R1(AS3) and R4(AS1).
- AS2 is configured with 'multipath-relax' and chooses both paths
  for multipath forwarding, though it selects AS1's path as best.
- R5 advertises the prefix with AS_PATH "2 1" to R6, and R6 in turn
   to R2.
- Because of some specific policy, it is possible that R2(AS3)
  chooses R6's path as best. If it happens, there is a loop.
  Note that R1-R2-R3 represents the physical connectivity of
  the routers in AS3.
Pradosh Mohapatra
sumber
Terima kasih untuk contohnya. Apakah maksud Anda R3 memilih R4 sebagai jalur terbaik untuk 10/8, R5 meneruskan sebagian lalu lintas ke 10/8 kembali ke AS3 di R1? Mengapa ini disebabkan oleh multipath-relax? Tanpa multipath-relax, loop R2 - R6 - R5 -R1 masih bisa eksis jika tidak ada pemfilteran outbound yang tepat (atau sederhana 10/8 hingga null0 di AS asal). Tampaknya bagi saya masalah di sini adalah pembajakan BGP. Apakah saya salah memahaminya?
sdaffa23fdsf
Tidak. Maksud saya adalah: (a) R3 memiliki jalur terbaik eksternal sendiri, (b) R1 memilih R3 sebagai yang terbaik, tetapi karena konektivitas fisik, harus mengirim lalu lintas ke R2 untuk mencapai R3, (c) R2 memilih jalur eksternal (diterima dari R6) sebagai yang terbaik. Ini terkait dengan multipath-relax, karena R5 memilih jalur dari AS3 untuk penerusan multipath yang tidak diungkapkan. Jadi teknik pencegahan loop ASPATH gagal di AS3.
Pradosh Mohapatra
Saya masih belum mengerti bagaimana ini bisa dicegah tanpa relaks multipath. R1 mengirimkan lalu lintas ke 10/8 melalui R2 dan R2 memilih R6 sebagai jalan keluar (berat), R5 dapat memilih R1 sebagai yang terbaik untuk 10/8 bahkan tanpa relaks multipath dan menyebabkan loop. ASPATH mencegah loop tidak dapat mencegah loop yang disebabkan oleh lebih memilih titik keluar eksternal untuk jaringan internal. Jika R1 memilih R5, R2 memilih R6 sebagai yang terbaik untuk 10/8, loop terbentuk terlepas, bukan?
sdaffa23fdsf
Tidak yakin bagaimana itu akan menjadi loop. R1 memilih R5 sebagai terbaik => menyiratkan bahwa R5 memilih R4 sebagai jalan keluar untuk lalu lintas (jika tidak, AS_PATH loop akan terdeteksi). Dengan demikian, jalur arus lalu lintas akan menjadi: R1-> R5-> R4 atau R2-> R6-> R5-> R4 atau R5-> R4 atau R3.
Pradosh Mohapatra