Controle de Congestionamento e fluxos ratos

Preview:

DESCRIPTION

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

Citation preview

Burst TCP: an approach for benefiting mice flows

Aluno: Glauco Estácio Gonçalves

Orientador: Djamel SadokCo-Orientador: Stenio Fernandes

Recife, Março de 2007

Defesa de Dissertação de Mestrado

2/40

Roteiro Introdução Os Problemas Proposta do Trabalho Burst TCP Avaliação de desempenho Conclusões Contribuições Trabalhos Futuros

3/40

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

4/40

Introdução CC do TCP

Tempo

Perda de pacote Perda de pacote Perda de pacote

Cwnd

Perda de pacote

Slow start

Congestion avoidance

5/40

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?

6/40

Introdução

Controle Congestionamento

do TCP

Fenômeno dos Ratos e Elefantes

Problemas!

7/40

(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

ACK

Host1 Host2SYN

...

IntializationPhase

TransferPhase

FIN

ACK

FIN

ACK

FinalizationPhase

SYN

DATA

ACK

DATA

ACK

DATA

8/40

(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

9/40

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/40

(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/40

(6) Dinâmica do Slow StartSlow Start Cwnd

02468

101214161820222426283032343638404244464850525456586062646668

0 1 2 3 4 5 6 7

RTT

Cw

nd

(p

kts

)

32 packets lost

2 RTTs

12/40

(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/40

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

14/40

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

15/40

Burst TCP Nível de concepção

Slow Start B-TCP

Nível de implementação Slow Start B-TCP

1 cwndcwnd

RTTcwnd 2

f

cwndtmicefloorcwndcwnd

_

cwnd

f

cwndtmicefloor

cwndcwnd

_

16/40

Burst TCPCwnd Growth

0

5

10

15

20

25

30

35

0 1 2 3 4 5 6RTT

Cw

nd

(p

kts)

SlowStart

B-TCP(4)

B-TCP(8)

17/40

Burst TCP

18/40

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

0123456789

1011121314151617

New

ren

o

B-T

CP

(2)

B-T

CP

(3)

B-T

CP

(4)

B-T

CP

(5)

B-T

CP

(6)

B-T

CP

(7)

B-T

CP

(8)

B-T

CP

(9)

B-T

CP

(10)

B-T

CP

(11)

B-T

CP

(12)

B-T

CP

(13)

B-T

CP

(14)

B-T

CP

(15)

B-T

CP

(16)

Tra

nsf

er T

ime

(sec

s)

0123456789

1011121314151617

New

ren

o

B-T

CP

(2)

B-T

CP

(3)

B-T

CP

(4)

B-T

CP

(5)

B-T

CP

(6)

B-T

CP

(7)

B-T

CP

(8)

B-T

CP

(9)

B-T

CP

(10)

B-T

CP

(11)

B-T

CP

(12)

B-T

CP

(13)

B-T

CP

(14)

B-T

CP

(15)

B-T

CP

(16)

Tra

nsf

er T

ime

(sec

s)

Sem perda

Perda em 3s

Congestion Window Dynamics

0

5

10

15

20

25

30

0 1 2 3 4 5 6 7 8RTT (secs)

Cw

nd

Siz

e (p

kts)

B-TCP(2)

B-TCP(3)

B-TCP(4)

B-TCP(5)

19/40

Burst TCP Escolhendo

o limiar dos ratos f = 4 e 8 mice_t =

{8,16,24...80} Valor

Único: 32 pacotes

0123456789

1011121314151617

New

ren

o

B-T

CP

mic

e_t=

8

B-T

CP

mic

e_t=

16

B-T

CP

mic

e_t=

24

B-T

CP

mic

e_t=

32

B-T

CP

mic

e_t=

40

B-T

CP

mic

e_t=

48

B-T

CP

mic

e_t=

56

B-T

CP

mic

e_t=

64

B-T

CP

mic

e_t=

72

B-T

CP

mic

e_t=

80

Tra

nsf

er T

ime

(sec

s)

0123456789

1011121314151617

New

ren

o

B-T

CP

mic

e_t=

8

B-T

CP

mic

e_t=

16

B-T

CP

mic

e_t=

24

B-T

CP

mic

e_t=

32

B-T

CP

mic

e_t=

40

B-T

CP

mic

e_t=

48

B-T

CP

mic

e_t=

56

B-T

CP

mic

e_t=

64

B-T

CP

mic

e_t=

72

B-T

CP

mic

e_t=

80

Tra

nsf

er T

ime

(sec

s)

f =4

f =8

Congestion Window Dynamics

0

5

10

15

20

25

30

35

40

45

0 1 2 3 4 5 6 7 8RTT (secs)

Cw

nd

Siz

e (

pk

ts)

B-TCP mice_t=32B-TCP mice_t=40B-TCP mice_t=56B-TCP mice_t=80

f =4

20/40

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)

RT0 RT1

S1

S2

S3

S4

10Mbps1ms

1.5Mbps35ms

S5

R1

R2

R3

R4

10Mbps1ms

R5

TCPSource

InitialTime

(0 – 900)s

RT0 RT1

S1

S2

S3

S4

10Mbps1ms

1.5Mbps35ms

S5

R1

R2

R3

R4

10Mbps1ms

R5

TCPSourceTCPSource

InitialTime

(0 – 900)s

21/40

Experimento Básico

Mice Transfer Time

0,2

0,25

0,3

0,35

0,4

0,45

0,5

0,55

200 300 400 500 600 700 800 900 1000 1100 1200 1300Total number of flows

Tra

nsf

er t

ime

(sec

on

ds)

Newreno

B-TCP(4)

B-TCP(8)

Mice Transfer Time

0,2

0,25

0,3

0,35

0,4

0,45

0,5

0,55

200 300 400 500 600 700 800 900 1000 1100 1200 1300Total number of flows

Tra

nsf

er t

ime

(sec

on

ds)

Newreno

B-TCP(4)

B-TCP(8)

32 KB 82 KB

22/40

Experimento Básico (32 KB)

Packets Losses for mice class

0,0%

0,5%

1,0%

1,5%

2,0%

2,5%

250 500 750 1000 1250Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(4)

B-TCP(8)

Packets Losses for elephant class

0,0%

0,5%

1,0%

1,5%

2,0%

2,5%

250 500 750 1000 1250Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(4)

B-TCP(8)

23/40

Experimento Básico (1 Mbps)

Mice Transfer Time

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

200 300 400 500 600 700 800 900 1000 1100 1200 1300Total number of flows

Tra

ns

fer

tim

e (

se

co

nd

s)

Newreno

B-TCP(4)

B-TCP(8)

24/40

Mice Transfer Time

0,2

0,25

0,3

0,35

0,4

0,45

200 300 400 500 600 700 800 900 1000 1100 1200 1300Total number of flows

Tra

ns

fer

tim

e (

se

co

nd

s)

Newreno

B-TCP(4)

B-TCP(8)

Buffer = 14

Mice Transfer Time

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

200 300 400 500 600 700 800 900 1000 1100 1200 1300Total number of flows

Tra

ns

fer

tim

e (

se

co

nd

s)

Newreno

B-TCP(4)

B-TCP(8)

Buffer = 3

Variando o Buffer = 3 e 14

25/40

Variando o Buffer = 3Packets Losses for mice class

0,0%

2,0%

4,0%

6,0%

8,0%

10,0%

12,0%

14,0%

16,0%

250 500 750 1000 1250Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(4)

B-TCP(8)

Packets Losses for elephant class

0,0%

2,0%

4,0%

6,0%

8,0%

10,0%

12,0%

14,0%

16,0%

250 500 750 1000 1250Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(4)

B-TCP(8)

26/40

Tráfego cruzadoMice Transfer Time

0,2

0,25

0,3

0,35

0,4

0,45

0,5

0,55

200 300 400 500 600 700 800 900 1000 1100 1200 1300Total number of flows

Tra

nsf

er t

ime

(sec

on

ds)

Newreno

B-TCP(4)

B-TCP(8)

27/40

Tráfego cruzado (Justiça)Mice Coefficient of Variation

0,4

0,6

0,8

1

1,2

1,4

1,6

1,8

200 300 400 500 600 700 800 900 1000 1100 1200 1300Total number of flows

CO

V (

tran

sfer

tim

e)

Newreno

B-TCP(4)

B-TCP(8)

28/40

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

Cumulative Distribution Function

Transfer Time (seconds)

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

Cumulative Distribution Function

Transfer Time (seconds)

Tráfego cruzado (Justiça)

B-TCP(8)250 fluxos

NewReno250 fluxos

0,398

0,6546

0,349

0,7183

29/40

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

Cumulative Distribution Function

Transfer Time (seconds)

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

Cumulative Distribution Function

Transfer Time (seconds)

Tráfego cruzado (Justiça)

B-TCP(8)1250 fluxos

NewReno1250 fluxos

0,499

0,8205

0,432

0,8243

30/40

ACKs AtrasadosMice Transfer Time

0,6

0,65

0,7

0,75

0,8

0,85

0,9

0,95

1

200 300 400 500 600 700 800 900 1000 1100 1200 1300Total number of flows

Tra

nsf

er t

ime

(sec

on

ds)

Newreno B-TCP(4)B-TCP(8) IIW

31/40

ACKs Atrasados

Packets Losses for mice class

0,0%

0,5%

1,0%

1,5%

2,0%

2,5%

3,0%

3,5%

250 500 750 1000 1250Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(4)

B-TCP(8)

IIW

Packets Losses for elephant class

0,0%

0,5%

1,0%

1,5%

2,0%

2,5%

3,0%

3,5%

250 500 750 1000 1250Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(4)

B-TCP(8)

IIW

32/40

Mice Transfer Time

0,25

0,3

0,35

0,4

0,45

0,5

0,55

0,6

0,65

0,7

200 300 400 500 600 700 800 900 1000 1100 1200 1300Total number of flows

Tra

nsf

er t

ime

(sec

on

ds)

Newreno

B-TCP(4)

B-TCP(8)

Tráfego mal-comportado

Mice Transfer Time

0,25

0,3

0,35

0,4

0,45

0,5

0,55

0,6

0,65

0,7

200 300 400 500 600 700 800 900 1000 1100 1200 1300Total number of flows

Tra

nsf

er t

ime

(sec

on

ds)

Newreno

B-TCP(4)

B-TCP(8)

Antes Depois

Mice Transfer Time

0,25

0,3

0,35

0,4

0,45

0,5

0,55

0,6

0,65

0,7

200 300 400 500 600 700 800 900 1000 1100 1200 1300Total number of flows

Tra

nsf

er t

ime

(sec

on

ds)

Newreno

B-TCP(4)

B-TCP(8)

Durante

33/40

Topologia com múltiplos saltos

RT0 RT2

S1

S2

S3

S4

10Mbps1ms

1.5Mbps35ms

S5

R1

R2

R3

R4

10Mbps1ms

R5

TCPSource

InitialTime

(0 – 900)s

RT11.5Mbps

35ms

TCPSource

InitialTime

(0 – 900)s

TCPSource

B0

10Mbps1ms

B2

10Mbps1ms

TCPSource

B1

10Mbps1ms

B2

10Mbps1ms

RT0 RT2

S1

S2

S3

S4

10Mbps1ms

1.5Mbps35ms

S5

R1

R2

R3

R4

10Mbps1ms

R5

TCPSourceTCPSource

InitialTime

(0 – 900)s

RT11.5Mbps

35ms

TCPSourceTCPSource

InitialTime

(0 – 900)s

TCPSourceTCPSource

B0

10Mbps1ms

B2

10Mbps1ms

TCPSourceTCPSource

B1

10Mbps1ms

B2

10Mbps1ms

B3

34/40

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

35/40

Mice Transfer Time

0,2

0,25

0,3

0,35

0,4

0,45

0,5

0,55

0,6

0 200 400 600 800 1000 1200 1400Number of B-TCP flows

Tra

nsf

er t

ime

(sec

on

ds)

B-TCP(8)

Newreno

Mice Transfer Time

0,2

0,25

0,3

0,35

0,4

0,45

0,5

0,55

0,6

0 200 400 600 800 1000 1200 1400Number of B-TCP flows

Tra

nsf

er t

ime

(sec

on

ds)

B-TCP(4)

Newreno

Competição com TCP

36/40

Competição com TCPPackets Losses for mice class

0,0%

0,5%

1,0%

1,5%

2,0%

2,5%

3,0%

0 200 400 600 800 1000 1200Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(4)

Packets Losses for mice class

0,0%

0,5%

1,0%

1,5%

2,0%

2,5%

3,0%

0 200 400 600 800 1000 1200Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(8)

Packets Losses for elephant class

0,0%

0,5%

1,0%

1,5%

2,0%

2,5%

3,0%

0 200 400 600 800 1000 1200Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(4)

Packets Losses for elephant class

0,0%

0,5%

1,0%

1,5%

2,0%

2,5%

3,0%

0 200 400 600 800 1000 1200Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(8)

37/40

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/40

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

39/40

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 SadokCo-Orientador: Stenio Fernandes

Recife, Março de 2007

Defesa de Dissertação de Mestrado

41/40

Tráfego cruzadoPackets Losses for mice class

0,0%

0,5%

1,0%

1,5%

2,0%

2,5%

3,0%

250 500 750 1000 1250Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(4)

B-TCP(8)

Packets Losses for elephant class

0,0%

0,5%

1,0%

1,5%

2,0%

2,5%

3,0%

250 500 750 1000 1250Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(4)

B-TCP(8)

42/40

Tráfego mal-comportado (durante)

Packets Losses for mice class

0,0%

1,0%

2,0%

3,0%

4,0%

5,0%

6,0%

250 500 750 1000 1250Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(4)

B-TCP(8)

Packets Losses for elephant class

0,0%

1,0%

2,0%

3,0%

4,0%

5,0%

6,0%

250 500 750 1000 1250Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(4)

B-TCP(8)

43/40

Topologia com múltiplos saltos

Mice Transfer Time

0,4

0,5

0,6

0,7

0,8

0,9

1

1,1

1,2

200 300 400 500 600 700 800 900 1000 1100 1200 1300Total number of flows

Tra

nsf

er t

ime

(sec

on

ds)

Newreno

B-TCP(4)

B-TCP(8)

Mice Transfer Time

0,4

0,5

0,6

0,7

0,8

0,9

1

1,1

1,2

200 300 400 500 600 700 800 900 1000 1100 1200 1300Total number of flows

Tra

nsf

er t

ime

(sec

on

ds)

Newreno

B-TCP(4)

B-TCP(8)

Sem tráfego de segundo plano Com tráfego de segundo plano

44/40

Topologia com múltiplos saltos

Packets Losses for mice class

0,0%

1,0%

2,0%

3,0%

4,0%

5,0%

6,0%

250 500 750 1000 1250Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(4)

B-TCP(8)

Packets Losses for elephant class

0,0%

1,0%

2,0%

3,0%

4,0%

5,0%

6,0%

250 500 750 1000 1250Number of flows

Per

cen

tag

e o

f lo

st p

acke

ts

Newreno

B-TCP(4)

B-TCP(8)

45/40

Experimento Básico (32 KB)

Elephants Transfer Time

0,5

0,7

0,9

1,1

1,3

1,5

1,7

1,9

2,1

2,3

2,5

200 300 400 500 600 700 800 900 1000 1100 1200 1300Total number of flows

Tra

nsf

er t

ime

(sec

on

ds)

Newreno

B-TCP(4)

B-TCP(8)

Recommended