O documento discute estratégias de Qualidade de Serviço (QoS) em redes de telecomunicações, incluindo serviços diferenciados (DiffServ) e serviços integrados (IntServ). Ele explica como o tráfego é classificado e marcado usando códigos DSCP para priorização no roteamento. O documento também descreve as quatro classes de serviço do DiffServ (Best Effort, Expedited Forwarding e três níveis de Assured Forwarding) e como elas garantem diferentes níveis de largura de banda e probabilidade de descarte
1. 05-01-2016 Sistemas de Telefonia - Comutação Digital 1
http://mainstreet.eshore.ca/high-speed-internet-coming-to-the-columbia-basin-boundary-region/
2. 15Fev16 Sistemas de Telecomunicações 2
Fila do buffer de
saída do Roteador
Fluxos mais pesados e de maior duração podem dominar os
buffers do roteador onde há disputa por banda
O problema no acesso
100Mbps
2Mbps
6. 15Fev16 Sistemas de Telecomunicações 6
Estratégias de QoS
Differentiated Service (DiffServ)
Serviços diferenciados
Controle de tráfego agregado
(class-based);
Menor carga nos processadores
para realizar QoS;
Per-Hop Behavior;
Traffic Policing
Integrated Service (IntServ)
Serviços Integrados
Controle de tráfego por fluxo
(Flow-based);
Alta carga nos processadores
para realizar QoS;
Controle do fluxo por sinalização
na rede (RSVP)
Traffic Shaping
7. 15Fev16 Sistemas de Telecomunicações 7
Sinalização de requisição de reserva de recursos
Mensagem de erro
Mensagem
pedido para
estabelecer path
(Path_request)
Emissor; Transmissor
Receptor
8. 15Fev16 Sistemas de Telecomunicações 8
Sinalização de resposta de reserva de recursos
Resposta:
Mensagem
de reserva
de recursos
Mensagem
de erro na
reserva de
recursos
Emissor; Transmissor
Receptor
10. De modo geral, os pacotes são classificados em três
principais perfis:
─ Best Effort (BE) Melhor esforço
─ Assured Forwarding (AF)
─ Expedited Forwarding (EF)
Serviços diferenciados - Diffserv
15Fev16 Sistemas de Telecomunicações 10
15. ─ É uma etapa fundamental do QoS
─ Identifica diferentes fluxos para serem tratados conforme
política da rede
─ Sempre realizado no perímetro da rede
─ Sem classificação, todos os pacotes são igualmente tratados
Diffserv - Classificação
16. 15Fev16 Sistemas de Telecomunicações 16
Diffserv - Classificação
Tráfego recebido da LAN é
classificado conforme regras do
acordo de nível de serviço (SLA)
17. 15Fev16 Sistemas de Telecomunicações 17
Voz Vídeo Best
Effort
Aplicacoes
Diffserv - Classificação
Diffserv
Classificação
Scheduler Descarte
18. 15Fev16 Sistemas de Telecomunicações 18
Tipo de serviço
Usuários domésticos x Bombeiros/polícia/hospitais
Tipo de aplicação
VoIP x HTTP x Torrent
Protocolo (Porta)
RTP X TCP x UDP
Endereço IP
Endereço MAC
interface
Classificação de pacotes - Possibilidades
20. 15Fev16 Sistemas de Telecomunicações 20
Vamos classificar todos os pacotes
que vem de PC1. Este tráfego
poderia ser p. ex. de um PABX IP
Classificação - Lab
21. 15Fev16 Sistemas de Telecomunicações 21
class-map match-all <nome>
match <critério de classificação>
Classificação - comandos para classificar pacotes
1
2
Cria uma classe de tráfego
Define que critério será usado para
classificar o tráfego
22. 15Fev16 Sistemas de Telecomunicações 22
class-map match-all cmvoip
match input-interface Fast0/0
Cria uma classe de tráfego
Classificação - comandos para classificar pacotes
1
2
Define que critério será usado para
classificar o tráfego
25. 15Fev16 Sistemas de Telecomunicações 25
Banda garantida
Baixo delay e jitter
Banda garantida
Delay e jitter normais
Não garante banda
Alto delay e alto jitterServiços Dados
Vídeo On-Demand
VPN
Sinalização
Voz
Diffserv-Marcação
26. 15Fev16 Sistemas de Telecomunicações 26
Utilizada para garantir a identificação de pacotes que deverão ser
priorizados na rede
A marcação dos pacotes ocorre nos bits do cabeçalho do pacote
IP, próximo da origem
Marcação
Diffserv-Marcação
27. 15Fev16 Sistemas de Telecomunicações 27
IP Precedence - no cabeçalho do pacote IP
DSCP - no cabeçalho do pacote IP
802.1p CoS - no cabeçalho do frame Ethernet
ATM CLP - na célula ATM
Frame Relay DE - no cabeçalho do frame
Diffserv - Opções de Marcação
28. 15Fev16 Sistemas de Telecomunicações 28
Diffserv - Marcação IP - Tipo de serviço (RFC 791)
http://nomundodasredes.blogspot.com.br/2011/05/cabecalho-do-pacote-ipv4.html
29. 15Fev16 Sistemas de Telecomunicações 29
Version Length Total Length
80 15 31
Precedence Unused
D T
0 1
D Normal Delay Low Delay
T Normal Throughput High Throughput
R Normal Reliability High Reliability
ToS …
Diffserv - Marcação - Tipo de serviço ToS (RFC 791 - Set81)
0 1 2 3 4 5 6 7
111 - Network Control
110 - Internet Control
101 - Critical
100 - Flash override
011 - Flash
010 - Immediate
001 - Priority
000 - Routine
R
30. 15Fev16 Sistemas de Telecomunicações 30
Diffserv - Marcação ToS
Roteador marca e classifica
pacotes com codificação ToSRoteador marca e
classifica pacotes
com codificação ToS
010000
100
010
100
010
31. 15Fev16 Sistemas de Telecomunicações 31
Version Length Total Length
80 15 31
Precedence SemUso
D T
ToS …
0 1 2 3 4 5 6 7
R
D S C P Unused
0 1 2 3 4 5 6 7
RFC 791
RFC 2475
Diffserv - Compatibilidade Precedence - DSCP
33. 15Fev16 Sistemas de Telecomunicações 33
Diffserv – Marcação DSCP e ToS
Roteador marca e classifica
pacotes com codificação ToSRoteador marca e
classifica pacotes
com codificação DSCP
100000
010000
100
010
34. 15Fev16 Sistemas de Telecomunicações 34
Diffserv - Marcação - DSCP
Roteador marca e classifica
pacotes com codificação DSCPRoteador marca e
classifica pacotes
com codificação DSCP
100000
010000
100000
010000
35. 15Fev16 Sistemas de Telecomunicações 35
A RFC 2597 define quatro classes de serviço e dentro
de cada uma delas há três níveis de probabilidade de
descarte de pacotes, caso haja congestionamento.
https://blogs.manageengine.com/network/netflowanalyzer/2013/12/04/quality-of-service-qos-a-good-traffic-engineering-component-2.html
Diffserv - DSCP - Assured Forwarding - RFC 2597
36. 15Fev16 Sistemas de Telecomunicações 36
A RFC 2597 define quatro classes de serviço e dentro de
cada uma delas há três níveis de probabilidade de
descarte de pacotes, caso haja congestionamento.
https://blogs.manageengine.com/network/netflowanalyzer/2013/12/04/quality-of-service-qos-a-good-traffic-engineering-component-2.html
Diffserv - DSCP - Assured Forwarding - RFC 2597
descarte
Alta
Média
Normal
Baixa
Prioridade
São criadas quatro filas e dentro de cada uma delas
há três níveis de prioridade de descarte de pacotes
37. 15Fev16 Sistemas de Telecomunicações 37
Se houver congestionamento em uma determinada classe,
os primeiros pacotes a serem descartados serão aqueles
marcados com AFx3, se o congestionamento aumentar
serão descartados os AFx2 e se houver congestionamento
severo, será a vez dos pacotes marcados com AFx1.
https://blogs.manageengine.com/network/netflowanalyzer/2013/12/04/quality-of-service-qos-a-good-traffic-engineering-component-2.html
Diffserv - DSCP - Assured Forwarding - RFC 2597
38. 15Fev16 Sistemas de Telecomunicações 38
De modo geral, os pacotes são classificados em três
principais perfis:
─ Best Effort (BE) Melhor esforço……… 1 DSCP 000000
─ Expedited Forwarding (EF)…………….....1 DSCP 101110
─ Assured Forwarding (AF)……………….……12 códigos DSCP
Serviços diferenciados - Diffserv
39. 15Fev16 Sistemas de Telecomunicações 39
Best Effort (BE) DSCP 000000
– É a classe original da Internet
– Não há garantias
Serviços diferenciados - Diffserv
40. 15Fev16 Sistemas de Telecomunicações 40
Expedited Forwarding (EF) - DSCP 101110
– Minimiza delay e jitter
– QoS com maior prioridade
– Tráfego excedente ao perfil da classe é descartado
Serviços diferenciados - Diffserv
41. 15Fev16 Sistemas de Telecomunicações 41
Assured Forwarding (AF) - 12 códigos DSCP
– 4 classes
– 3 filas de prioridade de descarte em cada classe
– Tráfego excedente ao perfil da classe é descartado
Serviços diferenciados - Diffserv
42. 15Fev16 Sistemas de Telecomunicações 42
Policy-map <nome>
class <nome da class-map>
set dscp ef
Cria um filtro para marcação
Associa uma classe
de tráfego ao filtro
Define que os pacotes pertencentes à classe
associada, os pacotes serão marcados com EF
1
2
3
Diffserv - Marcação - comandos para marcar pacotes
44. 15Fev16 Sistemas de Telecomunicações 44
Vamos marcar todos os pacotes
selecionados pela classe que
definimos ao configurarmos a
classificação (class-map).
Diffserv - Marcação - Lab
45. 15Fev16 Sistemas de Telecomunicações 45
policy-map <nome>
class <nome da classe>
set dscp 46
Diffserv - Marcação - comandos para marcar pacotes
1
2
Cria uma classe de tráfego
Associa uma classe de
tráfego à policy-map
Marca os pacotes da classe
associada à policy-map
3
46. 15Fev16 Sistemas de Telecomunicações 46
policy-map pmvoip
class cmvoip
set dscp 46
Diffserv - Marcação - comandos para marcar pacotes
1
2
Cria uma policy-map
Associa uma classe de
tráfego à policy-map
Marca os pacotes da classe cmvoip
que foi associada à policy-map
3
47. 15Fev16 Sistemas de Telecomunicações 47
Pode-se sempre priorizar e encaminhar qualquer
pacote marcado com EF?
Se o tráfego marcado com EF ocupar toda a banda?
https://blogs.manageengine.com/network/netflowanalyzer/2013/12/04/quality-of-service-qos-a-good-traffic-engineering-component-2.html
48. 15Fev16 Sistemas de Telecomunicações 48
A RFC 2597 define quatro classes de serviço e dentro de cada
uma delas há três níveis de probabilidade de descarte de
pacotes, caso haja congestionamento.
https://blogs.manageengine.com/network/netflowanalyzer/2013/12/04/quality-of-service-qos-a-good-traffic-engineering-component-2.html
Diffserv - DSCP - Assured Forwarding - RFC 2597
probabilidade de
descarte baixa na
classe
probabilidade de
descarte média
na classe
probabilidade
de descarte alta
na classe
Precedência Descrição
Nome/Binario/deci
mal
Nome/Binario/de
cimal
Nome/Binario/d
ecimal
7
pacotes
Keep alive
CS7/111000
6
pacotes
IP Routing
CS6/11000
5 Critical CS5/101000
4 Classe 4 AF41/100010/34 AF42/100100/36 AF43/100110/38
3 Classe 3 AF31/011010/26 AF32/011100/28 AF33/011110/30
2 Classe 2 AF21/010010/18 AF22/010100/20 AF23/010110/22
1 Classe 1 AF11/001010/10 AF12/001100/12 AF13/001110/14
0 Best-Effort BE/000000/0
49. 15Fev16 Sistemas de Telecomunicações 49
probabilidade
de descarte
baixa na
classe
probabilidade
de descarte
média na
classe
probabilidade
de descarte
alta na classe
Nível de
Precedência
Descrição
Nome/Binario/
decimal
Nome/Binario/
decimal
Nome/Binario/
decimal
7
pacotes
Keep alive
CS7/111000
6
pacotes
IP Routing
CS6/11000
5 Critical CS5/101000
4 Classe 4 AF41/100010/34 AF42/100100/36 AF43/100110/38
3 Classe 3 AF31/011010/26 AF32/011100/28 AF33/011110/30
2 Classe 2 AF21/010010/18 AF22/010100/20 AF23/010110/22
1 Classe 1 AF11/001010/10 AF12/001100/12 AF13/001110/14
0 Best-Effort BE/000000/0
Diffserv - DSCP - RFC 2597 - Dez98
50. 15Fev16 Sistemas de Telecomunicações 50
Controle de Congestionamento
(Congestion Avoidance)
probabilidade de
descarte baixa na
classe
probabilidade de
descarte média na
classe
probabilidade de
descarte alta na
classe
Descrição
Nome/Binario/dec
imal
Nome/Binario/deci
mal
Nome/Binario/dec
imal
NÍVELDEPRECEDÊNCIA
(Prioridade)
7
pacotes
Keep alive
CS7/111000
6
pacotes
IP Routing
CS6/11000
5
Expedited
Forwarding
EF/101110
4 Classe 4 AF41/100010/34 AF42/100100/36 AF43/100110/38
3 Classe 3 AF31/011010/26 AF32/011100/28 AF33/011110/30
2 Classe 2 AF21/010010/18 AF22/010100/20 AF23/010110/22
1 Classe 1 AF11/001010/10 AF12/001100/12 AF13/001110/14
0 Best-Effort BE/000000
Diffserv - DSCP - Expedited Forwarding - RFC 2598 - Dez98
52. 15Fev16 Sistemas de Telecomunicações 52
52
Congestion Management
Controle de Congestionmento
53. 15Fev16 Sistemas de Telecomunicações 53
Em situações de congestionamento, garante que
pacotes com diferentes níveis de prioridade recebam
QoS distintos, tais como atraso e banda
Diffserv - Gerenciamento de Congestionamento - queuing
54. 15Fev16 Sistemas de Telecomunicações 54
Queuing
─ Rajadas de tráfego podem exceder
temporariamente a capacidade da interface;
─ Filas permitem que o tráfego excedente
aguarde para ser transmitido assim que o
congestionamento diminuir;
─ O gerenciamento de filas determina quais
pacotes serão transmitidos;
─ As filas introduzem atraso no tráfego.
55. 15Fev16 Sistemas de Telecomunicações 55
Diffserv - Algoritmos de gerenciamento de filas
FIFO - First In First Out
Priority Queue (Absolute)
Custom Queue
Fair-Queue (WFQ, CBWFQ, LLQ)
56. 15Fev16 Sistemas de Telecomunicações 56
Diffserv - Algoritmos de gerenciamento de filas - FIFO
Interface
de entrada Buffer da Interface
de saída Interface
de saída
57. 15Fev16 Sistemas de Telecomunicações 57
Diffserv - Algoritmos de gerenciamento de filas - FIFO
─ É o método mais simples
─ Tem o menor carga sobre a CPU
─ Não controla congestionamento
─ Os pacotes são transmitidos na ordem em que
chegam na fila
─ Tráfegos com alto volume podem inviabilizar
tráfegos interativos
58. 15Fev16 Sistemas de Telecomunicações 58
Em caso de congestionamento o tamanho das filas - e
por consequência, o atraso e a probabilidade de
descarte de pacotes - cresce exponencialmente.
Diffserv - Algoritmos de gerenciamento de filas - FIFO
59. 15Fev16 Sistemas de Telecomunicações 59
Prioridade
das filas
Alta
Média
Normal
Baixa
Priority Queuing
─ Se há pacotes de determinado tipo aguardando
priorize o seu envio imediato;
Descarte
(drop)
60. 15Fev16 Sistemas de Telecomunicações 60
Coloca pacote
na fila de Tx do
Hardware
P1 vazia
N
Y
Priority Queuing – Lógica de Scheduling
P2 vazia
N
Y
P3 vazia
N
Y
P4 vazia
N
Aguarda espaço
na fila TX
Prioridade Alta
Prioridade Média
Prioridade Normal
Prioridade Baixa
61. 15Fev16 Sistemas de Telecomunicações 61
Interface Buffer
Transmit
Queue
Output
Line
Interface de saída
• Ethernet
• Frame Relay
• ATM
• Serial Link
• Etc.
Alta
Média
Normal
Baixa
Tamanho da fila
Classificação
Interface de entrada
• Ethernet
• Frame Relay
• ATM
• Serial Link
• Etc.
Priority Queuing
62. 15Fev16 Sistemas de Telecomunicações 62
─ Necessita de controle de admissão de tráfego;
─ Não há limite para cada nível de prioridade;
─ Há um alto risco das filas de menor prioridade
não serem atendidas (starvation effect).
Priority Queuing - Limitações
63. 15Fev16 Sistemas de Telecomunicações 63
Custom queue
Permite que o usuário determine a quantidade de bytes de
cada fila que será transmitida
O número de filas depende do Equipamento e do Engenheiro
de Rede
Descarte
(drop)
Fila 0
Fila 1
Fila 2
...
Fila N
64. 15Fev16 Sistemas de Telecomunicações 64
Custom Queuing – Lógica de Scheduling
Aguarde liberação
de espaço na fila
TX do hardware
Mova pacote
para fila Tx
do Hardware
Repita esse
processo com
a próxima fila
Adicione o tamanho
do pacote ao contador
de bytes da fila
O limite do contador
de bytes da fila foi
atingido?
Há pacote na
fila atual? N
N
Y
Y
65. 15Fev16 Sistemas de Telecomunicações 65
Interface
Buffer
Até 16 filas
3/10
1/10
Weighted Round
Robin Scheduling
(byte count)
Aloca percentual
da banda do link
Classificação
Interface Hardware
• Ethernet
• Frame Relay
• ATM
• Serial Link
• Etc.
2/10
3/10
2/10
Taxa de
ocupação
do link
Transmit
Queue
Output
Line
Custom Queuing - Weighted Round Robin
66. 15Fev16 Sistemas de Telecomunicações 66
─ Torna Jitter imprevisível
─ Equidade depende fortemente de MTU e Tamanho de
janelas TCP
─ O cálculo de percentual para cada tipo de tráfego é
complex
Custom Queuing - Limitações
67. 15Fev16 Sistemas de Telecomunicações 67
WFQ classifica o tráfego por fluxo
Um fluxo é formado pelos pacotes que apresentam em
seus cabeçalhos: o mesmo IP de origem, o mesmo IP de
destino, como também os mesmos ports na origem e
destino
Cada fluxo é colocado numa fila. Isso resulta em um
elevado número de filas (p.ex. 4096 filas). Ao fim de um
fluxo a fila é destruída
Diffserv -Weighted Fair Queue - WFQ
68. 15Fev16 Sistemas de Telecomunicações 68
WFQ tem como objetivo dividir a banda disponível por todos os
fluxos, aproximando-se da tecnologia TDM (time-division
multiplexing)
Fila 0
Fila 1
Fila 2
...
Fila N
Descarte
(drop)
Diffserv - Weighted Fair Queue - WFQ
69. 15Fev16 Sistemas de Telecomunicações 69
WFQ permite dividir a banda disponível considerando a
prioridade entre os fluxos.
Fila 0
Fila 1
Fila 2
...
Fila N
Descarte
(drop)
Diffserv -Weighted Fair Queue - WFQ
70. 15Fev16 Sistemas de Telecomunicações 70
WFQ funciona bem para redes em que o tráfego
“real-time” consome um baixo percentual da banda.
WFQ atende melhor tráfegos que tem baixo volume.
O número de filas depende do número de fluxos e é
controlada automaticamente pelo dispositivo.
Essa estratégia de QoS combina as classes de serviço
com o controle automático de banda e fluxos do WFQ.
Diffserv - Weighted Fair Queue - WFQ
71. 15Fev16 Sistemas de Telecomunicações 71
Diffserv - Class-Based Weighted Fair Queue - CBWFQ
CBWFQ suporta até 64 filas, é obrigatória a existência
de uma fila chamada “class-default”. Essa fila receberá
os pacotes não priorizados.
CBWFQ permite maior controle sobre a classificação
do tráfego e, com o uso do WFQ, pode-se obter uma
melhor distribuição da banda conforme as prioridades
do tráfego.
72. 15Fev16 Sistemas de Telecomunicações 72
Class-Based Weighted Fair Queue - CBWFQ
CBWFQ reserva um percentual da banda para cada
classe, com base em valores configurados pelo
Engenheiro de rede
Se uma fila não necessitar de sua cota de banda, ela
é imediatamente pulverizada para as demais filas;
73. 15Fev16 Sistemas de Telecomunicações 73
Class-Based Weighted Fair Queue - CBWFQ
CBWFQ perde a funcionalidade da Priority Queue, pois
não garante prioridade absoluta para nenhuma fila,
na medida em que divide a banda disponível pelos
fluxos existentes.
74. 15Fev16 Sistemas de Telecomunicações 74
Low Latency Queue (LLQ)
LLQ procura atender o tráfego sensível a atrasos.
LLQ é um caso específico de CBWFQ.
Com LLQ, pode-se configurar PQ em uma estratégia
CBWFQ.
75. 15Fev16 Sistemas de Telecomunicações 75
Low Latency Queue (LLQ) – Cenário de Lab
76. 15Fev16 Sistemas de Telecomunicações 76
Definição de classe de tráfego
Definição de Policy LLQ
Marcação de pacotes
Definição de prioridade e
Reserva de banda
Associação de policy LLQ
à interface serial
Low Latency Queue - Configuração
ACESSO (R1, R2)
class-map match-all cmappllqaccess
match input-interface fastethernet 1/0
exit
policy-map pmappllqaccess
class cmappllqaccess
set ip dscp ef
priority percent 45
exit
int s2/0
service-policy output pmappllqaccess
exit
77. 15Fev16 Sistemas de Telecomunicações 77
definição de classe de tráfego
seleciona pacotes marcados com
DSCP 46
definição de Policy LLQ
associação com classe
definição de prioridade e
reserva de banda
associação de policy LLQ à
interface serial
Low Latency Queue - Configuração
CORE (R3, R4)
class-map match-all cmappllqcore
match ip dscp 46
exit
policy-map pmappllqcore
class cmappllqcore
priority percent 45
exit
interface serial 2/0
service-policy output pmappllqcore
exit
interface fast0/0
service-policy output pmappllqcore
exit
associação de policy LLQ à
interface FastEthernet
78. 15Fev16 Sistemas de Telecomunicações 78
Melhora performance dos serviços de alta prioridade
… às expensas de tráfegos de baixa prioridade
Causa algum “overhead” nos roteadores de borda da rede
(ingress/egress)
Baixo overhead nos roteadores de Core – não é por fluxo
Diffserv – Serviços diferenciados - Vantagens
79. 15Fev16 Sistemas de Telecomunicações 79
Implementação é relativamente simples
– Não requer reservas rígidas
– Não requer sinalização
– Não requer negociação fim-a-fim
Diffserv – Serviços diferenciados - Vantagens
80. 15Fev16 Sistemas de Telecomunicações 80
– Ganhos de performance são relativos, não absolutos
– Granulação “grosseira” na classificação
– Não possui previsibilidade fim-a-fim: QoS executado por
hop (PHB)
Diffserv – Serviços diferenciados - DESvantagens
81. 15Fev16 Sistemas de Telecomunicações 81
– Requer maior atenção no gerenciamento da rede
– Qualquer host pode marcar tráfego com alta prioridade
(requer cuidados com sergurança). Ex.: Windows 2000
marcava todos os seus pacotes com alta prioridade
Diffserv – Serviços diferenciados - DESvantagens
82. 15Fev16 Sistemas de Telecomunicações 82
– Reservas são garantidas e precisas
– Reserva de banda não é compartilhada numa classe; granulação
“fina” no QoS
– Reserva justa para cada fluxo (conforme SLA)
Intserv – Serviços integrados - Vantagens
83. 15Fev16 Sistemas de Telecomunicações 83
‒É ético favorecer um tipo de tráfego?
‒É ético manipular o conteúdo de pacotes?
‒É válido banir completamente alguma aplicação?
‒É correto que quem pague mais receba maior
prioridade?
Controvérsias do QoS