Algoritmo de Roteamento

Propaganda
REDES DE COMPUTADORES
Camada de Rede
Professor: Dr. Carlos Oberdan Rolim
Versão: 030517_01
• A CAMADA DE REDE
• Fornece serviços para o nível de transporte, sendo,
frequentemente, a interface entre a rede do cliente e a
empresa de transporte de dados (p.ex. Embratel).
• SUA PRINCIPAL FUNÇÃO É RECEBER BITS DE DADOS DA
CAMADA SUPERIOR, ORGANIZÁ-LOS EM BLOCOS DE DADOS
(PACOTES EM REDES COM CONEXÃO E DATAGRAMAS EM
REDES SEM CONEXÃO) E DETERMINAR A ”MELHOR” ROTA
PARA QUE ESTES PACOTES ALCANCEM SEU DESTINO, TENDO
COMO BASE ENDEREÇOS LÓGICOS DE ORIGEM E DESTINO.
• A camada de rede deve:
– Fornecer serviços independentes da tecnologia da subrede;
– Esconder do nível de transporte o número, tipo e a topologia das
subredes existentes;
– Oferecer ao nível de transporte um esquema de endereçamento
uniforme, independente da tecnologia da subrede (LAN, MAN, WAN).
Funções da camada de rede
• transporta pacote da estação
remetente à receptora
• protocolos da camada de rede em cada
estação, roteador
três funções importantes:
• determinação do caminho: rota
seguida por pacotes da origem ao
destino. Algoritmos de roteamento
(routing)
• comutação: mover pacotes dentro do
roteador da entrada à saída apropriada
(switching)
• estabelecimento da chamada: algumas
arquiteturas de rede requerem
determinar o caminho antes de enviar
os dados (call setup)
aplicação
transporte
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
aplicação
transporte
rede
enlace
física
A transferência de dados pode ser feita de dois modos:
Modo datagrama
Modo circuito virtual
Usado pela Internet
Usado pelas operadoras
Subrede não confiável
Subrede considerada mais confiável
(pouco atraso, perda de pacotes)
Cada pacote contém endereço de
origem e destino
Cada pacote contém identificação
de número do circuito
Subrede não guarda nenhuma
informação
Subrede precisa guardar
informações a respeito da condição
dos circuitov
Cada pacote é roteado
independentemente
Rota fixa é definida na abertura da
conexão
Se roteador falha pacotes são
perdidos
Se roteador falha circuito é desfeito
Controle de congestionamento
difícil
Controle de congestionamento fácil
(a nível de circuito)
• Algoritmo de Roteamento
• Roteamento é o mecanismo pelo qual se escolhe o
caminho (canal de comunicação) que um pacote
deve seguir para atingir seu destino.
• Em redes modo datagrama, cada datagrama tem de
carregar seu endereço destino e a decisão de
roteamento é tomada em cada nó da rede, para cada
datagrama que chega.
• Algoritmo de Roteamento
• Em redes modo circuito virtual os pacotes não
precisam carregar o endereço destino (só a
identificação da conexão) e a decisão de roteamento
é tomada no estabelecimento da conexão, após a
qual todo pacote segue sempre o mesmo caminho roteamento por sessão.
• Algoritmo de Roteamento
• Um algoritmo de roteamento deve oferecer:
– Correticidade (funciona);
– Simplicidade (é fácil de entender/usar);
– Robustez (suporta falhas na rede);
– Estabilidade (fixa caminhos rapidamente);
– Equanimidade (distribui carga de modo justo); e
– Optimalidade (proporciona melhor caminho
sempre).
• Um algoritmo de roteamento pode ser:
– Não adaptativo, quando as decisões de
roteamento são definidas antecipadamente (pelo
gerente da rede, p. ex.) e colocadas nos
roteadores quando estes são ligados - roteamento
estático;
– Adaptativo, quando as decisões de roteamento
são [re]definidas continuamente, de acordo com a
estrutura da rede (topologia, carga, etc.) roteamento dinâmico.
• Nesse último caso, o algoritmo de roteamento pode
ser do tipo Vetor-Distância ou Estado-do-Enlace,
cujas características são resumidas na tabela a seguir.
Controle de Congestionamento
• Congestionamento ocorre quando a quantidade de
pacotes na rede é muito grande (normalmente isso
ocorre quando se atinge um patamar da capacidade
de carga dos canais de comunicação).
Padrão de comportamento na ocorrência de
congestionamento
O que congestiona?
– Pacotes chegando por canais de comunicação
rápidos, tendo de sair por canais mais lentos;
– Roteadores lentos;
– Roteadores com pouca memória para armazenar
pacotes temporariamente.
Como controlar fluxo?
• Modelo circuito aberto (open loop), propõe resolver
os problemas na fase de projeto/configuração dos
roteadores de modo a (tentar) garantir que não
ocorra congestionamento. Para ajustar alguma coisa,
tem-se de reinicializar tudo.
• Modelo circuito fechado (closed loop), propõe:
– Monitoração do sistema para detectar quando e onde o
congestionamento ocorre;
– Passagem dessas informações para pontos de controle
onde alguma ação pode ser tomada;
– Ajuste da operação do sistema para corrigir o problema.
• No modelo circuito fechado, o controle pode
ser:
– explícito, quando o ponto de congestionamento
avisa (de alguma forma) a origem dos pacotes
(p.ex. ATM com ABR);
– implícito, quando a origem dos pacotes deduz que
há congestionamento fazendo observações
localmente (p.ex., pela demora no recebimento de
confirmação de entrega de pacotes, p.ex. TCP/IP).
Condicionamento de Tráfego (Traffic Shaping)
• Em redes que oferecem qualidade de serviço (Quality
of Service - QoS), as estações clientes podem ser
forçadas a transmitir a uma taxa uniforme,
previamente acertada com a rede antes do início da
transmissão (via abertura de conexão).
• Dessa forma, recursos podem ser reservados
antecipadamente, de modo que se possa garantir a
não sobrecarga da rede - o tráfego é, sempre que
possível, previsível.
Condicionamento de Tráfego (Traffic Shaping)
• Esse tipo de controle (de modelo circuito aberto) é
largamente usado em redes ATM.
• Evidentemente, a rede (responsável pela mesma)
deve também fazer um monitoramento de tráfego
para evitar que estações clientes gerem tráfego fora
do padrão solicitado para a rede.
• Esse esquema é mais facilmente implementado em
redes baseadas em circuito virtual do que em redes
baseadas em datagrama.
Algoritmo do Balde Furado (Leaky Bucket Algorithm)
• Outro mecanismo (de modelo circuito aberto) é o do
Balde Furado, onde uma fila de tamanho finito age
como um depósito de contenção para suportar
rajadas de tráfego descartando o mínimo de pacotes
e colocando-os para transmissão de modo
controlado.
• O controle é feito enviando-se para a rede pacotes
sempre em uma velocidade constante (basicamente
em função da capacidade do canal, do tempo de
propagação e do tamanho máximo do pacote
admitido) - tipo um pacote a dada ∆T.
Modelo do Balde Furado para Pacotes
Interconexão de Redes
• Problema: como interconectar redes
heterogêneas ?
• Três problemas com interconexão a nível de
enlace de dados :
– Expansão difícil para diferentes tecnologias de
enlace de dados.
– Expansão difícil com o crescimento de número
de hospedeiros ou redes.
– Diferentes espaços de endereçamento.
Interconexão de redes
Dificuldade de Expansão com diferentes
tecnologias de enlace de dados
• Conversão entre estruturas de quadros.
• Problema de escalabilidade quando o
número de tecnologias de enlace de dados
aumenta.
Espaço de endereço MAC não homogêneo
• O número de bits usado em endereço MAC
pode ser.
– Endereços MAC de 48 bits do IEEE
– IBM recomenda outros endereços MAC
administrados localmente (ignorando os
endereços MAC embutidos).
• Cada endereço em uma tecnologia de
enlace de dados deve ser universalmente
único, mas a sua unicidade não é garantida
quando várias redes são atravessadas
A Solução da camada três para interconexão
de redes
• Substituir switches de LAN por switches de
camada três, mais conhecidos como
roteadores.
• Acrescentar software de IP a cada
hospedeiro final (junto com o todo
conjunto de softwares).
• Atribuir um endereço IP a cada interface de
rede.
A Solução da camada três para interconexão
de redes
IP: escalabilidade para as tecnologias de
enlace de dados
Interconexão usando IP
Endereçamento
• Ao nível de rede, cada elemento (máquina final ou
intermediária) precisa ser identificado de forma
única na rede, independente da tecnologia da
subrede utilizada.
• Rede IP usa hierarquia para conseguir escalabilidade.
• Há pelo menos três níveis:
– Um simples hospedeiro IP (servidor.san.uri.br)
– Uma sub-rede IP (san.uri.br)
– Um sistema autônomo (uri.br)
• Criação de um espaço de endereço para identificação
de interfaces de rede.
• Classes A a C para unicast e uma classe D para
multicast:
DATAGRAMA IP
número da versão
do protocolo IP
comprimento do
cabeçalho (bytes)
“tipo” dos dados (DS)
número máximo
de enlaces restantes
(decrementado a
cada roteador)
protocolo da camada
superior ao qual
entregar os dados
32 bits
ver comp. tipo de
cab serviço
comprimento
início do
bits
ident. 16-bits
fragmento
sobre- camada
checksum
superior
vida
Internet
comprimento total
do datagrama
(bytes)
para
fragmentação/
remontagem
endereço IP de origem 32 bits
endereço IP de destino 32 bits
Opções (se tiver)
dados
(comprimento variável,
tipicamente um segmento
TCP ou UDP)
p.ex. temporizador,
registrar rota
seguida, especificar
lista de roteadores
a visitar.
Endereçamento IP
Um endereço de IP não identifica um
computador específico. Pelo contrário, cada
endereço de IP identifica uma conexão entre
um computador e uma rede. Um computador
com conexões de rede múltiplas (por exemplo,
router) deve ser atribuído um endereço IP para
cada conexão.
Endereçamento IP
Fornece uma abstração
Independente de
endereçamento de
hardware (MAC)
Utilizado por
 Protocolos de camada
mais altas
 Aplicações
Virtual
 só reconhecido por
software
Utilizado para toda a
comunicação numa
rede de interconexão
IPv4 inteiro de 32 bits
Valor distinto para
cada
Computador/interface
Endereçamento IP
Dividido em duas partes
prefixo identifica a rede
sufixo identifica o computador/interface
Autoridade global atribui um prefixo
distinto para a rede
Administrador local atribui sufixo
distinto para o computador/interface
Endereço IP
Endereço IP. Notação Decimal
 Representa cada octeto em decimal separado por pontos

Não é igual a nomes como www.xyz.com.br
129.194.69.68 = Endereço IP
129.194 = id-rede 1000 0001 1100 0010
69.68 = id-computador 0100 0101 0100 0100
 Quatro valores decimais por endereço de 32 bits
 Cada número decimal
representa oito bits
está entre 0 e 255 inclusivo
Classe de Endereços IP
Número de redes e
hosts por classe
Classe
Primeiros
bits
Intervalo do 1º
octeto
Núm. de redes
Número de hosts
128 (28)
16.777.216 (224)
128 a 191
16.384 (214)
65.536 (2116)
110
192 a 223
2.097.152(221)
256 (28)
D
1110
224 a 239
Utilizado para tráfego Multicast
E
1111
240 a 254
Reservado para uso futuro
A
0
1 a 126
B
10
C
Intervalos de endereços
por classe
Endereços Reservados
• Identificador de rede não pode ser 127
– 127 é reservado para fins de loop-back
• Os identificadores de rede e de hospedeiro
não podem ser 255 (todos os bits iguais a 1)
– 255 é um endereço para difusão
• Os identificadores de rede e de hospedeiro
não podem ser 0 (todos os bits iguais a 0)
– 0 (zero) significa “somente esta rede”
• O identificador de hospedeiro deve ser único
na rede
Endereços Privados
• A RFC 1918 define alguns intervalos de IPs
como não roteáveis:
Endereçamento IP
Problemas endereçamento original:
 Crescimento
de Internet
 Tamanho de tabela de routing
 Esgotamento de endereços
 Peso Administrativo
 Má utilização de endereços
Soluções introduzidas
Endereçamento subrede (subnetting) - 1985
Subdividir uma classe grande em redes menores  mascara de rede
(netmask)
Roteamento inter-domínio sem classes (classless interdomain
routing - CIDR) - 1993
introduzido em 1993 endereçamento IP mais eficiente e flexível
CIDR é conhecido também como endereçamento super-rede (supernetting).
Os endereçamentos subrede e super-rede têm basicamente o mesmo
conceito.
NAT (Network Address Translation) – 1994 (RFC 1631)
Rede interna -- endereço privado --- | Gateway | --- endereço público -- Internet
IPv6
Solução completa do problema
O conceito de subrede
Máscara de suberede
• Auxilia na definição de que porção do endereço
define rede e host
• Classes A, B e C possuem máscaras padrão
– Classe A: 255.0.0.0 ou /8
– Classe B: 255.255.0.0 ou /16
– Classe C: 255.255.255.0 ou /24
• Determina se um host está na subrede local ou
remota
• Mascara de rede vista somente dentro da
organização
Exemplo de máscara de suberede
Roteamento Interdomínio sem Classes (CIDR)
Roteamento Interdomínio sem Classes (CIDR)
 O espaço de endereço IP é quebrado em segmentos
 Cada segmento é descrito por um prefixo.
 Um prefixo tem a forma x/y, onde x indica o prefixo de
todos os endereços no segmento, e y indica o
comprimento do segmento.
 Por exemplo, o prefixo 128.9/16 representa o
segmento de rede que contém os endereços no
intervalo: 128.9.0.0 … 128.9.255.255
Hosts
Netmask
Quantidade de uma
classe C
/32
1
255.255.255.255
1/128
/30
4
255.255.255.252
1/64
/29
8
255.255.255.248
1/32
/28
16
255.255.255.240
1/16
/27
32
255.255.255.224
1/8
/26
64
255.255.255.192
1/4
/25
128
255.255.255.128
1/2
/24
256
255.255.255.0
1
/23
512
255.255.254.0
2
/22
1.024
255.255.252.0
4
/21
2.048
255.255.248.0
8
/20
4.096
255.255.240.0
16
/19
8.192
255.255.224.0
32
/18
16.384
255.255.192.0
64
/17
32.768
255.255.128.0
128
/16
65.536
255.255.0.0
256
Roteamento Interdomínio sem Classes (CIDR)
Agregação de prefixos
•Se um provedor de Internet presta serviço a várias companhias com
vários prefixos, pode (algumas vezes) agregá-los em um único
prefixo. Os outros roteadores podem reduzir o tamanho da tabela
de endereço.
NAT – Network Address Translation
Solução paliativa para a falta de endereços IP
IPv6
 Versão mais atual do IP (proposta em 2012)
 Funciona lado a lado com IPv4
 Cabeçalho mais enxuto que o IPv4  checksum não usado
 Tamanho de 128 bits
 340.282.366.920.938.463.463.374.607.431.768.211.456 de
endereços
 Não existe prefixo e sufixo de rede
 8 grupos de 4 dígitos hexadecimais
2001:0db8:85a3:08d3:1319:8a2e:0370:7344
 Se um grupo de vários dígitos seguidos for 0000, pode ser
omitido.
2001:0db8:85a3:0000:0000:0000:0000:7344  2001:0db8:85a3::7344
 Solução para o esgotamento de endereços
A Camada de Rede na Internet
Funções da camada de rede em estações, roteadores:
Camada de transporte: TCP, UDP
Camada
de rede
protocolo IP
•convenções de endereços
•formato do datagrama
•convenções de manuseio do pct
Protocolos de rot.
•seleção de rotas
•RIP, OSPF, BGP
Tabela
de rotas
protocolo ICMP
•relata erros
•“sinalização” de roteadores
Camada de enlace
Camada física
Download