Introdução ao Protocolo Internet - IP

Esse artigo é uma introdução (detalhada!) do protocolo IP - Internet Protocol. Necessário para o bom entendimento do funcionamento de uma rede.

[ Hits: 143.081 ]

Por: Perfil removido em 02/06/2008


Endereços IP especiais



O protocolo IP possui um grupo de endereços utilizados para finalidades especiais na configuração das redes. Esses endereços têm uma função específica e não devem jamais ser atribuídos a um host. Os endereços especiais são citados na RFC 1700.

Do ponto de vista do endereçamento IP uma rede é uma faixa contínua de endereços, usadas por hosts que compartilham o barramento entre si. Isso permite que um pacote possa ser enviado de um host para outro, dentro da mesma rede, sem necessidade de roteamento.

Levando em consideração que um endereço IP é formado por duas partes, uma relativa à rede e outra a um host nesta rede, podemos utilizar a notação simplificada { <rede>, <host> } para indicar um endereço IP especial. Esses campos podem assumir os valores <0> ou <-1>. Sendo que, a notação <-1> indica que todos os bits no campo estão configurados como 1 e a notação <0> indica que todos estão configurados como 0. São endereços especiais:



Cada um dos endereços especiais têm uma função particular dentro da configuração de uma rede. Vamos analisar o funcionamento destes endereços e entender a razão de sua existência. Suponha uma típica rede classe C, com uma faixa de endereços IP entre 192.168.0.0 e 192.168.0.255. Essa faixa contínua de endereços aloca 256 endereços IP. Entretanto, destes somente 254 estão realmente disponíveis para atribuição aos hosts. O primeiro e o último endereço de uma faixa de endereços IP usados para definir uma rede (em qualquer classe) são sempre reservados para fins especiais.

O primeiro endereço é usado para definir o número da própria rede e o último para definir o endereço de difusão dirigida (directed broadcast). Assim, para se referenciar à rede basta configurar o espaço reservado para o host com o menor valor possível para a faixa. Neste caso, o valor será zero como, por exemplo, 192.168.0.0 na notação decimal ou na notação simplificada { rede, 0 }.

O endereço especial { rede, -1 } significa que todos os bits relativos ao campo do host estão definidos como 1. Esse endereço especial recebe o nome de endereço de difusão dirigida (directed broadcast) ou simplesmente endereço de broadcast.

Para entender a função do endereço de broadcast é preciso compreender dois tipos de tecnologias de transmissão utilizadas em redes de computadores. Nas redes do tipo ponto-a-ponto as conexões ocorrem entre pares de hosts. Esse tipo de tráfego é chamado de unicast. Nessas redes, todo o tráfego é restrito aos hosts diretamente envolvidos na comunicação. Podemos pensar na transmissão unicast como um canal privado utilizado pelas partes envolvidas na comunicação. Um exemplo de ligação ponto-a-ponto com tráfego do tipo unicast é a ligação de dois roteadores através de uma linha privada.

Outro tipo de tráfego de rede é chamado difusão ou broadcast. Nas redes por difusão (uma LAN Ethernet, por exemplo) um host envia um pacote no barramento e todos demais hosts do segmento o recebem. Entretanto, apenas o host de destino retira o pacote do barramento, trata e, se for o caso, responde. Os demais hosts ignoram o pacote.

Existe outro tipo de tráfego por difusão denominado multidifusão ou multicast. Nesse tipo de tráfego de rede os pacotes são enviados também por difusão. A diferença é que, agora, um grupo específico de hosts da rede pode receber e tratar os pacotes. A multidifusão é utilizada em situações em que determinados tipos de pacotes devem ser enviados para alguns hosts de uma rede.

Por exemplo, quando precisamos descobrir qual host fornece um certo serviço. O modo mais simples de fazer isso é endereçar um pacote com o endereço de broadcast da rede e enviá-lo solicitando ao hospedeiro do serviço que se identifique. O host que fornece o serviço irá responder à solicitação e os demais irão ignorar o pacote.

Podemos afirmar que o endereço de broadcast é sempre o último endereço dentro de uma faixa de endereços IP que definem uma rede. O endereço de broadcast não pode ser atribuído a nenhum host da rede e somente pode ser usado como endereço de destino, jamais como endereço de origem de um pacote.

Para descobrir o endereço de broadcast de uma rede basta definir a parte relativa ao host com o maior endereço possível de host dessa rede. Isso equivale a definir a parte de host do endereço com todos os bits marcados como 1. Por convenção, a notação simplificada utilizada para indicar o endereço de broadcast é "menos um" <-1>. Por exemplo, na rede 192.168.0.0 (classe C) o endereço de broadcast será 192.168.0.255, pois esse é o maior endereço de host possível nessa faixa de endereços IP.

Pacotes endereçados ao broadcast direto são roteáveis já que é possível determinar sua rede de destino. Todavia, por questões de segurança os administradores de rede, muitas vezes, não aceitam tráfego broadcast vindo de fora da rede. Isso visa evitar ataques de negação de serviço (DoS - Denial of Service) que utilizam mecanismos de broadcast direto para sondar a rede.

A RFC 1700 descreve o broadcast restrito, representado pelo endereço IP 255.255.255.255 na notação decimal ou { -1, -1 } na notação simplificada. Neste caso, tanto o campo rede quanto o de host estão totalmente preenchidos com 1. Os pacotes endereçados ao broadcast restrito não podem atingir outras redes. Pois, como não é possível determinar a rede de destino do pacote ele não pode ser encaminhado pelo roteador. Este endereço somente pode ser usado como endereço de destino e nunca como origem. Sua função é ser usado como broadcast restrito em uma LAN.

O endereço { 0, host } é utilizado em situações em que um host conhece seu número de host, mas desconhece qual é a sua rede. Endereços IP cuja parte da rede seja definida como zero, se referem à rede local. Este endereço somente pode ser usado como endereço de origem e nunca como destino.

O endereço 0.0.0.0 ou { 0, 0 } também é reservado para fins especiais. Durante a inicialização (boot) um host que utiliza endereçamento dinâmico DHCP - Dynamic Host Configuration Protocol - precisa enviar pacotes ao servidor DHCP para obter um endereço IP. Todavia, este host não sabe seu endereço de rede e sequer seu endereço de host, ainda assim ele é capaz de inicializar. Atribuindo a si mesmo o endereçamento 0.0.0.0, uma placa de rede é capaz de se referenciar à própria rede se identificado como "este host nesta rede" e, deste modo, obter a configuração do servidor DHCP. Substituindo em seguida esse endereço provisório e inválido, pelo endereço válido atribuído por DHCP.

Outro endereço especial (na verdade uma rede inteira) vai de 127.0.0.0 até 127.255.255.255 em notação decimal ou { 127, host } em notação simplificada. Esta faixa de endereços é reservada para a função de laço de retorno (loopback).

A principal função da interface de loopback é permitir que programas em desenvolvimento e que façam uso da pilha TCP/IP sejam testados sem interferir no funcionamento da rede. Isso significa que pacotes enviados para estes endereços não são transmitidos para o barramento da rede e sim direto da pilha TCP/IP para sua própria interface de rede. Estes pacotes são tratados como pacotes de entrada.

Outra função do loopback é servir de endereço para a execução local de um serviço. Tornando-o invisível aos demais hosts da rede.

Tradicionalmente, o endereço 127.0.0.1 é usado como endereço de loopback e recebe o nome de localhost. Todavia, qualquer endereço na rede { 127, 0 } poderia ser usado. Na prática, isso representou um desperdício de todos esses números de hosts, já que não podem ser atribuídos a outras funções.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução ao Protocolo Internet - IP
   2. Endereçamento IP
   3. Endereços IP especiais
   4. Criação de subredes IP
   5. Máscara de subrede
   6. CIDR - Classless InterDomain Routing
   7. Endereços IP privativos
   8. O cabeçalho IPv4
   9. Fragmentação
   10. QoS - Qualidade do Serviço
   11. ToS - Type of Service no protocolo IP
   12. Referências e conclusões
Outros artigos deste autor

Sylpheed - Cliente de e-mail para terminais leves

Estratégias de backup e ferramentas livres

Configurando o D-Link DSL-210 no Debian Etch

Criando uma aplicação que mostra os processos em execução

Instalando o Virtualbox da Sun Microsystems no Ubuntu

Leitura recomendada

Diferentes distribuições GNU/Linux e diferentes usuários

O que ainda falta pra você abandonar o Windows de vez?

Aluguel de certificações e formações. Ilegal?

O papel do Linux na Telefonia Móvel Mundial

Comentário Infeliz

  
Comentários
[1] Comentário enviado por roberto_espreto em 02/06/2008 - 12:37h

Cara, muito legal seu artigo! Ainda não tive tempo de ler adequadamente, mas assim que possível irei!
Tanembaum é de tirar o chapéu!
Um autor que gosto muito tbm é o Kurose e o Douglas Comer!
Continue com seus artigos assim!



®

[2] Comentário enviado por eduardo em 02/06/2008 - 13:57h

Parece ser bem interessante e completo.

Favoritei para ler depois ;)

[3] Comentário enviado por albertguedes em 02/06/2008 - 14:47h

Eita trabalhera hein ? Esse é um dos artigos mais completos que já li aqui no VOL, tenho que parabenizar pela esforço, valeu mesmo Unasi.

[4] Comentário enviado por maykonhammer em 02/06/2008 - 23:23h

parabéns pelo artigo..
flw

[5] Comentário enviado por elgio em 03/06/2008 - 10:55h

Muito bom!
Parabéns mesmo pelo excelente e completo artigo!

Em tempo: o task force Ipv6 elegeu 2008 como o "ano da virada". Será? hehehehe

[6] Comentário enviado por removido em 03/06/2008 - 11:59h

Excelente artigo!

[7] Comentário enviado por eng_ividal em 03/06/2008 - 18:07h

muito bom mesmo o artigo!!!

[8] Comentário enviado por stephannie em 04/06/2008 - 20:27h

Parabéns, muito bom!

[9] Comentário enviado por DavidNS em 28/08/2008 - 13:44h

valeu me ajudo a entender um pouco mais!!!

[10] Comentário enviado por leoh em 16/02/2010 - 23:54h

Texto de altíssima qualidade. Você tem talento para escrever. Parabéns.

[11] Comentário enviado por IanVilar em 01/11/2012 - 17:49h

Esse foi um dos artigos mais completos e bem explicados que já vi. Parabéns ao autor e que continue fazendo esse excelente trabalho!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts