Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de...

47
Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM

Transcript of Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de...

Page 1: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 2: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 3: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 4: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 5: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

- 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
Page 6: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

- 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
Page 7: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

- 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
Page 8: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

- 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
Page 9: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

- 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
Page 10: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

- 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
Page 11: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 12: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 13: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 14: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 15: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 16: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 17: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 18: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 19: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 20: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 21: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 22: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 23: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 24: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 25: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 26: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 27: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 28: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 29: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 30: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 31: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 32: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 33: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 34: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 35: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 36: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 37: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 38: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 39: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 40: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 41: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 42: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 43: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 44: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 45: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 46: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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
Page 47: Redes de Computadores e a Internet - inf.ufes.brmagnos/Redes/redes_files/Aula17.pdf · Redes de Computadores e a Internet 2011 Magnos Martinello Universidade Federal do Espírito

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