60
3: Camada de Transporte 3b-1 Conteúdo do Capítulo 3 3.1 Serviços da camada de transporte 3.2 Multiplexação e demultiplexação 3.3 UDP: Transporte não orientado a conexão 3.4 Princípios da transferência confiável de dados 3.5 Transporte orientado a conexão: TCP transferência confiável controle de fluxo gerenciamento de conexões 3.6 Princípios de controle de congestionamento 3.7 Controle de congestionamento do TCP

3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

Embed Size (px)

Citation preview

Page 1: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-1

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-2

TCP Visatildeo geral RFCs 793 1122 1323 2018 2581

transmissatildeo full duplex fluxo de dados bi-

direcional na mesma conexatildeo

MSS tamanho maacuteximo de segmento

orientado a conexatildeo handshaking (troca de

msgs de controle) inicia estado de remetente receptor antes de trocar dados

fluxo controlado receptor natildeo seraacute afogado

ponto a ponto 1 remetente 1 receptor

fluxo de bytes ordenados confiaacutevel natildeo estruturado em msgs

com paralelismo (pipelined) tam da janela ajustado por

controle de fluxo e congestionamento do TCP

buffers de envio e recepccedilatildeo

socketdoor

T C Psend buffer

T C Preceive buffer

socketdoor

segm ent

applicationwrites data

applicationreads data

3 Camada de Transporte 3b-3

TCP estrutura do segmento

no porta origemno porta dest

32 bits

dados daaplicaccedilatildeo

(tam variaacutevel)

nuacutemero de sequumlecircncianuacutemero de

reconhecimentojanela receptor

ptr dados urgchecksum

FSRPAUtamcab

semuso

Opccedilotildees (tam variaacutevel)

URG dados urgentes (pouco usados)

ACK no ACKvaacutelido

PSH envia dados jaacute(pouco usado)

RST SYN FINgestatildeo de conexatildeo

(comandos deestabelecimento

liberaccedilatildeo)

no bytes rcpt queraceitar

contagem de dadospor bytes (natildeo segmentos)

checksum Internet

(como UDP)

3 Camada de Transporte 3b-4

TCP nos de seq e ACKsNos de seq

ldquonuacutemerordquodentro do fluxo de bytes do primeiro byte de dados do segmento

ACKs no de seq do proacutex

byte esperado do outro lado

ACK cumulativoP como receptor trata

segmentos fora da ordem R espec do TCP

omissa - deixado ao implementador

Estaccedilatildeo A Estaccedilatildeo B

Seq=42 ACK=79 data = lsquoCrsquo

Seq=79 ACK=43 data = lsquoCrsquo

Seq=43 ACK=80

UsuaacuterioteclalsquoCrsquo

A reconhecechegada

do lsquoCrsquoecoado

B reconhecechegada de

lsquoCrsquo ecoalsquoCrsquo de volta

tempocenaacuterio simples de telnet

3 Camada de Transporte 3b-5

TCP Tempo de Resposta (RTT ndash Round Trip Time) e TemporizaccedilatildeoP como escolher

valor do temporizador TCP

maior que o RTT note RTT pode

variar muito curto

temporizaccedilatildeo prematura retransmissotildees satildeo

desnecessaacuterias muito longo reaccedilatildeo

demorada agrave perda de segmentos

P como estimar RTT RTTamostra tempo medido

entre a transmissatildeo do segmento e o recebimento do ACK correspondente ignora retransmissotildees

RTT_amostra vai variar queremos ldquoamaciadorrdquo de RTT estimado usa vaacuterias mediccedilotildees

recentes natildeo apenas o valor corrente (RTT_amostra)

3 Camada de Transporte 3b-6

TCP Tempo de Resposta (RTT) e TemporizaccedilatildeoRTT_estimado = (1-) RTT_estimado + RTT_amostra

meacutedia corrente exponencialmente ponderada influecircncia de cada amostra diminui exponencialmente

com o tempo valor tiacutepico de = 0125

3 Camada de Transporte 3b-7

Exemplo de estimativa do RTTRTT 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

3 Camada de Transporte 3b-8

TCP Tempo de Resposta (RTT) e Temporizaccedilatildeo

Escolhendo o intervalo de temporizaccedilatildeo RTT_estimado mais uma ldquomargem de seguranccedilardquo

grande variaccedilatildeo no RTT_estimado -gt maior margem de seguranccedila

primeiro estima o quanto a RTTamostra desvia do RTT_estimado

Entatildeo seta o temporizador para

Temporizaccedilatildeo = RTT_estimado + 4Desvio_RTT

Desvio_RTT = (1-) Desvio_RTT + |RTT_amostra - RTT_estimado|

3 Camada de Transporte 3b-9

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-10

Transferecircncia de dados confiaacutevel do TCP O TCP cria um

serviccedilo rdt sobre o serviccedilo natildeo confiaacutevel do IP

Segmentos em seacuterie (pipelined)

Acks cumulativos O TCP usa um uacutenico

temporizador para retransmissotildees

As retransmissotildees satildeo disparadas por estouros de

temporizaccedilatildeo acks duplicados

Considere inicialmente um transmissor TCP simplificado ignora acks duplicados ignora controles de

fluxo e de congestionamento

3 Camada de Transporte 3b-11

Eventos do transmissor TCP

Dados recebidos da apl Cria segmento com no

de sequumlecircncia (nseq) nseq eacute o nuacutemero de

sequumlecircncia do primeiro byte do segmento

Liga o temporizador se jaacute natildeo estiver ligado (temporizaccedilatildeo do segmento mais antigo ainda natildeo reconhecido)

Valor do temporizador calculado anteriormente

estouro do temporizador Retransmite o segmento

que causou o estouro do temporizador

Reinicia o temporizador

Recepccedilatildeo de Ack Se reconhecer segmentos

ainda natildeo reconhecidos atualizar informaccedilatildeo

sobre o que foi reconhecido

religa o temporizador se ainda houver segmentos pendentes (natildeo reconhecidos)

3 Camada de Transporte 3b-12

Transmis-sorTCP (simplificado)

NextSeqNum = nuacutemero de sequumlecircncia inicial SendBase = nuacutemero de sequumlecircncia inicial

repita (sempre) switch(event)

event dados recebidos da aplicaccedilatildeo acima cria segmento TCP com nuacutemero de sequumlecircncia NextSeqNum se (temporizador estiver desligado) liga o temporizador passa segmento para IP NextSeqNum = NextSeqNum + comprimento(dados)

event estouro do temporizador retransmite segmento ainda natildeo reconhecido com o menor nuacutemero de sequumlecircncia reinicia o temporizador

event ACK recebido com valor de campo ACK de y se (y gt SendBase) ACK cumulativo de todos dados ateacute y SendBase = y se (houver segmentos ainda natildeo reconhecidos) liga o temporizador senatildeo desliga o temporizador fim do repita sempre

ComentaacuteriobullSendBase-1 uacuteltimo byte reconhecido cumulativamenteExemplobullSendBase-1 = 71 y= 73 portanto o receptor quer receber 73+bully gt SendBase portanto novos dados foram reconhecidos

3 Camada de Transporte 3b-13

TCP cenaacuterios de retransmissatildeo

Host A

Seq=100 20 bytes data

ACK=100

tempoestouro prematurodo temporizador

Host B

Seq=92 8 bytes data

ACK=120

Seq=92 8 bytes data

Seq=

92

tim

eout

ACK=120

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

cenaacuterio de perda de ACK

Host B

X

Seq=92 8 bytes data

ACK=100

tempo

Seq=

92

tim

eout

SendBase= 100

SendBase= 120

SendBase= 120

Sendbase= 100

3 Camada de Transporte 3b-14

TCP cenaacuterios de retransmissatildeo (mais)

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

Cenaacuterio de ACK cumulativo

Host B

X

Seq=100 20 bytes data

ACK=120

tempo

SendBase= 120

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 2: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-2

TCP Visatildeo geral RFCs 793 1122 1323 2018 2581

transmissatildeo full duplex fluxo de dados bi-

direcional na mesma conexatildeo

MSS tamanho maacuteximo de segmento

orientado a conexatildeo handshaking (troca de

msgs de controle) inicia estado de remetente receptor antes de trocar dados

fluxo controlado receptor natildeo seraacute afogado

ponto a ponto 1 remetente 1 receptor

fluxo de bytes ordenados confiaacutevel natildeo estruturado em msgs

com paralelismo (pipelined) tam da janela ajustado por

controle de fluxo e congestionamento do TCP

buffers de envio e recepccedilatildeo

socketdoor

T C Psend buffer

T C Preceive buffer

socketdoor

segm ent

applicationwrites data

applicationreads data

3 Camada de Transporte 3b-3

TCP estrutura do segmento

no porta origemno porta dest

32 bits

dados daaplicaccedilatildeo

(tam variaacutevel)

nuacutemero de sequumlecircncianuacutemero de

reconhecimentojanela receptor

ptr dados urgchecksum

FSRPAUtamcab

semuso

Opccedilotildees (tam variaacutevel)

URG dados urgentes (pouco usados)

ACK no ACKvaacutelido

PSH envia dados jaacute(pouco usado)

RST SYN FINgestatildeo de conexatildeo

(comandos deestabelecimento

liberaccedilatildeo)

no bytes rcpt queraceitar

contagem de dadospor bytes (natildeo segmentos)

checksum Internet

(como UDP)

3 Camada de Transporte 3b-4

TCP nos de seq e ACKsNos de seq

ldquonuacutemerordquodentro do fluxo de bytes do primeiro byte de dados do segmento

ACKs no de seq do proacutex

byte esperado do outro lado

ACK cumulativoP como receptor trata

segmentos fora da ordem R espec do TCP

omissa - deixado ao implementador

Estaccedilatildeo A Estaccedilatildeo B

Seq=42 ACK=79 data = lsquoCrsquo

Seq=79 ACK=43 data = lsquoCrsquo

Seq=43 ACK=80

UsuaacuterioteclalsquoCrsquo

A reconhecechegada

do lsquoCrsquoecoado

B reconhecechegada de

lsquoCrsquo ecoalsquoCrsquo de volta

tempocenaacuterio simples de telnet

3 Camada de Transporte 3b-5

TCP Tempo de Resposta (RTT ndash Round Trip Time) e TemporizaccedilatildeoP como escolher

valor do temporizador TCP

maior que o RTT note RTT pode

variar muito curto

temporizaccedilatildeo prematura retransmissotildees satildeo

desnecessaacuterias muito longo reaccedilatildeo

demorada agrave perda de segmentos

P como estimar RTT RTTamostra tempo medido

entre a transmissatildeo do segmento e o recebimento do ACK correspondente ignora retransmissotildees

RTT_amostra vai variar queremos ldquoamaciadorrdquo de RTT estimado usa vaacuterias mediccedilotildees

recentes natildeo apenas o valor corrente (RTT_amostra)

3 Camada de Transporte 3b-6

TCP Tempo de Resposta (RTT) e TemporizaccedilatildeoRTT_estimado = (1-) RTT_estimado + RTT_amostra

meacutedia corrente exponencialmente ponderada influecircncia de cada amostra diminui exponencialmente

com o tempo valor tiacutepico de = 0125

3 Camada de Transporte 3b-7

Exemplo de estimativa do RTTRTT 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

3 Camada de Transporte 3b-8

TCP Tempo de Resposta (RTT) e Temporizaccedilatildeo

Escolhendo o intervalo de temporizaccedilatildeo RTT_estimado mais uma ldquomargem de seguranccedilardquo

grande variaccedilatildeo no RTT_estimado -gt maior margem de seguranccedila

primeiro estima o quanto a RTTamostra desvia do RTT_estimado

Entatildeo seta o temporizador para

Temporizaccedilatildeo = RTT_estimado + 4Desvio_RTT

Desvio_RTT = (1-) Desvio_RTT + |RTT_amostra - RTT_estimado|

3 Camada de Transporte 3b-9

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-10

Transferecircncia de dados confiaacutevel do TCP O TCP cria um

serviccedilo rdt sobre o serviccedilo natildeo confiaacutevel do IP

Segmentos em seacuterie (pipelined)

Acks cumulativos O TCP usa um uacutenico

temporizador para retransmissotildees

As retransmissotildees satildeo disparadas por estouros de

temporizaccedilatildeo acks duplicados

Considere inicialmente um transmissor TCP simplificado ignora acks duplicados ignora controles de

fluxo e de congestionamento

3 Camada de Transporte 3b-11

Eventos do transmissor TCP

Dados recebidos da apl Cria segmento com no

de sequumlecircncia (nseq) nseq eacute o nuacutemero de

sequumlecircncia do primeiro byte do segmento

Liga o temporizador se jaacute natildeo estiver ligado (temporizaccedilatildeo do segmento mais antigo ainda natildeo reconhecido)

Valor do temporizador calculado anteriormente

estouro do temporizador Retransmite o segmento

que causou o estouro do temporizador

Reinicia o temporizador

Recepccedilatildeo de Ack Se reconhecer segmentos

ainda natildeo reconhecidos atualizar informaccedilatildeo

sobre o que foi reconhecido

religa o temporizador se ainda houver segmentos pendentes (natildeo reconhecidos)

3 Camada de Transporte 3b-12

Transmis-sorTCP (simplificado)

NextSeqNum = nuacutemero de sequumlecircncia inicial SendBase = nuacutemero de sequumlecircncia inicial

repita (sempre) switch(event)

event dados recebidos da aplicaccedilatildeo acima cria segmento TCP com nuacutemero de sequumlecircncia NextSeqNum se (temporizador estiver desligado) liga o temporizador passa segmento para IP NextSeqNum = NextSeqNum + comprimento(dados)

event estouro do temporizador retransmite segmento ainda natildeo reconhecido com o menor nuacutemero de sequumlecircncia reinicia o temporizador

event ACK recebido com valor de campo ACK de y se (y gt SendBase) ACK cumulativo de todos dados ateacute y SendBase = y se (houver segmentos ainda natildeo reconhecidos) liga o temporizador senatildeo desliga o temporizador fim do repita sempre

ComentaacuteriobullSendBase-1 uacuteltimo byte reconhecido cumulativamenteExemplobullSendBase-1 = 71 y= 73 portanto o receptor quer receber 73+bully gt SendBase portanto novos dados foram reconhecidos

3 Camada de Transporte 3b-13

TCP cenaacuterios de retransmissatildeo

Host A

Seq=100 20 bytes data

ACK=100

tempoestouro prematurodo temporizador

Host B

Seq=92 8 bytes data

ACK=120

Seq=92 8 bytes data

Seq=

92

tim

eout

ACK=120

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

cenaacuterio de perda de ACK

Host B

X

Seq=92 8 bytes data

ACK=100

tempo

Seq=

92

tim

eout

SendBase= 100

SendBase= 120

SendBase= 120

Sendbase= 100

3 Camada de Transporte 3b-14

TCP cenaacuterios de retransmissatildeo (mais)

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

Cenaacuterio de ACK cumulativo

Host B

X

Seq=100 20 bytes data

ACK=120

tempo

SendBase= 120

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 3: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-3

TCP estrutura do segmento

no porta origemno porta dest

32 bits

dados daaplicaccedilatildeo

(tam variaacutevel)

nuacutemero de sequumlecircncianuacutemero de

reconhecimentojanela receptor

ptr dados urgchecksum

FSRPAUtamcab

semuso

Opccedilotildees (tam variaacutevel)

URG dados urgentes (pouco usados)

ACK no ACKvaacutelido

PSH envia dados jaacute(pouco usado)

RST SYN FINgestatildeo de conexatildeo

(comandos deestabelecimento

liberaccedilatildeo)

no bytes rcpt queraceitar

contagem de dadospor bytes (natildeo segmentos)

checksum Internet

(como UDP)

3 Camada de Transporte 3b-4

TCP nos de seq e ACKsNos de seq

ldquonuacutemerordquodentro do fluxo de bytes do primeiro byte de dados do segmento

ACKs no de seq do proacutex

byte esperado do outro lado

ACK cumulativoP como receptor trata

segmentos fora da ordem R espec do TCP

omissa - deixado ao implementador

Estaccedilatildeo A Estaccedilatildeo B

Seq=42 ACK=79 data = lsquoCrsquo

Seq=79 ACK=43 data = lsquoCrsquo

Seq=43 ACK=80

UsuaacuterioteclalsquoCrsquo

A reconhecechegada

do lsquoCrsquoecoado

B reconhecechegada de

lsquoCrsquo ecoalsquoCrsquo de volta

tempocenaacuterio simples de telnet

3 Camada de Transporte 3b-5

TCP Tempo de Resposta (RTT ndash Round Trip Time) e TemporizaccedilatildeoP como escolher

valor do temporizador TCP

maior que o RTT note RTT pode

variar muito curto

temporizaccedilatildeo prematura retransmissotildees satildeo

desnecessaacuterias muito longo reaccedilatildeo

demorada agrave perda de segmentos

P como estimar RTT RTTamostra tempo medido

entre a transmissatildeo do segmento e o recebimento do ACK correspondente ignora retransmissotildees

RTT_amostra vai variar queremos ldquoamaciadorrdquo de RTT estimado usa vaacuterias mediccedilotildees

recentes natildeo apenas o valor corrente (RTT_amostra)

3 Camada de Transporte 3b-6

TCP Tempo de Resposta (RTT) e TemporizaccedilatildeoRTT_estimado = (1-) RTT_estimado + RTT_amostra

meacutedia corrente exponencialmente ponderada influecircncia de cada amostra diminui exponencialmente

com o tempo valor tiacutepico de = 0125

3 Camada de Transporte 3b-7

Exemplo de estimativa do RTTRTT 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

3 Camada de Transporte 3b-8

TCP Tempo de Resposta (RTT) e Temporizaccedilatildeo

Escolhendo o intervalo de temporizaccedilatildeo RTT_estimado mais uma ldquomargem de seguranccedilardquo

grande variaccedilatildeo no RTT_estimado -gt maior margem de seguranccedila

primeiro estima o quanto a RTTamostra desvia do RTT_estimado

Entatildeo seta o temporizador para

Temporizaccedilatildeo = RTT_estimado + 4Desvio_RTT

Desvio_RTT = (1-) Desvio_RTT + |RTT_amostra - RTT_estimado|

3 Camada de Transporte 3b-9

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-10

Transferecircncia de dados confiaacutevel do TCP O TCP cria um

serviccedilo rdt sobre o serviccedilo natildeo confiaacutevel do IP

Segmentos em seacuterie (pipelined)

Acks cumulativos O TCP usa um uacutenico

temporizador para retransmissotildees

As retransmissotildees satildeo disparadas por estouros de

temporizaccedilatildeo acks duplicados

Considere inicialmente um transmissor TCP simplificado ignora acks duplicados ignora controles de

fluxo e de congestionamento

3 Camada de Transporte 3b-11

Eventos do transmissor TCP

Dados recebidos da apl Cria segmento com no

de sequumlecircncia (nseq) nseq eacute o nuacutemero de

sequumlecircncia do primeiro byte do segmento

Liga o temporizador se jaacute natildeo estiver ligado (temporizaccedilatildeo do segmento mais antigo ainda natildeo reconhecido)

Valor do temporizador calculado anteriormente

estouro do temporizador Retransmite o segmento

que causou o estouro do temporizador

Reinicia o temporizador

Recepccedilatildeo de Ack Se reconhecer segmentos

ainda natildeo reconhecidos atualizar informaccedilatildeo

sobre o que foi reconhecido

religa o temporizador se ainda houver segmentos pendentes (natildeo reconhecidos)

3 Camada de Transporte 3b-12

Transmis-sorTCP (simplificado)

NextSeqNum = nuacutemero de sequumlecircncia inicial SendBase = nuacutemero de sequumlecircncia inicial

repita (sempre) switch(event)

event dados recebidos da aplicaccedilatildeo acima cria segmento TCP com nuacutemero de sequumlecircncia NextSeqNum se (temporizador estiver desligado) liga o temporizador passa segmento para IP NextSeqNum = NextSeqNum + comprimento(dados)

event estouro do temporizador retransmite segmento ainda natildeo reconhecido com o menor nuacutemero de sequumlecircncia reinicia o temporizador

event ACK recebido com valor de campo ACK de y se (y gt SendBase) ACK cumulativo de todos dados ateacute y SendBase = y se (houver segmentos ainda natildeo reconhecidos) liga o temporizador senatildeo desliga o temporizador fim do repita sempre

ComentaacuteriobullSendBase-1 uacuteltimo byte reconhecido cumulativamenteExemplobullSendBase-1 = 71 y= 73 portanto o receptor quer receber 73+bully gt SendBase portanto novos dados foram reconhecidos

3 Camada de Transporte 3b-13

TCP cenaacuterios de retransmissatildeo

Host A

Seq=100 20 bytes data

ACK=100

tempoestouro prematurodo temporizador

Host B

Seq=92 8 bytes data

ACK=120

Seq=92 8 bytes data

Seq=

92

tim

eout

ACK=120

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

cenaacuterio de perda de ACK

Host B

X

Seq=92 8 bytes data

ACK=100

tempo

Seq=

92

tim

eout

SendBase= 100

SendBase= 120

SendBase= 120

Sendbase= 100

3 Camada de Transporte 3b-14

TCP cenaacuterios de retransmissatildeo (mais)

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

Cenaacuterio de ACK cumulativo

Host B

X

Seq=100 20 bytes data

ACK=120

tempo

SendBase= 120

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 4: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-4

TCP nos de seq e ACKsNos de seq

ldquonuacutemerordquodentro do fluxo de bytes do primeiro byte de dados do segmento

ACKs no de seq do proacutex

byte esperado do outro lado

ACK cumulativoP como receptor trata

segmentos fora da ordem R espec do TCP

omissa - deixado ao implementador

Estaccedilatildeo A Estaccedilatildeo B

Seq=42 ACK=79 data = lsquoCrsquo

Seq=79 ACK=43 data = lsquoCrsquo

Seq=43 ACK=80

UsuaacuterioteclalsquoCrsquo

A reconhecechegada

do lsquoCrsquoecoado

B reconhecechegada de

lsquoCrsquo ecoalsquoCrsquo de volta

tempocenaacuterio simples de telnet

3 Camada de Transporte 3b-5

TCP Tempo de Resposta (RTT ndash Round Trip Time) e TemporizaccedilatildeoP como escolher

valor do temporizador TCP

maior que o RTT note RTT pode

variar muito curto

temporizaccedilatildeo prematura retransmissotildees satildeo

desnecessaacuterias muito longo reaccedilatildeo

demorada agrave perda de segmentos

P como estimar RTT RTTamostra tempo medido

entre a transmissatildeo do segmento e o recebimento do ACK correspondente ignora retransmissotildees

RTT_amostra vai variar queremos ldquoamaciadorrdquo de RTT estimado usa vaacuterias mediccedilotildees

recentes natildeo apenas o valor corrente (RTT_amostra)

3 Camada de Transporte 3b-6

TCP Tempo de Resposta (RTT) e TemporizaccedilatildeoRTT_estimado = (1-) RTT_estimado + RTT_amostra

meacutedia corrente exponencialmente ponderada influecircncia de cada amostra diminui exponencialmente

com o tempo valor tiacutepico de = 0125

3 Camada de Transporte 3b-7

Exemplo de estimativa do RTTRTT 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

3 Camada de Transporte 3b-8

TCP Tempo de Resposta (RTT) e Temporizaccedilatildeo

Escolhendo o intervalo de temporizaccedilatildeo RTT_estimado mais uma ldquomargem de seguranccedilardquo

grande variaccedilatildeo no RTT_estimado -gt maior margem de seguranccedila

primeiro estima o quanto a RTTamostra desvia do RTT_estimado

Entatildeo seta o temporizador para

Temporizaccedilatildeo = RTT_estimado + 4Desvio_RTT

Desvio_RTT = (1-) Desvio_RTT + |RTT_amostra - RTT_estimado|

3 Camada de Transporte 3b-9

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-10

Transferecircncia de dados confiaacutevel do TCP O TCP cria um

serviccedilo rdt sobre o serviccedilo natildeo confiaacutevel do IP

Segmentos em seacuterie (pipelined)

Acks cumulativos O TCP usa um uacutenico

temporizador para retransmissotildees

As retransmissotildees satildeo disparadas por estouros de

temporizaccedilatildeo acks duplicados

Considere inicialmente um transmissor TCP simplificado ignora acks duplicados ignora controles de

fluxo e de congestionamento

3 Camada de Transporte 3b-11

Eventos do transmissor TCP

Dados recebidos da apl Cria segmento com no

de sequumlecircncia (nseq) nseq eacute o nuacutemero de

sequumlecircncia do primeiro byte do segmento

Liga o temporizador se jaacute natildeo estiver ligado (temporizaccedilatildeo do segmento mais antigo ainda natildeo reconhecido)

Valor do temporizador calculado anteriormente

estouro do temporizador Retransmite o segmento

que causou o estouro do temporizador

Reinicia o temporizador

Recepccedilatildeo de Ack Se reconhecer segmentos

ainda natildeo reconhecidos atualizar informaccedilatildeo

sobre o que foi reconhecido

religa o temporizador se ainda houver segmentos pendentes (natildeo reconhecidos)

3 Camada de Transporte 3b-12

Transmis-sorTCP (simplificado)

NextSeqNum = nuacutemero de sequumlecircncia inicial SendBase = nuacutemero de sequumlecircncia inicial

repita (sempre) switch(event)

event dados recebidos da aplicaccedilatildeo acima cria segmento TCP com nuacutemero de sequumlecircncia NextSeqNum se (temporizador estiver desligado) liga o temporizador passa segmento para IP NextSeqNum = NextSeqNum + comprimento(dados)

event estouro do temporizador retransmite segmento ainda natildeo reconhecido com o menor nuacutemero de sequumlecircncia reinicia o temporizador

event ACK recebido com valor de campo ACK de y se (y gt SendBase) ACK cumulativo de todos dados ateacute y SendBase = y se (houver segmentos ainda natildeo reconhecidos) liga o temporizador senatildeo desliga o temporizador fim do repita sempre

ComentaacuteriobullSendBase-1 uacuteltimo byte reconhecido cumulativamenteExemplobullSendBase-1 = 71 y= 73 portanto o receptor quer receber 73+bully gt SendBase portanto novos dados foram reconhecidos

3 Camada de Transporte 3b-13

TCP cenaacuterios de retransmissatildeo

Host A

Seq=100 20 bytes data

ACK=100

tempoestouro prematurodo temporizador

Host B

Seq=92 8 bytes data

ACK=120

Seq=92 8 bytes data

Seq=

92

tim

eout

ACK=120

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

cenaacuterio de perda de ACK

Host B

X

Seq=92 8 bytes data

ACK=100

tempo

Seq=

92

tim

eout

SendBase= 100

SendBase= 120

SendBase= 120

Sendbase= 100

3 Camada de Transporte 3b-14

TCP cenaacuterios de retransmissatildeo (mais)

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

Cenaacuterio de ACK cumulativo

Host B

X

Seq=100 20 bytes data

ACK=120

tempo

SendBase= 120

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 5: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-5

TCP Tempo de Resposta (RTT ndash Round Trip Time) e TemporizaccedilatildeoP como escolher

valor do temporizador TCP

maior que o RTT note RTT pode

variar muito curto

temporizaccedilatildeo prematura retransmissotildees satildeo

desnecessaacuterias muito longo reaccedilatildeo

demorada agrave perda de segmentos

P como estimar RTT RTTamostra tempo medido

entre a transmissatildeo do segmento e o recebimento do ACK correspondente ignora retransmissotildees

RTT_amostra vai variar queremos ldquoamaciadorrdquo de RTT estimado usa vaacuterias mediccedilotildees

recentes natildeo apenas o valor corrente (RTT_amostra)

3 Camada de Transporte 3b-6

TCP Tempo de Resposta (RTT) e TemporizaccedilatildeoRTT_estimado = (1-) RTT_estimado + RTT_amostra

meacutedia corrente exponencialmente ponderada influecircncia de cada amostra diminui exponencialmente

com o tempo valor tiacutepico de = 0125

3 Camada de Transporte 3b-7

Exemplo de estimativa do RTTRTT 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

3 Camada de Transporte 3b-8

TCP Tempo de Resposta (RTT) e Temporizaccedilatildeo

Escolhendo o intervalo de temporizaccedilatildeo RTT_estimado mais uma ldquomargem de seguranccedilardquo

grande variaccedilatildeo no RTT_estimado -gt maior margem de seguranccedila

primeiro estima o quanto a RTTamostra desvia do RTT_estimado

Entatildeo seta o temporizador para

Temporizaccedilatildeo = RTT_estimado + 4Desvio_RTT

Desvio_RTT = (1-) Desvio_RTT + |RTT_amostra - RTT_estimado|

3 Camada de Transporte 3b-9

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-10

Transferecircncia de dados confiaacutevel do TCP O TCP cria um

serviccedilo rdt sobre o serviccedilo natildeo confiaacutevel do IP

Segmentos em seacuterie (pipelined)

Acks cumulativos O TCP usa um uacutenico

temporizador para retransmissotildees

As retransmissotildees satildeo disparadas por estouros de

temporizaccedilatildeo acks duplicados

Considere inicialmente um transmissor TCP simplificado ignora acks duplicados ignora controles de

fluxo e de congestionamento

3 Camada de Transporte 3b-11

Eventos do transmissor TCP

Dados recebidos da apl Cria segmento com no

de sequumlecircncia (nseq) nseq eacute o nuacutemero de

sequumlecircncia do primeiro byte do segmento

Liga o temporizador se jaacute natildeo estiver ligado (temporizaccedilatildeo do segmento mais antigo ainda natildeo reconhecido)

Valor do temporizador calculado anteriormente

estouro do temporizador Retransmite o segmento

que causou o estouro do temporizador

Reinicia o temporizador

Recepccedilatildeo de Ack Se reconhecer segmentos

ainda natildeo reconhecidos atualizar informaccedilatildeo

sobre o que foi reconhecido

religa o temporizador se ainda houver segmentos pendentes (natildeo reconhecidos)

3 Camada de Transporte 3b-12

Transmis-sorTCP (simplificado)

NextSeqNum = nuacutemero de sequumlecircncia inicial SendBase = nuacutemero de sequumlecircncia inicial

repita (sempre) switch(event)

event dados recebidos da aplicaccedilatildeo acima cria segmento TCP com nuacutemero de sequumlecircncia NextSeqNum se (temporizador estiver desligado) liga o temporizador passa segmento para IP NextSeqNum = NextSeqNum + comprimento(dados)

event estouro do temporizador retransmite segmento ainda natildeo reconhecido com o menor nuacutemero de sequumlecircncia reinicia o temporizador

event ACK recebido com valor de campo ACK de y se (y gt SendBase) ACK cumulativo de todos dados ateacute y SendBase = y se (houver segmentos ainda natildeo reconhecidos) liga o temporizador senatildeo desliga o temporizador fim do repita sempre

ComentaacuteriobullSendBase-1 uacuteltimo byte reconhecido cumulativamenteExemplobullSendBase-1 = 71 y= 73 portanto o receptor quer receber 73+bully gt SendBase portanto novos dados foram reconhecidos

3 Camada de Transporte 3b-13

TCP cenaacuterios de retransmissatildeo

Host A

Seq=100 20 bytes data

ACK=100

tempoestouro prematurodo temporizador

Host B

Seq=92 8 bytes data

ACK=120

Seq=92 8 bytes data

Seq=

92

tim

eout

ACK=120

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

cenaacuterio de perda de ACK

Host B

X

Seq=92 8 bytes data

ACK=100

tempo

Seq=

92

tim

eout

SendBase= 100

SendBase= 120

SendBase= 120

Sendbase= 100

3 Camada de Transporte 3b-14

TCP cenaacuterios de retransmissatildeo (mais)

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

Cenaacuterio de ACK cumulativo

Host B

X

Seq=100 20 bytes data

ACK=120

tempo

SendBase= 120

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 6: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-6

TCP Tempo de Resposta (RTT) e TemporizaccedilatildeoRTT_estimado = (1-) RTT_estimado + RTT_amostra

meacutedia corrente exponencialmente ponderada influecircncia de cada amostra diminui exponencialmente

com o tempo valor tiacutepico de = 0125

3 Camada de Transporte 3b-7

Exemplo de estimativa do RTTRTT 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

3 Camada de Transporte 3b-8

TCP Tempo de Resposta (RTT) e Temporizaccedilatildeo

Escolhendo o intervalo de temporizaccedilatildeo RTT_estimado mais uma ldquomargem de seguranccedilardquo

grande variaccedilatildeo no RTT_estimado -gt maior margem de seguranccedila

primeiro estima o quanto a RTTamostra desvia do RTT_estimado

Entatildeo seta o temporizador para

Temporizaccedilatildeo = RTT_estimado + 4Desvio_RTT

Desvio_RTT = (1-) Desvio_RTT + |RTT_amostra - RTT_estimado|

3 Camada de Transporte 3b-9

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-10

Transferecircncia de dados confiaacutevel do TCP O TCP cria um

serviccedilo rdt sobre o serviccedilo natildeo confiaacutevel do IP

Segmentos em seacuterie (pipelined)

Acks cumulativos O TCP usa um uacutenico

temporizador para retransmissotildees

As retransmissotildees satildeo disparadas por estouros de

temporizaccedilatildeo acks duplicados

Considere inicialmente um transmissor TCP simplificado ignora acks duplicados ignora controles de

fluxo e de congestionamento

3 Camada de Transporte 3b-11

Eventos do transmissor TCP

Dados recebidos da apl Cria segmento com no

de sequumlecircncia (nseq) nseq eacute o nuacutemero de

sequumlecircncia do primeiro byte do segmento

Liga o temporizador se jaacute natildeo estiver ligado (temporizaccedilatildeo do segmento mais antigo ainda natildeo reconhecido)

Valor do temporizador calculado anteriormente

estouro do temporizador Retransmite o segmento

que causou o estouro do temporizador

Reinicia o temporizador

Recepccedilatildeo de Ack Se reconhecer segmentos

ainda natildeo reconhecidos atualizar informaccedilatildeo

sobre o que foi reconhecido

religa o temporizador se ainda houver segmentos pendentes (natildeo reconhecidos)

3 Camada de Transporte 3b-12

Transmis-sorTCP (simplificado)

NextSeqNum = nuacutemero de sequumlecircncia inicial SendBase = nuacutemero de sequumlecircncia inicial

repita (sempre) switch(event)

event dados recebidos da aplicaccedilatildeo acima cria segmento TCP com nuacutemero de sequumlecircncia NextSeqNum se (temporizador estiver desligado) liga o temporizador passa segmento para IP NextSeqNum = NextSeqNum + comprimento(dados)

event estouro do temporizador retransmite segmento ainda natildeo reconhecido com o menor nuacutemero de sequumlecircncia reinicia o temporizador

event ACK recebido com valor de campo ACK de y se (y gt SendBase) ACK cumulativo de todos dados ateacute y SendBase = y se (houver segmentos ainda natildeo reconhecidos) liga o temporizador senatildeo desliga o temporizador fim do repita sempre

ComentaacuteriobullSendBase-1 uacuteltimo byte reconhecido cumulativamenteExemplobullSendBase-1 = 71 y= 73 portanto o receptor quer receber 73+bully gt SendBase portanto novos dados foram reconhecidos

3 Camada de Transporte 3b-13

TCP cenaacuterios de retransmissatildeo

Host A

Seq=100 20 bytes data

ACK=100

tempoestouro prematurodo temporizador

Host B

Seq=92 8 bytes data

ACK=120

Seq=92 8 bytes data

Seq=

92

tim

eout

ACK=120

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

cenaacuterio de perda de ACK

Host B

X

Seq=92 8 bytes data

ACK=100

tempo

Seq=

92

tim

eout

SendBase= 100

SendBase= 120

SendBase= 120

Sendbase= 100

3 Camada de Transporte 3b-14

TCP cenaacuterios de retransmissatildeo (mais)

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

Cenaacuterio de ACK cumulativo

Host B

X

Seq=100 20 bytes data

ACK=120

tempo

SendBase= 120

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 7: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-7

Exemplo de estimativa do RTTRTT 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

3 Camada de Transporte 3b-8

TCP Tempo de Resposta (RTT) e Temporizaccedilatildeo

Escolhendo o intervalo de temporizaccedilatildeo RTT_estimado mais uma ldquomargem de seguranccedilardquo

grande variaccedilatildeo no RTT_estimado -gt maior margem de seguranccedila

primeiro estima o quanto a RTTamostra desvia do RTT_estimado

Entatildeo seta o temporizador para

Temporizaccedilatildeo = RTT_estimado + 4Desvio_RTT

Desvio_RTT = (1-) Desvio_RTT + |RTT_amostra - RTT_estimado|

3 Camada de Transporte 3b-9

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-10

Transferecircncia de dados confiaacutevel do TCP O TCP cria um

serviccedilo rdt sobre o serviccedilo natildeo confiaacutevel do IP

Segmentos em seacuterie (pipelined)

Acks cumulativos O TCP usa um uacutenico

temporizador para retransmissotildees

As retransmissotildees satildeo disparadas por estouros de

temporizaccedilatildeo acks duplicados

Considere inicialmente um transmissor TCP simplificado ignora acks duplicados ignora controles de

fluxo e de congestionamento

3 Camada de Transporte 3b-11

Eventos do transmissor TCP

Dados recebidos da apl Cria segmento com no

de sequumlecircncia (nseq) nseq eacute o nuacutemero de

sequumlecircncia do primeiro byte do segmento

Liga o temporizador se jaacute natildeo estiver ligado (temporizaccedilatildeo do segmento mais antigo ainda natildeo reconhecido)

Valor do temporizador calculado anteriormente

estouro do temporizador Retransmite o segmento

que causou o estouro do temporizador

Reinicia o temporizador

Recepccedilatildeo de Ack Se reconhecer segmentos

ainda natildeo reconhecidos atualizar informaccedilatildeo

sobre o que foi reconhecido

religa o temporizador se ainda houver segmentos pendentes (natildeo reconhecidos)

3 Camada de Transporte 3b-12

Transmis-sorTCP (simplificado)

NextSeqNum = nuacutemero de sequumlecircncia inicial SendBase = nuacutemero de sequumlecircncia inicial

repita (sempre) switch(event)

event dados recebidos da aplicaccedilatildeo acima cria segmento TCP com nuacutemero de sequumlecircncia NextSeqNum se (temporizador estiver desligado) liga o temporizador passa segmento para IP NextSeqNum = NextSeqNum + comprimento(dados)

event estouro do temporizador retransmite segmento ainda natildeo reconhecido com o menor nuacutemero de sequumlecircncia reinicia o temporizador

event ACK recebido com valor de campo ACK de y se (y gt SendBase) ACK cumulativo de todos dados ateacute y SendBase = y se (houver segmentos ainda natildeo reconhecidos) liga o temporizador senatildeo desliga o temporizador fim do repita sempre

ComentaacuteriobullSendBase-1 uacuteltimo byte reconhecido cumulativamenteExemplobullSendBase-1 = 71 y= 73 portanto o receptor quer receber 73+bully gt SendBase portanto novos dados foram reconhecidos

3 Camada de Transporte 3b-13

TCP cenaacuterios de retransmissatildeo

Host A

Seq=100 20 bytes data

ACK=100

tempoestouro prematurodo temporizador

Host B

Seq=92 8 bytes data

ACK=120

Seq=92 8 bytes data

Seq=

92

tim

eout

ACK=120

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

cenaacuterio de perda de ACK

Host B

X

Seq=92 8 bytes data

ACK=100

tempo

Seq=

92

tim

eout

SendBase= 100

SendBase= 120

SendBase= 120

Sendbase= 100

3 Camada de Transporte 3b-14

TCP cenaacuterios de retransmissatildeo (mais)

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

Cenaacuterio de ACK cumulativo

Host B

X

Seq=100 20 bytes data

ACK=120

tempo

SendBase= 120

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 8: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-8

TCP Tempo de Resposta (RTT) e Temporizaccedilatildeo

Escolhendo o intervalo de temporizaccedilatildeo RTT_estimado mais uma ldquomargem de seguranccedilardquo

grande variaccedilatildeo no RTT_estimado -gt maior margem de seguranccedila

primeiro estima o quanto a RTTamostra desvia do RTT_estimado

Entatildeo seta o temporizador para

Temporizaccedilatildeo = RTT_estimado + 4Desvio_RTT

Desvio_RTT = (1-) Desvio_RTT + |RTT_amostra - RTT_estimado|

3 Camada de Transporte 3b-9

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-10

Transferecircncia de dados confiaacutevel do TCP O TCP cria um

serviccedilo rdt sobre o serviccedilo natildeo confiaacutevel do IP

Segmentos em seacuterie (pipelined)

Acks cumulativos O TCP usa um uacutenico

temporizador para retransmissotildees

As retransmissotildees satildeo disparadas por estouros de

temporizaccedilatildeo acks duplicados

Considere inicialmente um transmissor TCP simplificado ignora acks duplicados ignora controles de

fluxo e de congestionamento

3 Camada de Transporte 3b-11

Eventos do transmissor TCP

Dados recebidos da apl Cria segmento com no

de sequumlecircncia (nseq) nseq eacute o nuacutemero de

sequumlecircncia do primeiro byte do segmento

Liga o temporizador se jaacute natildeo estiver ligado (temporizaccedilatildeo do segmento mais antigo ainda natildeo reconhecido)

Valor do temporizador calculado anteriormente

estouro do temporizador Retransmite o segmento

que causou o estouro do temporizador

Reinicia o temporizador

Recepccedilatildeo de Ack Se reconhecer segmentos

ainda natildeo reconhecidos atualizar informaccedilatildeo

sobre o que foi reconhecido

religa o temporizador se ainda houver segmentos pendentes (natildeo reconhecidos)

3 Camada de Transporte 3b-12

Transmis-sorTCP (simplificado)

NextSeqNum = nuacutemero de sequumlecircncia inicial SendBase = nuacutemero de sequumlecircncia inicial

repita (sempre) switch(event)

event dados recebidos da aplicaccedilatildeo acima cria segmento TCP com nuacutemero de sequumlecircncia NextSeqNum se (temporizador estiver desligado) liga o temporizador passa segmento para IP NextSeqNum = NextSeqNum + comprimento(dados)

event estouro do temporizador retransmite segmento ainda natildeo reconhecido com o menor nuacutemero de sequumlecircncia reinicia o temporizador

event ACK recebido com valor de campo ACK de y se (y gt SendBase) ACK cumulativo de todos dados ateacute y SendBase = y se (houver segmentos ainda natildeo reconhecidos) liga o temporizador senatildeo desliga o temporizador fim do repita sempre

ComentaacuteriobullSendBase-1 uacuteltimo byte reconhecido cumulativamenteExemplobullSendBase-1 = 71 y= 73 portanto o receptor quer receber 73+bully gt SendBase portanto novos dados foram reconhecidos

3 Camada de Transporte 3b-13

TCP cenaacuterios de retransmissatildeo

Host A

Seq=100 20 bytes data

ACK=100

tempoestouro prematurodo temporizador

Host B

Seq=92 8 bytes data

ACK=120

Seq=92 8 bytes data

Seq=

92

tim

eout

ACK=120

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

cenaacuterio de perda de ACK

Host B

X

Seq=92 8 bytes data

ACK=100

tempo

Seq=

92

tim

eout

SendBase= 100

SendBase= 120

SendBase= 120

Sendbase= 100

3 Camada de Transporte 3b-14

TCP cenaacuterios de retransmissatildeo (mais)

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

Cenaacuterio de ACK cumulativo

Host B

X

Seq=100 20 bytes data

ACK=120

tempo

SendBase= 120

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 9: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-9

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-10

Transferecircncia de dados confiaacutevel do TCP O TCP cria um

serviccedilo rdt sobre o serviccedilo natildeo confiaacutevel do IP

Segmentos em seacuterie (pipelined)

Acks cumulativos O TCP usa um uacutenico

temporizador para retransmissotildees

As retransmissotildees satildeo disparadas por estouros de

temporizaccedilatildeo acks duplicados

Considere inicialmente um transmissor TCP simplificado ignora acks duplicados ignora controles de

fluxo e de congestionamento

3 Camada de Transporte 3b-11

Eventos do transmissor TCP

Dados recebidos da apl Cria segmento com no

de sequumlecircncia (nseq) nseq eacute o nuacutemero de

sequumlecircncia do primeiro byte do segmento

Liga o temporizador se jaacute natildeo estiver ligado (temporizaccedilatildeo do segmento mais antigo ainda natildeo reconhecido)

Valor do temporizador calculado anteriormente

estouro do temporizador Retransmite o segmento

que causou o estouro do temporizador

Reinicia o temporizador

Recepccedilatildeo de Ack Se reconhecer segmentos

ainda natildeo reconhecidos atualizar informaccedilatildeo

sobre o que foi reconhecido

religa o temporizador se ainda houver segmentos pendentes (natildeo reconhecidos)

3 Camada de Transporte 3b-12

Transmis-sorTCP (simplificado)

NextSeqNum = nuacutemero de sequumlecircncia inicial SendBase = nuacutemero de sequumlecircncia inicial

repita (sempre) switch(event)

event dados recebidos da aplicaccedilatildeo acima cria segmento TCP com nuacutemero de sequumlecircncia NextSeqNum se (temporizador estiver desligado) liga o temporizador passa segmento para IP NextSeqNum = NextSeqNum + comprimento(dados)

event estouro do temporizador retransmite segmento ainda natildeo reconhecido com o menor nuacutemero de sequumlecircncia reinicia o temporizador

event ACK recebido com valor de campo ACK de y se (y gt SendBase) ACK cumulativo de todos dados ateacute y SendBase = y se (houver segmentos ainda natildeo reconhecidos) liga o temporizador senatildeo desliga o temporizador fim do repita sempre

ComentaacuteriobullSendBase-1 uacuteltimo byte reconhecido cumulativamenteExemplobullSendBase-1 = 71 y= 73 portanto o receptor quer receber 73+bully gt SendBase portanto novos dados foram reconhecidos

3 Camada de Transporte 3b-13

TCP cenaacuterios de retransmissatildeo

Host A

Seq=100 20 bytes data

ACK=100

tempoestouro prematurodo temporizador

Host B

Seq=92 8 bytes data

ACK=120

Seq=92 8 bytes data

Seq=

92

tim

eout

ACK=120

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

cenaacuterio de perda de ACK

Host B

X

Seq=92 8 bytes data

ACK=100

tempo

Seq=

92

tim

eout

SendBase= 100

SendBase= 120

SendBase= 120

Sendbase= 100

3 Camada de Transporte 3b-14

TCP cenaacuterios de retransmissatildeo (mais)

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

Cenaacuterio de ACK cumulativo

Host B

X

Seq=100 20 bytes data

ACK=120

tempo

SendBase= 120

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 10: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-10

Transferecircncia de dados confiaacutevel do TCP O TCP cria um

serviccedilo rdt sobre o serviccedilo natildeo confiaacutevel do IP

Segmentos em seacuterie (pipelined)

Acks cumulativos O TCP usa um uacutenico

temporizador para retransmissotildees

As retransmissotildees satildeo disparadas por estouros de

temporizaccedilatildeo acks duplicados

Considere inicialmente um transmissor TCP simplificado ignora acks duplicados ignora controles de

fluxo e de congestionamento

3 Camada de Transporte 3b-11

Eventos do transmissor TCP

Dados recebidos da apl Cria segmento com no

de sequumlecircncia (nseq) nseq eacute o nuacutemero de

sequumlecircncia do primeiro byte do segmento

Liga o temporizador se jaacute natildeo estiver ligado (temporizaccedilatildeo do segmento mais antigo ainda natildeo reconhecido)

Valor do temporizador calculado anteriormente

estouro do temporizador Retransmite o segmento

que causou o estouro do temporizador

Reinicia o temporizador

Recepccedilatildeo de Ack Se reconhecer segmentos

ainda natildeo reconhecidos atualizar informaccedilatildeo

sobre o que foi reconhecido

religa o temporizador se ainda houver segmentos pendentes (natildeo reconhecidos)

3 Camada de Transporte 3b-12

Transmis-sorTCP (simplificado)

NextSeqNum = nuacutemero de sequumlecircncia inicial SendBase = nuacutemero de sequumlecircncia inicial

repita (sempre) switch(event)

event dados recebidos da aplicaccedilatildeo acima cria segmento TCP com nuacutemero de sequumlecircncia NextSeqNum se (temporizador estiver desligado) liga o temporizador passa segmento para IP NextSeqNum = NextSeqNum + comprimento(dados)

event estouro do temporizador retransmite segmento ainda natildeo reconhecido com o menor nuacutemero de sequumlecircncia reinicia o temporizador

event ACK recebido com valor de campo ACK de y se (y gt SendBase) ACK cumulativo de todos dados ateacute y SendBase = y se (houver segmentos ainda natildeo reconhecidos) liga o temporizador senatildeo desliga o temporizador fim do repita sempre

ComentaacuteriobullSendBase-1 uacuteltimo byte reconhecido cumulativamenteExemplobullSendBase-1 = 71 y= 73 portanto o receptor quer receber 73+bully gt SendBase portanto novos dados foram reconhecidos

3 Camada de Transporte 3b-13

TCP cenaacuterios de retransmissatildeo

Host A

Seq=100 20 bytes data

ACK=100

tempoestouro prematurodo temporizador

Host B

Seq=92 8 bytes data

ACK=120

Seq=92 8 bytes data

Seq=

92

tim

eout

ACK=120

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

cenaacuterio de perda de ACK

Host B

X

Seq=92 8 bytes data

ACK=100

tempo

Seq=

92

tim

eout

SendBase= 100

SendBase= 120

SendBase= 120

Sendbase= 100

3 Camada de Transporte 3b-14

TCP cenaacuterios de retransmissatildeo (mais)

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

Cenaacuterio de ACK cumulativo

Host B

X

Seq=100 20 bytes data

ACK=120

tempo

SendBase= 120

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 11: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-11

Eventos do transmissor TCP

Dados recebidos da apl Cria segmento com no

de sequumlecircncia (nseq) nseq eacute o nuacutemero de

sequumlecircncia do primeiro byte do segmento

Liga o temporizador se jaacute natildeo estiver ligado (temporizaccedilatildeo do segmento mais antigo ainda natildeo reconhecido)

Valor do temporizador calculado anteriormente

estouro do temporizador Retransmite o segmento

que causou o estouro do temporizador

Reinicia o temporizador

Recepccedilatildeo de Ack Se reconhecer segmentos

ainda natildeo reconhecidos atualizar informaccedilatildeo

sobre o que foi reconhecido

religa o temporizador se ainda houver segmentos pendentes (natildeo reconhecidos)

3 Camada de Transporte 3b-12

Transmis-sorTCP (simplificado)

NextSeqNum = nuacutemero de sequumlecircncia inicial SendBase = nuacutemero de sequumlecircncia inicial

repita (sempre) switch(event)

event dados recebidos da aplicaccedilatildeo acima cria segmento TCP com nuacutemero de sequumlecircncia NextSeqNum se (temporizador estiver desligado) liga o temporizador passa segmento para IP NextSeqNum = NextSeqNum + comprimento(dados)

event estouro do temporizador retransmite segmento ainda natildeo reconhecido com o menor nuacutemero de sequumlecircncia reinicia o temporizador

event ACK recebido com valor de campo ACK de y se (y gt SendBase) ACK cumulativo de todos dados ateacute y SendBase = y se (houver segmentos ainda natildeo reconhecidos) liga o temporizador senatildeo desliga o temporizador fim do repita sempre

ComentaacuteriobullSendBase-1 uacuteltimo byte reconhecido cumulativamenteExemplobullSendBase-1 = 71 y= 73 portanto o receptor quer receber 73+bully gt SendBase portanto novos dados foram reconhecidos

3 Camada de Transporte 3b-13

TCP cenaacuterios de retransmissatildeo

Host A

Seq=100 20 bytes data

ACK=100

tempoestouro prematurodo temporizador

Host B

Seq=92 8 bytes data

ACK=120

Seq=92 8 bytes data

Seq=

92

tim

eout

ACK=120

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

cenaacuterio de perda de ACK

Host B

X

Seq=92 8 bytes data

ACK=100

tempo

Seq=

92

tim

eout

SendBase= 100

SendBase= 120

SendBase= 120

Sendbase= 100

3 Camada de Transporte 3b-14

TCP cenaacuterios de retransmissatildeo (mais)

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

Cenaacuterio de ACK cumulativo

Host B

X

Seq=100 20 bytes data

ACK=120

tempo

SendBase= 120

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 12: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-12

Transmis-sorTCP (simplificado)

NextSeqNum = nuacutemero de sequumlecircncia inicial SendBase = nuacutemero de sequumlecircncia inicial

repita (sempre) switch(event)

event dados recebidos da aplicaccedilatildeo acima cria segmento TCP com nuacutemero de sequumlecircncia NextSeqNum se (temporizador estiver desligado) liga o temporizador passa segmento para IP NextSeqNum = NextSeqNum + comprimento(dados)

event estouro do temporizador retransmite segmento ainda natildeo reconhecido com o menor nuacutemero de sequumlecircncia reinicia o temporizador

event ACK recebido com valor de campo ACK de y se (y gt SendBase) ACK cumulativo de todos dados ateacute y SendBase = y se (houver segmentos ainda natildeo reconhecidos) liga o temporizador senatildeo desliga o temporizador fim do repita sempre

ComentaacuteriobullSendBase-1 uacuteltimo byte reconhecido cumulativamenteExemplobullSendBase-1 = 71 y= 73 portanto o receptor quer receber 73+bully gt SendBase portanto novos dados foram reconhecidos

3 Camada de Transporte 3b-13

TCP cenaacuterios de retransmissatildeo

Host A

Seq=100 20 bytes data

ACK=100

tempoestouro prematurodo temporizador

Host B

Seq=92 8 bytes data

ACK=120

Seq=92 8 bytes data

Seq=

92

tim

eout

ACK=120

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

cenaacuterio de perda de ACK

Host B

X

Seq=92 8 bytes data

ACK=100

tempo

Seq=

92

tim

eout

SendBase= 100

SendBase= 120

SendBase= 120

Sendbase= 100

3 Camada de Transporte 3b-14

TCP cenaacuterios de retransmissatildeo (mais)

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

Cenaacuterio de ACK cumulativo

Host B

X

Seq=100 20 bytes data

ACK=120

tempo

SendBase= 120

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 13: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-13

TCP cenaacuterios de retransmissatildeo

Host A

Seq=100 20 bytes data

ACK=100

tempoestouro prematurodo temporizador

Host B

Seq=92 8 bytes data

ACK=120

Seq=92 8 bytes data

Seq=

92

tim

eout

ACK=120

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

cenaacuterio de perda de ACK

Host B

X

Seq=92 8 bytes data

ACK=100

tempo

Seq=

92

tim

eout

SendBase= 100

SendBase= 120

SendBase= 120

Sendbase= 100

3 Camada de Transporte 3b-14

TCP cenaacuterios de retransmissatildeo (mais)

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

Cenaacuterio de ACK cumulativo

Host B

X

Seq=100 20 bytes data

ACK=120

tempo

SendBase= 120

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 14: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-14

TCP cenaacuterios de retransmissatildeo (mais)

Host A

Seq=92 8 bytes data

ACK=100

loss

tim

eout

Cenaacuterio de ACK cumulativo

Host B

X

Seq=100 20 bytes data

ACK=120

tempo

SendBase= 120

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 15: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-15

TCP geraccedilatildeo de ACKs [RFCs 1122 2581]

Evento no Receptor

chegada de segmento em ordemsem lacunasanteriores jaacute reconhecidos

chegada de segmento em ordemsem lacunasum ACK retardado pendente

chegada de segmento fora de ordem com no de seq maiorque esperado -gt lacuna

chegada de segmento que preenche a lacuna parcial oucompletamente

Accedilatildeo do Receptor TCP

ACK retardado Espera ateacute 500msp proacutex segmento Se natildeo chegarsegmento envia ACK

envia imediatamente um uacutenicoACK cumulativo

envia ACK duplicado indicando no de seqdo proacuteximo byte esperado

ACK imediato se segmento noiniacutecio da lacuna

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 16: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-16

Retransmissatildeo raacutepida

O intervalo do temporizador eacute frequumlentemente bastante longo longo atraso antes de

retransmitir um pacote perdido

Detecta segmentos perdidos atraveacutes de ACKs duplicados O transmissor

normalmente envia diversos segmentos

Se um segmento se perder provavelmente haveraacute muitos ACKs duplicados

Se o transmissor receber 3 ACKs para os mesmos dados ele supotildee que o segmento apoacutes os dados reconhecidos se perdeu Retransmissatildeo raacutepida

retransmite o segmento antes que estoure o temporizador

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 17: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-17

event recebido ACK com valor do campo ACK de y if (y gt SendBase) SendBase = y if (houver segmentos ainda natildeo reconhecidos) liga temporizador

else desliga temporizador else incrementa contador de ACKs duplicados recebidos para y if (contador de ACKs duplicados recebidor para y = 3) retransmita segmento com nuacutemero de sequumlecircncia y

Algoritmo de retransmissatildeo raacutepida

um ACK duplicado para umsegmento jaacute reconhecido

Retransmissatildeo raacutepida

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 18: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-18

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 19: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-19

Controle de Fluxo do TCP

Lado receptor da conexatildeo TCP possui um buffer de recepccedilatildeo

serviccedilo de casamento de velocidades adaptando a taxa de transmissatildeo agrave taxa de leitura da aplicaccedilatildeo receptora

Processo da apl pode demorar a ler do receptor

o transmissor natildeo inundaraacute o buffer do

receptor transmitindo muito e

rapidamente

Controle de fluxo

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 20: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-20

Controle de Fluxo do TCP como funciona

(Suponha que o receptor TCP segmentos fora de ordem)

espaccedilo livre no buffer= RcvWindow

= RcvBuffer-[LastByteRcvd - LastByteRead]

O receptor anuncia o espaccedilo livre incluindo o valor da RcvWindow nos segmentos

O transmissor limita os dados natildeo reconhecidos ao tamanho da RcvWindow Garante que o buffer

do receptor natildeo transbordaraacute

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 21: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-21

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 22: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-22

TCP Gerenciamento de Conexotildees

Lembrete Remetente receptor TCP estabelecem ldquoconexatildeordquo antes de trocar segmentos de dados

inicializam variaacuteveis TCP nos de seq buffers info s controle de

fluxo (pex RcvWindow) cliente iniciador de conexatildeo Socket clientSocket = new

Socket(hostnameport number) servidor contactado por cliente Socket connectionSocket =

welcomeSocketaccept()

Inicializaccedilatildeo em 3 tempos

Passo 1 sistema cliente envia segmento de controle SYN do TCP ao servidor especifica no inicial de seq natildeo envia dados

Passo 2 sistema servidor recebe SYN responde com segmento de controle SYNACK aloca buffers especifica no inicial de seq

servidor-gt receptor

Passo 3 receptor recebe SYNACK responde com segmento ACK que pode conter dados

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 23: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-23

TCP Gerenciamento de Conexotildees (cont)

Encerrando uma conexatildeo

cliente fecha soquete clientSocketclose()

Passo 1 sistema cliente envia segmento de controle FIN ao servidor

Passo 2 servidor recebe FIN responde com ACK Encerra a conexatildeo enviando FIN

cliente

FIN

servidor

ACK

ACK

FIN

fechar

fechar

fechada

esp

era

te

mpori

zada

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 24: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-24

TCP Gerenciamento de Conexotildees (cont)

Passo 3 cliente recebe FIN responde com ACK

Entre em ldquoespera temporizadardquo - responderaacute com ACK a FINs recebidos

Passo 4 servidor recebe ACK Conexatildeo encerrada

Note com pequena modificaccedilatildeo consegue tratar de FINs simultacircneos

cliente

FIN

servidor

ACK

ACK

FIN

fechando

fechando

fechada

esp

era

tem

pori

zada

fechada

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 25: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-25

TCP Gerenciamento de Conexotildees (cont)

Ciclo de vidade cliente TCP

Ciclo de vidade servidor TCP

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 26: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-26

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 27: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-27

Princiacutepios de Controle de Congestionamento

Congestionamento informalmente ldquomuitas fontes enviando muitos

dados muito rapidamente para a rede poder tratarrdquo

diferente de controle de fluxo manifestaccedilotildees

perda de pacotes (esgotamento de buffers em roteadores)

longos atrasos (enfileiramento nos buffers dos roteadores)

um dos 10 problemas mais importantes em redes

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 28: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-28

Causascustos de congestionamento cenaacuterio 1

dois remetentes dois receptores

um roteador buffers infinitos

sem retransmissatildeo

grandes retardos qdo congestionada

vazatildeo maacutexima alcanccedilaacutevel

unlimited shared output link buffers

Host Ain original data

Host B

out

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 29: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-29

Causascustos de congestionamento cenaacuterio 2

Um roteador buffers finitos retransmissatildeo pelo remetente de

pacote perdido

finite shared output link buffers

Host A in original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 30: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-30

sempre (goodput)

retransmissatildeo ldquoperfeitardquo apenas com perdas

retransmissatildeo de pacotes atrasados (natildeo perdidos) torna

maior (do que o caso perfeito) para o mesmo

Causascustos de congestionamento cenaacuterio 2

in

out

=

in

out

gt

in

outR2

R2in

ou

t

b

R2

R2in

ou

t

a

R2

R2in

ou

t

c

R4

R3

ldquocustosrdquo de congestionamento mais trabalho (retransmissatildeo) para dado ldquogoodputrdquo retransmissotildees desnecessaacuterias enviadas muacuteltiplas coacutepias do pacote

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 31: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-31

Causascustos de congestionamento cenaacuterio 3 quatro remetentes caminhos com muacuteltiplos enlaces temporizaccedilatildeoretransmissatildeo

in

P o que acontece agrave medida que e crescem

in

finite shared output link buffers

Host Ain original data

Host B

out

in original data plus retransmitted data

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 32: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-32

Causascustos de congestionamento cenaacuterio 3

Outro ldquocustordquo de congestionamento quando pacote eacute descartado qq capacidade de transmissatildeo jaacute

usada (antes do descarte) para esse pacote foi desperdiccedilada

Host A

Host B

o

u

t

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 33: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-33

Abordagens de controle de congestionamento

Controle de congestionamento fim a fim

natildeo tem realimentaccedilatildeo expliacutecita pela rede

congestionamento inferido a partir das perdas retardo observados pelo sistema terminal

abordagem usada pelo TCP

Controle de congestionamento com apoio da rede

roteadores realimentam os sistemas terminais bit indicando

congestionamento (SNA DECbit TCPIP ECN ATM)

taxa expliacutecita p envio pelo remetente

Duas abordagens amplas para controle de congestionamento

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 34: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-34

Estudo de caso controle de congestionamento no ABR da ATM

ABR (available bit rate)

ldquoserviccedilo elaacutesticordquo se caminho do

remetente ldquosubcarregadordquo remetente deveria

usar banda disponiacutevel se caminho do

remetente congestionado remetente reduzido agrave

taxa miacutenima garantida

ceacutelulas RM (resource management)

enviadas pelo remetente intercaladas com ceacutelulas de dados

bits na ceacutelula RM iniciados por comutadores (ldquoapoio da rederdquo) bit NI natildeo aumente a taxa

(congestionamento moderado) bit CI indicaccedilatildeo de

congestionamento ceacutelulas RM devolvidas ao

remetente pelo receptor sem alteraccedilatildeo dos bits

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 35: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-35

Estudo de caso controle de congestionamento em ABR da ATM

Campo ER (explicit rate) de 2 bytes na ceacutelula RM comutador congestionado pode diminuir valor ER na ceacutelula taxa do remetente assim ajustada p menor valor possiacutevel entre os

comutadores do caminho bit EFCI em ceacutelulas de dados ligado por comutador

congestionado se EFCI ligado na ceacutelula de dados antes da ceacutelula RM receptor liga

bit CI na ceacutelula RM devolvida

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 36: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-36

Conteuacutedo do Capiacutetulo 3

31 Serviccedilos da camada de transporte

32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

33 UDP Transporte natildeo orientado a conexatildeo

34 Princiacutepios da transferecircncia confiaacutevel de dados

35 Transporte orientado a conexatildeo TCP transferecircncia

confiaacutevel controle de fluxo gerenciamento de

conexotildees 36 Princiacutepios de

controle de congestionamento

37 Controle de congestionamento do TCP

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 37: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-37

Controle de Congestionamento do TCP

controle fim-a-fim (sem assistecircncia da rede)

transmissor limita a transmissatildeo LastByteSent-LastByteAcked

CongWin Praticamente

CongWin eacute dinacircmica em funccedilatildeo do congestionamento percebido da rede

Como o transmissor percebe o congestionamento

evento de perda = estouro do temporizador ou 3 acks duplicados

transmissor TCP reduz a taxa (CongWin) apoacutes evento de perda

trecircs mecanismos AIMD partida lenta conservador apoacutes

eventos de estouro de temporizaccedilatildeo

taxa = CongWin

RTT Bytesseg

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 38: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-38

AIMD do TCP

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

decrescimento multiplicativo corta CongWin pela metade apoacutes evento de perda

crescimento aditivo incrementa CongWin de 1 MSS a cada RTT na ausecircncia de eventos de perda sondagem

Conexatildeo TCP de longa duraccedilatildeo

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 39: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-39

Partida Lenta do TCP

No iniacutecio da conexatildeo CongWin = 1 MSS Exemplo MSS = 500

bytes amp RTT = 200 mseg

taxa inicial = 20 kbps

largura de banda disponiacutevel pode ser gtgt MSSRTT eacute desejaacutevel um

crescimento raacutepido ateacute uma taxa consideraacutevel

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 40: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-40

No iniacutecio da conexatildeo aumenta a taxa exponencialmente ateacute o primeiro evento de perda duplica CongWin a

cada RTT atraveacutes do incremento

da CongWin para cada ACK recebido

Resumo taxa inicial eacute baixa mas cresce rapidamente de forma exponencial

TCP Partida lenta (mais)

Estaccedilatildeo A

um segmento

RTT

Estaccedilatildeo B

tempo

dois segmentos

quqtro segmentos

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 41: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-41

Refinamento Apoacutes 3 ACKs duplicados

corta CongWin pela metade a janela depois cresce linearmente

Mas apoacutes estouro de temporizador CongWin eacute reduzida a 1 MSS janela cresce exponencialmente ateacute um limiar depois cresce

linearmente

bull 3 ACKs duplicados indica que a rede eacute capaz de entregar alguns segmentos bull estouro de temporizador antes de 3 ACKs duplicados eacute mais ldquoalarmanterdquo

Filosofia

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 42: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-42

Refinamento (mais)P Quando o crescimento

exponencial deve mudar para linear

R Quando CongWin atinge 12 do seu valor antes do estouro do temporizador

Implementaccedilatildeo Limiar (Threshold)

variaacutevel Com uma perda o limiar

passa a ser 12 da CongWin imediatamente anterior agrave perda

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 43: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-43

Resumo Controle de Congestionamento do TCP Quando a CongWin estaacute abaixo do limiar

transmissor estaacute na fase de iniacutecio lento janela cresce exponencialmente

Quando a CongWin estaacute acima do limiar transmissor estaacute na fase de evitar congestionamento janela cresce linearmente

Quando chegam ACKs triplicados Limiar passa a ser CongWin2 e CongWin passa ao valor do Limiar

Quando estoura o temporizador Limiar passa a ser CongWin2 e CongWin passa a ser 1 MSS

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 44: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-44

Controle de congestionamento do transmissor TCP

Evento Estado Accedilatildeo do Transmissor TCP Comentaacuterio

ACK recebido para dados ainda natildeo reconhecidos

Partida lenta

CongWin = CongWin + MSS If (CongWin gt Limiar) seta estado para ldquoEvitar congestionamentordquo

Resulta na duplicaccedilatildeo da CongWin a cada RTT

ACK recebido para dados ainda natildeo reconhecidos

Evitar congestionamento

CongWin = CongWin+MSS (MSSCongWin)

Incremento aditivo resultando no incremento da CongWin de 1 MSS a cada RTT

Perda detectada por ACKs triplicados

qualquer Limiar = CongWin2 CongWin = LimiarSeta estado para ldquoEvitar Congestionamentordquo

Recuperaccedilatildeo raacutepida implementa decrescimento multiplicativo CongWin natildeo cai abaixo de 1 MSS

Estouro de temporizador

qualquer Limiar = CongWin2 CongWin = 1 MSSSeta estado para ldquoPartida lentardquo

Entra estado de ldquopartida lentardquo

ACK duplicado

qualquer Incrementa contador de ACKs duplicados para o segmento que estaacute sendo reconhecido

CongWin e Threshold natildeo se alteram

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 45: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-45

Vazatildeo (throughput) do TCP

Qual eacute a vazatildeo meacutedia do TCP em funccedilatildeo do tamanho da janela e do RTT Ignore a partida lenta

Seja W o tamanho da janela quando ocorre a perda

Quando a janela eacute W a vazatildeo eacute WRTT Imediatamente apoacutes a perda janela cai

a W2 vazatildeo cai para W2RTT Vazatildeo meacutedia = 075 WRTT

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 46: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-46

Futuro do TCP

Exemplo segmentos de 1500 bytes RTT de 100ms deseja vazatildeo de 10 Gbps

Requer janela de W = 83333 segmentos em tracircnsito

Vazatildeo em termos de taxa de perdas

L = 210-10 Taxa de perdas demasiado baixa

Satildeo necessaacuterias novas versotildees do TCP para altas velocidades

LRTT

MSS221

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 47: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-47

Equidade (Fairness) do TCP

Meta de equidade se K sessotildees TCP compartilham o mesmo enlace de gargalo com largura de banda R cada uma deve obter uma taxa meacutedia de RK

TCP conexatildeo 1

Roteadorgargalo

capacidade R

TCP conexatildeo 2

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 48: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-48

Por quecirc TCP eacute justo

Duas sessotildees concorrentes Aumento aditivo daacute gradiente de 1 enquanto vazatildeo

aumenta decremento multiplicativo diminui vazatildeo proporcionalmente

R

R

compartilhamento igual da banda

Vazatildeo da conexatildeo 1

Vazatilde

o d

a c

onexatildeo 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

evitar congestionamento aumento aditivoperda diminui janela por fator de 2

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 49: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-49

Justeza (mais)

Justeza e UDP Apls multimiacutedia

frequumlentemente natildeo usam TCP natildeo desperdiccedilam taxa

regulada pelo controle de congestionamento

Preferem usar o UDP Injeta aacuteudioviacutedeo a uma

taxa constante tolera perda de pacotes

Aacuterea de Pesquisa amigaacutevel ao TCP (TCP friendly)

Justeza e conexotildees TCP em paralelo

nada impede que as apls abram conexotildees paralelas entre 2 hosts

Os browsers Web fazem isto Exemplo canal com taxa R

compartilhado por 9 conexotildees nova apl pede 1 TCP recebe

taxa R10 nova apl pede 11 TCPs

recebe taxa R2

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 50: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-50

TCP modelagem de latecircncia

P Quanto tempo leva para receber um objeto de um servidor WWW depois de enviar o pedido

Estabelecimento de conexatildeo TCP

retardo de transferecircncia de dados

Notaccedilatildeo suposiccedilotildees Supomos um enlace entre

cliente e servidor de taxa R Supomos janela de

congestionamento fixo W segmentos

S MSS (bits) O tamanho do objeto (bits) sem retransmissotildees (sem

perdas sem erros)Dois casos a considerar WSR gt RTT + SR ACK do primeiro segmento na

janela chega antes de enviar todos dados na janela WSR lt RTT + SR aguarda ACK depois de enviar

todos os dados na janela

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 51: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-51

Janela de congestionamento fixa (1)

Primeiro casoWSR gt RTT + SR ACK

para o primeiro segmento na janela retorna antes da transmissatildeo de uma janela completa de dados

latecircncia = 2RTT + OR

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 52: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-52

Janela de congestionamento fixa (2)

Segundo caso WSR lt RTT + SR

espera por ACK apoacutes transmitir uma janela completa de dados

latecircncia = 2RTT + OR+ (K-1)[SR + RTT - WSR]

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 53: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-53

TCP modelagem de latecircncia partida lenta Agora supomos que a janela cresce agrave la partida lenta Mostramos que a latecircncia de um objeto de tamanho O

eacute

R

S

R

SRTTP

R

ORTTLatecircncia P )12(2

onde P eacute o nuacutemero de vezes que o TCP para no servidor

1min KQP

- onde Q eacute o nuacutemero de vezes que o servidor pararia se o objeto fosse de tamanho infinito

- e K eacute o nuacutemero de janelas que cobrem o objeto

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 54: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-54

TCP modelagem de latecircncia partida lenta (cont)

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

Exemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2bull P = minK-1Q = 2

Servidor ocioso P=2 unidades de tempo

Componentes da latecircnciabull 2 RTTs para estab conexatildeo e pedido bull OR para transmitir o objetobull tempo ocioso do servidor devido agrave partida lenta

Servidor ocioso P = minK-1Q unidades de tempo

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 55: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-55

TCP modelagem de latecircncia partida lenta (cont)

R

S

R

SRTTPRTT

R

O

R

SRTT

R

SRTT

R

O

oTempoparadRTTR

O

P

P

k

k

P

pp

)12(2

22

2latecircncia

1

1

1

janela eacutesima a apoacutes parado tempo

2 1

k

R

SRTT

R

S k

entosreconhecim os recebaservidor o que ateacute

segmentosenviar a comeccedilaservidor o que desde tempoRTTR

S

janela eacutesima-k ar transmitipara tempo2 1

R

Sk

RTT

initia te TCPconnection

requestobject

first w indow= S R

second w indow= 2S R

third w indow= 4S R

fourth w indow= 8S R

com pletetransm issionobject

delivered

tim e atc lient

tim e atserver

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 56: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-56

Modelagem de Latecircncia do TCP (4)

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

OS

Okk

S

Ok

SOk

OSSSkK

k

k

k

Caacutelculo de Q nuacutemero de intervalos ociosos para um objeto detamanho infinito eacute semelhante (veja exerciacutecio)

Lembre que K = nuacutemero de janelas que cobrem objeto Como podemos calcular K

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 57: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-57

Modelagem do HTTP Assuma que a paacutegina Web eacute composta por

1 paacutegina base HTML (de tamanho O bits) M imagens (cada uma de tamanho O bits)

HTTP natildeo-persistente M+1 connexotildees TCP em seacuterie Tempo de resposta = (M+1)OR + (M+1)2RTT +

soma dos tempos ociosos HTTP persistente

2 RTT para pedir e receber arquivo HTML 1 RTT para pedir e receber M imagens Tempo de resposta = (M+1)OR + 3RTT + soma dos

tempos ociosos HTTP natildeo-persistente com X conexotildees paralelas

Suponha que MX seja um inteiro 1 conexatildeo TCP para arquivo base Conjuntos de MX conexotildees paralelas para as

imagens Tempo de resposta = (M+1)OR + (MX + 1)2RTT +

soma dos tempos ociosos

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 58: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-58

02468

101214161820

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

Tempo de resposta do HTTPRTT = 100 mseg O = 5 Kbytes M=10 and X=5

Para largura de banda baixa os tempos de conexatildeo e de resposta satildeo dominados pelo tempo de transmissatildeo

Conexotildees persistentes resultam num melhoramento pequeno em relaccedilatildeo agraves conexotildees paralelas

em segundos

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 59: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-59

0

10

20

30

40

50

60

70

28Kbps

100Kbps

1Mbps

10Mbps

non-persistent

persistent

parallel non-persistent

RTT =1 sec O = 5 Kbytes M=10 e X=5

Para grandes RTTs o tempo de resposta eacute dominado pelos atrasos de estabelecimento de conexotildees e de partida lentaConexotildees persistentes apresentam um melhor desempenho particularmente em redes com valor alto do produto atraso largura de banda

Tempo de resposta do HTTP

em segundos

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60
Page 60: 3: Camada de Transporte3b-1 Conteúdo do Capítulo 3 r 3.1 Serviços da camada de transporte r 3.2 Multiplexação e demultiplexação r 3.3 UDP: Transporte não

3 Camada de Transporte 3b-60

Capiacutetulo 3 Resumo

Princiacutepios atraacutes dos serviccedilos da camada de transporte multiplexaccedilatildeo

demultiplexaccedilatildeo transferecircncia confiaacutevel de

dados controle de fluxo controle de congestionamento

instanciaccedilatildeo e implementaccedilatildeo na Internet UDP TCP

Proacuteximo capiacutetulo saiacutemos da ldquobordardquo da

rede (camadas de aplicaccedilatildeo e transporte)

entramos no ldquonuacutecleordquoda rede

  • 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
  • Slide 48
  • Slide 49
  • Slide 50
  • Slide 51
  • Slide 52
  • Slide 53
  • Slide 54
  • Slide 55
  • Slide 56
  • Slide 57
  • Slide 58
  • Slide 59
  • Slide 60