Sommario

Introduzione

Operazioni preliminari

Convenzioni

Prerequisiti

Componenti usati

Sfondo

Algoritmi di scavatura tampone

Ricevi memoria pacchetto

Flusso di pacchetti nella ToFab BMA

Memoria pacchetto di trasmissione

Flusso di pacchetti nella FrFab BMA

Informazioni correlate

Introduzione

In questo documento viene spiegato come leggere l'output dei comandi show controller frame queue e show controller to fab queue. Offre anche una panoramica dettagliata dell'architettura alla base di Cisco serie 12000 Internet Router relativa a queste code speciali.

Operazioni preliminari

Convenzioni

Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.

Prerequisiti

Non sono previsti prerequisiti specifici per questo documento.

Componenti usati

Le informazioni fornite in questo documento si basano su:

- Cisco serie 12000 Internet Router

- Tutte le versioni del software Cisco IOS©

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Sfondo

Ogni scheda di linea (LC) di un router Cisco serie 12000 Internet ha due tipi di memoria:

- Memoria di routing o del processore (RAM dinamica - DRAM): Questa memoria consente principalmente al processore incorporato di eseguire il software Cisco IOS e memorizzare le tabelle di routing di rete (Forwarding Information Base - FIB, adiacenza).

- Memoria pacchetto (RAM dinamica sincrona - SDRAM): La memoria dei pacchetti della scheda di linea memorizza temporaneamente i pacchetti di dati in attesa di decisioni di commutazione da parte del processore della scheda di linea.

Questo documento si concentra esclusivamente sulla memoria del pacchetto che è divisa in due banche: ToFab e FrFab (verso il fabric e dal fabric). La memoria ToFab viene utilizzata per i pacchetti provenienti da una delle interfacce del dispositivo LC e destinati al fabric, mentre la memoria FrFab viene utilizzata per i pacchetti che stanno uscendo da un'interfaccia del dispositivo LC dal fabric.

Le code Tofab e Frame sono i concetti più importanti da comprendere per risolvere in modo efficiente i problemi relativi ai pacchetti ignorati del router Internet Cisco serie 12000. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi ai pacchetti ignorati e all'assenza di perdite di memoria su Cisco serie 12000 Internet Router.

Nota: "ToFab" (verso il fabric) e "Rx" (ricevuto dal router) sono due nomi diversi per la stessa cosa, come "FrFab" (dal fabric) e "Tx" (trasmesso dal router). Ad esempio, il ToFab Buffer Management ASIC (BMA) è anche noto come RxBMA. In questo documento viene utilizzata la convenzione ToFab/FrFab, ma è possibile che la nomenclatura Rx/TX venga utilizzata anche in altri documenti.

L'accesso alla memoria del pacchetto viene eseguito tramite l'ASIC (BMA) di gestione dei buffer. Il BMA fornisce alla scheda di linea funzioni di buffering dei pacchetti e di gestione delle code buffer. Tutti i pacchetti passano due volte attraverso il BMA, una volta in entrata e una volta in uscita. In altre parole, i pacchetti arrivano su un modulo PLIM (Physical Layer Interface Module), passano un breve periodo di tempo nei buffer SDRAM e vengono quindi letti dai buffer e consegnati al modulo FIA (Fabric Interface ASIC). In questo caso, vengono segmentati in celle Cisco e trasmessi al fabric dello switch. I pacchetti vengono quindi ricevuti dal fabric dello switch dall'ASIC Fabric Interface sulla scheda di linea in uscita. Vengono riassemblati, vanno ai buffer SDRAM, poi al PLIM, e infine inviati sul cavo.

Algoritmi di scavatura tampone

Il software Cisco IOS implementa un algoritmo per la suddivisione dei buffer che divide la SDRAM in buffer di varie dimensioni. Il GRP e altre fonti forniscono istruzioni di inserimento nella scheda di linea, che quindi esegue le istruzioni. Ci sono diversi tipi di sculture. Ad esempio, una semplice carve crea un pool di buffer delle stesse dimensioni, mentre una carve complessa crea più pool di dimensioni diverse, con ogni pool contenente buffer delle stesse dimensioni.

Tutti i buffer delle stesse dimensioni sono associati in un pool. Un pool viene sempre allocato per l'utilizzo di Inter-Process Communication (IPC). Ogni RAM statica della coda (QSRAM) associata viene aggiornata con l'inizio, la coda, la lunghezza, la soglia di lunghezza, gli indirizzi di buffer associati in SDRAM e l'elemento della coda successiva.

Le seguenti condizioni sequenziali attivano un'incisione tampone su una scheda di linea:

- Bootload over the Maintenance BUS (MBUS) - Chiamata scavata semplice ai buffer scavati per il download dell'immagine software Cisco IOS.

- Immagine software Cisco IOS in posizione - Chiamata semplice carve LC per abilitare la comunicazione tra processi (IPC) in modo che il GRP possa utilizzare gli IPC per fornire ai LC la specifica carve iniziale. Tutta la memoria SDRAM disponibile per l'intaglio viene scolpita.

- Una volta che l'IPC è attivo - Utilizzando gli IPC, il GRP può chiamare più volte un'immagine complessa LC per ricalcare dinamicamente tutte le SDRAM.

- Una configurazione manuale o una modifica dell'MTU (Maximum Transmission Unit) su un'interfaccia determina il ricalcolo della memoria. Le code FrFab vengono scolpite fino alla MTU massima dell'intero sistema, mentre le code ToFab vengono scolpite fino alla MTU massima della scheda di linea in questione.

Nota: il ricalcolo viene eseguito solo se si modifica l'MTU massima per la scheda di linea (code ToFab) o se si modifica l'MTU massima per l'intero sistema (code FrFab). Ad esempio, se si modifica l'MTU da 1500 a 4470, non si modificherà nulla se esiste già un'interfaccia con MTU 4470 sulla scheda di linea (code ToFab) o sull'intero sistema (code FrFab).

Osservate l'esempio seguente:

Router#attach 1

Entering Console for 1 Port Packet Over SONET OC-48c/STM-16 in Slot: 1

Type "exit" to end this session

Press RETURN to get started!

LC-Slot1>enable

LC-Slot1#show controllers tofab queues

Carve information for ToFab buffers

SDRAM size: 268435456 bytes, address: 30000000, carve base: 30019100

268332800 bytes carve size,  4 SDRAM bank(s), 16384 bytes SDRAM

pagesize, 2 carve(s)

max buffer data size 4544 bytes, min buffer data size 80 bytes

262140/262140 buffers specified/carved

240637152/240637152 bytes sum buffer sizes specified/carved

Qnum    Head    Tail            #Qelem  LenThresh

----    ----    ----            ------  ---------

4 non-IPC free queues:

115254/115254 (buffers specified/carved), 43.96%, 80 byte data size

1       201     115454          115254  262143

81202/81202 (buffers specified/carved), 30.97%, 608 byte data size

2       115455  196656          81202   262143

41910/41910 (buffers specified/carved), 15.98%, 1568 byte data size

3       196657  238566          41910   262143

23574/23574 (buffers specified/carved), 8.99%, 4544 byte data size

4       238567  262140          23574   262143

IPC Queue:

200/200 (buffers specified/carved), 0.7%, 4112 byte data size

30      131     130             200     262143

Raw Queue:

31      0       0               0       65535

ToFab Queues:

Dest

Slot

0       0       0               0       262143

1       0       0               0       262143

2       0       0               0       262143

3       0       0               0       262143

4       0       0               0       262143

5       0       0               0       262143

6       0       0               0       262143

7       0       0               0       262143

8       0       0               0       262143

9       0       0               0       262143

10      0       0               0       262143

11      0       0               0       262143

12      0       0               0       262143

13      0       0               0       262143

14      0       0               0       262143

15      0       0               0       262143

Multicast     0       0               0       262143

Potete vedere che ci sono state due incisioni da quando questa scheda di linea è stata messa in funzione, e che ci sono quattro gruppi: 80, 608, 1568 e 4544.

Modificare l'MTU su un'interfaccia appartenente alla scheda di linea:

Router(config)#interface pos1/0

Router(config-if)#mtu ?

<64-18020>  MTU size in bytes

Router(config-if)#mtu 2000

Collegarsi al LC e verificare le modifiche:

LC-Slot1#show control tofab queue

Carve information for ToFab buffers

SDRAM size: 268435456 bytes, address: 30000000, carve base: 30019100

268332800 bytes carve size,  4 SDRAM bank(s), 16384 bytes SDRAM

pagesize, 3 carve(s)

max buffer data size 4112 bytes, min buffer data size 80 bytes

262142/262142 buffers specified/carved

247054400/247054400 bytes sum buffer sizes specified/carved

Qnum    Head    Tail            #Qelem  LenThresh

----    ----    ----            ------  ---------

4 non-IPC free queues:

91680/91680 (buffers specified/carved), 34.97%, 80 byte data size

1       202     201             91680   262143

65485/65485 (buffers specified/carved), 24.98%, 608 byte data size

2       91884   91883           65485   262143

49769/49769 (buffers specified/carved), 18.98%, 1568 byte data size

3       157366  207134          49769   262143

55008/55008 (buffers specified/carved), 20.98%, 2048 byte data size

4       207135  262142          55008   262143

IPC Queue:

200/200 (buffers specified/carved), 0.7%, 4112 byte data size

30      118     117             200     262143

Raw Queue:

31      206     205             0       65535

ToFab Queues:

Dest

Slot

0       0       0               0       262143

1       0       0               0       262143

2       0       0               0       262143

3       0       0               0       262143

4       0       0               0       262143

5       0       0               0       262143

6       0       0               0       262143

7       206     205             0       262143

8       0       0               0       262143

9       0       0               0       262143

10      0       0               0       262143

11      0       0               0       262143

12      0       0               0       262143

13      0       0               0       262143

14      0       0               0       262143

15      0       0               0       262143

Multicast      0       0               0       262143

A questo punto sono disponibili tre schede e la dimensione massima del buffer per la coda non IPC è di 2048 byte invece di 4544.

Le code di FrFab rimangono invariate:

LC-Slot1#show controllers frfab queues

Carve information for FrFab buffers

SDRAM size: 268435456 bytes, address: 20000000, carve base: 2039D100

264646400 bytes carve size,  4 SDRAM bank(s), 16384 bytes SDRAM

pagesize, 3 carve(s)

max buffer data size 9248 bytes, min buffer data size 80 bytes

251927/251927 buffers specified/carved

209883344/209883344 bytes sum buffer sizes specified/carved

Qnum    Head    Tail            #Qelem  LenThresh

----    ----    ----            ------  ---------

6 non-IPC free queues:

123349/123349 (buffers specified/carved), 48.96%, 80 byte data size

1       210     209             123349  262143

75519/75519 (buffers specified/carved), 29.97%, 608 byte data size

2       123552  123551          75519   262143

37759/37759 (buffers specified/carved), 14.98%, 1568 byte data size

3       199069  236827          37759   262143

2516/2516 (buffers specified/carved), 0.99%, 2048 byte data size

4       236828  239343          2516    262143

7551/7551 (buffers specified/carved), 2.99%, 4544 byte data size

5       239344  246894          7551    262143

5033/5033 (buffers specified/carved), 1.99%, 9248 byte data size

6       246895  251927          5033    262143

IPC Queue:

200/200 (buffers specified/carved), 0.7%, 4112 byte data size

30      52      51              200     262143

Multicast Raw Queue:

29      0       0               0       62981

Raw Queue:

31      52      51              0       251928

Interface Queues:

0       210     209             0       262143

La dimensione massima del buffer è di 9248 byte. Ora, configurare una MTU di 10000 su un'altra interfaccia su un'altra scheda:

Router(config-if)#interface pos5/0

Router(config-if)#mtu ?

<64-18020>  MTU size in bytes

Router(config-if)#mtu 10000

LC-Slot1#show contr frfab queues

Carve information for FrFab buffers

SDRAM size: 268435456 bytes, address: 20000000, carve base: 2039D100

264646400 bytes carve size,  4 SDRAM bank(s), 16384 bytes SDRAM

pagesize, 4 carve(s)

max buffer data size 10064 bytes, min buffer data size 80 bytes

257309/257309 buffers specified/carved

213496016/213496016 bytes sum buffer sizes specified/carved

Qnum    Head    Tail            #Qelem  LenThresh

----    ----    ----            ------  ---------

5 non-IPC free queues:

128556/128556 (buffers specified/carved), 49.96%, 80 byte data size

1       204     203             128556  262143

77133/77133 (buffers specified/carved), 29.97%, 608 byte data size

2       128758  128757          77133   262143

38566/38566 (buffers specified/carved), 14.98%, 1568 byte data size

3       205890  244455          38566   262143

7713/7713 (buffers specified/carved), 2.99%, 4544 byte data size

4       244456  252168          7713    262143

5141/5141 (buffers specified/carved), 1.99%, 10064 byte data size

5       252169  257309          5141    262143

IPC Queue:

200/200 (buffers specified/carved), 0.7%, 4112 byte data size

30      24      23              200     262143

Multicast Raw Queue:

29      0       0               0       64327

Raw Queue:

31      24      23              0       257310

Interface Queues:

0       205     204             0       262143

A questo punto sono disponibili quattro immagini per le code FrFab e la dimensione massima del buffer è stata modificata a 10064 byte.

Nota: sulle schede di linea POS (Packet Over Sonet) configurate con incapsulamento PPP (Point-to-Point Protocol), viene eseguita la negoziazione MRU (Maximum Receive Unit), ma non vengono regolate le dimensioni dell'MTU. Inoltre, le connessioni PPP non vengono resettate quando si modifica l'MTU sull'interfaccia.

Ricevi memoria pacchetto

Questa memoria è suddivisa in pool diversi di buffer di pacchetti. Per verificare come viene scolpita la memoria di ricezione, è possibile collegarsi a una scheda di linea ed eseguire il comando show controller to fab queue, come mostrato di seguito:

Router#attach ?

<0-15>  slot number of linecard to connect

<cr>

Router#attach 1

Entering Console for 1 Port SONET based SRP OC-12c/STM-4 in Slot: 1

Type "exit" to end this session

Press RETURN to get started!

LC-Slot1>enable

LC-Slot1#

LC-Slot1#show controllers tofab queues

Carve information for ToFab buffers

SDRAM size: 33554432 bytes, address: 30000000, carve base: 30029100

33386240 bytes carve size, 4 SDRAM bank(s), 8192 bytes SDRAM pagesize, 2 carve(s)

max buffer data size 9248 bytes, min buffer data size 80 bytes

40606/40606 buffers specified/carved

33249088/33249088 bytes sum buffer sizes specified/carved

Qnum    Head    Tail        #Qelem     LenThresh

----    ----    ----        ------     ---------

5 non-IPC free queues:

20254/20254    (buffers specified/carved), 49.87%, 80 byte data size

1       17297   17296       20254      65535

12152/12152    (buffers specified/carved), 29.92%, 608 byte data size

2       20548   20547       12152      65535

6076/6076    (buffers specified/carved), 14.96%, 1568 byte data size

3       32507   38582       6076       65535

1215/1215    (buffers specified/carved), 2.99%, 4544 byte data size

4       38583   39797       1215       65535

809/809    (buffers specified/carved), 1.99%, 9248 byte data size

5       39798   40606       809        65535

IPC Queue:

100/100 (buffers    specified/carved), 0.24%, 4112 byte data size

30      72      71          100        65535

Raw  Queue:

31      0       17302       0          65535

ToFab Queues:

Dest

Slot

0       0       0           0          65535

1       0       0           0          65535

2       0       0           0          65535

3       0       0           0          65535

4       0       0           0          65535

5       0       17282       0          65535

6       0       0           0          65535

7       0       75          0          65535

8       0       0           0          65535

9       0       0           0          65535

10      0       0           0          65535

11      0       0           0          65535

12      0       0           0          65535

13      0       0           0          65535

14      0       0           0          65535

15      0       0           0          65535

Multicast      0       0           0          65535

LC-Slot1#

Nell'elenco seguente vengono descritti alcuni dei campi chiave disponibili nell'esempio precedente:

- Dimensioni SDRAM: 33554432 byte, indirizzo: 30000000, base di intaglio: 30029100 - Dimensioni della memoria del pacchetto di ricezione e indirizzo di inizio.

- Dimensione massima dei dati del buffer 9248 byte, dimensione minima dei dati del buffer 80 byte - Dimensione massima e minima del buffer.

- Buffer specificati/scolpiti 40606/40606: i buffer da scolpire sono specificati dal software Cisco IOS e il numero di buffer effettivamente scolpiti.

- code libere non IPC: i pool di buffer non IPC sono pool di buffer di pacchetti. Ai pacchetti in arrivo nella scheda di linea viene allocato un buffer da uno di questi pool di buffer a seconda delle dimensioni del pacchetto. È possibile avere solo tre code libere non IPC; se la scheda è Ethernet, il pool non sarà 4k, ma solo un pool fino a 1,5k. Infatti, le code ToFab vengono scomposte fino alla MTU (Maximum Transmission Unit) della scheda di linea in questione. L'output di esempio mostra cinque pool di buffer di pacchetti di dimensioni 80, 608, 1568, 4544 e 9248 byte. Di seguito sono riportati ulteriori dettagli per ciascun pool:

- 20254/20254 (buffer specificati/scolpiti), 49,87%, dimensioni dei dati di 80 byte - il 49,87% della memoria del pacchetto di ricezione è stata scolpita in buffer 20254 da 80 byte.

- Qnum - Numero della coda.

- #Qelem - Numero di buffer attualmente assegnati alla coda. Se si tratta di una coda libera, questi buffer sono disponibili per il sistema. Se si tratta di una coda ToFab o di una coda di trasmissione, questi buffer non sono disponibili per il sistema. Colonna da controllare per individuare la coda di cui è stato eseguito il backup.

- Testa e coda - Per garantire il corretto movimento delle code, viene utilizzato un meccanismo di testa e coda.

- Coda IPC: riservata ai messaggi di comunicazione tra processi dal LC al GRP.

- Coda non elaborata: quando a un pacchetto in ingresso è stato assegnato un buffer da una coda non libera IPC, il pacchetto viene accodato nella coda non elaborata. La coda raw è un FIFO (First In, First Out) elaborato dalla CPU LC durante gli interrupt. Se nella colonna #Qelem della riga "Raw Queue" viene visualizzato un numero molto grande, significa che la CPU ha troppi pacchetti in attesa e che inizieranno a essere ignorati perché la CPU non riesce a tenere il passo con il carico. Tuttavia, ciò è molto raro.

- ToFab Queue - Code di output virtuali; uno per slot di destinazione più uno per traffico multicast. L'ultima parte dell'esempio precedente mostra 15 code di output virtuali. Questo è un router 12012, originariamente progettato come chassis a 15 slot; le code da 13 a 15 non vengono utilizzate.

Dopo che la CPU della scheda di linea in entrata ha preso una decisione di commutazione, il pacchetto viene accodato nella coda di output virtuale corrispondente allo slot a cui è destinato. Il numero nella quarta colonna è il numero di pacchetti attualmente accodati in una coda di output virtuale.

Flusso di pacchetti nella ToFab BMA

Fase 1 - Un pacchetto viene introdotto nel PLIM (Physical Layer Interface Module). Man mano che il pacchetto viene ricevuto ed elaborato, viene memorizzato da DMA (Direct Memory Access) in una piccola memoria (circa 2 x Maximum Transmission Unit (MTU) buffer) chiamata "First In, First Out (FIFO) burst memory". La quantità di questa memoria dipende dal tipo di LC (da 128 KB a 1 MB).

2. - Quando il pacchetto è completamente in memoria FIFO, un circuito integrato specifico dell'applicazione (ASIC) sul PLIM contatta il buffer Management ASIC (BMA) e chiede un buffer per inserire il pacchetto. Al BMA viene comunicato quali sono le dimensioni del pacchetto e alloca un buffer di conseguenza. Se il BMA non è in grado di ottenere un buffer della giusta dimensione, il pacchetto viene scartato e il contatore "ignorato" viene incrementato sull'interfaccia in arrivo. Non esiste alcun meccanismo di fallback come con altre piattaforme.

3. - In questo momento, il PLIM potrebbe ricevere un altro pacchetto nella memoria burst FIFO, e questo è il motivo per cui le dimensioni sono 2 xMTU. Se nella coda corretta è disponibile un buffer libero, il pacchetto viene archiviato dalla BMA nell'elenco delle code libere delle dimensioni appropriate. Questo buffer viene inserito nella coda raw, che viene esaminata dall'ASIC Salsa o dalla CPU R5K, a seconda del tipo di motore di commutazione della scheda di linea.

Passaggio 4 - Sulla scheda LCC 0 del motore, la CPU R5K determina la destinazione del pacchetto consultando le tabelle locali dCEF (Distributed Cisco Express Forwarding) nella DRAM. Il buffer viene quindi spostato dalla coda raw alla coda ToFabric corrispondente allo slot di destinazione. Se la destinazione non è nelle tabelle dCEF, il pacchetto viene scartato. Se il pacchetto è un pacchetto di controllo (ad esempio, aggiornamenti di routing), viene accodato alla coda del GRP e viene elaborato dal GRP. Su un router 12016, ci sono 17 code ToFab (16 unicast, più un multicast).

Passaggio 5 - Il BMA ToFab accoda il buffer nella coda ToFab corretta. A questo punto, il contatore #Qelem nel pool da cui proviene il buffer diminuisce di uno e il contatore della coda ToFab aumenta di uno.

Nota: esiste una coda ToFab per scheda di linea (incluso il GRP). Queste code sono note come VOQ (Virtual Output Queues). Queste funzionalità sono importanti per evitare il blocco dell'headof-line.

Passaggio 6 - L'ASIC (Fabric Interface) rileva che una coda di output non è vuota. La FIA è impostata per segmentare il pacchetto in celle da 48 byte. Al pacchetto viene aggiunta un'intestazione da 8 byte e la cella Cisco da 56 byte viene inviata all'interno della struttura dello switch.

Memoria pacchetto di trasmissione

La memoria di trasmissione memorizza i pacchetti provenienti dal fabric dello switch e in attesa di trasmissione all'interfaccia fisica. Questa memoria è anche scolpita in pool di varie dimensioni.

Dal GRP, è possibile collegarsi a una scheda di linea ed eseguire il comando show controller frame queue per visualizzare la memoria del pacchetto di trasmissione. Oltre ai campi nell'output ToFab, l'output FrFab visualizza la sezione "Code di interfaccia". L'output varia a seconda del tipo e del numero di interfacce sul LC in uscita.

Una coda di questo tipo esiste per ogni interfaccia della scheda di linea. I pacchetti destinati a un'interfaccia specifica vengono accodati nella coda di interfaccia corrispondente.

LC-Slot1#show controller frfab queue

========= Line Card (Slot 2) =======

Carve information for FrFab buffers

SDRAM size: 16777216 bytes, address: 20000000, carve base: 2002D100

16592640 bytes carve size, 0 SDRAM bank(s), 0 bytes SDRAM pagesize, 2 carve(s)

max buffer data size 9248 bytes, min buffer data size 80 bytes

20052/20052 buffers specified/carved

16581552/16581552 bytes sum buffer sizes specified/carved

Qnum    Head       Tail               #Qelem  LenThresh

----    ----       ----               ------  ---------

5 non-IPC free queues:

9977/9977 (buffers    specified/carved), 49.75%, 80 byte data size

1       101        10077              9977    65535

5986/5986 (buffers    specified/carved), 29.85%, 608 byte data size

2       10078      16063              5986    65535

2993/2993 (buffers    specified/carved), 14.92%, 1568 byte data size

3       16064      19056              2993    65535

598/598 (buffers    specified/carved), 2.98%, 4544 byte data size

4       19057      19654              598     65535

398/398 (buffers    specified/carved), 1.98%, 9248 byte data size

5       19655      20052              398     65535

IPC Queue:

100/100 (buffers    specified/carved), 0.49%, 4112 byte data size

30      77         76                 100     65535

Raw Queue:

31      0          82                 0       65535

Interface Queues:

0       0          0                  0       65535

1       0          0                  0       65535

2       0          0                  0       65535

3       0          0                  0       65535

Nell'elenco seguente vengono descritti alcuni dei campi chiave disponibili nell'esempio precedente:

- Code libere non IPC: Queste code sono pool di buffer di pacchetti di dimensioni diverse. Quando si riceve un pacchetto sulla struttura, da una di queste code viene prelevato un buffer di dimensioni appropriate, il pacchetto viene copiato e il buffer viene posizionato sulla coda dell'interfaccia di output appropriata.

Nota: sono disponibili tutti i pool necessari per l'intero router. Di conseguenza, le code di FrFab vengono scolpite fino alla MTU massima dell'intero sistema. Ciò è diverso per le code ToFab che vengono scolpite fino alla MTU massima della scheda di linea in questione.

- Coda IPC: Riservato per i messaggi di comunicazione tra processi dal GRP al LC.

- Code di interfaccia: Queste code sono dedicate alle interfacce, non ai numeri degli slot. L'ultimo numero (65535) è TX-queue-limit. Questo numero controlla la lunghezza massima di qualsiasi coda e può essere regolato dal comando TX-queue limit sulla scheda di linea Engine 0. In caso di congestione, questo comando può essere usato per impedire al LC in uscita di memorizzare nel buffer un numero di pacchetti superiore al numero configurato nella coda di interfaccia per la porta specifica. Assicurarsi di configurare questo numero in modo che non contenga tutte le code FrFab per questa interfaccia. Tuttavia, questa sintonizzazione non fornisce alcun controllo su quali pacchetti vengono scartati sul LC in uscita. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi ai pacchetti ignorati e all'assenza di perdite di memoria su Cisco serie 12000 Internet Router.

Flusso di pacchetti nella FrFab BMA

A questo punto, le celle Cisco sono state trasmesse dalla FIA attraverso il fabric switch.

Passaggio 1 - Queste celle Cisco vengono sottoposte a DMA nei FIFO nelle FrFab FIA e quindi in un buffer sulla FrFab BMA. La FrFab BMA è quella che in realtà riassembla le celle in un pacchetto.

Come fa il FrFab BMA a sapere in quale buffer mettere le celle prima di ricomporle? Questa è un'altra decisione presa dal motore di commutazione della scheda di linea in ingresso. Poiché tutte le code sull'intera scatola hanno le stesse dimensioni e nello stesso ordine, il motore di commutazione indica al LC di trasmissione di inserire il pacchetto nella stessa coda numerica da cui è entrato nel router.

Le code FrFab BMA SDRAM possono essere visualizzate con il comando show controller frfab queue sul cavo LC.

Passaggio 2 - Questo passaggio è sostanzialmente lo stesso dell'output BMA ToFab. I pacchetti arrivano e vengono inseriti in pacchetti che vengono rimossi dalle rispettive code libere. Questi pacchetti vengono inseriti nella coda FrFab e accodati nella coda di interfaccia (esiste una coda per porta fisica) o nella coda rawQ per l'elaborazione dell'output. Non succede molto nel rawQ: Replica multicast per porta, MDRR (Modified Deficit Round Robin): stessa idea di DWFQ (Distributed Weighted Fair Queuing) e CAR (Committed Access Rate) di output. Se la coda di trasmissione è piena, il pacchetto viene scartato e il contatore di rilascio dell'output viene incrementato.

Passaggio 3 - La FrFab BMA attende finché la parte TX del PLIM non è pronta a inviare un pacchetto. La FrFab BMA esegue la riscrittura del Media Access Control (MAC) (in base alle informazioni contenute nell'intestazione della cella Cisco) e le DMA trasmettono il pacchetto a un piccolo buffer (di nuovo, 2xMTU) nel circuito PLIM. Il PLIM esegue la segmentazione ATM (Asynchronous Transfer Mode) e il riassemblaggio (SAR) e, se necessario, l'incapsulamento SONET (Synchronous Optical Network), e trasmette il pacchetto.

Informazioni correlate

- Risoluzione dei problemi relativi ai pacchetti ignorati e all'assenza di perdite di memoria sul Cisco serie 12000 Internet Router

- Risoluzione dei problemi di input sul Cisco serie 12000 Internet Router

- Come leggere l'output del comando show controller fia

- Supporto tecnico – Cisco Systems