56
3 3 - 56 © 2005 by Pearson Education P.: como escolher o valor da temporização do TCP? Maior que o RTT Nota: RTT varia Muito curto: temporização prematura Retransmissões desnecessárias Muito longo: a reação à perda de segmento fica lenta P.: Como estimar o RTT? SampleRTT: tempo medido da transmissão de um segmento até a respectiva confirmação Ignora retransmissões e segmentos reconhecidos de forma cumulativa SampleRTT varia de forma rápida, é desejável um amortecedor para a estimativa do RTT Usar várias medidas recentes, não apenas o último SampleRTT obtido TCP Round Trip Time e temporização

Camada de Transporte-2

Embed Size (px)

Citation preview

Page 1: Camada de Transporte-2

3

3 - 56copy 2005 by Pearson Education

P como escolher o valor da temporizaccedilatildeo do TCPbull Maior que o RTTbull Nota RTT varia

bull Muito curto temporizaccedilatildeo prematurabull Retransmissotildees desnecessaacuterias

bull Muito longo a reaccedilatildeo agrave perda de segmento fica lenta

P Como estimar o RTTbull SampleRTT tempo medido da transmissatildeo de um segmento ateacute a

respectiva confirmaccedilatildeobull Ignora retransmissotildees e segmentos reconhecidos de forma cumulativa

bull SampleRTT varia de forma raacutepida eacute desejaacutevel um amortecedor para aestimativa do RTTbull Usar vaacuterias medidas recentes natildeo apenas o uacuteltimo SampleRTT obtido

TCP Round Trip Time e temporizaccedilatildeo

3

3 - 57copy 2005 by Pearson Education

EstimatedRTT = (1-α)EstimatedRTT + αSampleRTT

bull Meacutedia moacutevel com peso exponencialbull Influecircncia de uma dada amostra decresce de forma exponencialbull Valor tiacutepico α = 0125

TCP Round Trip Time e temporizaccedilatildeo

3

3 - 58copy 2005 by Pearson Education

Exemplos de estimativa do RTT

3

3 - 59copy 2005 by Pearson Education

Definindo a temporizaccedilatildeobull EstimatedRTT mais ldquomargem de seguranccedilardquobull Grandes variaccedilotildees no EstimatedRTT -gt maior margem de seguranccedila

bull Primeiro estimar o quanto o SampleRTT se desvia do EstimatedRTT

DevRTT = (1-β)DevRTT + β|SampleRTT-EstimatedRTT|

(typically β = 025)

Entatildeo ajustar o intervalo de temporizaccedilatildeo

TimeoutInterval = EstimatedRTT + 4DevRTT

TCP Round Trip Time e temporizaccedilatildeo

3

3 - 60copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo-orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 61copy 2005 by Pearson Education

bull TCP cria serviccedilos de rdt em cima do serviccedilo natildeo-confiaacutevel do IP

bull Pipelined segments

bull ACKs cumulativos

bull TCP usa tempo de retransmissatildeo simples

bull Retransmissotildees satildeo disparadas porbull Eventos de tempo de confirmaccedilatildeobull ACKs duplicados

bull Inicialmente considere um transmissor TCP simplificadobull Ignore ACKs duplicadosbull Ignore controle de fluxo controle de congestionamento

TCP transferecircncia de dados confiaacutevel

3

3 - 62copy 2005 by Pearson Education

Dado recebido da appbull Crie um segmento com nuacutemero de sequumlecircnciabull seq eacute o nuacutemero do byte-stream do 1o byte de dados no segmentobull Inicie o temporizador se ele ainda natildeo estiver em execuccedilatildeo (pense no

temporizador para o mais antigo segmento natildeo-confirmado)bull Tempo de expiraccedilatildeo TimeOutIntervalTempo de confirmaccedilatildeobull Retransmite o segmento que provocou o tempo de confirmaccedilatildeobull Reinicia o temporizador

ACK recebidobull Quando houver o ACK de segmentos anteriormente natildeo confirmadosbull Atualizar o que foi confirmadobull Iniciar o temporizador se houver segmentos pendentes

Eventos do transmissor TCP

3

3 - 63copy 2005 by Pearson Education

NextSeqNum = InitialSeqNum SendBase = InitialSeqNum loop (forever) switch(event) event dado recebido da aplicaccedilatildeo acima cria segmento TCP com no de sequumlecircncia NextSeqNum if (timer currently not running) start timer pass segment to IP NextSeqNum = NextSeqNum + length(data) event tempo de confirmaccedilatildeo do temporizador retransmit not-yet-acknowledged segment with smallest sequence number start timer event ACK recebido com valor do campo de ACK do y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer end of loop forever

Comentaacuteriobull SendBase-1

uacuteltimo byte doACKcumulativo

Exemplobull SendBase-1 =

71 y= 73entatildeo oreceptordeseja73+ y gtSendBaseentatildeoo novo dado eacuteconfirmado

Transmissor TCP (simplificado)

3

3 - 64copy 2005 by Pearson Education

Cenaacuterio com perdado ACK

Temporizaccedilatildeo prematuraACKs cumulativos

TCP cenaacuterios de retransmissatildeo

3

3 - 65copy 2005 by Pearson Education

Cenaacuterio de ACK cumulativo

TCP cenaacuterios de retransmissatildeo

3

3 - 66copy 2005 by Pearson Education

Evento no receptor

Segmento chega em ordem natildeo haacute lacunassegmentos anteriores jaacute aceitos

Segmento chega em ordem natildeo haacute lacunasum ACK atrasado pendente

Segmento chega fora de ordemnuacutemero de sequumlecircncia chegoumaior gap detectado

Chegada de segmento queparcial ou completamentepreenche o gap

Accedilatildeo do receptor TCP

ACK retardado Espera ateacute 500 mspelo proacuteximo segmento Se natildeo chegar envia ACK

Imediatamente envia um ACKcumulativo

Envia ACK duplicado indicando nuacutemero de sequumlecircncia do proacuteximo byte esperado

Reconhece imediatamente se o segmento comeccedila na borda inferior do gap

Geraccedilatildeo de ACK [RFC 1122 RFC 2581]

3

3 - 67copy 2005 by Pearson Education

bull Com frequumlecircncia o tempo de expiraccedilatildeo eacute relativamente longobull Longo atraso antes de reenviar um pacote perdido

bull Detecta segmentos perdidos por meio de ACKs duplicadosbull Transmissor frequumlentemente envia muitos segmentos back-to-backbull Se o segmento eacute perdido haveraacute muitos ACKs duplicados

bull Se o transmissor recebe 3 ACKs para o mesmo dado ele supotildee que osegmento apoacutes o dado confirmado foi perdidobull Retransmissatildeo raacutepida reenvia o segmento antes de o temporizador

expirar

Retransmissatildeo raacutepida

3

3 - 68copy 2005 by Pearson Education

event ACK received with ACK field value of y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer else increment count of dup ACKs received for y if (count of dup ACKs received for y = 3) resend segment with sequence number y

ACK duplicado para umsegmento jaacute confirmado

retransmissatildeo raacutepida

Algoritmo de retransmissatildeo raacutepida

3

3 - 69copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 2: Camada de Transporte-2

3

3 - 57copy 2005 by Pearson Education

EstimatedRTT = (1-α)EstimatedRTT + αSampleRTT

bull Meacutedia moacutevel com peso exponencialbull Influecircncia de uma dada amostra decresce de forma exponencialbull Valor tiacutepico α = 0125

TCP Round Trip Time e temporizaccedilatildeo

3

3 - 58copy 2005 by Pearson Education

Exemplos de estimativa do RTT

3

3 - 59copy 2005 by Pearson Education

Definindo a temporizaccedilatildeobull EstimatedRTT mais ldquomargem de seguranccedilardquobull Grandes variaccedilotildees no EstimatedRTT -gt maior margem de seguranccedila

bull Primeiro estimar o quanto o SampleRTT se desvia do EstimatedRTT

DevRTT = (1-β)DevRTT + β|SampleRTT-EstimatedRTT|

(typically β = 025)

Entatildeo ajustar o intervalo de temporizaccedilatildeo

TimeoutInterval = EstimatedRTT + 4DevRTT

TCP Round Trip Time e temporizaccedilatildeo

3

3 - 60copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo-orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 61copy 2005 by Pearson Education

bull TCP cria serviccedilos de rdt em cima do serviccedilo natildeo-confiaacutevel do IP

bull Pipelined segments

bull ACKs cumulativos

bull TCP usa tempo de retransmissatildeo simples

bull Retransmissotildees satildeo disparadas porbull Eventos de tempo de confirmaccedilatildeobull ACKs duplicados

bull Inicialmente considere um transmissor TCP simplificadobull Ignore ACKs duplicadosbull Ignore controle de fluxo controle de congestionamento

TCP transferecircncia de dados confiaacutevel

3

3 - 62copy 2005 by Pearson Education

Dado recebido da appbull Crie um segmento com nuacutemero de sequumlecircnciabull seq eacute o nuacutemero do byte-stream do 1o byte de dados no segmentobull Inicie o temporizador se ele ainda natildeo estiver em execuccedilatildeo (pense no

temporizador para o mais antigo segmento natildeo-confirmado)bull Tempo de expiraccedilatildeo TimeOutIntervalTempo de confirmaccedilatildeobull Retransmite o segmento que provocou o tempo de confirmaccedilatildeobull Reinicia o temporizador

ACK recebidobull Quando houver o ACK de segmentos anteriormente natildeo confirmadosbull Atualizar o que foi confirmadobull Iniciar o temporizador se houver segmentos pendentes

Eventos do transmissor TCP

3

3 - 63copy 2005 by Pearson Education

NextSeqNum = InitialSeqNum SendBase = InitialSeqNum loop (forever) switch(event) event dado recebido da aplicaccedilatildeo acima cria segmento TCP com no de sequumlecircncia NextSeqNum if (timer currently not running) start timer pass segment to IP NextSeqNum = NextSeqNum + length(data) event tempo de confirmaccedilatildeo do temporizador retransmit not-yet-acknowledged segment with smallest sequence number start timer event ACK recebido com valor do campo de ACK do y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer end of loop forever

Comentaacuteriobull SendBase-1

uacuteltimo byte doACKcumulativo

Exemplobull SendBase-1 =

71 y= 73entatildeo oreceptordeseja73+ y gtSendBaseentatildeoo novo dado eacuteconfirmado

Transmissor TCP (simplificado)

3

3 - 64copy 2005 by Pearson Education

Cenaacuterio com perdado ACK

Temporizaccedilatildeo prematuraACKs cumulativos

TCP cenaacuterios de retransmissatildeo

3

3 - 65copy 2005 by Pearson Education

Cenaacuterio de ACK cumulativo

TCP cenaacuterios de retransmissatildeo

3

3 - 66copy 2005 by Pearson Education

Evento no receptor

Segmento chega em ordem natildeo haacute lacunassegmentos anteriores jaacute aceitos

Segmento chega em ordem natildeo haacute lacunasum ACK atrasado pendente

Segmento chega fora de ordemnuacutemero de sequumlecircncia chegoumaior gap detectado

Chegada de segmento queparcial ou completamentepreenche o gap

Accedilatildeo do receptor TCP

ACK retardado Espera ateacute 500 mspelo proacuteximo segmento Se natildeo chegar envia ACK

Imediatamente envia um ACKcumulativo

Envia ACK duplicado indicando nuacutemero de sequumlecircncia do proacuteximo byte esperado

Reconhece imediatamente se o segmento comeccedila na borda inferior do gap

Geraccedilatildeo de ACK [RFC 1122 RFC 2581]

3

3 - 67copy 2005 by Pearson Education

bull Com frequumlecircncia o tempo de expiraccedilatildeo eacute relativamente longobull Longo atraso antes de reenviar um pacote perdido

bull Detecta segmentos perdidos por meio de ACKs duplicadosbull Transmissor frequumlentemente envia muitos segmentos back-to-backbull Se o segmento eacute perdido haveraacute muitos ACKs duplicados

bull Se o transmissor recebe 3 ACKs para o mesmo dado ele supotildee que osegmento apoacutes o dado confirmado foi perdidobull Retransmissatildeo raacutepida reenvia o segmento antes de o temporizador

expirar

Retransmissatildeo raacutepida

3

3 - 68copy 2005 by Pearson Education

event ACK received with ACK field value of y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer else increment count of dup ACKs received for y if (count of dup ACKs received for y = 3) resend segment with sequence number y

ACK duplicado para umsegmento jaacute confirmado

retransmissatildeo raacutepida

Algoritmo de retransmissatildeo raacutepida

3

3 - 69copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 3: Camada de Transporte-2

3

3 - 58copy 2005 by Pearson Education

Exemplos de estimativa do RTT

3

3 - 59copy 2005 by Pearson Education

Definindo a temporizaccedilatildeobull EstimatedRTT mais ldquomargem de seguranccedilardquobull Grandes variaccedilotildees no EstimatedRTT -gt maior margem de seguranccedila

bull Primeiro estimar o quanto o SampleRTT se desvia do EstimatedRTT

DevRTT = (1-β)DevRTT + β|SampleRTT-EstimatedRTT|

(typically β = 025)

Entatildeo ajustar o intervalo de temporizaccedilatildeo

TimeoutInterval = EstimatedRTT + 4DevRTT

TCP Round Trip Time e temporizaccedilatildeo

3

3 - 60copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo-orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 61copy 2005 by Pearson Education

bull TCP cria serviccedilos de rdt em cima do serviccedilo natildeo-confiaacutevel do IP

bull Pipelined segments

bull ACKs cumulativos

bull TCP usa tempo de retransmissatildeo simples

bull Retransmissotildees satildeo disparadas porbull Eventos de tempo de confirmaccedilatildeobull ACKs duplicados

bull Inicialmente considere um transmissor TCP simplificadobull Ignore ACKs duplicadosbull Ignore controle de fluxo controle de congestionamento

TCP transferecircncia de dados confiaacutevel

3

3 - 62copy 2005 by Pearson Education

Dado recebido da appbull Crie um segmento com nuacutemero de sequumlecircnciabull seq eacute o nuacutemero do byte-stream do 1o byte de dados no segmentobull Inicie o temporizador se ele ainda natildeo estiver em execuccedilatildeo (pense no

temporizador para o mais antigo segmento natildeo-confirmado)bull Tempo de expiraccedilatildeo TimeOutIntervalTempo de confirmaccedilatildeobull Retransmite o segmento que provocou o tempo de confirmaccedilatildeobull Reinicia o temporizador

ACK recebidobull Quando houver o ACK de segmentos anteriormente natildeo confirmadosbull Atualizar o que foi confirmadobull Iniciar o temporizador se houver segmentos pendentes

Eventos do transmissor TCP

3

3 - 63copy 2005 by Pearson Education

NextSeqNum = InitialSeqNum SendBase = InitialSeqNum loop (forever) switch(event) event dado recebido da aplicaccedilatildeo acima cria segmento TCP com no de sequumlecircncia NextSeqNum if (timer currently not running) start timer pass segment to IP NextSeqNum = NextSeqNum + length(data) event tempo de confirmaccedilatildeo do temporizador retransmit not-yet-acknowledged segment with smallest sequence number start timer event ACK recebido com valor do campo de ACK do y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer end of loop forever

Comentaacuteriobull SendBase-1

uacuteltimo byte doACKcumulativo

Exemplobull SendBase-1 =

71 y= 73entatildeo oreceptordeseja73+ y gtSendBaseentatildeoo novo dado eacuteconfirmado

Transmissor TCP (simplificado)

3

3 - 64copy 2005 by Pearson Education

Cenaacuterio com perdado ACK

Temporizaccedilatildeo prematuraACKs cumulativos

TCP cenaacuterios de retransmissatildeo

3

3 - 65copy 2005 by Pearson Education

Cenaacuterio de ACK cumulativo

TCP cenaacuterios de retransmissatildeo

3

3 - 66copy 2005 by Pearson Education

Evento no receptor

Segmento chega em ordem natildeo haacute lacunassegmentos anteriores jaacute aceitos

Segmento chega em ordem natildeo haacute lacunasum ACK atrasado pendente

Segmento chega fora de ordemnuacutemero de sequumlecircncia chegoumaior gap detectado

Chegada de segmento queparcial ou completamentepreenche o gap

Accedilatildeo do receptor TCP

ACK retardado Espera ateacute 500 mspelo proacuteximo segmento Se natildeo chegar envia ACK

Imediatamente envia um ACKcumulativo

Envia ACK duplicado indicando nuacutemero de sequumlecircncia do proacuteximo byte esperado

Reconhece imediatamente se o segmento comeccedila na borda inferior do gap

Geraccedilatildeo de ACK [RFC 1122 RFC 2581]

3

3 - 67copy 2005 by Pearson Education

bull Com frequumlecircncia o tempo de expiraccedilatildeo eacute relativamente longobull Longo atraso antes de reenviar um pacote perdido

bull Detecta segmentos perdidos por meio de ACKs duplicadosbull Transmissor frequumlentemente envia muitos segmentos back-to-backbull Se o segmento eacute perdido haveraacute muitos ACKs duplicados

bull Se o transmissor recebe 3 ACKs para o mesmo dado ele supotildee que osegmento apoacutes o dado confirmado foi perdidobull Retransmissatildeo raacutepida reenvia o segmento antes de o temporizador

expirar

Retransmissatildeo raacutepida

3

3 - 68copy 2005 by Pearson Education

event ACK received with ACK field value of y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer else increment count of dup ACKs received for y if (count of dup ACKs received for y = 3) resend segment with sequence number y

ACK duplicado para umsegmento jaacute confirmado

retransmissatildeo raacutepida

Algoritmo de retransmissatildeo raacutepida

3

3 - 69copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 4: Camada de Transporte-2

3

3 - 59copy 2005 by Pearson Education

Definindo a temporizaccedilatildeobull EstimatedRTT mais ldquomargem de seguranccedilardquobull Grandes variaccedilotildees no EstimatedRTT -gt maior margem de seguranccedila

bull Primeiro estimar o quanto o SampleRTT se desvia do EstimatedRTT

DevRTT = (1-β)DevRTT + β|SampleRTT-EstimatedRTT|

(typically β = 025)

Entatildeo ajustar o intervalo de temporizaccedilatildeo

TimeoutInterval = EstimatedRTT + 4DevRTT

TCP Round Trip Time e temporizaccedilatildeo

3

3 - 60copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo-orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 61copy 2005 by Pearson Education

bull TCP cria serviccedilos de rdt em cima do serviccedilo natildeo-confiaacutevel do IP

bull Pipelined segments

bull ACKs cumulativos

bull TCP usa tempo de retransmissatildeo simples

bull Retransmissotildees satildeo disparadas porbull Eventos de tempo de confirmaccedilatildeobull ACKs duplicados

bull Inicialmente considere um transmissor TCP simplificadobull Ignore ACKs duplicadosbull Ignore controle de fluxo controle de congestionamento

TCP transferecircncia de dados confiaacutevel

3

3 - 62copy 2005 by Pearson Education

Dado recebido da appbull Crie um segmento com nuacutemero de sequumlecircnciabull seq eacute o nuacutemero do byte-stream do 1o byte de dados no segmentobull Inicie o temporizador se ele ainda natildeo estiver em execuccedilatildeo (pense no

temporizador para o mais antigo segmento natildeo-confirmado)bull Tempo de expiraccedilatildeo TimeOutIntervalTempo de confirmaccedilatildeobull Retransmite o segmento que provocou o tempo de confirmaccedilatildeobull Reinicia o temporizador

ACK recebidobull Quando houver o ACK de segmentos anteriormente natildeo confirmadosbull Atualizar o que foi confirmadobull Iniciar o temporizador se houver segmentos pendentes

Eventos do transmissor TCP

3

3 - 63copy 2005 by Pearson Education

NextSeqNum = InitialSeqNum SendBase = InitialSeqNum loop (forever) switch(event) event dado recebido da aplicaccedilatildeo acima cria segmento TCP com no de sequumlecircncia NextSeqNum if (timer currently not running) start timer pass segment to IP NextSeqNum = NextSeqNum + length(data) event tempo de confirmaccedilatildeo do temporizador retransmit not-yet-acknowledged segment with smallest sequence number start timer event ACK recebido com valor do campo de ACK do y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer end of loop forever

Comentaacuteriobull SendBase-1

uacuteltimo byte doACKcumulativo

Exemplobull SendBase-1 =

71 y= 73entatildeo oreceptordeseja73+ y gtSendBaseentatildeoo novo dado eacuteconfirmado

Transmissor TCP (simplificado)

3

3 - 64copy 2005 by Pearson Education

Cenaacuterio com perdado ACK

Temporizaccedilatildeo prematuraACKs cumulativos

TCP cenaacuterios de retransmissatildeo

3

3 - 65copy 2005 by Pearson Education

Cenaacuterio de ACK cumulativo

TCP cenaacuterios de retransmissatildeo

3

3 - 66copy 2005 by Pearson Education

Evento no receptor

Segmento chega em ordem natildeo haacute lacunassegmentos anteriores jaacute aceitos

Segmento chega em ordem natildeo haacute lacunasum ACK atrasado pendente

Segmento chega fora de ordemnuacutemero de sequumlecircncia chegoumaior gap detectado

Chegada de segmento queparcial ou completamentepreenche o gap

Accedilatildeo do receptor TCP

ACK retardado Espera ateacute 500 mspelo proacuteximo segmento Se natildeo chegar envia ACK

Imediatamente envia um ACKcumulativo

Envia ACK duplicado indicando nuacutemero de sequumlecircncia do proacuteximo byte esperado

Reconhece imediatamente se o segmento comeccedila na borda inferior do gap

Geraccedilatildeo de ACK [RFC 1122 RFC 2581]

3

3 - 67copy 2005 by Pearson Education

bull Com frequumlecircncia o tempo de expiraccedilatildeo eacute relativamente longobull Longo atraso antes de reenviar um pacote perdido

bull Detecta segmentos perdidos por meio de ACKs duplicadosbull Transmissor frequumlentemente envia muitos segmentos back-to-backbull Se o segmento eacute perdido haveraacute muitos ACKs duplicados

bull Se o transmissor recebe 3 ACKs para o mesmo dado ele supotildee que osegmento apoacutes o dado confirmado foi perdidobull Retransmissatildeo raacutepida reenvia o segmento antes de o temporizador

expirar

Retransmissatildeo raacutepida

3

3 - 68copy 2005 by Pearson Education

event ACK received with ACK field value of y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer else increment count of dup ACKs received for y if (count of dup ACKs received for y = 3) resend segment with sequence number y

ACK duplicado para umsegmento jaacute confirmado

retransmissatildeo raacutepida

Algoritmo de retransmissatildeo raacutepida

3

3 - 69copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 5: Camada de Transporte-2

3

3 - 60copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo-orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 61copy 2005 by Pearson Education

bull TCP cria serviccedilos de rdt em cima do serviccedilo natildeo-confiaacutevel do IP

bull Pipelined segments

bull ACKs cumulativos

bull TCP usa tempo de retransmissatildeo simples

bull Retransmissotildees satildeo disparadas porbull Eventos de tempo de confirmaccedilatildeobull ACKs duplicados

bull Inicialmente considere um transmissor TCP simplificadobull Ignore ACKs duplicadosbull Ignore controle de fluxo controle de congestionamento

TCP transferecircncia de dados confiaacutevel

3

3 - 62copy 2005 by Pearson Education

Dado recebido da appbull Crie um segmento com nuacutemero de sequumlecircnciabull seq eacute o nuacutemero do byte-stream do 1o byte de dados no segmentobull Inicie o temporizador se ele ainda natildeo estiver em execuccedilatildeo (pense no

temporizador para o mais antigo segmento natildeo-confirmado)bull Tempo de expiraccedilatildeo TimeOutIntervalTempo de confirmaccedilatildeobull Retransmite o segmento que provocou o tempo de confirmaccedilatildeobull Reinicia o temporizador

ACK recebidobull Quando houver o ACK de segmentos anteriormente natildeo confirmadosbull Atualizar o que foi confirmadobull Iniciar o temporizador se houver segmentos pendentes

Eventos do transmissor TCP

3

3 - 63copy 2005 by Pearson Education

NextSeqNum = InitialSeqNum SendBase = InitialSeqNum loop (forever) switch(event) event dado recebido da aplicaccedilatildeo acima cria segmento TCP com no de sequumlecircncia NextSeqNum if (timer currently not running) start timer pass segment to IP NextSeqNum = NextSeqNum + length(data) event tempo de confirmaccedilatildeo do temporizador retransmit not-yet-acknowledged segment with smallest sequence number start timer event ACK recebido com valor do campo de ACK do y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer end of loop forever

Comentaacuteriobull SendBase-1

uacuteltimo byte doACKcumulativo

Exemplobull SendBase-1 =

71 y= 73entatildeo oreceptordeseja73+ y gtSendBaseentatildeoo novo dado eacuteconfirmado

Transmissor TCP (simplificado)

3

3 - 64copy 2005 by Pearson Education

Cenaacuterio com perdado ACK

Temporizaccedilatildeo prematuraACKs cumulativos

TCP cenaacuterios de retransmissatildeo

3

3 - 65copy 2005 by Pearson Education

Cenaacuterio de ACK cumulativo

TCP cenaacuterios de retransmissatildeo

3

3 - 66copy 2005 by Pearson Education

Evento no receptor

Segmento chega em ordem natildeo haacute lacunassegmentos anteriores jaacute aceitos

Segmento chega em ordem natildeo haacute lacunasum ACK atrasado pendente

Segmento chega fora de ordemnuacutemero de sequumlecircncia chegoumaior gap detectado

Chegada de segmento queparcial ou completamentepreenche o gap

Accedilatildeo do receptor TCP

ACK retardado Espera ateacute 500 mspelo proacuteximo segmento Se natildeo chegar envia ACK

Imediatamente envia um ACKcumulativo

Envia ACK duplicado indicando nuacutemero de sequumlecircncia do proacuteximo byte esperado

Reconhece imediatamente se o segmento comeccedila na borda inferior do gap

Geraccedilatildeo de ACK [RFC 1122 RFC 2581]

3

3 - 67copy 2005 by Pearson Education

bull Com frequumlecircncia o tempo de expiraccedilatildeo eacute relativamente longobull Longo atraso antes de reenviar um pacote perdido

bull Detecta segmentos perdidos por meio de ACKs duplicadosbull Transmissor frequumlentemente envia muitos segmentos back-to-backbull Se o segmento eacute perdido haveraacute muitos ACKs duplicados

bull Se o transmissor recebe 3 ACKs para o mesmo dado ele supotildee que osegmento apoacutes o dado confirmado foi perdidobull Retransmissatildeo raacutepida reenvia o segmento antes de o temporizador

expirar

Retransmissatildeo raacutepida

3

3 - 68copy 2005 by Pearson Education

event ACK received with ACK field value of y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer else increment count of dup ACKs received for y if (count of dup ACKs received for y = 3) resend segment with sequence number y

ACK duplicado para umsegmento jaacute confirmado

retransmissatildeo raacutepida

Algoritmo de retransmissatildeo raacutepida

3

3 - 69copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 6: Camada de Transporte-2

3

3 - 61copy 2005 by Pearson Education

bull TCP cria serviccedilos de rdt em cima do serviccedilo natildeo-confiaacutevel do IP

bull Pipelined segments

bull ACKs cumulativos

bull TCP usa tempo de retransmissatildeo simples

bull Retransmissotildees satildeo disparadas porbull Eventos de tempo de confirmaccedilatildeobull ACKs duplicados

bull Inicialmente considere um transmissor TCP simplificadobull Ignore ACKs duplicadosbull Ignore controle de fluxo controle de congestionamento

TCP transferecircncia de dados confiaacutevel

3

3 - 62copy 2005 by Pearson Education

Dado recebido da appbull Crie um segmento com nuacutemero de sequumlecircnciabull seq eacute o nuacutemero do byte-stream do 1o byte de dados no segmentobull Inicie o temporizador se ele ainda natildeo estiver em execuccedilatildeo (pense no

temporizador para o mais antigo segmento natildeo-confirmado)bull Tempo de expiraccedilatildeo TimeOutIntervalTempo de confirmaccedilatildeobull Retransmite o segmento que provocou o tempo de confirmaccedilatildeobull Reinicia o temporizador

ACK recebidobull Quando houver o ACK de segmentos anteriormente natildeo confirmadosbull Atualizar o que foi confirmadobull Iniciar o temporizador se houver segmentos pendentes

Eventos do transmissor TCP

3

3 - 63copy 2005 by Pearson Education

NextSeqNum = InitialSeqNum SendBase = InitialSeqNum loop (forever) switch(event) event dado recebido da aplicaccedilatildeo acima cria segmento TCP com no de sequumlecircncia NextSeqNum if (timer currently not running) start timer pass segment to IP NextSeqNum = NextSeqNum + length(data) event tempo de confirmaccedilatildeo do temporizador retransmit not-yet-acknowledged segment with smallest sequence number start timer event ACK recebido com valor do campo de ACK do y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer end of loop forever

Comentaacuteriobull SendBase-1

uacuteltimo byte doACKcumulativo

Exemplobull SendBase-1 =

71 y= 73entatildeo oreceptordeseja73+ y gtSendBaseentatildeoo novo dado eacuteconfirmado

Transmissor TCP (simplificado)

3

3 - 64copy 2005 by Pearson Education

Cenaacuterio com perdado ACK

Temporizaccedilatildeo prematuraACKs cumulativos

TCP cenaacuterios de retransmissatildeo

3

3 - 65copy 2005 by Pearson Education

Cenaacuterio de ACK cumulativo

TCP cenaacuterios de retransmissatildeo

3

3 - 66copy 2005 by Pearson Education

Evento no receptor

Segmento chega em ordem natildeo haacute lacunassegmentos anteriores jaacute aceitos

Segmento chega em ordem natildeo haacute lacunasum ACK atrasado pendente

Segmento chega fora de ordemnuacutemero de sequumlecircncia chegoumaior gap detectado

Chegada de segmento queparcial ou completamentepreenche o gap

Accedilatildeo do receptor TCP

ACK retardado Espera ateacute 500 mspelo proacuteximo segmento Se natildeo chegar envia ACK

Imediatamente envia um ACKcumulativo

Envia ACK duplicado indicando nuacutemero de sequumlecircncia do proacuteximo byte esperado

Reconhece imediatamente se o segmento comeccedila na borda inferior do gap

Geraccedilatildeo de ACK [RFC 1122 RFC 2581]

3

3 - 67copy 2005 by Pearson Education

bull Com frequumlecircncia o tempo de expiraccedilatildeo eacute relativamente longobull Longo atraso antes de reenviar um pacote perdido

bull Detecta segmentos perdidos por meio de ACKs duplicadosbull Transmissor frequumlentemente envia muitos segmentos back-to-backbull Se o segmento eacute perdido haveraacute muitos ACKs duplicados

bull Se o transmissor recebe 3 ACKs para o mesmo dado ele supotildee que osegmento apoacutes o dado confirmado foi perdidobull Retransmissatildeo raacutepida reenvia o segmento antes de o temporizador

expirar

Retransmissatildeo raacutepida

3

3 - 68copy 2005 by Pearson Education

event ACK received with ACK field value of y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer else increment count of dup ACKs received for y if (count of dup ACKs received for y = 3) resend segment with sequence number y

ACK duplicado para umsegmento jaacute confirmado

retransmissatildeo raacutepida

Algoritmo de retransmissatildeo raacutepida

3

3 - 69copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 7: Camada de Transporte-2

3

3 - 62copy 2005 by Pearson Education

Dado recebido da appbull Crie um segmento com nuacutemero de sequumlecircnciabull seq eacute o nuacutemero do byte-stream do 1o byte de dados no segmentobull Inicie o temporizador se ele ainda natildeo estiver em execuccedilatildeo (pense no

temporizador para o mais antigo segmento natildeo-confirmado)bull Tempo de expiraccedilatildeo TimeOutIntervalTempo de confirmaccedilatildeobull Retransmite o segmento que provocou o tempo de confirmaccedilatildeobull Reinicia o temporizador

ACK recebidobull Quando houver o ACK de segmentos anteriormente natildeo confirmadosbull Atualizar o que foi confirmadobull Iniciar o temporizador se houver segmentos pendentes

Eventos do transmissor TCP

3

3 - 63copy 2005 by Pearson Education

NextSeqNum = InitialSeqNum SendBase = InitialSeqNum loop (forever) switch(event) event dado recebido da aplicaccedilatildeo acima cria segmento TCP com no de sequumlecircncia NextSeqNum if (timer currently not running) start timer pass segment to IP NextSeqNum = NextSeqNum + length(data) event tempo de confirmaccedilatildeo do temporizador retransmit not-yet-acknowledged segment with smallest sequence number start timer event ACK recebido com valor do campo de ACK do y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer end of loop forever

Comentaacuteriobull SendBase-1

uacuteltimo byte doACKcumulativo

Exemplobull SendBase-1 =

71 y= 73entatildeo oreceptordeseja73+ y gtSendBaseentatildeoo novo dado eacuteconfirmado

Transmissor TCP (simplificado)

3

3 - 64copy 2005 by Pearson Education

Cenaacuterio com perdado ACK

Temporizaccedilatildeo prematuraACKs cumulativos

TCP cenaacuterios de retransmissatildeo

3

3 - 65copy 2005 by Pearson Education

Cenaacuterio de ACK cumulativo

TCP cenaacuterios de retransmissatildeo

3

3 - 66copy 2005 by Pearson Education

Evento no receptor

Segmento chega em ordem natildeo haacute lacunassegmentos anteriores jaacute aceitos

Segmento chega em ordem natildeo haacute lacunasum ACK atrasado pendente

Segmento chega fora de ordemnuacutemero de sequumlecircncia chegoumaior gap detectado

Chegada de segmento queparcial ou completamentepreenche o gap

Accedilatildeo do receptor TCP

ACK retardado Espera ateacute 500 mspelo proacuteximo segmento Se natildeo chegar envia ACK

Imediatamente envia um ACKcumulativo

Envia ACK duplicado indicando nuacutemero de sequumlecircncia do proacuteximo byte esperado

Reconhece imediatamente se o segmento comeccedila na borda inferior do gap

Geraccedilatildeo de ACK [RFC 1122 RFC 2581]

3

3 - 67copy 2005 by Pearson Education

bull Com frequumlecircncia o tempo de expiraccedilatildeo eacute relativamente longobull Longo atraso antes de reenviar um pacote perdido

bull Detecta segmentos perdidos por meio de ACKs duplicadosbull Transmissor frequumlentemente envia muitos segmentos back-to-backbull Se o segmento eacute perdido haveraacute muitos ACKs duplicados

bull Se o transmissor recebe 3 ACKs para o mesmo dado ele supotildee que osegmento apoacutes o dado confirmado foi perdidobull Retransmissatildeo raacutepida reenvia o segmento antes de o temporizador

expirar

Retransmissatildeo raacutepida

3

3 - 68copy 2005 by Pearson Education

event ACK received with ACK field value of y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer else increment count of dup ACKs received for y if (count of dup ACKs received for y = 3) resend segment with sequence number y

ACK duplicado para umsegmento jaacute confirmado

retransmissatildeo raacutepida

Algoritmo de retransmissatildeo raacutepida

3

3 - 69copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 8: Camada de Transporte-2

3

3 - 63copy 2005 by Pearson Education

NextSeqNum = InitialSeqNum SendBase = InitialSeqNum loop (forever) switch(event) event dado recebido da aplicaccedilatildeo acima cria segmento TCP com no de sequumlecircncia NextSeqNum if (timer currently not running) start timer pass segment to IP NextSeqNum = NextSeqNum + length(data) event tempo de confirmaccedilatildeo do temporizador retransmit not-yet-acknowledged segment with smallest sequence number start timer event ACK recebido com valor do campo de ACK do y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer end of loop forever

Comentaacuteriobull SendBase-1

uacuteltimo byte doACKcumulativo

Exemplobull SendBase-1 =

71 y= 73entatildeo oreceptordeseja73+ y gtSendBaseentatildeoo novo dado eacuteconfirmado

Transmissor TCP (simplificado)

3

3 - 64copy 2005 by Pearson Education

Cenaacuterio com perdado ACK

Temporizaccedilatildeo prematuraACKs cumulativos

TCP cenaacuterios de retransmissatildeo

3

3 - 65copy 2005 by Pearson Education

Cenaacuterio de ACK cumulativo

TCP cenaacuterios de retransmissatildeo

3

3 - 66copy 2005 by Pearson Education

Evento no receptor

Segmento chega em ordem natildeo haacute lacunassegmentos anteriores jaacute aceitos

Segmento chega em ordem natildeo haacute lacunasum ACK atrasado pendente

Segmento chega fora de ordemnuacutemero de sequumlecircncia chegoumaior gap detectado

Chegada de segmento queparcial ou completamentepreenche o gap

Accedilatildeo do receptor TCP

ACK retardado Espera ateacute 500 mspelo proacuteximo segmento Se natildeo chegar envia ACK

Imediatamente envia um ACKcumulativo

Envia ACK duplicado indicando nuacutemero de sequumlecircncia do proacuteximo byte esperado

Reconhece imediatamente se o segmento comeccedila na borda inferior do gap

Geraccedilatildeo de ACK [RFC 1122 RFC 2581]

3

3 - 67copy 2005 by Pearson Education

bull Com frequumlecircncia o tempo de expiraccedilatildeo eacute relativamente longobull Longo atraso antes de reenviar um pacote perdido

bull Detecta segmentos perdidos por meio de ACKs duplicadosbull Transmissor frequumlentemente envia muitos segmentos back-to-backbull Se o segmento eacute perdido haveraacute muitos ACKs duplicados

bull Se o transmissor recebe 3 ACKs para o mesmo dado ele supotildee que osegmento apoacutes o dado confirmado foi perdidobull Retransmissatildeo raacutepida reenvia o segmento antes de o temporizador

expirar

Retransmissatildeo raacutepida

3

3 - 68copy 2005 by Pearson Education

event ACK received with ACK field value of y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer else increment count of dup ACKs received for y if (count of dup ACKs received for y = 3) resend segment with sequence number y

ACK duplicado para umsegmento jaacute confirmado

retransmissatildeo raacutepida

Algoritmo de retransmissatildeo raacutepida

3

3 - 69copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 9: Camada de Transporte-2

3

3 - 64copy 2005 by Pearson Education

Cenaacuterio com perdado ACK

Temporizaccedilatildeo prematuraACKs cumulativos

TCP cenaacuterios de retransmissatildeo

3

3 - 65copy 2005 by Pearson Education

Cenaacuterio de ACK cumulativo

TCP cenaacuterios de retransmissatildeo

3

3 - 66copy 2005 by Pearson Education

Evento no receptor

Segmento chega em ordem natildeo haacute lacunassegmentos anteriores jaacute aceitos

Segmento chega em ordem natildeo haacute lacunasum ACK atrasado pendente

Segmento chega fora de ordemnuacutemero de sequumlecircncia chegoumaior gap detectado

Chegada de segmento queparcial ou completamentepreenche o gap

Accedilatildeo do receptor TCP

ACK retardado Espera ateacute 500 mspelo proacuteximo segmento Se natildeo chegar envia ACK

Imediatamente envia um ACKcumulativo

Envia ACK duplicado indicando nuacutemero de sequumlecircncia do proacuteximo byte esperado

Reconhece imediatamente se o segmento comeccedila na borda inferior do gap

Geraccedilatildeo de ACK [RFC 1122 RFC 2581]

3

3 - 67copy 2005 by Pearson Education

bull Com frequumlecircncia o tempo de expiraccedilatildeo eacute relativamente longobull Longo atraso antes de reenviar um pacote perdido

bull Detecta segmentos perdidos por meio de ACKs duplicadosbull Transmissor frequumlentemente envia muitos segmentos back-to-backbull Se o segmento eacute perdido haveraacute muitos ACKs duplicados

bull Se o transmissor recebe 3 ACKs para o mesmo dado ele supotildee que osegmento apoacutes o dado confirmado foi perdidobull Retransmissatildeo raacutepida reenvia o segmento antes de o temporizador

expirar

Retransmissatildeo raacutepida

3

3 - 68copy 2005 by Pearson Education

event ACK received with ACK field value of y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer else increment count of dup ACKs received for y if (count of dup ACKs received for y = 3) resend segment with sequence number y

ACK duplicado para umsegmento jaacute confirmado

retransmissatildeo raacutepida

Algoritmo de retransmissatildeo raacutepida

3

3 - 69copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 10: Camada de Transporte-2

3

3 - 65copy 2005 by Pearson Education

Cenaacuterio de ACK cumulativo

TCP cenaacuterios de retransmissatildeo

3

3 - 66copy 2005 by Pearson Education

Evento no receptor

Segmento chega em ordem natildeo haacute lacunassegmentos anteriores jaacute aceitos

Segmento chega em ordem natildeo haacute lacunasum ACK atrasado pendente

Segmento chega fora de ordemnuacutemero de sequumlecircncia chegoumaior gap detectado

Chegada de segmento queparcial ou completamentepreenche o gap

Accedilatildeo do receptor TCP

ACK retardado Espera ateacute 500 mspelo proacuteximo segmento Se natildeo chegar envia ACK

Imediatamente envia um ACKcumulativo

Envia ACK duplicado indicando nuacutemero de sequumlecircncia do proacuteximo byte esperado

Reconhece imediatamente se o segmento comeccedila na borda inferior do gap

Geraccedilatildeo de ACK [RFC 1122 RFC 2581]

3

3 - 67copy 2005 by Pearson Education

bull Com frequumlecircncia o tempo de expiraccedilatildeo eacute relativamente longobull Longo atraso antes de reenviar um pacote perdido

bull Detecta segmentos perdidos por meio de ACKs duplicadosbull Transmissor frequumlentemente envia muitos segmentos back-to-backbull Se o segmento eacute perdido haveraacute muitos ACKs duplicados

bull Se o transmissor recebe 3 ACKs para o mesmo dado ele supotildee que osegmento apoacutes o dado confirmado foi perdidobull Retransmissatildeo raacutepida reenvia o segmento antes de o temporizador

expirar

Retransmissatildeo raacutepida

3

3 - 68copy 2005 by Pearson Education

event ACK received with ACK field value of y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer else increment count of dup ACKs received for y if (count of dup ACKs received for y = 3) resend segment with sequence number y

ACK duplicado para umsegmento jaacute confirmado

retransmissatildeo raacutepida

Algoritmo de retransmissatildeo raacutepida

3

3 - 69copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 11: Camada de Transporte-2

3

3 - 66copy 2005 by Pearson Education

Evento no receptor

Segmento chega em ordem natildeo haacute lacunassegmentos anteriores jaacute aceitos

Segmento chega em ordem natildeo haacute lacunasum ACK atrasado pendente

Segmento chega fora de ordemnuacutemero de sequumlecircncia chegoumaior gap detectado

Chegada de segmento queparcial ou completamentepreenche o gap

Accedilatildeo do receptor TCP

ACK retardado Espera ateacute 500 mspelo proacuteximo segmento Se natildeo chegar envia ACK

Imediatamente envia um ACKcumulativo

Envia ACK duplicado indicando nuacutemero de sequumlecircncia do proacuteximo byte esperado

Reconhece imediatamente se o segmento comeccedila na borda inferior do gap

Geraccedilatildeo de ACK [RFC 1122 RFC 2581]

3

3 - 67copy 2005 by Pearson Education

bull Com frequumlecircncia o tempo de expiraccedilatildeo eacute relativamente longobull Longo atraso antes de reenviar um pacote perdido

bull Detecta segmentos perdidos por meio de ACKs duplicadosbull Transmissor frequumlentemente envia muitos segmentos back-to-backbull Se o segmento eacute perdido haveraacute muitos ACKs duplicados

bull Se o transmissor recebe 3 ACKs para o mesmo dado ele supotildee que osegmento apoacutes o dado confirmado foi perdidobull Retransmissatildeo raacutepida reenvia o segmento antes de o temporizador

expirar

Retransmissatildeo raacutepida

3

3 - 68copy 2005 by Pearson Education

event ACK received with ACK field value of y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer else increment count of dup ACKs received for y if (count of dup ACKs received for y = 3) resend segment with sequence number y

ACK duplicado para umsegmento jaacute confirmado

retransmissatildeo raacutepida

Algoritmo de retransmissatildeo raacutepida

3

3 - 69copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 12: Camada de Transporte-2

3

3 - 67copy 2005 by Pearson Education

bull Com frequumlecircncia o tempo de expiraccedilatildeo eacute relativamente longobull Longo atraso antes de reenviar um pacote perdido

bull Detecta segmentos perdidos por meio de ACKs duplicadosbull Transmissor frequumlentemente envia muitos segmentos back-to-backbull Se o segmento eacute perdido haveraacute muitos ACKs duplicados

bull Se o transmissor recebe 3 ACKs para o mesmo dado ele supotildee que osegmento apoacutes o dado confirmado foi perdidobull Retransmissatildeo raacutepida reenvia o segmento antes de o temporizador

expirar

Retransmissatildeo raacutepida

3

3 - 68copy 2005 by Pearson Education

event ACK received with ACK field value of y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer else increment count of dup ACKs received for y if (count of dup ACKs received for y = 3) resend segment with sequence number y

ACK duplicado para umsegmento jaacute confirmado

retransmissatildeo raacutepida

Algoritmo de retransmissatildeo raacutepida

3

3 - 69copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 13: Camada de Transporte-2

3

3 - 68copy 2005 by Pearson Education

event ACK received with ACK field value of y if (y gt SendBase) SendBase = y if (there are currently not-yet-acknowledged segments) start timer else increment count of dup ACKs received for y if (count of dup ACKs received for y = 3) resend segment with sequence number y

ACK duplicado para umsegmento jaacute confirmado

retransmissatildeo raacutepida

Algoritmo de retransmissatildeo raacutepida

3

3 - 69copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 14: Camada de Transporte-2

3

3 - 69copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 15: Camada de Transporte-2

3

3 - 70copy 2005 by Pearson Education

bull Lado receptor da conexatildeo TCPpossui um buffer de recepccedilatildeo

bull Serviccedilo de speed-matchingencontra a taxa de envioadequada agrave taxa de vazatildeo daaplicaccedilatildeo receptora

bull Processos de aplicaccedilatildeo podem serlentos para ler o buffer

Controle de fluxoTransmissor natildeo deve esgotar osbuffers de recepccedilatildeo enviandodados raacutepido demais

TCP controle de fluxo

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 16: Camada de Transporte-2

3

3 - 71copy 2005 by Pearson Education

(suponha que o receptor TCP descarte segmentos fora de ordem)bull Espaccedilo disponiacutevel no buffer= RcvWindow= RcvBuffer-[LastByteRcvd - LastByteRead]

bull Receptor informa a aacuterea disponiacutevelincluindo valor RcvWindow nossegmentos

bull Transmissor limita os dados natildeoconfinados ao RcvWindowbull Garantia contra overflow no buffer do receptor

Controle de fluxo TCP como funciona

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 17: Camada de Transporte-2

3

3 - 72copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 18: Camada de Transporte-2

3

3 - 73copy 2005 by Pearson Education

TCP transmissor estabelece conexatildeo com o receptor antes de trocar segmentos dedadosbull Inicializar variaacuteveisbull Nuacutemeros de sequumlecircnciabull Buffers controle de fluxo (ex RcvWindow)bull Cliente iniciador da conexatildeo Socket clientSocket = new Socket(ldquohostnameport number)bull Servidor chamado pelo cliente Socket connectionSocket = welcomeSocketaccept()Three way handshakePasso 1 sistema final cliente envia TCP SYN ao servidorbull Especifica nuacutemero de sequumlecircncia inicial

Passo 2 sistema final servidor que recebe o SYN responde com segmento SYNACKbull Reconhece o SYN recebidobull Aloca buffersbull Especifica o nuacutemero de sequumlecircncia inicial do servidor

Passo 3 sistema final cliente reconhece o SYNACK

Gerenciamento de conexatildeo TCP

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 19: Camada de Transporte-2

3

3 - 74copy 2005 by Pearson Education

Fechando uma conexatildeo

cliente fecha o socketclientSocketclose()

Passo 1 o cliente envia o segmentoTCP FIN ao servidor

Passo 2 servidor recebe FINresponde com ACK Fecha aconexatildeo envia FIN

Gerenciamento de conexatildeo TCP

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 20: Camada de Transporte-2

3

3 - 75copy 2005 by Pearson Education

Passo 3 cliente recebe FINresponde com ACK

bull Entra ldquoespera temporizadardquo - vairesponder com ACK a FINs recebidos

Passo 4 servidor recebe ACKConexatildeo fechada

Nota com uma pequenamodificaccedilatildeo pode-se manipularFINs simultacircneos

Gerenciamento de conexatildeo TCP

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 21: Camada de Transporte-2

3

3 - 76copy 2005 by Pearson Education

Estados do cliente Estados do servidor

Gerenciamento de conexatildeo TCP

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 22: Camada de Transporte-2

3

3 - 77copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 23: Camada de Transporte-2

3

3 - 78copy 2005 by Pearson Education

Congestionamento

bull Informalmente ldquomuitas fontes enviando dados acima da capacidade darede de trataacute-losrdquo

bull Diferente de controle de fluxo

bull Sintomasbull Perda de pacotes (saturaccedilatildeo de buffer nos roteadores)bull Atrasos grandes (filas nos buffers dos roteadores)

bull Um dos 10 problemas mais importantes na Internet

Princiacutepios de controle de congestionamento

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 24: Camada de Transporte-2

3

3 - 79copy 2005 by Pearson Education

bull Dois transmissores doisreceptores

bull Um roteador buffersinfinitos

bull Natildeo haacute retransmissatildeobull Grandes atrasos quando

congestionadobull Maacutexima vazatildeo alcanccedilaacutevel

Causascustos do congestionamento cenaacuterio 1

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 25: Camada de Transporte-2

3

3 - 80copy 2005 by Pearson Education

bull Um roteador buffers finitosbull Transmissor reenvia pacotes perdidos

Causascustos do congestionamento cenaacuterio 2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 26: Camada de Transporte-2

3

3 - 81copy 2005 by Pearson Education

bull Sempre vale (traacutefego bom)bull ldquoperfeitardquo retransmissatildeo somente quando haacute perdasbull Retransmissatildeo de pacotes atrasados (natildeo perdidos) torna maior (que o caso

perfeito ) para o mesmo

Causascustos do congestionamento cenaacuterio 2

λin

λout

inλ

outgtλ

inλout

ldquocustosrdquo do congestionamentobull Mais trabalho (retransmissotildees) para um dado ldquotraacutefego bomrdquobull Retransmissotildees desnecessaacuterias enlace transporta vaacuterias coacutepias do

mesmo pacote

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 27: Camada de Transporte-2

3

3 - 82copy 2005 by Pearson Education

bull Quatro transmissoresbull Caminhos com muacuteltiplos saltosbull Temporizaccedilotildeesretransmissotildees

λin

P O que acontece quando e

aumentam

λin

Causascustos do congestionamento cenaacuterio 3

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 28: Camada de Transporte-2

3

3 - 83copy 2005 by Pearson Education

Outro ldquocustordquo do congestionamentobull Quando o pacote eacute descartado qualquer capacidade de transmissatildeo que

tenha sido anteriormente usada para aquele pacote eacute desperdiccedilada

hospedeiroA

hospedeiroB

λout

Causascustos do congestionamento cenaacuterio 3

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 29: Camada de Transporte-2

3

3 - 84copy 2005 by Pearson Education

Existem duas abordagens gerais para o problema de controle decongestionamentoControle de congestionamento fim-a-fimbull Natildeo usa realimentaccedilatildeo expliacutecita da redebull Congestionamento eacute inferido a partir das perdas e dos atrasos observados nos sistemas finaisbull Abordagem usada pelo TCPControle de congestionamento assistido pela redebull Roteadores enviam informaccedilotildees para os sistemas finaisbull Bit uacutenico indicando o congestionamento (SNA DECbit TCPIP ECN ATM)bull Taxa expliacutecita do transmissor poderia ser enviada

Abordagens do produto de controle de congestionamento

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 30: Camada de Transporte-2

3

3 - 85copy 2005 by Pearson Education

ABR available bit ratebullldquoserviccedilo elaacutesticordquobull Se o caminho do transmissor estaacute pouco usadobull Transmissor pode usar a banda disponiacutevel

bull Se o caminho do transmissor estaacute congestionadobull Transmissor eacute limitado a uma taxa miacutenima garantida

Ceacutelulas RM (resource management)bull Enviadas pelo transmissor entremeadas com as ceacutelulas de dadosbull Bits nas ceacutelulas RM satildeo usados pelos comutadores (ldquoassistida pela rederdquo)bull NI bit natildeo aumenta a taxa (congestionamento leve)bull CI bit indicaccedilatildeo de congestionamento

bull As ceacutelulas RM satildeo devolvidas ao transmissor pelo receptor com os bits deindicaccedilatildeo intactos

Estudo de caso controle de congestionamento do serviccedilo ATMABR

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 31: Camada de Transporte-2

3

3 - 86copy 2005 by Pearson Education

bull Campo ER (explicit rate) de dois bytes nas ceacutelulas RMbull Switch congestionado pode reduzir o valor de ER nas ceacutelulasbull O transmissor envia dados de acordo com essa vazatildeo miacutenima suportada no

caminho

bull Bit EFCI nas ceacutelulas de dados marcado como 1 pelos switchescongestionadosbull Se a ceacutelula de dados que precede a ceacutelula RM tem o bit EFCI setado o receptor marca o bit CI na ceacutelula RM devolvida

Estudo de caso controle de congestionamento do servidor doserviccedilo ATM ABR

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 32: Camada de Transporte-2

3

3 - 87copy 2005 by Pearson Education

bull 31 Serviccedilos da camada de transporte

bull 32 Multiplexaccedilatildeo e demultiplexaccedilatildeo

bull 33 Transporte natildeo orientado agrave conexatildeo UDP

bull 34 Princiacutepios de transferecircncia confiaacutevel de dados

bull 35 Transporte orientado agrave conexatildeo TCPbull Estrutura do segmentobull Transferecircncia confiaacutevel de dadosbull Controle de fluxobull Gerenciamento de conexatildeo

bull 36 Princiacutepios de controle de congestionamento

bull 37 Controle de congestionamento do TCP

Camada de transporte

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 33: Camada de Transporte-2

3

3 - 88copy 2005 by Pearson Education

bull Controle fim-a-fim (sem assistecircncia da rede)bull Transmissor limita a transmissatildeo LastByteSent-LastByteAcked le CongWinbull Aproximadamente

bull CongWin eacute dinacircmico funccedilatildeo de congestionamento das redes detectadasComo o transmissor detecta o congestionamentobull Evento de perda = tempo de confirmaccedilatildeo bull ou 3 ACKs duplicados

Transmissor TCP reduz a taxa (CongWin) apoacutes o evento de perdaTrecircs mecanismosbull AIMDbull Partida lentabull Reaccedilatildeo a eventos de esgotamento de temporizaccedilatildeo

rate = CongWin

RTT Bytessec

TCP controle de congestionamento

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 34: Camada de Transporte-2

3

3 - 89copy 2005 by Pearson Education

Reduccedilatildeo multiplicativa diminui o CongWin pela metade apoacutes o evento de perdaAumento aditivo aumenta o CongWin com 1 MSS a cada RTT na ausecircncia deeventos de perda probing

conexatildeo TCP de longa-vida

TCP AIMD

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 35: Camada de Transporte-2

3

3 - 90copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila CongWin = 1 MSSbull Exemplo MSS = 500 bytes e RTT = 200 milissegundosbull Taxa inicial = 20 kbps

bull Largura de banda disponiacutevel pode ser gtgt MSSRTTbull Desejaacutevel aumentar rapidamente ateacute a taxa respeitaacutevel

bull Quando a conexatildeo comeccedila a taxa aumenta rapidamente de modoexponencial ateacute a ocorrecircncia do primeiro evento de perda

TCP Partida lenta

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 36: Camada de Transporte-2

3

3 - 91copy 2005 by Pearson Education

bull Quando a conexatildeo comeccedila a taxaaumenta rapidamente de modoexponencial ateacute a ocorrecircncia doprimeiro evento de perda bull Dobra o CongWin a cada RTTbull Faz-se incrementando o CongWinpara cada ACK recebido

bull Sumaacuterio taxa inicial eacute lenta masaumenta de modo exponencialmenteraacutepido

Hospedeiro A

um segmento

RTT

Hospedeiro B

tempo

dois segmentos

quatro segmentos

TCP Partida lenta

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 37: Camada de Transporte-2

3

3 - 92copy 2005 by Pearson Education

bull Apoacutes 3 ACKs duplicadosbull CongWin eacute cortado pela metadebull Janela entatildeo cresce linearmente

bull Mas apoacutes evento de tempo de confirmaccedilatildeobull CongWin eacute ajustado para 1 MSSbull A janela entatildeo cresce exponencialmenteateacute um limite entatildeo cresce linearmente

Filosofiabull 3 ACKs indica que a rede eacute capaz de entregar alguns segmentosbull Tempo de confirmaccedilatildeo antes dos 3 ACKs duplicados eacute ldquomais alarmanterdquo

Refinamento

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 38: Camada de Transporte-2

3

3 - 93copy 2005 by Pearson Education

P Quando o aumentoexponencial deve tornar-selinear

R Quando CongWin obtiver12 do seu valor antes dotempo de confirmaccedilatildeo

Implementaccedilatildeobull Limite variaacutevelbull No evento de perda o limiar

eacute ajustado para 12 doCongWin logo antes doevento de perda

Refinamento

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 39: Camada de Transporte-2

3

3 - 94copy 2005 by Pearson Education

bull Quando CongWin estaacute abaixo do limite (Threshold) o transmissorem fase de slow-start a janela cresce exponencialmente

bull Quando CongWin estaacute acima do limite (Threshold o transmissorem fase de congestion-avoidance a janela cresce linearmente

bull Quando ocorrem trecircs ACK duplicados o limiar (Threshold) eacuteajustado em CongWin2 e CongWin eacute ajustado para Threshold

bull Quando ocorre tempo de confirmaccedilatildeo o Threshold eacute ajustadopara CongWin2 e o CongWin eacute ajustado para 1 MSS

Resumo controle de congestionamento TCP

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 40: Camada de Transporte-2

3

3 - 95copy 2005 by Pearson Education

CongWin e Threshold natildeomudam

Incrementa o contador deACK duplicado para osegmento que estaacute sendoconfirmado

SS or CAACKduplicado

Entra em partida lentaThreshold = CongWin2CongWin = 1 MSSajusta estado para ldquopartidalentardquo

SS or CATempo deconfirmaccedilatildeo

Recuperacao raacutepidaimplementando reduccedilatildeomultiplicativa o CongWinnatildeo cairaacute abaixo de 1MSS

Threshold = CongWin2CongWin = Thresholdajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

SS or CAEvento deperdadetectadopor trecircsACKsduplicados

Aumento aditivo resultano aumento do CongWinem 1 MSS a cada RTT

CongWin = CongWin + MSS (MSSCongWin)

prevenccedilatildeo decongestiona-mento (CA)

ACKrecebidopara dadopreviamentenatildeoconfirmado

Resulta em dobrar oCongWin a cada RTT

CongWin = CongWin + MSSIf (CongWin gt Threshold) ajusta estado paraldquoprevenccedilatildeo decongestionamentordquo

partida lenta(SS)

ACKrecebidopara dadopreviamentenatildeoconfirmado

ComentaacuterioAccedilatildeo do transmissor TCPEstadoEvento

TCP sender congestion control

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 41: Camada de Transporte-2

3

3 - 96copy 2005 by Pearson Education

bull O que eacute throughout meacutedio do TCP como uma funccedilatildeo do tamanho da janela edo RTTIgnore a partida lenta

bull Deixe W ser o tamanho da janela quando ocorre perda

bull Quando a janela eacute W o throughput eacute WRTT

bull Logo apoacutes a perda a janela cai para W2 e o throughput para W2RTT

bull Throughout meacutedio 075 WRTT

TCP throughput

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 42: Camada de Transporte-2

3

3 - 97copy 2005 by Pearson Education

bull Exemplo segmento de 1500 bytes RTT de 100 ms deseja 10 Gbps dethroughput

bull Requer tamanho de janela W = 83333 para os segmentos em tracircnsitobull Throughput em termos da taxa de perda

bull L = 210-10 Uaubull Satildeo necessaacuterias novas versotildees de TCP para alta velocidade

LRTT

MSS221

Futuro do TCP

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 43: Camada de Transporte-2

3

3 - 98copy 2005 by Pearson Education

Objetivo de equumlidade se K sessotildees TCP compartilham o mesmo enlace dogargalo com largura de banda R cada uma deve ter taxa meacutedia de RK

Equumlidade do TCP

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 44: Camada de Transporte-2

3

3 - 99copy 2005 by Pearson Education

Duas sessotildees competindo pela bandabull O aumento aditivo fornece uma inclinaccedilatildeo de 1 quando a vazatildeo aumentabull Reduccedilatildeo multiplicativa diminui a vazatildeo proporcionalmente

perda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivoperda reduz janela por um fator de 2prevenccedilatildeo de congestionamentoaumento aditivo

Por que o TCP eacute justo

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 45: Camada de Transporte-2

3

3 - 100copy 2005 by Pearson Education

Equumlidade e UDPbull Aplicaccedilotildees multimiacutedia normalmente natildeo usam TCPbull Natildeo querem a taxa estrangulada pelo controle de congestionamento

bull Em vez disso usam UDPbull Trafega aacuteudioviacutedeo a taxas constantes toleram perda de pacotes

Aacuterea de pesquisa TCP amigaacutevel

Equumlidade e conexotildees TCP paralelasbull Nada previne as aplicaccedilotildees de abrirem conexotildees paralelas entre 2 hospedeiros

bull Web browsers fazem isso

bull Exemplo enlace de taxa R suportando 9 conexotildeesbull Novas aplicaccedilotildees pedem 1 TCP obteacutem taxa de R10bull Novas aplicaccedilotildees pedem 11 TCPs obteacutem R2

Equumlidade

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 46: Camada de Transporte-2

3

3 - 101copy 2005 by Pearson Education

P Quanto tempo demora para receber um objeto de um servidor Web apoacutesenviar um pedido

Ignorando o congestionamento o atraso eacute influenciado porbull Estabelecimento de conexatildeo TCPbull Atraso de transferecircncia de dadosbull Partida lenta

Notaccedilatildeo hipoacutetesesbull Suponha um enlace entre o cliente e o servidor com taxa de dados Rbull S MSS (bits)bull O tamanho do objeto (bits)bull Natildeo haacute retransmissotildees (sem perdas e corrupccedilatildeo de dados)

Tamanho da janelabull Primeiro suponha janela de congestionamento fixa W segmentosbull Entatildeo janela dinacircmica modelagem partida lenta

TCP modelagem de latecircncia

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 47: Camada de Transporte-2

3

3 - 102copy 2005 by Pearson Education

Primeiro casoWSR gt RTT + SR o ACKpara o primeiro segmentona janela retorna antes dovalor de janela dos dadosenviados

atraso = 2RTT + OR

Janela de congestionamento fixa (1)

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 48: Camada de Transporte-2

3

3 - 103copy 2005 by Pearson Education

Segundo casobull WSR lt RTT + SR espera

pelo ACK apoacutes enviar o valorda janela de dados

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

Janela de congestionamento fixa (2)

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 49: Camada de Transporte-2

3

3 - 104copy 2005 by Pearson Education

bull Agora suponha que a janela cresca de acordo com os procedimentos dafase partida lenta

bull Vamos mostrar que a latecircncia de um objeto de tamanho O eacute

em que P eacute o nuacutemero de vezes em que o TCP fica bloqueado no servidor

bull Em que Q eacute o nuacutemero de vezes que o servidor ficaria bloqueado se oobjeto fosse de tamanho infinito

bull E K eacute o nuacutemero de janelas que cobrem o objeto

R

S

R

SRTTP

R

ORTTLatency

P )12(2

$amp

+++=

1min = KQP

TCP Modelagem de latecircncia partida lenta (1)

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 50: Camada de Transporte-2

3

3 - 105copy 2005 by Pearson Education

Componentes do atraso bull 2 RTT para estabelecimento deconexatildeo e requisiccedilatildeo bull OR para transmitir um objeto bull Servidor com periacuteodos inativos devido agrave partida lentaServidor inativo P = minK-1Q vezesExemplobull OS = 15 segmentosbull K = 4 janelasbull Q = 2v P = minK-1Q = 2

Servidor inativo P = 2 tempos

TCP modelagem de latecircncia partida lenta (2)

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 51: Camada de Transporte-2

3

3 - 106copy 2005 by Pearson Education

RS

RSRTTPRTT

RO

RSRTT

RSRTT

RO

TempoBloqueioRTTRO

P

K = 1

P

P = 1 p

)12(][2

]2[2

2latecircncia

--+++=

-+++=

++= sum

tempo de bloqueio apoacutes ak-eacutesima janela 2

RSRTT

RS =-+

+

ateacute quando o servidor recebereconhecimento

tempo quando o servidor inicia oenvio do segmento

=+ RTTRS

tempo para enviar a k-eacutesima janela2 =RS

TCP modelagem de latecircncia partida lenta (3)

k - 1

k - 1

sumP k - 1

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 52: Camada de Transporte-2

3

3 - 107copy 2005 by Pearson Education

$+=

+=

amp=

+++=

+++=

amp

amp

)1(log

)1(logmin

12min

222min

222min

2

2

110

110

S

O

S

Okk

S

Ok

SOk

OSSSkK

k

k

k

L

L

O caacutelculo do nuacutemero Q de inatividade por objeto de tamanho infinitoeacute similar (veja HW)

Lembre que K = nuacutemero de janelas que cobrem um objetoComo calculamos o valor de K

TCP modelagem de latecircncia partida lenta (4)

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 53: Camada de Transporte-2

3

3 - 108copy 2005 by Pearson Education

bull Presuma que uma paacutegina Web consista embull 1 paacutegina HTML de base (de tamanho O bit)bull M imagens (cada uma de tamanho O bit)

bull HTTP natildeo persistentebull M + 1 conexotildees TCP nos servidoresbull Tempo de resposta = (M + 1)OR + (M + 1)2RTT + soma dos periacuteodos de

inatividadebull HTTP persistentebull 2 RTT para requisitar e receber o arquivo HTML de basebull 1 RTT para requisitar e receber M imagensbull Tempo de resposta = (M + 1)OR + 3RTT + soma dos periacuteodos de

inatividadebull HTTP natildeo persistente com X conexotildees paralelasbull Suponha o inteiro MXbull 1 conexatildeo TCP para o arquivo de basebull MX ajusta as conexatildeo paralelas para imagensbull Tempo de resposta = (M + 1)OR + (MX + 1)2RTT + soma dos periacuteodos

de inatividade

Modelagem HTTP

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 54: Camada de Transporte-2

3

3 - 109copy 2005 by Pearson Education

0

2

4

6

8

10

12

14

16

18

20

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-persistent

RTT = 100 mseg O = 5 Kbytes M = 10 e X = 5

Para pouca largura de banda tempo de conexatildeo e resposta dominados pelotempo de transmissatildeoConexotildees persistentes oferecem pequena vantagem sobre as conexotildeesparalelas

Tempo de resposta HTTP (em segundos)

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 55: Camada de Transporte-2

3

3 - 110copy 2005 by Pearson Education

0

10

20

30

40

50

60

70

28

Kbps

100

Kbps

1 Mbps 10

Mbps

non-persistent

persistent

parallel non-

persistent

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

Para longos RTT o tempo de resposta eacute dominado por estabelecimento TCPe atrasos partida lenta Conexotildees persistentes agora oferecem uma melhora Importante particularmente em redes com produto banda e atraso grande

Tempo de resposta HTTP (em segundos)

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo

Page 56: Camada de Transporte-2

3

3 - 111copy 2005 by Pearson Education

bull Princiacutepios por traacutes dos serviccedilos da camada de transportebull Multiplexaccedilatildeodemultiplexaccedilatildeobull Transferecircncia de dados confiaacutevelbull Controle de fluxobull Controle de congestionamento

bull Instanciaccedilatildeo e implementaccedilatildeo na Internetbull UDPbull TCP

A seguirbull Saiacutemos da ldquobordardquo da rede (camadas de aplicaccedilatildeo e de transporte)bull Vamos para o ldquonuacutecleordquo da rede

Resumo