WirelessBR

WirelessBr é um site brasileiro, independente, sem vínculos com empresas ou organizações, sem finalidade  comercial,  feito por voluntários, para divulgação de tecnologia em telecomunicações 

Série de artigos sobre VoIP (2)
VoIP

TCP/IP for not-so dummies
   - Parte 03

José de Ribamar Smolka Ramos


Série de artigos sobre VoIP
Segundo artigo
- Parte 03 

Camada internetwork 

Estamos, finalmente, no reino do protocolo IP (internetworking protocol). Mas, antes de mais nada, alguns esclarecimentos. 

Os pacotes IP são enviados entre interfaces físicas, e não entre sistemas. Desta forma, cada interface física de um sistema possui (pelo menos) um endereço IP (IP address) que a identifica univocamente em toda a rede. 

O endereço IP sempre é tratado como sendo composto de duas partes lógicas: endereço da rede (network address) e endereço do host[9] (host address). Como as decisões de encaminhamento físico dos pacotes feitas pelo IP dependem diretamente da forma como estas duas partes do endereço são determinadas, vamos olhar isto mais de perto. 

Endereços IP são números binários com 32 bits de tamanho. Normalmente (para consumo humano) ele é expresso no formato dotted decimal, onde cada um dos quatro bytes do endereço é representado pelo seu valor equivalente em decimal, separados por pontos. A figura 3 mostra alguns exemplos. 

Figura 3 – Endereços IP (dotted decimal e binário)

 
Originalmente, a definição do network address e do host address ficavam rigidamente determinados em classes:

Com raciocínios análogos foram definidas também as classes D (para transmissões multicast) e E (para uso experimental). 

Logo foi percebido que cada organização que ganhasse o direito de uso de uma dessas redes (de qualquer classe, mas especialmente para os casos das classes A e B) quase sempre iria precisar separar a rede designada para ela em sub-redes (subnets) menores, por razões administrativas. 

Para isso foi criado o mecanismo de subnetting, que, quando configurado em um host, faz com que ele interprete a separação de um endereço IP em network address e host address de forma diferente das classes padronizadas. 

Em interface física (o endereço IP é da interface, lembra?) dos hosts que fazem subnetting é configurada uma subnet mask, no formato dotted decimal (para consumo humano), com tantos bits um (começando do bit mais significativo do primeiro byte, e sempre contíguos) quantos sejam os bits que se queira interpretar como network address

Nestas interfaces, sempre que tiver que ser avaliado o network address de um endereço IP, ele é obtido através de uma operação lógica AND entre o endereço IP e a subnet mask. Por exemplo: um host tem uma das suas interfaces configurada com endereço IP 10.30.20.55 e subnet mask 255.255.255.0. Pela lógica das classes, o network address seria interpretado como sendo 10.0.0.0 (classe A). Mas, com subnetting, o network address passa a ser interpretado como 10.30.20.0 (como se fosse uma classe C artificial). 

O crescimento da Internet na sua fase acadêmica já impôs um considerável stress neste método de administração do espaço de endereçamento IP. Com a explosão de crescimento da fase comercial, ficou totalmente inviável continuar alocando endereços IP desta forma, e o fantasma do esgotamento dos endereços IP apareceu pela primeira vez. 

O IETF, então, adotou uma reengenharia na forma de identificar network addresses e host addresses, chamada CIDR (classless inter-domain routing). Na prática, o CIDR torna o mecanismo de subnetting obrigatório. 

A notação CIDR é a seguinte: após o endereço IP no formato dotted decimal coloca-se uma barra e um número variando entre zero e 32, inclusive. O número após a barra identifica quantos bits do endereço IP (sempre começando do bit mais significativo do primeiro byte, contíguos – como na subnet mask) compõem o prefixo CIDR do endereço. O network address, é o resultado de uma operação AND entre o endereço IP e uma subnet mask equivalente ao prefixo CIDR. 

Usando o mesmo exemplo anterior, se o endereço da interface for especificado, na notação CIDR, como 10.30.20.55/24, o network address será interpretado como 10.30.20.0, causando o mesmo efeito que o uso de uma subnet mask 255.255.255.0. 

O uso de CIDR, mais a RFC 1918, que reservou algumas faixas de endereços para uso exclusivo em redes internas das organizações e estabeleceu o uso de NAT (network address translation) gateways para fazer a tradução de endereços IP dos pacotes que cruzam a fronteira entre redes privadas que usam TCP/IP e a Internet pública, permitiu (com bastante sucesso) que o problema do esgotamento dos endereços IP fosse adiado por algum tempo. Mas este esgotamento é apenas uma questão de tempo. Para contornar (quase) definitivamente este risco, foi feita a especificação da versão 6 do protocolo IP (a atual é a versão 4), conhecido como IPng (IP next generation) ou IPv6, que utiliza endereços com 128 bits de tamanho. Como o assunto da oportunidade e métodos para migração de IPv4 para IPv6 dá uma outra série de artigos, e como isto não é crítico para o que queremos falar sobre VoIP, não vou entrar mais fundo neste tema. 

Agora que sabemos identificar qual a subnet e qual o host designados por um endereço IP, podemos entender como funciona o mecanismo de encaminhamento físico dos pacotes IP na rede, conhecido como roteamento IP. 



[9] Qualquer sistema conectado a uma rede TCP/IP, não importa a sua natureza, é chamado, genericamente, um host. Como iremos ver, entretanto, existem hosts e hosts.
 
[10] No network address (com exceção dos bits que definem a classe) e no host address vale a seguinte regra: todos os bits zero significam this network/host, e todos os bits um significam all networks/hosts. Por isso o número de networks/hosts possíveis é igual a 2n–2, onde n é o número de bits de network/host address. Na classe A, a rede 127.0.0.0 (que cairia na categoria all networks) é reservada para loopback addresses.

 

Home WirelessBR                    Anterior                     Próxima