Qualidade de serviço (QoS)
RESUMO Leia este tópico para saber mais sobre o recurso de qualidade de serviço (QoS) do roteador nativo de nuvem da Juniper quando implantado no modo L2.
A partir da versão 22.4 do roteador nativo de nuvem da Juniper, você pode configurar parâmetros de qualidade de serviço (QoS), incluindo classificação, marcação e fila. O roteador nativo de nuvem realiza operações de classificação e marcação em operações de vRouter e fila (agendamento) na placa de interface de rede física (NIC). O agendamento só é suportado na NIC E810.
Visão geral do QoS
Você habilita o QoS antes do tempo de implantação editando o values.yaml
arquivo no diretório Juniper-Cloud-Native-Router-version-number/helmchart e mudando o qosEnable
valor para true
. O valor padrão do recurso QoS é false
(desativado). Por exemplo:
# Set true/false to Enable or Disable QOS, note: QOS is not supported on X710 NIC. qosEnable: true
Você só pode habilitar o recurso QoS se o servidor de host no qual você instala seu roteador nativo de nuvem contém um Intel E810 NIC que está sendo executado lldp.
Você habilita o lldp na NIC usando o lldptool
que é executado no servidor de host como um aplicativo CLI. Emita o comando a seguir para habilitar o lldp na NIC E810. Por exemplo, você pode usar o seguinte comando:
lldptool -T -i INTERFACE -V ETS-CFG willing=no tsa=0:strict,1:strict,2:strict,3:strict,4:strict, 5:strict,6:strict,7:strict up2tc=0:0,1:1,2:2,3:3,4:0,5:1,6:2,7:3
Os detalhes do comando acima são:
-
Seleção de transmissão aprimorada para ETS
-
disposto — O atributo disposto determina se o sistema usa a classificação de encaminhamento de pacotes configurada localmente (PFC) ou não. Se você definir
willing
(ano
configuração padrão), o roteador nativo de nuvem aplica a configuração local de PFC. Se você definir disposto a sim, e o roteador nativo de nuvem receber TLV do roteador peer, o roteador nativo de nuvem aplica os valores recebidos. -
tsa- O algoritmo de seleção de transmissão é uma lista comma seperada de classe de tráfego para seleção de mapas de algoritmos. Você pode escolher
ets
,strict
ouvendor
como algoritmos de seleção. -
lista up2tc—separada por vírgula que mapeia as prioridades do usuário para as aulas de tráfego
A lista abaixo fornece uma visão geral das operações de classificação, marcação e fila realizadas pelo roteador nativo da nuvem.
-
Classificação:
-
O vRouter classifica os pacotes examinando os bits prioritários no pacote
-
O vRouter deriva da classe de tráfego e da prioridade de perda
-
O vRouter pode aplicar classificadores de tráfego em tipos de interface de malha, tráfego e carga de trabalho
-
O vRouter mantém 16 entradas em seu mapa de classificação
-
-
Marcação (reescreva):
-
O vRouter realiza operações de marcação
-
vRouter realiza reescrita de p-bits no caminho de saída
-
O vRouter gera nova prioridade de tráfego com base na classe de tráfego e prioridade de quedas na saída
-
O vRouter pode aplicar marcação a pacotes apenas em interfaces de malha
-
O vRouter mantém 8 entradas em seu mapa de marcação
-
-
Fila (Agendamento):
-
Roteador nativo de nuvem realiza agendamento rigoroso de prioridade em hardware (E810 NIC)
-
Roteador nativo de nuvem mapeia cada classe de tráfego para uma fila
-
Roteador nativo de nuvem limita o número máximo de fila de tráfego a 4
-
O roteador nativo de nuvem mapeia 8 possíveis prioridades para 4 aulas de tráfego; Ele também mapeia cada fila de hardware de classe 1 de tráfego
-
O roteador nativo de nuvem pode aplicar agendamento apenas na interface de malha
-
As funções virtuais (VFs) aproveitam as filas que você configura nas funções físicas (interfaces)
-
O vRouter mantém 8 entradas em seu mapa de programação
-
Exemplo de configuração
Você configura classificadores de QoS, regras de reescrita e agendadores no cRPD usando comandos definidos pelo Junos ou usando remotamente o NETCONF. Apresentamos abaixo uma configuração de exemplo baseada em Junos:
set class-of-service classifiers ieee-802.1 class1 forwarding-class assured-forwarding loss-priority high code-points 011 set class-of-service rewrite-rules ieee-802.1 Rule_1 forwarding-class assured-forwarding loss-priority high code-point 110 set class-of-service schedulers sch1 priority high set class-of-service scheduler-maps sch1 forwarding-class assured-forwarding scheduler sch1 set class-of-service interfaces enp175s1 scheduler-map sch1 set class-of-service interfaces enp175s1 unit 0 rewrite-rules ieee-802.1 Rule_1 set class-of-service interfaces vhostnet123-3546aefd-7af8-4fe5 unit 0 classifiers ieee-802.1 class1
Você vê a configuração de QoS acessando o cRPD CLI. Use os comandos de show no modo de operação Junos. Os comandos do show revelam a configuração de classificadores, regras de reescrita ou mapas de agendador individualmente. Por exemplo:
Classificador de showuser@jcnr-01> show class-of-service classifier Classifier: class1, Code point type: ieee802.1p Code point Forwarding class Loss priority 011 assured-forwarding high
Regra de reescrita do show
user@jcnr-01> show class-of-service rewrite-rule Rewrite rule: Rule_1, Code point type: ieee802.1p Forwarding class Loss priority Code point assured-forwarding high 110
Mapa do programador de shows
show class-of-service scheduler-map sch1 Scheduler map: sch1 Scheduler: sch1, Forwarding class: assured-forwarding Transmit rate: unspecified, Rate Limit: none, Priority: high
show class-of-service interface vhostnet123-5a1e3079-d45e-4ab5 Physical interface: vhostnet123-5a1e3079-d45e-4ab5 Maximum usable queues: 4, Queues in use: 4 Logical interface: vhostnet123-5a1e3079-d45e-4ab5.0 Object Name Type Classifier class1 ieee802.1p
show class-of-service interface enp175s1 Physical interface: enp175s1 Maximum usable queues: 4, Queues in use: 4 Scheduler map: sch1 Logical interface: enp175s1.0 Object Name Type Rewrite-Output Rule_1 ieee802.1p
Solucionando problemas
Você pode solucionar problemas na configuração de QoS acessando a shell vRouter. Use o comando purel2cli e visualizando o mapeamento da interface.
Configuração do classificador de display
purel2cli --qos cla class1 Classifer name: class1 Classifier Index: 0 =============================================== code-points loss priority forwarding-class =============================================== 000 low best-effort 001 low best-effort 010 low best-effort 011 high assured-forwarding 100 low best-effort 101 low best-effort 110 low best-effort 111 low best-effort
vif0/2 PMD: vhostnet123-3546aefd-7af8-4fe5 Type:Virtual HWaddr:aa:bb:cc:dd:ee:12 Vrf:0 Flags:L2Mon QOS:-1 Ref:13 RX port packets:20 errors:0 RX queue packets:20 errors:0 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Vlan Mode: Trunk Vlan: 100 200 300 Qos classifier: class1 RX packets:20 bytes:1200 errors:0 TX packets:0 bytes:0 errors:0 Drops:40
purel2cli --qos sch sch1 Scheduler name: sch1 Scheduler Index: 0 ===================================== forwarding-class priority_map ===================================== best-effort 0 expedited-forwarding 0 assured-forwarding 2 network-control 0
vif0/1 PCI: 0000:af:01.0 (Speed 10000, Duplex 1) Type:Physical HWaddr:46:d5:f3:fc:fc:92 Vrf:0 Flags:L2Vof QOS:-1 Ref:42 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Fabric Interface: 0000:af:01.0 Status: UP Driver: net_iavf Vlan Mode: Trunk Vlan: 100 200 300 700-705 2001 Rewrite: Rule_1 Scheduler: sch1 RX packets:0 bytes:0 errors:0 TX packets:20 bytes:1200 errors:0 Drops:0 TX port packets:20 errors:0
purel2cli --qos rw Rule_1 Re-Write name: Rule_1 Re-write Index: 0 =========================================loss priority Forwarding-class re-write prio ========================================= low best-effort n/a low expedited-forwarding n/a low assured-forwarding n/a low network-control n/a high best-effort n/a high expedited-forwarding n/a high assured-forwarding 110 high network-control n/a
vif0/1 PCI: 0000:af:01.0 (Speed 10000, Duplex 1) Type:Physical HWaddr:46:d5:f3:fc:fc:92 Vrf:0 Flags:L2Vof QOS:-1 Ref:42 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Fabric Interface: 0000:af:01.0 Status: UP Driver: net_iavf Vlan Mode: Trunk Vlan: 100 200 300 700-705 2001 Rewrite: Rule_1 Scheduler: sch1 RX packets:0 bytes:0 errors:0 TX packets:20 bytes:1200 errors:0 Drops:0 TX port packets:20 errors:0