Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de...
Transcript of Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de...
Redes de Computadorese a Internet
2011
Magnos Martinello
Universidade Federal do Espiacuterito Santo - UFESDepartamento de Informaacutetica - DI
Laboratoacuterio de Pesquisas em Redes Multimidia - LPRM
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
3 - Prof Magnos Martinello UFES
TCP Visatildeo Geral RFCs 793 1122 1323 2018 2581
Dados full duplex Fluxo de dados bi-
direcional na mesma conexatildeo
MSS maximum segment size
Orientado a conexatildeo Fase de apresentaccedilatilde o
em 3 partes Fluxo controlado
Emissor natildeo vai sobrecarregar o receptor
ponto-a-ponto Um emissor e um receptor
Fluxo de bytes confiaacutevel e em ordem
Paralelismo (pipelened) Tamanho da janela de
congestionamento e fluxo eacute ajustado dinacircmicamente
Buffers de envio e recepccedilatildeo
s o c k e td o o r
T C Ps e n d b u f f e r
T C Pr e c e i v e b u f f e r
s o c k e td o o r
s e g m e n t
a p p l i c a t i o nw r i t e s d a t a
a p p l i c a t i o nr e a d s d a t a
4 - Prof Magnos Martinello UFES
Estrutura do segmento TCP
source port dest port
32 bits
applicationdata
(variable length)
sequence numberacknowledgement number
Receive windowUrg data pnterchecksum
FSRPAUheadlen
notused
Options (variable length)
URG dados urgentes (geralmente natildeo usado)
ACK ACK valid
PSH entrega dados pela aplicaccedilatildeo
(geralmente natildeo usado)RST SYN FIN
estabelecimento encerramento
de conexatildeo
bytes que o receptor estaacute disposto a receber
Contador pelo nuacutemerode bytes e natildeo segmentos
Internetchecksum
(como no UDP)
- Prof Magnos Martinello UFES
Nuacutemero das Portas Origem e Destino
bull Identificam a aplicaccedilatildeo transmissora e receptora cada uma delas associada a um ponto da conexatildeo
bull Esses dois valores juntamente com os endereccedilos IP de origem e destino presentes no cabeccedilalho IP identificam univocamente a conexatildeo
bull Conexatildeo = par de sockets
- Prof Magnos Martinello UFES
Nuacutemero de Sequumlecircncia
bull O TCP enumera cada byte que eacute transmitido pela conexatildeo
bull O campo nuacutemero de sequecircncia identifica o nuacutemero do primeiro byte dentro do stream de bytes que estaacute sendo transmitido naquele segmento
bull Assume valores entre 0 e 232-1
- Prof Magnos Martinello UFES
Nuacutemero do Acknowledgement
bull Como cada byte eacute numerado esse campo identifica o proacuteximo nuacutemero de sequecircncia (proacuteximo byte) que se espera receber do host remoto
bull Esse valor eacute igual ao nuacutemero do uacuteltimo byte recebido + 1
bull O campo eacute vaacutelido somente se o flag de ACK estiver ligado
- Prof Magnos Martinello UFES
Tamanho do Cabeccedilalho
bull Informa o tamanho do cabeccedilalho do segmento medido em palavras de 32 bits
bull A informaccedilatildeo de tamanho eacute necessaacuteria porque o campo de Options do TCP possui tamanho variaacutevel
bull Com 4 bits o tamanho do cabeccedilalho eacute limitado a 60 bytes Sem opccedilotildees o tamanho default eacute de 20 bytes
- Prof Magnos Martinello UFES
Campo de ldquoFlagsrdquo
bull Os flags identificam o propoacutesito e o conteuacutedo de cada segmento
bull Existem seis flagsndash URG ACK PSH RST SYN e FIN
bull Um ou mais podem podem estar ligados num certo momento
- Prof Magnos Martinello UFES
Transmissor solicita teacutermino normal da conexatildeo (parou de enviar dados)
FIN
Sincroniza os nuacutemeros de sequumlecircncia no setup da conexatildeo
SYN
ldquoRessetardquo a conexatildeoRST
Transmissor notifica ao receptor para que ele passe todos os dados que possui no seu buffer para o processo de aplicaccedilatildeo
PSH
Vale 1 para todos os segmentos exceto p segmento SYN inicial (aknowledgement number eacute vaacutelido)
ACK
Indica a presenccedila de dados urgentes no segmento (urgent pointer eacute vaacutelido)
URG
SignificadoBit
11 - Prof Magnos Martinello UFES
Gerenciamento de conexatildeo TCPLembrar TCP emissor e
receptor estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados
inicializar variaacuteveis TCP Nuacutemeros de seq buffers informaccedilatildeo do
controle de fluxo (eg RcvWindow)
cliente inicia conexatildeo Socket clientSocket = new
Socket(hostnameport
number) servidor Socket connectionSocket =
welcomeSocketaccept()
Three way handshakePasso 1 host envia segmento
com TCP SYN Especifica o nuacutemero de
sequencia inicial Sem dados
Passo 2 host servidor recebe SYN responde com segmento SYNACK
servidor aloca buffers Especifica nuacutemero inicial
de sequecircncia Passo 3 cliente recebe SYNACK
responde com segmento ACK que pode conter dados
12 - Prof Magnos Martinello UFES
Nuacutemero de sequecircncia e ACKS do TCP Seq rsquos
Nuacutemero do primeiro byte nos dados do segmento
ACKs Nuacutemero de sequencia
do proacuteximo byte esperado do outro lado
ACK cumulativoQ Como receptor trata
segmentos fora de ordem
A especificaccedilatildeo do TCP natildeo diz -gt tarefa para o implementador
Host A Host B
Seq=42 ACK=79 data = lsquoCrsquo
Seq=79 ACK=43 data = lsquoCrsquo
Seq=43 ACK=80
Usuaacuteriodigita
lsquoCrsquo
host ACKsdo lsquoCrsquo recebido
host ACKso lsquoCrsquo recebido e devolve lsquoCrsquo
tempoCenaacuterio de telnet simples
13 - Prof Magnos Martinello UFES
TCP RTT (Round Trip Time) eTimeout
Q Como configurar o valor do timeout no TCP
Maior do que RTT mas RTT varia
Menor do que RTT timeout prematuro
Retransmissotildees desnecessaacuterias
Muito longo reaccedilatildeo lenta a perda de segmentos
Q Como estimar RTT SampleRTT medida de tempo a
partir da transmissatildeo do segmento ateacute receber ACK
ignorar retransmissotildees SampleRTT vai variar mas
queremos estimar RTT de modo que altas variaccedilotildees natildeo afetem ldquosuavementerdquo
Meacutedia de vaacuterias mediccedilotildees recentes natildeo apenas o valor corrente de SampleRTT
14 - Prof Magnos Martinello UFES
EstimatedRTT = (1- α )EstimatedRTT + α SampleRTT
Meacutedia moacutevel exponencial ponderada Influecircncia das amostras passadas decai
exponencialmente Valor tiacutepico α = 0125
TCP RTT (Round Trip Time) eTimeout
EstimatedRTT = 0875EstimatedRTT + 0125SampleRTT
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
3 - Prof Magnos Martinello UFES
TCP Visatildeo Geral RFCs 793 1122 1323 2018 2581
Dados full duplex Fluxo de dados bi-
direcional na mesma conexatildeo
MSS maximum segment size
Orientado a conexatildeo Fase de apresentaccedilatilde o
em 3 partes Fluxo controlado
Emissor natildeo vai sobrecarregar o receptor
ponto-a-ponto Um emissor e um receptor
Fluxo de bytes confiaacutevel e em ordem
Paralelismo (pipelened) Tamanho da janela de
congestionamento e fluxo eacute ajustado dinacircmicamente
Buffers de envio e recepccedilatildeo
s o c k e td o o r
T C Ps e n d b u f f e r
T C Pr e c e i v e b u f f e r
s o c k e td o o r
s e g m e n t
a p p l i c a t i o nw r i t e s d a t a
a p p l i c a t i o nr e a d s d a t a
4 - Prof Magnos Martinello UFES
Estrutura do segmento TCP
source port dest port
32 bits
applicationdata
(variable length)
sequence numberacknowledgement number
Receive windowUrg data pnterchecksum
FSRPAUheadlen
notused
Options (variable length)
URG dados urgentes (geralmente natildeo usado)
ACK ACK valid
PSH entrega dados pela aplicaccedilatildeo
(geralmente natildeo usado)RST SYN FIN
estabelecimento encerramento
de conexatildeo
bytes que o receptor estaacute disposto a receber
Contador pelo nuacutemerode bytes e natildeo segmentos
Internetchecksum
(como no UDP)
- Prof Magnos Martinello UFES
Nuacutemero das Portas Origem e Destino
bull Identificam a aplicaccedilatildeo transmissora e receptora cada uma delas associada a um ponto da conexatildeo
bull Esses dois valores juntamente com os endereccedilos IP de origem e destino presentes no cabeccedilalho IP identificam univocamente a conexatildeo
bull Conexatildeo = par de sockets
- Prof Magnos Martinello UFES
Nuacutemero de Sequumlecircncia
bull O TCP enumera cada byte que eacute transmitido pela conexatildeo
bull O campo nuacutemero de sequecircncia identifica o nuacutemero do primeiro byte dentro do stream de bytes que estaacute sendo transmitido naquele segmento
bull Assume valores entre 0 e 232-1
- Prof Magnos Martinello UFES
Nuacutemero do Acknowledgement
bull Como cada byte eacute numerado esse campo identifica o proacuteximo nuacutemero de sequecircncia (proacuteximo byte) que se espera receber do host remoto
bull Esse valor eacute igual ao nuacutemero do uacuteltimo byte recebido + 1
bull O campo eacute vaacutelido somente se o flag de ACK estiver ligado
- Prof Magnos Martinello UFES
Tamanho do Cabeccedilalho
bull Informa o tamanho do cabeccedilalho do segmento medido em palavras de 32 bits
bull A informaccedilatildeo de tamanho eacute necessaacuteria porque o campo de Options do TCP possui tamanho variaacutevel
bull Com 4 bits o tamanho do cabeccedilalho eacute limitado a 60 bytes Sem opccedilotildees o tamanho default eacute de 20 bytes
- Prof Magnos Martinello UFES
Campo de ldquoFlagsrdquo
bull Os flags identificam o propoacutesito e o conteuacutedo de cada segmento
bull Existem seis flagsndash URG ACK PSH RST SYN e FIN
bull Um ou mais podem podem estar ligados num certo momento
- Prof Magnos Martinello UFES
Transmissor solicita teacutermino normal da conexatildeo (parou de enviar dados)
FIN
Sincroniza os nuacutemeros de sequumlecircncia no setup da conexatildeo
SYN
ldquoRessetardquo a conexatildeoRST
Transmissor notifica ao receptor para que ele passe todos os dados que possui no seu buffer para o processo de aplicaccedilatildeo
PSH
Vale 1 para todos os segmentos exceto p segmento SYN inicial (aknowledgement number eacute vaacutelido)
ACK
Indica a presenccedila de dados urgentes no segmento (urgent pointer eacute vaacutelido)
URG
SignificadoBit
11 - Prof Magnos Martinello UFES
Gerenciamento de conexatildeo TCPLembrar TCP emissor e
receptor estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados
inicializar variaacuteveis TCP Nuacutemeros de seq buffers informaccedilatildeo do
controle de fluxo (eg RcvWindow)
cliente inicia conexatildeo Socket clientSocket = new
Socket(hostnameport
number) servidor Socket connectionSocket =
welcomeSocketaccept()
Three way handshakePasso 1 host envia segmento
com TCP SYN Especifica o nuacutemero de
sequencia inicial Sem dados
Passo 2 host servidor recebe SYN responde com segmento SYNACK
servidor aloca buffers Especifica nuacutemero inicial
de sequecircncia Passo 3 cliente recebe SYNACK
responde com segmento ACK que pode conter dados
12 - Prof Magnos Martinello UFES
Nuacutemero de sequecircncia e ACKS do TCP Seq rsquos
Nuacutemero do primeiro byte nos dados do segmento
ACKs Nuacutemero de sequencia
do proacuteximo byte esperado do outro lado
ACK cumulativoQ Como receptor trata
segmentos fora de ordem
A especificaccedilatildeo do TCP natildeo diz -gt tarefa para o implementador
Host A Host B
Seq=42 ACK=79 data = lsquoCrsquo
Seq=79 ACK=43 data = lsquoCrsquo
Seq=43 ACK=80
Usuaacuteriodigita
lsquoCrsquo
host ACKsdo lsquoCrsquo recebido
host ACKso lsquoCrsquo recebido e devolve lsquoCrsquo
tempoCenaacuterio de telnet simples
13 - Prof Magnos Martinello UFES
TCP RTT (Round Trip Time) eTimeout
Q Como configurar o valor do timeout no TCP
Maior do que RTT mas RTT varia
Menor do que RTT timeout prematuro
Retransmissotildees desnecessaacuterias
Muito longo reaccedilatildeo lenta a perda de segmentos
Q Como estimar RTT SampleRTT medida de tempo a
partir da transmissatildeo do segmento ateacute receber ACK
ignorar retransmissotildees SampleRTT vai variar mas
queremos estimar RTT de modo que altas variaccedilotildees natildeo afetem ldquosuavementerdquo
Meacutedia de vaacuterias mediccedilotildees recentes natildeo apenas o valor corrente de SampleRTT
14 - Prof Magnos Martinello UFES
EstimatedRTT = (1- α )EstimatedRTT + α SampleRTT
Meacutedia moacutevel exponencial ponderada Influecircncia das amostras passadas decai
exponencialmente Valor tiacutepico α = 0125
TCP RTT (Round Trip Time) eTimeout
EstimatedRTT = 0875EstimatedRTT + 0125SampleRTT
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
3 - Prof Magnos Martinello UFES
TCP Visatildeo Geral RFCs 793 1122 1323 2018 2581
Dados full duplex Fluxo de dados bi-
direcional na mesma conexatildeo
MSS maximum segment size
Orientado a conexatildeo Fase de apresentaccedilatilde o
em 3 partes Fluxo controlado
Emissor natildeo vai sobrecarregar o receptor
ponto-a-ponto Um emissor e um receptor
Fluxo de bytes confiaacutevel e em ordem
Paralelismo (pipelened) Tamanho da janela de
congestionamento e fluxo eacute ajustado dinacircmicamente
Buffers de envio e recepccedilatildeo
s o c k e td o o r
T C Ps e n d b u f f e r
T C Pr e c e i v e b u f f e r
s o c k e td o o r
s e g m e n t
a p p l i c a t i o nw r i t e s d a t a
a p p l i c a t i o nr e a d s d a t a
4 - Prof Magnos Martinello UFES
Estrutura do segmento TCP
source port dest port
32 bits
applicationdata
(variable length)
sequence numberacknowledgement number
Receive windowUrg data pnterchecksum
FSRPAUheadlen
notused
Options (variable length)
URG dados urgentes (geralmente natildeo usado)
ACK ACK valid
PSH entrega dados pela aplicaccedilatildeo
(geralmente natildeo usado)RST SYN FIN
estabelecimento encerramento
de conexatildeo
bytes que o receptor estaacute disposto a receber
Contador pelo nuacutemerode bytes e natildeo segmentos
Internetchecksum
(como no UDP)
- Prof Magnos Martinello UFES
Nuacutemero das Portas Origem e Destino
bull Identificam a aplicaccedilatildeo transmissora e receptora cada uma delas associada a um ponto da conexatildeo
bull Esses dois valores juntamente com os endereccedilos IP de origem e destino presentes no cabeccedilalho IP identificam univocamente a conexatildeo
bull Conexatildeo = par de sockets
- Prof Magnos Martinello UFES
Nuacutemero de Sequumlecircncia
bull O TCP enumera cada byte que eacute transmitido pela conexatildeo
bull O campo nuacutemero de sequecircncia identifica o nuacutemero do primeiro byte dentro do stream de bytes que estaacute sendo transmitido naquele segmento
bull Assume valores entre 0 e 232-1
- Prof Magnos Martinello UFES
Nuacutemero do Acknowledgement
bull Como cada byte eacute numerado esse campo identifica o proacuteximo nuacutemero de sequecircncia (proacuteximo byte) que se espera receber do host remoto
bull Esse valor eacute igual ao nuacutemero do uacuteltimo byte recebido + 1
bull O campo eacute vaacutelido somente se o flag de ACK estiver ligado
- Prof Magnos Martinello UFES
Tamanho do Cabeccedilalho
bull Informa o tamanho do cabeccedilalho do segmento medido em palavras de 32 bits
bull A informaccedilatildeo de tamanho eacute necessaacuteria porque o campo de Options do TCP possui tamanho variaacutevel
bull Com 4 bits o tamanho do cabeccedilalho eacute limitado a 60 bytes Sem opccedilotildees o tamanho default eacute de 20 bytes
- Prof Magnos Martinello UFES
Campo de ldquoFlagsrdquo
bull Os flags identificam o propoacutesito e o conteuacutedo de cada segmento
bull Existem seis flagsndash URG ACK PSH RST SYN e FIN
bull Um ou mais podem podem estar ligados num certo momento
- Prof Magnos Martinello UFES
Transmissor solicita teacutermino normal da conexatildeo (parou de enviar dados)
FIN
Sincroniza os nuacutemeros de sequumlecircncia no setup da conexatildeo
SYN
ldquoRessetardquo a conexatildeoRST
Transmissor notifica ao receptor para que ele passe todos os dados que possui no seu buffer para o processo de aplicaccedilatildeo
PSH
Vale 1 para todos os segmentos exceto p segmento SYN inicial (aknowledgement number eacute vaacutelido)
ACK
Indica a presenccedila de dados urgentes no segmento (urgent pointer eacute vaacutelido)
URG
SignificadoBit
11 - Prof Magnos Martinello UFES
Gerenciamento de conexatildeo TCPLembrar TCP emissor e
receptor estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados
inicializar variaacuteveis TCP Nuacutemeros de seq buffers informaccedilatildeo do
controle de fluxo (eg RcvWindow)
cliente inicia conexatildeo Socket clientSocket = new
Socket(hostnameport
number) servidor Socket connectionSocket =
welcomeSocketaccept()
Three way handshakePasso 1 host envia segmento
com TCP SYN Especifica o nuacutemero de
sequencia inicial Sem dados
Passo 2 host servidor recebe SYN responde com segmento SYNACK
servidor aloca buffers Especifica nuacutemero inicial
de sequecircncia Passo 3 cliente recebe SYNACK
responde com segmento ACK que pode conter dados
12 - Prof Magnos Martinello UFES
Nuacutemero de sequecircncia e ACKS do TCP Seq rsquos
Nuacutemero do primeiro byte nos dados do segmento
ACKs Nuacutemero de sequencia
do proacuteximo byte esperado do outro lado
ACK cumulativoQ Como receptor trata
segmentos fora de ordem
A especificaccedilatildeo do TCP natildeo diz -gt tarefa para o implementador
Host A Host B
Seq=42 ACK=79 data = lsquoCrsquo
Seq=79 ACK=43 data = lsquoCrsquo
Seq=43 ACK=80
Usuaacuteriodigita
lsquoCrsquo
host ACKsdo lsquoCrsquo recebido
host ACKso lsquoCrsquo recebido e devolve lsquoCrsquo
tempoCenaacuterio de telnet simples
13 - Prof Magnos Martinello UFES
TCP RTT (Round Trip Time) eTimeout
Q Como configurar o valor do timeout no TCP
Maior do que RTT mas RTT varia
Menor do que RTT timeout prematuro
Retransmissotildees desnecessaacuterias
Muito longo reaccedilatildeo lenta a perda de segmentos
Q Como estimar RTT SampleRTT medida de tempo a
partir da transmissatildeo do segmento ateacute receber ACK
ignorar retransmissotildees SampleRTT vai variar mas
queremos estimar RTT de modo que altas variaccedilotildees natildeo afetem ldquosuavementerdquo
Meacutedia de vaacuterias mediccedilotildees recentes natildeo apenas o valor corrente de SampleRTT
14 - Prof Magnos Martinello UFES
EstimatedRTT = (1- α )EstimatedRTT + α SampleRTT
Meacutedia moacutevel exponencial ponderada Influecircncia das amostras passadas decai
exponencialmente Valor tiacutepico α = 0125
TCP RTT (Round Trip Time) eTimeout
EstimatedRTT = 0875EstimatedRTT + 0125SampleRTT
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
4 - Prof Magnos Martinello UFES
Estrutura do segmento TCP
source port dest port
32 bits
applicationdata
(variable length)
sequence numberacknowledgement number
Receive windowUrg data pnterchecksum
FSRPAUheadlen
notused
Options (variable length)
URG dados urgentes (geralmente natildeo usado)
ACK ACK valid
PSH entrega dados pela aplicaccedilatildeo
(geralmente natildeo usado)RST SYN FIN
estabelecimento encerramento
de conexatildeo
bytes que o receptor estaacute disposto a receber
Contador pelo nuacutemerode bytes e natildeo segmentos
Internetchecksum
(como no UDP)
- Prof Magnos Martinello UFES
Nuacutemero das Portas Origem e Destino
bull Identificam a aplicaccedilatildeo transmissora e receptora cada uma delas associada a um ponto da conexatildeo
bull Esses dois valores juntamente com os endereccedilos IP de origem e destino presentes no cabeccedilalho IP identificam univocamente a conexatildeo
bull Conexatildeo = par de sockets
- Prof Magnos Martinello UFES
Nuacutemero de Sequumlecircncia
bull O TCP enumera cada byte que eacute transmitido pela conexatildeo
bull O campo nuacutemero de sequecircncia identifica o nuacutemero do primeiro byte dentro do stream de bytes que estaacute sendo transmitido naquele segmento
bull Assume valores entre 0 e 232-1
- Prof Magnos Martinello UFES
Nuacutemero do Acknowledgement
bull Como cada byte eacute numerado esse campo identifica o proacuteximo nuacutemero de sequecircncia (proacuteximo byte) que se espera receber do host remoto
bull Esse valor eacute igual ao nuacutemero do uacuteltimo byte recebido + 1
bull O campo eacute vaacutelido somente se o flag de ACK estiver ligado
- Prof Magnos Martinello UFES
Tamanho do Cabeccedilalho
bull Informa o tamanho do cabeccedilalho do segmento medido em palavras de 32 bits
bull A informaccedilatildeo de tamanho eacute necessaacuteria porque o campo de Options do TCP possui tamanho variaacutevel
bull Com 4 bits o tamanho do cabeccedilalho eacute limitado a 60 bytes Sem opccedilotildees o tamanho default eacute de 20 bytes
- Prof Magnos Martinello UFES
Campo de ldquoFlagsrdquo
bull Os flags identificam o propoacutesito e o conteuacutedo de cada segmento
bull Existem seis flagsndash URG ACK PSH RST SYN e FIN
bull Um ou mais podem podem estar ligados num certo momento
- Prof Magnos Martinello UFES
Transmissor solicita teacutermino normal da conexatildeo (parou de enviar dados)
FIN
Sincroniza os nuacutemeros de sequumlecircncia no setup da conexatildeo
SYN
ldquoRessetardquo a conexatildeoRST
Transmissor notifica ao receptor para que ele passe todos os dados que possui no seu buffer para o processo de aplicaccedilatildeo
PSH
Vale 1 para todos os segmentos exceto p segmento SYN inicial (aknowledgement number eacute vaacutelido)
ACK
Indica a presenccedila de dados urgentes no segmento (urgent pointer eacute vaacutelido)
URG
SignificadoBit
11 - Prof Magnos Martinello UFES
Gerenciamento de conexatildeo TCPLembrar TCP emissor e
receptor estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados
inicializar variaacuteveis TCP Nuacutemeros de seq buffers informaccedilatildeo do
controle de fluxo (eg RcvWindow)
cliente inicia conexatildeo Socket clientSocket = new
Socket(hostnameport
number) servidor Socket connectionSocket =
welcomeSocketaccept()
Three way handshakePasso 1 host envia segmento
com TCP SYN Especifica o nuacutemero de
sequencia inicial Sem dados
Passo 2 host servidor recebe SYN responde com segmento SYNACK
servidor aloca buffers Especifica nuacutemero inicial
de sequecircncia Passo 3 cliente recebe SYNACK
responde com segmento ACK que pode conter dados
12 - Prof Magnos Martinello UFES
Nuacutemero de sequecircncia e ACKS do TCP Seq rsquos
Nuacutemero do primeiro byte nos dados do segmento
ACKs Nuacutemero de sequencia
do proacuteximo byte esperado do outro lado
ACK cumulativoQ Como receptor trata
segmentos fora de ordem
A especificaccedilatildeo do TCP natildeo diz -gt tarefa para o implementador
Host A Host B
Seq=42 ACK=79 data = lsquoCrsquo
Seq=79 ACK=43 data = lsquoCrsquo
Seq=43 ACK=80
Usuaacuteriodigita
lsquoCrsquo
host ACKsdo lsquoCrsquo recebido
host ACKso lsquoCrsquo recebido e devolve lsquoCrsquo
tempoCenaacuterio de telnet simples
13 - Prof Magnos Martinello UFES
TCP RTT (Round Trip Time) eTimeout
Q Como configurar o valor do timeout no TCP
Maior do que RTT mas RTT varia
Menor do que RTT timeout prematuro
Retransmissotildees desnecessaacuterias
Muito longo reaccedilatildeo lenta a perda de segmentos
Q Como estimar RTT SampleRTT medida de tempo a
partir da transmissatildeo do segmento ateacute receber ACK
ignorar retransmissotildees SampleRTT vai variar mas
queremos estimar RTT de modo que altas variaccedilotildees natildeo afetem ldquosuavementerdquo
Meacutedia de vaacuterias mediccedilotildees recentes natildeo apenas o valor corrente de SampleRTT
14 - Prof Magnos Martinello UFES
EstimatedRTT = (1- α )EstimatedRTT + α SampleRTT
Meacutedia moacutevel exponencial ponderada Influecircncia das amostras passadas decai
exponencialmente Valor tiacutepico α = 0125
TCP RTT (Round Trip Time) eTimeout
EstimatedRTT = 0875EstimatedRTT + 0125SampleRTT
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
- Prof Magnos Martinello UFES
Nuacutemero das Portas Origem e Destino
bull Identificam a aplicaccedilatildeo transmissora e receptora cada uma delas associada a um ponto da conexatildeo
bull Esses dois valores juntamente com os endereccedilos IP de origem e destino presentes no cabeccedilalho IP identificam univocamente a conexatildeo
bull Conexatildeo = par de sockets
- Prof Magnos Martinello UFES
Nuacutemero de Sequumlecircncia
bull O TCP enumera cada byte que eacute transmitido pela conexatildeo
bull O campo nuacutemero de sequecircncia identifica o nuacutemero do primeiro byte dentro do stream de bytes que estaacute sendo transmitido naquele segmento
bull Assume valores entre 0 e 232-1
- Prof Magnos Martinello UFES
Nuacutemero do Acknowledgement
bull Como cada byte eacute numerado esse campo identifica o proacuteximo nuacutemero de sequecircncia (proacuteximo byte) que se espera receber do host remoto
bull Esse valor eacute igual ao nuacutemero do uacuteltimo byte recebido + 1
bull O campo eacute vaacutelido somente se o flag de ACK estiver ligado
- Prof Magnos Martinello UFES
Tamanho do Cabeccedilalho
bull Informa o tamanho do cabeccedilalho do segmento medido em palavras de 32 bits
bull A informaccedilatildeo de tamanho eacute necessaacuteria porque o campo de Options do TCP possui tamanho variaacutevel
bull Com 4 bits o tamanho do cabeccedilalho eacute limitado a 60 bytes Sem opccedilotildees o tamanho default eacute de 20 bytes
- Prof Magnos Martinello UFES
Campo de ldquoFlagsrdquo
bull Os flags identificam o propoacutesito e o conteuacutedo de cada segmento
bull Existem seis flagsndash URG ACK PSH RST SYN e FIN
bull Um ou mais podem podem estar ligados num certo momento
- Prof Magnos Martinello UFES
Transmissor solicita teacutermino normal da conexatildeo (parou de enviar dados)
FIN
Sincroniza os nuacutemeros de sequumlecircncia no setup da conexatildeo
SYN
ldquoRessetardquo a conexatildeoRST
Transmissor notifica ao receptor para que ele passe todos os dados que possui no seu buffer para o processo de aplicaccedilatildeo
PSH
Vale 1 para todos os segmentos exceto p segmento SYN inicial (aknowledgement number eacute vaacutelido)
ACK
Indica a presenccedila de dados urgentes no segmento (urgent pointer eacute vaacutelido)
URG
SignificadoBit
11 - Prof Magnos Martinello UFES
Gerenciamento de conexatildeo TCPLembrar TCP emissor e
receptor estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados
inicializar variaacuteveis TCP Nuacutemeros de seq buffers informaccedilatildeo do
controle de fluxo (eg RcvWindow)
cliente inicia conexatildeo Socket clientSocket = new
Socket(hostnameport
number) servidor Socket connectionSocket =
welcomeSocketaccept()
Three way handshakePasso 1 host envia segmento
com TCP SYN Especifica o nuacutemero de
sequencia inicial Sem dados
Passo 2 host servidor recebe SYN responde com segmento SYNACK
servidor aloca buffers Especifica nuacutemero inicial
de sequecircncia Passo 3 cliente recebe SYNACK
responde com segmento ACK que pode conter dados
12 - Prof Magnos Martinello UFES
Nuacutemero de sequecircncia e ACKS do TCP Seq rsquos
Nuacutemero do primeiro byte nos dados do segmento
ACKs Nuacutemero de sequencia
do proacuteximo byte esperado do outro lado
ACK cumulativoQ Como receptor trata
segmentos fora de ordem
A especificaccedilatildeo do TCP natildeo diz -gt tarefa para o implementador
Host A Host B
Seq=42 ACK=79 data = lsquoCrsquo
Seq=79 ACK=43 data = lsquoCrsquo
Seq=43 ACK=80
Usuaacuteriodigita
lsquoCrsquo
host ACKsdo lsquoCrsquo recebido
host ACKso lsquoCrsquo recebido e devolve lsquoCrsquo
tempoCenaacuterio de telnet simples
13 - Prof Magnos Martinello UFES
TCP RTT (Round Trip Time) eTimeout
Q Como configurar o valor do timeout no TCP
Maior do que RTT mas RTT varia
Menor do que RTT timeout prematuro
Retransmissotildees desnecessaacuterias
Muito longo reaccedilatildeo lenta a perda de segmentos
Q Como estimar RTT SampleRTT medida de tempo a
partir da transmissatildeo do segmento ateacute receber ACK
ignorar retransmissotildees SampleRTT vai variar mas
queremos estimar RTT de modo que altas variaccedilotildees natildeo afetem ldquosuavementerdquo
Meacutedia de vaacuterias mediccedilotildees recentes natildeo apenas o valor corrente de SampleRTT
14 - Prof Magnos Martinello UFES
EstimatedRTT = (1- α )EstimatedRTT + α SampleRTT
Meacutedia moacutevel exponencial ponderada Influecircncia das amostras passadas decai
exponencialmente Valor tiacutepico α = 0125
TCP RTT (Round Trip Time) eTimeout
EstimatedRTT = 0875EstimatedRTT + 0125SampleRTT
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
- Prof Magnos Martinello UFES
Nuacutemero de Sequumlecircncia
bull O TCP enumera cada byte que eacute transmitido pela conexatildeo
bull O campo nuacutemero de sequecircncia identifica o nuacutemero do primeiro byte dentro do stream de bytes que estaacute sendo transmitido naquele segmento
bull Assume valores entre 0 e 232-1
- Prof Magnos Martinello UFES
Nuacutemero do Acknowledgement
bull Como cada byte eacute numerado esse campo identifica o proacuteximo nuacutemero de sequecircncia (proacuteximo byte) que se espera receber do host remoto
bull Esse valor eacute igual ao nuacutemero do uacuteltimo byte recebido + 1
bull O campo eacute vaacutelido somente se o flag de ACK estiver ligado
- Prof Magnos Martinello UFES
Tamanho do Cabeccedilalho
bull Informa o tamanho do cabeccedilalho do segmento medido em palavras de 32 bits
bull A informaccedilatildeo de tamanho eacute necessaacuteria porque o campo de Options do TCP possui tamanho variaacutevel
bull Com 4 bits o tamanho do cabeccedilalho eacute limitado a 60 bytes Sem opccedilotildees o tamanho default eacute de 20 bytes
- Prof Magnos Martinello UFES
Campo de ldquoFlagsrdquo
bull Os flags identificam o propoacutesito e o conteuacutedo de cada segmento
bull Existem seis flagsndash URG ACK PSH RST SYN e FIN
bull Um ou mais podem podem estar ligados num certo momento
- Prof Magnos Martinello UFES
Transmissor solicita teacutermino normal da conexatildeo (parou de enviar dados)
FIN
Sincroniza os nuacutemeros de sequumlecircncia no setup da conexatildeo
SYN
ldquoRessetardquo a conexatildeoRST
Transmissor notifica ao receptor para que ele passe todos os dados que possui no seu buffer para o processo de aplicaccedilatildeo
PSH
Vale 1 para todos os segmentos exceto p segmento SYN inicial (aknowledgement number eacute vaacutelido)
ACK
Indica a presenccedila de dados urgentes no segmento (urgent pointer eacute vaacutelido)
URG
SignificadoBit
11 - Prof Magnos Martinello UFES
Gerenciamento de conexatildeo TCPLembrar TCP emissor e
receptor estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados
inicializar variaacuteveis TCP Nuacutemeros de seq buffers informaccedilatildeo do
controle de fluxo (eg RcvWindow)
cliente inicia conexatildeo Socket clientSocket = new
Socket(hostnameport
number) servidor Socket connectionSocket =
welcomeSocketaccept()
Three way handshakePasso 1 host envia segmento
com TCP SYN Especifica o nuacutemero de
sequencia inicial Sem dados
Passo 2 host servidor recebe SYN responde com segmento SYNACK
servidor aloca buffers Especifica nuacutemero inicial
de sequecircncia Passo 3 cliente recebe SYNACK
responde com segmento ACK que pode conter dados
12 - Prof Magnos Martinello UFES
Nuacutemero de sequecircncia e ACKS do TCP Seq rsquos
Nuacutemero do primeiro byte nos dados do segmento
ACKs Nuacutemero de sequencia
do proacuteximo byte esperado do outro lado
ACK cumulativoQ Como receptor trata
segmentos fora de ordem
A especificaccedilatildeo do TCP natildeo diz -gt tarefa para o implementador
Host A Host B
Seq=42 ACK=79 data = lsquoCrsquo
Seq=79 ACK=43 data = lsquoCrsquo
Seq=43 ACK=80
Usuaacuteriodigita
lsquoCrsquo
host ACKsdo lsquoCrsquo recebido
host ACKso lsquoCrsquo recebido e devolve lsquoCrsquo
tempoCenaacuterio de telnet simples
13 - Prof Magnos Martinello UFES
TCP RTT (Round Trip Time) eTimeout
Q Como configurar o valor do timeout no TCP
Maior do que RTT mas RTT varia
Menor do que RTT timeout prematuro
Retransmissotildees desnecessaacuterias
Muito longo reaccedilatildeo lenta a perda de segmentos
Q Como estimar RTT SampleRTT medida de tempo a
partir da transmissatildeo do segmento ateacute receber ACK
ignorar retransmissotildees SampleRTT vai variar mas
queremos estimar RTT de modo que altas variaccedilotildees natildeo afetem ldquosuavementerdquo
Meacutedia de vaacuterias mediccedilotildees recentes natildeo apenas o valor corrente de SampleRTT
14 - Prof Magnos Martinello UFES
EstimatedRTT = (1- α )EstimatedRTT + α SampleRTT
Meacutedia moacutevel exponencial ponderada Influecircncia das amostras passadas decai
exponencialmente Valor tiacutepico α = 0125
TCP RTT (Round Trip Time) eTimeout
EstimatedRTT = 0875EstimatedRTT + 0125SampleRTT
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
- Prof Magnos Martinello UFES
Nuacutemero do Acknowledgement
bull Como cada byte eacute numerado esse campo identifica o proacuteximo nuacutemero de sequecircncia (proacuteximo byte) que se espera receber do host remoto
bull Esse valor eacute igual ao nuacutemero do uacuteltimo byte recebido + 1
bull O campo eacute vaacutelido somente se o flag de ACK estiver ligado
- Prof Magnos Martinello UFES
Tamanho do Cabeccedilalho
bull Informa o tamanho do cabeccedilalho do segmento medido em palavras de 32 bits
bull A informaccedilatildeo de tamanho eacute necessaacuteria porque o campo de Options do TCP possui tamanho variaacutevel
bull Com 4 bits o tamanho do cabeccedilalho eacute limitado a 60 bytes Sem opccedilotildees o tamanho default eacute de 20 bytes
- Prof Magnos Martinello UFES
Campo de ldquoFlagsrdquo
bull Os flags identificam o propoacutesito e o conteuacutedo de cada segmento
bull Existem seis flagsndash URG ACK PSH RST SYN e FIN
bull Um ou mais podem podem estar ligados num certo momento
- Prof Magnos Martinello UFES
Transmissor solicita teacutermino normal da conexatildeo (parou de enviar dados)
FIN
Sincroniza os nuacutemeros de sequumlecircncia no setup da conexatildeo
SYN
ldquoRessetardquo a conexatildeoRST
Transmissor notifica ao receptor para que ele passe todos os dados que possui no seu buffer para o processo de aplicaccedilatildeo
PSH
Vale 1 para todos os segmentos exceto p segmento SYN inicial (aknowledgement number eacute vaacutelido)
ACK
Indica a presenccedila de dados urgentes no segmento (urgent pointer eacute vaacutelido)
URG
SignificadoBit
11 - Prof Magnos Martinello UFES
Gerenciamento de conexatildeo TCPLembrar TCP emissor e
receptor estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados
inicializar variaacuteveis TCP Nuacutemeros de seq buffers informaccedilatildeo do
controle de fluxo (eg RcvWindow)
cliente inicia conexatildeo Socket clientSocket = new
Socket(hostnameport
number) servidor Socket connectionSocket =
welcomeSocketaccept()
Three way handshakePasso 1 host envia segmento
com TCP SYN Especifica o nuacutemero de
sequencia inicial Sem dados
Passo 2 host servidor recebe SYN responde com segmento SYNACK
servidor aloca buffers Especifica nuacutemero inicial
de sequecircncia Passo 3 cliente recebe SYNACK
responde com segmento ACK que pode conter dados
12 - Prof Magnos Martinello UFES
Nuacutemero de sequecircncia e ACKS do TCP Seq rsquos
Nuacutemero do primeiro byte nos dados do segmento
ACKs Nuacutemero de sequencia
do proacuteximo byte esperado do outro lado
ACK cumulativoQ Como receptor trata
segmentos fora de ordem
A especificaccedilatildeo do TCP natildeo diz -gt tarefa para o implementador
Host A Host B
Seq=42 ACK=79 data = lsquoCrsquo
Seq=79 ACK=43 data = lsquoCrsquo
Seq=43 ACK=80
Usuaacuteriodigita
lsquoCrsquo
host ACKsdo lsquoCrsquo recebido
host ACKso lsquoCrsquo recebido e devolve lsquoCrsquo
tempoCenaacuterio de telnet simples
13 - Prof Magnos Martinello UFES
TCP RTT (Round Trip Time) eTimeout
Q Como configurar o valor do timeout no TCP
Maior do que RTT mas RTT varia
Menor do que RTT timeout prematuro
Retransmissotildees desnecessaacuterias
Muito longo reaccedilatildeo lenta a perda de segmentos
Q Como estimar RTT SampleRTT medida de tempo a
partir da transmissatildeo do segmento ateacute receber ACK
ignorar retransmissotildees SampleRTT vai variar mas
queremos estimar RTT de modo que altas variaccedilotildees natildeo afetem ldquosuavementerdquo
Meacutedia de vaacuterias mediccedilotildees recentes natildeo apenas o valor corrente de SampleRTT
14 - Prof Magnos Martinello UFES
EstimatedRTT = (1- α )EstimatedRTT + α SampleRTT
Meacutedia moacutevel exponencial ponderada Influecircncia das amostras passadas decai
exponencialmente Valor tiacutepico α = 0125
TCP RTT (Round Trip Time) eTimeout
EstimatedRTT = 0875EstimatedRTT + 0125SampleRTT
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
- Prof Magnos Martinello UFES
Tamanho do Cabeccedilalho
bull Informa o tamanho do cabeccedilalho do segmento medido em palavras de 32 bits
bull A informaccedilatildeo de tamanho eacute necessaacuteria porque o campo de Options do TCP possui tamanho variaacutevel
bull Com 4 bits o tamanho do cabeccedilalho eacute limitado a 60 bytes Sem opccedilotildees o tamanho default eacute de 20 bytes
- Prof Magnos Martinello UFES
Campo de ldquoFlagsrdquo
bull Os flags identificam o propoacutesito e o conteuacutedo de cada segmento
bull Existem seis flagsndash URG ACK PSH RST SYN e FIN
bull Um ou mais podem podem estar ligados num certo momento
- Prof Magnos Martinello UFES
Transmissor solicita teacutermino normal da conexatildeo (parou de enviar dados)
FIN
Sincroniza os nuacutemeros de sequumlecircncia no setup da conexatildeo
SYN
ldquoRessetardquo a conexatildeoRST
Transmissor notifica ao receptor para que ele passe todos os dados que possui no seu buffer para o processo de aplicaccedilatildeo
PSH
Vale 1 para todos os segmentos exceto p segmento SYN inicial (aknowledgement number eacute vaacutelido)
ACK
Indica a presenccedila de dados urgentes no segmento (urgent pointer eacute vaacutelido)
URG
SignificadoBit
11 - Prof Magnos Martinello UFES
Gerenciamento de conexatildeo TCPLembrar TCP emissor e
receptor estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados
inicializar variaacuteveis TCP Nuacutemeros de seq buffers informaccedilatildeo do
controle de fluxo (eg RcvWindow)
cliente inicia conexatildeo Socket clientSocket = new
Socket(hostnameport
number) servidor Socket connectionSocket =
welcomeSocketaccept()
Three way handshakePasso 1 host envia segmento
com TCP SYN Especifica o nuacutemero de
sequencia inicial Sem dados
Passo 2 host servidor recebe SYN responde com segmento SYNACK
servidor aloca buffers Especifica nuacutemero inicial
de sequecircncia Passo 3 cliente recebe SYNACK
responde com segmento ACK que pode conter dados
12 - Prof Magnos Martinello UFES
Nuacutemero de sequecircncia e ACKS do TCP Seq rsquos
Nuacutemero do primeiro byte nos dados do segmento
ACKs Nuacutemero de sequencia
do proacuteximo byte esperado do outro lado
ACK cumulativoQ Como receptor trata
segmentos fora de ordem
A especificaccedilatildeo do TCP natildeo diz -gt tarefa para o implementador
Host A Host B
Seq=42 ACK=79 data = lsquoCrsquo
Seq=79 ACK=43 data = lsquoCrsquo
Seq=43 ACK=80
Usuaacuteriodigita
lsquoCrsquo
host ACKsdo lsquoCrsquo recebido
host ACKso lsquoCrsquo recebido e devolve lsquoCrsquo
tempoCenaacuterio de telnet simples
13 - Prof Magnos Martinello UFES
TCP RTT (Round Trip Time) eTimeout
Q Como configurar o valor do timeout no TCP
Maior do que RTT mas RTT varia
Menor do que RTT timeout prematuro
Retransmissotildees desnecessaacuterias
Muito longo reaccedilatildeo lenta a perda de segmentos
Q Como estimar RTT SampleRTT medida de tempo a
partir da transmissatildeo do segmento ateacute receber ACK
ignorar retransmissotildees SampleRTT vai variar mas
queremos estimar RTT de modo que altas variaccedilotildees natildeo afetem ldquosuavementerdquo
Meacutedia de vaacuterias mediccedilotildees recentes natildeo apenas o valor corrente de SampleRTT
14 - Prof Magnos Martinello UFES
EstimatedRTT = (1- α )EstimatedRTT + α SampleRTT
Meacutedia moacutevel exponencial ponderada Influecircncia das amostras passadas decai
exponencialmente Valor tiacutepico α = 0125
TCP RTT (Round Trip Time) eTimeout
EstimatedRTT = 0875EstimatedRTT + 0125SampleRTT
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
- Prof Magnos Martinello UFES
Campo de ldquoFlagsrdquo
bull Os flags identificam o propoacutesito e o conteuacutedo de cada segmento
bull Existem seis flagsndash URG ACK PSH RST SYN e FIN
bull Um ou mais podem podem estar ligados num certo momento
- Prof Magnos Martinello UFES
Transmissor solicita teacutermino normal da conexatildeo (parou de enviar dados)
FIN
Sincroniza os nuacutemeros de sequumlecircncia no setup da conexatildeo
SYN
ldquoRessetardquo a conexatildeoRST
Transmissor notifica ao receptor para que ele passe todos os dados que possui no seu buffer para o processo de aplicaccedilatildeo
PSH
Vale 1 para todos os segmentos exceto p segmento SYN inicial (aknowledgement number eacute vaacutelido)
ACK
Indica a presenccedila de dados urgentes no segmento (urgent pointer eacute vaacutelido)
URG
SignificadoBit
11 - Prof Magnos Martinello UFES
Gerenciamento de conexatildeo TCPLembrar TCP emissor e
receptor estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados
inicializar variaacuteveis TCP Nuacutemeros de seq buffers informaccedilatildeo do
controle de fluxo (eg RcvWindow)
cliente inicia conexatildeo Socket clientSocket = new
Socket(hostnameport
number) servidor Socket connectionSocket =
welcomeSocketaccept()
Three way handshakePasso 1 host envia segmento
com TCP SYN Especifica o nuacutemero de
sequencia inicial Sem dados
Passo 2 host servidor recebe SYN responde com segmento SYNACK
servidor aloca buffers Especifica nuacutemero inicial
de sequecircncia Passo 3 cliente recebe SYNACK
responde com segmento ACK que pode conter dados
12 - Prof Magnos Martinello UFES
Nuacutemero de sequecircncia e ACKS do TCP Seq rsquos
Nuacutemero do primeiro byte nos dados do segmento
ACKs Nuacutemero de sequencia
do proacuteximo byte esperado do outro lado
ACK cumulativoQ Como receptor trata
segmentos fora de ordem
A especificaccedilatildeo do TCP natildeo diz -gt tarefa para o implementador
Host A Host B
Seq=42 ACK=79 data = lsquoCrsquo
Seq=79 ACK=43 data = lsquoCrsquo
Seq=43 ACK=80
Usuaacuteriodigita
lsquoCrsquo
host ACKsdo lsquoCrsquo recebido
host ACKso lsquoCrsquo recebido e devolve lsquoCrsquo
tempoCenaacuterio de telnet simples
13 - Prof Magnos Martinello UFES
TCP RTT (Round Trip Time) eTimeout
Q Como configurar o valor do timeout no TCP
Maior do que RTT mas RTT varia
Menor do que RTT timeout prematuro
Retransmissotildees desnecessaacuterias
Muito longo reaccedilatildeo lenta a perda de segmentos
Q Como estimar RTT SampleRTT medida de tempo a
partir da transmissatildeo do segmento ateacute receber ACK
ignorar retransmissotildees SampleRTT vai variar mas
queremos estimar RTT de modo que altas variaccedilotildees natildeo afetem ldquosuavementerdquo
Meacutedia de vaacuterias mediccedilotildees recentes natildeo apenas o valor corrente de SampleRTT
14 - Prof Magnos Martinello UFES
EstimatedRTT = (1- α )EstimatedRTT + α SampleRTT
Meacutedia moacutevel exponencial ponderada Influecircncia das amostras passadas decai
exponencialmente Valor tiacutepico α = 0125
TCP RTT (Round Trip Time) eTimeout
EstimatedRTT = 0875EstimatedRTT + 0125SampleRTT
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
- Prof Magnos Martinello UFES
Transmissor solicita teacutermino normal da conexatildeo (parou de enviar dados)
FIN
Sincroniza os nuacutemeros de sequumlecircncia no setup da conexatildeo
SYN
ldquoRessetardquo a conexatildeoRST
Transmissor notifica ao receptor para que ele passe todos os dados que possui no seu buffer para o processo de aplicaccedilatildeo
PSH
Vale 1 para todos os segmentos exceto p segmento SYN inicial (aknowledgement number eacute vaacutelido)
ACK
Indica a presenccedila de dados urgentes no segmento (urgent pointer eacute vaacutelido)
URG
SignificadoBit
11 - Prof Magnos Martinello UFES
Gerenciamento de conexatildeo TCPLembrar TCP emissor e
receptor estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados
inicializar variaacuteveis TCP Nuacutemeros de seq buffers informaccedilatildeo do
controle de fluxo (eg RcvWindow)
cliente inicia conexatildeo Socket clientSocket = new
Socket(hostnameport
number) servidor Socket connectionSocket =
welcomeSocketaccept()
Three way handshakePasso 1 host envia segmento
com TCP SYN Especifica o nuacutemero de
sequencia inicial Sem dados
Passo 2 host servidor recebe SYN responde com segmento SYNACK
servidor aloca buffers Especifica nuacutemero inicial
de sequecircncia Passo 3 cliente recebe SYNACK
responde com segmento ACK que pode conter dados
12 - Prof Magnos Martinello UFES
Nuacutemero de sequecircncia e ACKS do TCP Seq rsquos
Nuacutemero do primeiro byte nos dados do segmento
ACKs Nuacutemero de sequencia
do proacuteximo byte esperado do outro lado
ACK cumulativoQ Como receptor trata
segmentos fora de ordem
A especificaccedilatildeo do TCP natildeo diz -gt tarefa para o implementador
Host A Host B
Seq=42 ACK=79 data = lsquoCrsquo
Seq=79 ACK=43 data = lsquoCrsquo
Seq=43 ACK=80
Usuaacuteriodigita
lsquoCrsquo
host ACKsdo lsquoCrsquo recebido
host ACKso lsquoCrsquo recebido e devolve lsquoCrsquo
tempoCenaacuterio de telnet simples
13 - Prof Magnos Martinello UFES
TCP RTT (Round Trip Time) eTimeout
Q Como configurar o valor do timeout no TCP
Maior do que RTT mas RTT varia
Menor do que RTT timeout prematuro
Retransmissotildees desnecessaacuterias
Muito longo reaccedilatildeo lenta a perda de segmentos
Q Como estimar RTT SampleRTT medida de tempo a
partir da transmissatildeo do segmento ateacute receber ACK
ignorar retransmissotildees SampleRTT vai variar mas
queremos estimar RTT de modo que altas variaccedilotildees natildeo afetem ldquosuavementerdquo
Meacutedia de vaacuterias mediccedilotildees recentes natildeo apenas o valor corrente de SampleRTT
14 - Prof Magnos Martinello UFES
EstimatedRTT = (1- α )EstimatedRTT + α SampleRTT
Meacutedia moacutevel exponencial ponderada Influecircncia das amostras passadas decai
exponencialmente Valor tiacutepico α = 0125
TCP RTT (Round Trip Time) eTimeout
EstimatedRTT = 0875EstimatedRTT + 0125SampleRTT
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
11 - Prof Magnos Martinello UFES
Gerenciamento de conexatildeo TCPLembrar TCP emissor e
receptor estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados
inicializar variaacuteveis TCP Nuacutemeros de seq buffers informaccedilatildeo do
controle de fluxo (eg RcvWindow)
cliente inicia conexatildeo Socket clientSocket = new
Socket(hostnameport
number) servidor Socket connectionSocket =
welcomeSocketaccept()
Three way handshakePasso 1 host envia segmento
com TCP SYN Especifica o nuacutemero de
sequencia inicial Sem dados
Passo 2 host servidor recebe SYN responde com segmento SYNACK
servidor aloca buffers Especifica nuacutemero inicial
de sequecircncia Passo 3 cliente recebe SYNACK
responde com segmento ACK que pode conter dados
12 - Prof Magnos Martinello UFES
Nuacutemero de sequecircncia e ACKS do TCP Seq rsquos
Nuacutemero do primeiro byte nos dados do segmento
ACKs Nuacutemero de sequencia
do proacuteximo byte esperado do outro lado
ACK cumulativoQ Como receptor trata
segmentos fora de ordem
A especificaccedilatildeo do TCP natildeo diz -gt tarefa para o implementador
Host A Host B
Seq=42 ACK=79 data = lsquoCrsquo
Seq=79 ACK=43 data = lsquoCrsquo
Seq=43 ACK=80
Usuaacuteriodigita
lsquoCrsquo
host ACKsdo lsquoCrsquo recebido
host ACKso lsquoCrsquo recebido e devolve lsquoCrsquo
tempoCenaacuterio de telnet simples
13 - Prof Magnos Martinello UFES
TCP RTT (Round Trip Time) eTimeout
Q Como configurar o valor do timeout no TCP
Maior do que RTT mas RTT varia
Menor do que RTT timeout prematuro
Retransmissotildees desnecessaacuterias
Muito longo reaccedilatildeo lenta a perda de segmentos
Q Como estimar RTT SampleRTT medida de tempo a
partir da transmissatildeo do segmento ateacute receber ACK
ignorar retransmissotildees SampleRTT vai variar mas
queremos estimar RTT de modo que altas variaccedilotildees natildeo afetem ldquosuavementerdquo
Meacutedia de vaacuterias mediccedilotildees recentes natildeo apenas o valor corrente de SampleRTT
14 - Prof Magnos Martinello UFES
EstimatedRTT = (1- α )EstimatedRTT + α SampleRTT
Meacutedia moacutevel exponencial ponderada Influecircncia das amostras passadas decai
exponencialmente Valor tiacutepico α = 0125
TCP RTT (Round Trip Time) eTimeout
EstimatedRTT = 0875EstimatedRTT + 0125SampleRTT
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
12 - Prof Magnos Martinello UFES
Nuacutemero de sequecircncia e ACKS do TCP Seq rsquos
Nuacutemero do primeiro byte nos dados do segmento
ACKs Nuacutemero de sequencia
do proacuteximo byte esperado do outro lado
ACK cumulativoQ Como receptor trata
segmentos fora de ordem
A especificaccedilatildeo do TCP natildeo diz -gt tarefa para o implementador
Host A Host B
Seq=42 ACK=79 data = lsquoCrsquo
Seq=79 ACK=43 data = lsquoCrsquo
Seq=43 ACK=80
Usuaacuteriodigita
lsquoCrsquo
host ACKsdo lsquoCrsquo recebido
host ACKso lsquoCrsquo recebido e devolve lsquoCrsquo
tempoCenaacuterio de telnet simples
13 - Prof Magnos Martinello UFES
TCP RTT (Round Trip Time) eTimeout
Q Como configurar o valor do timeout no TCP
Maior do que RTT mas RTT varia
Menor do que RTT timeout prematuro
Retransmissotildees desnecessaacuterias
Muito longo reaccedilatildeo lenta a perda de segmentos
Q Como estimar RTT SampleRTT medida de tempo a
partir da transmissatildeo do segmento ateacute receber ACK
ignorar retransmissotildees SampleRTT vai variar mas
queremos estimar RTT de modo que altas variaccedilotildees natildeo afetem ldquosuavementerdquo
Meacutedia de vaacuterias mediccedilotildees recentes natildeo apenas o valor corrente de SampleRTT
14 - Prof Magnos Martinello UFES
EstimatedRTT = (1- α )EstimatedRTT + α SampleRTT
Meacutedia moacutevel exponencial ponderada Influecircncia das amostras passadas decai
exponencialmente Valor tiacutepico α = 0125
TCP RTT (Round Trip Time) eTimeout
EstimatedRTT = 0875EstimatedRTT + 0125SampleRTT
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
13 - Prof Magnos Martinello UFES
TCP RTT (Round Trip Time) eTimeout
Q Como configurar o valor do timeout no TCP
Maior do que RTT mas RTT varia
Menor do que RTT timeout prematuro
Retransmissotildees desnecessaacuterias
Muito longo reaccedilatildeo lenta a perda de segmentos
Q Como estimar RTT SampleRTT medida de tempo a
partir da transmissatildeo do segmento ateacute receber ACK
ignorar retransmissotildees SampleRTT vai variar mas
queremos estimar RTT de modo que altas variaccedilotildees natildeo afetem ldquosuavementerdquo
Meacutedia de vaacuterias mediccedilotildees recentes natildeo apenas o valor corrente de SampleRTT
14 - Prof Magnos Martinello UFES
EstimatedRTT = (1- α )EstimatedRTT + α SampleRTT
Meacutedia moacutevel exponencial ponderada Influecircncia das amostras passadas decai
exponencialmente Valor tiacutepico α = 0125
TCP RTT (Round Trip Time) eTimeout
EstimatedRTT = 0875EstimatedRTT + 0125SampleRTT
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
14 - Prof Magnos Martinello UFES
EstimatedRTT = (1- α )EstimatedRTT + α SampleRTT
Meacutedia moacutevel exponencial ponderada Influecircncia das amostras passadas decai
exponencialmente Valor tiacutepico α = 0125
TCP RTT (Round Trip Time) eTimeout
EstimatedRTT = 0875EstimatedRTT + 0125SampleRTT
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
15 - Prof Magnos Martinello UFES
Example RTT estimationRTT gaiacsumassedu to fantasiaeurecomfr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
16 - Prof Magnos Martinello UFES
TCP RTT e Timeout
Configurando o timeout EstimtedRTT mais uma ldquomargem de seguranccedilardquo
Ampla variaccedilatildeo em EstimatedRTT -gt maior margem de seguranccedila
Estimar primeiro quantas amostras de RTT (SampleRTT) desvia do valor estimado EstimatedRTT
TimeoutInterval = EstimatedRTT + 4DevRTT
DevRTT = (1-β )DevRTT + β |SampleRTT-EstimatedRTT|
(tipicamente β = 025)
Entatildeo configurar o intervalo de timeout
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
17 - Prof Magnos Martinello UFES
TCP Cenaacuterios de RetransmissatildeoHost A
Seq=100 20 bytes data
ACK=100
tempoTimeout prematuro
Host B
Seq=92 8 bytes data
ACK=120
Seq=92 8 bytes data
Seq=92 timeout
ACK=120
Host A
Seq=92 8 bytes data
ACK=100
perda
timeout
ACK perdido
Host B
X
Seq=92 8 bytes data
ACK=100
tempo
Seq=92 timeoutSendBase
= 100
SendBase= 120
SendBase= 120
Sendbase= 100
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
18 - Prof Magnos Martinello UFES
Host A
Seq=92 8 bytes data
ACK=100
loss
timeout
ACK Cumulativo
Host B
X
Seq=100 20 bytes data
ACK=120
tempo
SendBase= 120
TCP Cenaacuterios de Retransmissatildeo
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
19 - Prof Magnos Martinello UFES
TCP Go-Back-N ou SR
Reconhecimentos cumulativos
Segmentos corretamente recebidos mas fora de ordem natildeo satildeo reconhecidos individualmente
No Emissor basta lembrar o menor nuacutemero de sequencia de um byte transmitido mas natildeo reconhecido (sendbase) e o nuacutemero de sequencia do byte seguinte a ser enviado (nextSeqNum)
Quando o emissor envia uma sequencia de segmentos 12N e todos os segmentos chegam ao receptor na ordem e sem erro
Se o reconhecimento para o pacote n lt N se perder mas os N-1 reconhecimentos restantes cheguam ao emissor antes do termino do timeout
O que o Go-Back N faria
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
Camada de Transporte
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios de transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel dos
dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle do congestionamento do TCP
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
21 - Prof Magnos Martinello UFES
Controle de Fluxo do TCP
Lado receptor TCP possui um buffer de recepccedilatildeo
Serviccedilo de adequaccedilatildeo de taxas adequar a taxa de envio para a taxa de leitura do receptor
Processo pode ser lento na leitura a partir do buffer
Emissor natildeo sobrecarrega o
receptor transmitindo muito
Controle de Fluxo
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
22 - Prof Magnos Martinello UFES
Como funciona o controle de fluxo TCP
Sala de espera no buffer = RcvWindow
= RcvBuffer-[LastByteRcvd ndash LastByteRead]
wwwawcomkurose_br
Receptor avisa o tamanho da sala de espera incluindo este valor no campo RcvWindow dos segmentos
Emissor limita o nuacutemero de pacotes natildeo reconhecidos por RcvWindow
garante que o buffer de recepccedilatildeo natildeo sobrecaregue
E se o recvWindow eacute anunciado com valor zero ao emissor e natildeo tenha mais nada para enviar ao emissor
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
23 - Prof Magnos Martinello UFES
Princiacutepios do Controle de Congestionamento
Congestionamento informalmente ldquomuitas fontes enviando muitos
dados muito rapidamente para a rede tratarrdquo diferente do controle de fluxo Consequencias
Perda de pacotes (sobrecarga no buffer dos roteadores )
Atrasos longos (enfileramento nos buffers dos roteadores)
Um problema top-10
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
24 - Prof Magnos Martinello UFES
Causascustos do congestionamento cenario 1
Dois emissores dois receptores
Um roteador buffer infinito
Nenhuma retransmissatildeo
Longos atrasos quando congestionado
Maximo throughput
unlimited shared output link buffers
Host Aλ in original
data
Host B
λ out
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
25 - Prof Magnos Martinello UFES
Um roteador com buffer finito Emissor retransmite um pacote perdido
finite shared output link buffers
Host A λ in original data
Host B
λ out
λ in original data plus retransmitted data
Causascustos do congestionamento cenario 2
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
26 - Prof Magnos Martinello UFES
λin
λout
=
λin
λout
gt
ldquocustosrdquo do congestionamento Mais trabalho (retransmissatildeo) para um dado ldquogoodputrdquo Retransmissotildees desnecessaacuterias enlace transporta muacuteltiplas
coacutepias de um dado pacote
R2
R2λ in
λo
ut
b
R2
R2λ in
λo
ut
a
R2
R2λ in
λou
t
c
R4
R3
Se (goodput) Retransmissatildeo ldquoperfeitardquo somente quando houver perda Retransmissatildeo de pacotes atrasados (natildeo perdidos) aumenta o
custo
Causascustos do congestionamento cenario 2
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
27 - Prof Magnos Martinello UFES
Quatro emissores Caminhos com muacuteltiplos
saltos timeoutretransmissatildeo
λin
finite shared output link buffers
Host Aλ in original data
Host B
λ ou
tλ in original data plus
retransmitted data
Causascustos do congestionamento cenario 3
Q O que acontece quando aumenta
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
28 - Prof Magnos Martinello UFES
Outro ldquocustordquo de congestionamento Quando pacote eacute descartado qualquer capacidadde
de transmissatildeo no upstream usada por aquele pacote foi desperdiccedilada
Host A
Host B
λo
u
t
Causascustos do congestionamento cenario 3
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
29 - Prof Magnos Martinello UFES
Capitulo 3
31 Serviccedilos da camada de transporte
32 Multiplexaccedilatildeo e demultiplexaccedilatildeo
33 Transporte natildeo orientado a conexatildeo UDP
34 Princiacutepios da transferecircncia confiaacutevel de dados
35 Transporte orientado a conexatildeo TCP
Estrutura do segmento Transferecircncia confiaacutevel
de dados Controle de fluxo
36 Princiacutepios do controle de congestionamento
37 Controle de congestionamento do TCP
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
30 - Prof Magnos Martinello UFES
Abordagens em direccedilatildeo ao controle de congestionamento
Controle de congestionamento fim a fim
Nenhum feedback expliacutecito da rede
Congestionamento inferido a partir do sistema final observando perda e atrasos
Abordagem adotada pelo TCP
Controle de congestionamento assistido pela rede
Roteadores provem feedback aos sistemas finais
Bit singular indicando congestionamento (SNA DECbit TCPIP ECN ATM)
Taxa que o emissor pode enviar de modo expliacutecito
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
31 - Prof Magnos Martinello UFES
Controle de congestionamento TCP incremento aditivo e decremento multiplicativo
8 K b y t e s
1 6 K b y t e s
2 4 K b y t e s
t i m e
c o n g e s t i o nw i n d o w
Abordagem aumentar a taxa de transmissatildeo (tamanho da janela) sondando por banda usavel ateacute que perda ocorra Incremento aditivo incrementar CongWin por 1
MSS todo RTT ateacute perda detectada Decremento multiplicativo cortar CongWin pela
metade apoacutes a perda
time
congestion window
size
Comportamento dente de serra
sondandopor banda
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
32 - Prof Magnos Martinello UFES
Controle de Congestionamento do TCP
Como o emissor percebe o congestionamento
Evento de perda = timeout ou 3 Acks
TCP emissor reduz taxa (CongWin) apoacutes evento de perda
tres mecanismos AIMD slow start Conservativo apoacutes
eventos de timeout
Taxa = CongWin
RTT Bytessec
sender limits transmission LastByteSent-LastByteAcked
lt= min CongWin RcvWin
Assim
CongWin eacute dinacircmica funccedilatildeo do congestionamento percebido na rede
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
33 - Prof Magnos Martinello UFES
Host A
timeout
Host B
time
X
resend 2nd segment
Figure 337 Resending a segment after triple duplicate ACK
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
34 - Prof Magnos Martinello UFES
TCP Slow Start
Quando a conexatildeo inicia CongWin = 1 MSS
Exemplo MSS = 500 bytes amp RTT = 200 msec
Taxa inicial = 20 kbps Banda disponiacutevel pode
ser gtgt MSSRTT Desejaacutevel crescer
rapidamente para uma taxa respeitaacutevel
Incrementar a taxa exponencialmente ateacute o primeiro evento de perda
bull Exemplo MSS = 500 bytes amp RTT = 200 msec
bull Qual a Taxa com Slow Start no primeiro segundo de transmissatildeo
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
35 - Prof Magnos Martinello UFES
TCP Slow Start (more)
Quando a conexatildeo comeccedila incrementa-se exponencialmente ateacute o primeiro evento de perda
Dobra-se CongWin a cada RTT
Feito pelo incremento de CongWin para cada ACK recebido
Resumo taxa inicial eacute lenta mas cresce exponencialmente
Host A
one segmentRTT
Host B
time
two segments
four segments
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
36 - Prof Magnos Martinello UFES
Refinamento inferindo perda Depois de 3 ACKs
CongWin eacute cortada pela metade
Janela cresce linearmente
Mas depois de um evento de timeout CongWin eacute ajustada
para 1 MSS Janela cresce
exponencialmente ateacute um limear (threshold) entatildeo cresce linearmente
3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos
timeout indica um cenaacuterio de congestionamento mais ldquoalarmanterdquo
Filosofia
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
37 - Prof Magnos Martinello UFES
Refinamento
Q Quando deve haver a troca de exponencial para linear
A Quando CongWin atingir 12 do seu valor antes do timeout
Implementaccedilatildeo Limear Variavel
(Threshold) No evento de perda
Threshold eacute ajustado para 12 do CongWin imediatamente antes do evento de perda
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
38 - Prof Magnos Martinello UFES
Resumo Controle de Congestionamento do TCP
Quando CongWin estiver abaixo do Threshold emissor estaacute na fase slow-start entatildeo a janela cresce exponencialmente
Quando CongWin estiver acima do Threshold emissor estaacute na fase congestion-avoidance entatildeo a janela cresce linearmente
Quando um triplo ACK ocorre Threshold eacute ajustado para CongWin2 e CongWin ajustado para Threshold
Quando timeout ocorre Threshold ajustado paraCongWin2 e CongWin eacute ajustado para 1 MSS
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
39 - Prof Magnos Martinello UFES
TCP throughput
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
40 - Prof Magnos Martinello UFES
Vazatildeo do TCP
Qual eacute o throughput meacutedio do TCP em funccedilatildeo do tamanho da janela e do RTT Ignorar a fase slow start
Seja W o tamanho da janela quando a perda ocorre
Quando a janela eacute W throughput eacute WRTT Logo apoacutes a perda a janela cai para W2 e
o throughput eacute W2RTT Throughput meacutedio 75 WRTT
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
41 - Prof Magnos Martinello UFES
Vazatildeo do TCP e seu futuro
Exemplo Segmentos de tamanho (MSS) de 1500 bytes RTT de 100ms vazatildeo de 10 Gbps
Qual o tamanho da janela W
Novas versotildees de TCP para alta-velocidade
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
42 - Prof Magnos Martinello UFES
Objetivo de justiccedila Se K sessotildees TCP compartilham um mesmo enlace com banda R cada um deve ter taxa meacutedia de RK
TCP connection 1
bottleneckrouter
capacity R
TCP connection 2
Justiccedila(Fairness) no TCP
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
43 - Prof Magnos Martinello UFES
Por que o TCP eacute justo
R
R
Equidade no compartilhamento de banda
Connection 1 throughput
Connection 2 throughput
congestion avoidance additive increaseloss decrease window by factor of 2
congestion avoidance additive increaseloss decrease window by factor of 2
Duas sessotildees TCP competindo Incremento aditivo desloca em 1 enquanto o throughput aumenta Decremento multiplicativo diminui o throughput
proporcionalmente
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
44 - Prof Magnos Martinello UFES
Equidade no TCPVazatildeo de Conexatildeo C1 gt R2Vazatildeo de Conexatildeo C2 lt R2
Supondo C1 = 700 Kbps C2 = 200 Kbps R = 1 MbpsIncrementando linearmente C1 700 800rarrC2 200 300 rarr
Apoacutes perda decremento multiplicativo C1 400 +300 = 700 350 +250 = 600rarr rarrC2 150 +300 = 450 275 +250 = 525rarr rarr
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
45 - Prof Magnos Martinello UFES
Justiccedila e equidade com UDP
Justiccedila e UDP Aplicaccedilotildees Multimidia
frequentemente natildeo usam TCP
Ao inveacutes disso usam UDP
Enviam audiovideo a taxas constantes toleram perda de pacote
Area de pesquisa TCP amigaacutevel (friendly)
Justiccedila e conexotildees paralelas TCP
Nada previne app de abrir multiplas conexotildees paralelas entre 2 hosts
Web browsers fazem isso Exemplo enlace de taxa R
contendo 9 conexotildees nova app solicita por 1 TCP
obtem taxa R10 nova app solicita por 11
TCPs obtem R2
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
46 - Prof Magnos Martinello UFES
Futuro do TCP
Exemplo segmento de 1500 bytes 100ms RTT quer throughput de 10 Gbps
Requer tamanho de janela W = 83333 segmentos em-transito
Throughput em termos de probabiliddade de perda
L = 210-10 Wow Novas versotildees do TCP para alta-velocidade
1 22sdotMSSRTT L
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-
47 - Prof Magnos Martinello UFES
Protocolos de camada de transporte
DCCP ndash RFC 4340SCTP ndash RFC 2960 3286TRFC - RFC 5348
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
- Slide 40
- Slide 41
- Slide 42
- Slide 43
- Slide 44
- Slide 45
- Slide 46
- Slide 47
-