camada de transporte-2
Post on 21-Jan-2016
6 Views
Preview:
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
top related