Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Gerenciando o congestionamento na interface de saída configurando o tamanho do buffer do agendador

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, conforme mostrado na Tabela 1.

  • O buffer restante disponível. O restante é a porcentagem de buffer que não é atribuída a outras filas. Por exemplo, se você atribuir 40 % do buffer de atraso à fila 0, permita que a fila 3 mantenha o loteamento padrão de 5 % e atribua o restante à fila 7, então a fila 7 usa aproximadamente 55 % do buffer de atraso.

  • 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. O valor temporal do tamanho do buffer por fila difere pelo tipo de dispositivo de roteamento, conforme mostrado na Tabela 1. Os máximos se aplicam à interface lógica, não a cada fila.

    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.

Tabela 1: O valor temporal do tamanho do buffer varia por tipo de dispositivo de roteamento

Dispositivos de roteamento

Intervalos de valor temporal

FPCs de roteador M320 e Série T, Tipo 1 e Tipo 2

1 a 80.000 microssegundos

FPCs de roteador M320 e Série T, Tipo 3. Todas as placas ES (Tipo 1, 2, 3 e 4).

1 a 50.000 microssegundos

Para PICs com mais de 40 Gbps de largura de banda total, o tamanho máximo de buffer temporal que pode ser configurado para um agendador é de 40.000 microssegundos em vez de 50.000 microssegundos.

FEBs de roteador M120 e roteador da Série MX não consultaram DPCs e switches da Série EX

1 a 100.000 microssegundos

FPCs de roteador M5, M7i, M10 e M10i

1 a 100.000 microssegundos

Outros FPCs de roteador da Série M

1 a 200.000 microssegundos

Roteadores de transporte de pacotes da Série PTX

1 a 100.000 microssegundos

PICs IQ em todos os roteadores

1 a 100.000 microssegundos

Com grandes tamanhos de buffer habilitados

PICs IQ em todos os roteadores

1 a 500.000 microssegundos

Gigabit Ethernet IQ VLANs

Com taxa de modelagem de até 10 Mbps

1 a 400.000 microssegundos

Com taxa de modelagem de até 20 Mbps

1 a 300.000 microssegundos

Com taxa de modelagem de até 30 Mbps

1 a 200.000 microssegundos

Com taxa de modelagem de até 40 Mbps

1 a 150.000 microssegundos

Com taxa de modelagem acima de 40 Mbps

1 a 100.000 microssegundos

Para obter mais informações sobre a configuração de buffers de atraso, veja os seguintes subtópicos:

Configuração de grandes buffers de atraso para interfaces mais lentas

Por padrão, as interfaces T1, E1 e NxDS0 e DLCIs configuradas em PICs de IQ canalizados são limitadas a 100.000 microssegundos de buffer de atraso. (O tamanho médio padrão do pacote no IQ PIC é de 40 bytes.) Para essas interfaces, pode ser necessário configurar um tamanho buffer maior para evitar o congestionamento e a queda de pacotes. Você pode fazer isso nos seguintes PICs:

  • IQ canalizado

  • IQ E3 de 4 portas

  • Gigabit Ethernet IQ e IQ2

O congestionamento e a queda de pacotes ocorrem quando grandes rajadas de tráfego são recebidas por interfaces mais lentas. Isso acontece quando interfaces mais rápidas passam o tráfego para interfaces mais lentas, o que é frequentemente o caso quando dispositivos de borda recebem tráfego do núcleo da rede. Por exemplo, um buffer de atraso de 100.000 microssegundos T1 pode absorver apenas 20 por cento de uma explosão de tráfego de 5000 microssegundos de uma interface OC3 upstream. Neste caso, 80 % do tráfego estourado é desativado.

A Tabela 2 mostra alguns tamanhos de buffer recomendados necessários para absorver tamanhos de explosão típicos de vários tipos de interface upstream.

Tabela 2: Tamanhos de buffer de atraso recomendados

Comprimento da explosão

Upstream Interface

Downstream Interface

Buffer recomendado na interface downstream

5000 microssegundos

OC3

E1 ou T1

500.000 microssegundos

5000 microssegundos

E1 ou T1

E1 ou T1

100.000 microssegundos

1000 microssegundos

T3

E1 ou T1

100.000 microssegundos

Para garantir que o tráfego esteja enfileirado e transmitido corretamente em interfaces e DLCIs E1, T1 e NxDS0, você pode configurar um tamanho de buffer maior do que o máximo padrão. Para permitir que tamanhos de buffer maiores sejam configurados:

Inclua a q-pic-large-buffer (large-scale | small-scale) declaração no nível hierárquica[edit chassis fpc slot-number pic pic-number].

Se você especificar a opção large-scale , o recurso oferece suporte a um número maior de interfaces. Se você especificar small-scale, o padrão, então o recurso oferece suporte a um número menor de interfaces.

Quando você inclui a q-pic-large-buffer declaração na configuração, o buffer maior está disponível de forma transparente para alocação em filas de agendador. O máximo de buffer maior varia de acordo com o tipo de interface, conforme mostrado na Tabela 3.

Tabela 3: Buffer de atraso máximo com q-pic-large-buffer habilitado por interface

Tipo de plataforma, PIC ou interface

Tamanho máximo de buffer

Com grandes tamanhos de buffer não habilitados

FPCs de roteador M320 e Série T, Tipo 1 e Tipo 2

80.000 microssegundos

FPCs de roteador M320 e Série T, Tipo 3

50.000 microssegundos

Outros FPCs de roteador da Série M

200.000 microssegundos

PICs IQ em todos os roteadores

100.000 microssegundos

Com grandes tamanhos de buffer habilitados

T3 canalizado e DLCIs OC3 canalizados — Os tamanhos máximos variam conforme a taxa de modelagem:

Com taxa de modelagem de 64.000 a 255.999 bps

4.000.000 microssegundos

Com taxa de modelagem de 256.000 a 511.999 bps

2.000.000 microssegundos

Com taxa de modelagem de 512.000 a 1.023.999 bps

1.000.000 microssegundos

Com taxa de modelagem de 1.024.000 a 2.048.000 bps

500.000 microssegundos

Com taxa de modelagem de 2.048.001 bps a 10 Mbps

400.000 microssegundos

Com taxa de modelagem de 10.000.001 bps a 20 Mbps

300.000 microssegundos

Com taxa de modelagem de 20.000.001 bps a 30 Mbps

200.000 microssegundos

Com taxa de modelagem de 30.000.001 bps a 40 Mbps

150.000 microssegundos

Com taxa de modelagem de 40.000.001 bps e superior

100.000 microssegundos

NInterfaces de IQ xDS0 — os tamanhos máximos variam de acordo com o tamanho do canal:

1xDSO a 3xDS0

4.000.000 microssegundos

4xDSO a 7xDS0

2.000.000 microssegundos

8xDSO a 15xDS0

1.000.000 microssegundos

16xDSO a 32xDS0

500.000 microssegundos

Outras interfaces de IQ

500.000 microssegundos

Se você configurar um buffer de atraso maior do que o novo máximo, a configuração do candidato pode ser comprometida com sucesso. No entanto, a configuração é recusada pelo componente de encaminhamento de pacotes e uma mensagem de aviso de log do sistema é gerada.

Para interfaces que oferecem suporte à fila de DLCI, o buffer grande é suportado para DLCIs nas quais a taxa de modelagem configurada é menor do que ou igual à largura de banda da interface física. Por exemplo, quando você configura um DLCI de retransmissão de quadros em um PIC T3 IQ canalizado e configura a taxa de modelagem para 1,5 Mbps, a quantidade de buffer de atraso que pode ser alocado para o DLCI é de 500.000 microssegundos, o que equivale a um buffer de atraso T1. Para obter mais informações sobre as filas de DLCI, consulte Aplicar mapas de agendador e taxa de modelagem para DLCIs e VLANs.

Para Ninterfaces xDS0, os tamanhos de buffer maiores podem ser de até 4.000.000 microssegundos, dependendo do número de canais DS0 na Ninterface xDS0. Para interfaces xDS0 mais Nlentas com menos canais, o buffer de atraso pode ser relativamente maior do que para interfaces xDS0 mais rápidas Ncom mais canais. Isso é mostrado na Tabela 5.

Você pode alocar o buffer de atraso como uma porcentagem ou um valor temporal. O buffer de atraso resultante é calculado de forma diferente, dependendo de como você configura o buffer de atraso, conforme mostrado na Tabela 4.

Tabela 4: Cálculos de buffer de atraso

Configuração de buffer de atraso

Fórmula

Exemplo

Porcentagem

available interface bandwidth * configured percentage buffer-size * maximum buffer = queue buffer

Se você configurar uma fila em uma interface T1 para usar 30 % do buffer de atraso disponível, a fila receberá 28.125 bytes de buffer de atraso:

sched-expedited {
    transmit-rate percent 30;
    buffer-size percent 30;
}

1.5 Mbps * 0.3 * 500,000 microseconds = 225,000 bits = 28,125 bytes

Temporal

available interface bandwidth * configured percentage transmit-rate * configured temporal buffer-size = queue buffer

Se você configurar uma fila em uma interface T1 para usar 500.000 microssegundos de buffer de atraso e configurar a taxa de transmissão para 20 %, a fila receberá 18.750 bytes de buffer de atraso:

sched-best { 											
    transmit-rate percent 20;
    buffer-size temporal 500000; 										
}

1.5 Mbps * 0.2 * 500,000 microseconds = 150,000 bits = 18,750 bytes

Porcentagem, com tamanho de buffer maior que a taxa de transmissão

 

Neste exemplo, o buffer de atraso é alocado o dobro da taxa de transmissão. A latência máxima de buffer de atraso pode ser até o dobro do buffer de atraso de 500.000 microssegundos se a taxa de transmissão da fila não puder exceder a taxa de transmissão alocada.

sched-extra-buffer {
    transmit-rate percent 10;
    buffer-size percent 20;
}

Pacotes FRF.16 LSQ

Para largura de banda total < largura de banda T1, a taxa de buffer de atraso é de 1 segundo.

Para largura de banda total >= largura de banda T1, a taxa de buffer de atraso é de 200 milissegundos (ms).

 

Configurando o buffer de atraso máximo para interfaces NxDS0

Como Nas interfaces xDS0 têm menos largura de banda do que uma interface T1 ou E1, o tamanho de buffer em uma Ninterface xDS0 pode ser relativamente maior, dependendo do número de canais DS0 combinados. O tamanho máximo de buffer de atraso é calculado com a seguinte fórmula:

Por exemplo, uma interface 1xDS0 tem uma velocidade de 64 kilobits por segundo (Kbps). Nesse ritmo, o tempo máximo de buffer de atraso é de 4.000.000 microssegundos. Portanto, o tamanho do buffer de atraso é de 32 kilobytes (KB):

A Tabela 5 mostra os cálculos de buffer de atraso para interfaces 1xDS0 a 32xDS0.

Tabela 5: Taxas de transmissão do NxDS0 e buffers de atraso

Velocidade de interface

Tamanho do buffer de atraso

1xDS0 a 4xDS0: o tempo máximo de buffer de atraso é de 4.000.000 microssegundos

1xDS0: 64 Kbps

32 KB

2xDS0: 128 Kbps

64  KB

3xDS0: 192 Kbps

96 KB

4xDS0 a 7xDS0: o tempo máximo de buffer de atraso é de 2.000.000 microssegundos

4xDS0: 256 Kbps

64 KB

5xDS0: 320 Kbps

80 KB

6xDS0: 384 Kbps

96 KB

7xDS0: 448 Kbps

112 KB

8xDS0 a 15xDS0: o tempo máximo de buffer de atraso é de 1.000.000 microssegundos

8xDS0: 512 Kbps

64 KB

9xDS0: 576 Kbps

72 KB

10xDS0: 640 Kbps

80 KB

11xDS0: 704 Kbps

88 KB

12xDS0: 768 Kbps

96 KB

13xDS0: 832 Kbps

104 KB

14xDS0: 896vKbps

112 KB

15xDS0: 960 Kbps

120 KB

16xDS0 a 32xDS0: o tempo máximo de buffer de atraso é de 500.000 microssegundos

16xDS0: 1024 Kbps

64 KB

17xDS0: 1088 Kbps

68 KB

18xDS0: 1152 Kbps

72 KB

19xDS0: 1216 Kbps

76 KB

20xDS0: 1280 Kbps

80 KB

21xDS0: 1344 Kbps

84 KB

22xDS0: 1408 Kbps

88 KB

23xDS0: 1472 Kbps

92 KB

24xDS0: 1536 Kbps

96 KB

25xDS0: 1600 Kbps

100 KB

26xDS0: 1664 Kbps

104 KB

27xDS0: 1728 Kbps

108 KB

28xDS0: 1792 Kbps

112 KB

29xDS0: 1856 Kbps

116 KB

30xDS0: 1920 Kbps

120 KB

31xDS0: 1984 Kbps

124 KB

32xDS0: 2048 Kbps

128 KB

Exemplo: configuração de grandes buffers de atraso para interfaces mais lentas

Defina grandes buffers de atraso em interfaces configuradas em um PIC de IQ OC12 canalizado. A configuração de CoS vincula um mapa do agendador à interface especificada na configuração do chassi. Para obter informações sobre os cálculos de buffer de atraso neste exemplo, consulte a Tabela 4.

Para configurar um grande buffer de atraso:

  1. Especifique o FPC e o PIC para os quais você deseja configurar grandes buffers de atraso.
  2. Habilite um grande buffer de atraso.
  3. Especifique o número máximo de filas por interface.
  4. Verifique a configuração.
  5. Reserve a configuração.

Exemplo: configuração do valor de buffer de atraso para um agendador

Você pode atribuir a uma interface física ou lógica, um mapa de agendador composto por 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: configuração da 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. Para obter mais informações, veja Tabela 5.

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 roteadores de borda multisserviços M320 da Juniper Networks, plataformas de roteamento universal 5G da Série MX, roteadores de núcleo da Série T 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. Todos os roteadores M320, Série MX e Série T e FPCs e mecanismos de encaminhamento de pacotes da Série EX oferecem suporte a MAD. 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 18K, 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: