Este documento descreve a vida útil de um pacote.
Não existem requisitos específicos para este documento.
Este documento não se restringe a versões de software e hardware específicas.
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.
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
Os roteadores Cisco low-end incluem as séries 1xxx, 25xx, 26xx, 3600, 3800, 4000, 4500 e 4700. Com esses roteadores, uma mensagem é enviada em um fio por alguém e recebida por um controlador em outro sistema. Esse controlador, na maioria dos sistemas, armazena o pacote diretamente na memória do buffer. Quando a mensagem é completamente recebida, o controlador armazena algumas informações importantes de modo que o driver de entrada possa localizá-las e, em seguida, apresenta uma interrupção de recebimento.
Observação: se o controlador não tiver buffers nos quais armazenar a mensagem, registrará um "ignorar" neste ponto e não receberá a mensagem.
Em algum ponto no futuro, normalmente medido em microssegundos, um driver se torna ativo. O driver primeiro verifica a fila de transmissão e, posteriormente, verifica a fila de recepção. Por enquanto, nos concentraremos no processamento da fila de recepção. O driver verifica os aspectos necessários da fila, decide que há uma mensagem, remove a mensagem da fila e reabastece a lista de buffers de recepção do controlador. Em seguida, decide para que encaminhador, como IP ou Internet Packet Exchange (IPX), entregar a mensagem.
Para esta explicação, considere-a como uma mensagem de IP O driver precisará processar a mensagem IP para o caminho rápido de IP configurado. Primeiro, ele remove o cabeçalho da camada de enlace da mensagem e determina se um caminho rápido está configurado na interface de ingresso. Se nada estiver configurado, o pacote será colocado (marcado) na "fila de organização de entrada" e um contador será inspecionado. Se o contador for zero, a "fila de retenção de entrada" será esgotada e o pacote será descartado. Se o contador não for zero, ele será decrementado e a mensagem será colocada na fila para o caminho do processo.
Observação: a "fila de retenção de entrada" não é uma fila no sentido literal. É um conjunto de pacotes que foi recebido em uma interface e não é totalmente processado (encaminhando a mensagem para uma interface de saída ou liberando o buffer). Entretanto, se houver um caminho rápido configurado (e normalmente há), a mensagem será entregue nele.
Agora, o caminho rápido valida a mensagem e aplica alguns conjuntos de recursos à mensagem não roteada. Esta etapa inclui descriptografar ou descompactar, ou ambos (se necessário), executar a NAT (Network Addresses Translation), aplicar testes de taxa de acesso comprometida (CAR) de entrada, aplicar testes de roteamento de política e assim por diante.
O roteamento de política, se usado, realmente seleciona a interface de saída. Se o roteamento de política não for utilizado, o próximo passo é procurar o endereço de destino no cache da rota, um processo chamado switching do pacote. Dependendo do modo de switching rápida, a estrutura e o conteúdo desse cache varia. Na switching rápida padrão, o cache contém rotas de prefixo de destino ou rotas de host de destino que foram usadas recentemente e, às vezes, não tem uma entrada de cache. Nesse caso, a mensagem é enviada ao nível de processo, novamente marcada como estando na “fila em espera de entrada". Na switching do Cisco Express Forwarding, o cache (chamado Base de informações de encaminhamento ou FIB) é uma tabela de rota completa, portanto aquele processo não ocorre.
Se for encontrada uma rota, a entrada do cache de rota (ou adjacência, como é chamada no Cisco Express Forwarding) indica o software de saída, a interface de hardware e o cabeçalho para colocar na mensagem (próximo salto relevante). Para interfaces multiplexadas, este seria o próximo circuito virtual ou canal virtual relevante.
Nessa interface de software, há vários problemas que podem se aplicar. Por exemplo, a interface pode ter sido configurada com uma MTU (Unidade máxima de transmissão) menor que o tamanho da mensagem. Como não há nenhum fragmento no caminho rápido, esse evento específico seria um motivo para "bater" no nível do processo. Além disso, a interface pode ser configurada para processamento de NAT, saída CAR e assim por diante. A esta altura do processamento da mensagem, tais recursos são aplicados. Finalmente, o cabeçalho da camada de enlace da interface de saída é afixado à mensagem e entregue ao driver de saída.
A mensagem é apresentada para a rotina de envio rápido do driver que executa os seguintes passos.
O driver faz diversas perguntas, como: "Eu preciso copiar a mensagem para um novo buffer antes de transmiti-la?"
Isso determina se a modelagem de tráfego está ativa. Se a modelagem de tráfego estiver ativa, ele comparará a taxa de chegada de mensagens à taxa de transmissão de mensagens para a classe indicada de mensagens. Se um fila de modelagem estiver se formando na subinterface ou se a fila não estiver presente, mas a taxa tiver sido excedida, ela colocará a mensagem em uma fila na interface do software.
Se a modelagem de tráfego não estiver ativada, não se aplicar a esta mensagem ou a taxa não tiver sido excedida, o driver perguntará se a profundidade da fila de transmissão do controlador de saída é inferior ao limite de fila tx (tx-queue-limit). Caso esteja abaixo do limite, o driver simplesmente enfileira a mensagem para transmissão. Uma mensagem que seguiu esse caminho é considerada como tendo sido rapidamente comutada na entrada e rapidamente comutada na saída.
Se não puder ser comutado rapidamente, no entanto, o driver encaminha a mensagem para uma fila de software, que é geralmente chamada de "fila de espera de saída". Exemplos dessas filas de espera incluem o enfileiramento First In, First Out (FIFO), o enfileiramento de prioridade, o enfileiramento personalizado e o Weighted Fair Queuing (WFQ).
Como esse é o destino das mensagens que seguem o caminho do processo também, tais mensagens são consideradas como tendo sido comutadas rapidamente na entrada e comutadas por processo na saída. Observe que eles não foram, na verdade, comutados por processos. A decisão de switching foi tomada quando o pacote foi comutado no caminho rápido. Entretanto, a mensagem foi desviada para uma fila, que é compartilhada com o caminho de processo. É considerado como sendo comutado por processo, num momento posterior, quando a mensagem é removida da fila de espera e colocada em fila para o controlador de transmissão.
A comutação de processos é o que acontece quando a mensagem não pode ser transmitida no caminho rápido. Isso significa que a mensagem foi enviada para esse sistema e, no final, será consumida (idealmente) por um processo de roteamento, um processo de manutenção de link, um processo de gerenciamento de rede e assim por diante. No entanto, algum tráfego de fato passa pelo caminho do processo, como o tráfego que está usando LFI (Link Fragmentation and Interleave) para intercalar voz entre segmentos de um jumbograma, tráfego X.25, tráfego que requer fragmentação e tráfego para o qual não havia entrada de rota de caminho rápido. O processamento no caminho do processo é conceitualmente idêntico ao no caminho rápido, mas difere na implementação por várias razões. Uma das diferenças é que na saída, o sinalizador "fila de espera de entrada" é limpo e o contador na interface de entrada é incrementado (removendo a mensagem da fila de espera de entrada), e a mensagem é enfileirada na fila de espera de saída. Em seguida, uma interrupção é simulada, o que pode provocar a transmissão da mensagem na interface de saída. É mais lento do que a comutação rápida devido à sobrecarga do processo; pode haver outro processo em execução quando essa mensagem é recebida e há algumas estruturas de dados mais complexas que precisam ser tratadas.