Introdução ao MatLab Aula 3 Sistemas Telemáticos 5ºAno LESI/MCC Universidade do Minho.
Encaminhamento com QoS Sistemas Telemáticos LESI Grupo de Comunicações por Computador.
Transcript of Encaminhamento com QoS Sistemas Telemáticos LESI Grupo de Comunicações por Computador.
Encaminhamento com QoS
Sistemas Telemáticos
LESIGrupo de Comunicações por Computador
Materiais utilizados
• Tema é ainda objecto de I&D
• 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-umSimples Dual Múltiplo
GrupoSimples 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 forma satisfazer os requisitos das camadas superioresMeio Físico
Sequência de acções para disponibilizar a QoS fim-a-fim
Fim da Transferência dos
dados?
Fim da transferência dos dados
Sim
Não
A
Selecção do Percurso e transferência dos dados
(Encaminhamento com QoS)Tradução e negociação do QoS
Pedido de QoS por um host
Pedidoaceite?
Não Sim
A
Encaminhamento com QoSControlo de Admissão
Actualização da informaçãode estado
Reserva de Recursos(opcional)
Armazenamento e Escalonamento de pacotes
B
B
Busca na tabela deencaminhamento
Gestão de Recursos
Fim da Transferência dos
dados?
Fim daTransferência de Dados
Sim
CNão
C
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 rejeitadoFactores de decisão: LB residual, Nº Tx em cursoSe a aceitação levar à degradação de desempenho ,
o pedido é rejeitado Alternativa: reencaminhamento das aplicações
existentesRenegociaçã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 for feito 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 são limitadas
– 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
Métrica
w1 w2 w3
Percurso P
Multiplicativa
w = w1 . w2 . w3
Aditiva
w = w1 + w2 + w3
Côncava
w = max{w1 , w2 , w3}
Selecção do Percurso – Métricas e Restrições
Métricas
Simples
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 Métrica 1 Métrica 2
F-B 3 7
F-D-B 5 5
F-E-D-C-B 7 6
Percurso escolhidomin. salto/custo
PercursoEscolhido ?
D
E
F
1 1
11
1 1
1 1
1A
B
C
[1,2]
[1,2]
B[1,4]
[1,1]
A
[3,7]
[1,4]
[4,1]
[2,2]
CE
[3,1]
D
F
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 é NP-Completo. (Referência: P. Van Mieghem, F. A. Kuipers, “On the Complexity of QoS Routing”, na Computer
Communications.).
Classificação de Algoritmos/Protocolos Unicast
Simples MúltiploDual
Multicast
Simples MúltiploDual
• Múltiplas • Múltipla• Bandwidth
• Delay
• Custo +Atraso
• Largura de banda + atraso
• Qq 2 métricas aditivas
• Custo
• Atraso
• Métrica não aditiva
• Custo + Atraso
• Atraso + Jitter
• Largura de banda
• Atraso
Encaminhamento unicast Restrição de Largura de Banda
Filtragem da Topologia Algoritmo de Guerin Orda
N1
N3N4
N2N5
1
2
4
3
3 5
LB > 2
N1
N3N4
N2N5
1
2
4
3
3 5
N1
N3N4
N2N5
4
3
3 5
Maximizar Probablidade (LB Residual > 2)
N1
N3N4
N2N5
N1
N3N4
N2N5
N1
N3N4
N2N5
0.1
0.1
0.2
0.2
N1
N3N4
N2
0.1
0.1
0.2
0.2N5N5
N1
N3N4
N2
-log (0.1)
-log (0.1)
Problema aditivo
Classificação de Algoritmos/Protocolos Unicast
Simples MúltiploDual
Multicast
Simples MúltiploDual
• Múltipla• Custo
• Atraso
• Métrica não aditiva
• Custo + Atraso
• Atraso + Jitter
• Múltiplas• LB
• Atraso
• Custo+Atraso
• LB + Atraso
• Qualquer 2 métricas aditivas
Encaminhamento Unicast com QoS Restrições de Atraso e Largura de Banda
Algoritmo de Wang Crowcroft
N1
N3N4
N2N5
1
2
4
3
3 5
LB > 2
Elimina todas as ligações com largura de banda inferior à requerida.
A seguir, encontra o percurso mais curto relativamente ao atraso no grafo modificado usando o algoritmo de Djikstra.
N1
N3N4
N2N5
1
2
4
3
3 5
LB > 2LB > 2LB > 2
N1
N3N4
N2N5
4
3
3 5
LB > 2
N1
N3N4
N2N5
4
3
3 5
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?
1
2
4
6
3
5
10
7
81
5
67
2
3
5
1
2
4
6
3
5
10
7
81
5
67
2
3
5
Abordagem básica
PMC de A para H = PMC de A para B + PMC from B to H.
PMC de A para H = PMC de A para C + PMC from C to H.
PMC de A para H = PMC de A para vi + PMC from vi to H;
vi.
A B E F H 15
A B E G H 14
A C E F H 16
A C E G H 15
A D E F H 26
A D E G H 25
A
B
D
C E
F
G
H
21
6
3
8
17
5 6
5
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 PMCsS = {0} /* Actual MST */for i = 0 to n D[i] = M[0][i] /* Shortest path length from 0 to i */
end forfor 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 forend for
Algoritmo de Dijkstra
A
B
D
C E
F
G
H
21
6
3
8
17
5 6
5
A
B
D
C E
F
G
H
21
6
3
8
17
5 6
5
S = {A}
S = {A,C}
Custo do Percurso mais curto de A para vi através de S
A B C D E F G H
-- 2 1 6 ? ? ? ?
A B C D E F G H
-- 2 1 6 4 ? ? ?
Algoritmo de Dijkstra(2)
A
B
D
C E
F
G
H
21
6
3
8
17
5 6
5
A
B
D
C E
F
G
H
21
6
3
8
17
5 6
5
S = {A,C,B,E}
S = {A,C,B}
A B C D E F G H
-- 2 1 6 3 ? ? ?
A B C D E F G H
-- 2 1 6 3 10 8 ?
Custo do Percurso mais curto de A para vi atavés de S
Algoritmo de Dijkstra(3)
A
B
D
C E
F
G
H
21
6
3
8
17
5 6
5
A
B
D
C E
F
G
H
21
6
3
8
17
5 6
5
S = {A,C,B,E,D,G}
S = {A,C,B,E,D}
A B C D E F G H
-- 2 1 6 3 10 8 ?
A B C D E F G H
-- 2 1 6 3 10 8 14
Custo do Percurso mais curto de A para vi atavés de S
Algoritmo de Dijkstra (4)
A
B
D
C E
F
G
H
21
6
3
8
17
5 6
5
A
B
D
C E
F
G
H
21
6
3
8
17
5 6
5
S = {A,C,B,E,D,G,F,H}
S = {A,C,B,E,D,G,F}
A B C D E F G H
-- 2 1 6 3 10 8 14
A B C D E F G H
-- 2 1 6 3 10 8 14
Custo do Percurso mais curto de A para vi atavés de S
Algoritmo de Dijkstra: Exemplo
1
2
4
6
3
5
10
7
81
5
67
2
3
5
1 2 3 4 5 6
-- 3 ? ? ? 5
1 2 3 4 5 6
-- 3 10 ? ? 5
1 2 3 4 5 6
-- 3 10 7 12 5
1 2 3 4 5 6
-- 3 10 7 12 5
1 2 3 4 5 6
-- 3 10 7 11 5
1 2 3 4 5 6
-- 3 10 7 11 5
Classificação de Algoritmos/Protocolos Unicast
Simples MúltiploDual
Multicast
Simples MúltiploDual
• Múltiplas• Custo
• Atraso
• Métrica não aditiva
• Custo + Atraso
• Atraso + Jitter
• Múltiplas• LB
• Atraso
• Custo +Atraso
• LB + Atraso
• Quaisquer 2 métricas aditivas
Encaminhamento Unicast com QoS Restrições de quaisquer duas métricas aditivas
Combinação de métricas ponderadas de Jaffe propõe a minimização duma combinação linear de pesos 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.
N1
N3N4
N2N5
[w1,15,w2,15]
[w1,54,w2,54]
[w1,12,w2,12]
[w1,23,w2,23]
[w1,24,w2,24]
[w1,53,w2,53]
w = w1 + d w2
N1
N3N4
N2N5
w15 w12
w23w54
w53 w24
Classificação de Algoritmos/Protocolos Unicast
Simples MúltiploDual
Multicast
Simples MúltiploDual
• Múltiplas• Custo
• Atraso
• Métrica não aditiva
• Custo + Atraso
• Atraso + Jitter
• LB
• Atraso
• Custo +Atraso
• LB + Atraso
• Quaisquer 2 métricas aditivas
• Múltiplas
Árvore 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´ conexo e acíclico de G (árvore), 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.
Árvore geradora mínima
• No caso particular de todos os nós da topologia fazerem parte do grupo (ou seja quando S=V), o problema é mais simples e resolve-se calculando a árvore geradora mínima:
– Algoritmo de Prim – Algoritmo de Kruskall – …
Algoritmo de Prim
• Começa por seleccionar um qualquer vértice (não importa qual), adicionando-o à solução. Depois, iterativamente, escolhe-se a aresta de menor custo, com ligação a vértices da solução, que não forma ciclos e junta-se à solução:
O={1} (raiz da árvore). P={2,...,n}Enquanto (P <> Vazio)
Escolher aresta K(i,j) de menor custo,
com i pertencente a O e j pertencente a P
Fazer O = O U {k}
Fazer P = P \ {k}
– Demo: http://students.ceid.upatras.gr/~papagel/project/prim.htm
Algoritmo de Kruskall
• Selecciona a aresta de menor custo. Iterativamente adiciona sempre a aresta de menor custo ainda não seleccionada que não forme ciclos:
A1=0,A2=A
Enquanto (|A1| < n-1 arestas) ≥ && A2=0 fazer
Escolher aresta a(i,j) de A2 de menor custo
A2=A2-{a(i,j)}
Se vértices V(i) e V(j) não pertencem à mesma árvore:
Juntar as árvores de V(i) e V(j) numa única árvore.
– Demo: http://students.ceid.upatras.gr/~papagel/project/kruskal.htm
Encaminhamento Multicast com QoS
Restrições de custo Uma árvore que alcança 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.
N1
N3N4
N2N5
1
2
3 4
1
1
Abordagens para QoS
Abordagem com informação de estado, com informação por fluxo.
Abordagem sem informação de estado e portanto mais escalável
Serviço fim-a-fim garantido por fluxo. Necessidade de reserva de recursos.
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.
Serviços Integrados Serviços Diferenciados
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 (1)
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.
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 QoSAlgoritmos 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