Contents

Introduction

Antes de Começar

Conventions

Prerequisites

Componentes Utilizados

Overview

O processo do SPD

Verificação do estado do SPD

Verificação da fila de entrada

Diversos

Informações Relacionadas

Introduction

Este documento explica o mecanismo SPD (Selective Packet Discard) e como ele pode ser monitorado e ajustado.

Observação: este documento não explica como solucionar problemas de um número cada vez maior de quedas de entrada na saída show interfaces em um Cisco 12000 Series Internet Router. Para obter mais informações sobre esse problema, consulte Troubleshooting Input Drops no Cisco 12000 Series Internet Router.

Antes de Começar

Conventions

Consulte as Convenções de Dicas Técnicas da Cisco para obter informações sobre convenções de documentos.

Prerequisites

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

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

- Cisco 7200 Series Router

- Cisco 7500 Series Router

- 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.

Overview

O Selective Packet Discard (SPD) é um mecanismo para gerenciar as filas de entrada no nível de processo do processador de rotas (RP). O objetivo do SPD é dar prioridade aos Routing Protocol Packets e outros Traffic Control Layer 2 Keepalives importantes durante períodos de congestionamento de fila de nível de processo.

Historicamente, em plataformas como Cisco 7x00 e sistemas não-Cisco Express Forwarding (CEF) 7500, números significativos de pacotes de trânsito eram encaminhados pelo Processador de Rotas para preencher o cache de switching rápida. Consequentemente, o SPD era necessário nesse caso para priorizar os pacotes do protocolo de roteamento sobre os pacotes de trânsito que compartilham a mesma fila.

Atualmente, no Cisco 12000 Series Internet Router e do Cisco 7500 Series executando CEF, apenas o tráfego destinado ao próprio roteador é enviado para o nível de processo. Nesse caso, o SPD é usado para priorizar os pacotes de Routing Protocol quando o tráfego de gerenciamento, como o Simple Network Management Protocol (SNMP) está presente ou quando o um ataque de Denial of Service (DoS), enviando tráfego ao RP, está ocorrendo.

O processo do SPD

No Cisco 12000 Series, quando uma placa de linha determina que um pacote de entrada precisa de apontado no RP para processamento, o pacote viaja pelo Switch Fabric como Células Cisco e é finalmente recebido pelo recurso Cisco Cell Segmentation and Reassembly (CSAR) Field Programmable Gate Array (FPGA).

Sua finalidade é processar o tráfego entre a tela do Switch e a CPU do RP e é aí que as verificações de SPD são executadas. Isso se aplica a pacotes IP, pacotes do serviço de rede connectionless (CLNS), keepalives da Camada 2 e pacotes similares encaminhados por punt ao RP. O SPD executa duas verificações e pode possivelmente eliminar um pacote em um destes dois estados:

- Verificação do estado do SPD

- Verificação da fila de entrada

Verificação do estado do SPD

A fila do processo IP no RP é dividida em duas partes: uma fila de pacotes geral e uma fila de prioridade. Os pacotes colocados na fila geral de pacotes estão sujeitos à verificação de estado SPD e os que estão na fila prioritária não estão. Pacotes que se qualificam para a fila de pacotes prioritários são aqueles de alta prioridade, como os de precedência de IP 6 ou 7, e nunca devem ser descartados. Os não-qualificados, porém, podem ser cancelados aqui, dependendo do tamanho da fila geral de pacotes que, por sua vez, depende do estado de SPD. A fila geral de pacotes pode estar em três estados e, como tal, pacotes de baixa prioridade podem ser processados de modo diferente:

- NORMAL: tamanho da fila <= min

- QUEDA ALEATÓRIA: min <= tamanho da fila <= max

- FULL DROP: max <= tamanho da fila

No estado NORMAL, nunca descartamos pacotes bem-formados ou malformados.

No estado RANDOM DROP, descartamos aleatoriamente pacotes bem formados. Se o modo agressivo estiver configurado, todos os pacotes malformados serão descartados; caso contrário, nós os tratamos como pacotes bem formados.

Observação: essas quedas aleatórias são chamadas de descargas SPD. Basicamente, quando a interface é sobrecarregada, ocorrem liberações. Falhas de buffer fazem com que o contador de descarga aumente.

No estado FULL DROP, descartamos todos os pacotes bem-formados e malformados. Esses valores mínimo (padrão 73) e máximo (padrão 74) são derivados da menor fila de contenção do chassi, mas podem ser anulados com os comandos globais ip spd queue min-threshold e ip spd queue max-threshold.

Modo agressivo

O SPD pode ser configurado para dois modos diferentes: normal (padrão) e agressivo. A única diferença entre os dois é a forma como o roteador explica os pacotes IP inválidos (checksum inválido, versão incorreta, comprimento de cabeçalho incorreto, comprimento de pacote incorreto). Pacotes de IP malformados são eliminados por SPD quando estamos em modo agressivo e no estado de descarte aleatório. O modo agressivo pode ser configurado usando o comando ip spd mode agressive.

Observação: o modo agressivo não é implementado no Cisco 12000 Series Internet Router, pois os pacotes IP malformados são descartados diretamente pela placa de linha de entrada e esses pacotes não são direcionados ao Gigabit Route Processor (GRP). Como resultado, o modo agressivo não é necessário nesta plataforma específica.

Verificação da fila de entrada

A fila de entrada é mantida por interface de hardware, compartilhada entre todas as subinterfaces. Sem o SPD, todos os pacotes são encerrados se a fila de entrada estiver cheia quando o pacote for recebido. O tamanho padrão da fila de entrada é 75 e pode ser configurado por interface usando o hold-queue [size] no comando de configuração de interface. O número de pacotes da fila de entrada pode ser visto no campo "input queue" do comando show interfaces.

router#show interfaces pos 3/0

POS3/0 is up, line protocol is up

Hardware is Packet over SONET

Internet address is 137.40.55.2/24

MTU 4470 bytes, BW 2488000 Kbit, DLY 100 usec, rely 255/255, load 1/255

Encapsulation PPP, crc 32, loopback not set

Keepalive not set

Scramble disabled

LCP Open

Open: IPCP, CDPCP, OSICP, TAGCP

Last input 00:00:01, output 00:00:00, output hang never

Last clearing of "show interface" counters 2w3d

Queueing strategy: fifo

Output queue 0/40, 0 drops; input queue 0/75, 0 drops

30 second input rate 9000 bits/sec, 0 packets/sec

30 second output rate 0 bits/sec, 0 packets/sec

456292 packets input, 917329913 bytes, 0 no buffer

Received 0 broadcasts, 0 runts, 0 giants, 0 throttles

0 parity

0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort

112046977 packets output, 32078928095 bytes, 0 underruns

0 output errors, 0 applique, 3 interface resets

0 output buffer failures, 0 output buffers swapped out

1 carrier transitions

Observação: diminuir o tamanho da fila de entrada em uma interface pode causar um grande número de quedas de entrada em todas as outras interfaces. Certifique-se de que o tamanho mínimo de fila de espera configurado seja 75.

Espaço da SPD

Mesmo com o SPD, o comportamento dos pacotes IP normais não é alterado; no entanto, os pacotes do protocolo de roteamento recebem prioridade mais alta porque o SPD reconhece os pacotes do protocolo de roteamento pelo campo de precedência IP. Assim sendo, se a precedência de IP for definida como 6, então o pacote terá prioridade.

O SPD prioriza esses pacotes permitindo que o software os enfileire na fila de entrada do nível de processos acima do limite normal da fila de entrada. O número de pacotes permitido além do limite normal é chamado de spd headroom. O padrão é 100, o que significa que um pacote com precedência mais alta não é interrompido se o tamanho da fila de espera de entrada for inferior a 175 (tamanho padrão da fila de entrada + tamanho de spd headroom).

Desde a Versão do Software Cisco IOS 12.0(22)S, a altura livre padrão de SPD é 1000 para o Roteador de Internet da Série Cisco 12000 acomodar redes de SP maiores. Isso se deve ao fato de que o peering do Border Gateway Protocol (BGP) é usado com um número crescente de vizinhos para anunciar um número crescente de rotas por interfaces cada vez mais rápidas. Uma única limpeza do BGP pode resultar em milhares de quedas de fila de entrada em uma única interface, o que pode prejudicar gravemente os tempos de convergência.

O espaço de SPD é configurável utilizando o comando spd headroom. Seu nível atual pode ser visto na saída do comando show spd ou show ip spd.

Router#show spd

Headroom: 1000, Extended Headroom: 10

Router#show ip spd

Current mode: normal

Queue min/max thresholds: 73/74, Headroom: 1000, Extended Headroom: 10

IP normal queue: 0, priority queue: 0.

SPD special drop mode: none

Observação: o tamanho da fila IP normal também pode ser monitorado pelo comando show ip spd.

Espaço para SPD estendido

Pacotes que não são IP, como pacotes CLNS ISIS (Connectionless Network Service Intermediate System-to-Intermediate System), pacotes PPP (Protocolo ponto a ponto) e manutenções de atividades HDLC (High-Level Data Link Control) eram tratados, até recentemente, como prioridade normal como um resultado de ser camada 2 em vez de camada 3. Além disso, Protocolos de gateway interior (IGPs) operando na Camada 3 ou superior receberam prioridade sobre pacotes de IP normais, mas receberam a mesma prioridade de pacotes BGP. Por isso, durante a convergência BGP ou durante tempos de atividade BGP muito alta, as saudações e as manutenções de atividade IGP eram normalmente descartadas, causando a desativação das adjacências IGP.

Já que o IGP e a estabilidade do enlace são mais tênues e mais cruciais que a estabilidade de BGP, a estes pacotes são fornecidas prioridade mais alta e espaço de SPD estendido com um padrão de 10 pacotes. Isso significa que esses pacotes não serão descartados se o tamanho da fila de espera de entrada for inferior a 185 (tamanho padrão da fila de espera + o tamanho do headroom spd + headroom spd estendido).

O espaço de sobra do SPD estendido é configurável usando o comando spd extended [size], e seu nível atual pode ser visto na saída do comando show spd ou show ip spd.

Router#show ip spd

Current mode: normal

Queue min/max thresholds: 73/74, Headroom: 100, Extended Headroom: 10

IP normal queue: 0, priority queue: 0.

SPD special drop mode: none

Observação: no Cisco 12000 Series Internet Router, os keepalives HDLC e PPP, juntamente com os pacotes do protocolo de roteamento CLNS ISIS, são tratados como alta prioridade e podem ser enfileirados no headroom de SPD estendido desde o Cisco IOS Software Release 12.0(12)S1. Desde o Cisco IOS Software Release 12.0(18)S, todos os pacotes IGP podem ser enfileirados no espaço de cabeçalho SPD estendido também.

Diagrama da fila de entrada

Os valores padrão, anteriores ao software Cisco IOS® Versão 12.0(22)S, são:

- Tamanho da fila de entrada = 75

- Tamanho do espaço SPD = 100

- Tamanho do espaço estendido = 10

Os valores padrão, depois do software Cisco IOS versão 12.0(22)S, são:

- Tamanho da fila de entrada = 75

- Tamanho do espaço SPD = 1000

- Tamanho do espaço estendido = 10

No primeiro caso, ele oferece:

- Pacotes IP com precedência normal têm permissão de enfileirar até o limite de fila padrão (75)

- Os pacotes IP de alta prioridade podem enfileirar até o limite da fila padrão _ spd_headroom (175 ou 1075 com base na versão de software do Cisco IOS)

- Pacotes de manutenção de atividade CLNS, IGP e LC podem enfileirar até o limite de fila padrão + spd_headroom + spd_ext_headroom (185 ou 1085 com base na versão do software Cisco IOS).

Diversos

Aqui estão algumas dicas e informações adicionais sobre o SPD:

- Por padrão, SPD é "ativo". Ele pode ser ativado/desativado usando o comando global spd enable.

- Inicialmente, o SPD estava disponível apenas em interfaces de Pacote sobre Sonet (PoS).

- Antes do Cisco IOS Software Release 12.0(21)S, o SPD não funcionava em placas de linha Gigabit Ethernet (Engine 1 e Engine 2) e nas placas de linha Fast Ethernet que são instaladas em um roteador de Internet do Cisco 12000 Series. A fila de espera de entrada teve de ser aumentada para armazenar o excesso de pacotes.

- No Cisco 7200/7500 Series Router, o contador de descargas (descartes) de SPD pode ser visto na saída do comando show interfaces desde os Cisco IOS Software Releases 12.1(1), 12.1(1)T e 12.0(9)ST para enfileiramento não-FIFO (primeiro a entrar primeiro a sair) e desde 12.2(7), 12.2(7)T e 12.1(7)E para enfileiramento FIFO. Em outras versões e no Cisco 12000 Series Internet Router, esse contador só é visto digitando o comando show interface switching. Por exemplo, o comando show interface pos 0/1 switching pode ser usado para ver descargas SPD, descartes agressivos e prioridade.

Aqui está um exemplo:

7500_Router#show interfaces

FastEthernet0/0/0 is up, line protocol is up

Hardware is cyBus FastEthernet Interface, address is 0090.9282.7000 (bia 0090)

MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, rely 255/255, load 1/255

Encapsulation ARPA, loopback not set

Keepalive set (10 sec)

Full-duplex, 100Mb/s, 100BaseTX/FX

ARP type: ARPA, ARP Timeout 04:00:00

Last input 00:00:01, output 00:00:01, output hang never

Last clearing of "show interface" counters never

Queueing strategy: fifo

Output queue 0/40, 0 drops; input queue 0/75, 0 drops, 0 flushes

30 second input rate 4000 bits/sec, 9 packets/sec

30 second output rate 0 bits/sec, 0 packets/sec

2628397 packets input, 546327119 bytes, 0 no buffer

Received 0 broadcasts, 0 runts, 0 giants, 0 throttles

0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored

0 watchdog, 0 multicast

0 input packets with dribble condition detected

264792 packets output, 225434458 bytes, 0 underruns

0 output errors, 0 collisions, 20 interface resets

0 babbles, 0 late collision, 0 deferred

22 lost carrier, 0 no carrier

0 output buffer failures, 0 output buffers swapped out

Informações Relacionadas

- Troubleshooting de Quedas de Entrada no Cisco 12000 Series Internet Router

- Troubleshooting de CPU Elevada Gerados pelo Processo de BGP Scanner ou BGP Router

- Suporte Técnico - Cisco Systems