Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Configure o tamanho do buffer do agendador para gerenciar o congestionamento de saída

Explosões de tráfego são comuns e podem subscrever demais uma fila ou porta por alguns milissegundos ou menos, levando à queda de pacotes críticos. O buffer profundo configurável permite que as filas lidem com o tráfego estourado e tampão de pacotes críticos por curtos períodos de tempo, mitigando a perda de pacotes críticos.

Para controlar o congestionamento no estágio de saída, você pode configurar a largura de banda de buffer de atraso. A largura de banda de buffer de atraso oferece espaço de buffer de pacotes para absorver o tráfego de explosão até a duração especificada do atraso. Assim que o buffer de atraso especificado estiver cheio, os pacotes com probabilidade de queda de 100% são retirados da cabeça do buffer.

A taxa de transmissão de agendador padrão para filas de 0 a 7 é de 95, 0, 0, 0, 0, 0, 0 e 5 por cento do total de largura de banda disponível.

As porcentagens de tamanho de buffer padrão para filas de 0 a 7 são de 95, 0, 0, 0, 0, 0, 0 e 5 por cento do buffer total disponível. O buffer total disponível por fila difere por tipo PIC.

Para configurar o tamanho do buffer, inclua a buffer-size declaração no nível de [edit class-of-service schedulers scheduler-name] hierarquia:

Para cada agendador, você pode configurar o tamanho do buffer como um dos seguintes:

  • Uma porcentagem do buffer total. O buffer total por fila é baseado em microssegundos e difere pelo tipo de dispositivo de roteamento.

  • O buffer restante disponível. O restante é a porcentagem de buffer que não é atribuída a outras filas.

  • Compartilhado do pool de buffer da interface. Nos roteadores da Série PTX, configure um buffer de fila para até 100% do buffer da interface. Essa opção permite que o buffer da fila cresça até 100% do buffer da interface se e somente se for a única fila ativa para a interface.

  • Um valor temporal em microssegundos. Para a configuração temporal, o algoritmo de fila começa a soltar pacotes quando faz filas mais do que um número computado de bytes. Esse máximo é computado multiplicando a taxa de transmissão da fila pelo valor temporal configurado.

    Nota:

    Em geral, o valor de buffer temporal padrão está inversamente relacionado à velocidade ou taxa de modelagem da interface. À medida que a velocidade da interface aumenta, a interface precisa de cada vez menos buffer para reter dados, pois é possível que a interface envie cada vez mais dados.

    Como os recursos de hardware disponíveis para configurar configurações de buffer temporal são limitados, recomendamos ter uma configuração de buffer temporal comum o máximo possível.

Em geral, você pode configurar o tamanho de buffer do agendador para agendadores de portas e agendadores hierárquicos. Para agendadores de portas, o Junos calcula o tamanho de buffer compartilhado com base nos seguintes:

  • Se um shaper de porta estiver configurado, o Junos calcula o tamanho do buffer com base no shaper da porta.

  • Se nenhum shaper de porta estiver configurado, o Junos calcula o tamanho do buffer com base na velocidade da porta.

Para agendadores hierárquicos, o Junos calcula o tamanho de buffer compartilhado com base nos seguintes:

  • Se um shaper estiver configurado na interface lógica, o Junos calcula o tamanho do buffer com base no shaper de porta da interface lógica.

  • Se um shaper de porta estiver configurado, mas sem shaper de interface lógica, o Junos calcula o tamanho do buffer com base no shaper da porta.

  • Se nenhum shaper estiver configurado, o Junos calcula o tamanho do buffer com base na velocidade da porta.

Exemplo: configure o valor de buffer de atraso para um agendador

Você pode atribuir a uma interface física ou lógica um mapa de agendamento que consiste em diferentes agendadores (ou filas). O grande buffer de atraso da interface física pode ser distribuído aos diferentes agendadores (ou filas) usando as declarações e buffer-size declarações transmit-rate no nível de [edit class-of-service schedulers scheduler-name] hierarquia.

Este exemplo mostra dois agendadores esched-exped, sched-best com o tamanho do buffer de atraso configurado como uma porcentagem (20 por cento) e valor temporal (300.000 microssegundos), respectivamente. O sched-best agendador tem uma taxa de transmissão de 10%. O sched-exped agendador tem uma taxa de transmissão de 20%.

O sched-best buffer de atraso do agendador é o dobro da taxa de transmissão especificada de 10%. Assumindo que o sched-best agendador seja atribuído a uma interface T1, este agendador recebe 20% do total de 500.000 microssegundos do buffer de atraso da interface T1. Portanto, o agendador recebe 18.750 bytes de buffer de atraso:

Assumindo que o sched-exped agendador seja atribuído a uma interface T1, este agendador recebe 300.000 microssegundos do buffer de atraso de 500.000 microssegundos da interface T1 com a taxa de tráfego em 20%. Portanto, o agendador recebe 11.250 bytes de buffer de atraso:

Para configurar este exemplo:

  1. Configure o sched-best agendador.
  2. Especifique a taxa de transmissão de 10%.
  3. Especifique o tamanho do buffer em 20%.
  4. Configure o sched-exped agendador.
  5. Especifique a taxa de transmissão de 20%.
  6. Especifique o valor temporal do tamanho do buffer (300.000 microssegundos).
  7. Verifique a configuração.
  8. Reserve a configuração.

Exemplo: configure a taxa de modelagem da interface física

Em geral, a velocidade da interface física é a base para o cálculo do tamanho do buffer de atraso. No entanto, quando você inclui a shaping-rate declaração, a taxa de modelagem torna-se a base para o cálculo do tamanho do buffer de atraso.

Este exemplo configura a taxa de modelagem em uma interface T1 para 200 Kbps, o que significa que a largura de banda da interface T1 está definida para 200 Kbps em vez de 1,5 Mbps. Como 200 Kbps são menores que 4xDS0, essa interface recebe 4 segundos de buffer de atraso, ou 800 Kbps de tráfego, que é de 800 KB por um segundo completo.

  1. Especifique a interface na qual você deseja configurar a taxa de modelagem.
  2. Especifique a taxa de modelagem.
  3. Verifique a configuração.
  4. Reserve a configuração.

Configuração completa

Este exemplo mostra um PIC de IQ OC12 canalizado no slot FPC 0, slot PIC 0 e uma interface T1 canalizada com encapsulamento Frame Relay. Ele também mostra uma configuração do mapa do agendador na interface física.

Habilitação e desativação da dinâmica de alocação de memória por fila

No Junos OS, a dinâmica de alocação de memória (MAD) é um mecanismo que provisiona dinamicamente buffer de atraso extra quando uma fila está usando mais largura de banda do que é alocada na configuração da taxa de transmissão. Com esse buffer extra, as filas absorvem rajadas de tráfego com mais facilidade, evitando assim quedas de pacotes. O mecanismo MAD só pode provisionar buffer de atraso extra quando a largura de banda de transmissão extra estiver sendo usada por uma fila. Isso significa que a fila pode ter quedas de pacotes se não houver largura de banda de transmissão de excesso disponível.

Para plataformas de roteamento universal 5G da Série MX da Juniper Networks e switches de ethernet da Série EX, o mecanismo MAD é habilitado a menos que o buffer de atraso seja configurado com uma configuração temporal para uma determinada fila. O mecanismo MAD é particularmente útil para as aulas de encaminhamento que transportam tráfego imunode latência para o qual o requisito principal é a utilização máxima de largura de banda. Por outro lado, para tráfego sensível à latência, você pode querer desabilitar o mecanismo MAD porque grandes buffers de atraso não são ótimos.

O suporte MAD depende do FPC e do Mecanismo de encaminhamento de pacotes, não do PIC. Não há concentradores modulares de portas (MPCs) e IQ, IQ2, IQ2E ou PICs IQE com suporte a MAD.

Para habilitar o mecanismo MAD em hardware suportado:

Inclua a buffer-size percent declaração no nível de [edit class-of-service schedulers scheduler-name] hierarquia:

O buffer mínimo alocado em qualquer fila é de 18.432 bytes. Se uma fila estiver configurada para ter um tamanho de buffer inferior a 18.000, a fila reterá um tamanho de buffer de 18.432 bytes.

Se desejado, você pode configurar um tamanho de buffer maior do que a taxa de transmissão configurada. O buffer pode acomodar rajadas de pacote que excedem a taxa de transmissão configurada, se houver excesso suficiente de largura de banda disponível. Por exemplo:

Como dito anteriormente, você pode usar uma configuração de buffer de atraso temporal para desabilitar o mecanismo MAD em uma fila, limitando assim o tamanho do buffer de atraso. No entanto, a latência buffer eficaz para uma fila temporal é limitada não apenas pelo valor do tamanho do buffer, mas também pelo perfil de queda associado. Se um perfil de queda especificar uma probabilidade de queda de 100 por cento em um nível de preenchimento inferior a 100%, a latência máxima de buffer eficaz é menor do que a configuração do tamanho do buffer. Isso ocorre porque o perfil de queda especifica que os pacotes de queda de fila antes do buffer de atraso da fila estão 100% cheios.

Essa configuração pode se parecer com o seguinte exemplo:

Comportamento de configuração de tamanho de buffer específico da plataforma

Use o Feature Explorer para confirmar o suporte de plataforma e versão para a configuração do tamanho do buffer.

Use a tabela a seguir para revisar comportamentos específicos da plataforma para sua plataforma:

Diferença de plataforma

Roteadores da Série ACX7000

Para usar buffer-sizea opção temporal de configurar o buffer compartilhado. Use o e remainder as percent opções para configurar o buffer garantido.

Roteadores da Série PTX

Os roteadores da Série PTX oferecem suporte à opção shared buffer-size, que permite que você configure um buffer de uma fila para até 100% do buffer da interface. Essa opção permite que o buffer da fila cresça até 100% do buffer da interface se e somente se for a única fila ativa para a interface.