Protocolo IPv4, cálculo de sub-rede, Classless InterDomain Routing- CIDR e Endereçamento Network Address Translation-NAT - PDF
Download "Protocolo IPv4, cálculo de sub-rede, Classless InterDomain Routing- CIDR e Endereçamento Network Address Translation-NAT"
Izabel Conceição Azeredo
1 Protocolo IPv4, cálculo de sub-rede, Classless InterDomain Routing- CIDR e Endereçamento Network Address Translation-NAT Apresentar os conceitos da camada de rede e seus principais protocolos. Camada de rede A camada de rede deve tornar transparente para a camada de transporte a forma como os recursos dos níveis inferiores são utilizados para implementar conexões de rede. Deve também equalizar as diferenças entre as diversas subredes utilizadas, de forma a fornecer um serviço único a seus usuários, independente da rede utilizada. Suas principais funções são: Roteamento: determinação das rotas apropriadas para a transmissão dos dados entre dois endereços (origem e destino) por meio de algoritmos de roteamento; Multiplexação da conexão de rede: várias conexões de rede podem ser multiplexadas sobre uma única conexão física; Segmentação: caso as subredes envolvidas em uma comunicação fim-a-fim possuam diversos tipos e tamanhos, a camada de rede deve exercer funções de segmentação delas; Controle de erro: detecta e, dependendo da qualidade do serviço exigida, até corrige erros de alteração, perda, duplicação e não ordenação das unidades de dados. O nível de rede tem a função de controlar a operação da rede de um modo geral. O principal aspecto é executar o roteamento dos pacotes entre fonte e destino, principalmente quando existem caminhos diferentes para conectar entre si dois nós da rede. Em redes de longa distância é comum que a mensagem chegue do nó fonte ao nó destino passando por diversos nós intermediários no meio do caminho, e é tarefa do nível de rede escolher o melhor caminho para essa mensagem. IP (Internet Protocol)
2 A camada de internet é praticamente focada no protocolo IP, apesar de existirem outros protocolos trabalhando nessa camada. O roteamento inter-redes é a principal função do protocolo IP. O protocolo assume que as estações sabem enviar datagramas para qualquer outra estação conectada à mesma rede. O roteamento no IP baseia-se exclusivamente no identificador de rede do endereço de destino. Por outro lado, se a rede identificada no endereço de destino do datagrama for diferente da rede em que está a estação, ela procurará o endereço do roteador gateway para possibilitar alcançar a rede da estação destino. Cabeçalho IPv4 Todo o host em uma rede TCP/IP recebe um endereço lógico (endereço IP versão IPv4). No entanto, é importante deixar claro que o IP é uma camada lógica, e a comunicação entre dois hosts precisa ser efetuada por meio de um endereço físico (MAC). É preciso que se descubra o endereço MAC do computador de destino para somente depois se enviar o pacote endereçado para um IP. A estrutura do endereço lógico Para implementar o endereçamento lógico ou IP foi utilizado um número inteiro com 32 bits, o que a principio permite o endereçamento de 2 32 equipamentos (próximo de 4 bilhões). Esse endereçamento é representado por meio de quatro conjuntos de 8 bits (octetos), cada um associado a um numero decimal, separados entre si por pontos. Exemplo: (binário) (decimal) Considerando-se uma interligação entre redes como uma grande rede. A diferença é que, nesse caso, a interligação entre redes é uma estrutura virtual, idealizada e totalmente implementada via software. Assim, os projetistas estão livres para determinar formatos e tamanhos de pacotes, endereços, técnicas de entrega e assim por diante.
3 Para o endereçamento, os projetistas de TCP/IP optaram por um esquema análogo ao endereçamento de rede física, no qual a cada host da interligação é atribuído um endereço com número inteiro de 32 bits, denominando seu endereço IP. Um detalhe interessante do endereçamento é que os números inteiros são escolhidos cuidadosamente para tornar o roteamento mais eficiente. Especificamente, um endereço IP codifica a identificação da rede à qual um host se acopla, assim como a identificação de um único host nessa rede. Resumindo: os bits dos endereços IP para todos os hosts de uma rede compartilham um mesmo prefixo. Conceitualmente, cada endereço é composto por um par formado pelo endereço de rede (netid) e pelo endereço de estação (hostid) naquela rede. Dado um endereço IP, seu tipo pode ser determinado a partir de três bits de alta ordem, sendo dois bits suficientes para distinguir entre as três classes principais: Endereços da classe A: usados por redes grandes, dedicam 1 octeto para netid e 3 octetos para hostid. Endereços da classe B: usados para redes de tamanho médio, alocam 2 octetos para o netid e 2 octetos para o hostid. Endereços da classe C: usados para redes pequenas, dedicam 3 octetos para netid e somente 1 octeto para hostid. O endereço IP foi definido de tal modo que é possível extrair as partes do netid ou do hostid rapidamente. Os roteadores usam a parte do netid de um endereço para decidir qual será o encaminhamento de um pacote. Classe A A Classe A reserva só o primeiro octeto para endereço de rede (netid), os outros 3 octetos são utilizados para endereçar Hosts (hostid). No primeiro octeto não pode ser utilizado o 1 bit, convencionado como 0 (zero, bit de ordem superior). Os bits restantes (7 bits) possibilitam uma variação de 0 (zero) a 126 (o valor 127 não é utilizado porque está reservado para aplicações de LoopBack, endereço de teste da pilha TCP/IP). Posição dos bits: 0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh Observação: notar que restaram 7 bits para endereçar redes (n= network, endereço de rede) e 24 bits para endereçar hosts (h= host, endereço de host). Máscara de rede padrão: Faixa de endereços de rede: de a
4 Faixa de endereços de hosts: de a Máscara de rede padrão: Quantidade de redes: (2 7-2) = 126 Retiram-se dois endereços, pois não podem ser utilizados o valor 0.X.X.X e o endereço 127.X.X.X. Quantidade de Hosts por rede: ( ) = Retiram-se dois endereços, pois não podem ser utilizados o primeiro endereço, convencionado como endereço de rede ou subrede, e o último endereço, convencionado como endereço de Broadcast. Exemplos de redes: , , , , , etc. Classe B Na Classe B são reservados os dois primeiros octetos para endereço de rede e os outros dois octetos são utilizados para endereço de Hosts. No primeiro octeto não podem ser utilizados o 1º bit convencionado como 1 (um) e o 2º bit convencionado como 0 (zero), identificados como bits de ordem superior. Posição dos bits: 10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh. Observação: notar que restaram 14 bits para endereçar redes (n = network, endereço de rede) e 16 bits para endereçar hosts ( h = host, endereço de host). Máscara de rede padrão: Faixa de endereços de rede: a Faixa de endereços de host: a Quantidade de redes: (2 14 ) = Observação: IANA (Internet Assigned Number Authority) determina o não uso do 1º e do último endereço, logo (2 14-2) = Quantidade de Hosts por rede: (2 16-2) = Retiram-se dois endereços, pois não podem ser utilizados o primeiro endereço, convencionado como endereço de rede ou sub-rede e o ultimo endereço convencionado como endereço de Broadcast. Exemplos de redes: , , , Classe C Na Classe C são reservados os três primeiros octetos para endereço de rede e o octeto restante é utilizado para endereço de Hosts. No primeiro octeto não podem ser utilizados o 1º e 2º bits convencionados
5 como 1 (um), e o 3º bit, convencionado como 0 (zero), identificados como bits de ordem superior. Posição dos bits: 110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh Observação: notar que restaram 21 bits para endereçar redes (n = network, endereço de rede) e 8 bits para endereçar hosts (h = host, endereço de host). Máscara de rede padrão: Faixa de endereços de rede: a Quantidade de redes: (2 21 ) = Observação:IANA (Internet Assigned Number Authority) determina o não uso do 1º e do último endereço, logo (2 21-2) = Faixa de endereços de hosts: à Quantidade de Hosts por rede: 254 => (2 8-2) Exemplos de redes: , , , Classe D Reservado para aplicações Multicast Na classe D são utilizados os quatro octetos para endereçamento. Mas no primeiro octeto não podem ser utilizados o 1º, 2º e 3º bits convencionados como 1 (um) e o 4º bit convencionado como 0 (zero), identificados como bits de ordem superior. Posição dos bits: 110mmmm.mmmmmmmm.mmmmmmmm.mmmmmmmm Faixa de endereços: à O protocolo OSPF utiliza o endereço para distribuir e receber informações de rotas e roteadores. Classe E Reservado para utilização experimental Na Classe E são utilizados os quatro octetos para endereçamento. Mas no primeiro octeto não podem ser utilizados os 1º, 2º, 3º e 4º bits convencionados como 1 (um), identificados como bits de ordem superior. Posição dos bits:1111rrrr.rrrrrrrr.rrrrrrrr.rrrrrrrr Faixa de endereços: em diante Calculo da máscara de sub-redee endereços A máscara de sub-rede pode ser usada para dividir uma rede já existente em varias sub-redes.
6 Objetivo: Permitir a comunicação entre LANs em locais diferentes. Segmentar uma LAN por razões de segurança. Tornar mais fácil o gerenciamento. Os roteadores separam as sub-redes, determinando quando um pacote pode ir de uma sub-rede à outra. Quando uma estação está localizada em uma rede ou sub-rede e um servidor pode estar em outra rede ou sub-rede, a estação irá utilizar a máscara de sub-rede para determinar a rede ou sub-rede em que está o servidor, logo, a máscara de sub-rede permite que os roteadores determinem o local ou rede de destino de uma determinada estação. Quando uma organização possuir uma rede com poucas estações, o endereçamento IP com máscara de sub-rede padrão poderá ser implementado sem maiores dificuldades. Com o aumento das organizações se integrando à internet, os endereços IP tornaram-se escassos, em virtude da necessidade de um endereço para cada novo equipamento conectado à rede. Assim a RFC 1918 reserva algumas faixas de endereços IP em redes corporativas. Classe A: à Classe B: à Classe C: à A vantagem de se utilizar as faixas reservadas é a flexibilidade no planejamento de endereçamento da rede e no caso de integração com a internet, evitar o conflito de endereços IP já existentes na rede com os existentes na internet. A utilização de endereços IP com sub-rede apresenta a vantagem de um melhor aproveitamento da faixa escolhida e a redução no tráfego de informações entre os roteadores. Em todos os sistemas, toda vez que for configurado um endereçamento IP, é assumida uma máscara de sub-rede padrão, sendo então necessária a configuração da máscara de sub-rede manualmente. Quando da utilização do endereçamento IP utilizando as sub-redes, convenciona-se deixar reservados pelo menos 2 bits para as sub-redes e estações. Exemplo: Uma determinada organização recebeu da entidade regulamentadora de endereços IP o endereço IP , para ser utilizado em sua rede interna. Mas, por questões diversas, a empresa necessita de endereços de sub-redes com pelo menos quatro estações em cada um, como mostra o esquema a seguir. Com esse endereço simples, é possível endereçar apenas uma única rede com 254 hosts, por isso fazse necessário o uso de sub-redes. Ao observar-se que existe o último octeto do endereço (classe C), com 8 bits para endereçar hosts,
7 pode-se então utilizá-los para criar as sub-redes necessárias para atender à necessidade da empresa, atentar para o fato que se deve reservar no mínimo 2 bits para hosts e no mínimo 2 bits para sub-redes, conforme é apresentado a seguir: IP Máscara da Classe C ( ) - (R.R.R.H) Tabela com máscaras de sub-rede para endereços de classe C Como pode ser observado na tabela 1, existem apenas três possibilidades que atendem à condição de oferecer cinco sub-redes, com pelo menos quatro hosts em cada uma delas. Como exemplo, pode-se utilizar a opção que usa três bits emprestados para criar as subredes.algumas considerações importantes para a compreensão da criação das sub-redes: Endereço de rede ou sub-rede: é obtido passando-se todos os bits que endereçam hosts para o nível lógico 0 (zero), por exemplo: Endereço de Broadcast: é obtido passando-se todos os bits que endereçam hosts para o nível lógico 1 (um), por exemplo: Assim, tomando-se como exemplo o endereço dado, que é , teremos:
8 Endereços das sub-redes e broadcast para a combinação / SAIBA MAIS Os valores do último octeto foram obtidos considerando-se o valor, em decimal, dos três bits tomados emprestados do octeto de hosts para endereçar as sub-redes, por exemplo: = 160, pois foram utilizados os bits com peso 128 (8º bit) e peso 32 (6º bit), e os bits restantes, para endereçar hosts. Lembrar que o peso dos bits em um octeto está distribuído da seguinte forma: 128 / 64 / 32 / 16 / 8 / 4 / 2 / 1. A partir da tabela anterior, observa-se que os endereços IP válidos estão no intervalo entre o endereço da sub-rede e o endereço de broadcast para cada segmento de rede.
9 Tabela de subredes Foram criadas oito sub-redes e em cada uma delas existem 30 endereços para hosts válidos ou endereçáveis. Vamos a outra situação com endereços de classe B. Um administrador de rede de uma empresa optou por questões de segurança, portanto, utiliza um endereço IP da classe B, o endereço IP é utilizado em sua rede interna. O ambiente precisa utilizar um conjunto de 6 endereços de sub-redes com pelo menos 8 estações em cada um. Observa-se que em um endereço de classe B são endereçáveis mais de hosts, logo as possibilidades de criação muito mais amplas, pois dispõem agora de 16 bits (dois octetos) de hosts que podem ser utilizados para a criação delas. Mas deve-se ainda considerar o fato é necessário reservar, no mínimo, 2 bits para hosts e, no mínimo, 2 bits para sub-redes, conforme é mostrado a seguir: IP Máscara da Classe B ( ) - (R.R.H.H)
10 Sub-rede de classe B Vejamos como ficaria a distribuição das sub-redes, a partir da definição de utilização de quantidades definidas de bits tomados emprestados dos octetos de hosts. Tabela de subrede Classe B Como pode ser observado na tabela 1, existem diversas combinações que atendem à necessidade da
11 empresa de 6 sub-redes com 8 estações. É importante observar na tabela 1 como a máscara de sub-rede muda em função da utilização dos bits dehostspara bits de sub-redes, assim como mudam, também, as quantidades de sub-redes criadas e hosts endereçáveis. Note na tabela 1 que, ao utilizar 9 e 10 bits emprestados, estão sendo utilizados bits do 4º octeto do endereço, o que pode ser notado pela mudança na máscara de sub-rede. Vamos relembrar algumas definições importantes para a compreensão da criação das sub-redes: Endereço de Rede ou sub-rede: é obtido passando-se todos os bits que endereçam hosts para nível lógico 0 (zero), (exemplo: ). Endereço de Broadcast: é obtido passando todos os bits que endereçam hosts para nível lógico 1 (um), exemplo: ). Endereços de Subrede e Broadcast de Classe B Observa-se que foram criadas 16 sub-redes e em cada uma delas existem 4094 endereços de hosts válidos ou endereçáveis.
12 Surge, então, um problema para redes compostas por muitas sub-redes, torna-se difícil em determinados momentos localizar umhostespecífico, ou seja, saber em qual sub-rede ele está localizado. Para contornar esse problema foi desenvolvido o seguinte método de cálculo: Exemplo de cálculo para um endereço IP de host: , com a máscara de sub-rede: Cálculo de Sub-rede classe B Como pode ser observado na tabela 3, o endereço IP de host do exemplo pertence à 10ª sub-rede, conforme obtido pelo cálculo na tabela 4. Uma vez obtido o endereço de sub-rede, pode-se calcular agora o endereço de broadcast. Veja o exemplo de cálculo a seguir:
13 Cálculo de Broadcast Classe B Como pode ser notado, o endereço de broadcast obtido, , é o da 10ª sub-rede, logo, como foi observado, este cálculo é útil para a determinação de endereços em redes com um número muito alto de sub-redes. Este cálculo pode ser utilizado em ambientes de rede com muitas sub-redes, permitindo, assim, determinar com precisão à qual rede um endereço de host específico pertence e, assim, pode também determinar qual a faixa de endereços de hosts válidos existem nessa rede. CIDR O endereçamento IP (versão IPv4) vem sendo utilizado a anos, mas a partir de um determinado momento, em virtude do forte crescimento da rede mundial, os analistas e projetistas perceberam que os endereços IP estavam se exaurindo, ou seja, estavam acabando e a tendência seria seu rápido esgotamento. O problema, como descrito, é que a internet está esgotando com rapidez os endereços IP disponíveis. Uma técnica encontrada e implementada que permitiu à internet um melhor aproveitamento dos
14 endereços disponíveis foi a criação do CIDR (Classless InterDomain Routing), descrito na RFC 1519, que aloca os endereços IP disponíveis em blocos de tamanho variável, não considerando a classe à qual pertence. Identificado como endereçamentoclassless, o método de endereçamento utiliza a ideia usada no endereçamento de sub-rede permitindo que um prefixo de rede tenha um tamanho qualquer. Além do novo método de endereçamento, os analistas criaram técnicas de encaminhamento e propagação de rota. Todo esse trabalho ficou conhecido como Classless Inter-Domain Routing (CIDR). Um dos primeiros usos do endereçamento Classless é conhecido como super-redes. O modelo idealizado oferece um endereçamento hierárquico, em que cada ISP (Internet Service Provider Provedor de Serviços de Internet) comercial poderia receber um grande bloco de endereços da internet, que o provedor poderia alocar aos assinantes. Por permitir que o prefixo de rede ocorra com um limite de bit qualquer, o CIDR permite que o provedor atribua a um assinante um bloco de endereços apropriado às necessidades dele. Como um endereço de sub-rede, o CIDR usa uma máscara de endereços de 32 bits para especificar o limite entre prefixo e sufixo. Bits 1 (um) subsequentes na máscara especificam o tamanho do prefixo, e bits 0 (zero) correspondem ao sufixo. Para entender como funciona a criação do esquema pode-se supor a existência de um provedor que precisa atribuir a uma organização um bloco de endereços de classe C, em vez de um endereço de classe B. O bloco precisa ser grande o suficiente para atender a todas as redes da organização e precisa estar em um limite que seja de uma potência de dois, supondo que a organização precise de 500 redes, o provedor pode lhe atribuir um bloco de 512 endereços de classe C. CIDR - Exemplo Blocos de endereço e notação CIDR Como a identificação de um bloco CIDR exige um endereço e uma máscara, criou-se uma notação abreviada para expressar os dois itens. Denominada notação CIDR, mas conhecida informalmente como notação slash, a abreviação representa o tamanho da máscara decimal e usa uma barra para separá-la do endereço. Assim, na notação CIDR, o bloco de endereço desenvolvido anteriormente fica como: / 23
15 Em que o /23 indica uma máscara de endereços com 23 bits marcados como 1. A tabela abaixo apresenta algumas das variações para máscaras CIDR possíveis. Lembre-se que os prefixos /8, /16 e /24 correspondem às divisões das classes A, B e C. Notação CIDR Uma forma de pensar em endereços classless é imaginar como se cada cliente de um ISP obtivesse uma sub-rede (tamanho variável) do bloco CIDR do ISP. Dessa forma, um determinado bloco de endereços pode ser subdivido com um limite de bits qualquer, e uma rota separada pode ser aplicada para cada subdivisão. Endereçamento para redes privadas O IETF designou um conjunto de endereços para serem reservados para uso em redes privadas. Esses endereços não devem ser passados para o ambiente internet (pois podem gerar problemas), mas serão detectados pelos roteadores. Os endereços de uso restrição são: Endereços Privados NAT Network Address Translation
16 A ideia por trás da NAT é atribuir a cada empresa um único endereço IP para tráfego na internet. Dentro da rede de uma empresa todo computador utiliza um endereço IP exclusivo, usado para roteamento do tráfego interno. Porém, quando um pacote sai da empresa e vai para um provedor, ocorre uma conversão de endereço. Dentro das instalações da empresa, todos os computadores têm um endereço exclusivo da forma 10.x.y.z. No entanto, quando uma mensagem deixa as instalações da empresa, ela passa por uma caixa NAT que converterá o endereço IP de origem interna, 10.x.y.z, para o endereço IP verdadeiro da empresa, 201.x.y.z, por exemplo. Com frequência, a caixa NAT é combinada em um único dispositivo com um firewall, que oferece segurança por meio do controle cuidadoso do que entra na empresa e do que sai dela ou ao roteador da empresa. Mas quando a mensagem retorna para a empresa, é preciso localizar a máquina de destino dentro da rede. Para isso, podem ser utilizados alguns processos; dois deles são por tabela de tradução NAT e por mapeamento de porta. Por tabela de tradução NAT, o processo é realizado guardando-se os endereços IP da máquina origem, dentro da rede da empresa, e o endereço da máquina destino no ambiente internet. Isso é feito por meio da leitura dos datagramas de saída. Por mapeamento de porta, a caixa NAT utiliza o endereço IP da máquina na rede interna associado a um número de porta (TCP ou UDP) acima de As portas de 0 a 1023 são reservadas para serviços conhecidos. Como exemplo, a porta 80 é usada por servidores da web. Cada mensagem TCP enviada contém uma porta de origem e uma porta de destino. Juntas, essas portas servem para identificar os processos que utilizam a conexão em ambas as extremidades. Essas portas fornecem o campo necessário para fazer a NAT funcionar. Quando um processo deseja estabelecer uma conexão TCP com um processo remoto, ele se associa a uma porta TCP não utilizada em sua própria máquina. Essa porta é chamadaporta de origeme informa ao código do TCP para onde devem ser enviados os pacotes que chegarem e que pertencem a essa conexão. O processo também fornece uma porta de destino para informar a quem devem ser entregues os pacotes no lado remoto. Usando o campo porta origem (source port), é realizado o mapeamento do processo. Sempre que uma mensagem de saída entra na caixa NAT, o endereço de origem 10.x.y.z é substituído pelo endereço IP verdadeiro da empresa. Alem disso, o campo Source port do TCP é substituído por um índice para a tabela de conversão de entradas da caixa NAT. Essa entrada de tabela contém a porta de origem e o endereço IP original. Por fim, tanto o total de verificação do cabeçalho IP quanto do cabeçalho TCP são recalculados e inseridos no pacote. É necessária a substituição do campo Source port, porque duas máquinas da rede interna podem acessar um mesmo serviço (HTTP porta 80) e causar confusão, assim, a caixa NAT guardará um número de porta exclusivo para cada uma das comunicações em execução, como pode ser observado a seguir.
17 Network Address Translation - NAT Existem três variações de NAT: NAT Estático: Mapaeamento um-para um entre endereços internos e externos. NAT Dinâmico: Mapeamento de endereços internos para um grupo de endereços públicos. NAT Overloading: Endereços internos são mapeados para um único endereço público mas com diferentes portas (Também conhecido como PAT).
18 Implementações de NAT Quiz 1 Para um endereço CIDR /20, qual seria a máscara de rede correspondente?
19 Referências KUROSE, J. F.; ROSS, K. W. Redes de computadores e a internet: uma abordagem top-down. 3. ed. São Paulo: Pearson Addison Weslley, TANENBAUM, A. S. Redes de Computadores. 4. ed. Rio de Janeiro: Campus, 2003.