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
Download

Exercícios