EXERCÍCIOS DE REVISÃO REDES DE COMPUTADORES EDGARD JAMHOUR Segundo Bimestre Exercício 1: Indique as afirmativas verdadeiras sobre o funcionamento do TCP e o UDP. I. O protocolo TCP transmite dados na forma de um fluxo contínuo de bytes. Isto significa que o processo de “empacotamento” e “desempacotamento” de bytes é feito pelo sistema operacional, de forma transparente para a aplicação. II. O protocolo UDP não é orientado a conexão. Isto significa que nenhum pacote de controle é trocado entre o cliente e o servidor, apenas pacotes de dados são efetivamente transmitidos. III. O TCP é um protocolo confiável. Isto significa que quando um pacote TCP transmitido é perdido pela rede, o receptor envia um aviso ao transmissor para que este pacote seja re-enviado. IV. No modo de transmissão multicast confiável, usando TCP, basta que um dos receptores informe ao transmissor que o pacote foi perdido, para que ele seja reenviado para todos os receptores. V. Em uma comunicação TCP, a aplicação cliente precisa ser sempre iniciada primeiro, em um número de porta aleatória. O servidor utiliza um número de porta fixo para conectar-se a porta do cliente. Exercício 2: Indique as afirmativas verdadeiras sobre o endereçamento da pilha TCP/IP: I. O protocolo IP inclui informações de endereçamento que indicam que um dado pacote deve ser processado pelo protocolo TCP ou UDP de um dado computador. II. Os protocolos TCP ou UDP incluem informações de endereçamento que indicam que um pacote deve ser processado por um determinado processo (programa) sendo executado pelo sistema operacional de um computador III. Os endereços usados pelo TCP e UDP são denominados portas, e correspondem a números inteiros de 8 bits, cujo valor pode variar entre 0 e 65535. IV. Todos as mensagens enviadas utilizando o protocolo IP, incluem ou o protocolo TCP ou o UDP, pois sem esses protocolos seria impossível endereçar um processo específico rodando em um computador. V. Quando uma mensagem em modo broadcast é enviada utilizando protocolo UDP, ela é recebida simultaneamente por todas as aplicações em todos os computadores de uma rede local, independente da porta UDP ao qual a aplicação está vinculada. Desenho auxiliar para o Execício 2 HTTP SSH DNS DHCP ICMP TCP UDP IP Ethernet Quadro enviado para um servidor HTTP: MAC Dest MAC Orig Proto =IP IP Orig IP Dest Proto =TCP Porta Orig>102 3 Porta Dest=80 HTTP DADOS Exercício 3: Indique qual mecanismo do TCP desempenha cada uma das funções relacionadas abaixo. ( ) Controla a quantidade de dados que o transmissor pode enviar ao receptor sem confirmação. ( ) Limita a velocidade de transmissão em função da capacidade de processamento do receptor. ( ) Limita a velocidade de transmissão para evitar congestionamento da rede. ( ) Reduz a quantidade de dados que pode ser transmitida sem confirmação quando um pacote não chega ao seu destino. ( ) Rejeita o pedido de uma nova conexão TCP caso não haja mais banda disponível. ( ) Mantém a taxa de transmissão constante ao longo de toda a conexão TCP. 1. Controle de Fluxo 2. Controle de Congestionamento 3. Ambos os mecanismos 4. Nenhum dos anteriores Exercício 4. Numere a ordem dos pacotes e deixe em branco os pacotes que não corresponderem a uma comunicação TCP. Suponha que a conexão é encerrada pelo cliente. ( ) O cliente envia um pacote com ACK=1, SYN=0, FIN=0 ( ) O cliente envia um pacote com ACK=1, SYN=0, FIN=1 ( ) O cliente envia um pacote com ACK=0, SYN=0, FIN=0 ( ) O cliente envia um pacote com ACK=0, SYN=1, FIN=0 ( ) O cliente envia um pacote com ACK=1, SYN=0, FIN=0 ( ) O servidor envia um pacote com ACK=1, SYN=0, FIN=1 ( ) O servidor envia um pacote com ACK=1, SYN=0 , FIN=0 ( ) O servidor envia um pacote com ACK=1, SYN=1, FIN=0 ( ) O servidor envia um pacote com ACK=0, SYN=1, FIN=1 ( ) O servidor envia um pacote com ACK=0, SYN=1, FIN=0 ( ) Cliente e Servidor trocam pacotes de dados com ACK=1, SYN=0 , FIN=0 ( ) Cliente e Servidor trocam pacotes de dados com ACK=1, SYN=1 , FIN=0 Cenário 5. Considere o seguinte cenário de transmissão de um servidor para um cliente. RcvBuffer: Buffer de recepção inicial do receptor (cliente) LastByteSent: Número de sequencia do último byte enviado (variável do transmissor) LastByteRcvd: Número de sequencia do último byte recebido (variável do receptor) LastByteAcked: Número de sequencia do último byte confirmado (variável do transmissor) RcvWindow: Janela de recepção informada através do protocolo TCP NS e NC = Números de sequência e confirmação do cabeçalho TCP read Aplica ção NC=900, RcvWindow=1000 1 2 3 NS=900 [Tamanho 300 bytes] NS=1200 [Tamanho 500 bytes] NC=1200, RcvWindow=1000 4 Transmissor (Servidor) NS=? [Tamanho Máximo?] 5 Receptor (Cliente) RcvBuffer (1000 bytes) Exercício 5. Indique as afirmativas verdadeiras em relação ao cenário anterior. I. O campo de janela de recepção (RcvWindow) está presente no cabeçalho do TCP e é usado no mecanismo denominado controle de Fluxo. Seu objetivo é evitar que o transmissor envie mais dados do que o receptor pode processar. II. O número de sequencia do último byte enviado (LastByteSend) é informado no campo número de sequencia do cabeçalho TCP (NS), e indica o último byte que está sendo transmitido nesse pacote. III. O valor indicado para RcvWindow no passo 4 está errado e não pode ser 1000. Como o servidor enviou 800 bytes e o cliente já leu 300, o valor correto deveria ser 500 bytes. IV. O valor indicado para RcvWindow pode estar correto. Como a transmissão dos bytes do servidor para o cliente não é instantânea (isto é LasByteSend >= LastByteRcvd), pode ser que os últimos 500 bytes enviados pelo servidor ainda não chegaram no cliente. V. No passo 5, os valores possíveis para o número de sequencia e o tamanho máximo da mensagem são respectivamente, NS=1700 e Tamanho= 500. Cenário 6: Considere um cenário no qual um cliente está efetuando o download de um grande arquivo de um servidor Remoto. Suponha que a versão do TCP é RENO. congwindow 2 1 Threshold Inicial=8 MSS RTT RTT RTT 3 RTT RTT RTT RTT RTT RTT tempo envio RTT (Route Trip Delay) confirmação Servidor MSS (Maximum Segment Size) Cliente Exercício 6. Indique as afirmativas verdadeiras em relação ao cenário anterior. I. Supondo que o tempo médio de confirmação de segmentos RTT=1s e que o tamanho máximo dos segmentos é de MSS=1460 bytes, a velocidade máxima de transmissão no instante 1 será de 93,44 Kbits/s. II. O instante 2 indica que ocorreu um erro e que o servidor não recebeu a confirmação correta dos últimos segmentos transmitidos. Como a velocidade foi reduzida a metade, deduz-se que o cliente enviou uma confirmação parcial de recebimento ao servidor. III. Após a falha indicada no instante 2, o valor do threshold foi reduzido para 5 MSS. IV. O instante 3 indica que ocorreu um outro erro e que o servidor não recebeu nenhuma confirmação correta dos últimos segmentos transmitidos. A velocidade de transmissão após esse erro foi reduzida para 11,68 Kbits/s. V. Se durante a transmissão do arquivo do servidor para o cliente, a rede se tornar mais lenta, devido ao congestionamento (isto é, muitos usuários usando a rede ao mesmo tempo), e o valor do RTT crescer para 2 segundos, não haverá nenhum impacto na velocidade dos dados enviados do servidor para o cliente. Exercício 7: Considerando os diferentes tipos de registros do serviço de nomes DNS, relacione as colunas. ( ) Identifica um servidor DNS que responde por um domínio de nomes. Pode haver mais de um. ( ) Indentifica o servidor DNS que é a autoridade para um domínio de nomes. ( ) Permite relacionar um nome de host a um endereço IP ( ) Permite identificar o servidor de email default de um domínio de nomes. Pode haver mais de um. ( ) Utilizado para dar nomes múltiplos para um mesmo host. ( ) Permite relacionar um endereço de host a um nome, em zonas de consulta reversa. 1. 2. 3. 4. 5. 6. 7. Registro SOA Registro A Registro MX Registro NS Registro CNAME Registro PTR Nenhuma das anteriores. Cenário 8: Considere a seguinte configuração de árvore de nomes DNS ZONA .br dns (200.0.0.1) br dns2 (200.0.0.10) ZONA pucpr.br ZONA ufpr.br pucpr ufpr ppgia dns (210.0.0.1) www eureka (210.0.0.2) www.ppgia (210.0.0.3) dns (220.0.0.1) www (220.0.0.3) dns2 (220.0.0.2) Exercício 8: Defina o arquivo das três zonas do cenário 8, indicando todos os registros do tipo SOA, NS e A. Zona br. Zona pucpr.br Zona ufpr.br Exercício 9. Ainda em relação ao cenário 8, indique as afirmações verdadeiras. I. Se os servidores do domínio ufpr.br forem configurados para responder a consultas recursivas, eles irão retornar um registro do tipo A para uma consulta relativa ao nome www.ppgia.pupcr.br. II. Se os servidores do domínio ufpr.br não forem configurados para receber consultas recursivas, eles vão retornar um registro do tipo NS para uma consulta relativa ao nome www.ufpr.br. III. Se os servidores do domínio pucpr.br não forem configurados para receber consultas recursivas, eles vão retornar um registro do tipo NS para uma consulta relativa ao nome www.ufpr.br. IV. Se um usuário do servidor dns.pucpr.br solicitar o endereço IP do servidor www.ufpr.br e receber uma resposta dita autoritária, então, certamente, essa resposta veio da cache do próprio servidor dns.pucpr.br. V. Qualquer consulta feita ao servidor dns.pucpr.br sobre servidores no dominio ufpr.br irá retornar sempre respostas não autoritárias, pois o servidor da PUCPR não é o SOA do domínio ufpr.br. Cenário 10: Considere o seguinte cenário de uma configuração utilizando DHCP. 3 2 1 10.0.0.6/30 10.0.0.5/30 210.0.0.130/25 210.0.0.131/25 Servidor DHCP 210.0.0.132/25 DNS 210.0.0.129/25 10.0.0.2/30 10.0.0.1/30 Servidor DNS 200.0.0.2/25 Servidor HTTP 200.0.0.3/25 200.0.0.1/25 INTERNET Exercício 10: Defina as opções e demais parâmetros que devem constar na configuração do servidor DHCP, supondo que ele deve configurar os clientes nas duas subredes. 1. Subnet 200.0.0.0 netmask 255.255.255.128 2. Subnet 210.0.0.128 netmask 255.255.255.128 3. Ambas 4. Nenhuma ( ( ( ( ( ( ( ( ( ) range 200.0.0.4 200.0.0.126 ) range 210.0.0.129 210.0.0.254 ) range 210.0.0.1 210.0.0.254 ) option routers 210.0.0.130 ) option routers 200.0.0.1 ) option routers 10.0.0.2 ) default-lease-time 1D ) option domain-name-servers 200.0.0.2 210.0.0.132 ) option domain-name-servers 200.0.0.132 210.0.0.2 Exercício 11: Indique as afirmativas verdadeiras em relação ao cenário 9. I. Este cenário de rede não irá funcionar, pois os clientes conectados ao roteador 1 não conseguem enviar mensagens de DHCPDISCOVER ao servidor DHCP, pois os roteadores 1 e 2 não irão propagar as mensagens em broadcast. II. Para que os clientes possam receber endereços do servidor DHCP, é necessário incluir o agente relay também no roteador 2, para que ele propague as mensagens DHCPDISCOVER em broadcast. III. O servidor DHCP fornece as seguintes informações aos clientes conectados ao roteador 1: endereço IP da rede 200.0.0.0/25, gateway default 200.0.0.1, servidor DNS primário 200.0.0.2 e servidor DNS secundário 210.0.0.132. O endereço do servidor HTTP não é configurado pelo servidor DHCP. IV. As mensagens trocadas entre os clientes e o servidor DHCP são definidas pelo protocolo BOOTP (Bootstrap Protocol), que corresponde a um protocolo de aplicação transportado pelo protocolo UDP. V. Para manter seu endereço, o cliente precisa enviar mensagens do tipo DHCPDISCOVER periodicamente para o servidor DHCP.