Preview only show first 10 pages with watermark. For full document please download

Material 6ª Semana

Redes de computadores 6

   EMBED

  • Rating

  • Date

    December 2018
  • Size

    376.2KB
  • Views

    5,061
  • Categories


Share

Transcript

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 74 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 DGH, 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. 75 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. 76 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 77 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. 78 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. 79 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 80 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. 81 Tabela 6.1: Número de redes e hosts por classe Classe Redes Hosts Descrição 7 128 (2 ) 16777216 Redes muito grandes A (224) 16384 (214) 65536 (216) Redes B médias/grandes 2097152 256 (28) Redes pequenas C 21 (2 ) 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 82 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. 83 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 1 26 = 64 1 25 = 32 0 24 = 16 0 23 = 8 0 22 = 4 0 21 = 2 0 20 = 1 0 84 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 subrede 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 Último endereço endereço 200.195.30.0 200.195.30.63 1 200.195.30.64 200.195.30.127 2 200.195.30.128 200.195.30.191 3 200.195.30.192 200.195.30.255 4 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 subrede necessária para dividir um segmento de acordo com a necessidade. 85 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 86 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 87 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. 88 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". 89 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: 90 • 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 subrede 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 91 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 92 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 93 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. 94