Buscar

Exercício de fixação do Capitulo 03 - Kurose

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Exercício de fixação do Capitulo 03 
 
1 – Suponha que uma camada de rede forneça o seguinte serviço. A camada de rede no computador fonte aceita 
um segmento de tamanho máximo de 1200 bytes e um endereço de computador alvo da camada de transporte. 
Esta, então, garante encaminhar o segmento para a camada de transporte no computador alvo. Suponha que 
muitos processos de aplicação de rede possam estar sendo executados no computador alvo. 
(A) Crie, da forma mais simples, o protocolo da camada de transporte possível que levará os dados da aplicação 
para o processo desejado no computador alvo. Suponha que o sistema operacional do computador alvo 
determinou um número de porta de 4 bytes para cada processo de aplicação em execução. 
 Primeiro vamos chamar o protocolo de STP (Simple Transport Protocol - Protocolo de Transporte Simples). 
 Do lado do emissor, o STP aceita do processo emissor um bloco de dados que não exceda 1196 bytes, um 
endereço de host de destino e um número de porta de destino. 
 O STP adiciona 4 bytes no cabeçalho para cada bloco e insere o número de porta do processo de destino 
neste cabeçalho. 
 O STP então dá então o endereço do host de destino e o segmento resultante para a camada de rede. 
 A camada de rede entrega o segmento para o STP no host de destino. 
 O STP então examina o número de porta no segmento, extrai os dados do segmento e os repassa para o 
processo, identificado pelo número de porta. 
(Endereço de destino, porta de destino e os dados. ) 
b) Modifique este protocolo de modo que ele forneça um “endereço de retorno” para o processo-alvo. 
 O segment agora possui 2 campos no cabeçalho: um campo para a porta de origem e um campo para a porta de 
destino. 
 Do lado do emissor, STP aceita um bloco de dados não excedendo 1192 bytes, um endereço de host de 
destino, um número de porta de origem e um número de porta de destino. 
 O STP cria um segment que contém os dados da aplicação, o número da porta de origem e o número da porta 
de destino. 
 Ele então dá o segmento e o endereço do host de destino para a camada de rede. 
 Após receber o segmento, no host de destino, o STP devolve ao aplicativo os seus dados e também o número 
de porta de origem. 
c) Em seus protocolos, a camada de transporte “tem de fazer algo” no núcleo da rede de computadores? 
Não, a camada de transporte não faz nada no núcleo da rede (nos roteadores), ela está presente apenas nos 
hospedeiros (Sistemas finais). 
2 – Considere um planeta onde todos possuam uma família com seis membros, cada família viva em sua própria 
casa, cada casa possua um endereço único e cada pessoa em certa casa possua um único nome. Suponha que 
este planeta possua um serviço postal que entregue cartas da casa fonte à casa alvo. O serviço exige que (i) a 
carta esteja em um envelope e que (ii) o endereço da casa alvo (e nada mais) esteja escrito claramente no 
envelope. Suponha que cada família possua um membro representante que recebe e distribui cartas para outros 
membros da família. As cartas não apresentam necessariamente qualquer indicação dos destinatários das 
cartas. 
 a) Utilizando a solução do problema 1 como inspiração, descreva um protocolo que os representantes possam 
utilizar para entregar cartas de um membro remetente de uma família para um membro destinatário de outra 
família. 
 Para enviar uma carta, um membro da família deve dar sua carta para o delegado (membro representante da 
família que envia/recebe/distribui as cartas para os outros membros), o endereço da casa de destino e o nome 
do destinatário. 
 O delegado então escreve o nome do destinatário no topo da carta; coloca a carta em um envelope e escreve o 
endereço da casa de destino no envelope. 
 O delegado então entrega a carta ao serviço postal planetário. 
 Na casa da família destinatária, o delegado (da outra família) recebe a carta do serviço de correio, tira a carta 
do envelope e verifica o nome do destinatário escrito a parte superior da carta, entregando-a então ao membro 
da família com este nome. 
b) Em seu protocolo, o serviço postal precisa abrir o envelope e verificar a carta para fornecer o serviço? 
 Não, o serviço postal precisa apenas que o endereço esteja escrito corretamente para funcionar, para ele não importa o 
que esteja no pacote, ou no nosso caso, na carta. 
3 – Considere uma conexão TCP entre o hospedeiro A e o hospedeiro B. Suponha que os segmentos TCP que 
trafegam do hospedeiro A tenham número de porta fonte x e o 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? 
Número de porta origem “Y” e número de porta destino “X”. 
4 – Descreva por que um desenvolvedor de aplicação pode escolher rodar uma aplicação sobre UDP em vez de 
sobre o TCP. 
 A escolha do UDP pode se dar ao fato de que o programador quer ter um melhor controle sobre quais dados vão ser 
enviados e quando, o UDP não estabelece a conexão, então, não sobre o atraso de conexão, não tem controle de 
congestionamento, ou seja, o UDP envia pacotes sem se controlar, e o UDP tem baixa sobrecarga no cabeçalho. 
5 – Por que o tráfego de voz e de vídeo é frequentemente enviado por meio do UDP e não do TCP na Internet de 
hoje? (Dica: A resposta que procuramos não tem nenhuma relação com o mecanismo de controle de 
congestionamento no TCP) 
 Como a maioria dos firewalls são configurados para bloquear o tráfego TCP, o uso do UDP para o tráfego de voz e 
vídeo permite que o tráfego atravesse os firewalls. 
6 – É 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? 
 Sim. O desenvolvedor da aplicação pode inserir transferência confiável de dados no protocolo da camada de aplicação; 
entretanto, isto vai exigir uma quantidade significativa de trabalho e testes. 
7 – 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 pelo mesmo socket no Computador C? Se 
sim, como o processo no computador C saberá que esses dois segmentos vieram de dois computadores 
diferentes? 
 Sim, ambos os segmentos serão direcionados para o mesmo socket. Entretanto, para cada segmento recebido, na 
interface socket, o Sistema Operacional irá fornecer ao processo o endereço IP para determinar a origem dos segmentos 
individuais. 
8 – Suponha que um servidor da Web seja executado no Computador C na porta 80. Esse servidor utiliza 
conexões continuas 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 vão passando por 
diferentes sockets, dois desses sockets possuem a porta 80? Discuta e explique. 
 Para cada conexão persistente, o servidor Web cria sockets separados. Cada socket é identificado cm uma tupla 
quádrupla: (endereço IP de origem, número da porta de origem, endereço IP de destino, número da porta de destino). 
Quando o host C recebe um datagrama IP ele examina estes quatro campos no datagrama/segmento para determinar a 
qual socket ele deve entregar os dados do segmento TCP. Assim, as requisições de A e B passam através de sockets 
diferentes. O identificador para ambos os sockets tem a porta 80 como destino, no entanto, os identificadores para estes 
sockets têm diferentes valores para o IP de origem. Ao contrário do UDP, quando a camada de transporte passa a carga 
de um segmento TCP para o processo da aplicação, ele não especifica o endereço IP de origem, já que isto está 
implicitamente especificado pelo identificador do socket. 
 
9 – Nos nossos protocolosrdt, por que precisamos introduzir números de sequência? 
 Os números de sequência são necessários para que o receptor possa saber se um pacote recebido contém novos 
dados ou é uma retransmissão. 
10 - Nos nossos protocolos rdt, por que precisamos introduzir temporizadores? 
Para lidar com as perdas no canal. Se o ACK para um pacote transmitido não é recebido dentro do período de duração 
do temporizador para o pacote, o pacote (ou a sua ACK ou NACK) é assumido como tendo sido perdido. Assim, o pacote 
é retransmitido. 
11 – 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. 
Um temporizador ainda seria necessário no protocolo rdt 3.0. Se o tempo de ida e volta (RTT) é conhecido então a única 
vantagem será que o emissor sabe com certeza que o pacote ou o ACK (ou NACK) para o pacote foi perdido em 
comparação com a situação real, onde esta informação pode estar a caminho para o remetente, após a expiração do 
timer. No entanto, para detectar a perda para cada pacote, um temporizador de duração constante.
 
 
14- Verdadeiro ou falso. 
(A) O hospedeiro A está enviando ao hospedeiro B um arquivo grande por uma conexão TCP. Suponha que o 
hospedeiro B não tenha dados para enviar para o hospedeiro A. O hospedeiro não enviará reconhecimentos para 
o hospedeiro A porque ele não pode dar carona aos reconhecimentos dos dados. 
(B) O tamanho de rwnd do TCP nunca muda enquanto dura a conexão. 
(C) Suponha que o hospedeiro A esteja enviando ao hospedeiro B um arquivo grande por uma conexão TCP. O 
número de bytes não reconhecidos que o hospedeiro A envia não pode exceder o tamanho do buffer de 
recepção. 
(D) Imagine que o hospedeiro A esteja enviando ao hospedeiro B um arquivo grande por uma conexão TCP. Se 
o número de sequência para um segmento dessa conexão for m, então o número de sequência para o segmento 
subsequente será necessariamente m + 1. 
(E) O segmento TCP tem um campo em seu cabeçalho para Rwnd. 
(F) Suponha que o último SampleRTT de uma conexão TCP seja igual a 1 segundo. Então, o valor corrente de 
TimeoutInterval para a conexão será necessariamente ajustado para um valor ≥ 1 segundo. 
(G) Imagine que o hospedeiro A envie ao hospedeiro B, por uma conexão TCP, um segmento com o número de 
sequência 38 e 4 bytes de dados. Nesse mesmo segmento, o número de reconhecimento será necessariamente 
42 
 
 A – Falso 
B – Falso. 
C – Verdadeiro 
D – Falso 
E – Verdadeiro 
F – Falso 
G - Falso
 
15 – Suponha que o hospedeiro A envie dois segmentos TCP um atrás do outro ao hospedeiro B sobre uma 
conexão TCP. O primeiro segmento tem número de sequência 90 e o segundo, número de sequência 110. 
(A) Quantos dados tem o primeiro segmento? 
O primeiro segmento tem 20 bytes. 
 
B – Suponha que o primeiro segmento seja perdido, mas o segundo chegue a B. No reconhecimento que B envia 
a A, qual será o número de reconhecimento? 
 O número de reconhecimento será 90, pois o hospedeiro B ainda está esperando o primeiro segmento. 
16 – Considere o exemplo do Telnet discutido na Seção 3.5. Alguns segundos após o usuário digitar a letra ‘C’, 
ele digitará ‘R’. Depois disso, quantos segmentos serão enviados e o que será colocado nos campos de número 
de sequência e de reconhecimento dos segmentos? 
 1° segmento, de A -> B, Seq=43, Ack=80; Dados=’R’. 
 2° segmento, de B -> A seq=80, Ack=44, dados ‘R’; 
 3° segmento, de A -> B, seq=44, ack=81, dados Nothing. 
17 - Suponha que duas conexões TCP estejam presentes em algum enlace congestionado de velocidade R bps. 
Ambas as conexões têm um arquivo imenso para enviar (na mesma direção, pelo enlace congestionado). As 
transmissões dos arquivos começam exatamente ao mesmo tempo. Qual é a velocidade de transmissão que o 
TCP gostaria de dar a cada uma das conexões? 
 R/2, a equidade da conexão. 
18 – Verdadeiro ou falso: considere o controle de congestionamento no TCP. Quando um temporizador expira no 
remetente, o “valor de ssthresh” é ajustado para a metade de seu valor anterior 
Falso, o ssthresh é atualizado para a metade do ultimo valor de cwnd.

Outros materiais

Outros materiais