41
Professor: Paulo Ferreira [email protected]

23156584 roteamento-enderecamento

Embed Size (px)

Citation preview

Professor:Paulo Ferreira

[email protected]

Actualmente, estamos prestes a esgotar os endereços IP disponíveis na Internet pelo uso do IP v4.

Nos anos 80, o número de computadores existentes na época não era significativo, Na tentativa de contornar este problema, criou-se o NAT - Network Address Translation

utilizado principalmente por routers e permite que uma rede privada tenha acesso à Internet (rede pública), isto é, no início do desenvolvimento das redes todos os pc's tinham um endereço IP fixo (pago) público.

Camada de rede - 3

Com o aparecimento do NAT foi possível que redes privadas utilizassem IP's de gama privada (ex.: 10.0.0.12) e mesmo assim pudessem aceder a uma rede pública (Internet) sem a necessidade de um IP público por computador.

Camada de rede - 3

Exemplo de funcionamento do protocolo NAT

Tabela NAT relativa ao exemplo

Camada de rede - 3

A camada de Rede é responsável pelo endereçamento dos pacotes, convertendo endereços lógicos em endereços físicos (ou IP), de forma que os pacotes consigam chegar correctamente ao destino. Essa camada também determina a rota que os pacotes irão seguir para atingir o destino, baseada em factores como condições de tráfego da rede e prioridades.

Movimenta pacotes a partir de sua fonte original até seu destino através de um ou mais enlaces. Define como dispositivos de rede descobrem uns aos outros e como os pacotes são roteados até

seu destino final.

Funções da Camada: Encaminhamento, endereçamento, inter conexão de redes, tratamento de erros, fragmentação de

pacotes, controle de congestionamento e sequenciamento de pacotes.

Camada de rede - 3

Em qualquer computador, através da consola de MS-DOS, é possível ter acesso à tabela de encaminhamento do nosso PC, que são em tudo semelhantes às existentes nos routers. Digitando o comando netstat -r obtém-se algo similar à figura seguinte:

Camada de rede - 3

o Gateway, que neste caso é o 192.168.1.254, indica onde se encontra o router da nossa rede, que tem como função comunicar entre redes. Podemos ver a gateway como a ponte entre duas margens de um rio.

O IP 127.0.0.0 serve para a comunicação com o próprio computador (localhost). Qualquer pacote enviado para este endereço ficará no próprio computador e será tratado como se fosse um pacote recebido pela rede (loopback).

O IP 0.0.0.0 serve para encaminhar pacotes para a gateway quando o IP de destino não consta na tabela de encaminhamento, isto é, quando o endereço não consegue ser resolvido dentro da própria rede. É a rota a seguir por defeito (Default).

Camada de rede - 3

O endereço IP 224.0.0.0 é o endereço reservado para o multicast e finalmente o 255.255.255.255 é o endereço reservado para broadcast.

Quando um PC de uma rede privada tenta aceder à Internet esse pedido percorre a rede até chegar a um router. Este vai conferir a sua tabela e ao verificar que o pedido não pode ser satisfeito dentro da rede encaminha o pedido para o seu hierárquico superior, neste caso o servi­dor ISP, e assim sucessivamente até que se encontre o destino (ou não).

Camada de rede - 3

Proposta de trabalho - No computador, abra a consola de MS-DOS no Windows e digite o comando netstat –r . Verifique as semelhanças entre o resultado e a tabela de encaminhamento mostrada anteriormente. Qual a sua gateway?

Quando apenas é conhecido o endereço virtual de uma estação e se pretende saber o endereço físico (MAC) da mesma é utilizado o protocolo ARP. Este, através do envio de uma mensagem em Broadcast - Quem é a estação com o IP xxx.xxx.xxx.xxx? - recebe a resposta da estação com o IP solicitado (em unicast) onde consta o MAC Address, permitindo assim a comunicação entre as duas máquinas.

Camada de rede - 3

As mensagens em Broadcast podem baixar o rendimento de uma rede, já que causam congestionamentos ou mesmo Broadcast Storms. Para que as estações não necessitem de estar constantemente a enviar mensagens em Broadcast, guardam em forma de tabela os IP's e respectivos MAC Address acedidos, bem como os das estações que lhe acederam recentemente.

Antes de transmitir a estação verifica se o computador com que pretende comunicar já se encontra na tabela. Se assim for, retira o MAC respectivo da tabela e comunica em unicast, caso contrário, envia a mensagem em Broadcast (ARP Request).

Camada de rede - 3

Protocolo ARP é utilizado nas seguintes situações: ◦ Quando duas estações estão na mesma rede e pretendem

comunicar entre si (sem aceder a routers) (PC-PC); ◦ Quando duas estações estão em redes diferentes e têm de

aceder a um Router/gateway para comunicar entre si (PC-Router); ◦ Quando um Router tem de encaminhar um pacote de dados

para um computador através de outro router (Router-Router); ◦ Quando um Router tem de encaminhar um pacote de dados

para uma estação na sua rede (Router-PC).

Camada de rede - 3

Proposta de trabalho - Abra a consola de MS-DOS no Windows e digite o comando arp -a para ter acesso à tabela arp do seu computador.

O Rotemento consiste na escolha do caminho que os pacotes devem seguir para interconexão das estações de origem e de destino.

Uma forma comum de implementação da decisão de roteamento em cada nó é através de uma tabela de roteamento. O nó recebe o pacote baseia-se numa identificação específica (que pode ser os endereços de origem e destino, o número do circuito virtual, ou apenas o endereço de destino, dependendo do sistema) para obter da tabela de roteamento qual o enlace de saída para onde a mensagem deve ser encaminhada.

Camada de rede - 3

Os routers guardam os registos dos seus conhecidos (outros routers) sob a forma de tabela associando-os a um caminho (rotas).

Como são construídas essas tabelas? Em que se baseia o router para as

determinar?

Camada de rede - 3

Inseridas manualmente (implica pessoal especializado) através de comandos de administração para gerir a tabela de encaminhamento. quando um computador da rede 172.16.3.0 quiser comunicar com um da rede 172.16.4.0 sabe que tem de encaminhar o pedido para a interface 172.16.1.2 para que o próximo router resolva. No entanto, se houvesseum outro caminho (melhor),que não o existente nafigura, que ligasse o router1 ao 2 ele continuaria a encaminhar os pacotes pela mesma interface visto este endereçamento ser estático.

Camada de rede - 3

A tabela de encaminhamento será preenchida dinamicamente com base em protocolos de encaminhamento. Usa-se essencialmente para redes com mudanças frequentes de topologia ou de grandes dimensões. O preenchimento será então baseado em Métricas que podem variar entre: ◦ Número de saltos (hops); ◦ Atraso (delay); ◦ Custo dos caminhos - valor atribuído arbitrariamente pelo admi­

nistrador da rede; ◦ Largura de banda - velocidade de transmissão; ◦ Congestionamento; Fiabilidade.

Existem para isso algoritmos que suportam os protocolos de encaminhamento e podem usar apenas uma ou mais métricas com veremos no ponto seguinte.

Camada de rede - 3

Vantagens Maior segurança, uma vez que existe

apenas um caminho de entrada/saída da rede;

Processamento da informação no router mais rápido.

Desvantagens Sem redundância ou tolerância a falhas - no

caso de um link falhar, perde-se a comunicação por completo, já que o router não irá tentar descobrir um caminho alternativo;

Em redes de grandes dimensões torna-se impraticável configurar todas as rotas manualmente.

Camada de rede - 3

Vantagens Garante redundância e tolerância a falhas; Boa aplicabilidade para redes de grandes dimensões.

Desvantagens Falta de controlo nas rotas escolhidas [tarefa do protocolo de encaminhamento ]; Processamento da informação no router mais lento devido aos cálculos impostos pelo protocolo de encaminhamento.

Pode definir-se convergência como o intervalo de tempo necessário para que os routers tomem conhecimento de uma alteração na rede e recalculem as rotas para a nova topologia. Os factores que influenciam o tempo de convergência são: ◦ A distância em saltos do router ao ponto de mudança; ◦ O número de routers que usam protocolos dinâmicos de

encaminhamento; ◦ Largura de banda e congestionamento nos links; Capacidade de

processamento do router; Protocolo de encaminhamento utilizado.

Camada de rede - 3

Cada router tem uma tabela que contém as redes (routers) a ele ligadas directamente e as distâncias associadas. Todos os routers da rede trocam as suas tabelas, constituídas por um vector (V,D) [onde V - identifica o destino e D - a distância até ao destino), com os seus routers vizinhos da seguinte forma: ◦ Espera a mudança na distância até a um certo destino

(geralmente hops) ou do final do temporizador; ◦ Recalcula a tabela de encaminhamento; ◦ Se a distância for menor para algum destino, notifica (apenas)

os vizinhos.

Camada de rede - 3

EXERCíCIO RESOLVIDO A partir da figura, obtenha as tabelas de encaminha­mento

finais para cada router, usando o algoritmo do vector das distâncias.

Camada de rede - 3

Na 1ª iteração cada router verifica a que distância está dos outros preenchendo apenas a linha correspondente ao seu próprio router

Camada de rede - 3

Na 2. a iteração, os routers vizinhos trocam as tabelas entre si recebendo dados que lhes permitem preencher as linhas que anteriormente estavam a infinito. Simultaneamente, as linhas preenchidas na 1ª iteração são recalculadas com base nos novos valores. No caso de existirem custos mais baixos, esses passam a ser os novos valores da tabela (alterações assinaladas com seta).

Camada de rede - 3

Finalmente, na 3ª iteração voltam a trocar as tabelas e os custos mais baixos são aplicados às tabelas que ainda têm custos mais elevados para atingir certos destinos.

Vantagens Fácil de implementar; O cálculo da tabela de routing é

pouco complexo, pelo que não necessita de grande capacidade de processamento por parte do router.

Camada de rede - 3

Desvantagens Mensagens de actualização

podem ser muito extensas [a tabela de

encaminhamento é enviada na totalidade mesmo que apenas um só custo se altere);

As mudanças propagam-se lentamente entre routers, podendo existir routers com informação incorrecta e esta ser propagada pela rede;

O algoritmo pode não convergir e é lento quando converge.

Roteamento com Vetor de Distância (RIP) Cada nó troca, periodicamente, informações de roteamento

com cada um dos seus vizinhos. Tipicamente, cada nó mantém uma tabela que diz a linha

de saída a ser usada para cada destino e uma estimativa do custo para aquele destino. O parâmetro usado para estabelecer o custo pode ser o número de "escalas", o atraso estimado, o número de pacotes na fila, etc.

Um nó não precisa conhecer os detalhes da topologia da rede. É suficiente para um nó conhecer o “comprimento” de seus enlaces de saída e a identidade de cada nó na rede.

Camada de rede - 3

Algoritmos Link State ou de Caminho Mais Curto necessitamos conhecer os aspectos topológicos da rede,

isto é, devemos conhecer todos os nós e suas interconexões, assim como o custo de cada interconexão.

associam uma medida de “custo” a cada enlace (ou nó) da rede, e tentam encontrar um caminho que minimize o “custo” total. O custo pode ser uma quantidade fixa relacionada a alguns parâmetros, tais como: comprimento do enlace, velocidade, largura de banda do enlace (capacidade de transmissão), se o enlace é seguro ou não, atraso estimado, ou alguma combinação deles.

Este algoritomo converge sempre.

Exemplos: Algoritmo de Dijkstra

Camada de rede - 3

O endereço IP é o equivalente ao nosso bilhete de identidade, porém serve para identificar equipamentos (computadores, routers, switchs, PDA's, etc) ligados a uma rede. Um IP é constituído por 32 bits, isto é, 4 x 8bit (4 octetos) separados por pontos x.x.x.x. Os valores de x são números decimais entre 0-255 (total 256), visto 28 = 256.

Camada de rede - 3

Os IP's encontram-se divididos por classes. Na tabela seguinte fazem-se referência a 4 classes distintas. As classes D e E são classes especiais. Não podem ser utilizadas para identificar redes ou computadores.

A classe D está reservada para Multicast e a classe E para futuras utilizações.

Camada de rede - 3

Um endereço IP divide-se em duas partes: identificadora de Network (rede) e identificadora de hosts (máquinas).

Como se calcula o numero de redes e de hosts possiveis?

Camada de rede - 3

Conforme a classe, o endereço será dividido de forma diferente entre rede e hosts. Vejamos:

Na figura é visível que cada classe é identificada pelos seus bits mais significativos. Assim, um endereço de classe A começa sempre com o seu bit mais significativo a 0, enquanto um endereço de classe C é identificado através dos bits mais significativos 110.

Para calcular o número de hosts que podemos endereçar, apenas necessitamos de aplicar a fórmula do cálculo do número de combinações:

para a classe A vem:

Camada de rede - 3

Contudo, na tabela anterior indica-se que o número de hosts apenas é de 16.777.214. Isto acontece porque não é possível atribuir um IP onde a parte que representa os hosts seja constituída apenas por zeros ou uns. Estes são endereços especiais, como podemos ver de seguida:

todos bits o: identifica a rede (13.0.0.0); todos bits 1: significa todos os hosts-broadcast

(13.255.255.255).

Camada de rede - 3

Quanto ao número de redes da classe A, pode ser calculado da mesma forma.

Nº de redes: NC = 27 = 128 Mais uma vez aparece 126 na tabela e não

128. Desta vez deve-se à rede O e 127 fazerem parte da gama de IP's reservados. Usou-se 7 bits em vez de 8 embora a rede seja identificada com 8 bits. Todavia, o bit mais significativo é sempre O porque é ele que identifica a classe. Desta forma, apenas restam 7 bits para identificar a rede.

Camada de rede - 3

gamas de IPs que não devem ser utilizados:

Camada de rede - 3

Existem apenas dois tipos de redes. A rede pública e as redes privadas.

Definidos na RFC1918 "Address Allocation for Private Internets", que compreende um conjunto de endereços IP que não são globalmente alocados e podem ser utilizados internamente por qualquer organização. Os endereços privados surgiram como uma alternativa para suprir a escassez de endereços IP – sistema NAT.Os pacotes que possuem este endereço nunca devem ter a permissão para sair diretamente da rede de uma corporação e viajar pela Internet.

Camada de rede - 3

A rede pública, ou Internet, conta com a maior parte dos IP's, ficando uma pequena gama de IPs disponíveis para as redes privadas.

Camada de rede - 3

Proposta:No computador, abra a consola de MS-DOS do Windows e digite o comando ipconfig. Qual a classe do seu endereço IP? Trata-se de um IP privado ou público?

Em adição ao endereço IP, um host também precisa saber quantos bits estão a ser utilizados para a ID da sub-rede e quantos bits são destinados à ID do host.

A máscara de sub-rede é o endereço que determina estes limites. Esta máscara possui uma faixa de 32 bits contendo bits 1 para a ID da rede e da sub-rede, e bits 0 para a ID do host.

Camada de rede - 3

Um host, dado seu IP e sua máscara de sub-rede, pode determinar se um pacote IP é destinado para (1) um host na sua própria sub-rede, (2) um host em numa sub-rede diferente localizado na sua própria rede ou (3) um host em numa rede diferente.

Ao interpretarmos o endereço IP juntamente com a mascara de sub-rede, temos a indicação da sua classe de endereçamento que mostra os limites entre a ID da rede e a ID da sub-rede e a ID do host, como veremos mais a frente.

Camada de rede - 3

Para controlarmos o número de hosts e de redes possíveis usam-se máscaras de rede. Desta forma, é possível controlar melhor os domínios de broadcast de uma rede e consequentemente, o congestionamento da mesma.

Tal como os endereços IP, as máscaras são constituídas por 32 bits (4 octetos).

Existem três tipos de máscaras.

Camada de rede - 3

* Classe A - 255.0.0.0 ou 11111111.00000000. 00000000. 00000000 ou /8 (notação CIDR - Classless Inter-Domain. Routing)

* Classe B - 255.255.0.0 ou 11111111. 11111111.00000000. 00000000 ou /16 (CIDR)

* Classe C - 255.255.255.0 ou 11111111. 11111111. 11111111. 00000000 ou /24 (CIDR)

A parte da máscara que identifica a rede é representada com bits 1 e os hosts são representados pelos bits 0. Como podemos verificar, a máscara de classe A indica que a rede apenas é identificada no primeiro octeto e os restantes três octetos servem para identificar os hosts. Até agora, não parece existir nada de novo. Todavia, se consultarmos, por exemplo, a tabela de endereços IP privados mostrada anteriormente, verificamos que as opções do número de redes são muito limitadas, senão vejamos: ◦ Classe A permite 1 rede; ◦ Classe B 16 redes; ◦ Classe C 256 redes.

Camada de rede - 3

Recorrendo a subnetting é possível: ◦ Mais bits para a rede; ◦ Menos bits para os hosts; ◦ A máscara é que define a parte do IP que identifica a nova rede; ◦ Controlar o congestionamento da rede (limitar os domínios de Broadcast) .

Como já foi referido, um endereço de classe B apenas conta com 16 redes disponíveis. Contudo, isso só é verdade se utilizarmos igualmente uma máscara de classe B, como se demonstra a seguir:

Camada de rede - 3

Analisando o exemplo anterior, verifica-se não ser possível alterar o valor do primeiro octeto (172), já que dessa forma o IP deixaria de pertencer a uma rede privada. Automaticamente, diz-se que apenas é possível uma rede naquele octeto. No octeto seguinte, estão disponíveis os valores de 16 a 31. Logo, temos 16 redes possíveis para este octeto.

Camada de rede - 3

Imagina agora, que é necessário criar 300 redes para um projecto de rede. Nenhuma classe de IP's privada permite obter um número de redes tão elevado. Com a ajuda de uma máscara de classe C e um endereço de classe B, consegue-se obter um valor que satisfaça esse pedido.

Camada de rede - 3

Com esta classe, ganhamos o terceiro octeto para identificar a rede, ficando com mais 256 endereços para combinar com os restantes 16, totalizando 4096 redes. Por outro lado, o número de hosts possíveis por rede, passa de 65534 para 254.

Exercicio proposto:

Um projecto de rede impõe a criação de 1500 redes privadas, cada uma com 50 computadores. Que classe de IP e máscara de rede escolheria para essa rede. Dê um exemplo.

Camada de rede - 3