Você está na página 1de 4

Nome

LISTA DE EXERCÍCIOS – Respostas

1)

Cite pelo menos dois motivos para o programador na camada da aplicação escolher o protocolo UDP em vez do TCP.

Manter uma taxa de transmissão constante.

A não necessidade de envio de segmentos perdidos, por exemplo, em uma comunicação de voz sobre IP (VoIP).

2)

É possível conseguir uma transmissão confiável através do uso do protocolo UDP. Caso positivo diga como. Caso negativo, diga o porquê.

Sim é possível. Pode-se implementar mecanismos de transmissão confiável na Aplicação.

3)

O que é um round trip time (RTT)?

É o tempo de ida+volta de um pacote, ou seja, o tempo que leva para um pequeno pacote viajar do cliente ao servidor e de volta ao cliente

4)

Considerando os “protocolos” apresentados em aula (“pare e espere”), calcule a vazão e a taxa de utilização do recurso físico, considerando:

Enlace de 100 Mbps

Transmissão de pacotes de 1 kB ~ 8000 bits

Retardo fim a fim = 10 ms (tempo de propagação)

Vazão = 794 kb/s

Taxa de utilização 0,79%

5)

Considere uma conexão TCP entre o hospedeiro A e o hospedeiro B. Suponha que os segmentos TCP que trafegam do hospedeiro A para o hospedeiro B tenham número de porta da fonte x e número de porta destino y. Quais são os números de porta da fonte e do destino para os segmentos que trafegam do hospedeiro B para o hospedeiro A?

Porta fonte y

Porta destino x

6)

Descreva por que um desenvolvedor de aplicação pode escolher rodar uma aplicação sobre UDP em vez de sobre TCP.

O tráfego UDP não é regulado. Uma aplicação que usa transporte UDP pode enviar tráfego à taxa que quiser, pelo tempo que quiser.

O tamanho do cabeçalho é menor, portanto, haverá menos tráfego.

7)

É possível que uma aplicação desfrute de transferência confiável de dados mesmo quando roda sobre UDP? Caso a resposta seja afirmativa, como isso acontece?

8) Suponha que um processo no Computador C possua um socket UDP com número de porta 6789 e que o computador A e o computador B, individualmente, enviem um segmento UDP ao computador C com número de porta de destino 6789. Esses dois segmentos serão encaminhados para o mesmo socket no computador C? Se sim, como o processo no computador C saberá que esses dois segmentos vieram de computadores diferentes?

Sim os dois segmentos serão encaminhados para o mesmo socket no computador C, como são dois computadores diferentes o processo no computador C identificará pelo endereço IP, que é diferente nos dois computadores (A e B). O número da porta fonte também é utilizado na diferenciação.

9) Suponha que um servidor Web seja executado no computador C na porta 80. Esse servidor utiliza conexões contínuas e, no momento, está recebendo solicitações de dois computadores diferentes, A e B. Todas as solicitações estão sendo enviadas através do mesmo socket no computador C? Se eles estão passando por diferentes sockets, dois desses sockets possuem porta 80? Discuta e explique.

Na verdade, os servidores Web de alto desempenho atuais muitas vezes utilizam somente um processo, mas criam uma nova thread com um novo socket de conexão para cada nova conexão cliente. (Uma thread pode ser considerada um subprocesso leve). Para um servidor desses, a qualquer dado instante podem haver muitos sockets de conexão (com identificadores diferentes) ligados ao mesmo processo.

10) Nos protocolos “rdt” apresentados em aula, por que precisamos introduzir números de seqüência?

Para que o receptor possa distinguir se o segmento que está recebendo é um novo segmento ou é uma retransmissão.

11) Nos

protocolos

temporizadores?

“rdt”

apresentados

em

aula,

por

que

precisamos

introduzir

Para poder tratar as perdas de dados no canal. Se o ACK para um segmento transmitido não é recebido durante um determinado tempo, assume-se que o segmento está perdido. Neste caso, ocorre uma retransmissão.

12) Suponha que o atraso de viagem de ida e volta entre o emissor e o receptor seja constante e conhecido para o emissor. Ainda seria necessário um temporizador no protocolo “rdt 3.0”, supondo que os pacotes podem ser perdidos? Explique.

O tempo ainda será necessário. Se o RTT é conhecimento a vantagem será que o emissor terá a certeza que o segmento ou o ACK foi realmente perdido após este tempo.

13) Para que serve o DNS? Ele usa o protocolo TCP ou UDP?

O serviço de DNS faz uma conversão de nome do host para endereço IP e vice- versa. Este serviço utiliza o UDP.

14) Aplicações multimídia costumam usar o protocolo TCP ou UDP? Por quê?

Costumam utilizar o UDP, principalmente, porque estas aplicações precisam de uma taxa de envio de dados constante e toleram uma certa quantidade de perdas de pacotes.

15) O que é um timeout?

É um tempo estimado pelo protocolo TCP. Este tempo está relacionado com o RTT e assume-se que após a expiração deste tempo ocorreu a perda de um pacote.

16) Como é estabelecido o valor de timeout em uma conexão TCP? É um valor fixo?

Este valor é estimado e não é fixo, sendo atualizado a cada RTT de um pacote transmitido. Ele é calculado pela seguinte fórmula:

TimeoutInterval = EstimatedRTT + 4*DevRTT

sendo:

EstimatedRTT = (1-αααα)*EstimatedRTT + αααα*SampleRTT (Valor recomendado [RFC 2988]: α = 0,125)

DevRTT = (1-ββββ)*DevRTT + ββββ*|SampleRTT-EstimatedRTT (Valor recomendado, β = 0.25)

Onde:

SampleRTT: tempo medido da transmissão de um segmento até a respectiva confirmação.

17) Para que serve um checksum em um segmento TCP ou UDP? Como ele é formado?

O checksum serve para detectar “erros” (ex.: bits trocados) no segmento transmitido. No TCP e no UDP o conteúdo do segmento é tratado como seqüência de inteiros de 16-bits. Inicialmente, o campo checksum é zerado, posteriormente, calcula-se o seu valor como a soma (adição usando complemento de 1) do conteúdo do segmento e coloca-se o complemento do valor da soma no campo checksum do TCP ou UDP.

18) Cite uma vantagem da abordagem Volta-N com relação à retransmissão seletiva.

Não há buffer no receptor, portanto, o processo de implementação é mais simples.

19) Cite uma vantagem da abordagem Retransmissão Seletiva com relação ao Volta-N.

Se houver somente um segmento perdido, transmite-se somente este segmento. Não sendo necessário transmitir todos os outros já enviados e recebidos.

20) Qual é a grande desvantagem de uma transmissão do tipo “pare e espera” com relação a uma do tipo “janelas deslizantes”

A vazão da rede é muito baixa, pois, é necessário receber a confirmação de um segmento anteriormente enviado antes de enviar o próximo.

21) O TCP oferece garantias de banda e de tempo real?

Não. O TCP garante somente a transmissão confiável dos dados.

22) A camada de transporte coloca a informação de Porta de Emissor e Porta do Receptor em cada segmento enviado. Para que serve a informação de porta?

Serve para identificar cada conexão.