Roteadores : Roteadores Cisco 12000 Series

Arquitetura do Cisco 12000 Series Internet Router: Switching de Pacotes

23 Maio 2008 - Tradução Manual
Outras Versões: Versão em PDFpdf | Tradução por Computador (29 Julho 2013) | Inglês (7 Julho 2005) | Feedback


Índice

Introdução
Pré-requisitos
     Requisitos
     Componentes Usados
     Convenções
Informações Complementares
Switching de Pacotes: Visão geral
Switching de Pacotes: Placas de Linha Engine 0 e Engine 1.
Switching de Pacotes: Placas de Linha Engine 2.
Switching de Pacotes: Comutando Células na Estrutura
Switching de Pacotes: Transmitindo Pacotes
Sumário do Fluxo de Pacotes
Discussões relacionadas da comunidade de suporte da Cisco
Informações Relacionadas

Introdução

Este documento examina os elementos de arquitetura mais importantes do Cisco 12000 Series Internet Router: switching de pacotes. O switching de pacotes é radicalmente diferente de qualquer uma das arquiteturas Cisco com base em memória compartilhada ou barramento. Ao usar uma estrutura crossbar, o Cisco 1200 fornece quantidades muito altas de largura de banda e escalabilidade. Além disso, o 12000 usa filas de saída virtual para eliminar o Head of Line Blocking dentro da estrutura de switching.

Pré-requisitos

Requisitos

Não existem requisitos específicos para este documento.

Componentes Usados

As informações neste documento se baseiam nas seguintes versões de hardware:

  • roteador da série Cisco 12000 para Internet.

As informações apresentadas neste documento foram criadas a partir dos dispositivos em um ambiente de laboratório específico. Todos os dispositivos usados neste documento foram iniciados com uma configuração vazia (padrão). Se a sua rede estiver ativa, certifique-se de entender o impacto potencial de todos os comandos.

Convenções

Para obter mais informações sobre convenções em documentos, consulte as Convenções de Dicas Técnicas da Cisco.

Informações Complementares

(A decisão de switching em um Cisco 12000 é feita pelas placas de linha (LCs). Para algumas LCs, um ASIC (Circuito integrado específico do aplicativo) é capaz de comutar os pacotes. O switching Distributed Cisco Express Forwarding (dCEF) é o único método de switching disponível.

Observe: os Engines 0, 1 e 2 não são os desenvolvidos mais recentemente pela Cisco. Também existem as placas de linha Engine 3, 4 e 4+, e outras mais virão. As placas de linha do Engine 3 são capazes de executar recursos de extremidade na taxa de linha. Quanto maior o engine da Camada 3, mais pacotes são trocados no hardware. Você pode encontrar informações úteis sobre as diferentes placas de linha disponíveis para o Cisco 12000 Series Router e o engine em que elas se baseiam em Cisco 12000 Series Internet Router: Perguntas Mais Freqüentes

Switching de Pacotes: Visão geral

Os pacotes sempre são encaminhados pela placa de linha (LC) de entrada. A LC de saída realiza Quality of Service (QoS) de saída que é uma fila dependente (por exemplo, Weighted Random Early Detection (WRED) ou Committed Access Rate (CAR)) A maioria dos pacotes é comutada pela LC que usa Cisco Express Forwarding (dCEF) Distribuída. Apenas os pacotes de controle (como, por exemplo, atualizações de roteamento) são enviados para o GRP (Gigabit Route Processor) para processamento. O caminho de switching dos pacotes depende do tipo de engine de comutação usado no LC.

É o que ocorre quando um pacote chega.

  1. Um pacote entra no PLIM (módulo de interface da camada física). Várias coisas acontecem aqui:

    • Um transceptor transforma sinais óticos em elétricos (a maioria das placas de linha CSR têm conectores de fibra)

    • O enquadramento L2 é removido (SANE, Asynchronous Transfer Mode (ATM), Ethernet, High-Level Data Link Control (HDLC)/Point-to-Point Protocol - PPP)

    • As células ATM são remontadas

    • Pacotes que falham na verificação de redundância cíclica (CRC) são descartados

  2. Como o pacote é recebido e processado, ele é acessado diretamente na memória em uma pequena memória (aproximadamente o dobro do buffer da unidade de transmissão máxima [MTU]) chamada “memória de burst FIFO (primeiro a entrar, primeiro a sair)”. A quantidade dessa memória depende do tipo de LC (de 128 KB a 1 MB).

  3. Quando o pacote estiver totalmente na memória FIFO, um circuito integrado específico do aplicativo (ASIC) no PLIM entra e contato com o ASIC do gerenciamento do buffer (BMA) e pede a um buffer para colocar o pacote para dentro. O BMA recebe a informação do tamanho do pacote e aloca um buffer de acordo. Se o BMA não obtiver um buffer do lado direito, o pacote será descartado e o contador "ignorar" será incrementado na interface de entrada. Não há mecanismo de fallback como ocorre com algumas plataformas. Enquanto isto está acontecendo, o PLIM poderia estar recebendo outro pacote na memória de intermitência FIFO, por isso é que tem o tamanho 2xMTU.

  4. Se houver um buffer livre disponível na fila correta, o pacote é armazenado pelo BMA na lista da fila livre do tamanho apropriado. Esse buffer é colocado na Fila Bruta, que é examinada pela Salsa ASIC ou pela R5K CPU. A CPU R5K determina o destino do pacote, consultando sua tabela local dCEF na RAM dinâmica (DRAM); em seguida, desloca o buffer da fila bruta para uma fila ToFabric correspondente ao slot de destino.

    Se o destino não estiver na tabela de CEF, 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. Há 17 filas ToFab (16 unicast mais 1 multicast). Existe uma fila To Fab por placa de linha (incluindo a RP). Essas filas são conhecidas como “filas virtuais de saída” e são importantes para que não ocorra bloqueio no início da fila.

  5. O BMA da ToFab corta o pacote em pedaços de 44 bytes, que são o payloads do que posteriormente serão conhecidas como “células Cisco”. A essas células é fornecido pelo BMA frFab um cabeçalho de 8 bytes e um cabeçalho de buffer de 4-bytes (tamanho total dos dados até agora = 56 bytes) e, em seguida, elas são enfileiradas na própria fila ToFab (neste ponto, o contador #Qelem no conjunto do qual o buffer é proveniente diminui em um ponto e o contador de fila ToFab aumenta em um ponto).

    O "responsável pelas decisões" depende do tipo de engine de switching:

    Nas placas do Engine 2+, um ASIC especial é usado para aprimorar a forma de comutação dos pacotes. Pacotes normais (IP/Tag, nenhuma opção, checksum) são processados diretamente pelo Packet Switching ASIC (PSA), em seguida, ignoram a combinação de fila bruta/CPU/Salsa e são colocados diretamente na fila toFab. Somente os primeiros 64 bytes do pacote são transferidos pelo ASIC de switching de pacotes. Se o pacote não puder ser comutado pelo PSA, ele será colocado na fila RawQ para ser tratado pelo CPU do LC, como explicado anteriormente.

    Nesse momento, a decisão de switching terá sido tomada e o pacote terá sido enfileirado na fila de saída ToFab adequada.

  6. O BMA toFab faz um DMA (Acesso Direto à Memória) das células em buffers FIFO pequenos na interface da estrutura ASIC (FIA). Existem 17 buffers FIFO (um por fila ToFab). Quando a FIA obtém uma célula do BMA da toFab, ela adiciona um CRC de 8 bytes (tamanho total da célula: 64 bytes, 44 bytes de payload, 8 bytes de cabeçalho de célula, 4 bytes de cabeçalho de buffer). O FIA contém ASCIs de interface de linha serial (SLI) que então efetuam uma codificação 8B/10B na célula (como Interface de Dados Distribuídos de Fibra Ótica, FDDI, 4B/5B) e se prepara para transmiti-la sobre a estrutura. Isso é muito semelhante com uma sobrecarga (44 bytes de dados se transformam em 80 bytes na estrutura!), mas não é um problema, pois a capacidade da execute foi aprovisionada apropriadamente.

  7. Agora que a FIA está pronta para transmitir, ela solicita acesso à estrutura a partir do relógio e agendador de placa (CSC) ativo no momento. O CSC funciona em um algoritmo de imparcialidade bastante complexo. A idéia é que nenhuma LC tenha permissão de monopolizar a largura de banda de saída de nenhuma outra placa. Observe que mesmo se uma LC quiser transmitir dados pelas suas próprias portas, ainda tem que passar pela estrutura. Essa característica é importante porque, não fosse por ela, uma porta em um LC poderia monopolizar toda a largura de banda de outra porta nesse mesmo LC. Também tornaria mais complicado o desenho de switching. O FIA envia células pela estrutura do switch para a LC de saída (especificada por dados no cabeçalho do Cisco Cell atribuídos pelo engine de switching).

    O algoritmo de imparcialidade também é desenhado para correspondência ideal; se a placa 1 desejar transmitir para a placa 2, e se a placa 3 desejar transmitir para a placa 4 ao mesmo tempo, isso acontecerá em paralelo. Essa é a grande diferença entre uma estrutura de switch e uma arquitetura de barramento Pense nele como análogo a um switch de Ethernet versus um hub; em um switch, se a porta A desejar enviar para a porta B, e se a porta C desejar falar com a porta D, os dois fluxos acontecem de forma independente. Em um hub, há problemas de semiduplex como algoritmos de colisões, retrocesso e novas tentativas.

  8. As Cisco Cells que vêm da estrutura vão para o processamento de SLI para remover a codificação de 8B/10B. Se houver erros aqui, eles aparecem a saía de comando show controller fia como “cell parity”. Consulte How To Read the Output of the show controller fia Command (Como Ler a Saída do Comando show controller fia) para obter mais informações.

  9. 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 BMA da frFab geralmente é o que faz a remontagem das células no pacote.

    Como o BMA da FrFab sabe em que buffer colocar as células antes de remontá-las? Essa é outra decisão tomada pelo engine de switching da placa de linha de entrada. Como todas as filas de toda a caixa são do mesmo tamanho e estão na mesma ordem, o engine de switching simplesmente faz com que o Tx LC coloque o pacote na fila com o mesmo número que ele entrou no roteador.

    As filas de frFab do BMA SDRAM podem ser vistas com o comando show controller frfab queue na LC. Consulte How To Read the Output of the show controller frfab | tofab queue Commands on a Cisco 12000 Series Internet Router (Como Ler a Saída do Comando em um Cisco 12000 Series Internet Router) para obter detalhes.

    Essa é basicamente a mesma idéia da saída toFab BMA. Os pacotes entram e são colocados em pacotes desenfileirados de suas respectivas filas livres. Esses pacotes são colocados na fila from-fabric, enfileirados na fila de interface (há uma fila por porta física) ou na rawQ para processamento de saída. Não acontece muito na rawQ: replicação de multicast por porta, Rodízio de déficit modificado (MDRR) – mesma idéia que o Enfileiramento moderado ponderado distribuído (DWFQ) e CAR de saída. Se a interface transmitir que a fila está cheia, o pacote será descartado e o contador de queda de fila de saída será aumentado.

  10. O BMA da frFAb aguarda até a parte de TC do PLIM estar pronta para enviar um pacote. O BMA da frFab faz a regravação real do MAC (lembrando que essa regravação é feita com base nas informações contidas no cabeçalho de célula do sistema Cisco) e dos DMAs do pacote em um buffer pequeno (novamente um 2xMTU), nos circuitos PLIM. O PLIM encapsula o SAR e o SONET do ATM, quando apropriado, e transmite o pacote.

  11. O tráfego ATM é remontado (pelo SAR), segmentado (pelo BMA tofab), remontado (pelo BMA da fromfab) e segmentado novamente (pelo SAR fromfab). Isto ocorre muito rápido.

Esse é o ciclo de vida de um pacote, do começo ao fim. Se desejar saber como um GSR se sente no final do dia, leia todo este documento 500 mil vezes!

O caminho de switching do pacote no GSR depende do tipo de engine de encaminhamento da LC. Agora, revisaremos todos os passos do Engine 0, Engine 1 e as duas LCs.

Switching de Pacotes: Placas de Linha Engine 0 e Engine 1.

As seções abaixo são baseadas no livro Inside Cisco IOS Software Architecture (Por dentro da arquitetura Cisco IOS), Cisco Press.

A Figura 1 abaixo ilustra as diferentes etapas de comutação de um pacote de uma LC Engine 0 um Engine 1.

Figura 1: Caminho de Switching de Engine 0 e Engine 1.

packetsw1.gif

O caminho de switching da LC Engine o e Engine 1 é essencialmente o mesmo, embora a LC Engine 1 tenha um mecanismo de switching mais aprimorado e um gerenciador do buffer para um desempenho mais alto. O caminho de switching é o seguinte:

  • Etapa 1 - O processador de interface (PLIM) detecta um pacote na mídia de rede e começa a copiá-lo em uma memória FIFO chamada de memória de resposta na LC. A quantidade de memória de resposta de cada interface depende do tipo de LC. As típicas têm de 128 KB a 1 MB de memória de resposta.

  • Etapa 2 - o processador de interface solicita um buffer do pacote do BMA de recebimento; o pool de onde o buffer é requisitado depende do tamanho do pacote. Se não houver nenhum buffer livre, a interface será descartada e o contador "ignore" (ignorar) da interface será incrementado. Por exemplo, se um pacote de 64 bytes atingir uma interface, o BMA tentará alocar um buffer de pacote de 80 bytes. Se não houver buffers livres no pool de 80 bytes, não serão alocados buffers do próximo pool disponível.

  • Etapa 3 - Quando um buffer livre é alocado pelo BMA, o pacote é copiado para o buffer e enfileirado na Fila Bruta (RawQ) para processamento pela CPU. Uma interrupção é enviada para a CPU da LC.

  • Etapa 4 - A CPU da LC processa cada pacote na RawQ como eles são recebidos (a RAwQ é uma FIFO), consultando a tabela da Cisco Express Forwarding Distribuída local na DRAM para tomar uma decisão de switching.

    • 4.1 Se este for um pacote IP de unicast com endereço de destino válido na tabela CEF, o cabeçalho do pacote será regravado com as novas informações de encapsulamento obtidas na tabela CEF adjacente. O pacote comutado é enfileirado na fila de saída virtual peer ao slot de destino.

    • 4.2Se o endereço de destino não estiver na tabela CEF, o pacote será descartado.

    • 4.3 Se o pacote for um pacote de controle (uma atualização de roteamento, por exemplo), será enfileirado na fila de saída virtual do GRP e processado pelo GRP.

  • Etapa 5 – O BMA de recepção fragmenta o pacote em células de 64 bytes e as transfere para o FIA, para transmissão ao LC de saída.

No final da Etapa 5, o pacote que chegou em uma LC Engine 0/1 terá sido comutado e estará pronto para ser transportado pela estrutura do switch como células. Vá para a Etapa 6 da seção Switching de Pacotes Comutando Células na Estrutura.

Switching de Pacotes: Placas de Linha Engine 2.

A Figura 2 abaixo ilustra o caminho de switching do pacote quando os pacotes chegam na LC Engine 2, como descrito na lista de etapas a seguir.

Figura 2: Caminho de Switching do Engine 2

packetsw2.gif

Switching de Pacotes: Comutando Células na Estrutura

Você chega nesse estágio depois de o engine de switching do pacote comutar os pacotes. Nesse estágio, os pacotes são segmentados em células Cisco e estão aguardando para serem transmitidos pela estrutura de switching. As etapas para esse estágio são as seguintes:

  • Etapa 6 O FIA envia uma solicitação de concessão ao CSC, que programa a transferência de cada célula ao logo da estrutura do switch.

  • Etapa 7 - Quando o agendador concede acesso à estrutura do switch, as células são transferidas para o slot de destino. Observe que as células podem não ser transmitidas todas de uma vez; outras células dos pacotes podem ser entrelaçadas.

Switching de Pacotes: Transmitindo Pacotes

A Figura 3 abaixo mostra o último estágio do switching de pacotes. As células são remontadas e o pacote é transmitido na mídia. Isso ocorre na placa de linha de saída.

Figura 3: Switching de Pacotes no Cisco 12000: Estágio de Transmissão

packetsw3.gif

  • Passo 8 - As células comutadas pela estrutura chegam à placa de linha de destino pelo FIA.

  • Passo 9 O gerenciador de buffer de transmissão aloca um buffer da memória do pacote de transmissão e remonta o pacote nesse buffer.

  • Passo 10 - Quando o pacote é recriado, o BMA de transmissão coloca o pacote na fila de transmissão da interface de destino no LC. Se a interface transmitir que a fila está cheia (o pacote não pode ser enfileirado), o pacote será descartado e o contador de queda de fila de saída será aumentado.

    Observação: Na direção de transmissão, a única vez que os pacotes são colocados no RawQ é quando o a CPU da LC precisa fazer algum processamento antes da transmissão. Exemplos incluem fragmentação de IP, multicast e CAR de saída.

  • Passo 11 - O processador de interface detecta um pacote aguardando para ser transmitido, retira o buffer da fila da memória de transmissão, copia-o na memória FIFO interna e transmite o pacote na mídia.

Sumário do Fluxo de Pacotes

Pacotes IP que atravessam o 12000 são processados em três fases:

  • Placa de linha de ingresso em três seções:

    • PLIM (Physical Line Interface Module) de Entrada – conversão de ótica para elétrica, desenquadramento de Synchronous Optical Network (SONET)/Synchronous Digital Hierarchy (SDH) e processamento de PPP.

    • IP Forwarding – Decisão de encaminhamento com base na consulta FIB e no enfileiramento em uma das filas de unicast de ingresso ou nas filas de multicast.

    • Gerenciamento de fila de ingresso e interface da estrutura - Processamento da RED (Detecção antecipada aleatória)/WRED (Detecção antecipada aleatória ponderada) nas filas de ingresso e saída em direção à tela para maximizar a utilização da estrutura.

  • Switching de pacotes IP através da estrutura 12000 da placa de entrada para a placa de saída ou as placas de saída (no caso de multicast).

  • Placa de linha de saída em três seções:

    • Interface de Estrutura de Saída – Remontagem dos pacotes IP para envio e enfileiramento nas filas de saída; processamento de pacotes de multicast.

    • Gerenciamento da fila de egresso - processamento da RED/WRED nas filas de ingresso e egresso em direção ao PLIM de egresso para maximizar a utilização da linha de egresso.

    • Processamento de saída PLIM - HDLC e PPP, enquadramento SONET/SDH, conversão elétrica para ótica.


Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Informações Relacionadas


Document ID: 47320