Slide 1 3: Camada de Transporte3c-1 Capítulo 3: Questões de Revisão Slide 2 3: Camada de Transporte3c-2 Seções 3.1-3.3 1) Considere uma conexão TCP entre um host A um host B. Suponha que os segmentos TCP que vão do host A ao host B tenham número de porta da origem x e número de porta do destino y. Quais são os números das portas de origem e de destino para os segmentos que vão do host B para o host A? Slide 3 3: Camada de Transporte3c-3 Seções 3.1-3.3 2) Explique por que o desenvolvedor de uma aplicação escolheria rodar a sua aplicação sobre UDP ao invés de sobre o TCP. 3) É possível que uma aplicação obtenha uma transferência confiável de dados mesmo rodando sobre o UDP? Em caso afirmativo, como? Slide 4 3: Camada de Transporte3c-4 Seção 3.5 4) Verdadeiro ou Falso: a) O host A está enviando um arquivo grande para o host B através de uma conexão TCP. Assuma que o host B não tem nenhum dado para enviar ao host A. O host B não enviará reconhecimentos para o host A porque o host B não pode enviar reconhecimentos de carona nos dados. b) O tamanho da janela de recepção TCP ( RcvWindow ) nunca é alterado durante a existência da conexão. Slide 5 3: Camada de Transporte3c-5 Seção 3.5 4) Verdadeiro ou Falso: c) Suponha que o host A está enviando um arquivo grande para o host B através de uma conexão TCP. O número de bytes que A pode enviar sem ter recebido o reconhecimento do primeiro deles não pode ultrapassar o tamanho do buffer do receptor. d) Suponha que o host A está enviando um arquivo grande para o host B através de uma conexão TCP. Se o número de seqüência para um segmento desta conexão for m, então o número de seqüência do segmento seguinte será, necessariamente, m+1. Slide 6 3: Camada de Transporte3c-6 Seção 3.5 4) Verdadeiro ou Falso: e) O segmento TCP tem um campo no seu cabeçalho para a janela de recepção ( RcvWindow ). f) Suponha que a última amostra do tempo de ida e volta ( SampleRTT ) numa conexão TCP seja igual a 1 segundo. Então o valor do temporizador ( Timeout ) para a conexão será necessariamente ajustado para um valor >= 1 seg. Slide 7 3: Camada de Transporte3c-7 Seção 3.5 4) Verdadeiro ou Falso: g) Suponha que o host A envie para o host B um segmento com número de seqüência 38 e 4 bytes de dados. Então, neste mesmo segmento, o número de reconhecimento é necessariamente 42. Slide 8 3: Camada de Transporte3c-8 Seção 3.5 5) Suponha que A envie dois segmentos TCP para B. O primeiro segmento possui número de seqüência 90 e o segundo possui número de seqüência 110. a) Qual a quantidade de dados presente no primeiro segmento? b) Suponha que o primeiro segmento se perca, mas que o segundo segmento chegue até B. No reconhecimento que B enviará para A, qual será o número de reconhecimento? Slide 9 3: Camada de Transporte3c-9 Seção 3.5 6) Considere o exemplo do Telnet discutido na seção 3.5. Após alguns segundos que o usuário digitou a letra C, ele digita a letra R. Após digitar a letra R, quantos segmentos serão enviados e o que será colocado nos campos de número de seqüência e de reconhecimento dos segmentos? Slide 10 3: Camada de Transporte3c-10 Seção 3.7 7) Suponha que duas conexões TCP estejam passando pelo mesmo enlace gargalo com taxa de R bps. Ambas as conexões possuem um grande arquivo para ser enviado (na mesma direção através do enlace gargalo). As transmissões dos dois arquivos têm início simultaneamente. Qual é a taxa de transmissão que o TCP gostaria de dar a cada uma das conexões? Slide 11 3: Camada de Transporte3c-11 Seção 3.7 8) Verdadeiro ou falso: Considere o controle de congestionamento do TCP. Quando estoura o temporizador no transmissor, o limiar passa a ter metade do seu valor anterior. Slide 12 3: Camada de Transporte3c-12 Problemas Slide 13 3: Camada de Transporte3c-13 Problemas 1) Suponha que o cliente A inicie uma sessão Telnet com o servidor S. Praticamente ao mesmo tempo o cliente B também inicia uma sessão com o servidor S. Forneça possíveis números de porta de origem e destino para: a) os segmentos enviados de A para S. b) os segmentos enviados de B para S. c) os segmentos enviados de S para A. d) os segmentos enviados de S para B. e) Se A e B forem hosts diferentes, é possível que o número da porta de origem nos segmentos de A para S seja o mesmo daqueles de B para S? f) E se eles forem o mesmo host? Slide 14 3: Camada de Transporte3c-14 Problema 2 r Tanto o UDP como o TCP utilizam o complemento de 1 em seus checksums. Suponha que você tenha as três seguintes palavras de 8 bits: 01010101, 01110000, 11001100. Qual é o complemento de 1 da soma destas palavras? Mostre os detalhes. Por que o UDP faz o complemento de 1 da soma, ou seja, por que não utilizar simplesmente a soma? Com o esquema do complemento de 1, como o receptor detecta erros? É possível que o erro em 1 bit passe desapercebido? E um erro envolvendo 2 bits? Slide 15 3: Camada de Transporte3c-15 Problema 3 compute chksum make_pkt(sndpkt, NAK, chksum) udt_send(sndpkt) compute chksum make_pkt(sndpkt, NAK, chksum) udt_send(sndpkt) r Considere a nossa motivação para corrigir o protocolo rdt2.1. Slide 16 3: Camada de Transporte3c-16 Problema 3 r Mostre que este receptor, quando operando com o transmissor mostrado na Figura 3.11, pode levar o transmissor e o receptor a entrar num estado de deadlock, onde cada um fica esperando por um evento que nunca ocorrerá. Slide 17 3: Camada de Transporte3c-17 Figura 3.11 Slide 18 3: Camada de Transporte3c-18 Problema 4 r No protocolo rdt3.0, os pacotes de reconhecimento (ACK) que vão do receptor para o transmissor não possuem números de seqüência (embora possuam um campo de ACK que contém o número de seqüência do pacote que eles estão reconhecendo). Por que os nossos pacotes de ACK não necessitam de números de seqüência? Slide 19 3: Camada de Transporte3c-19 rdt3.0: remetente Slide 20 3: Camada de Transporte3c-20 Problema 5 r Desenhe a máquina de estados finitos (FSM – Finite State Machine) para o lado do receptor do protocolo rdt 3.0. Slide 21 3: Camada de Transporte3c-21 rdt3.0 em ação Slide 22 3: Camada de Transporte3c-22 rdt3.0 em ação Slide 23 3: Camada de Transporte3c-23 Receptor do rdt2.2 Slide 24 3: Camada de Transporte3c-24 Problema 6 r Apresente uma seqüência de operações do protocolo rdt3.0 quando pacotes de dados e pacotes de reconhecimento são alterados. A sua seqüência deve ser semelhante à utilizada na Figura 3.16. Slide 25 3: Camada de Transporte3c-25 Figura 3.16 Slide 26 3: Camada de Transporte3c-26 Problema 7 r Considere um canal que pode perder pacotes mas que tem um retardo máximo conhecido. Modifique o protocolo rdt2.1 para incluir o estouro de temporização no transmissor e retransmissão. Argumente informalmente porque o seu protocolo pode se comunicar corretamente através deste canal. Slide 27 3: Camada de Transporte3c-27 rdt2.1 Slide 28 3: Camada de Transporte3c-28 Problema 8 r O lado transmissor do rdt3.0 simplesmente ignora (isto é, não toma nenhuma atitude) todos os pacotes recebidos que estejam errados ou que tenham o valor errado no campo de número de seqüência de reconhecimento de um pacote de reconhecimento. Suponha que nestas circunstâncias o rdt3.0 tenha que simplesmente retransmitir o pacote de dados atual. O protocolo ainda funcionaria? (Dica: Considere o que aconteceria no caso em que há apenas erros de bits; não há perdas de pacotes, mas podem ocorrer estouros prematuros dos temporizadores. Considere quantas vezes o n-ésimo pacote é enviado, no limite em que n se aproxima de infinito). Slide 29 3: Camada de Transporte3c-29 rdt3.0: remetente Slide 30 3: Camada de Transporte3c-30 Problema 9 r Considere o caso de transmissão costa a costa apresentado na Figura 3.17. De que tamanho a janela deveria ser para que a utilização do canal fosse maior do que 90%? Slide 31 3: Camada de Transporte3c-31 Desempenho de rdt3.0 r rdt3.0 funciona, porém seu desempenho é muito ruim r exemplo: enlace de 1 Gbps, retardo fim a fim de 15 ms, pacote de 1KB: T transmitir = 8kb/pacote 10**9 b/seg = 8 microseg Utilização = U = = 8 microseg 30.016 mseg fração do tempo remetente ocupado = 0,00015 m pac. de 1KB a cada 30 mseg -> vazão de 33kB/seg num enlace de 1 Gbps m protocolo limita uso dos recursos físicos! Slide 32 3: Camada de Transporte3c-32 Problema 10 r Projete um protocolo de transferência de dados confiável, com paralelismo que utiliza apenas reconhecimentos negativos. O quão rapidamente responderá o seu protocolo a perdas de pacotes quando a taxa de chegada de dados ao transmissor for baixa? E se fosse alta? Slide 33 3: Camada de Transporte3c-33 Problema 11 r No protocolo de retransmissão seletiva genérico que estudamos na Seção 3.4.4, o transmissor transmite uma mensagem assim que ela estiver disponível (se estiver dentro da janela) sem esperar por um reconhecimento. r Suponha agora que queiramos um protocolo SR que envia duas mensagens por vez. Isto é, o transmissor enviará um par de mensagens e enviará o próximo par de mensagens apenas quando souber que ambas as mensagens do primeiro par tiverem sido recebidas corretamente. Slide 34 3: Camada de Transporte3c-34 Problema 11 (cont.) r Suponha que o canal possa perder mensagens mas não corromperá nem reordenará as mensagens. r Projete um protocolo de controle de erro para a transferência confiável unidirecional das mensagens. r Apresente uma descrição através de FSMs tanto para o transmissor como para o receptor. Descreva o formato dos pacotes enviados entre o transmissor e o receptor, e vice-versa. Se você utilizar qualquer chamada de procedimentos além daquelas da Seção 3.4 (ex., udt_send(), start_timer(), rdt_rcv(), etc.), apresente claramente as suas ações. Slide 35 3: Camada de Transporte3c-35 Problema 11 (cont.) r Apresente um exemplo (através de um diagrama de tempo do transmissor e do receptor) mostrando como o seu protocolo recupera a perda de um pacote. Slide 36 3: Camada de Transporte3c-36 Problema 12 r Considere um cenário no qual um host, A, quer enviar simultaneamente mensagens para os hosts B e C. A está conectado a B e C através de um canal de difusão – um pacote enviado por A é transportado pelo canal tanto para B como para C. r Suponha que o canal de difusão que conecta A, B e C pode perder ou corromper mensagens de forma independente (deste modo, por exemplo, uma mensagem enviada por A pode ser corretamente recebida por B, mas não por C). Slide 37 3: Camada de Transporte3c-37 Problema 12 (cont.) r Projete um protocolo de controle de erro do tipo pare-e-espere (stop and wait) para transferir confiavelmente um pacote de A para B e C, de modo que A não pegará novos dados da camada superior até que saiba que tanto B como C receberam corretamente o pacote atual. Apresente descrições FSM para A e C. r (Dica: A FSM para B deve ser essencialmente a mesma que para C). r Também apresente uma descrição do(s) formato(s) do(s) pacote(s) utilizado(s). Slide 38 3: Camada de Transporte3c-38 Problema 13 r Considere o protocolo Volte-a-N com uma janela de transmissão de tamanho 3 e uma faixa de números de seqüência de 1.024. Suponha que no instante t, o próximo pacote na ordem que o receptor esteja esperando tenha número de seqüência k. Assuma que o meio não reordena as mensagens. Responda às seguintes perguntas: a) Quais são os possíveis conjuntos de números de seqüência dentro da janela do transmissor no instante t? Justifique a sua resposta. b) Quais são todos os possíveis valores no campo de ACK da mensagem que esteja sendo enviada para o transmissor no instante t? Justifique a sua resposta. Slide 39 3: Camada de Transporte3c-39 Problema 14 r Suponha que tenhamos duas entidades de rede, A e B. B possui um estoque de mensagens de dados que serão transmitidas para A de acordo com as seguintes convenções. m Quando A recebe um pedido da camada superior de recuperar a próxima mensagem de dados (D) recebida de B, A deve enviar uma mensagem de pedido (R – request) para B no canal A-B. m Apenas quando B recebe uma mensagem R é que pode enviar uma mensagem de dados (D) de volta a A no canal B-A. m A deve entregar exatamente uma cópia de cada mensagem D para a camada superior. Slide 40 3: Camada de Transporte3c-40 Problema 14 r Convenções (cont.): m As mensagens R podem ser perdidas (mas não corrompidas) no canal A-B; as mensagens D uma vez enviadas são sempre entregues corretamente. m Os atrasos nos dois canais são variáveis e desconhecidos. r Projete (apresente a FSM de) um protocolo que incorpore os mecanismos apropriados para compensar a vulnerabilidade a perdas do canal A-B e implemente a passagem de mensagem para a camada superior na entidade A, de acordo com o discutido acima. r Use apenas os mecanismos que sejam absolutamente necessários. Slide 41 3: Camada de Transporte3c-41 Problema 15 r Considere os protocolos Volte a N e repetição seletiva. Suponha que o espaço dos números de seqüência tenha tamanho k. Qual seria o maior tamanho da janela do transmissor que evitaria a ocorrência de problemas como os apresentados na Figura 3.26 para cada um destes protocolos? Slide 42 3: Camada de Transporte3c-42 Figura 3.26: dilema da SR Exemplo: r nos. de seq : 0, 1, 2, 3 r tam. de janela =3 r receptor não vê diferença entre os dois cenários! r incorretamente passa dados duplicados como novos em (a) Q: qual a relação entre tamanho de no. de seq e tamanho de janela? Slide 43 3: Camada de Transporte3c-43 Problema 16 r Responda se as afirmações abaixo são verdadeiras ou falsas e justifique brevemente as suas respostas: a) Com o uso do protocolo de repetição seletiva é possível que o transmissor receba um ACK para um pacote que esteja fora da sua janela atual. b) Com o uso do protocolo Volte a N é possível que o transmissor receba um ACK para um pacote que esteja fora da sua janela atual. Slide 44 3: Camada de Transporte3c-44 Problema 16 (cont.) r Responda se as afirmações abaixo são verdadeiras ou falsas e justifique brevemente as suas respostas: c) O protocolo do bit alternante é o mesmo que o protocolo de repetição seletiva com janelas de transmissão e de recepção de tamanho 1. d) O protocolo do bit alternante é o mesmo que o protocolo Volte a N com janelas de transmissão e de recepção de tamanho 1. Slide 45 3: Camada de Transporte3c-45 Problema 17 r Considere a transmissão de um arquivo enorme de L bytes do host A para o host B. Assuma um MSS de 1460 bytes. a) Qual é o valor máximo de L de modo que os números de seqüência do TCP não se esgotem? Lembre que o campo de número de seqüência do TCP possui quatro bytes. Slide 46 3: Camada de Transporte3c-46 Problema 17 (cont.) b) Para o L que você tiver obtido no item (a), obtenha qual é o tempo necessário para transmitir o arquivo. Assuma que um total de 66 bytes de cabeçalho de transporte, rede e enlace de dados sejam adicionados a cada segmento antes que o pacote resultante seja enviado através de um canal de 10 Mbps. Ignore o controle de fluxo e de congestionamento, de modo que A pode enviar os segmentos continuamente o mais rapidamente possível. Slide 47 3: Camada de Transporte3c-47 Problema 18 r Na Figura 3.31. vemos que o TCP espera até que tenha recebido três ACKs duplicados antes de executar uma retransmissão rápida. Por que você acha que os projetistas do TCP escolheram não efetuar uma retransmissão rápida logo após a recepção da primeira duplicata do ACK para um dado segmento? Slide 48 3: Camada de Transporte3c-48 Figura 3.31 00 sendbase = número de seqüência inicial 01 nextseqnum = número de seqüência inicial 02 03 loop (forever) { 04 switch(event) 05 event: dados recebidos da aplicação acima 06 cria segmento TCP com número de seqüência nextseqnum 07 inicia temporizador para segmento nextseqnum 08 passa segmento para IP 09 nextseqnum = nextseqnum + comprimento(dados) 10 event: expirado temporizador de segmento c/ no. de seqüência y 11 retransmite segmento com número de seqüência y 12 calcula novo intervalo de temporização para segmento y 13 reinicia temporizador para número de seqüência y 14 event: ACK recebido, com valor de campo ACK de y 15 se (y > sendbase) { /* ACK cumulativo de todos dados até y */ 16 cancela temporizadores p/ segmentos c/ nos. de seqüência < y 17 sendbase = y 18 } 19 senão { /* é ACK duplicado para segmento já reconhecido */ 20 incrementa número de ACKs duplicados recebidos para y 21 if (número de ACKs duplicados recebidos para y == 3) { 22 /* TCP: retransmissão rápida */ 23 reenvia segmento com número de seqüência y 24 reinicia temporizador para número de seqüência y 25 } 26 } /* fim de loop forever */ Remetente TCP simplificado Slide 49 3: Camada de Transporte3c-49 Problema 19 Considere o procedimento do TCP para estimar o RTT (tempo de ida e volta). Suponha que x = 0,1. Seja SampleRTT 1 a amostra mais recente do RTT, seja SampleRTT 2 a amostra do RTT anterior a ela, etc. a) Para uma dada conexão TCP, suponha que quatro reconhecimentos tenham sido recebidos com as respectivas amostras de RTT SampleRTT 4, SampleRTT 3, SampleRTT 2 e SampleRTT 1. Expresse EstimatedRTT em termos das quatro amostras do RTT. Slide 50 3: Camada de Transporte3c-50 Problema 19 (cont.) b) Generalize a sua fórmula para n amostras de tempo de ida e volta. c) Para a fórmula da parte (b) deixe que n tenda a infinito. Comente o porquê deste procedimento de média ser chamado de média móvel exponencial. Slide 51 3: Camada de Transporte3c-51 Problema 20 r Em relação à Figura 3.51 que ilustra a convergência do algoritmo de crescimento aditivo e decrescimento multiplicativo do TCP, suponha que ao invés de um decrescimento multiplicativo, o TCP diminuísse o tamanho da janela por um valor constante. r O algoritmo resultante, com crescimento e decrescimento aditivos, convergiria para um algoritmo que divida igualmente a banda? r Justifique a sua resposta utilizando um diagrama semelhante ao da Figura 3.51. Slide 52 3: Camada de Transporte3c-52 Figura 3.51 Duas sessões concorrentes: r Aumento aditivo dá gradiente de 1, enquanto vazão aumenta r decrementa multiplicativa diminui vazão proporcionalmente R R compartilhamento igual da banda Vazão da conexão 1 Vazão da conexão 2 evitar congestionamento: aumento aditivo perda: diminui janela por fator de 2 evitar congestionamento: aumento aditivo perda: diminui janela por fator de 2 Slide 53 3: Camada de Transporte3c-53 Problema 21 r Relembre o modelo idealizado para a dinâmica do TCP em regime permanente. No período de tempo desde que a janela da conexão varia de (W.MSS)/2 para W.MSS, é perdido apenas um pacote (ao final do período). a) Mostre que a taxa de perdas (L) é igual a Slide 54 3: Camada de Transporte3c-54 Problema 21 (cont.) b) Use o resultado acima para mostrar que se uma conexão tem taxa de perda L, então a sua largura de banda média é dada aproximadamente por: Largura de banda média da conexão ~ 1,22. MSS/[RTT.sqrt(L)] Slide 55 3: Camada de Transporte3c-55 Problema 22 r Considere enviar um objeto de tamanho O = 100 Kbytes do servidor para o cliente. Seja S = 536 bytes e RTT = 100 mseg. Suponha que o protocolo de transporte utilize janelas estáticas de tamanho W. a) Para uma taxa de transmissão de 28 Kbps, determine a menor latência possível. Determine o tamanho mínimo da janela que atinge esta latência. b) Repita (a) para 100 Kbps. c) Repita (a) para 1 Mbps. d) Repita (a) para 10 Mbps. Slide 56 3: Camada de Transporte3c-56 Problema 23 r Suponha que o TCP incremente a sua janela de congestionamento de dois ao invés que de um para cada reconhecimento recebido durante a partida lenta. Portanto, a primeira janela consistiria de um segmento, a segunda de três segmentos, a terceira de nove segmentos, etc. Para este procedimento de partida lenta: a) Expresse K em termos de O e S. b) Expresse Q em termos de RTT, S e R. c) Expresse a latência em termos de P = min(K- 1,Q), O, R e RTT. Slide 57 3: Camada de Transporte3c-57 Problema 24 r Considere o caso em que RTT = 1 segundo e O = 100 Kbytes. Prepare um gráfico (semelhante aos da Seção 3.7.2) que compare a latência mínima (O/R+2 RTT) com a latência com a partida lenta para R = 28 Kbps, 100 Kbps, 1 Mbps e 10 Mbps. Slide 58 3: Camada de Transporte3c-58 TCP: modelagem de latência Caso 1: latência = 2RTT + O/R Caso 2: latência = 2RTT + O/R + (K-1)[S/R + RTT - WS/R] K:= O/WS Slide 59 3: Camada de Transporte3c-59 Problema 25 r Verdadeiro ou Falso? a) Se uma página Web consistir de exatamente um objeto, então as conexões não-persistente e persistente terão exatamente o mesmo tempo de resposta. b) Considere enviar um objeto de tamanho O de um servidor para um browser através do TCP. Se O > S, onde S é o tamanho máximo do segmento, então o servidor dará pelo menos uma parada. Slide 60 3: Camada de Transporte3c-60 Problema 25 r Verdadeiro ou Falso? c) Suponha que uma página Web consiste de 10 objetos, cada um de tamanho O bits. Para o HTTP persistente, a parcela do tempo de resposta correspondente aos tempos de ida e volta é de 20 RTT. d) Suponha que uma página Web consiste de 10 objetos, cada um de tamanho O bits. Para o HTTP não-persistente com 5 conexões paralelas, a parcela do tempo de resposta correspondente aos tempos de ida e volta é de 12 RTT. Slide 61 3: Camada de Transporte3c-61 Problema 26 r A análise para janelas dinâmicas no texto assume que existe apenas um enlace entre o servidor e o cliente. r Refaça a análise para T enlaces entre o servidor e o cliente. r Assuma que a rede não congestione de modo que os pacotes não sofrem atrasos de enfileiramento. No entanto, os pacotes experimentam o atraso de armazenamento- e-retransmissão. Slide 62 3: Camada de Transporte3c-62 Problema 26 (cont.) r A definição do RTT é a mesma apresentada na seção sobre controle de congestionamento do TCP. r (Dica: O tempo desde que o servidor envia o primeiro segmento até receber o reconhecimento é TS/R + RTT). Slide 63 3: Camada de Transporte3c-63 Problema 27 r Recorde a discussão no final da Seção 3.7.3 sobre o tempo de resposta para uma página Web. r Para o caso de conexões não-persistentes, determine uma expressão geral para a fração do tempo de resposta que é devida à partida lenta do TCP. Slide 64 3: Camada de Transporte3c-64 Problema 28 r No HTTP persistente, todos os objetos são enviados pela mesma conexão TCP. r Como discutido no Capítulo 2, uma das motivações por trás do HTTP persistente (com pipelining) é diminuir os efeitos do estabelecimento da conexão TCP e a partida lenta no tempo de resposta para a página Web. r Neste problema, nós investigamos o tempo de resposta para HTTP persistente. r Assuma que o cliente solicita todas as imagens de uma só vez, mas apenas após receber toda a página HTML básica. Slide 65 3: Camada de Transporte3c-65 Problema 28 (cont.) r Seja M + 1 o número de objetos e O o tamanho de cada objeto. a) Mostre que o tempo de resposta toma a forma (M + 1)O/R + 3RTT + latência devido à partida lenta. Compare a contribuição dos RTTs nesta expressão com a contribuição no HTTP não- persistente. Slide 66 3: Camada de Transporte3c-66 Problema 28 (cont.) b) Assuma que K = log 2 (O/S + 1) é um inteiro; portanto, a última janela do arquivo HTML base transmite uma janela inteira de segmentos, ou seja, a janela K transmite 2 K-1 segmentos. Seja P´= min{Q,K´- 1} e r Note que K´ é o número de janelas que cobrem um objeto de comprimento (M+1)O e P´ é o número de períodos de interrupção ao enviar o objeto grande sobre uma única conexão TCP. Slide 67 3: Camada de Transporte3c-67 Problema 28 (cont.) r Suponha (incorretamente) que o servidor possa enviar as imagens sem esperar pelo pedido formal de imagens pelo cliente. r Mostre que o tempo de resposta é o mesmo de enviar um objeto grande de tamanho (M+1)O: Slide 68 3: Camada de Transporte3c-68 Problema 28 (cont.) c) O tempo de resposta real para o HTTP persistente é um pouco maior do que a aproximação acima. Isto acontece porque o servidor deve esperar por uma solicitação das imagens antes de enviá-las. Em particular, o tempo de interrupção entre a K-ésima e a (K+1)-ésima janela não é [S/R + RTT + 2 K-1 (S/R)] + e sim RTT. r Mostre então que o tempo de resposta é dado por: Slide 69 3: Camada de Transporte3c-69 Problema 29 r Considere o cenário em que RTT = 100 mseg, O = 5 Kbytes, S = 536 bytes e M = 10. r Construa um gráfico que compare os tempos de resposta para conexões não-persistente e persistente para 28 Kbps, 100 Kbps, 1 Mbps e 10 Mbps. r Note que o HTTP persistente possui um tempo de resposta substancialmente menor que o HTTP não- persistente para todas as taxas de transmissão, exceto a de 28 Kbps. Slide 70 3: Camada de Transporte3c-70 Problema 30 r Repita a questão acima para o caso de RTT = 1 seg, O = 5 Kbytes, S = 536 bytes e M = 10. r Note que para estes parâmetros, o HTTP persistente possui um tempo de resposta significativamente inferior que o do HTTP não-persistente para todas as taxas de transmissão. Slide 71 3: Camada de Transporte3c-71 Problema 31 r Considere agora o caso do http não-persistente com conexões TCP paralelas. Lembre que os browsers tipicamente operam neste modo quando utilizam o HTTP/1.0. r Seja X o número máximo de conexões paralelas que o cliente (browser) tem permissão para abrir. r Neste modo, o cliente inicialmente utiliza uma conexão TCP para obter o arquivo HTML base. Após receber este arquivo HTML base o cliente estabelece M/X conjuntos de conexões TCP, onde cada conjunto possui X conexões paralelas. Slide 72 3: Camada de Transporte3c-72 Problema 31 (cont.) r Argumente que o tempo total de resposta toma a forma de: Tempo de resposta = (M + 1)O/R + 2(M/X + 1) RTT + latência devida às interrupções da partida lenta. r Compare a contribuição do termo envolvendo o RTT para o caso das conexões persistentes com o caso de conexões não-persistentes (e não- paralelas). Slide 73 3: Camada de Transporte3c-73 Questões de Discussão 1. Considere áudio armazenado em streams. r Faz sentido rodar a aplicação sobre o UDP ou sobre o TCP? r Qual deles a RealNetworks utiliza? Por que? r Há algum outro produto de áudio armazenado em streams? r Que protocolos de transporte eles utilizam e por que?
Comments
Report "3: Camada de Transporte3c-1 Capítulo 3: Questões de Revisão."