Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE FEDERAL DE OURO PRETO Instituto de Ciências Exatas e Aplicadas - ICEA Departamento de Computação e Sistemas – DECSI LISTA - REDES DE COMPUTADORES I 1 – Cite dois exemplos de aplicações para as quais é apropriado um serviço orientado a conexões. A seguir, cite dois exemplos para os quais é mais apropriado um serviço não orientado a conexões. R: O TCP da Internet é um exemplo de protocolo que implementa o serviço orientado a conexão, pois há estabelecimento de comunicação entre emissor e receptor no que diz respeito à chegada segura de dados. Um download de um programa também é um exemplo de aplicação na qual a orientação à conexão é mais apropriada, pois há necessidade que os pacotes cheguem de forma confiável para que o arquivo não seja corrompido. O protocolo UDP é não orientado à conexão, pois não há necessidade de estabelecimento de conexão prévio entre emissor e receptor. O Skype é um exemplo de aplicação que usa serviço de transporte não orientado à conexão, pois quando algum pacote se perde há travamento de áudio e vídeo, voltando ao normal logo após. 2 - Dê três exemplos de parâmetros de protocolos que possam ser negociados por ocasião do estabelecimento de uma conexão. R: Endereço de IP: É uma das identidades de uma máquina. Máscara de Sub-rede: identifica a máquina quando a estabelecimento de comunicação em redes. Gateway padrão: porta de saída de uma máquina para outra sub-rede, ou internet, endereço que indicará o caminho à uma máquina fora da rede. 3 - Supondo que todos os roteadores e hosts estão funcionando a contento e que o “software” está livre de erros, existe alguma chance, por menor que seja, que um pacote seja entregue em destino errado? R: Sim, pois o fluxo de dados pode ser interrompido ou afetado por erros comuns à uma rede, sendo assim é preciso que se tenha um controle de erros de forma a minimizar essas perdas, fazendo com que o número do circuito virtual não seja afetado para que o pacote não seja entregue no destino incorreto. 4 - Proponha um bom algoritmo de roteamento para uma rede na qual cada roteador conhece o tamanho do caminho em etapas até cada destino, para cada uma das linhas de saída, e também os comprimentos das filas para cada linha. Para simplificar, vamos supor que o tempo seja discreto e que um pacote possa mover-se à razão de uma etapa por intervalo de tempo. R: Calcula-se a média entre o comprimento da fila e o tamanho da rota: ((fila.lenght + rota.size()/2). O meor resultado será o melhor, o que tiver menos saltos(hops) em roteadores intermediários ao longo do percurso e que deve ser adotado. 5 - A fragmentação é necessária em inter-redes de circuito virtual ou apenas em sistemas de datagrama? R: A fragmentação é necessária em ambos os casos, pois os pacotes podem possuir tamanhos além do esperado, ultrapassando o limite da rede. Sendo assim a fragmentação é fundamental para que os pacotes cheguem de forma íntegra ao receptor. 6 - Você acabou de explicar o que é um protocolo ARP para um amigo. No final, ele diz o seguinte: “Entendi. Como o ARP fornece um serviço para a camada de rede, isso significa que ele faz parte da camada de enlace de dados. “O que você diz para ele? R: Digo que ele está equivocado, pois os protocolos da camada de enlace são responsáveis por manipular os quadros e que o ARP disponibiliza serviços à camada de transporte e que pertence à camada de rede. 7 – Descreva quais são as principais funções da camada de rede e quais recursos básicos ela usa para fornecer os seus serviços. R: A camada de rede está relacionada à transferência de pacotes da origem para o destino. Para alcançar seus objetivos a camada de rede deve conhecer a topologia da rede (ou seja, o conjunto de todos os roteadores e enlaces) e escolher os caminhos mais apropriados que a compõem. A camada de rede é responsável por prover conectividade ao computador e selecionar caminhos para que os pacotes de dados possam trafegar através do roteamento. Para que isso aconteça é necessário o endereçamento de IP para que dispositivos possa se conectar em uma mesma rede ou em redes diferentes. Máscara de Sub Rede: É um conceito usado também para identificação da classe IP usada em uma rede ou especificar uma configuração de rede utilizada. Endereço de Rede: É um endereço utilizado para identificar uma rede lógica sem citar nenhum host. Endereço de Broadcast: É um endereço especial usado para a comunicação com todos os hosts de uma rede. Um único pacote que é endereçado para o endereço de broadcast é enviado a todos os hosts da rede. Endereços de Host: Todo host precisa de um endereçamento único que possibilite diferenciá-lo no restante da rede. Gateway: É uma máquina conhecedora de mais redes e que outros dispositivos a usam para enviar dados quando não conhecem a rede e o IP do destinatário que deve receber aqueles dados. 8 – Apresente o papel dos roteadores no funcionamento da camada de rede destacando quais parâmetros podem ser usados para dizer se um roteador é mais robusto do que outro. R: O papel dos roteadores no funcionamento da camada de rede é propiciar o encaminhamento dos pacotes de dados entre redes de computadores. Quando um pacote de dados chega em uma de suas conexões o roteador lê a informação de endereço no pacote para determina o seu destino final. Para dizer que um roteador é mais robusto que o outro é preciso identificar alguns parâmetros como: número de portas, antenas integradas, protocolo wi-fi, distância de alcance, potência, abertura da banda, firewall e custo-benefício. 9 – Faça uma tabela comparando as principais características dos protocolos IPv4 e IPv6. R: IPV4 IPV6 Endereço de 32bits Endereço de 128bits Suporte opcional de IPSec Suporte obrigatório de IPSec Nenhuma referência a capacidade de QoS (Quality of Service) Introduz capacidades de QoS utilizando para isso o campo Flow Label Processo de fragmentação realizada pelo router A fragmentação deixa de ser realizada pelos routers e passa a ser processada pelos host emissores O cabeçalho inclui os campos de opção Todos os campos de opção foram mudados para dentro do campo extension header O Adress Resolution Protocol (ARP), utiliza requisitos do tipo Broadcast O ARP foi abandonado, sendo substituídos pelas mensagens Neibhbor Discovery Internet Resolution Management Protocol (IGMP) é utilizado para gerir relações locais de sub-redes O IGMP fio substituído por mensagens Multcast Listener Discovery Os Endereços de Broadcast são utilizados para enviar tráfego para todos os host de uma rede Deixa de existir o endereço de Broadcast, para utilizar endereços multicast O endereço tem de ser configurado manualmente Adição de funcionalidades de autoconfiguração Suporta pacotes de 576 bytes, passiveis de serem fragmentados Suporta pacotes de 1280 bytes, sem fragmentação 10 – O que é o NAT? Qual foi o objetivo de sua criação? R: É uma técnica que consiste em reescrever, utilizando-se de uma tabela hash,os endereços IP de origem de um pacote que passam por um router ou firewall de maneira que um computador de uma rede interna tenha acesso ao exterior ou Rede Mundial de Computadores (rede pública). O NAT – (Netwaor Address Translation) é uma solução temporária, seu objetivo é poupar espaço de endereçamento público, recorrendo à IPs privados e fazer uma correção no endereçamento de IPs até que a rede migre completamente ao ipv6. 11 – Quais critérios podem ser usados para fazer a classificação dos algoritmos de roteamento? R: Pode-se verificar se o são não adaptativos ou adaptativos. Quandosão não adaptativos o roteamento é estático, pois a escolha das rotas é previamente calculada na inicialização da rede, porém não responde bem às falhas. Quando são adaptativos o roteamento é dinâmico, pois alteram as decisões de roteamento para refletir mudanças de topologia e tráfego. 12 – Explique porque o uso de grafos é importante para os cálculos de rotas para os pacotes de dados. R: Os grafos são importantes para os cálculos, pois a partir deles podemos saber quais caminhos o pacote de dados terá na rede e a distância física. Dessa forma é possível saber os hops, que são os saltos visto que cada vértice pode representar um roteador diferente e as arestas representam os enlaces. 13 – Faça um resumo do funcionamento dos algoritmos de roteamento estudados. R: Flooding: Cada pacote de entrada é enviado para cada interface de saída, exceto para aquela em que chegou. O cabeçalho de cada pacote contém um contador de hops que é a cada hop quando zerado o pacote é descartado. Pode ser eficiente quando existirem vários destinos. Roteamento por vetor de distâncias: operam fazendo cada roteador manter uma tabela, que fornece a melhor distância conhecida até cada destino e determina qual enlace deve ser utilizado até chegar lá. As tabelas são atualizadas por meio da troca de informações com os vizinhos. No fim, cada roteador saberá o melhor enlace para alcançar cada destino (qual interface deve ser utilizada). Roteamento de Estado de Enlace: Foi o substituto do algoritmo de roteamento por vetor de distância. Esse algoritmo 1- descobre seus vizinhos e aprende seus endereços de rede. 2- Mede a distância ou o custo até cada um de seus vizinhos. 3- Cria um pacote que informa tudo o que ele acabou de aprender. 4 – Envia esse pacote e recebe pacotes de todos os outros roteadores. 5 – Calcula o caminho mais curto até cada um dos outros roteadores. Roteamento por Broadcast: Envio de pacote a todos os destinos simultaneamente(difusão). Cada pacote contém uma lista de destinos ou um mapa de bits indicando os destinos desejados. Quando um pacote chega a um roteador, este verifica todos os destinos para determinar o conjunto de interfaces de saída que serão necessárias. Roteamento por Multicast: Os esquemas de roteamento por multicast se baseiam nos esquemas de roteamento por broadcast que já estudamos, enviando pacotes pelas spanning trees para entrega-los aos membros do grupo enquanto utilizam a largura de banda com eficiência. Uma spanning tree é uma árvore que é um subconjunto da rede que inclui todos os roteadores, mas não contém loops. As árvores de escoamento são do tipo spanning tree. 14 – Explique a importância dos algoritmos de controle de congestionamento e apresente quais são as principais técnicas utilizadas, desde as preventivas até as mais radicais. R: É importante devido ao fato de que host emissores e receptores serem de potências variados, com isso, um buffer de receptor pode ter sua capacidade esgotada por um emissor mais veloz. A forma mais básica de evitar o congestionamento é criar uma rede que combine bem com o tráfego que ela transporta. Se existe um enlace com pouca largura de banda no caminho ao longo do qual a maior parte do tráfego é direcionada, o congestionamento é provável. Atualmente quatro algoritmos governam o controle de congestionamento de redes com protocolo TCP: Slow-Start: faz com que o transmissor não envie uma quantidade de dados superior ao que a rede é capaz de processar, minimizando o enfileiramento de pacotes na memória temporária(buffer) dos roteadores. Congestion Avoidance: age com o controle de acionamento para os demais algoritmos para o controle de congestionamento. Fast Retransmit: É uma técnica que permite que o protocolo TCP reduza o tempo para retransmitir um pacote que foi perdido devido a colisão ou congestionamento na rede. Fast Recovey: É uma variação do slow start que opera em conjunto ao fast retransmit que permite ao protocolo TCP utilizar o slow start durante a transição, fazendo com que o fluxo de dados transmitidos durante aquele período de tempo seja menor minimizando a perda de dados e ganho de tempo durante as transmissões. 15 – Quais são os principais serviços que a camada de transporte deve oferecer? R: Os principais serviços oferecidos pela camada de transporte são: 1)Controle de conexão: oferece serviços orientados a conexão primeiramente estabelecendo uma comunicação entre usuários finais e só depois começando a transmissão e serviços não orientados a conexão que tem conceitos semelhantes ao funcionamento do protocolo iP. 2) Fragmentação: é feita apenas no transmissor e receptor, pois os dispositivos de rede em geral não entendem a camada de transporte, essa fragmentação não está relacionada a que é feita pela camada de rede. 3)Endereçamento: os serviços são identificados pela sua porta e uma conexão entre sua estação e outro host é feita através de um socket. 4) Confiabilidade: Para garantir a confiabilidade, a camada de transporte oferece: controle de fluxo, controle de erros, controle de congestionamento e qualidade do serviço. 5)TCP: É o protocolo da camada de transporte responsável por oferecer confiabilidade na transmissão. 6) User Datagram Protocol: É um protocolo da camada de transporte não confiável e não orientado a conexão. Fornece apenas os serviços de endereçamento e fragmentação, não provendo confiabilidade. Possui cabeçalho menor gerando um menor overhead. 16 – O que são os sockets? Como eles podem ser utilizados? R: Os sockets foram a forma de permitir que dois processos se comuniquem (Inter-process communication). Esses processos podem ou não estar na mesma máquina. Sockets garantem a intercomunicação bidirecional entre processos, executados localmente ou em máquinas conectadas através de uma LAN/WAN. Sockets criados usam endereços para fazer referências entre si. O espaço de possíveis endereços é denominado domínio. Um soquete pode ser utilizado por várias conexões ao mesmo tempo. Em outras palavras, duas ou mais conexões podem terminar no mesmo soquete. As conexões são identificadas nas duas extremidades pelos identificadores de soquetes, ou seja, (soquete1,soquete2). Nenhum número de circuito virtual ou qualquer outro identificador é usado. 17 – Explique como ocorre o endereçamento de dados no nível da camada de transporte. R: A identificação das portas pelos protocolos UDP e TCP é pelo cabeçalho do segmento. Há campos chamados porta de origem e porta de destino. Os processos servidores conversão em portas estáticas, enquanto que os processos clientes escolhem dinamicamente a sua porta de conversação. Número de porta + endereço IP = Identifica o host e o processo que está enviando ou recebendo o segmento(Soquete). 18 – Qual é o método mais adequado para estabelecimento e encerramento de conexões? R: A flag SYN é usada para estabelecer conexões. A solicitação de conexão tem SYN = 1. A resposta contém uma confirmação e, portanto, tem SYN = 1 e ACK = 1. Basicamente, o bit SYN é usado para indicar CONNECTION REQUEST e CONNECTION ACCEPTED, enquanto o bit ACK é usado para distinguir entre essas duas possibilidades. A flag FIN é utilizada para encerrar uma conexão. A flag FIN indica que o transmissor não tem mais dados para transmitir. Entretanto, um processo pode continuar a receber dados indefinidamente, mesmo depois que a conexão tiver sido encerrada. Tanto o segmento SYN quanto o segmento FIN têm números de sequência e, portanto, são processados na ordem correta. 19 – Explique o funcionamento dos protocolos UDP e TCP. R: UDP (User Datagram Protocol) – protocolo de datagrama do usuário •O UDP oferece um meio para as aplicações enviarem datagramas IPencapsulados sem que seja necessário estabelecer uma conexão. O UDP transmite segmentos que consistem em um cabeçalho de 8bytes, seguido pela carga útil. As duas portas servem para identificar os pontos extremos nas máquinas de origem e destino. Quando um pacote UDP chega, sua carga útil é entregue ao processo associado à porta de destino. Essa associação ocorre quando a primitiva BIND ou algo semelhante são usados. O principal valor de ter o UDP em relação ao uso do IP bruto é a adição das portas de origem e destino. Sem os campos portas, a camada de transporte não saberia o que fazer com o pacote que chega. Com eles, a camada entrega o segmento encapsulado à aplicação correta. A porta de origem é necessária principalmente quando uma resposta precisa ser enviada de volta à origem. O campo Comprimento do UDP inclui o cabeçalho de 8 bytes e os dados. O comprimento mínimo é de 8 bytes, para incluir o cabeçalho. O comprimento máximo é de 65.515 bytes. Um campo opcional de Checksum do UDP também é fornecido para gerar confiabilidade extra. Ele faz o checksum do cabeçalho e dos dados. Desativado apenas para casas como VoIP. O UDP REALIZA: Uma área em que ele é especialmente útil é nas situações cliente-servidor. Normalmente, o cliente envia uma solicitação curta para o servidor e espera uma resposta curta de volta. Se a solicitação ou a resposta se perderem, o cliente pode entrar em time-out e tentar novamente. Não apenas o código é simples, mas menos mensagens são necessárias (uma em cada sentido) do que com um protocolo exigindo uma configuração inicial, comoo TCP. Uma aplicação que utiliza o UDP desse modo é o DNS (Domain Name System). O UDP NÃO REALIZA Ele não realiza controle de fluxo, controle de congestionamento ou retransmissão após a recepção de um segmento incorreto. Tudo isso cabe aos processos do usuário. O que ele faz é fornecer uma interface para o protocolo IP como recurso adicional de demultiplexação de vários processos que utilizam as portas. TCP (TransmissionControlProtocol) - foi projetado especificamente para oferecer um fluxo de bytes fim a fim confiável em uma rede interligada não confiável. O UDP é um protocolo simples e tem alguns usos muito importantes, como interações cliente- servidor e multimídia; porém, para a maioria das aplicações da Internet, é necessária uma entrega confiável e em sequência. O UDP não pode proporcionar isso, e assim foi preciso criar outro protocolo. Ele se chama TCP e é o principal elemento da Internet. O TCP foi projetado para se adaptar dinamicamente às propriedades da rede interligada e ser robusto diante dos muitos tipos de falhas que podem ocorrer. O serviço TCP é obtido quando tanto o transmissor como o receptor criam pontos extremos chamados soquetes. Cada soquete tem um número (endereço) que consiste no endereço IP do host e em um número de 16 bits local para esse host, chamado porta. Para que o serviço TCP funcione, é necessário que uma conexão seja explicitamente estabelecida entre um soquete da máquina transmissora e um soquete da máquina receptora. 20 – Cite e explique pelo menos três aplicações que são muito importantes e que usam as redes de computadores. R: Há uma aplicação que alcançou estrondoso sucesso em meados da década de 1990: a World Wide Web, abrangendo a navegação na Web, busca e o comércio eletrônico. Duas aplicações de enorme sucesso também surgiram no final do milênio — mensagem instantânea e compartilhamento de arquivos P2P. Desde 2000, temos visto uma explosão de aplicações populares de voz e vídeo, incluindo: voz sobre IP (VoIP) e vídeo conferência sobre IP, como Skype; distribuição de vídeo gerada pelo usuário, como YouTube; e filmes por demanda, como Netflix.
Compartilhar