21
74 6. AULA 6 – CAMADA DE REDE Objetivos da Aula Aprender os conceitos e o funcionamento da camada de rede. Compreender e realizar o endereçamento de redes e subredes de computadores utilizando o protocolo IP. Entender como ocorre o roteamento de pacotes, com foco no modelo Internet. A função principal da camada de rede é permitir que o dispositivo transmissor envie uma mensagem para um receptor que não esteja diretamente ligado a ele, utilizando para isso dispositivos intermediários. Esse processo de reencaminhamento da mensagem é chamado de comutação e é realizado por dispositivos chamados de comutadores, que formam a rede de interconexão (itens D, E, F, G e H da Figura 6.1). No modelo Internet, essa função é chamada de roteamento e os dispositivos de roteadores. Um cenário para exemplificar a definição descrita anteriormente é representado pela figura a seguir. Figura 6.1: Camada de rede O computador cliente deseja acessar a página Web do servidor com endereço IP 200.10.10.3. O cliente está conectado a um dos roteadores da concessionária de comunicação (que pode ser o provedor de Internet de uma cidade), denominado D. Já o servidor Web que possui a página desejada está ligado ao roteador H de sua concessionária de comunicação. Na grande maioria dos modelos, a camada de rede utiliza a comutação por pacotes. Dessa forma, os dados são divididos em unidades menores denominadas pacotes, que

Material 6ª Semana

Embed Size (px)

Citation preview

74

6. AULA 6 – CAMADA DE REDE

Objetivos da Aula Aprender os conceitos e o funcionamento da camada de rede. Compreender e realizar o

endereçamento de redes e subredes de computadores utilizando o protocolo IP.

Entender como ocorre o roteamento de pacotes, com foco no modelo Internet.

A função principal da camada de rede é permitir que o dispositivo transmissor envie

uma mensagem para um receptor que não esteja diretamente ligado a ele, utilizando

para isso dispositivos intermediários. Esse processo de reencaminhamento da

mensagem é chamado de comutação e é realizado por dispositivos chamados de

comutadores, que formam a rede de interconexão (itens D, E, F, G e H da Figura 6.1).

No modelo Internet, essa função é chamada de roteamento e os dispositivos de

roteadores. Um cenário para exemplificar a definição descrita anteriormente é

representado pela figura a seguir.

Figura 6.1: Camada de rede

O computador cliente deseja acessar a página Web do servidor com endereço IP

200.10.10.3. O cliente está conectado a um dos roteadores da concessionária de

comunicação (que pode ser o provedor de Internet de uma cidade), denominado D. Já o

servidor Web que possui a página desejada está ligado ao roteador H de sua

concessionária de comunicação.

Na grande maioria dos modelos, a camada de rede utiliza a comutação por pacotes.

Dessa forma, os dados são divididos em unidades menores denominadas pacotes, que

75

são encaminhados para a rede de interconexão. Para conseguirmos entender como o

computador cliente pode trocar pacotes (fragmentação dos dados) com do servidor Web,

precisamos compreender como funciona a comutação.

6.1. Comutação

Quando as redes superam os limites geográficos, as conexões por cabos, fibras, wireless

que fazem parte da estrutura de LANS se tornam inviáveis. Para interligarmos LANs

distantes geograficamente necessitamos de tecnologias de transmissão de WANs.

A comutação é o processo de interligar dois ou mais pontos entre si utilizando

dispositivos intermediários. Na Figura 6.1 os dispositivos cliente e servidor estão

conectados a uma rede distribuída e para que se comuniquem é necessário que a

mensagem saia do cliente e seja encaminhada entre os dispositivos D�G�H, por

exemplo, para que seja possível a entrega da mesma ao servidor.

A Figura 6.2 faz uma relação entre o modelo de camadas e o processo de comutação.

Enquanto os computadores cliente e servidor Web que emitem e recebem os dados

implementam as cinco camadas do modelo, dispositivos comutadores (chamados de

roteadores no modelo Internet) implementam somente as camadas física, enlace e rede,

necessárias para o encaminhamento dos dados.

Figura 6.2: Ambiência de ensino-aprendizagem

A comutação é a base para o funcionamento de redes distribuídas, como o sistema de

telefonia e a Internet. Ela pode ser realizada de duas formas: comutação por circuito e

comutação por pacotes, que serão detalhadas a seguir.

76

6.1.1. Comutação por Circuitos

A comutação por circuitos estabelece um caminho (comutadores utilizados para a

transmissão) interligando a origem ao destino antes do início de envio da mensagem. O

caminho estabelecido permanece dedicado até o final da transmissão. Esse tipo de

comutação pode ser dividido em três etapas: o estabelecimento do circuito, a

conversação e a desconexão do circuito.

Na primeira etapa, uma rota fixa conectando pares de comutadores é estabelecida para

que os dispositivos envolvidos possam se comunicar. No exemplo da Figura 6.3, o

circuito formado pelos comutadores A, C e E foi alocado para a transmissão. Depois de

criado, o circuito permanecerá dedicado até que a origem ou o destino encerre a

conexão, ou seja, outros dispositivos não poderão utilizar os recursos alocados. Em

seguida, as estações envolvidas podem trocar informações entre si, transmitindo e

recebendo dados através do circuito (caminho) já estabelecido. Esta transferência de

dados corresponde à segunda etapa da comutação de circuitos.

Figura 6.3: Comutação por circuitos

Após a troca de dados (pacotes 1, 2, 3 e 4 da Figura 6.3), a conexão é finalmente

encerrada, quase sempre pela ação de uma das estações comunicantes. Nesta última

etapa, todos os nós intermediários do circuito precisam ser desalocados de modo a

serem reutilizados, conforme necessário, para formar novos circuitos entre quaisquer

estações pertencentes à rede. Para tanto, sinais de controle são transmitidos para estes

nós, liberando recursos para outras conexões.

77

A comutação de circuitos é muito empregada em sistemas telefônicos, devido à natureza

contínua que caracteriza a comunicação por voz.

Uma vantagem da comutação por circuitos em relação, em comparação com a

comutação por pacotes (apresentada na próxima seção), é que os pacotes tendem a

chegar na ordem em que foram enviados. Uma grande desvantagem é que se um dos

comutadores do circuito dedicado para a transmissão ficarem indisponíveis, a

transmissão será interrompida.

6.1.2. Comutação por Pacotes

A comutação de pacotes é um paradigma de comunicação de dados em que pacotes

(unidade de transferência de informação) são individualmente encaminhados entre nós

da rede através de ligações de dados tipicamente partilhadas por outros nós. Este

contrasta com a comutação de circuitos, que estabelece uma ligação virtual entre ambos

nós para seu uso exclusivo durante a transmissão (mesmo quando não há nada a

transmitir).

A comutação por pacotes é a base para a implementação das redes de computadores

modernas, como a Internet, redes ATM e Frame Relay.

Na comutação por pacotes não existe um circuito dedicado interligando a origem ao

destino para o envio da mensagem. Primeiramente, a mensagem é dividida em partes

menores chamadas de pacotes, de forma que cada pacote possui o endereço do

dispositivo de destino. Em seguida os pacotes são encaminhados para os dispositivos

intermediários (os roteadores) que recebem os pacotes e reencaminham os mesmos de

forma independente, ou seja, os pacotes na rede podem tomar caminhos diferentes no

caminho até o destino, como pode ser visto na Figura 6.4

Figura 6.4: Comutação por pacotes

78

A grande vantagem da comutação por pacotes é o melhor uso da rede de interconexão.

Como não existe um circuito dedicado a uma transmissão, os caminhos da rede podem

ser compartilhados por diversos pacotes de aplicações de diversos usuários. Outra

vantagem é que, caso um dos roteadores da rede se torne indisponível, a transmissão

não será interrompida (caso exista outro caminho).

As desvantagens ficam por conta do custo do processo de roteamento e também porque

os pacotes podem chegar fora da ordem de saída, ou seja, o pacote 2 pode chegar ao

destino antes do pacote 1.

A comutação por pacotes pode efetuar-se:

• Com ligação (circuito virtual): é estabelecido um caminho virtual fixo (sem

parâmetros fixos, como na comutação de circuitos) e todos os pacotes seguirão

por esse caminho. A diferença entre a comutação por pacotes do tipo circuito

virtual e a comutação por circuito virtual é que o circuito formado não é

dedicado a uma única transmissão e pode ser compartilhada por pacotes de

diferentes usuários e aplicações;

• Sem ligação (datagrama): os pacotes são injetados na rede e encaminhados

independentemente, oferecendo flexibilidade e robustez superiores (já que a rede

pode reajustar-se mediante a quebra de um link) embora seja necessário enviar

sempre o endereço de origem. Exemplo: IP. O algoritmo que irá gerenciar as

tabelas de rotas para as tomadas de decisões de roteamento são os algoritmos de

roteamento. Essa é a forma de comutação utilizada na Internet.

6.2. Endereçamento

O endereçamento é uma das funções mais importantes na transmissão das informações

em uma rede, pois permite identificar os dispositivos envolvidos na comunicação. Para

o entendimento do processo de endereçamento de uma rede, vamos adotar as funções

aplicadas à camada de rede do modelo Internet: o endereçamento IP (do inglês, Internet

Protocol).

Nas redes com endereçamento IP, como a Internet, cada host possui um endereço IP

único que identifica o dispositivo na rede.

79

6.2.1. Entendendo o endereço IP

Um endereço IP é um número de 32 bits (um bit pode assumir o valor de 0 ou 1)

composto por quatro partes (4 bytes) de 8 bits, chamados de octetos. Para sua

representação, os 4 octetos são separados por um ponto (.). A representação do IP é

dada em números decimais, para facilitar a leitura para o ser humano, dessa forma, cada

um dos 4 octetos (com 8 bits cada) pode variar de 0 a 255, pois, com 8 bits, o menor

valor decimal que se pode representar é zero e o maior é duzentos e cinquenta e cinco.

Para compreender o endereçamento IP, é imprescindível conhecer o sistema

de numeração binário e suas transformações para a base decimal.

Exemplo: 193.32.216.9 é um endereço IP valido e sua notação em binário é

11000001.00100000.11011000.00001001

A princípio, cada host possui um endereço IP único na rede. Para garantir que não haja

problemas de conflitos de endereços na Internet, ou seja, o mesmo endereço ser

utilizado por mais de um host, os endereços IP são atribuídos por uma corporação

chamada ICANN (do inglês, Internet Corporation for Assigned Names and Number).

Por sua vez, a ICANN delega a distribuição de endereços a diversas autoridades

regionais, e estes fazem a doação de endereços a empresas, universidades e ISPs

(Provedores de Internet).

Apesar de parecer simples, existem regras para a formação do endereço que será

utilizado com endereço IP. Uma parte do número IP é usada para representar a rede e a

outra parte representa o próprio computador, ou seja, o nó da rede.

Para entendermos no endereço IP o que representa a rede e o que representa o nó, é

necessário primeiro entendermos como funcionam as classes de endereço.

No total são cinco (5) classes, que recebem a identificação de A, B, C, D e E. Vamos

relacionar as classes e suas regras. Para facilitar, vamos dividir o endereço IP em octetos

(1 byte) e nomeá-los com as letras W.X.Y.Z, sendo W o primeiro octeto, X o segundo,

Y o terceiro e Z o quarto e último octeto, como pode ser visto na Tabela 6.1.

80

Para representarmos as Classes de endereçamento vamos utilizar somente o primeiro

OCTETO, ou seja, o nosso octeto W.

Tabela 6.1: Valores dos octetos

Endereçamento IP (notação decimal) Octeto 1 Octeto 2 Octeto 3 Octeto 4 0 – 255 0 – 255 0 – 255 0 – 255

W X Y Z

Classe A: Um endereço é classificado como Classe A, quando o primeiro octeto "W"

estiver entre os valores 1 e 127. Exemplo:

10.0.0.1

100.100.10.1

120.10.20.1

Classe B: Um endereço é classificado como Classe B, quando o primeiro octeto "W"

estiver entre os valores 128 e 191. Exemplo:

172.16.31.10

150.10.50.1

170.10.30.5

Classe C: Um endereço é classificado como Classe C, quando o primeiro octeto "W"

estiver entre os valores 192 e 223. Exemplo:

192.168.10.1

200.130.35.1

220.195.131.11

Classe D: Um endereço é classificado como Classe D, quando o primeiro octeto "W"

estiver entre os valores 224 e 239. Os endereços de classe D são utilizados para criar

81

agrupamentos de computadores para uso de Multicast. O sistema Multicast permite que

um grupo de computadores utilize um ou mais endereços para enviar dados somente

para aqueles que estejam configurados para receber por este endereço. Não podemos

utilizar esta faixa de endereços para endereçar os computadores de usuários na rede

TCP/IP.

Classe E: Um endereço é classificado como Classe E, quando o primeiro octeto "W"

estiver entre os valores 240 e 255. Os endereços de classe E são reservados e utilizados

para testes e novas implementações e controles do TCP/IP. Assim como a classe D não

podemos utilizar esta faixa para endereçar os computadores em uma rede TCP/IP.

Identificação da Rede e dos Hosts.

Nos endereços de classe A, a rede é identificada pelo primeiro OCTETO, ou seja, o

nosso "W", e os demais octetos "X.Y.Z" identificam o próprio computador.

Nos endereços de classe B a rede é identificada pelos dois primeiros OCTETOS, ou

seja, o nosso "W.X", e os demais octetos "Y.Z" identificam o próprio computador.

Nos endereços de classe C a rede é identificada pelos três primeiros OCTETOS, ou seja,

os nossos "W.X.Y", e o octeto "Z" identifica o próprio computador.

Figura 6.4: Classes de endereçamento

A tabela 6.1 mostra informações sobre o número de redes distintas podemos ter em cada

classe e o número de hosts em cada uma das redes.

82

Tabela 6.1: Número de redes e hosts por classe Classe Redes Hosts Descrição

A 128 (27) 16777216 (224)

Redes muito grandes

B 16384 (214) 65536 (216) Redes médias/grandes

C 2097152 (221)

256 (28) Redes pequenas

Para que a rede funcione todos os computadores devem estar no mesmo endereço de

rede, porém devem possuir identificações de nós diferentes. Por exemplo, os

computadores com endereço IP 10.0.0.1 e 10.0.0.2 estão em uma mesma rede, a rede

10, pois os endereços IP dos mesmos são endereços classe A, em que o primeiro byte

identifica a rede. Dessa forma, um computador com endereço 11.0.0.3 pertence a outra

rede, a rede 11.

Fazendo uma analogia, em uma cidade em determinada rua temos as casas e cada uma

possui o seu número, a rua representa a rede e as casas os computadores, assim como na

rua não temos casas com números repetidos assim também da rede não podemos ter

computadores com números repetidos.

6.2.2. Subendereçamento

Em grandes redes, os hosts são organizados em redes diferentes, principalmente para

tornar a administração mais simples. O esquema de endereçamento de classes

apresentado anteriormente nem sempre é suficiente. Por exemplo, a rede 146.164.0.0

pode ter mais de 65534 hosts na mesma rede, o que torna difícil a administração. O

esquema de subendereçamento permite dividir uma rede em várias sub-redes, criando

vários níveis.

A idéia de endereços em vários níveis é semelhante à utilizada na telefonia que utiliza

níveis hierárquicos (representados por diferentes números) para representar o numero do

país (DDI), código do estado (DDD), central telefônica e, por ultimo, o numero do

aparelho.

Para implementar a divisão de uma rede em sub-redes é utilizada a máscara de sub-rede.

O parâmetro da máscara de sub-rede serve para definirmos, a princípio, o

83

funcionamento da classe do endereço IP. O conceito da máscara é ativarmos todos os

bits dos octetos que pertencem à rede e desligarmos os bits que pertencem ao host,

chegando a uma máscara padrão para cada classe.

Para a classe A temos como máscara padrão o valor de 255.0.0.0, enquanto que para a

classe B a máscara padrão é 255.255.0.0, e quando o endereço é classe C a máscara

padrão é 255.255.255.0.

Em resumo o parâmetro Subnet Mask (Máscara de Sub-rede) é utilizado para confirmar,

ou não, o funcionamento das Classes de endereços TCP/IP. Dessa forma, os bits do

endereço utilizados para endereçar a rede e os hosts não são mais definidos pelo valor

do primeiro octeto do endereço IP, mas pelo valor definido na máscara de sub-rede.

Pode-se observar que quem determina quais os bits do endereço IP serão utilizados para

endereçar a rede e quais os bits serão utilizados para endereçar os hosts é a máscara de

sub-rede.

Em alguns casos, é preciso personalizar a mascara de sub-rede para poder dividir uma

rede em vários segmentos, de acordo com a necessidade. Imagine o caso de um pequeno

provedor que possui uma faixa de endereços classe C e precisa dividi-lo em 3

segmentos para 3 clientes.

O objetivo é encontrar o novo número da máscara de sub-rede que divide a

rede de acordo com o numero de segmentos e hosts por segmentos

necessários.

Suponhamos que o endereço IP fornecido ao provedor seja:

IP: 200.195.30.0 (Endereço classe C)

Máscara Padrão: 255.255.255.0

200.195.30 identifica a rede e o quarto octeto (que pode variar de 0 a 255) identifica os

hosts.

Com os endereços IP e de máscara de sub-rede apresentados, os hosts com

endereços 200.195.30.10 e 200.195.30.100 pertencem a mesma rede.

84

Com o endereço padrão temos um único segmento de rede com endereços para 256

hosts – 2 (o primeiro endereço identifica a rede 200.195.30.0 e o último é o endereço

broadcast 200.195.30.255).

Os endereços de rede e broadcast não são utilizados para endereçar hosts.

Para dividir o segmento, é necessário responder às seguintes questões:

• Quantos segmentos serão necessários?

• Quantos hosts serão necessários em cada segmento?

Para a primeira pergunta, suponhamos que sejam necessários 4 segmentos (1 para o

provedor e mais 3 para os clientes). Para a segunda pergunta, suponhamos que fossem

necessários 50 hosts em cada segmento.

Para iniciar o processo, faça a seguinte pergunta: que número na base 2 é igual ou maior

que 4 (número de segmentos necessários)? Chegamos ao numero 2, pois 22 =4.

Isso significa que teremos que ativar dois bits da máscara de sub-rede para que se possa

ter 4 segmentos.

A máscara antiga era:

255.255.255.0 - 11111111.11111111.11111111.00000000 em binário

Ativando dois bits do último octeto, a nova máscara passa a ser:

255.255.255.192 - 11111111.11111111.11111111.11000000 em binário.

Lembre-se que a ativação dos bits ocorre da esquerda para a direita.

O valor 192 é a soma (128+64) dos valores dos 2 bits ativados, como pode ser visto a

seguir:

27 = 128 26 = 64 25 = 32 24 = 16 23 = 8 22 = 4 21 = 2 20 = 1 1 1 0 0 0 0 0 0

85

Com o IP 200.195.30.0 e a máscara 255.255.255.0 temos uma única

rede/segmento com 255 hosts. Com o endereço 200.195.30.0 e a máscara

255.255.255.192 temos 4 segmentos com 64 hosts em cada um dos

segmentos.

Com a definição da nova máscara de sub-rede (255.255.255.192) é possível determinar

quantos hosts terão em cada um dos 4 segmentos de rede. Para encontrar o número de

hosts por segmento basta elevar 2 ao número de bits iguais a zero da máscara de sub-

rede encontrada. Como pode ser visto anteriormente, a nova máscara de sub-rede possui

6 bits para endereçamento de hosts, portanto, teremos 26 = 64 endereços disponíveis por

segmento – 2 (para endereço de rede e broadcast) resultam em 62 endereços para hosts

em cada um dos 4 segmentos.

Agora só falta determinar a faixa de endereçamento de cada um dos 4 segmentos.

Como temos 64 endereços por segmento, temos a seguinte faixa de endereços para os 4

segmentos:

Tabela 6.3: Número de redes e hosts por classe Segmento Primeiro

endereço Último

endereço 1 200.195.30.0 200.195.30.63 2 200.195.30.64 200.195.30.127 3 200.195.30.128 200.195.30.191 4 200.195.30.192 200.195.30.255

Foi mencionado anteriormente que os hosts com endereços 200.195.30.10 e

200.195.30.100 com máscara 255.255.255.0 estão na mesma rede.

Observem que, com a alteração da máscara de sub-rede para

255.255.255.192, o host 200.195.30.10 pertence ao primeiro segmento

(rede 200.195.30) e o host 200.195.30.100 pertence ao segundo segmento

(rede 200.195.64).

Existem vários softwares que calculam automaticamente a máscara de sub-

rede necessária para dividir um segmento de acordo com a necessidade.

86

6.2.3. Endereçamento Estático e Dinâmico

IP estático (ou fixo) é um número IP dado permanentemente a um computador, ou seja,

seu IP não muda, exceto se tal ação for feita manualmente. Assim, sempre que um

cliente se conectar, usará o mesmo IP. Essa prática é cada vez mais rara entre os

provedores de acesso, por uma série de fatores, que inclui problemas de segurança.

O IP dinâmico, por sua vez, é um número que é dado a um computador quando este se

conecta à rede, mas que muda toda vez que há conexão. Por exemplo, suponha que você

conectou seu computador à internet hoje. Quando você conectá-lo amanhã, lhe será

dado outro IP. Para entender melhor, imagine a seguinte situação: uma empresa tem 80

computadores ligados em rede. Usando IPs dinâmicos, a empresa disponibilizou 90

endereços IP para tais máquinas. Como nenhum IP é fixo, quando um computador

"entra" na rede, lhe é atribuído um IP destes 90 que não esteja sendo usado por nenhum

outro computador. É mais ou menos assim que os provedores de internet trabalham.

Toda vez que você se conecta à internet, seu provedor dá ao seu computador um IP dela

que esteja livre.

O método mais usado para a distribuição de IPs dinâmicos é a protocolo

DHCP (Dynamic Host Configuration Protocol).

6.2.4. Mapeamento de Endereços

Quando um pacote IP é enviado informa-se o endereço IP de destino. No entanto, na

camada de enlace, o frame que encapsula o pacote IP trabalha com o endereço MAC de

destino (abordado na Aula 4). Para saber o endereço MAC da máquina de destino é

necessário realizar o mapeamento de endereços. No modelo Internet, o protocolo ARP

permite mapear um endereço IP de um computador no endereço físico da placa de rede,

chamado de MAC Adress.

O protocolo ARP mantém em cada nó da rede um cachê (espaço de memória) contendo

o endereço IP e o endereço físico das placas de rede.

Quando um endereço IP ainda não possui o endereço MAC correspondente na tabela

ARP, é realizada uma requisição ARP contendo o endereço IP de quem se deseja obter

87

o endereço físico. A resposta da requisição possui o endereço físico referente ao IP

solicitado, caso o mesmo seja encontrado.

O comando arp –a executado em máquinas com sistema operacional

Windows exibe o endereço MAC da máquina, como pode ser visto na

Figura 6.4.

Figura 6.4: Protocolo ARP

6.2.5. Endereços Públicos e Privados

Endereços públicos são definidos pela InterNIC e equivalem a um identificador ou IP

válidos, reconhecidos mundialmente.

Endereços privados são definidos em TCP/IP como sendo endereços que nunca serão

atribuídos pela InterNIC e que podem ser utilizados pelas empresas para numerar seus

hosts internos.

Desta forma uma empresa precisa apenas adquirir IPs públicos para os computadores

que estão expostos na Internet, normalmente servidores de Web para publicação da

home page, servidores de correio (email), servidores de DNS, etc.

6.2.6. Problemas com o IPv4

Com o crescimento e a popularização da Internet, o esquema de endereçamento do IPv4

tornou-se um problema pela limitação de endereços disponíveis.

As previsões iniciais eram de que os endereços IP se esgotassem ainda nesta década, no

entanto, essas previsões não se concretizaram, devido ao desenvolvimento de uma série

88

de tecnologias, que funcionaram como uma solução paliativa para o problema trazido

com o crescimento acelerado.

Dentre essas soluções pode citar-se o CIDR (Classless Inter Domain Routing), ou

roteamento sem uso de classes e o NAT (Network Address Translation), descritos nas

seções seguintes. O NAT permite que com apenas um endereço válido, toda uma rede

baseada em endereços privados, tenha conexão, embora limitada, com a Internet.

6.2.7. Tradução de Endereços de Redes

O NAT permite que uma instituição utilize endereços IP privados para a rede interna e

use apenas um endereço IP público para serviços que acessem a Internet. Os endereços

privados não são válidos na Internet, isto é, pacotes que tenham como origem ou como

destino, um endereço na faixa dos endereços privados, não serão encaminhados, serão

descartados pelos roteadores. As faixas de endereços privados são:

10.0.0.0 → 10.255.255.255

172.16.0.0 → 172.31.255.255

192.168.0.0 → 192.168.255.255

A Figura 6.5 apresenta o funcionamento do NAT. A rede 10.0.0.0 utiliza os endereços

privados (10.0.0.1 para acesso ao roteador) e o endereço público 192.1.2.3 para a rede

externa.

Para a comunicação do host A com o host B, o pacote sai do host A para o roteador

(10.0.0.1). O roteador por sua vez implementa o NAT e faz a traducao do endereço

privado do host A (10.0.0.2) para o endereço publico utilizado (192.1.2.3) e envia a

mensagem para o host B. O pacote ao chegar ao destino, é respondido para o endereço

público, pois o host B desconhece a rede 10.0.0.0 e o host A. O roteador recebe a

resposta de B e encaminha para o host da rede interna que fez a solicitação.

89

Figura 6.5: Funcionamento do NAT

Fonte: MAIA, 2009, p. 146.

6.2.8. CIDR

Como visto anteriormente, o endereço IP é dividido em duas partes. A primeira

identifica a rede à qual o host está conectado (necessário, pois, em uma rede TCP/IP,

podemos ter várias redes conectadas entre si, como no caso da Internet) e a segunda

identifica o host propriamente dito dentro da rede.

Obrigatoriamente, os primeiros bits do endereço servirão para identificar a rede e os

últimos servirão para identificar o computador em si.

A divisão tradicional, com as classes A, B e C de endereços IP fazia com que um grande

número de endereços fossem desperdiçados. Um provedor de acesso que precisasse de

10.000 endereços IP, por exemplo, precisaria ou utilizar uma faixa de endereços classe

B inteira (65 mil endereços), o que geraria um grande desperdício, ou utilizar 40 faixas

de endereços classe C separadas, o que complicaria a configuração.

Uma solução para o problema foi a implantação do sistema CIDR (abreviação de

"Classless Inter-Domain Routing"), a partir de 1993.

Quando falamos em máscaras de tamanho variável, entretanto, precisamos começar a

trabalhar com endereços binários, pois a divisão pode ser feita em qualquer ponto. Por

exemplo, o endereço "72.232.35.108". Originalmente, ele seria um endereço de classe A

e utilizaria máscara "255.0.0.0". Mas, utilizando máscaras de tamanho variável, ele

poderia utilizar a máscara "255.255.255.248".

90

Nesse caso, teríamos 29 bits do endereço dedicados a endereçar a rede e apenas os 3

últimos bits destinados ao host. Convertendo o endereço para binário teríamos o

endereço "01001000.11101000.01100000.01101100", onde o

"01001000.11101000.01100000.01101" é o endereço da rede e o "100" é o endereço do

host dentro dela. Como temos 29 bits dedicados à rede, é comum o uso de um "/29"

como máscara, no lugar de "255.255.255.248".

6.3. Roteamento

O roteamento é o processo de encaminhar um pacote da origem ao destino

utilizando dispositivos intermediários, os roteadores.

O roteador possui duas funções-chave para execução do roteamento:

• os roteadores devem manter as tabelas de roteamento e verificar se os outros

roteadores conhecem as alterações da rede (periodicamente os roteadores trocam

informações entre si), como falha de um roteador ou de um canal de

transmissão. As tabelas de roteamento possuem informações utilizadas na

escolha da melhor rota para que o pacote possa chegar ao destino;

• quando o roteador recebe um pacote pela sua interface, o seu algoritmo de

roteamento é executado levando em consideração as informações da tabela de

roteamento para a escolha da melhor rota. As tabelas de roteamento podem

conter métricas para auxiliar na escolha da rota, como numero de saltos

(roteadores) que os pacotes irão trafegar até o destino ou até mesmo a largura de

banda, ou seja, a capacidade de transmissão de dados dos caminhos disponíveis.

É o algoritmo que define qual rota cada pacote recebido irá seguir.

Existem vários algoritmos e métricas utilizadas na escolha da melhor rota

para os pacotes. Para mais informações consulte (MAIA, 2009),

(CARISSIMI, 2009).

6.3.1. Roteamento: exemplo prático

Quando um computador vai emitir uma mensagem ao computador de destino, utilizando

cálculos binários entre o endereço IP de destino e a máscara de sub-rede do computador

de origem, o protocolo IP pode chegar a dois resultados distintos:

91

• O Computador de origem e destino estão na mesma rede local: Neste caso os

dados são enviados para o dispositivo da rede local, como Hubs e Switches.

Todos os computadores da rede recebem os dados. Ao receber os dados cada

computador analisa o Número IP do destinatário. Se o IP do destinatário for

igual ao IP do computador, os dados são capturados, caso contrário são

simplesmente descartados.

• O Computador de origem e destino não estão na mesma rede local: Neste

caso os dados são enviados para o equipamento com o número IP configurado

no parâmetro Default Gateway (Gateway Padrão). Ou seja, se após os cálculos

baseados no endereço IP e na máscara de sub-rede, o TCP/IP chegar a conclusão

que o computador de destino e origem não fazem parte da mesma rede local, os

dados são enviados para a interface do roteador para que o mesmo possa rotear

os dados até a rede do computador de destino.

Para exemplificar o processo de roteamento, vamos observar o cenário da Figura 6.6:

uma empresa que tem a matriz em Belo Horizonte e uma filial no Rio de Janeiro. O

objetivo é conectar a rede local da matriz em BH com a rede local da filial no RJ, para

permitir a troca informações e documentos entre os dois escritórios. Nesta situação o

primeiro passo é contratar um link de comunicação entre os dois escritórios. Em cada

escritório deve ser instalado um Roteador. E finalmente os roteadores devem ser

configurados para que seja possível a troca de informações entre as duas redes.

Nesta pequena rede WAN temos um exemplo simples de roteamento.

Primeiramente, vamos verificar o endereçamento das redes locais e dos roteadores.

• Rede de BH: a rede local da empresa em BH é definida pelo endereço de rede

10.10.10.0, com máscara de sub-rede 255.255.255.0. Observe que embora,

teoricamente, seria uma rede Classe A, estamos utilizando uma máscara de sub-

rede classe C.;

• Rede de RJ: Esta rede utiliza um esquema de endereçamento 10.10.20.0, com

máscara de sub-rede 255.255.255.0;

• Roteadores: Cada roteador possui duas interfaces. Uma é a chamada interface

de LAN (rede local), a qual conecta o roteador com a rede local. A outra é a

interface de WAN (rede de longa distância), a qual conecta o roteador com o

92

link de dados. Na interface de rede local, o roteador deve ter um endereço IP da

rede interna. No roteador de BH, o endereço é 10.10.10.1. Não é obrigatório,

mas é um padrão normalmente adotado, utilizar o primeiro endereço da rede

para o Roteador. No roteador do RJ, o endereço é 10.10.20.1

• Rede dos roteadores: Para que as interfaces externas dos roteadores possam se

comunicar, eles devem fazer parte de uma mesma rede, isto é, devem

compartilhar um esquema de endereçamento comum. As interfaces externas dos

roteadores (interfaces WAN), fazem parte da rede 10.10.30.0, com máscara de

sub-rede 255.255.255.0.

Com isso temos, na prática três redes, conforme resumido a seguir:

• SP: 10.10.10.0/255.255.255.0

• RJ: 10.10.20.0/255.255.255.0

• Interfaces WAN dos Roteadores: 10.10.30.0/255.255.255.0

Figura 6.6: Cenário em que ocorre o roteamento

93

Como é feita a interligação entre as duas redes?

Vamos analisar como é feito o roteamento, quando um computador da rede em BH,

precisa acessar informações de um computador da rede no RJ. O computador BH-01

(10.10.10.5), precisa acessar um arquivo que está em uma pasta compartilhada do

computador RJ-02 (10.10.20.12). Como é feito o roteamento, de tal maneira que estes

dois computadores possam trocar informações? Vamos verificar passo-a-passo:

1. O computador BH-01 é o computador de origem e o computador RJ-02 é o

computador de destino. A primeira ação do TCP/IP é fazer os cálculos para

verificar se os dois computadores estão na mesma rede:

• SP-01: 10.10.10.5/255.255.255.0

• RJ-02: 10.10.20.12/255.255.255.0

2. Feitos os cálculos, o TCP/IP chega a conclusão de que os dois computadores

pertencem a redes diferentes: BH-01 pertence a rede 10.10.10.0 e RJ-02 pertence

a rede 10.10.20.0. Dessa forma, os dados devem ser enviados para o Roteador.

3. No roteador de BH chega o pacote de informações com o IP de destino:

10.10.20.12. O roteador precisa consultar a sua tabela de roteamento e verificar

se ele conhece um caminho para a rede 10.10.20.0.

4. O roteador de BH tem, em sua tabela de roteamento, a informação de que

pacotes para a rede 10.10.20.0 devem ser encaminhados pela interface

10.10.30.1. É isso que ele faz, ou seja, encaminha os pacotes através da interface

de WAN: 10.10.30.1.

5. Os pacotes de dados chegam na interface 10.10.30.1 e são enviados, através do

link de comunicação, para a interface 10.10.30.2, do roteador do RJ.

6. No roteador do RJ chega o pacote de informações com o IP de destino:

10.10.20.12. O roteador precisa consultar a sua tabela de roteamento e verificar

se ele conhece um caminho para a rede 10.10.20.0.

7. O roteador do RJ tem, em sua tabela de roteamento, a informação de que pacotes

para a rede 10.10.20.0 devem ser encaminhados pela interface de LAN

10.10.20.1, que é a interface que conecta o roteador a rede local 10.10.20.1. O

pacote é enviado, através da interface 10.10.20.1, para o barramento da rede

94

local. Todos os computadores recebem os pacotes de dados e os descartam, com

exceção do computador 10.10.20.12 que é o computador de destino.

A chave toda para o processo de roteamento são os protocolos presente nos roteadores,

o qual atua com base em tabelas de roteamento.