Redes de Computadores Mauro Henrique Mulati Roteiro Sub-redes NAT CIDR Protocolos de controle Sub-redes Todos os hosts de uma rede devem ter o mesmo número de rede Ex.: Universidade pega endereço de classe B Depto. Ciência da Computação Depto. Física Depto. Matemática ... Regra Ethernet dos 4 repetidores alcançada Difícil obter outro endereço IP (60.000) Sub-redes Endereço classe A, B ou C se refere a uma rede, e não conjunto de redes A solução Permitir que uma rede seja dividida em diversas partes para uso interno Externamente continue a funcionar como uma única rede Sub-redes Sub-redes Roteamento Para qual sub-rede entregar o pacote? Tabela com todas as entradas (216 = 65.536) Muito extensa Parte dos bits do número de host são usados para criar um número de sub-rede Classe B Classe B •2 bits classe •2 bits classe •14 bits rede •14 bits rede •16 bits host •6 bits sub-rede: 62 sub-redes •10 bits host: 1022 hosts Sub-redes Máscara de sub-rede Classe B 255.255.252.0 /22 Sub-redes Endereços Em binário 130.50.4.1 130.50.8.1 130.50.12.1 10000010 00110010 000001|00 00000001 10000010 00110010 000010|00 00000001 10000010 00110010 000011|00 00000001 Máscara de sub-rede 11111111 11111111 111111|00 00000000 Sub-redes Roteador Lista (rede, 0): Como chegar a redes distantes (esta rede ou host): Como chegar aos host locais Associadas com interfaces de rede para alcançar destino e algumas outras informações Sub-redes Pacote IP recebido Endereço de destino é procurado na tabela de roteamento Se for uma rede distante, pacote encaminhado para próximo roteador da interface fornecida na tabela Se for um host local, (e.g. na LAN do roteador) o pacote é enviado diretamente para lá Se a rede não estiver presente, o pacote será enviado para um roteador pré-definido que tenha tabelas maiores Sub-redes Sub-redes (rede, sub-rede, 0) (esta rede, esta sub-rede, host) AND booleano com a máscara de sub-rede Eliminar o número de host e pesquisa o endereço resultante em suas tabelas Depois de determinar a classe Sub-redes IP Máscara 130.50.15.6 10000010 00110010 00001111 00000110 255.255.252.0 11111111 11111111 11111100 00000000 AND booleano 10000010 00110010 00001100 00000000 130.50.12.0 Sub-redes 130.50.12.0 Usado para acessar tabelas de roteamento para descobrir a entrada a usar para chegar ao roteador correspondente à sub-rede 3 A divisão em sub-redes reduz o espaço na tabela do roteador, criando uma hierarquia de 3 níveis Rede Sub-rede Host Sub-redes A divisão em sub-redes não é visível fora da rede Não precisa intervenção ICANN Sub-redes Exercício Dada uma rede classe B, crie 4 sub-redes utilizáveis e mostre os endereços IP das subredes e do broadcast. Quantos hosts poderão ter cada sub-rede? Sub-redes 1.º: Criar máscara de sub-rede 2.º: Quantos bits são necessários para ter-se 4 sub-redes? 3.º: Definir número de rede com base na máscara 4.º: Endereço de rede, Endereço de Broadcast 5.º: Quantos host por sub-rede NAT NAT: Network Adress Translation Esgotar endereços IP IPv6: com lentidão Idéia: Atribuir a cada empresa um único endereço IP Ou no máximo um número pequeno Internamente, cada computador tem IP exclusivo (privativo) NAT Endereços privativos 10.0.0.0 – 10.255.255.255 (16.777.216 hosts) 172.16.0.0 – 172.31.255.255 (1.042.576 hosts) 192.168.0.0 – 192.168.255.255 (65.536 hosts) NAT Caixa NAT Pode ser com firewall Com roteador Independente NAT Quando pacote sai é convertido pela caixa NAT 10.0.0.1 -> 192.60.42.12 E quando volta? Endereçado para 192.60.42.12 Como a caixa NAT saberá para qual computador enviar a resposta? NAT TCP e UDP possuem portas Porta de origem Porta de destino Primeiras 4096 reservadas 80: Servidor Web Mensagem TCP tem porta de origem e destino 16 bits = 65.536 Indica onde a conexão TCP começa e termina Essas portas servem para identificar os processos que utilizam a conexão em ambas as extremidades Analogia com central telefônica de empresa NAT Quando pacote sai: 10.x.y.z é substituído pelo endereço IP verdadeiro da empresa Porta de origem do TCP é substituído por um índice p/ tabela de conversão de 65.536 entradas da caixa NAT Soma de verificação do cabeçalho IP e TCP são recalculados Quando pacote entra: Processo inverso NAT: Problemas Viola o modelo arquitetônico do IP Todo endereço IP identifica uma única máquina em todo o mundo Internet muda característica de rede sem conexões para uma espécie de rede orientada a conexões Viola regra fundamental da distribuição de protocolos em camadas: camada k não pode fazer quaisquer suposições sobre o que a camada k+1 inseriu no campo de carga útil NAT: Problemas Outros protocolos da camada de transporte Endereços IP no corpo do texto FTP (File Transfer Protocol) padrão Protocolo de telefonia da Internet H.323 Campo porta de origem de 16 bits: 65.536 Multimídia 65536-4096 = 61440 Permite que 61440 pares de aplicações se comuniquem ao mesmo tempo IPv6 NAT: Lembretes Analisa camada 4 Lista de portas Qual poderia ser uma outra maneira de implementar o NAT? Através de um campo de opção CIDR ClassLess InterDomain Routing O IP está ficando sem endereços Se um site precisa de 2000 endereços Receberá um bloco de 2048 endereços A eliminação de classes torna o encaminhamento mais complicado CIDR Roteamento no antigo sistema de classes Pacote IP chegava ao roteador Uma cópia do endereço IP era deslocada 28 bits para a direita afim de se descobrir a classe (A, B, C, D) O código para cada classe era então usado para mascarar o número de rede de 8, 16 ou 24 bits e o alinhava a direita em uma palavra de 32 bits Em seguida, o número de rede era pesquisado na tabela de A, B ou C Depois que a entrada era encontrada, a linha de saída podia ser pesquisada e o pacote encaminhado CIDR Cada entrada na tabela de roteamento é estendida com uma máscara de 32 bits Agora existe uma única tabela de roteamento para todas as redes, consistindo em um array de triplas (endereço IP, máscara de sub-rede, linha de saída) CIDR Quando um pacote chega, seu endereço de destino é extraído Depois (conceitualmente), a tabela de roteamento é varrida entrada por entrada mascarando-se o endereço de destino e comparando-se esse endereço com a entrada de tabela, em busca de uma correspondência. CIDR É possível que várias entradas (com diferentes comprimentos de máscaras de subredes) correspondam e, nesse caso, será usada a máscara mais longa Portanto, se houver uma correspondência para a máscara /20 e uma máscara /24, será usada a entrada /24 CIDR Exemplo no qual estão disponíveis milhões de endereços Começando em 194.24.0.0 Suponha que a Universidade de Cambridge precise de 2048 endereços e receba os endereços de 194.24.0.0 a 194.24.7.255 másc. 255.255.248.0 11000010.00011000.00000000.00000000 11000010.00011000.00000111.11111111 11111111.11111111.11111000.00000000 211=2048 CIDR Suponha que a Universidade de Oxford precise de 4096 Como um bloco de 4096 endereços deve ficar em um limite de 4096 bytes, não podem ser fornecidos endereços que comecem em 194.24.8.0 (por causa do último 1) 212=4096 11000010.00011000.00001000.00000000 Em vez disso, são fornecidos endereços de 194.24.16.0 a 194.24.31.255 másc. 255.255.240.0 11000010.00011000.00010000.00000000 11000010.00011000.00011111.11111111 11111111.11111111.11110000.00000000 212=4096 CIDR Agora, Universidade de Edinburgh solicita 1024 endereços e são atribuídos 194.24.8.0 a 194.24.11.255 másc. 255.255.252.0 11000010.00011000.00001000.00000000 11000010.00011000.00001011.11111111 11111111.11111111.11111100.00000000 210=1024 CIDR CIDR As tabelas de roteamento do mundo inteiro agora estão atualizadas com as três entradas atribuídas. Cada entrada contém um endereço básico e uma máscara de sub-rede. Essas entradas em binário: Considere que chega o pacote 194.24.17.4 11000010.00011000.00010001.00000100 Universid. Primeiro endereço Cambrigde 11000010.00011000.00000000.00000000 Edinburgh 11000010.00011000.00001000.00000000 (Disp.) 11000010.00011000.00001100.00000000 Oxford 11000010.00011000.00010000.00000000 Esse valor corresponde ao endereço básico de Oxford. Senão for encontrada nenhuma outra correspondência mais abaixo na tabela, será utilizada a entrada de Oxford, e o pacote será enviado pela linha especificada. CIDR Agora vamos observar essas três universidades do ponto de vista de um roteador em Omaha, Nebraska, que tem apenas quatro linhas de saída: Minneapolis, Nova York, Dallas e Denver Ao receber as três novas entradas, o software do roteador verifica que pode combinar todas as três entradas em uma única entrada agregada 194.24.0.0/19 com um endereço binário e a submáscara: 194.24.0.0/19 11000010.00011000.00000000.00000000 11111111.11111111.11100000.00000000 Essa entrada envia todos os pacotes destinados a quaiquer das três universidades para Nova York. Agregando as três entradas, o roteador de Omaha reduziu seu tamanho de tabela em duas entradas Se Nova York tem um única linha para Londres, relativa a todo o tráfego do Reino Unido, pode usar uma entrada agregada. Porém se houverem linhas separadas p/ Londres e Edinburgh, serão necessárias três entradas separadas. A agregação é muito utilizada em toda a Internet para reduzir o tamanho das tabelas de roteadores. CIDR A entrada de rotas agregadas também envia pacotes correspondentes aos endereços nãoatribuídos para Nova York Desde que os endereços sejam de fato não atribuídos, não há problema Mas se forem pra Califórnia, por ex., será preciso uma entrada 194.24.12.0/22 para lidar com eles Protocolos de controle da Internet ICMP (Internet Control Message Protocol) Operação da Internet é monitorada rigorosamente pelos roteadores Quando ocorre algo inesperado, o evento é reportado pelo ICMP Também é usado para testar a Internet Cada tipo de mensagem ICMP é encapsulado em um pacote IP ICMP ICMP Não foi possível entregar o pacote O campo Time to live chegou a 0 Ou DF não pode ser mantido Loop Congestinamento Valores baixos para o timer Campo de cabeçalho inválido Bug software IP do transmissor Software de um roteador ICMP Pacote regulador Ensina geografia a um roteador Host deve desacelerar Controle de congestionamento feito na camada de transporte Roteador percebe que pacote pode ter sido roteado incorretamente Avida o host transmissor do provável erro Pergunta se uma máquina está ativa Sim estou ativa ICMP Igual a Echo, mas com timbre de hora Igual a Echo reply, mas com timbre de hora Usados para medir desempenho da rede Existem outras ARP ARP (Address Resolution Protocol) Cada placa Ethernet é equipada com um endereço Ethernet de 48 bits Solicitam a uma autoridade central Não entendem endereços IP De que forma os endereços IP são mapeados nos endereços da camada de enlace de dados, como é o caso dos endereços Ethernet? ARP 3 /24 interconectadas: 2 Ethernets e um anel 3 redes FDDI ARP E1 a E6 F1 a F3 Host 1 -> host 2 Sabe o nome, recebe o IP do DNS Host 2: 192.31.65.5 Host 1 constrói pacote: Destination address: 192.31.65.5 Software IP vê que está na própria rede Precisa pegar o endereço Ethernet Poderia ser arquivo de configuração Tarefa demorada e propensa a erros ARP Envia pacote de difusão p/ Ethernet perguntando: a quem pertence o endereço IP 192.31.65.5? A difusão chegará a cada máquina da Ethernet 192.31.65.0 e cada uma delas verificará seu endereço IP Somente o host 2 responderá com seu endereço Ethernet E2 Dessa forma, o host 1 descobrirá que o endereço IP 192.31.65.5 está no host que tem o endereço Ethernet E2 Vantagem sobre arquivos de configuração é a simplicidade ARP Nesse ponto, o software IP do host 1 constrói um quadro Ethernet endereçado a E2, coloca o pacote IP (endereçado a 192.31.65.5) no campo de carga útil e o envia à Ethernet A placa Ethernet do host 2 detecta esse quadro, reconhece-o como uma quadro destinado a ela, recolhe-o e causa uma interrupção O driver Ethernet extrai o pacote IP da carga útil e o repassa ao software IP, que verifica se ele está corretamente endereçado, e depois o processa ARP Otimizações Depois que uma máquina executa o ARPela armazena o resultado em uma cache, caso precise entrar em contato com a mesma máquina depois Host 2 precisará enviar uma resposta, o que também forcará a execução do ARP para determinar o endereço Ethernet do transmissor Host 1 inclui seu mapeamento IP para Ethernet no pacote ARP Quando a difusão do ARP chega ao host 2, o par (192.31.65.7, E1) é inserido no cache ARP do host 2 para uso futuro Todas as máquinas da rede Ethernet podem fazê-lo ARP Otimizações Máquina difundir o mapeamento IP, Ethernet ao ser inicializada Feita em geral quando um ARP procura seu próprio endereço IP Não deve haver resposta, mas um efeito colateral da difusão é criar uma entrada no cache ARP de todas as máquinas Se chegar uma resposta (inesperada) isso significa que o mesmo endereço IP foi atribuído a duas máquinas A nova máquina deve informar esse fato ao administrador do sistema e não deverá ser reinicializada Entradas no cache ARP sofrem timeout após alguns minutos ARP Host 1 -> Host 4 ARP: problema porque host 4 não verá a difusão 1.ª solução: Roteador CC ser configurado para responder solicitações ARP para a rede 192.31.63.0 Neste caso, o host 1 criará a entrada (192.31.63.8, E3) e enviará todo o tráfego do host 4 para o roteador local ARP proxy ARP 2.ª solução Fazer com que host 1 veja imediatamente que o destino está em uma rede remota e envie todo o tráfego para um endereço Ethernet padrão que trata do tráfego remoto, nesse caso E3 Não requer que o roteador CC saiba a que redes remotas está servindo ARP Host 1 coloca pacote IP no campo carga útil de um quadro Ethernet endereçado a E3 Quando obtém o quadro Ethernet, o roteador CC remove o pacote IP do campo de carga útil e procura o endereço IP nas tabelas de roteamento Esse roteador descobre que os pacotes destinados à rede 192.31.63.0 devem ir para o roteador 192.31.60.7 Se ainda não souber o endereço FDDI de 192.31.60.7 o roteador transmitirá um pacote ARP para o anel e descobrirá que é F3 ARP Em seguida, ele incluirá o pacote no campo de carga útil de um quadro FDDI endereçado a F3 e o colocará no anel No roteador EE, o driver FDDI remove o pacote do campo de carga útil e o envia ao software IP, que constata a necessidade de enviar o pacote para 192.31.63.8 Se esse endereço IP não estiver em seu cache ARP, o software transmitirá uma solicitação ARP através da rede Ethernet do EE e descobrirá que o endereço de destino é E6 Em seguida, o software montará um quadro Ethernet endereçado a E6, colocará o pacote no campo de carga útil e fará sua transmissão na Ethernet Quando o quadro Ethernet chegar ao host 4, o pacote será extraído do quadro e repassado do software IP para processamento ARP Ir do host 1 até uma rede distante passando por uma WAN é um processo praticamente igual, exceto pelo fato de que, dessa vez, as tabelas do roteador CC o informam de que ele deve usar o roteador da WAN, cujo endereço FDDI é F2 RARP: Reverse Address Resolution Protocol Qual é o endereço IP correspondente a um endereço Ethernet? Ocorre quando uma estação de trabalho sem disco é inicializada Máquina obtém imagem binária de seu sistema operacional a partir de um servidor de arquivos remoto RARP: Pacote: meu endereço Ethernet de 48 bits é 14.04.05.18.01.25. Alguém conhece meu IP? O servidor RARP vê essa solicitação, procura o endereço Ethernet em seus arquivos de configuração e envia de volta o endereço IP correspondente RARP Melhor que a inclusão de um endereço IP na imagem de memória Uma desvantagem do RARP é que utiliza endereço de destino composto somente por valores 1 (difusão limitada) para chegar ao servidor RARP Não são encaminhadas pelos roteadores É necessário um servidor RARP em cada rede BOOTP Utiliza UDP, que são encaminhados pelos roteadores Fornece informações adicionais a uma estação de trabalho sem disco, inclusive o endereço IP do servidor de arquivos com a imagem Endereço IP do roteador padrão e a máscara de sub-rede a ser usada Exige configuração manual de tabelas que mapeiam IPs para Ethernet BOOTP Problema quando um novo host é adicionado: o administrador deve atribuir a ele um endereço IP Inserido manualmente o par (endereço Ethernet, endereço IP) na tabelas de configuração do BOOTP DHCP DHCP (Dynamic Host Configuration Protocol) Permite atribuição manual e a atribuição automática de endereços IP Substitui o RARP e o BOOTP na maioria dos sistemas Tendo em vista que o servidor DHCP pode não estar disponível por difusão, um agente de retransmissão DHCP é necessário em cada LAN DHCP Uma máquina recém-inicializada transmite por difusão DHCP DISCOVER O agente de restransmissão em sua LAN intercepcta todas as difusões do DHCP Ele envia em unidifusão ao servidor DHCP, talvez em uma rede distante O agente precisa do IP do DHCP DHCP DHCP Tempo IP Arrendamento (leasing) Pouco antes de expirar o prazo de arrendamento, o host deve solicitar ao DHCP uma renovação