Configuração do fluxo básico de pacotes pelo processo Junos CoS
A Figura 1 e a Figura 2 mostram os componentes dos recursos do Junos CoS, ilustrando a sequência na qual eles interagem.
de CoS
configuráveis de CoS
A configuração a seguir demonstra o fluxo de pacotes por meio do processo de CoS:
Definir classificadores
Se você confiar nos valores de CoS nos cabeçalhos de pacotes, poderá usar a classificação agregada de comportamento para mapear esses valores para uma classe de encaminhamento e descartar prioridade. Por exemplo:
[edit class-of-service]
classifiers {
exp exp_classifier {
forwarding-class data-queue {
loss-priority high code-points 001;
loss-priority low code-points 000;
}
forwarding-class nc-queue {
loss-priority high code-points 111;
loss-priority low code-points 110;
}
forwarding-class video-queue {
loss-priority high code-points 011;
loss-priority low code-points 010;
}
forwarding-class voice-queue {
loss-priority high code-points 101;
loss-priority low code-points 100;
}
}
Se você não confiar nos valores de CoS nos cabeçalhos dos pacotes, poderá usar a classificação multicampo mais complexa para mapear o tráfego de entrada para uma classe de encaminhamento e descartar a prioridade. Por exemplo:
[edit firewall]
family inet {
filter classify {
term sip {
from {
protocol [ udp tcp ];
port 5060;
}
then {
forwarding-class nc-queue;
loss-priority low;
accept;
}
}
}
}
Veja também
Aplicar classificadores a pacotes de entrada em interfaces
Você aplica classificadores de agregação de comportamento a interfaces lógicas no nível de [edit class-of-service interfaces] hierarquia. Por exemplo:
[edit class-of-service]
interfaces {
so-* {
unit 0 {
classifiers {
exp exp_classifier;
}
}
}
t3-* {
unit 0 {
classifiers {
exp exp_classifier;
}
}
}
}
Você aplica classificadores de vários campos como filtros de entrada a interfaces lógicas no nível de [edit interfaces] hierarquia. Por exemplo:
[edit interfaces]
fe-0/0/2 {
unit 0 {
family inet {
filter {
input classify;
}
address 10.12.0.13/30;
}
}
}
Definir policiadores para limitar o tráfego e controlar o congestionamento
Se você precisar limitar a taxa de um fluxo de tráfego, descartando o excesso de tráfego (policiamento rígido) ou reatribuindo o excesso de tráfego a uma classe de encaminhamento diferente e/ou prioridade de perda (policiamento suave), defina um policier e aplique o policer a um filtro de firewall para esse fluxo de tráfego. Por exemplo:
[edit firewall]
policer be-lp {
if-exceeding {
bandwidth-limit 10m;
burst-size-limit 62500;
}
then loss-priority high;
}
family inet {
filter be-lp {
term t1 {
from {
protocol tcp;
port 80;
}
then policer be-lp;
then loss-priority low;
then accept;
}
}
}
Veja também
Definir perfis de queda
Use perfis de queda para definir as probabilidades de queda em todo o intervalo de ocupação do buffer de atraso, dando suporte ao processo de detecção antecipada aleatória (RED).
[edit class-of-service]
drop-profiles {
be-red {
fill-level 20 drop-probability 25;
fill-level 30 drop-probability 50;
fill-level 40 drop-probability 75;
fill-level 50 drop-probability 100;
}
}
Atribuir cada classe de encaminhamento a uma fila
Para fornecer serviços diferenciados a cada classe de encaminhamento, atribua cada classe de encaminhamento à sua própria fila de saída. Por exemplo:
[edit class-of-service]
forwarding-classes {
queue 0 data-queue;
queue 1 video-queue;
queue 2 voice-queue;
queue 3 nc-queue;
}
Veja também
Definir agendadores
Defina as características do agendador para cada classe de encaminhamento. Por exemplo:
[edit class-of-service]
schedulers { #
data-scheduler {
buffer-size percent 50;
drop-profile-map loss-priority high protocol any drop-profile be-red;
priority low;
transmit-rate percent 50;
}
nc-scheduler {
buffer-size percent 5;
priority high;
transmit-rate percent 5;
}
video-scheduler {
buffer-size percent 25;
priority strict-high;
transmit-rate percent 25;
}
voice-scheduler {
buffer-size percent 20;
priority high;
transmit-rate percent 20;
}
}
Veja também
Definir mapas do agendador
Use mapas de agendadores para mapear agendadores para classes de encaminhamento. Por exemplo:
[edit class-of-service]
scheduler-maps {
sched1 {
forwarding-class data-queue scheduler data-scheduler;
forwarding-class nc-queue scheduler nc-scheduler;
forwarding-class video-queue scheduler video-scheduler;
forwarding-class voice-queue scheduler voice-scheduler;
}
}
Veja também
Definir regras de reescrita de cabeçalho CoS
Use regras de reescrita para redefinir o padrão de bits CoS de pacotes de saída. Por exemplo:
[edit class-of-service]
rewrite-rules {
inet-precedence inet-rewrite {
forwarding-class data-queue {
loss-priority high code-point 001;
loss-priority low code-point 000;
}
forwarding-class nc-queue {
loss-priority high code-point 111;
loss-priority low code-point 110;
}
forwarding-class video-queue {
loss-priority high code-point 101;
loss-priority low code-point 100;
}
forwarding-class voice-queue {
loss-priority high code-point 011;
loss-priority low code-point 010;
}
}
}
Veja também
Aplicar mapas do agendador e regras de reescrita para interfaces de saída
[edit class-of-service]
interfaces {
ge-* {
scheduler-map sched1;
unit * {
rewrite-rules {
inet-precedence inet-rewrite;
}
}
}
}
Veja também
Tabela de histórico de alterações
A compatibilidade com recursos é determinada pela plataforma e versão utilizada. Use o Explorador de recursos para determinar se um recurso é compatível com sua plataforma.