Mengapa semua area harus terhubung ke tulang punggung Area 0 di OSPF?

22

Pertanyaan ini adalah repost literal dari pertanyaan yang sama yang ditanyakan pada Komunitas Dukungan Cisco . Jawaban unik untuk Stack Exchange.


Mengapa area 0 adalah area tulang punggung dalam OSPF? Mengapa semua area lain harus terhubung?

Saya telah mencari alasan yang tepat mengapa semua area harus terhubung ke area 0 di OSPF. Saya punya ide kecil, tetapi saya tidak jelas dengan keseluruhan konsep.

Jika 2 area tidak terhubung melalui area 0 (tidak jelas), bagaimana OSPF berperilaku sebagai protokol status tautan meningkatkan kemungkinan perutean loop?

Trojan
sumber

Jawaban:

39

Backbone OSPF

Mengapa area 0 adalah area tulang punggung dalam OSPF? Mengapa semua area lain harus terhubung?

Ini dijelaskan dengan sangat baik dalam RFC 3509, Bagian 1.2 1 :

1.2 Motivasi

Dalam domain OSPF topologi area dibatasi sehingga harus ada area backbone (area 0) dan semua area lain harus memiliki koneksi fisik atau virtual ke backbone. Alasan untuk topologi seperti bintang ini adalah bahwa routing antar area OSPF menggunakan pendekatan distance-vector dan hierarki area yang ketat memungkinkan penghindaran dari masalah "menghitung hingga tak terbatas". OSPF mencegah loop perutean antar-area dengan menerapkan mekanisme split-horizon, memungkinkan ABR untuk menyuntikkan hanya tulang punggung Ringkasan-LSA yang berasal dari rute intra-area, dan membatasi perhitungan SPF ABR untuk hanya mempertimbangkan Ringkasan-LSA di area backbone. database link-state.

OSPF biasanya dianggap sebagai protokol link-state . Apa yang beberapa orang kehilangan adalah bahwa OSPF menggunakan kedua protokol link-state dan distance-vector protokol algoritma.

  • Rute di dalam backbone, atau area non-backbone dihitung seperti yang dilakukan oleh protokol link-state (ref algoritma Dijkstra ).
  • Ketika OSPF harus membawa rute non-backbone melalui backbone, OSPF menggunakan beberapa perilaku distance-vector (yaitu bagian dari algoritma Bellman Ford ) untuk menyebarkan metrik LSA Type3 ke area non-backbone.

Contoh sederhana dari perilaku vektor-jarak OSPF :

<-- Area 5 --><-- Area 0 --><--           Area 4           -->

R5-----------R1-----------R2------------R3---------------------R4
     Cost 3      Cost 5        Cost 7            Cost 12

               LSA-->          LSA-->
               Type3 LSA       Type3 LSA
               {From R1}       {From R2}
               R5 cost is 3    R5 cost is 8

Pertimbangkan apa yang terjadi pada rute Loopback a / 32 untuk R5.

  1. R5 mengirimkan LSA Type1 yang berisi / 32 Loopback
  2. R1 (Area 5 ABR), terhubung ke Area 0; itu menerjemahkan LSA Type1 menjadi LSA Type3 dengan biaya 3.
  3. R2 (Area 4 ABR) menerima R1 Type3 LSA (metrik 3) dan mengubah metrik menjadi Loopback R5, berdasarkan biaya R2 menjadi R1 . Sekarang R2 Type3 LSA untuk R5 memiliki biaya 8. Ini adalah perilaku distance-vector yang saya sebutkan di atas.

Memerlukan semua rute non-backbone untuk melalui backbone adalah mekanisme pencegahan putaran.

Menghubungkan area OSPF non-backbone di ABR

Jika 2 area tidak terhubung melalui area 0 (tidak jelas), bagaimana OSPF berperilaku sebagai protokol status tautan meningkatkan kemungkinan perutean loop?

Seperti yang kita lihat di atas, OSPF menggunakan perilaku distance-vector untuk mengirim rute melalui tulang punggung Area 0. Protokol distance-vector memiliki batasan yang sudah diketahui, seperti masalah count-to-infinity . OSPF akan rentan terhadap masalah yang sama, jika kita tidak memiliki batasan pada perilakunya.


1 RFC 3509 menjelaskan perilaku ABR Cisco IOS

Mike Pennington
sumber
18

Area 0 dipilih sebagai tulang punggung, angka 0 atau 0.0.0.0 hanyalah angka.

Karena OSPF adalah status tautan, LSDB harus identik dalam suatu area. Ini untuk memastikan bahwa perhitungan SPF konsisten dan untuk mencegah loop perutean.

Jika menjalankan area tunggal OSPF area mana pun dapat digunakan, tidak ada persyaratan untuk memiliki area 0.

Saat menjalankan OSPF multi area, ABR harus digunakan. ABR adalah router dengan kedekatan di area 0 dan setidaknya satu area lainnya.

ABR mengambil LSA tipe 1 dan 2 dan mengumumkannya sebagai ringkasan LSA tipe 3 di area lain. Ini bukan ringkasan dari awalan, ini ringkasan informasi topologi. Ini sebenarnya adalah perilaku vektor jarak.

Karena area lain tidak memiliki informasi lengkap tentang satu sama lain, semua lalu lintas antar area harus melewati area 0. Kalau tidak, mungkin ada jalur perutean karena tidak memiliki topologi penuh.

Karena desain ini OSPF tidak harus menjalankan SPF penuh saat tautan naik / turun di area lain. Ini meningkatkan skalabilitas.

Daniel Dib
sumber
tujuan ospf area 0 adalah mencegah perutean loop di domain ospf-nya, apakah saya benar?
Trojan
3
Tujuan utama area 0 adalah untuk menyediakan konektivitas ke area lain. Dengan membuat desain OSPF pada dasarnya terlihat seperti hub dan berbicara di mana area 0 adalah hub, jalur perutean dapat dicegah.
Daniel Dib
9

Dari "OSPF: Anatomi Protokol Perutean" oleh John Moy, yang menulis banyak spesifikasi OSPF.

Pertukaran informasi routing antar area pada dasarnya adalah Distance Vector. Dengan Distance Vector, semakin banyak jalur redundan yang Anda dapatkan, semakin buruk properti konvergensi Anda. OSPF mengharuskan semua area untuk terhubung langsung ke tulang punggung sehingga membatasi topologi ke hub sederhana dan berbicara topologi. Ini menghilangkan jalur redundan dan mencegahnya menjadi sasaran masalah 'hitung hingga tak terbatas'.

pengguna6238
sumber