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
Roteiro Introdução Os Problemas Proposta do Trabalho Burst TCP Avaliação de desempenho Conclusões Contribuições Trabalhos Futuros
Introdução Protocolo TCP Setembro de 1981: 1º versão do TCP Foco na confiabilidade da transmissão Maior parte do tráfego de dados é TCP Controle de Congestionamento (CC) foi adicionado depois Slow Start Congestion Avoidance Fast Retransmit Fast Recovery
Introdução CC do TCP Tempo Cwnd Perda de pacote Perda de pacote Perda de pacote Perda de pacote Slow start Congestion avoidance
Introdução Tráfego na Internet é formado por “ratos” e “elefantes” Muitos fluxos (ratos) carregam poucos pacotes, e poucos fluxos carregam muitos pacotes Exemplo: 0,02% dos fluxos contribuem com 59,3% do tráfego Como identificar um rato? E um elefante?
Introdução Controle  Congestionamento do TCP Fenômeno dos  Ratos e Elefantes Problemas!
(1) Sobrecarga de Inicializaç ã o / Finalizaç ã o Sobrecarga de pacotes Rato (3 pkts):  ~ 54% Elefante (5000 pkts): < 0,1% Solução P-HTTP Persistent Connection Pipelined Requests Implementada no HTTP/1.1 Específico para HTTP
(2) Fluxos são independentes Cada fluxo testa a banda de maneira independente dos demais Novos fluxos começam com janela pequena mesmo havendo banda disponível Solução Uso de históricos com informação do estado da rede  Compartilhamento do histórico entre conexões TCP/SPAND Performance Gateway
Detecção de perdas (3) Dados insuficientes para ativar o FR/FR Ratos têm poucos dados para gerar 3 ACKs duplicados consecutivos São dependentes do temporizador (4) Temporizador tem estimativa ruim inicialmente Atual: 3 segundos Propostas sugerem reduzir para 1s ou 500ms Solução Alguma forma de histórico do estado da rede Congestion Manager Pode ser usado por diversos protocolos (UDP, RTP)
(5) Reconhecimentos (ACKs) atrasados Receptores podem atrasar ACKs Diminui a carga na rede Aumenta a espera do emissor (200 ms) Solução Increased Initial Window (IIW) Aumentar o número de pacotes enviados inicialmente
(6) Dinâmica do  Slow Start 32 packets lost 2 RTTs
(6) Dinâmica do  Slow Start Soluções Alterar o comportamento do  Slow Start Smooth Start Adiciona uma nova fase entre  Slow Start  e  Congestion Avoidance Adaptive Start Slow Start  padrão Usa o mecanismo de estimativa de banda do TCP Westwood Usa melhor a banda e evita perdas
Proposta do Trabalho Elaborar e avaliar uma proposta de CC que reduza os problemas citados Especificamente Combinar pontos fortes das soluções atuais Modificar o  Slow Start Solucionando boa parte dos problemas Burst TCP
Burst TCP Meta do  Slow Start   Aumentar a taxa do fluxo até atingir a banda disponível Analogia da garrafa Slow Start     começa devagar e aumenta com o passar do tempo B-TCP    começa rápido e diminui o crescimento com o passar do tempo
Burst TCP Nível de concepção Slow Start B-TCP Nível de implementação Slow Start B-TCP
Burst TCP
Burst TCP
Burst TCP Escolhendo o fator de suavidade Transferência de arquivo de 64 KB Enlace 1,5Mbps Atraso 0,5s mice_t  = 32 pacotes f  = {2..16} Limites Inferior:4 Superior: 8 Sem perda Perda em 3s
Burst TCP Escolhendo  o limiar dos ratos f  = 4 e 8 mice_t  = {8,16,24...80} Valor Único: 32 pacotes f  =4 f  =8 f  =4
Avaliação de desempenho Experimento Básico BDP = 7 pkts Fluxos Total: 250, 500 ... 1250 Única direção Tamanho: Pareto(1,2 ; 4) Limiar de classificação 32 KB AEST = 82 KB Simulação 50 repetições 95% de confiança TCP TCP NewReno B-TCP(4) e B-TCP(8)
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 Mudança somente no emissor Código simples Competição com outros tipos de TCP NewReno vs. B-TCP Simulação  1200 fluxos Topologia com tráfego reverso Inserção de 200 fluxos B-TCP e retirada de 200 fluxos NewReno à cada passo
Competição com TCP
Competição com TCP
Conclusões B-TCP é uma proposta de CC simples e eficaz para beneficiar fluxos pequenos Emprega uma forma intuitiva de testar a banda disponível 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 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
Contribuições Proposição do algoritmo  Burst  TCP Fácil de implementar Melhora o desempenho dos fluxos ratos  Não prejudica os fluxos elefantes A implementação do algoritmo no simulador NS-2 Derivação dos valores dos parâmetros do algoritmo através de simulação Valor intermediário para  f Avaliação de desempenho considerando Diferentes topologias Diferentes níveis de tráfego Impacto dos ACKs atrasados Questões de escalabilidade e interoperabilidade Artigos submetidos SBRC 2007 10th IEEE Global Internet Symposium 2007
Trabalhos Futuros Modelos analíticos e medições reais Utilizar B-TCP após detecção de perdas Uso de histórico e de estimadores de banda Integrar os conceitos do B-TCP à propostas para redes de alta-velocidade
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
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)

Controle de Congestionamento e fluxos ratos

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