SubEndereços IP
{IP SubAddresses.doc}
A multiplicação de subredes de área local (LANs) detidas por uma única organização veio colocar problemas à
estrutura de endereços - hierárquica a dois níveis - acabada de discutir.
Considere-se, com efeito, algum sítio de uma rede de Área ampla (WAN) que, mediante uma ou várias
gateways, viabiliza o acesso a várias subredes locais. Como conceber o endereço-IP de um vulgar computador
ligado a uma dessas subredes? Várias soluções se apresentam:
Uma solução passaria pela atribuição, pelo NIC, de um Número de Rede a cada subrede… mas intui-se a
subsequente explosão no tamanho das tabelas de encaminhamento nos nós da WAN…
Para o evitar, poderia, antes, atribuir-se o mesmo Número de Rede a todas as subredes, e atribuir um Número a
cada computador, independentemente da LAN a que pertencesse… mas intui-se a complexidade adicional
necessária para se discernir a LAN em que reside um computador…
Uma terceira solução, simples e eficiente, e que acabou por vingar (cfr RFC 950), é a seguinte: do ponto de
vista do exterior, a todas aquelas subredes deverá corresponder um mesmo Número de Rede; quanto a algum
computador interligado a alguma delas, o seu endereço local deve ser pensado como desenrolando-se em duas
partes: o Número da Subrede a que está ligado, e o Número de Computador nessa subrede, cfr. esquema abaixo
representando um endereço-IP completo:
Número de Rede
Número de Subrede
Número de Computador
Na WAN, o encaminhamento é feito com base no Número de Rede; já na rede de subredes, o encaminhamento
até à subrede particular é feito com base num Número estendido, consistindo no par
Número de Rede // Número de Subrede.
Admitindo-se que não se altera o número de bits ocupado pelo Número de Rede (para não alterar o software de
encaminhamento no seio da WAN), um par de questões fica por esclarecer:
• qual o comprimento a atribuir ao Número de Subrede; fixo ou variável?
• em que posição, no seio do Endereço completo deve ele aparecer? ao centro, como se figura acima, ou,
antes, à esquerda ou à direita?… como se estrutura?
Em ordem a proporcionar às organizações a maior flexibilidade no estabelecimento dos endereços das subredes
e computadores -, o método enfim preferido foi o de usar uma Máscara de Endereço: a cada subrede está
associada uma Máscara de bits que precisa, no endereço total, quais os bits que especificam a subrede a que está
interligado. Na prática, essa Máscara consiste em 32 bits, assim preenchidos:
- 0 nas posições reservadas para veicular o endereço local do computador;
- 1 em todas as outras (isto é, que veiculam a rede e subrede).
Por exemplo, a máscara 11111111 11111111 11111100 00000000 significa que os 22 primeiros bits do
endereço-IP identificam a rede e subrede, e os restantes 10 identificam o computador.
Com este método, os bits do Número de uma Subrede não necessitam estar adjacentes uns aos outros, como se
exemplificou acima: podem estar dispersos no seio do endereço.
Tal máscara, ignorada no seio da Internet, precisa ser conhecida apenas localmente; com ela, advém
facilitado, para um computador, discernir a quem enviar um datagrama destinado a um computador no sítio
em questão: começa por determinar o And entre a Máscara e o seu próprio Endereço; depois, confronta-o
com o And entre a Máscara e o Endereço do destinatário; se fôrem iguais, envia-o directamente, que o
interlocutor deve estar conectado à mesma Rede-Local; caso contrário, envia-o para a gateway de acesso à
subrede de destino.
Tabela de Endereços
{Address Table.doc}
Cada gateway necessita deter uma tabela que estabeleça o que fazer com um datagrama que
entretanto lhe seja entregue.
No caso mais geral, essa gateway providenciará o acesso a outras gateways e, subentendido que
ela dá acesso a alguma rede local, aos computadores que lhe estão ligados. Depreende-se, por
conseguinte, que a tabela acima referida conterá dois tipos de entradas:
- entradas do tipo (rede,-), concebidas a propósito de datagramas que são destinados a outra rede
que não a local: para cada rede remota conhecida, caracterizam a interface física que dá acesso à
gateway por onde há-de prosseguir um datagrama cujo destino é tal rede;
- entradas do tipo (-,computador), concebidas a propósito de datagramas que são destinados à
rede local a que a gateway dá acesso: caracterizam a porta local a que está interligado o computador
a que se destina o datagrama.
Quando um datagrama chega à gateway, esta deduz, do respectivo endereço de destino, qual a
rede última a que o datagrama deve ser enviado;
- se se trata de uma outra rede, remota, consulta as entradas do primeiro tipo, (rede,-), e
despacha o datagrama para a interface física que lhe está associada (se, eventualmente, não dispuser,
na tabela, de entrada correspondente à rede de destino do datagrama, despacha-o para uma gateway
que, supostamente, detenha mais informações…);
- ao invés, se se trata da própria rede local a que a gateway dá acesso, consulta as entradas do
segundo tipo, (-,computador), e envia o datagrama directamente para a interface física associada ao
computador de destino do datagrama.
Abra-se um parêntesis para se apreciar a simplicidade do algoritmo acima - e, particularmente, a
contenção do tamanho das tabelas: não existem entradas do tipo (rede,computador), a gateway
necessita apenas conhecer o que fazer com redes remotas e computadores locais.
Aquando da introdução de subredes, a alteração a fazer às tabelas é diminuta: é bastante a
substituição de entradas do segundo tipo por entradas dos tipos (-,subrede,-) e (-,-,computador): o
que a gateway necessita agora é discernir como fazer chegar os datagramas às demais subredes
locais e aos seus próprios computadores locais.
Concretamente, para uma gateway discernir como deve enviar um datagrama destinado a um
computador no sítio em questão: começa por determinar o And entre a Máscara e o seu próprio
Endereço; depois, confronta-o com o And entre a Máscara e o Endereço do destinatário; se fôrem
iguais, envia-o directamente, que o interlocutor deve estar conectado à mesma subrede local; caso
contrário, há que enviá-lo para a gateway de ligação à subrede de destino.
Considere-se, por ex., numa rede de subredes cuja Máscara é 255.255.252.0, uma gateway,
dando acesso à rede de endereço 131.12.28 (que, pode o leitor conferi-lo, é a subrede 7 da rede
131.12);
- admita-se que lhe foi entregue um datagrama destinado ao endereço 131.12.29.15; executando
o And entre este e a Máscara, obtém-se 131.12.28.0 - certificando que o datagrama se destina à
própria subrede a que a gateway dá acesso; então, pode enviar-se directamente o datagrama para o
computador de destino (no caso, o de endereço local 1.15);
- admita-se agora que foi entregue à gateway um datagrama destinado ao endereço 131.12.20.15;
executando o And entre este e a Máscara, obtém-se 131.12.20.0 - certificando que o datagrama se
destina a uma outra subrede, que não aquela a que a gateway dá acesso (no caso, a subrede 5); há
então que enviá-lo para a gateway que dá acesso a essoutra subrede.
Download

SubEndereços IP