Encaminhamento com QoS
Sistemas Telemáticos
LESI
Grupo de Comunicações por
Computador
Materiais utilizados
• Tema ainda objecto de I&D (2
doutoramentos nessa área no DI)
• Artigo “Survey of QoS” de Pragyansmita
Paul and S. V. Raghavan
• Adaptação e simplificação de
apresentação dos mesmos autores
Sumário
Vantagens da Qualidade de Serviço (QoS)
QoS Fim-a-Fim
Encaminhamento com QoS
Questões em aberto no Encaminhamento
com QoS
Algoritmos propostos (classificados com
métricas)
Um-para-um
Simples
Dual
Múltiplo
Grupo
Simples
Dual
Múltiplo
QoS
 A um conjunto de métricas e restrições que
são usadas para especificar os requisitos das
aplicações e que devem ser satisfeitas pela
rede de suporte durante a transmissão de
dados.
 As métricas de QoS são:
 Largura de Banda
 Atrasos
 Variação nos atrasos (Jitter)
 Perda de Pacotes (Fiabilidade)
 Número de saltos, Qualidade Áudio/Vídeo, etc.
QoS Fim-a-Fim
 É necessária para:
 Disponibilizar garantias sólidas necesárias pelas
actuais aplicações com temporização crítica e
com necessidades intensivas de largura de
banda.
 Prevenir a deterioração do desempenho da rede
devido a aplicações mal comportadas.
 Para optimizar o desempenho todas as
camadas da pilha de protocolos devem
suportar o QoS a disponibilizar à aplicação
de rede a ser executada.
QoS na Pilha de Protocolos
Aplicação
◄
???
Transporte
◄
???
Rede
◄
???
Ligação Lógica ◄
???
Meio Físico
QoS na Pilha de Protocolos
Aplicação
◄ Diferentes Classificações e
Escalonamento dos pedidos
Transporte
◄ Aceitação/rejeição dos pedidos
de conexão
Rede
◄ Selecção de Percursos de forma
a satisfazer os requisitos das
aplicações
Ligação Lógica ◄ Comunicação de Dados de
Meio Físico
forma satisfazer os requisitos
das camadas superiores
Sequência de acções para
disponibilizar a QoS fim-a-fim
Pedido de QoS
por um host
A
Selecção do Percurso e
transferência dos dados
(Encaminhamento com QoS)
Tradução e negociação
do QoS
Fim da
Transferência dos
dados?
Não
Não
Pedido
aceite?
Sim
A
Sim
Fim da transferência
dos dados
Encaminhamento com QoS
B
Controlo de
Admissão
Busca na tabela de
encaminhamento
Actualização da informação
de estado
Gestão de Recursos
Reserva de Recursos
(opcional)
C
C
Armazenamento e
Escalonamento de pacotes
B
Fim da
Não
Transferência dos
dados?
Sim
Fim da
Transferência de Dados
Negociação de QoS e Controlo
de Admissão
 A negociação começa quando o sistema final
envia o seu pedido de QoS
 O módulo de controlo de admissão verifica se o
pedido deve ser aceite ou rejeitado
 Factores de decisão: LB residual, Nº Tx em curso
 Se a aceitação levar à degradação de desempenho ,
o pedido é rejeitado
 Alternativa: reencaminhamento das aplicações
existentes
 Renegociação do QoS
Negociação de QoS e Controlo
de Admissão(2)
• O sistema final (end-host) pode fazer o
controlo de admissão
– Faz o probe do nível de congestão
– Admite o fluxo se o nível for baixo
• Experiências:
– Menor degradação de desempenho se o
controlo de admissão pelos sistemas finais
em alternativa a ser feito pelos
encaminhadores
Reserva de Recursos
• Uma vez aceite o pedido
– é escolhido o percurso para transmissão de
dados com base em uma ou mais métricas
• Necessária para satisfazer restrições de
QoS da aplicação
• Duas alternativas
– Fazer parte do estabelecimento do percurso
– Ser um processo separado
Armazenamento e Escalonamento dos
Pacotes
• Pacote recém-chegado ao encaminhador
– É transferido para a interface de saída e
armazenado num buffer
– É descartado
• Objectivo:Minimizar o descarte de pacotes
• Algoritmos de gestão de filas
• Algoritmos de escalonamento de pacotes
Algoritmos de Escalonamento
• Fair Queueing (FQ)
– 1 fila por fluxo (informação de estado por fluxo)
• Stochastic Fair Queueing (SFQ)
– Menor nº de filas que FQ, uso de função de hash
• Core Stateless Fair Queueing (CSFQ)
– 2 classes de encaminhadores:
• De fonteira
– mantêm informação de estado por fluxo
– Estimam débito de chegada por fluxo (passam aos
interiores)
• Interiores
» Em situação de congestão, descartam pacotes
aleatóriamente com base nessa estimação
Algoritmos de Gestão de Filas
• RED (Random Early Detection) & RIO
• CHOKe (CHOose and Keep for responsive flows)
– Considerar o buffer como uma amostra estatística do
tráfego
– Em situação de congestão, na chegada de pacote
• Escolhe um pacote do buffer aleatoriamente
– Se for do mesmo fluxo, descarta os dois
– Senão: o do buffer fica intacto e o chegado é aceite em função
do nível de congestão
Lookup da Tabela de Encaminhamento
• Maior gargalo do processo de expedição dos
pacotes
– Mais crítica com tecnologias de alta velocidade
– Unificação simples (tries)
– Unificação mais longa (PATRICIA)
• Multi-Protocol Label Switching (MPLS)
– Etiqueta de comprimento fixo
– Cada pacote tem uma etiqueta
– Etiqueta usada para busca na tabela
Gestão de Recursos
• Necessária para gerir a dinâmica das
conexões estabelecidas
• Reserva estática de recursos
– GR necessária para verificar utilização eficiente
de recursos
• Reserva dinâmica??
• Quando não há reserva de recursos
– Assegurar uma partilha adequada entre as
conexões e que as exigências de cada fluxo é
limitado
– Quando cada serviço recipiente recebe o mínimo
de QoS, considera-se adequada
Fluxos BE num QoS Router
• Para além dos fluxos com QoS, as aplicações
BE devem ser geridas de forma apropriada.
• Exemplo de trabalho nesse sentido
– Restrição de LB para fluxos com QoS
• Usa informação imprecisa para o estado de fluxos
– MaxMin Fair Routing para fluxos BE
• Maximiza a LB para fluxos que recebem menor LB entre
todos
– Escalonamento hierárquico com WFQ para alocação
de LB
Selecção do Percurso – Métricas e
Restrições
Aditiva
Métrica
Multiplicativa
Côncava
w1
w2
w3
Percurso P
w = w1 + w2 + w3
w = w1 . w2 . w3
w = max{w1 , w2 , w3}
Selecção do Percurso – Métricas e
Restrições
Simples
Métricas
Dual
Múltiplas
•Simples: Custo, Largura de Banda, Atraso
•Dual: Custo e Atraso;LB e Atraso; LB e Custo
•Múltiplas: ...
Selecção do Percurso – Métricas e
Restrições
• Como transformar uma métrica multiplicativa em
aditiva?
– w1.w2.w3 => log(w1)+log(w2)+log(w3)
• Como transformar uma métrica dual (múltipla)
numa métrica simples?
– (w1,w2) => w´= w1+k w2
• Como transformar uma métrica com valor real
ou inteiro não limitado numa com valor inteiro
limitado?
– w < c => w’= w* x/c
Selecção de Percurso – ME vs. QoS
Percurso escolhido
min. salto/custo
Percurso
Escolhido ?
[3,7]
1
A
A
1
1
B
F
1
1
1
1
C
E
1
D
1
B
[1,2]
[1,4]
F
[3,1]
[1,4]
[1,1]
[4,1]
C
E
[2,2]
D
[1,2]
Percurso
Métrica
1
Métrica
2
F-B
3
7
F-A-B
5
5
Selecção de Percurso – ME vs. QoS
• Em contextos BE é mais fácil descobrir o PMC
• Em contextos com QoS
– É necessário considerar um conjunto de métricas
• cada aresta do grafo tem mais que uma métrica associada
– A escolha do PMC depende de
• Regra de composição de métricas
• Prioridade/Peso atribuídos a cada métrica
Selecção de Percurso no
Encaminhamento com QOS
Wang e Crowcroft provaram que
encontrar um percurso sujeito a duas
ou mais restrições independentes
(aditivas e/ou multiplicativas) é um
problema NP-Completo.
Selecção de Percurso no
encaminhamento com QoS –
Resultados interessantes
 Quando o número de métricas consideradas
é infinito, é suficiente calcular o percurso de
menor número de saltos, sem se ter que
considerar distribuição dos pesos das
métricas independentes. (resultado com interesse teórico)
 Podem existir classes de grafos nos quais o
encaminhamento com QoS não é NPCompleto. (Referência: P. Van Mieghem, F. A. Kuipers, “On
the Complexity of QoS Routing”, na Computer
Communications.).
Classificação de
Algoritmos/Protocolos
Multicast
Unicast
Simples
• Largura
Bandwidth
de
banda
• Delay
• Atraso
Dual
• Custo +Atraso
• Largura de
banda + atraso
• Qq 2 métricas
aditivas
Múltiplo
• Múltiplas
Simples
• Custo
Dual
• Atraso
• Custo +
Atraso
• Métrica não
aditiva
• Atraso +
Jitter
Múltiplo
• Múltipla
Encaminhamento unicast
Restrição de Largura de Banda
Filtragem da Topologia
N1
1
N5
3
Algoritmo de Guerin Orda
N1
-log (0.1)
0.1
4
N2
5
2
NN5
55
0.2
0.2
N2
0.1
-log (0.1)
3
N4
LB > 2
N3
N4
N3
Problema aditivo
Maximizar Probablidade
(LB Residual > 2)
Classificação de
Algoritmos/Protocolos
Multicast
Unicast
Simples
• LB
• Atraso
Dual
• Custo+Atraso
Múltiplo
• Múltiplas
Simples
• Custo
Dual
• LB + Atraso
• Atraso
• Custo +
Atraso
• Qualquer 2
métricas
aditivas
• Métrica não
aditiva
• Atraso +
Jitter
Múltiplo
• Múltipla
Encaminhamento Unicast com QoS
Restrições de Atraso e Largura de Banda
Algoritmo de Wang Crowcroft
N1
1
N5
3
 Elimina todas as ligações
com largura de banda
inferior à requerida.
4
N2
5
2
3
N4
LB > 2
N3
 A seguir, encontra o
percurso mais curto
relativamente ao atraso no
grafo modificado usando o
algoritmo de Djikstra.
Percurso mais curto com o
Algoritmo de Djikstra
Dado um grafo ponderado G=(V,E), e um par
de vértices vs e vd  V qual é o percurso mais
curto de vs para vd? Isto é qual é o percurso
com a mínima soma dos pesos das arestas?
2
7
3
3
1
8
10
5
6
5
1
7
6
7
3
3
4
2
5
2
1
8
10
5
6
5
1
4
2
7
5
6
Abordagem básica
B
1
2
1
A
C
6
7
3
5
E
8
D
F
H
5
G
6
ABEFH
15
ABEGH
14
ACEFH
16
ACEGH
15
ADEFH
26
ADEGH
25
PMC de A para H = PMC de A para E + PMC de E para H
PMC de A para H = PMC de A para B + SP from B to H.
PMC de A para H = PMC de A para C + SP from C to H.
PMC de A para H = PMC de A para vi + SP from vi to H; "
v i.
Algoritmo de Dijkstra para PMCs
• Síntese:
• Manter uma estrutura de dados com a lista
de nós e pesos dos percursos para esses
nós
• Usar infinito para representar um no
conjunto S de nós para os quais não tenha
sido calculado um percurso
• Em cada iteração, encontrar um nó em S,
calcular o percurso para esse nó e apagá-lo
de S
Algoritmo de Dijkstra para PMCs
• Síntese:
• Manter uma estrutura de dados com a lista
de nós e pesos dos percursos para esses
nós
• Usar infinito para representar um no
conjunto S de nós para os quais não tenha
sido calculado um percurso
• Em cada iteração, encontrar um nó em S,
calcular o percurso para esse nó e apagá-lo
de S
Algoritmo de Dijkstra para PMCs
S = {0}
/* Actual MST */
for i = 0 to n
D[i] = M[0][i]
/* Shortest
path length from 0 to i */
end for
for i = 1 to n-1
find the smallest D[v] such that
v  S
S = S  {v}
for all vertices u  S
if (D[u] > D[v] + M[v][u])
then
D[u] = D[v] + M[v][u]
end if
end for
end for
Algoritmo de Dijkstra
Custo do Percurso mais curto de A para vi atavés de S
B
1
2
1
A
C
7
3
6
F
5
E
H
5
8
G
6
F
5
A B
C D E
F
G H
-- 2
1
?
?
?
A B
C D E
F
G H
-- 2
1
?
?
6
?
S = {A}
D
B
1
2
1
A
C
6
7
3
E
8
D
H
5
G
6
6
S = {A,C}
4
?
Algoritmo de Dijkstra(2)
Custo do Percurso mais curto de A para vi atavés de S
B
1
2
1
A
C
7
3
6
F
5
E
H
5
8
A B
C D E
F
G H
-- 2
1
3
?
?
F
G H
6
G
6
S = {A,C,B}
F
5
A B
C D E
-- 2
1
D
?
B
1
2
1
A
C
6
7
3
E
8
D
H
5
G
6
6
3 10 8
S = {A,C,B,E}
?
Algoritmo de Dijkstra(3)
Custo do Percurso mais curto de A para vi atavés de S
B
1
2
1
A
C
7
3
6
F
5
E
H
5
8
G
6
F
5
A B
C D E
-- 2
1
6
F
G H
3 10 8
?
S = {A,C,B,E,D}
D
B
1
2
1
A
C
6
7
3
E
8
D
H
5
G
6
A B
C D E
-- 2
1
6
F
G H
3 10 8 14
S = {A,C,B,E,D,G}
Algoritmo de Dijkstra (4)
Custo do Percurso mais curto de A para vi atavés de S
B
1
2
1
A
C
7
3
6
F
5
E
H
5
8
A B
C D E
-- 2
1
6
F
G H
3 10 8 14
G
6
S = {A,C,B,E,D,G,F}
F
5
A B
C D E
-- 2
1
D
B
1
2
1
A
C
6
7
3
E
8
D
H
5
G
6
6
F
G H
3 10 8 14
S = {A,C,B,E,D,G,F,H}
Algoritmo de Dijkstra: Exemplo
2
7
3
3
1
8
10
5
6
5
1
4
2
7
5
6
1
2
3
4
5
6
--
3
?
?
?
5
1
2
3
4
5
6
--
3 10 ?
?
5
1
2
5
6
--
3 10 7 12 5
1
2
--
3 10 7 12 5
1
2
--
3 10 7 11 5
1
2
--
3 10 7 11 5
3
3
3
3
4
4
4
4
5
5
5
6
6
6
Classificação de
Algoritmos/Protocolos
Multicast
Unicast
Simples
• LB
• Atraso
Dual
• Custo +Atraso
Múltiplo
• Múltiplas
Simples
• Custo
Dual
• LB + Atraso
• Atraso
• Custo +
Atraso
• Quaisquer 2
métricas
aditivas
• Métrica não
aditiva
• Atraso +
Jitter
Múltiplo
• Múltiplas
Encaminhamento Unicast com QoS
Restrições de quaisquer duas métricas aditivas
[w1,15,w2,15]
N1
[w1,54,w2,54]
[w1,24,w2,24]
N5
N2
[w1,53,w2,53]
[w1,54,w2,54]
[w1,23,w2,23]
N4
N3
w = w 1 + d w2
N1
w15
N5
w53
w12
w24
w54
N4
N2
w23
N3
 Combinação de métricas ponderadas de Jaffe propõe a
minimização duma combinação linear de pesos de 2 ligações
w1 + dw2 onde d=1 ou d=(c1/c2). A última obtém melhores
resultados que a primeira.
 Foi proposta uma estratégia de procura binária para escolher o
peso.
Classificação de
Algoritmos/Protocolos
Multicast
Unicast
Simples
• LB
• Atraso
Dual
• Custo +Atraso
Múltiplo
• Múltiplas
Simples
• Custo
Dual
• LB + Atraso
• Atraso
• Custo +
Atraso
• Quaisquer 2
métricas
aditivas
• Métrica não
aditiva
• Atraso +
Jitter
Múltiplo
• Múltiplas
Problema de Steiner
Seja G=(V, E) um grafo
indirecto com um número
finito de vértices V e um
conjunto de arestas E, e uma
função de custo que atribui a
cada aresta um valor de custo
real e positivo. Dado um
subconjunto S dos vértices de
V, o problema de Steiner é
encontrar um subgrafo G´ de
G, G' =(V', E'), que contém
todos os vértices em S, de tal
forma que o custo de todas
arestas em E' é mínimo. Os
vértices em S são designados
por especiais.
Encaminhamento Multicast com QoS
Restrições de custo
N1
1
1
N5
3
N2
4
2
1
N4
N3
 Uma árvore que alcansa todos
membros do grupo e minimiza o
custo total da árvore partilhada.
Encontrar essa árvore é um
problema NP-Completo.
Algoritmo de Kou, Markowsky e
Berman (KMB)
 Criar um grafo conexo onde as
arestas sejam as distâncias mais
curtas entre os membros do grupo.
 O algoritmo de Prim calcula a a
árvore de menor custo deste grafo
conexo.
 As arestas do grafo conexo são
posteriormente substituídas pelos
percursos mais curtos originais
para obter a árvore de Steiner.
Abordagens para QoS
Serviços Integrados
Abordagem com
informação de estado,
com informação por
fluxo.
Serviço fim-a-fim
grantido por fluxo.
Necessidade de reserva
de recursos.
Serviços
Diferenciados
Abordagem sem
informação de estado e
portanto mais escalável
Diferenciação de serviço
mais grossa. Nós de fronteira
classificam os pacotes
enquanto os nós interiores os
processam de acordo com a
classificação.
Eficácia do Encaminhamento com QoS
 Embora o encaminhamento com QoS aumente a
computação em cada nó, armazenamento de estado
e custo de comunicação, tem a vantagem de
aumentar a utilidade da rede e permitir uma
degração graciosa do desempenho.
 A presença de mecanismos com QoS assegura que
mesmo as aplicações mais convencionais e cujo
QoS sempre foi esquecido obtenham um melhor
desempenho do serviço de rede..
 O encaminhamento com QoS é mais eficaz quando
há desajustamento entre o tráfego e a capacidade da
rede e existem rotas alternativas com menor carga.
.
Questões em aberto
Necessidade de protocolos para
encaminhamento com QoS e técnicas
de negociação de QoS normalizados
Mecanismos eficientes para evitar
percursos com congestão, atrasos altos
de propagação e instabilidade no
processo de selecção de percursos.
(Contd …)
Questões em aberto(2)
 A imprecisão na informação de estado precisa
de ser manipulada de forma apropriada.
 Ao mesmo tempo que se maximiza o número
de fluxos com QoS, deve-se procurar optimizar
o desempenho e tempo de resposta ao tráfego
best-effort.
 Necessidade dum algoritmo/protocolo de QoS
genérico que use por exemplo uma única
métrica representativa de todas as outras com
um mínimo de perda de informação..
Resumo da Aula
 Encaminhamento com QoS
 Algoritmos e protocolos propostos para
encaminhamento com QoS em ambientes unicast e
multicast.
 Benefícios de desenvolvimento de
encaminhamento com QoS na interligação de
redes actualmente.
 Questões em aberto no encaminhamento com
QoS
Download

PPT