Dove è memorizzata la tabella di adiacenza di Cisco Hardware dCEF?


8

Per Cisco Hardware dCEF, basato su alcuni documenti pubblicati sul sito Web Cisco, sulla scheda / interfaccia della linea di ingresso, cerca concettualmente la FIB con indirizzo IP dst e ottiene un puntatore a una voce della tabella di adiacenza, dove sono archiviate le informazioni di riscrittura L2, ad es. Nexthop Mac, ecc.

Ma ciò che mi confonde è, la riscrittura L2 non accade sulla scheda / interfaccia della linea di uscita? In tal caso, perché questa tabella di adiacenza è archiviata in ingresso? O dove sta succedendo la tabella di adiacenza? ingresso o uscita? Se questo è in ingresso, le informazioni di riscrittura di L2 vengono trasferite dalla scheda di ingresso alla scheda di linea di uscita? Non sarebbe uno spreco di larghezza di banda del tessuto?


1
Pensa: come si può inoltrare un pacchetto all'interfaccia di uscita se l'interfaccia di ingresso non ha adiacenza?
Ricky Beam,

Bene, non è necessario memorizzare la tabella di adiacenza who, è possibile memorizzare una sorta di id di ajacency, quindi in uscita è possibile utilizzare questo id di adiacenza per cercare la tabella di adiacenza e ottenere le informazioni di riscrittura L2. In effetti, se questa tabella di adiacenza è memorizzata su ingress asic, dovrai archiviare le informazioni di adiacenza di ogni scheda di linea di uscita su una scheda di linea di ingresso, non sarebbe un enorme spreco di mem?
wei,

Risposte:


9

Ma ciò che mi confonde è, la riscrittura L2 non accade sulla scheda / interfaccia della linea di uscita?

Non proprio, la decisione forward / drop, la ricerca di adiacenza L2, il decremento TTL, il calcolo del checksum IP, ecc ... avvengono tutti sulla scheda di ingresso .

Concettualmente, è possibile interrompere il flusso di informazioni in un piano di controllo e in un piano dati, anche all'interno dello chassis del router. Sembra che la maggior parte della tua confusione riguardi il funzionamento del piano di controllo ... questo è un diagramma veloce che ho modificato per illustrare ...

IPC e CEF

  • Il processore di route crea la tabella CEF partendo dalle informazioni sull'adiacenza di livello 2 (inclusi ethernet, ppp, sonet, ecc ...) nonché tutte le route preferite
  • Le informazioni complete sulla CEF e sulla tabella di adiacenza sono contenute in messaggi IPC, che vengono inviati tra il processore di instradamento e tutte le schede. Le singole voci CEF vengono visualizzate come XDR all'interno del messaggio IPC. Un XDR è solo un modo specifico di Cisco per scrivere voci CEF in un messaggio IPC.
  • Le singole linecard scompattano gli XDR dai messaggi IPC e creano (cosa dovrebbe essere) una copia esatta del CEF del processore di route e della tabella di adiacenza sulla linecard.
  • Dopo che la linecard ha completato le revisioni al CEF e alle tabelle di adiacenza, un processo specifico della piattaforma viene eseguito sulla linecard per calcolare le strutture di dati necessarie affinché l'hardware della piattaforma inoltri e riscriva i pacchetti sulla stessa linecard.

L'IPC sincronizzato è piuttosto critico per il funzionamento di dCEF; se non mantieni i messaggi sincronizzati tra tutte le schede, puoi finire con incoerenze nei prefissi .

La meccanica di come il router fa questo è specifica della piattaforma, quindi farò riferimento alla piattaforma che conosco meglio che è Catalyst 6500 con Supervisor720 / Supervisor2T. Il motore di inoltro e riscrittura su una linecard dCEF Catalyst 6500 è in realtà una copia in miniatura del Supervisore stesso; pertanto l'intero processo di inoltro e commutazione IP viene eseguito esattamente come se il pacchetto fosse inoltrato centralmente sul supervisore. La linecard dCEF in ingresso cerca le informazioni richieste nella tabella CAM / CEF, quindi crea un'intestazione che allega al pacchetto.

La linecard di uscita guarda l'intestazione e usa le informazioni di adiacenza al suo interno per scrivere il pacchetto sul filo.

Perché questa tabella di adiacenza è archiviata in ingresso?

Quindi puoi prendere l'intera decisione di inoltro in ingresso.

Se questo è in ingresso, le informazioni di riscrittura di L2 vengono trasferite dalla scheda di ingresso alla scheda di linea di uscita?

Non sarebbe uno spreco di larghezza di banda del tessuto?

Non credo, ma poi potrei essere di parte :-)


Grazie mille per la risposta dettagliata! Praticamente suppongo che il linecard fib sia sincronizzato con rp. La mia confusione in realtà riguarda il piano dati, perché so che alcuni prodotti non Cisco stanno effettuando la ricerca della tabella di adiacenza in uscita, quindi sto cercando di scoprire se Cisco ha davvero scelto di farlo in ingresso e perché, per me, questo spreca memoria e larghezza di banda del tessuto.
wei

Lo spreco è soggettivo. Devi fare la ricerca da qualche parte; si potrebbe sostenere che fare una ricerca sull'uscita spreca risorse e rende il prodotto più costoso. Il dibattito potrebbe continuare a lungo lanciando pietre ai vari angoli dell'oggetto della tua antipatia. In conclusione, Cisco sceglie di spendere una modesta quantità di memoria sulla scheda di ingresso e le informazioni di adiacenza non vengono comunque inviate tramite il fabric su Catalyst6500; i risultati di adiacenza vengono inviati alla scheda di uscita tramite un RBUS dedicato.
Mike Pennington,

Per ulteriori informazioni sull'RBUS: Sup720 Architecture paper
Mike Pennington,

3

Quando è abilitato l'inoltro distribuito di Cisco Express, le schede di linea, come le schede di linea VIP o le schede di linea del router Internet Cisco serie 12000, mantengono una copia identica delle tabelle FIB e di adiacenza. Le card line eseguono l'inoltro espresso tra gli adattatori di porta, alleviando così il ruolo di RP nel coinvolgimento nell'operazione di commutazione. Cisco Express Forwarding distribuito utilizza un meccanismo di comunicazione tra processi (IPC) per garantire la sincronizzazione delle tabelle FIB e delle tabelle di adiacenza su schede RP e line. - Cisco

L'RP (che esegue vari processi del protocollo di routing) crea la FIB e la pubblica su tutte le schede. C'è un FIB, ma è replicato su ogni linecard. (sì, a volte si sincronizzano.)


Sì, quella parte ho capito. La parte di cui sono confuso è che tutti i documenti pubblicati da Cisco sembrano implicare che le informazioni di riscrittura di L2 siano cercate in ingresso, il che non ha molto senso per me.
wei,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.