Upload
glauco-goncalves
View
1.034
Download
3
Embed Size (px)
DESCRIPTION
Apresentação de minha dissertação de mestrado.
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)