Baixe o app para aproveitar ainda mais
Prévia do material em texto
Redes de Computadores II para SI: Primeira Lista de Exercícios Prof. Diego Passos, Universidade Federal Fluminense 2/2016 1. Resuma em uma frase a responsabilidade da camada de enlace, no contexto das camadas da pilha de protocolos TCP/IP. A responsabilidade da camada de enlace é transferir pacotes de um nó a outro. 2. O que é um quadro, no contexto da camada de enlace? É a unidade de transmissão (pacote) na camada de enlace. 3. Cite ao menos 4 serviços tipicamente providos pela camada de enlace e explique-os. • Encapsulamento e Desencapsulamento: consiste da adição (antes da transmissão) ou remoção (após a recepção) de informações de controle do protocolo do pacote em questão. Assim como nas camadas superiores, essas informações de controle são geralmente representadas na forma de um cabeçalho. No entanto, protocolos da camada de enlace muitas vezes empregam também um trailer: bits de controle adicionados ao final do pacote • Acesso ao meio: podem ser divididos em enlaces dedicados e enlaces compartilhados. Esse termo compartilhado significa que o mesmo meio físico é utilizado por múltiplos nós para a transmissão de seus pacotes. Esse compartilhamento, no entanto, não é trivial já que, normalmente, dois ou mais nós não podem transmitir ao mesmo tempo pelo enlace. • Endereçamento: no cabeçalho de um quadro constarão, ao menos, os endereços do nó transmissor e do nó receptor 1 daquele quadro. Isso é particularmente importante para enlaces compartilhados, já que múltiplos transmissores — e receptores — podem estar conectados ao mesmo enlace, justificando a necessidade dos endereços constarem no cabeçalho. É importante destacar que os endereços utilizados na camada de enlace são diferentes dos endereços da camada de rede. Esses endereços da camada de enlace são tipicamente chamados de endereços MAC1. ● Entrega confiável de dados: utilização de técnicas e mecanismos para detectar a perda de quadros transmitidos pelo enlace e sua posterior recuperação através de retransmissões. 4. Qual é a diferença entre um enlace half-duplex e um full-duplex? Half-duplex: o enlace half-duplex permite que pacotes sejam transportados entre dois nós em apenas um sentido ou nos dois sentidos porém não ao mesmo tempo. Full-duplex: o enlace full duplex permite que pacotes sejam transportados entre dois nós nos dois sentidos simultaneamente. 5. O protocolo IPv4, amplamente utilizado na camada de rede, provê o serviço de endereçamento (i.e., através da atribuição de endereços IP a interfaces de rede). Por que motivo, então, protocolos da camada de enlace muitas vezes também proveem este serviço? Os chamados endereços MAC diferem dos endereços IP, em particular, tanto em formato quanto em utilização. Enquanto endereços da camada de rede são utilizados no encaminhamento de pacotes ao longo de um caminho completo fim-a-fim, o uso dos endereços MAC se restringe à comunicação local, entre dispositivos diretamente conectados por uma rede em nível 2 — muitas vezes, isso corresponde a nós que estão em uma mesma sub-rede IP, embora isso não seja necessariamente verdade. 6. De maneira geral, como funcionam os métodos de detecção de erros? Dê um exemplo. • O transmissor insere no quadro um conjunto de bits de redundância. Esses bits são computados deterministicamente a partir dos bits do quadro original. • O quadro, contendo agora os bits de redundância, é transmitido pelo enlace. • Os bits do pacote são recebidos pelo receptor, mas alguns podem ter sido corrompidos no enlace. Note que a corrupção pode, inclusive, atingir os bits de redundância. • O receptor efetua algum tipo de computação determinística sobre os bits do quadro e de redundância. O resultado dessa computação indica probabilisticamente se o quadro está íntegro (i.e., sem corrupções). Exemplo: CRC 7. Considere a seguinte afirmação: todo método de detecção de erros pode ser utilizado também para a correção de erros. Esta afirmação é correta? Justifique. Não. Há alguns métodos que fazem apenas a detecção, como por exemplo os métodos paridade simples e checksum. 8. Considere a seguinte afirmação: os métodos de detecção de erros podem ser divididos em duas classes: os probabilísticos, que podem falhar em determinados casos, e os determinísticos, que sempre detectam qualquer tipo de erro em um pacote. Esta afirmação é correta? Justifique. (NÃO SEI SE ESTÁ CORRETA!) Não, pois detecção de erros é somente probabilística. ● Pode falhar, mas geralmente com probabilidade baixa. ● Quanto mais bits no EDC, menor a probabilidade. 9. Considere um método de detecção de erros, como o CRC ou o checksum. De forma geral,qual é a relação entre o número de bits de redundância inseridos por estes métodos e a sua capacidade de detecção de erros? Há alguma vantagem em aumentar o número de bits de redundância? Há alguma desvantagem? De modo geral, quanto maior o número de bits de redundância utilizados pelo método de detecção/correção de erros, maior a probabilidade de que os erros sejam detectados/corrigidos. Há, entretanto, métodos mais eficientes que outros na detecção de certos erros típicos introduzidos por enlaces de comunicação. Em outras palavras, dois métodos diferentes que utilizem a mesma quantidade de bits de redundância podem ter eficiências distintas na detecção/correção de erros comuns em certos tipos de enlaces. 10. O que significa a sigla FEC, no contexto de redes de computadores? Dê um exemplo de FEC visto em sala de aula. R1: A sigla FEC significa Forward Error Correction. É a capacidade de correção de erros através de bits redundantes. Um tipo de FEC é a verificação de paridade bidimensional. 11. Considere o seguinte esquema de paridade bi-dimensional. Os bytes do pacote são divididos em blocos de 16 bits, dispostos em uma matriz de 4 x 4. Para cada bloco, oito bits de paridade são calculados: um para cada linha e um para cada coluna da matriz. O esquema de paridade utilizado é a paridade par, isto é, o número de bits 1 em cada linha ou coluna contando com o bits de paridade deve ser sempre par. Suponha agora que ao receber um quadro protegido por este esquema de paridade, um receptor se depara com o seguinte bloco (e suas respectivas paridades): O que se pode afirmar sobre a mensagem recebida? Ela está incorreta? Se sim, ela pode ser corrigida? Neste caso, qual seria a mensagem correta? Ela está incorreta. Não PS: um erro ÚNICO nos próprios bits de paridade também é DETECTÁVEL e CORRIGÍVEL. A paridade bidimensional também pode detectar (mas NÃO CORRIGIR!) qualquer combinação de DOIS erros em um pacote. 12. Diferencie um enlace ponto-a-ponto de um enlace de difusão. Enlace ponto-a-ponto (ou dedicado): Conecta exatamente dois dispositivos. É usado, entre outros fins, para o estabelecimento de uma conexão através de linha discada, e um enlace ponto-a-ponto usado para interconectar um host ao seu swtich Ethernet. Enlace de difusão (ou compartilhado/enlace de acesso múltiplo/enlacede broadcast): Interconectam potencialmente vários dispositivos utilizando um único meio físico compartilhado. Exemplos: Ethernet e Wi-Fi 13. O que é uma colisão, no contexto dos enlaces compartilhados? Como as colisões afetam o desempenho no uso de tais enlaces? R1: Uma colisão ocorre quando, em um meio compartilhado, dois ou mais transmissores transmitem seus sinais simultaneamente, fazendo com que esses cheguem misturados ao receptor que se torna incapaz de decodificar os conteúdos das transmissões originais. Embora isso não seja uma verdade absoluta, colisões comumente resultam na perda dos quadros enviados. Para um enlace de 100 Mb/s, por exemplo, se 5% do tempo ´e perdido em colisões, a vazão máxima alcançável no enlace passa a ser de 95 Mb/s — desconsiderando quaisquer outras fontes de ineficiência. As colisões são, portanto, um fenômeno nocivo ao desempenho do enlace. Logo, seria interessante que houvesse alguma maneira de eliminá-las, ou pelo menos reduzir sua probabilidade de ocorrência. R2: Uma colisão ocorre quando os nós receptores recebem dois sinais misturados que foram enviados simultaneamente pelos transmissores. As colisões comumente resultam em perdas de quadros, além de tempo desperdiçado de uso do enlace. 14. Qual é a função de um protocolo de acesso múltiplo? Esses protocolos são basicamente algoritmos — normalmente distribuídos — que definem regras para o compartilhamento do meio de transmissão entre os nós. Em outras palavras, esses protocolos decidem quando cada um dos nós conectados ao meio de transmissão pode acessá-lo. Embora isso não seja sempre verdade, é comum que o protocolo de acesso múltiplo precise trocar algumas informações de controle entre os vários transmissores e, geralmente, essa troca de informações é feita através do próprio enlace compartilhado. Em outras palavras, não há comunicação fora de banda para o controle do protocolo, característica essa que impõe dificuldades adicionais ao projeto desses protocolos. [PERGUNTA DE PROVA] 15. Durante as aulas da disciplina, os protocolos de acesso múltiplo foram divididos em três categorias: particionamento de canal, acesso alternado e acesso aleatório. Explique as diferenças conceituais entre estes três tipos exemplificando-os. • Particionamento de canal: a capacidade do canal é dividida em “pedaços” independentes que podem ser atribuídos estaticamente a transmissores distintos. O termo genérico “pedaços” é usado aqui propositalmente, já que ele pode assumir significados bastante diferentes de protocolo para protocolo. Exemplos clássicos incluem a divisão em frequência, a divisão no tempo e a divisão em código. De toda forma, a característica determinante dessa família é que, uma vez atribuído a um transmissor, um pedaço passa a ser de uso exclusivo dele. Assumindo que transmissores respeitem essa divisão, colisões são impossíveis. • Acesso alternado: Nessa família, o direito de uso do enlace é alternado entre os vários transmissores. Uma vez que um transmissor ganha o direito ao uso do meio, os demais devem permanecer em silêncio. Assim como na família de particionamento de canal, esse método exclui totalmente a possibilidade de colisões, dado que todos os transmissores respeitem os direitos dos demais. Ao contrário do particionamento de canal, no entanto, esse método permite que um transmissor que não possui dados a transmitir naquele momento abra mão do seu direito de utilizar o meio em favor de outro nó. [PRECISA DE UM EXEMPLO AQUI] • Acesso aleatório: Nessa família, ao contrário das demais, o enlace não sofre qualquer divisão e a coordenação entre os transmissores é mais fraca. Basicamente, quando um transmissor possui dados a transmitir, ele pode realizar o acesso ao meio com base apenas em informações disponíveis localmente. Dada a coordenação mais fraca entre os nós, os protocolos dessa família ainda estão susceptíveis à ocorrência de colisões. Por isso, esses protocolos geralmente possuem mecanismos para a detecção da ocorrência de colisões e, nesse caso, para a sua posterior correção. O nome acesso aleatório advém da inclusão de componentes aleatórias na tomada de decisão de um nó sobre acessar ou não o meio em um dado momento — principalmente após a ocorrência de uma colisão. [PRECISA DE UM EXEMPLO AQUI] 16. Discuta a seguinte afirmação: protocolos de acesso aleatório ainda estão suscetíveis a colisões. Quando o nó tem um pacote a enviar, o nó transmite na velocidade “R” total do canal; Não há a coordenação “a priori” entre nós, assim, dois ou mais nós transmitindo simultaneamente geram colisão. O protocolo de acesso aleatório especifica como como detectar colisões bem como recuperar-se de colisões (p.ex., através de retransmissões adiadas). PS: Exemplos de protocolos MAC de acesso aleatório: - Slotted ALOHA; ALOHA; CSMA, CSMA/CD, CSMA/CA 17. Protocolos de particionamento de canal efetivamente resolvem o problema das colisões. No entanto, eles apresentam uma desvantagem clara em relação aos protocolos de acesso aleatório. Explique qual é esta desvantagem. Quando um transmissor realiza uma transmissão no protocolo de acesso aleatório ele utiliza o canal inteiro e não uma parte dele como nos protocolos de particionamento de canal. 18. Qual é a relação entre o número de transmissores em um canal compartilhado e o desempenho dos protocolos de acesso aleatório? Sob altas cargas, o protocolo de acesso aleatório não é muito eficiente pois há maiores probabilidades de colisões. Sob baixas cargas o protocolo tem um desempenho superior, maior a eficiência alcançável. 19. O IPv4 utiliza um esquema de endereçamento hierárquico devido à necessidade de escalabilidade das tabelas de roteamento. No entanto, o endereçamento provido na camada de enlace é tipicamente plano. Qual é a razão para isso? Por causa do objetivo de portabilidade. Na camada de enlace, como a comunicação está confinada à rede local, escalabilidade não é uma preocupação, viabilizando a utilização de um endereçamento plano. 20. Qual é o objetivo do protocolo ARP? Explique brevemente o seu funcionamento. Mapear um endereço de rede para um endereço físico como um endereço Ethernet/MAC. O Address Resolution Protocol é um protocolo de requisição e resposta que é executado encapsulado pelo protocolo da linha. A requisição (request) é realizada por via de Broadcast, solicitando o endereço físico (MAC) de uma determinada máquina através do seu endereço lógico (IP). Por sua vez, a resposta (reply) é fornecida de forma direta (Unicast) pela máquina com o endereço lógico requisitado, contendo então o endereço físico da mesma. No final da operação, ambos os intervenientes guardam os dados um do outro em cache de forma a otimizar a rede. 21. Descreva as principais características do Ethernet. Em especial, descreva como funciona o protocolo de acesso ao meio do Ethernet. R1: Ethernet é a tecnologia dominante para redes locais cabeadas, os dispositivosEthernet são baratos, outra característica é sua capacidade de evolução ao longo dos anos. Essa evolução incluiu a possibilidade de utilização de diversos meios físicos — que se adequam a aplicações distintas — e, principalmente, a evolução das taxas de transmissão suportadas R2: Ethernet é uma arquitetura de interconexão para redes locais - Rede de Área Local (LAN) - baseada no envio de pacotes. Ela define cabeamento e sinais elétricos para a camada física, em formato de pacotes e protocolos para a subcamada de controle de acesso ao meio (Media Access Control - MAC) do modelo OSI.[1] A Ethernet foi padronizada pelo IEEE como 802.3. 22. O CSMA/CD evita completamente a ocorrência de colisões? Justifique através de um exemplo. Não. Quanto maior o enlace, maior a probabilidade de haver colisões. Quanto maior a distância e obstáculos, a eficiência do protocolo cai. 23. Explique o que é e para que serve o backoff binário utilizado pelo Ethernet. R1: O algoritmo de backoff exponencial binário é usado pelo Ethernet em caso de colisão para minimizar a reincidência de colisões. Portanto, serve para, no caso de uma colisão, a estação retransmitir um pacote após um intervalo de tempo aleatório. Esse intervalo é calculado por um número inteiro aleatório n que multiplica pelo tempo de slot. O número aleatório pertence ao intervalo entre 0 e 2i -1, onde i é o número de colisões. R2: O backoff binário é quando o protocolo CSMA/CD estabelece um tempo de k*512 bits para cada nó esperar para transmitir seus dados após a detecção da colisão, onde k é o número de colisões que ocorreram para cada nó. 24. Discuta a seguinte afirmação: o Ethernet provê um serviço confiável, já que realiza retransmissões quando detecta colisões. Essa afirmação é falsa, pois o receptor não envia ACKs ou NACKs ao transmissor, logo não possibilita ao receptor saber que precisa retransmitir o pacote. 25. O que é um switch em uma rede Ethernet? Quais as vantagens em se utilizar este tipo de equipamento? O switch é um comutador de pacotes, responsável por armazenar e encaminhar quadros da camada de enlace de um nó para outro. As vantagens em se utilizar o switch é que ele é um comutador de pacotes e também elimina completamente a possibilidade de colisões, desde que, é claro, não haja hubs misturados a topologia da rede. 26. Discuta a seguinte afirmação: em um enlace entre um dispositivo qualquer e um switch Ethernet, não é utilizado o CSMA/CD já que colisões são impossíveis. 27. Descreva o processo de auto-aprendizado de um switch. A tabela de comutação é composta pelos endereços MAC de cada interface ligada ao switch e sua porta, cada vez que um pacote chega ao switch o aplicativo lê o cabeçalho e recupera o endereço MAC de origem e destino e as portas que estão ligadas, caso ainda não existam na tabela o aplicativo adiciona na tabela para uso nas próximas comutações. Essas entrada possuem um tempo de vida e após esse tempo é eliminada da tabela. 28. Considere a topologia de rede ilustrada a seguir: Suponha que o nó A deseje enviar um quadro unicast para G. Assuma que todas as tabelas de encaminhamento dos switches estão inicialmente vazias, assim como as tabelas ARP de A e G. Mostre a sequência de transmissões envolvidas nesta comunicação, especificando para cada uma o quadro transmitido, os endereços de origem e destino e para quais portas o quadro é replicado (no caso dos switches). 29. Explique o conceito de VLAN e exemplifique seu uso. Uma rede local virtual, normalmente denominada de VLAN, é uma rede logicamente independente. Várias VLANs podem coexistir em um mesmo computador (switch), de forma a dividir uma rede local (física) em mais de uma rede (virtual), criando domínios de broadcast separados. Ex de uso: Imaginem por exemplo que foram contactados para montar uma rede numa Universidade. Considerando que vamos ter utilizadores/serviços/perfis distintos (ex. Apoio à Direcção, pessoal da contabilidade, pessoal dos recursos humanos, externos, etc) a ligarem-se à mesma rede física , é importante que as máquinas estejam em redes separadas (mesmo estando ligadas no mesmo switch ou segmento de rede). Não faz sentido (essencialmente por questões de segurança), que um utilizador (ex. um aluno), se ligue à mesma rede onde estão os utilizadores que fazem parte do serviço da contabilidade. 30. O padrão IEEE 802.1Q adiciona um pequeno cabeçalho às informações tradicionalmente encontradas no cabeçalho Ethernet. Em particular, um dos campos é conhecido como VID (VLAN Identifier) e carrega um valor numérico de 12 bits para identificação de VLANs. Discuta brevemente qual é a utilidade do protocolo IEEE 802.1Q. É um protocolo usado para uma mesma porta em múltiplas VLANs. O padrão IEEE 802.1Q permite a criação de redes virtuais locais (VLANs) dentro de uma rede ethernet. A ideia principal é a de adicionar rótulos de 32 bits (802.1Q tags) nos quadros ethernet e instruir os elementos comutadores de camada de enlace (ex. switches, bridges) a trocarem entre si, apenas quadros contendo um mesmo identificador. O 802.1Q também padroniza extensões para protocolos Spanning-Tree, qualidade de serviço e diversos outros aspectos relacionados a redes comutadas ethernet. 31. Switches podem ser interconectados em cascata, i.e., um switch pode ser conectado a vários outros, aumentando a abrangência da rede. Há alguma limitação ou desvantagem na interconexão de vários switches uns aos outros? Explique. 32. O que é MPLS? Quais são as suas vantagens em relação ao encaminhamento IP? O protocolo MPLS é uma tecnologia de chaveamento de pacotes que proporciona o encaminhamento e a comutação eficientes de fluxos de tráfego através da rede, apresentando-se como uma solução para diminuir o processamento nos equipamentos de rede e interligar com maior eficiência redes de tecnologias distintas. O termo "Multiprotocol" significa que esta tecnologia pode ser usada sob qualquer protocolo de rede. Comparativamente ao encaminhamento IP, o MPLS torna-se mais eficiente uma vez que dispensa a consulta das tabelas de routing. 33. Uma das capacidades interessantes do MPLS é a de roteamento hierárquico. Isso é conseguido através da funcionalidade de empilhamento de labels. Explique como o empilhamento de labels pode ser utilizado para implementar um esquema de roteamento hierárquico. 34. Tanto o MPLS quanto o IP utilizam uma sequência de bits do cabeçalho do pacote para realizar a busca da regra adequada na tabela de roteamento/encaminhamento (o MPLS utiliza o label, enquanto o IP utiliza o endereço IP de destino do datagrama). No entanto, o processo de consulta à tabela é considerado bem mais eficiente no MPLS. Explique. **********QUESTÕES AUXILIARES**************8 - Qual a diferença entre a verificação por Paridade,Soma (Checksum) e Código de redundância cíclica (Cyclic Redundancy Check ou Código Polinomial)? ● Paridade = Conta o número de 1’s de uma sequência de bits transmitidos com intuito de detectar erros de transmissão. Um erro é detectado se a paridade não for respeitada ao término da soma. ● Checksum = Bits de dados são tratados como uma sequência de números inteiros de k bits, soma-se esses números inteiros (em complemento a 1) e usa-se o total como bits de detecção de erros. ● CRC = Transmissor e receptor devem concordar em relação ao uso de um polinômio gerador G(x) de grau inferior ao número de bits transmitidos. O CRC é acrescentado ao final do quadro de forma que o quadro fique divisível por G(x). Ao receber o quadro, o receptor então divide a mensagem recebida por G(x) e, caso a divisão tenha um resto diferente de 0, assume-se que um erro ocorreu. 9 - O que é um endereço MAC, explique em poucas palavras qual sua função? O endereço MAC é o endereço utilizado para identificar unicamente as interfaces conectadas fisicamente na camada de enlace. Esse endereço possui 48 bits, sendo que os s4 primeiros são usados para identificar o fabricante, enquanto os 24 últimos são usados para identificar a placa. 10 - O que significa ARP, qual sua função e como funciona? Protocolo de resolução de endereços (Address Resolution Protocol) serve para mapear endereços MAC em endereços IP. Um nó inunda a rede com uma solicitação de mapeamento entre endereço MAC e IP, sempre que ele não souber a correspondência. A própria máquina responde com todas as informações necessárias. 11 - Qual a diferença entre Hub, Bridge e Switch? ● Hub = Repetidor de sinal ● Switch = Maior número de interfaces, pode ser usado em full-duplex, caso o acesso seja dedicado, comutador é capaz de armazenar pacotes. 12 - Qual a principal diferença entre roteadores e switches? Roteadores repassam pacotes baseado nas informações existentes em sua tabela de roteamento, enquanto os comutadores repassam os quadros, baseados em sua tabela de comutação. As tabelas de roteamento são construídas a partir de protocolos e roteamento e são organizadas de forma hierárquica. http://www.facom.ufu.br/~faina/BCC_Crs/GBC066-2014-2S/DL/ArqTCPIP-Ch05.pdf https://siunibanosasco.files.wordpress.com/2012/05/cap-6-redes.pdf https://www.gta.ufrj.br/~miguel/docs/redes1/lista2.pdf http://www.facom.ufu.br/~faina/BCC_Crs/GBC066-2014-2S/DL/ArqTCPIP-Ch05.pdf
Compartilhar