Encaminhamento com QoS

49
Encaminhamento com QoS Sistemas Telemáticos LESI Grupo de Comunicações por Computador

description

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 - PowerPoint PPT Presentation

Transcript of Encaminhamento com QoS

Page 1: Encaminhamento com QoS

Encaminhamento com QoS

Sistemas Telemáticos

LESI

Grupo de Comunicações por Computador

Page 2: Encaminhamento com QoS

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

Page 3: Encaminhamento com QoS

SumárioVantagens 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

Page 4: Encaminhamento com QoS

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.

Page 5: Encaminhamento com QoS

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.

Page 6: Encaminhamento com QoS

QoS na Pilha de Protocolos

Aplicação ◄ ???

Transporte ◄ ???

Rede ◄ ???

Ligação Lógica ◄ ???

Meio Físico

Page 7: Encaminhamento com QoS

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

Page 8: Encaminhamento com QoS

Sequência de acções para disponibilizar a QoS fim-a-fim

Pedido de QoS por um host

Tradução e negociação do QoS

Pedidoaceite?

Não

Fim da Transferência dos

dados?

Fim da transferência dos dados

Sim

Não

Sim

A

Selecção do Percurso e transferência dos dados

(Encaminhamento com QoS)

A

Page 9: Encaminhamento com QoS

Encaminhamento com QoSControlo de Admissão

Actualização da informaçãode estado

Reserva de Recursos(opcional)

Armazenamento e Escalonamento de pacotes

B

Busca na tabela deencaminhamento

Gestão de Recursos

Fim da Transferência dos

dados?

Fim daTransferência de Dados

Sim

CNão

B

C

Page 10: Encaminhamento com QoS

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

Page 11: Encaminhamento com 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

Page 12: Encaminhamento com QoS

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

Page 13: Encaminhamento com QoS

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

Page 14: Encaminhamento com QoS

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

Page 15: Encaminhamento com QoS

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

Page 16: Encaminhamento com QoS

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

Page 17: Encaminhamento com QoS

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

Page 18: Encaminhamento com QoS

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

Page 19: Encaminhamento com QoS

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}

Page 20: Encaminhamento com QoS

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: ...

Page 21: Encaminhamento com QoS

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

Page 22: Encaminhamento com QoS

Selecção de Percurso – ME vs. QoS

Percurso Métrica 1

Métrica 2

F-B 3 7

F-A-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

Page 23: Encaminhamento com QoS

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

Page 24: Encaminhamento com QoS

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.

Page 25: Encaminhamento com QoS

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.).

Page 26: Encaminhamento com QoS

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

Page 27: Encaminhamento com QoS

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

Page 28: Encaminhamento com QoS

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

Page 29: Encaminhamento com QoS

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

N1

N3N4

N2N5

1

2

4

3

3 5

N1

N3N4

N2N5

4

3

3 5

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

4

3

3 5

Page 30: Encaminhamento com QoS

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

Page 31: Encaminhamento com QoS

Abordagem básica

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; 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

Page 32: Encaminhamento com QoS

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

Page 33: Encaminhamento com QoS

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

Page 34: Encaminhamento com QoS

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

Page 35: Encaminhamento com QoS

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 atavé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 ? ? ?

Page 36: Encaminhamento com QoS

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

Page 37: Encaminhamento com QoS

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

Page 38: Encaminhamento com QoS

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

Page 39: Encaminhamento com QoS

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

Page 40: Encaminhamento com QoS

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

Page 41: Encaminhamento com QoS

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 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.

N1

N3N4

N2N5

[w1,15,w2,15]

[w1,54,w2,54]

[w1,54,w2,54]

[w1,23,w2,23]

[w1,24,w2,24]

[w1,53,w2,53]

w = w1 + d w2

N1

N3N4

N2N5

w15 w12

w23w54

w53 w24

Page 42: Encaminhamento com QoS

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

Page 43: Encaminhamento com QoS

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.

Page 44: Encaminhamento com QoS

Encaminhamento Multicast com QoS

Restrições de custo 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.

N1

N3N4

N2N5

1

2

3 4

1

1

Page 45: Encaminhamento com QoS

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 grantido 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

Page 46: Encaminhamento com QoS

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.

.

Page 47: Encaminhamento com QoS

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 …)

Page 48: Encaminhamento com QoS

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..

Page 49: Encaminhamento com QoS

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 routing na interligação de redes actualmente.

Questões em aberto no encaminhamento com QoS