Burst TCP: an approach for benefiting mice flows Aluno: Glauco Estácio Gonçalves Orientador: Djamel Sadok Co-Orientador: S...
Roteiro <ul><li>Introdução </li></ul><ul><li>Os Problemas </li></ul><ul><li>Proposta do Trabalho </li></ul><ul><li>Burst T...
Introdução <ul><li>Protocolo TCP </li></ul><ul><ul><li>Setembro de 1981: 1º versão do TCP </li></ul></ul><ul><ul><ul><li>F...
Introdução <ul><li>CC do TCP </li></ul>Tempo Cwnd Perda de pacote Perda de pacote Perda de pacote Perda de pacote Slow sta...
Introdução <ul><li>Tráfego na Internet é formado por “ratos” e “elefantes” </li></ul><ul><ul><li>Muitos fluxos (ratos) car...
Introdução Controle  Congestionamento do TCP Fenômeno dos  Ratos e Elefantes Problemas!
(1) Sobrecarga de Inicializaç ã o / Finalizaç ã o <ul><li>Sobrecarga de pacotes </li></ul><ul><ul><li>Rato (3 pkts):  ~ 54...
(2) Fluxos são independentes <ul><li>Cada fluxo testa a banda de maneira independente dos demais </li></ul><ul><ul><ul><li...
Detecção de perdas <ul><li>(3) Dados insuficientes para ativar o FR/FR </li></ul><ul><ul><li>Ratos têm poucos dados para g...
(5) Reconhecimentos (ACKs) atrasados <ul><li>Receptores podem atrasar ACKs </li></ul><ul><ul><ul><li>Diminui a carga na re...
(6) Dinâmica do  Slow Start 32 packets lost 2 RTTs
(6) Dinâmica do  Slow Start <ul><li>Soluções </li></ul><ul><ul><li>Alterar o comportamento do  Slow Start </li></ul></ul><...
Proposta do Trabalho <ul><li>Elaborar e avaliar uma proposta de CC que reduza os problemas citados </li></ul><ul><li>Espec...
Burst TCP <ul><li>Meta do  Slow Start   </li></ul><ul><ul><li>Aumentar a taxa do fluxo até atingir a banda disponível </li...
Burst TCP <ul><li>Nível de concepção </li></ul><ul><ul><li>Slow Start </li></ul></ul><ul><ul><li>B-TCP </li></ul></ul><ul>...
Burst TCP
Burst TCP
Burst TCP <ul><li>Escolhendo o fator de suavidade </li></ul><ul><ul><li>Transferência de arquivo de 64 KB </li></ul></ul><...
Burst TCP <ul><li>Escolhendo  o limiar dos ratos </li></ul><ul><ul><li>f  = 4 e 8 </li></ul></ul><ul><ul><li>mice_t  = {8,...
Avaliação de desempenho <ul><li>Experimento Básico </li></ul><ul><ul><li>BDP = 7 pkts </li></ul></ul><ul><ul><li>Fluxos </...
Experimento Básico 32 KB 82 KB
Experimento Básico (32 KB)
Experimento Básico (1 Mbps)
Variando o Buffer = 3 e 14 Buffer = 14 Buffer = 3
Variando o Buffer = 3
Tráfego cruzado
Tráfego cruzado (Justiça)
Tráfego cruzado (Justiça) B-TCP(8) 250 fluxos NewReno 250 fluxos 0,398 0,6546 0,349 0,7183
Tráfego cruzado (Justiça) B-TCP(8) 1250 fluxos NewReno 1250 fluxos 0,499 0,8205 0,432 0,8243
ACKs Atrasados
ACKs Atrasados
Tráfego mal-comportado Antes Depois Durante
Topologia com múltiplos saltos B3
Questões sobre implantação <ul><li>Mudança somente no emissor </li></ul><ul><li>Código simples </li></ul><ul><li>Competiçã...
Competição com TCP
Competição com TCP
Conclusões <ul><li>B-TCP é uma proposta de CC simples e eficaz para beneficiar fluxos pequenos </li></ul><ul><ul><li>Empre...
Contribuições <ul><li>Proposição do algoritmo  Burst  TCP </li></ul><ul><ul><li>Fácil de implementar </li></ul></ul><ul><u...
Trabalhos Futuros <ul><li>Modelos analíticos e medições reais </li></ul><ul><li>Utilizar B-TCP após detecção de perdas </l...
Burst TCP: uma abordagem para beneficiar fluxos ratos Aluno: Glauco Estácio Gonçalves Orientador: Djamel Sadok Co-Orientad...
Tráfego cruzado
Tráfego mal-comportado (durante)
Topologia com múltiplos saltos Sem tráfego de segundo plano Com tráfego de segundo plano
Topologia com múltiplos saltos
Experimento Básico (32 KB)
Próximos SlideShares
Carregando em…5
×

Controle de Congestionamento e fluxos ratos

1.251 visualizações

Publicada em

Apresentação de minha dissertação de mestrado.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.251
No SlideShare
0
A partir de incorporações
0
Número de incorporações
35
Ações
Compartilhamentos
0
Downloads
6
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Controle de Congestionamento e fluxos ratos

  1. 1. Burst TCP: an approach for benefiting mice flows Aluno: Glauco Estácio Gonçalves Orientador: Djamel Sadok Co-Orientador: Stenio Fernandes Recife, Março de 2007 Defesa de Dissertação de Mestrado
  2. 2. Roteiro <ul><li>Introdução </li></ul><ul><li>Os Problemas </li></ul><ul><li>Proposta do Trabalho </li></ul><ul><li>Burst TCP </li></ul><ul><li>Avaliação de desempenho </li></ul><ul><li>Conclusões </li></ul><ul><li>Contribuições </li></ul><ul><li>Trabalhos Futuros </li></ul>
  3. 3. Introdução <ul><li>Protocolo TCP </li></ul><ul><ul><li>Setembro de 1981: 1º versão do TCP </li></ul></ul><ul><ul><ul><li>Foco na confiabilidade da transmissão </li></ul></ul></ul><ul><ul><li>Maior parte do tráfego de dados é TCP </li></ul></ul><ul><ul><li>Controle de Congestionamento (CC) foi adicionado depois </li></ul></ul><ul><ul><ul><li>Slow Start </li></ul></ul></ul><ul><ul><ul><li>Congestion Avoidance </li></ul></ul></ul><ul><ul><ul><li>Fast Retransmit </li></ul></ul></ul><ul><ul><ul><li>Fast Recovery </li></ul></ul></ul>
  4. 4. Introdução <ul><li>CC do TCP </li></ul>Tempo Cwnd Perda de pacote Perda de pacote Perda de pacote Perda de pacote Slow start Congestion avoidance
  5. 5. Introdução <ul><li>Tráfego na Internet é formado por “ratos” e “elefantes” </li></ul><ul><ul><li>Muitos fluxos (ratos) carregam poucos pacotes, e poucos fluxos carregam muitos pacotes </li></ul></ul><ul><ul><ul><li>Exemplo: 0,02% dos fluxos contribuem com 59,3% do tráfego </li></ul></ul></ul><ul><ul><li>Como identificar um rato? E um elefante? </li></ul></ul>
  6. 6. Introdução Controle Congestionamento do TCP Fenômeno dos Ratos e Elefantes Problemas!
  7. 7. (1) Sobrecarga de Inicializaç ã o / Finalizaç ã o <ul><li>Sobrecarga de pacotes </li></ul><ul><ul><li>Rato (3 pkts): ~ 54% </li></ul></ul><ul><ul><li>Elefante (5000 pkts): < 0,1% </li></ul></ul><ul><li>Solução </li></ul><ul><ul><li>P-HTTP </li></ul></ul><ul><ul><ul><li>Persistent Connection </li></ul></ul></ul><ul><ul><ul><li>Pipelined Requests </li></ul></ul></ul><ul><ul><ul><li>Implementada no HTTP/1.1 </li></ul></ul></ul><ul><ul><ul><li>Específico para HTTP </li></ul></ul></ul>
  8. 8. (2) Fluxos são independentes <ul><li>Cada fluxo testa a banda de maneira independente dos demais </li></ul><ul><ul><ul><li>Novos fluxos começam com janela pequena mesmo havendo banda disponível </li></ul></ul></ul><ul><li>Solução </li></ul><ul><ul><li>Uso de históricos com informação do estado da rede </li></ul></ul><ul><ul><li>Compartilhamento do histórico entre conexões </li></ul></ul><ul><ul><li>TCP/SPAND </li></ul></ul><ul><ul><ul><li>Performance Gateway </li></ul></ul></ul>
  9. 9. Detecção de perdas <ul><li>(3) Dados insuficientes para ativar o FR/FR </li></ul><ul><ul><li>Ratos têm poucos dados para gerar 3 ACKs duplicados consecutivos </li></ul></ul><ul><ul><ul><li>São dependentes do temporizador </li></ul></ul></ul><ul><li>(4) Temporizador tem estimativa ruim inicialmente </li></ul><ul><ul><li>Atual: 3 segundos </li></ul></ul><ul><ul><li>Propostas sugerem reduzir para 1s ou 500ms </li></ul></ul><ul><li>Solução </li></ul><ul><ul><li>Alguma forma de histórico do estado da rede </li></ul></ul><ul><ul><li>Congestion Manager </li></ul></ul><ul><ul><ul><li>Pode ser usado por diversos protocolos (UDP, RTP) </li></ul></ul></ul>
  10. 10. (5) Reconhecimentos (ACKs) atrasados <ul><li>Receptores podem atrasar ACKs </li></ul><ul><ul><ul><li>Diminui a carga na rede </li></ul></ul></ul><ul><ul><ul><li>Aumenta a espera do emissor (200 ms) </li></ul></ul></ul><ul><li>Solução </li></ul><ul><ul><li>Increased Initial Window (IIW) </li></ul></ul><ul><ul><ul><li>Aumentar o número de pacotes enviados inicialmente </li></ul></ul></ul>
  11. 11. (6) Dinâmica do Slow Start 32 packets lost 2 RTTs
  12. 12. (6) Dinâmica do Slow Start <ul><li>Soluções </li></ul><ul><ul><li>Alterar o comportamento do Slow Start </li></ul></ul><ul><ul><li>Smooth Start </li></ul></ul><ul><ul><ul><li>Adiciona uma nova fase entre Slow Start e Congestion Avoidance </li></ul></ul></ul><ul><ul><li>Adaptive Start </li></ul></ul><ul><ul><ul><li>Slow Start padrão </li></ul></ul></ul><ul><ul><ul><li>Usa o mecanismo de estimativa de banda do TCP Westwood </li></ul></ul></ul><ul><ul><ul><li>Usa melhor a banda e evita perdas </li></ul></ul></ul>
  13. 13. Proposta do Trabalho <ul><li>Elaborar e avaliar uma proposta de CC que reduza os problemas citados </li></ul><ul><li>Especificamente </li></ul><ul><ul><li>Combinar pontos fortes das soluções atuais </li></ul></ul><ul><ul><li>Modificar o Slow Start </li></ul></ul><ul><ul><li>Solucionando boa parte dos problemas </li></ul></ul><ul><li>Burst TCP </li></ul>
  14. 14. Burst TCP <ul><li>Meta do Slow Start </li></ul><ul><ul><li>Aumentar a taxa do fluxo até atingir a banda disponível </li></ul></ul><ul><li>Analogia da garrafa </li></ul><ul><ul><li>Slow Start  começa devagar e aumenta com o passar do tempo </li></ul></ul><ul><ul><li>B-TCP  começa rápido e diminui o crescimento com o passar do tempo </li></ul></ul>
  15. 15. Burst TCP <ul><li>Nível de concepção </li></ul><ul><ul><li>Slow Start </li></ul></ul><ul><ul><li>B-TCP </li></ul></ul><ul><li>Nível de implementação </li></ul><ul><ul><li>Slow Start </li></ul></ul><ul><ul><li>B-TCP </li></ul></ul>
  16. 16. Burst TCP
  17. 17. Burst TCP
  18. 18. Burst TCP <ul><li>Escolhendo o fator de suavidade </li></ul><ul><ul><li>Transferência de arquivo de 64 KB </li></ul></ul><ul><ul><li>Enlace </li></ul></ul><ul><ul><ul><li>1,5Mbps </li></ul></ul></ul><ul><ul><ul><li>Atraso 0,5s </li></ul></ul></ul><ul><ul><li>mice_t = 32 pacotes </li></ul></ul><ul><ul><li>f = {2..16} </li></ul></ul><ul><ul><li>Limites </li></ul></ul><ul><ul><ul><li>Inferior:4 </li></ul></ul></ul><ul><ul><ul><li>Superior: 8 </li></ul></ul></ul>Sem perda Perda em 3s
  19. 19. Burst TCP <ul><li>Escolhendo o limiar dos ratos </li></ul><ul><ul><li>f = 4 e 8 </li></ul></ul><ul><ul><li>mice_t = {8,16,24...80} </li></ul></ul><ul><ul><li>Valor </li></ul></ul><ul><ul><ul><li>Único: 32 pacotes </li></ul></ul></ul>f =4 f =8 f =4
  20. 20. Avaliação de desempenho <ul><li>Experimento Básico </li></ul><ul><ul><li>BDP = 7 pkts </li></ul></ul><ul><ul><li>Fluxos </li></ul></ul><ul><ul><ul><li>Total: 250, 500 ... 1250 </li></ul></ul></ul><ul><ul><ul><li>Única direção </li></ul></ul></ul><ul><ul><ul><li>Tamanho: Pareto(1,2 ; 4) </li></ul></ul></ul><ul><ul><li>Limiar de classificação </li></ul></ul><ul><ul><ul><li>32 KB </li></ul></ul></ul><ul><ul><ul><li>AEST = 82 KB </li></ul></ul></ul><ul><ul><li>Simulação </li></ul></ul><ul><ul><ul><li>50 repetições </li></ul></ul></ul><ul><ul><ul><li>95% de confiança </li></ul></ul></ul><ul><ul><li>TCP </li></ul></ul><ul><ul><ul><li>TCP NewReno </li></ul></ul></ul><ul><ul><ul><li>B-TCP(4) e B-TCP(8) </li></ul></ul></ul>
  21. 21. Experimento Básico 32 KB 82 KB
  22. 22. Experimento Básico (32 KB)
  23. 23. Experimento Básico (1 Mbps)
  24. 24. Variando o Buffer = 3 e 14 Buffer = 14 Buffer = 3
  25. 25. Variando o Buffer = 3
  26. 26. Tráfego cruzado
  27. 27. Tráfego cruzado (Justiça)
  28. 28. Tráfego cruzado (Justiça) B-TCP(8) 250 fluxos NewReno 250 fluxos 0,398 0,6546 0,349 0,7183
  29. 29. Tráfego cruzado (Justiça) B-TCP(8) 1250 fluxos NewReno 1250 fluxos 0,499 0,8205 0,432 0,8243
  30. 30. ACKs Atrasados
  31. 31. ACKs Atrasados
  32. 32. Tráfego mal-comportado Antes Depois Durante
  33. 33. Topologia com múltiplos saltos B3
  34. 34. Questões sobre implantação <ul><li>Mudança somente no emissor </li></ul><ul><li>Código simples </li></ul><ul><li>Competição com outros tipos de TCP </li></ul><ul><ul><li>NewReno vs. B-TCP </li></ul></ul><ul><ul><li>Simulação </li></ul></ul><ul><ul><ul><li>1200 fluxos </li></ul></ul></ul><ul><ul><ul><li>Topologia com tráfego reverso </li></ul></ul></ul><ul><ul><ul><li>Inserção de 200 fluxos B-TCP e retirada de 200 fluxos NewReno à cada passo </li></ul></ul></ul>
  35. 35. Competição com TCP
  36. 36. Competição com TCP
  37. 37. Conclusões <ul><li>B-TCP é uma proposta de CC simples e eficaz para beneficiar fluxos pequenos </li></ul><ul><ul><li>Emprega uma forma intuitiva de testar a banda disponível </li></ul></ul><ul><li>Os cenários avaliados mostraram que o B-TCP melhora o tempo de transferência dos ratos e as perdas gerais na rede em diferentes níveis de congestionamento </li></ul><ul><li>B-TCP também não prejudica o desempenho de fluxos grandes e é capaz de melhorar o desempenho de fluxos concorrentes que sigam o CC padrão do TCP </li></ul>
  38. 38. Contribuições <ul><li>Proposição do algoritmo Burst TCP </li></ul><ul><ul><li>Fácil de implementar </li></ul></ul><ul><ul><li>Melhora o desempenho dos fluxos ratos </li></ul></ul><ul><ul><li>Não prejudica os fluxos elefantes </li></ul></ul><ul><li>A implementação do algoritmo no simulador NS-2 </li></ul><ul><li>Derivação dos valores dos parâmetros do algoritmo através de simulação </li></ul><ul><ul><li>Valor intermediário para f </li></ul></ul><ul><li>Avaliação de desempenho considerando </li></ul><ul><ul><li>Diferentes topologias </li></ul></ul><ul><ul><li>Diferentes níveis de tráfego </li></ul></ul><ul><ul><li>Impacto dos ACKs atrasados </li></ul></ul><ul><ul><li>Questões de escalabilidade e interoperabilidade </li></ul></ul><ul><li>Artigos submetidos </li></ul><ul><ul><li>SBRC 2007 </li></ul></ul><ul><ul><li>10th IEEE Global Internet Symposium 2007 </li></ul></ul>
  39. 39. Trabalhos Futuros <ul><li>Modelos analíticos e medições reais </li></ul><ul><li>Utilizar B-TCP após detecção de perdas </li></ul><ul><li>Uso de histórico e de estimadores de banda </li></ul><ul><li>Integrar os conceitos do B-TCP à propostas para redes de alta-velocidade </li></ul>
  40. 40. Burst TCP: uma abordagem para beneficiar fluxos ratos Aluno: Glauco Estácio Gonçalves Orientador: Djamel Sadok Co-Orientador: Stenio Fernandes Recife, Março de 2007 Defesa de Dissertação de Mestrado
  41. 41. Tráfego cruzado
  42. 42. Tráfego mal-comportado (durante)
  43. 43. Topologia com múltiplos saltos Sem tráfego de segundo plano Com tráfego de segundo plano
  44. 44. Topologia com múltiplos saltos
  45. 45. Experimento Básico (32 KB)

×