Capítulo 3: Questões de Revisão 3: Camada de Transporte 3c-1 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? 3: Camada de Transporte 3c-2 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? 3: Camada de Transporte 3c-3 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. 3: Camada de Transporte 3c-4 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. 3: Camada de Transporte 3c-5 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. 3: Camada de Transporte 3c-6 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. 3: Camada de Transporte 3c-7 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. 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? a) 3: Camada de Transporte 3c-8 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? 3: Camada de Transporte 3c-9 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? 3: Camada de Transporte 3c-10 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. 3: Camada de Transporte 3c-11 Problemas 3: Camada de Transporte 3c-12 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? 3: Camada de Transporte 3c-13 Problema 2 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? 3: Camada de Transporte 3c-14 Problema 3 Considere a nossa motivação para corrigir o protocolo rdt2.1. compute chksum make_pkt(sndpkt, NAK, chksum) udt_send(sndpkt) compute chksum make_pkt(sndpkt, NAK, chksum) udt_send(sndpkt) 3: Camada de Transporte 3c-15 Problema 3 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á. 3: Camada de Transporte 3c-16 Figura 3.11 3: Camada de Transporte 3c-17 Problema 4 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? 3: Camada de Transporte 3c-18 rdt3.0: remetente 3: Camada de Transporte 3c-19 Problema 5 Desenhe a máquina de estados finitos (FSM – Finite State Machine) para o lado do receptor do protocolo rdt 3.0. 3: Camada de Transporte 3c-20 rdt3.0 em ação 3: Camada de Transporte 3c-21 rdt3.0 em ação 3: Camada de Transporte 3c-22 Receptor do rdt2.2 3: Camada de Transporte 3c-23 Problema 6 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. 3: Camada de Transporte 3c-24 Figura 3.16 3: Camada de Transporte 3c-25 Problema 7 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. 3: Camada de Transporte 3c-26 rdt2.1 3: Camada de Transporte 3c-27 Problema 8 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). 3: Camada de Transporte 3c-28 rdt3.0: remetente 3: Camada de Transporte 3c-29 Problema 9 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%? 3: Camada de Transporte 3c-30 Desempenho de rdt3.0 rdt3.0 funciona, porém seu desempenho é muito ruim exemplo: enlace de 1 Gbps, retardo fim a fim de 15 ms, pacote de 1KB: Ttransmitir= 8kb/pacote = 8 microseg 10**9 b/seg 8 microseg fração do tempo = = 0,00015 Utilização = U = remetente ocupado 30.016 mseg pac. de 1KB a cada 30 mseg -> vazão de 33kB/seg num enlace de 1 Gbps protocolo limita uso dos recursos físicos! 3: Camada de Transporte 3c-31 Problema 10 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? 3: Camada de Transporte 3c-32 Problema 11 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. 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. 3: Camada de Transporte 3c-33 Problema 11 (cont.) Suponha que o canal possa perder mensagens mas não corromperá nem reordenará as mensagens. Projete um protocolo de controle de erro para a transferência confiável unidirecional das mensagens. 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. 3: Camada de Transporte 3c-34 Problema 11 (cont.) 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. 3: Camada de Transporte 3c-35 Problema 12 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. 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). 3: Camada de Transporte 3c-36 Problema 12 (cont.) 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. (Dica: A FSM para B deve ser essencialmente a mesma que para C). Também apresente uma descrição do(s) formato(s) do(s) pacote(s) utilizado(s). 3: Camada de Transporte 3c-37 Problema 13 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. 3: Camada de Transporte 3c-38 Problema 14 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. 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. Apenas quando B recebe uma mensagem R é que pode enviar uma mensagem de dados (D) de volta a A no canal B-A. A deve entregar exatamente uma cópia de cada mensagem D para a camada superior. 3: Camada de Transporte 3c-39 Problema 14 Convenções (cont.): 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. Os atrasos nos dois canais são variáveis e desconhecidos. 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. Use apenas os mecanismos que sejam absolutamente necessários. 3: Camada de Transporte 3c-40 Problema 15 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? 3: Camada de Transporte 3c-41 Figura 3.26: dilema da SR Exemplo: nos. de seq : 0, 1, 2, 3 tam. de janela =3 receptor não vê diferença entre os dois cenários! incorretamente passa dados duplicados como novos em (a) Q: qual a relação entre tamanho de no. de seq e tamanho de janela? 3: Camada de Transporte 3c-42 Problema 16 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. 3: Camada de Transporte 3c-43 Problema 16 (cont.) 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. 3: Camada de Transporte 3c-44 Problema 17 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. 3: Camada de Transporte 3c-45 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. 3: Camada de Transporte 3c-46 Problema 18 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? 3: Camada de Transporte 3c-47 Figura 3.31 Remetente TCP simplificado 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 */ 3: Camada de Transporte 3c-48 Problema 19 Considere o procedimento do TCP para estimar o RTT (tempo de ida e volta). Suponha que x = 0,1. Seja SampleRTT1 a amostra mais recente do RTT, seja SampleRTT2 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 SampleRTT4, SampleRTT3, SampleRTT2 e SampleRTT1. Expresse EstimatedRTT em termos das quatro amostras do RTT. 3: Camada de Transporte 3c-49 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. 3: Camada de Transporte 3c-50 Problema 20 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. O algoritmo resultante, com crescimento e decrescimento aditivos, convergiria para um algoritmo que divida igualmente a banda? Justifique a sua resposta utilizando um diagrama semelhante ao da Figura 3.51. 3: Camada de Transporte 3c-51 Figura 3.51 Duas sessões concorrentes: Aumento aditivo dá gradiente de 1, enquanto vazão aumenta decrementa multiplicativa diminui vazão proporcionalmente R compartilhamento igual da banda perda: diminui janela por fator de 2 evitar congestionamento: aumento aditivo perda: diminui janela por fator de 2 evitar congestionamento: aumento aditivo Vazão da conexão 1 R 3: Camada de Transporte 3c-52 Problema 21 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 1 L 3 2 3 w w 8 4 3: Camada de Transporte 3c-53 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)] 3: Camada de Transporte 3c-54 Problema 22 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. 3: Camada de Transporte 3c-55 Problema 23 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(K1,Q), O, R e RTT. 3: Camada de Transporte 3c-56 Problema 24 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. 3: Camada de Transporte 3c-57 TCP: modelagem de latência Caso 1: latência = 2RTT + O/R K:= O/WS Caso 2: latência = 2RTT + O/R + (K-1)[S/R + RTT - WS/R] 3: Camada de Transporte 3c-58 Problema 25 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. 3: Camada de Transporte 3c-59 Problema 25 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. 3: Camada de Transporte 3c-60 Problema 26 A análise para janelas dinâmicas no texto assume que existe apenas um enlace entre o servidor e o cliente. Refaça a análise para T enlaces entre o servidor e o cliente. 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 armazenamentoe-retransmissão. 3: Camada de Transporte 3c-61 Problema 26 (cont.) A definição do RTT é a mesma apresentada na seção sobre controle de congestionamento do TCP. (Dica: O tempo desde que o servidor envia o primeiro segmento até receber o reconhecimento é TS/R + RTT). 3: Camada de Transporte 3c-62 Problema 27 Recorde a discussão no final da Seção 3.7.3 sobre o tempo de resposta para uma página Web. 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. 3: Camada de Transporte 3c-63 Problema 28 No HTTP persistente, todos os objetos são enviados pela mesma conexão TCP. 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. Neste problema, nós investigamos o tempo de resposta para HTTP persistente. Assuma que o cliente solicita todas as imagens de uma só vez, mas apenas após receber toda a página HTML básica. 3: Camada de Transporte 3c-64 Problema 28 (cont.) 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ãopersistente. 3: Camada de Transporte 3c-65 Problema 28 (cont.) b) Assuma que K = log2 (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 2K-1 segmentos. Seja P´= min{Q,K´- 1} e O K log2 M 1 1 S K´ é o número de janelas que cobrem um objeto de comprimento (M+1)O e P´ é o número de Note que períodos de interrupção ao enviar o objeto grande sobre uma única conexão TCP. 3: Camada de Transporte 3c-66 Problema 28 (cont.) Suponha (incorretamente) que o servidor possa enviar as imagens sem esperar pelo pedido formal de imagens pelo cliente. Mostre que o tempo de resposta é o mesmo de enviar um objeto grande de tamanho (M+1)O: ( M 1)O S S P 2 RTT P RTT 2 1 R R R 3: Camada de Transporte 3c-67 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 + 2K-1(S/R)]+ e sim RTT. Mostre então que o tempo de resposta é dado por: (M 1)O S S S S 3RTT P RTT 2P 1 RTT 2K 1 R R R R R 3: Camada de Transporte 3c-68 Problema 29 Considere o cenário em que RTT = 100 mseg, O = 5 Kbytes, S = 536 bytes e M = 10. 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. Note que o HTTP persistente possui um tempo de resposta substancialmente menor que o HTTP nãopersistente para todas as taxas de transmissão, exceto a de 28 Kbps. 3: Camada de Transporte 3c-69 Problema 30 RTT = 1 seg, O = 5 Kbytes, S = 536 bytes e M = Repita a questão acima para o caso de 10. 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. 3: Camada de Transporte 3c-70 Problema 31 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. Seja X o número máximo de conexões paralelas que o cliente (browser) tem permissão para abrir. 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. 3: Camada de Transporte 3c-71 Problema 31 (cont.) 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. 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ãoparalelas). 3: Camada de Transporte 3c-72 Questões de Discussão 1. Considere áudio armazenado em streams. Faz sentido rodar a aplicação sobre o UDP ou sobre o TCP? Qual deles a RealNetworks utiliza? Por que? Há algum outro produto de áudio armazenado em streams? Que protocolos de transporte eles utilizam e por que? 3: Camada de Transporte 3c-73