Este documento explica como ler a saída dos comandos show controller frfab queue e show controller tofab queue. Ele também oferece uma visão geral detalhada da arquitetura subjacente do Cisco 12000 Series Internet Router relacionada a essas filas especiais.
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
Não existem requisitos específicos para este documento.
As informações neste documento são baseadas em:
O Cisco 12000 Series Internet Router
Todas as versões do software Cisco IOS©
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. All of the devices used in this document started with a cleared (default) configuration. Se você estiver trabalhando em uma rede ativa, certifique-se de que entende o impacto potencial de qualquer comando antes de utilizá-lo.
Cada LC em um Roteador Interno da Série Cisco 12000 possui dois tipos de memória:
Memória de rota ou processador (RAM dinâmica - DRAM): Essa memória permite principalmente que o processador integrado execute o software Cisco IOS e armazene tabelas de roteamento de rede (Forwarding Information Base - FIB, adjacência).
Memória de pacote (RAM dinâmica síncrona - SDRAM): A memória do pacote da placa de linha armazena temporariamente os pacotes de dados aguardando decisões de switching a serem tomadas pelo processador da placa de linha.
Este documento concentra-se exclusivamente na Memória de Pacote, que é dividida em dois bancos: ToFab e FrFab (em direção à estrutura e da estrutura). A memória ToFab é utilizada para os pacotes que chegam em uma das interfaces do LC e se encaminham até a tela, enquanto que a memória FrFab é utilizada para os pacotes que saem de uma interface do LC, partindo da tela.
As filas Tofab e Frfab são os conceitos mais importantes a se entender para solucionar com eficiência problemas de pacotes ignorados no Cisco 12000 Series Internet Router. Consulte Troubleshooting de Pacotes Ignorados e Quedas Sem Memória no Cisco 12000 Series Internet Router para obter detalhes.
Observação: "ToFab" (em direção à estrutura) e "Rx" (recebido pelo roteador) são dois nomes diferentes para a mesma coisa, assim como "FrFab" (da estrutura) e "Tx" (transmitido pelo roteador). Por exemplo, ToFab Buffer Management ASIC (BMA) é também chamado de RxBMA. Este documento usa a convenção ToFab/FrFab, mas você pode ver a nomenclatura Rx/TX usada em qualquer outro lugar.
Acesso à memória de pacotes por meio do ASIC de Gerenciamento de Buffer (BMA). O BMA fornece armazenamento em buffer de pacotes e funções de gerenciamento de fila de buffer para a placa de ingresso. Todos os pacotes passam duas vezes pela BMA - uma vez entrando e uma vez saindo. Em outras palavras, os pacotes chegam a um Módulo de interface da camada física (PLIM), levam pouco tempo nos buffers SDRAM e são, em seguida, lidos nos buffers e entregues ao módulo ASIC de interface de tela (FIA). Aqui, eles estão segmentados em células Cisco e transmitidos para a tela do Switch. Em seguida, os pacotes são recebidos do Switch Fabric pelo Fabric Interaface ASIC na placa de linha de saída. Eles são remontados, vão para os buffers SDRAM, depois para o PLIM e, finalmente, são enviados pela rede.
O software Cisco IOS implementa um algoritmo de gravação de “buffer” que divide o SDRAM em buffers de vários tamanhos. O GRP e outras fontes fornecem instruções de gravação à placa de linha, que depois executa as instruções. Existem diferentes tipos de papel. Por exemplo, uma gravação simples cria um pool de buffers de mesmo tamanho, enquanto uma gravação complexa cria vários pools de tamanhos diferentes, com cada pool contendo buffers do mesmo tamanho.
Todos os buffers do mesmo tamanho estão associados em um conjunto. Um conjunto é sempre alocado para utilização de Comunicação Interprocesso (IPC). Cada QSRAM associado é atualizado com o primeiro e o último da fila, o tamanho dela, seu limiar de tamanho, os endereços de buffer associados no SDRAM e o próximo elemento da fila.
As seguintes condições seqüenciais disparam a gravação de buffer em uma placa de linha:
Carregador de inicialização sobre o barramento de manutenção (MBUS) - Simples chamada de gravação para gravar buffers que controlem o download de imagem do software Cisco IOS.
Imagem do software Cisco IOS em vigor - Chamada de gravação simples LC para ativar a comunicação entre processos (IPC) para que o GRP possa usar IPCs para dar aos LCs a especificação de gravação inicial. Todos os SDRAM disponíveis para gravação são regravados.
Quando o IPC estiver funcionando – Usando IPCs, o GRP pode chamar uma gravação LC complexa diversas vezes para regravar de forma dinâmica todo o SDRAM.
Uma configuração ou alteração manual da MTU (Maximum Transmission Unit) em uma interface faz com que a memória seja regravada. As filas FrFab são gravadas até o MTU máximo de todo o sistema, enquanto as filas ToFab são gravadas até o MTU máximo da placa de linha específica.
Observação: nós só regravamos se alterarmos o máximo de MTU para a placa de linha (filas ToFab) ou se alterarmos o máximo de MTU para todo o sistema (filas FrFab). Por exemplo, alterar o MTU de 1500 para 4470 não muda nada se já houver uma interface com MTU 4470 nessa placa de linha (filas ToFab) ou em todo o sistema (filas FrFab).
Veja o seguinte exemplo:
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
Você pode ver que há duas seções desde que a placa de linha está funcionando e que há quatro pools: 80, 608, 1568 e 4544.
Agora altere o MTU em uma interface que pertence a esta placa de linha:
Router(config)#interface pos1/0 Router(config-if)#mtu ? <64-18020> MTU size in bytes Router(config-if)#mtu 2000
Agora, conecte-se ao LC e verifique o que mudou:
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
Existem agora três seções e o tamanho máximo do buffer para a fila não IPC é 2048 bytes em vez de 4544.
As filas FrFab permanecem inalteradas:
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
O tamanho máximo do buffer é 9248 bytes. Agora, configure uma MTU de 10000 em uma outra interface em outra placa:
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
Existem agora quatro seções para as filas FrFab e o tamanho máximo do buffer foi alterado para 10064 bytes.
Observação: nas placas de linha de POS (Packet Over Sonet) configuradas com o encapsulamento PPP (Point-to-Point Protocol), a negociação da MRU (Maximum Receive Unit, Unidade máxima de recepção) ocorre, mas não ajusta o tamanho da MTU. Além disso, as conexões PPP não são redefinidas quando o MTU é alterado na interface.
Esta memória é gravada em diferentes conjuntos de buffers do pacote. Para ver como a memória de recepção é gravada, você pode se conectar a uma Placa de Linha e executar o comando show controller tofab queue, como demonstrado abaixo:
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#
A lista a seguir descreve alguns dos campos-chave encontrados no exemplo anterior:
Tamanho da SDRAM: 33554432 bytes, endereço: 30000000, base de gravação: 30029100 - O tamanho da memória do pacote de recepção e o local do endereço onde começa.
max buffer data size 9248 bytes, min buffer data size 80 bytes – Tamanhos máximo e mínimo do buffer.
40606/40606 buffers especificados/gravados - Buffers a serem gravados especificados pelo software Cisco IOS e o número de buffers realmente gravados.
filas livres não IPC - Os pools de buffer não IPC são os pools de buffer de pacotes. É alocado um buffer do pool de buffers para os pacotes que chegam à placa, dependendo do tamanho dos pacotes. É possível ter apenas três filas livres não IPC; se a placa for Ethernet, você não terá o pool 4k, mas apenas um pool de até 1,5k. Isto se deve ao fato de as filas ToFab serem gravadas até a Unidade Máxima de Transmissão (MTU) da placa de linha específica. A saída de exemplo mostra cinco pools de buffers de pacotes de tamanhos de 80, 608, 1568, 4544 e 9248 bytes. Para cada conjunto, são fornecidos detalhes adicionais abaixo:
20254/20254 (buffers especificados/gravados), 49,87%, tamanho dos dados de 80 bytes - 49.87% da memória de pacote recebida foram gravados nos buffers de 80 bytes 20254.
Qnum - O número da fila.
#Qelem - O número de buffers atribuídos àquela fila no momento. Se for uma fila livre, esses buffers estarão disponíveis para o sistema. Se essa for uma fila ToFab ou uma fila de transmissão, esses buffers não estarão disponíveis no sistema. Essa é a coluna para verificar e encontrar de qual fila foi feito backup.
Começo e fim - Um mecanismo de começo e fim é usado para garantir que as filas estejam se movimentando corretamente.
Fila IPC – Reservada para mensagens de comunicação entre processos, do LC para o GRP.
Fila Bruta – Quando um pacote de entrada é atribuído a um buffer de uma fila livre não-IPC, ele é colocado na fila bruta. A fila bruta é processada First In First Out (FIFO) pela CPU da LC durante as interrupções. Se você vir um número muito grande na coluna #Qelem da linha "Raw Queue", terá dois pacotes aguardando na CPU e eles começarão a ser ignorados, porque a CPU não pode acompanhar a carga. Mas isso é muito raro.
Fila ToFab - Filas de saída virtuais; um slot por destino mais um para tráfego de transmissão múltipla. A última parte do exemplo anterior mostra 15 filas de saída virtual. Este é um roteador 12012, originalmente projetado como um chassi de 15 slots; as filas 13 a 15 não são usadas.
Depois que a CPU da placa de ingresso toma uma decisão de comutação de pacotes, o pacote é enfileirado na fila de saída virtual correspondente ao slot para o qual o pacote é destinado. O número na quarta coluna é o número de pacotes atualmente enfileirados em uma fila de saída virtual.
Etapa 1 - Um pacote entra no módulo de interface da camada física (PLIM). Como o pacote é recebido e processado, ele recebe DMA (Acesso direto à memória) para uma pequena memória (aproximadamente o dobro do buffer da MTU - unidade de transmissão máxima) chamada memória de burst FIFO (primeiro a entrar, primeiro a sair). A quantidade desta memória depende do tipo de LC (de 128 KB a 1 MB).
Etapa 2 - Quando o pacote está completamente na memória FIFO, um circuito integrado específico de aplicativo (ASIC) no PLIM entra em contato com o BMA (Buffer Management ASIC) e pede um buffer para colocar o pacote. O BMA recebe a informação de qual o tamanho do pacote e aloca um buffer adequadamente. Se o BMA não puder obter um buffer do tamanho correto, o pacote será descartado e o contador "ignorado" será incrementado na interface de entrada. Não há mecanismo de recuo como em algumas outras plataformas.
Etapa 3 - Enquanto isso estiver acontecendo, o PLIM pode estar recebendo outro pacote na memória de intermitência FIFO, que é o motivo pelo qual ela está com duas vezes o tamanho do MTU. Se houver um buffer livre disponível na fila da direita, o pacote será armazenado pelo BMA na lista de filas livres do tamanho apropriado. Esse buffer é colocado na Fila bruta, que é examinada pelo Salsa ASIC ou pela CPU R5K, dependendo do tipo de mecanismo de comutação da placa de linha.
Passo 4 – No mecanismo 0 LC, a CPU R5K determina o destino do pacote, consultando as tabelas locais de Encaminhamento Distribuído do Cisco Express (dCEF) na DRAM. Em seguida, ela move o buffer da Fila bruta para uma fila ToFabric que corresponde ao slot de destino. Se o destino não estiver nas tabelas de dCEF, o pacote será descartado. Se o pacote for um pacote de controle (por exemplo, atualizações de roteamento), ele será enfileirado na fila do GRP e será processado pelo GRP. Em um roteador 12016, há 17 filas ToFab (16 unicast, mais um multicast).
Etapa 5 - ToFab BMA enfileira o buffer na fila ToFab apropriada. Neste ponto, o contador #Qelem do conjunto do qual veio o buffer diminui um (1) e o contador da fila ToFab aumenta um (1).
Observação: há uma fila ToFab por placa de linha (isso inclui o GRP). Essas filas são conhecidas como Filas de saída virtuais (VOQs). Eles são importantes para evitar o bloqueio de head-of-line.
Etapa 6 - O FIA (Fabric Interface ASIC, Interface de Estrutura) vê que uma fila de saída não está vazia. O FIA está configurado para segmentar o pacote em células de 48 bytes. Um cabeçalho de 8 bytes é adicionado ao pacote e a célula de 56 bytes da Cisco é enviada pela tela do Switch.
A memória de pacotes de transmissão armazena pacotes de surgem do Switch Fabric e aguardam a transmissão para a interface física. Essa memória é também gravada em pools de vários tamanhos.
A partir do GRP, é possível anexar a uma placa de linha e executar o comando show controller frfab queue para exibir a memória do pacote de transmissão. Além dos campos na saída ToFab, a saída FrFab exibe uma seção "Filas de interface". A saída varia com o tipo e o número de interfaces no LC de saída.
Uma dessas filas existe para cada interface na placa de linha. Os pacotes destinados a uma interface específica são colocados na fila da interface correspondente.
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
A lista a seguir descreve alguns dos campos-chave encontrados no exemplo anterior:
Filas livres não IPC: Essas filas são pools de buffers de pacotes de tamanhos diferentes. Quando um pacote é recebido na tela, um buffer de tamanho apropriado é tirado de uma dessas filas, o pacote é copiado para ele e o buffer é colocado na fila de interface de saída apropriada.
Observação: há tantos pools quanto necessário para todo o roteador. Como conseqüência, filas FrFab são formadas até a MTU máxima do sistema inteiro. Isso é diferente para as filas ToFab gravadas até o MTU máximo da placa de linha específica.
Fila de IPC: Reservado para mensagens de Comunicação entre Processos do GRP para o LC.
Filas de interface: Essas filas são para as interfaces, não para os números de slot. O último número (65535) é o limite de fila TX. Esse número controla o comprimento máximo de qualquer fila e pode ser ajustado pelo comando TX-queue limit na placa de linha Engine 0. Se você enfrentar algum congestionamento, esse comando poderá ser usado para impedir o LC de egresso de armazenar em buffer mais do que o número configurado de pacotes na fila da interface para essa porta específica. Certifique-se de que este número esteja configurado baixo o suficiente, de modo que não contenha todas as filas FwFab para esta interface. No entanto, esse ajuste não fornece um controle sobre os pacotes que são descartados no LC de saída. Consulte Troubleshooting de Pacotes Ignorados e Quedas Sem Memória no Cisco 12000 Series Internet Router para obter detalhes.
Neste ponto, as células Cisco foram transmitidas pela matriz de comutação pelo FIA.
Etapa 1 - Essas células Cisco são acessadas como DMA em FIFOs nos FIAs de FrFab e depois em um buffer no BMA de FrFab. O FrFab BMA é o que realmente faz a remontagem de células em um pacote.
Como o FrFab BMA reconhece em que buffer colocar as células antes de reagrupá-las? Esta é outra decisão tomada pelo mecanismo de switching da placa de linha recebida. Como todas as filas em toda a caixa têm o mesmo tamanho e na mesma ordem, o mecanismo de comutação instrui o LC transmissor a colocar o pacote na fila de número igual a partir da qual ele entrou no roteador.
As filas FrFab BMA SDRAM podem ser visualizadas com o comando show controller frfab queue no LC.
Etapa 2 Esta etapa é basicamente a mesma da saída ToFab BMA. Os pacotes chegam e são colocados em pacotes que são retirados de suas respectivas filas livres. Esses pacotes são colocados na fila FrFab e enfileirados na fila da interface (há uma fila por porta física) ou no rawQ para o processamento de saída. Pouca coisa acontece na cruzQ: replicação multicast por porta, Rodízio de Déficit Modificado (MDRR - Modified Deficit Round Robin) - mesma ideia do Enfileiramento Moderado Ponderado Distribuído (DWFQ - Distributed Weighted Fair Queuing) e Taxa de Acesso Consolidada de Saída (CAR - Committed Access Rate). Se a fila de transmissão estiver cheia, o pacote será descartado e o contador de queda de emissor será incrementado.
Etapa 3 - O FrFab BMA espera até que a parte TX do PLIM esteja pronta para enviar um pacote. O FrFab BMA faz a regravação real do Media Access Control (MAC) (lembre-se, com base nas informações contidas no cabeçalho de célula da Cisco) e o DMAS envia o pacote por meio de um pequeno (novamente, 2xMTU) buffer nos circuitos PLIM. O PLIM faz a SAR (Segmentação e remontagem) do ATM (Modo de transferência assíncrono) e o encapsulamento da SONET (Rede Ótica Síncrona), onde for adequado, e transmite o pacote.