Você está na página 1de 7

Resumo e exerccios complementares sobre endereamento IP

Como visto em aula, um endereo IP um nmero de 32 bits de comprimento usado para


localizar e identificar uma mquina dentro de uma rede de computadores.
Por ser complicado trabalhar diretamente com um nmero binrio to grande, ns o
dividimos em 4 blocos de 8 bits (octetos) cada e os representamos em decimal separados por
pontos. Por exemplo, o endereo IP
11000000101010000001000001100100
depois de dividido em blocos
11000000.10101000.00010000.01100100
ficaria representado assim:
192.168.16.100
Parecem ser 4 nmeros independentes, mas isso s um representao e para o
computador continua sendo um nico nmero de 32 bits de comprimento.
O endereo IP carrega em si duas informaes importantes: a localizao da mquina (ID
de Rede/Subrede) e a identificao lgica da mesma (ID de Host). O ID de rede/subrede o que
permite aos roteadores encontrarem o grupo a que a mquina pertence e o ID de host identifica
individualmente a mquina dentro do grupo em questo.
Obs.: Lembre-se de que uma mquina tambm possui uma identificao fsica (MAC
Address) que fica gravada na placa de rede. Ambas as identificaes, fsica e lgica, so
relacionadas numa tabela chamada de cache ARP, que o host/roteador consulta quando vai
enviar informaes a algum destino. O host/roteador precisa do IP para enderear os
pacotes de uma rede para outra. E precisa do MAC para enderear os quadros que carregam
esses pacotes de uma interface para outra dentro de uma mesma rede.
Mas como saber exatamente quais bits do endereo IP identificam a localizao
(rede/subrede) e quais identificam a mquina (host) propriamente dita? aqui que entra a mscara
de rede/subrede.
Uma mscara de rede/subrede um outro nmero de 32 bits de comprimento que sempre
acompanha (explicita ou implicitamente) um endereo IP e serve para determinar quais bits do
endereo identificam o ID de rede/subrede e quais bits identificam o ID de host. Os bits 1 numa
mscara indicam que os bits do end IP naquela posio identificam a rede/subrede e os bits 0 na
mscara indicam quais bits do IP identificam o host. Por exemplo, se o endereo apresentado
anteriormente estivesse acompanhado da mscara 255.255.255.0, ele teria o seguinte significado:
192.168.16.100 11000000.10101000.00010000.01100100
255.255.255.0 11111111.11111111.11111111.00000000
Ou seja, os primeiros 24 bits do endereo em questo identificam o ID de rede/subrede e
os ltimo 8 bits identificam o ID de host. Portanto o prefixo da rede em que a mquina est
192.168.16.0 (note que na representao do endereo da rede a parte de host permanece zerada) e o
ID de host 100. Se colocarmos todos os bits da parte de host em 1 teremos um endereo
By RdSL 9/6/2007 9:55

especial (192.168.16.255) chamado de endereo de broadcast da rede, que serve para enderear
pacotes a todas as mquinas que contm o mesmo prefixo. Os endereos de rede (192.168.16.0) e
de broadcast (192.168.16.255) so considerados endereos reservados e no podem ser atribudos
a nenhuma mquina da rede.
Os computadores e roteadores usam um processo bem simples, chamado de operao
AND, para determinar o ID de rede/subrede de um endereo IP.
A operao AND ( ou E lgico ) est baseada na seguintes regras:
b1
0
0
1
1

b0 Sada
0
1
0
1

0
0
0
1

Onde percebe-se que, para que a sada seja 1 (verdadeira), as duas entradas b1 E b0
devem ser tambm 1s (verdadeiras). Note que, para este caso em particular, podemos considerar
que a sada corresponde ao resultado da multiplicao entre b1 e b0. Isto nos fornece uma forma
simples e interessante para determinar o ID de rede/subrede. Basta multiplicar, bit a bit, o endereo
IP pela mscara correspondente. Veja os exemplos, a seguir:
192.168.16 .100 11000000.10101000.00010000.01100100
255.255.255. 0 11111111.11111111.11111111.00000000
192.168.16 . 0 11000000.10101000.00010000.00000000
178.100.35 .210 10110010.01100100.00100011.11010010
255.255. 0 . 0 11111111.11111111.00000000.00000000
178.100. 0 . 0 10110010.01100100.00000000.00000000
110.120.135.95
255. 0 . 0 . 0
110. 0 . 0 . 0

01101110.01111000.10000111.01011111
11111111.00000000.00000000.00000000
01101110. 00000000.00000000.00000000

Note que para cada caso, o prefixo de rede tem um comprimento diferente de acordo com a
mscara. Perceba, tambm, que quando o octeto da mscara 255 o valor do octeto do IP passa
sem alteraes, mas quando o octeto da mscara 0 octeto do IP tambm zerado. Estas
observaes nos permite agilizar o clculo.
Obs.: Uma mscara de rede/subrede pode ser representada de formas diferentes
o Binrio : 11111111.11111111.11111111.00000000
o Decimal: 255.255.255.0
o Notao CIDR: /24 (onde 24 corresponde ao n de bits 1 na mscara)
o H tambm a notao hexadecimal: FF.FF.FF.00 (mas bem menos comum)
Agora que sabemos sobre IPs e mscaras, vamos a um ltimo conceito importante para
encerrar este resumo. O conceito de classes de endereos!!!

By RdSL 9/6/2007 9:55

Um nmero IP de 32 bits permite 232 combinaes possveis de 0s e 1s , indo de


00000000000000000000000000000000 (0.0.0.0) at 11111111111111111111111111111111
(255.255.255.255), o que corresponde a 4.294.967.296 endereos IP possveis. Porm, nem todos
estes endereos esto disponveis para endereamento (identificao) individual de mquinas.
Todos os endereos IP possveis esto distribudos em 5 classes diferentes chamadas
classes A, B, C, D e E. Que tm as seguintes caractersticas:
Classe A: usa 1 octeto para identificar rede e 3 para identificar host [Rede.Host.Host.Host].
Tem como mscara default 255.0.0.0 ou /8 na notao CIDR
Classe B: usa 2 octetos para identificar rede e 2 para identificar host [Rede.Rede.Host.Host].
Tem como mscara default 255.255.0.0 ou /16 na notao CIDR
Classe C: usa 3 octetos para identificar rede e 1 para identificar host [Rede.Rede. Rede.Host].
Tem como mscara default 255.255.255.0 ou /24 na notao CIDR
Classe D: reservada para endereos de multicast
Classe E: reservada para IETF
As nicas classes roteveis so as classes A, B e C pois s elas possuem identificao da rede
de destino. Quando encontramos um IP de uma dessas 3 classes, se no vier acompanhado de uma
mscara explicita, assumimos a mscara default da classe (implcita), ou seja, /8 para classe A, /16
para classe B e /24 para classe C.
Mas a surge a seguinte questo: como identificar a classe a que pertence um determinado
endereo IP ? A resposta simples: observando o valor do 1 octeto!
De 0 a 127 um endereo de classe A, porm os endereos iniciados especificamente
com octeto 0 e com octeto 127 so reservados, o que nos deixa o range de 1 a 126 para
uso em redes. Por exemplo: 1.0.0.0 a 1.255.255.255 para a 1 rede e 126.0.0.0 a
126.255.255.255 para a ltima rede classe A.
De 128 a 191 um endereo de classe B. Por exemplo: 128.0.0.0 a 128.0.255.255
para a 1 rede e 191.255.0.0 a 191.255.255.255 para a ltima rede.
De 192 a 223 um endereo de classe C. Por exemplo: 192.0.0.0 a 192.0.0.255 para a
1 rede e 223.255.255.0 a 223.255.255.255 para a ltima rede.
De 224 a 239 um endereo de classe D, reservado para multicast. Por exemplo:
224.0.0.0 a 239.255.255.255
De 240 a 255 um endereo de classe E, reservado para testes. Por exemplo: 240.0.0.0
a 255.255.255.254. O endereo 255.255.255.255 reservado para broadcasts dentro
de um rede local (LAN).
O que nos d a seguinte proporo de endereos por classe:

By RdSL 9/6/2007 9:55

Ok! Mas de onde saram tais valores? Porque especificamente a distribuio ocorre dessa
forma? A resposta : por causa da combinao de bits especfica que cada classe tem para o 1
octeto, ou seja:
Classe A
00000000 .
01111111 .

0 (res)
127 (res)

1.0.0.0
126 . 0 . 0 . 0

1 rede de classe A
ltima rede de classe A

128
191

128 . 0 . 0 . 0 1 rede de classe B


191 . 255 . 0 . 0 ltima rede de classe B

192
223

192 . 0 . 0 . 0 1 rede de classe C


223 . 255 . 255 . 0 ltima rede de classe C

224
239

224 . 0 . 0 . 0
1 endereo de classe D
239 . 255 . 255 . 255 ltimo endereo de classe D

240
255

240 . 0 . 0 . 0
1 endereo de classe E
255 . 255 . 255 . 254 ltimo endereo de classe E

Classe B
10000000 .
10111111 .
Classe C
11000000 .
11011111 .
Classe D
11100000 .
11101111 .
Classe E
11110000 .
11111111 .

Assim, os servios de rede que usam endereos IP baseados em classes (protocolos de


roteamento classful, por exemplo) verificam qual a combinao dos 1s bits do endereo para saber
a que classe o mesmo pertence e com isso determinar a estrutura padro para roteamento. Lembrese: o roteamento realizado entre redes/subredes.
Subredes:
Podemos modificar a mscara default de um endereo IP? Ou seja, colocar mais bits do que a
classe prev? A resposta sim, mas apenas para as classes A, B e C. Quando fazemos isso,
estamos avanando com a mscara sobre os bits de host e chamamos a isso de tomar bits
emprestados, pois os bits extras apontados pela mscara deixam de identificar os hosts para poder
identificar subredes.
Por exemplo: no endereo 192.168.16.100 /27, o IP um endereo de classe C mas a
mscara que o acompanha foi modificada indicando que 3 bits a mais foram tomados emprestados.
Com isto, o ltimo octeto que antes s representava o ID do host agora passa a representar duas
informaes, o n da subrede (3 bits iniciais) e o ID do host (5 bits finais). O que nos d um total
de 23 (=8) subredes diferente com 25 (=32) IDs de host cada uma. Para determinar quantos bits
ficaram para host basta subtrair o tamanho da mscara de 32 (32-27 =5 bits para host).
Como determinar o endereo inicial da subrede a que pertence um dado host? Simplesmente
executando uma operao AND. Para o exemplo anterior teramos o seguinte:
192.168.16 .100 11000000.10101000.00010000.01100100
255.255.255.224 11111111.11111111.11111111.11100000
192.168.16 . 96 11000000.10101000.00010000.01100000

By RdSL 9/6/2007 9:55

Note que a operao AND continua zerando apenas os bits de host, mas mantendo os bits
de prefixo de rede/subrede intactos. Neste caso, o host 192.168.16.100 /27 pertence subrede que
inicia em 192.168.16.96 [endereo da subrede] e termina em 192.168.16.127 [endereo de
broadcast da subrede]. Para determinar o endereo de broadcast de uma subrede, basta manter o
prefixo e colocar todos os bits de host em 1 . Ainda usando o exemplo anterior:
192.168.16.127

11000000.10101000.00010000.01111111

Como complemento, eis os ranges completos para cada subrede da rede 192.168.16.0 com
mscara /27 [255.255.255.224]:
Subrede

[ 5 bits de host em 0 ]

1 endereo de host
vlido no range

SR0 - 000

192.168.16.0

192.168.16.1

192.168.16.30

192.168.16.31

SR1 - 001

192.168.16.32

192.168.16.33

192.168.16.62

192.168.16.63

SR2 - 010

192.168.16.64

192.168.16.65

192.168.16.94

192.168.16.95

SR3 - 011

192.168.16.96

192.168.16.97

192.168.16.126

192.168.16.127

SR4 - 100

192.168.16.128

192.168.16.129

192.168.16.158

192.168.16.159

SR5 - 101

192.168.16.160

192.168.16.161

192.168.16.190

192.168.16.191

SR6 - 110

192.168.16.192

192.168.16.193

192.168.16.222

192.168.16.223

SR7 - 111

192.168.16.224

192.168.16.225

192.168.16.254

192.168.16.255

os

[1 3 bits]

Endereo de rede

ltimo endereo
vlido no range

Broadcast de rede
[ 5 bits de host em 1 ]

As subredes 0 e 7 (1 e ltima) no podem ser atribudas a hosts, pois podem causar


conflitos de acordo com a RFC 950.
A seguir esto alguns exerccios complementares para vocs treinarem bem os conceitos
acima, principalmente o da operao AND (determinao do prefixo da rede/subrede).
Recomendo os seguintes passos:
1. Identificar classe do endereo
2. Identificar a mscara (se implcita ou explcita). Mscara implcita a mscara
default da classe em questo.
3. Identificar o ID da rede e o ID do Host
4. Verificar se o endereo um endereo vlido, de rede ou de broadcast.
5. Determinar quantos bits h emprestados e quantos bits h para host.
6. Calcular quantas subredes e quantos hosts so criados para a mscara dada, caso ela
seja diferente da default.
Vamos aos exerccios...

By RdSL 9/6/2007 9:55

Exerccio 1: Preencha a tabela abaixo com as informaes indicadas no cabealho, seguindo o exemplo dado.

Endereo IP

Classe

Mscara
CIDR

Mscara Decimal

ID da
rede/Subrede

ID do host

Bits
emprestados

N de
SR teis

N de
hosts teis

14

14

200.100.50.16
106.50.13.48
192.168.20.50

8
/24

173.50.69.14

255.255.192.0

224.0.0.5
10.0.5.100

/24

160.50.32.32

190.35.48.0
255.255.240.0

130.100.32.0

0.150

20.49.1.1
192.5.5.131
223.8.151.162

3
/28

180.15.15.15

254

224.10.10.10
/16

100.100.0.0

99.99.99.99

255.0.0.0

128.1.1.100

255.255.255.0

219.17.100.17

25.25

172.16.0.1
100.1.1.1

By RdSL 9/6/2007 9:55

Exerccio 2: Para os endereos abaixo determine:


A rede/subrede a que o endereo pertence.
O endereo de broadcast da rede/subrede
Se o endereo um endereo de host vlido ou reservado

a. 223.8.151.100 /24
b. 101.100.50.15 /16
c. 170.15.200.255 /19
d. 200.100.50.159 /28
e. 169.200.255.250
f. 125.31.255.255 /11
g. 181.100.0.255 255.255.255.0
h. 50.50.127.0 255.255.192.0
i. 210.17.100.1
j. 150.150.15.255 255.255.240.0
k. 10.1.255.255
l. 196.6.13.145 255.255.255.252

By RdSL 9/6/2007 9:55