Redes de computadores/Protocolo IP
Os endereços físicos ( MAC) das placas de rede podem ser utilizados para comunicar-se com outras máquinas na própria rede, mas não além desta, pois o protocolo utilizado na camada física as limita. Para que distintas redes locais com tecnologias diferentes possam se comunicar é que foi criado o protocolo IP. Ou seja, este protocolo serve para abstrair os protocolos das camadas superiores (transporte e aplicação) da rede em que se encontram, tratando várias redes interconectadas como apenas uma.
Para conectar somente duas redes locais, normalmente um computador com duas placas de rede já basta. Este computador é comumente chamado de bridge[1][2], pois faz uma "ponte" entre as duas redes locais. Porém quando se deseja interligar várias LANs, o equipamento mais usado é um computador dedicado chamado roteador, cuja função principal é receber pacotes endereçados a redes diferentes da que estão e colocá-los na rede que esteja mais próxima de seu destino.
O endereço IP
[editar | editar código-fonte]O endereço IP é um número de 32 bits[3], comumente exibido como octetos na base decimal (veja Conversão de base numérica) separados por pontos, dividido em um prefixo que identifica a rede onde está conectada a máquina e um sufixo que identifica cada máquina individualmente em sua rede. O endereço IP completo (prefixo da rede + sufixo da máquina) tem de ser único em todas as sub-redes que componham a rede maior.
Para melhorar o controle e o gerenciamento, os gestores dividiram os endereços IP na Internet em diversas classes[4] com diferentes fronteiras entre o endereço da rede e o da máquina. Assim, cada rede, dependendo do número de máquinas que possuir, recebe um prefixo para as classes A, B ou C e gerencia o sufixo de forma que os endereços não se repitam, podendo também subdividir um sufixo em um novo endereço de sub-rede, caso esta passe a existir.
Classe | 8 | 16 | 24 | 31 |
---|---|---|---|---|
A | Prefixo | Sufixo | ||
B | Prefixo | Sufixo | ||
C | Prefixo | Sufixo | ||
D | Multicast | |||
E | Reservado para experimentação[4] |
Portanto o espaço de endereçamento na internet é dividido da seguinte forma[4]:
Classe | Faixa de valores (primeiro octeto) |
Número de endereços de rede |
Número de máquinas em cada rede |
---|---|---|---|
A | 0 ~ 127 | 128 | 16.777.216 |
B | 128 ~ 191 | 16.384[5] | 65.536[5] |
C | 192 ~ 223 | 2.097.152[5] | 256[5] |
D | 224 ~ 239 | - | - |
E | 240 ~ 255 | ? | ? |
Este sistema de classes facilita o roteamento, pois dependendo da faixa em que se encontrar o primeiro octeto do endereço, se sabe quantos bits dele se referem a rede e quantos a máquina. Porém tira versatilidade do sistema. Fica-se limitado a 3 tamanhos de redes: grande (classe C), muito grande (classe B) ou exagerada (classe A). Conforme a internet crescia, se fez necessária a subdivisão dos espaços de endereçamento, para poder acomodar mais redes de menor tamanho. Então foi criado o CIDR (Classeless Interdomain Routing), que possibilita a utilização de qualquer número de bits para rede, devendo este número ser informado em um netmask.
Máscaras de rede (endereçamento sem classe)
[editar | editar código-fonte]Netmask é a forma de se informar ao sistema operacional qual parte do endereço é referente à rede e qual é referente à máquina. Ele é formado com 1 na porção da rede do endereço e 0 na porção da máquina[6]. Geralmente o netmask é escrito com o mesmo formato de um endereço IP (bits separados em octetos escritos na base decimal), mesmo não sendo o endereço.
Por exemplo, um netmask para uma rede de classe C é 255.255.255.0, já que apenas o último octeto dos endereços classe C são referentes à rede, os demais estão totalmente preenchidos por 1 pois (255)10=(11111111)2.
Os administradores frequentemente precisam subdividir o espaço de endereçamento recebido para a internet. Por exemplo: Suponha ter recebido um endereço de classe C 200.131.56 e precise separar o espaço para 4 sub-redes. Assim sendo, deve-se separar mais dois bits do último octeto para identificar as redes (00, 01, 10 e 11) e o netmask teria (11000000)2 no último octeto; assim o netmask seria 255.255.255.192. Todos os endereços se iniciariam por 200.131.56, e teriam para o último octeto o seguinte:
Sub-rede | De | Até |
---|---|---|
1ª | (00000000)2 = (0)10 | (00111111)2 = (63)10 |
2ª | 01000000)2 = (64)10 | (01111111)2 = (127)10 |
3ª | (10000000)2 = (128)10 | (10111111)2 = (191)10 |
4ª | (11000000)2 = (192)10 | (11111111)2 = (255)10 |
O netmask, assim, é ideal para a extração do endereço de rede de um endereço IP. Basta um simples e (and) bit a bit entre o netmask e o endereço para a tarefa ser completada. Por esta tarefa ser realizada nos roteadores a cada pacote, para se decidir qual será a porta de destino, a eficiência é importante.
Entretanto, alguns sistemas usam uma grafia distinta desta, indicando o número de bits componentes do endereço de rede, por exemplo 200.131.56.207/24, onde o 24 após o endereço IP serve para indicar que os 16 primeiros bits do endereço referem-se a rede e, portanto, que os 8 restantes são referentes ao endereço da máquina.
Entre a rede local e a de longa distância
[editar | editar código-fonte]A camada física possui um tipo próprio de endereçamento, portanto se faz necessária uma conversão do endereço IP para o protocolo utilizado nesta camada.
Referências
[editar | editar código-fonte]- ↑ How Stuff Works. Como funciona a Ethernet. Página visitada em 1 de fevereiro de 2011.
- ↑ LSM, Acessado em 9/8/10.
- ↑ Devmedia, Acessado em 9/8/10.
- ↑ 4,0 4,1 4,2 [mesonpi.cat.cbpf.br/naj/tcpipf.pdf Mesonpi], página 8. Acessado em 9/8/10.
- ↑ 5,0 5,1 5,2 5,3 Vas-y, Acessado em 9/8/10.
- ↑ [mesonpi.cat.cbpf.br/naj/tcpipf.pdf Mesonpi], página 9. Acessado em 9/8/10.