Di mana tabel kedekatan Cisco Hardware dCEF disimpan?

8

Untuk Cisco Hardware dCEF, berdasarkan pada beberapa dokumen yang diterbitkan di situs web Cisco, pada kartu / antarmuka garis masuk, secara konseptual mencari FIB dengan alamat IP dst, dan mendapatkan pointer ke entri tabel adjacency, di mana informasi penulisan ulang L2 disimpan, misal nexthop mac, dll.

Tapi yang membingungkan saya adalah, bukankah L2 menulis ulang terjadi pada kartu egress line / interface? Jika demikian, lalu mengapa tabel adjacency ini disimpan di ingress? Atau di mana tabel adjacency terlihat terjadi? masuk atau keluar? Jika ini sedang dimasukkan, apakah informasi penulisan ulang L2 dibawa dari kartu masuk ke kartu jalur keluar? Bukankah itu akan menjadi pemborosan bandwidth kain?

wei
sumber
1
Pikirkan tentang: bagaimana sebuah paket dapat diteruskan ke antarmuka jalan keluar jika antarmuka masuknya tidak memiliki kedekatan?
Ricky Beam
Nah, Anda tidak perlu menyimpan tabel adjacency siapa, Anda dapat menyimpan semacam adjacency id, maka pada jalan keluar Anda dapat menggunakan id adjacency ini untuk mencari tabel adjacency dan mendapatkan informasi penulisan ulang L2. Faktanya, jika tabel adjacency ini disimpan di ingress asic, Anda harus menyimpan info adjacency setiap kartu egress line ke kartu line ingress, bukankah itu akan menjadi pemborosan besar?
wei

Jawaban:

9

Tapi yang membingungkan saya adalah, bukankah L2 menulis ulang terjadi pada kartu egress line / interface?

Tidak juga, keputusan forward / drop, pencarian adjacency L2, penurunan TTL, perhitungan IP Checksum, dll ... semua terjadi pada ingecard linecard.

Secara konseptual, Anda dapat memecah arus informasi menjadi bidang kontrol dan bidang data, bahkan di dalam sasis router. Tampaknya sebagian besar kebingungan Anda berkisar pada bagaimana pesawat kontrol bekerja ... ini adalah diagram cepat yang saya peretas untuk menggambarkan ...

IPC dan CEF

  • Route Processor membangun tabel CEF dari informasi kedekatan lapisan-2 (termasuk ethernet, ppp, sonet, dll ...) serta semua rute yang disukai
  • Seluruh informasi CEF dan tabel adjacency dikemas ke dalam pesan IPC, yang dikirim antara Route Processor dan semua linecards. Masing-masing entri CEF diberikan sebagai XDR dalam pesan IPC. XDR hanyalah cara khusus Cisco untuk menulis entri CEF ke dalam pesan IPC.
  • Masing-masing kartu liner mengeluarkan XDR dari pesan IPC dan membuat (apa yang seharusnya) salinan tepat dari CEF Route Processor dan tabel kedekatan pada kartu linecard.
  • Setelah linecard menyelesaikan revisi CEF dan tabel adjacency, proses platform khusus berjalan pada linecard untuk menghitung struktur data yang diperlukan untuk perangkat keras platform untuk meneruskan dan menulis ulang paket pada linecard itu sendiri.

IPC yang disinkronkan sangat penting untuk operasi dCEF; jika Anda tidak menyinkronkan pesan di antara semua kartu, Anda dapat berakhir dengan inkonsistensi awalan .

Mekanika bagaimana router melakukan ini adalah platform-spesifik, jadi saya akan referensi platform yang saya tahu yang terbaik yaitu Catalyst 6500 dengan Supervisor720 / Supervisor2T. Mesin penerusan & penulisan ulang pada kartu garis Catalyst 6500 dCEF sebenarnya merupakan salinan miniatur dari Pengawas itu sendiri; jadi seluruh proses IP forwarding dan switching dieksekusi seperti halnya seolah-olah paket itu diteruskan secara terpusat pada supervisor. The ingress dCEF linecard mencari informasi yang diperlukan dalam tabel CAM / CEF, dan kemudian membangun header yang dilampirkan ke paket.

Egress linecard melihat header dan menggunakan informasi adjacency di dalamnya untuk menulis paket ke kabel.

Mengapa tabel kedekatan ini disimpan di ingress?

Jadi, Anda dapat membuat seluruh keputusan penerusan ingress.

Jika ini sedang dimasukkan, apakah informasi penulisan ulang L2 dibawa dari kartu masuk ke kartu jalur keluar?

Iya

Bukankah itu akan menjadi pemborosan bandwidth kain?

Saya rasa tidak, tapi sekali lagi saya bias :-)

Mike Pennington
sumber
Terima kasih banyak untuk jawaban terperinci! Saya pada dasarnya mengasumsikan fib linecard disinkronkan dengan rp. Kebingungan saya sebenarnya sekitar data pesawat, karena saya tahu beberapa produk non-cisco melakukan pencarian tabel adjacency pada jalan keluar, jadi saya mencoba untuk mencari tahu apakah cisco benar-benar memilih untuk melakukannya dalam masuknya dan mengapa, bagi saya, ini membuang-buang memori dan bandwidth kain.
wei
Limbah itu subyektif. Anda harus melakukan pencarian di suatu tempat; orang dapat berargumen bahwa melakukan pencarian pada sumber daya limbah egress dan membuat produk lebih mahal. Perdebatan bisa berlangsung lama untuk melempar batu ke berbagai sudut objek yang tidak Anda sukai. Bottom-line, Cisco memilih untuk menghabiskan sejumlah kecil memori pada kartu ingress, dan informasi kedekatan tidak dikirim melalui fabric pada Catalyst6500; hasil adjacency dikirim ke kartu jalan keluar melalui RBUS khusus.
Mike Pennington
Untuk bacaan lebih lanjut mengenai makalah RBUS: Sup720 Architecture
Mike Pennington
3

Ketika didistribusikan Cisco Express Forwarding diaktifkan, kartu garis, seperti kartu garis VIP atau kartu garis Router Internet Seri Cisco 12000, mempertahankan salinan identik dari FIB dan tabel kedekatan. Kartu garis melakukan forwarding ekspres antar port adapter, sehingga mengurangi RP keterlibatan dalam operasi switching. Cisco Express Forwarding yang didistribusikan menggunakan mekanisme komunikasi antarproses (IPC) untuk memastikan sinkronisasi tabel FIB dan tabel kedekatan pada RP dan kartu garis. - Cisco

RP (menjalankan berbagai proses protokol routing) membangun FIB dan menerbitkannya ke semua kartu linec. Ada satu FIB, tapi itu direplikasi di setiap linecard. (ya, kadang-kadang mereka tidak sinkron.)

Ricky Beam
sumber
Ya, bagian yang saya mengerti. Bagian yang saya bingung adalah bahwa semua dokumen yang diterbitkan cisco tampaknya menyiratkan bahwa informasi penulisan ulang L2 memandang masuk ke dalam, yang tidak masuk akal bagi saya.
wei