1 / 51

Encaminhamento com QoS

Encaminhamento com QoS. Sistemas Telemáticos LESI Grupo 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.

bazyli
Download Presentation

Encaminhamento com QoS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

  6. QoS na Pilha de Protocolos

  7. QoS na Pilha de Protocolos

  8. A Pedido de QoS por um host 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 Pedido aceite? Sim Não A Sim Fim da transferência dos dados Sequência de acções para disponibilizar a QoS fim-a-fim

  9. 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) Fim da Transferência dos dados? Não C C Armazenamento e Escalonamento de pacotes Sim Fim da Transferência de Dados B Encaminhamento com QoS

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

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

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

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

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

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

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

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

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

  19. Aditiva Multiplicativa Côncava w1 w = w1 + w2 + w3 w = w1 . w2 . w3 w = max{w1 , w2 , w3} Selecção do Percurso – Métricas e Restrições Métrica w2 w3 Percurso P

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

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

  22. Percurso escolhido min. salto/custo [3,7] 1 A A B 1 B [1,2] 1 [1,4] F F [3,1] 1 [1,4] [1,1] 1 1 1 [4,1] C C E E 1 1 [2,2] D D [1,2] Selecção de Percurso – ME vs. QoS Percurso Escolhido ?

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

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

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

  26. Multicast Unicast • Custo +Atraso • Bandwidth • Múltiplas • Custo • Custo + Atraso • Múltipla • Largura de banda + atraso • Atraso • Delay • Atraso + Jitter • Métrica não aditiva • Qq 2 métricas aditivas Simples Dual Múltiplo Dual Múltiplo Simples Classificação de Algoritmos/Protocolos • Largura de banda • Atraso

  27. N1 N1 N1 N1 -log (0.1) 0.1 0.1 0.2 0.2 N1 N1 N1 N1 1 1 4 4 4 N2 N2 N2 N2 N5 N5 N5 N2 N2 N2 N2 0.2 0.2 N5 N5 N5 N5 3 3 3 5 5 5 -log (0.1) 0.1 0.1 N5 2 2 3 3 3 N4 N3 N4 N4 N4 N3 N3 N3 N4 N4 N4 N4 N3 N3 N3 N3 Problema aditivo Encaminhamento unicast Restrição de Largura de Banda Algoritmo de Guerin Orda Filtragem da Topologia LB > 2 Maximizar Probablidade (LB Residual > 2)

  28. LB • Atraso Multicast Unicast • Múltiplas • Custo • Custo + Atraso • Múltipla • Atraso • Atraso + Jitter • Métrica não aditiva Simples Dual Múltiplo Dual Múltiplo Simples Classificação de Algoritmos/Protocolos • Custo+Atraso • LB + Atraso • Qualquer 2 métricas aditivas

  29. N1 N1 N1 N1 1 1 4 4 4 4 N2 N2 N2 N5 N5 N5 N2 N5 3 3 3 5 5 5 3 5 2 2 3 3 3 3 N4 N4 N4 N3 N3 N3 N4 N3 LB > 2 LB > 2 LB > 2 LB > 2 LB > 2 Encaminhamento Unicast com QoSRestrições de Atraso e Largura de Banda • Eliminatodas as ligações com largura de banda inferior à requerida. • A seguir, encontrao percurso mais curto relativamente ao atrasono grafo modificado usando o algoritmo de Djikstra. Algoritmo de Wang Crowcroft

  30. 7 7 2 3 2 3 5 5 3 8 3 8 1 1 1 4 1 4 10 10 2 2 5 5 6 6 6 5 6 5 7 7 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?

  31. B F C E G D Abordagem básica 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 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. 1 2 5 7 1 3 A H 5 6 6 8

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

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

  34. B F C E H G D A A B B C C D D E E F F G G H H -- 2 1 6 ? ? ? ? B F E H -- 2 1 6 4 ? ? ? G D Algoritmo de Dijkstra Custo do Percurso mais curto de A para vi através de S 1 2 5 7 1 3 A 5 6 6 8 S = {A} 1 2 5 7 1 3 A C 5 6 6 8 S = {A,C}

  35. F E H G D F H G D Algoritmo de Dijkstra(2) Custo do Percurso mais curto de A para vi atavés de S B 1 2 5 A B C D E F G H 7 1 3 A C -- 2 1 6 3 ? ? ? 5 6 6 8 S = {A,C,B} B 1 2 5 7 A B C D E F G H 1 3 A C E -- 2 1 6 3 10 8 ? 5 6 6 8 S = {A,C,B,E}

  36. F H F H Algoritmo de Dijkstra(3) Custo do Percurso mais curto de A para vi atavés de S B 1 2 5 7 A B C D E F G H 1 3 A C E -- 2 1 6 3 10 8 ? 5 6 6 8 G S = {A,C,B,E,D} D B 1 2 5 A B C D E F G H 7 1 3 A C E -- 2 1 6 3 10 8 14 5 6 6 8 G S = {A,C,B,E,D,G} D

  37. H Algoritmo de Dijkstra (4) Custo do Percurso mais curto de A para vi atavés de S B 1 2 F 5 A B C D E F G H 7 1 3 A C E -- 2 1 6 3 10 8 14 5 6 6 8 G S = {A,C,B,E,D,G,F} D B 1 2 F 5 A B C D E F G H 7 1 3 A C E H -- 2 1 6 3 10 8 14 5 6 6 8 G S = {A,C,B,E,D,G,F,H} D

  38. 1 2 3 4 5 6 -- 3 ? ? ? 5 1 2 3 4 5 6 -- 3 10 ? ? 5 7 2 3 5 1 2 3 4 5 6 3 8 1 -- 3 10 7 12 5 1 4 10 2 5 6 1 2 3 4 5 6 6 5 7 -- 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 Algoritmo de Dijkstra: Exemplo

  39. LB • Atraso Multicast Unicast • Múltiplas • Custo • Custo + Atraso • Múltiplas • Atraso • Atraso + Jitter • Métrica não aditiva Simples Dual Múltiplo Dual Múltiplo Simples Classificação de Algoritmos/Protocolos • Custo +Atraso • LB + Atraso • Quaisquer 2 métricas aditivas

  40. N1 [w1,15,w2,15] w15 w12 [w1,12,w2,12] N2 N5 [w1,24,w2,24] N1 w53 w24 [w1,53,w2,53] w54 w23 [w1,54,w2,54] [w1,23,w2,23] N2 N5 N4 N3 N4 N3 Encaminhamento Unicast com QoSRestriçõ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. w = w1 + d w2

  41. LB • Atraso Multicast Unicast • Múltiplas • Custo + Atraso • Múltiplas • Atraso + Jitter Simples Dual Múltiplo Dual Múltiplo Simples Classificação de Algoritmos/Protocolos • Custo +Atraso • Custo • LB + Atraso • Atraso • Quaisquer 2 métricas aditivas • Métrica não aditiva

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

  43. Á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 • …

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

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

  46. N1 1 1 N2 N5 3 4 2 1 N4 N3 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.

  47. Abordagem com informação de estado, com informação por fluxo. Abordagem sem informação de estado e portanto mais escalável Abordagens para QoS 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ço fim-a-fim garantido por fluxo. Necessidade de reserva de recursos.

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

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

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

More Related