Rede de Computadores
MATA59 - Redes de
ComputadoresI
Universidade Federal da Bahia
Instituto de Matemática
Departamento de Ciência da Computação
Rede de Computadores
CAMADA DE REDE
Rede de Computadores
CAMADA DE REDE
Rede de Computadores
Camada de Rede
• Serviços da Camada de Rede oferecidos a camada
de transporte:
• serviço orientado a conexão
• serviço não orientado a conexão
• serviço confiável
• serviço não confiável
• Normalmente, serviços orientados a conexão
possuem confiabilidade
4
Rede de Computadores
Camada de Rede
• Serviços da Camada de Rede:
• conexão (orientado ou não)
• roteamento
• controle de congestionamento
• No serviço com conexão estabelece-se circuito
virtual
• O circuito virtual determina o roteamento uma
única vez para a conexão
• No serviço sem conexão as rotas podem se alterar
5
Rede de Computadores
Camada de Rede
• No serviço sem conexão cada pacote é roteado de
forma independente dos demais
• No serviço com conexão se estabelece a rota para
todos os pacotes da conexão, podendo-se reservar
banda para a conexão
6
Rede de Computadores
Roteamento
7
Rede de Computadores
Roteamento
• Propriedades:
• Correção
• Simplicidade
• Robustez
• Estabilidade
• Otimização
8
Rede de Computadores
Roteamento
• Tabela de Roteamento:
• Armazenam as rotas escolhidas
• Manualmente: inicialização do SO do roteador
• Dinamicamente: tempo de execução
• Algoritmo de Roteamento: Definem as regras e a
lógica seguida para escolha da rota
• Protocolo de Rotemamento:
• responsáveis pela divulgação de rotas e
atualização das tabelas de roteamento
• Implementam um ou mais algoritmos
9
Rede de Computadores
Roteamento Métricas
10
Rede de Computadores
Roteamento
• Métricas de roteamento:
• Largura de banda
• Tipo de carga
• Distância entre roteadores
• Congestionamento
• Número de hops
• Atraso
• Função de custo
11
Rede de Computadores
Roteamento
• Tipos: Estáticos e Dinâmicos
• Estático:
 Normalmente configurado manualmente
 A tabela de roteamento é estática
 As rotas não se alteram dinamicamente de acordo
com as alterações da topologia da rede
 Custo manutenção cresce de acordo com a
complexidade e tamanho da rede
 Sujeito a falhas de configuração
12
Rede de Computadores
Roteamento Estático
13
Rede de Computadores
Roteamento
• Tipos: Estáticos e Dinâmicos
• Dinâmico:
 Divulgação e alteração das tabelas de
roteamento de forma dinâmica
 Sem intervenção constante do administrador
 Alteração das tabelas dinamicamente de acordo
com a alteração da topologia da rede
 Adaptativo
 Melhora o tempo de manutenção das tabelas em
grandes redes
 Mas também está sujeito a falhas
14
Rede de Computadores
Roteamento Dinâmico
15
Rede de Computadores
Roteamento Direto
• Origem e Destino na mesma rede
10.35.143.10
Tabela de Roteamento
Destino
10.35.143.0
.......
Gateway
10.35.143.10
.......
10.35.143.0
Switch
10.35.143.15
• Várias topologias
– Lembrar que equipamentos de nível 2 não tratam endereço
de rede
16
Rede de Computadores
Roteamento Indireto
• Origem e Destino estão em redes diferentes
Tabela de Roteamento
Destino
10.35.143.10
10.35.143.0
0.0.0.0
Gateway
10.35.144.15
10.35.143.10
10.35.143.1
10.35.143.1
10.35.144.1
Router
10.35.143.0
10.35.144.0
Tabela de Roteamento
Destino
10.35.143.0
10.35.144.0
.......
17
Gateway
10.35.143.1
10.35.144.1
.......
Tabela de Roteamento
Destino
10.35.144.0
0.0.0.0
Gateway
10.35.144.15
10.35.144.1
Rede de Computadores
Roteamento
• Tipos de Protocolos de Roteamento:
• Não Adaptativos – Estáticos
• Algoritmo de Dijikstra
• Algoritmo de Inundação ( Flooding )
• Adaptativos - Dinâmicos
• Algotítmo de Distância Vetorial (Bellman-Ford)
• Algoritmo do Estado de Enlace (Short Path First)
18
Rede de Computadores
Algorítmo de Inundação
• Roteador envia pacotes para todas as suas
interfaces, exceto para aquela em que chegou
• Inunda a rede
• O pacote sempre alcança o destino
• Tráfego desnecessário
19
Rede de Computadores
Roteamento pelo Caminho mais Curto Algoritmo de Dijikstra
• Modelagem de Grafo:
• Arcos são linhas de comunicação (enlaces)
• Nós são roteadores
• Rotas são caminhos entre nós de um grafo
• Cada arco tem um peso indicando o custo do
enlace
20
Rede de Computadores
Algoritmo de Dijikstra
• Cada nó é rotulado por sua distância ao nó de
origem ao logo do menor caminho até então
• inicialmente todos os nós são rotulados com
infinito
• cada interação analisa-se a vizinhança do nó ativo
e escolhe-se o novo nó ativo
• Inicialmente os rótulos (labels) são provisórios,
quando se descobre que o label representa o menor
caminho possível ele se torna permanente
21
Rede de Computadores
Algoritmo de Dijikstra
10
B
C
4
4
2
6
A
D
F
22
12
8
7
8
E
2
G
Rede de Computadores
Roteamento Vetor Distância ( Roteamento
com Distância Vetorial ) Ex.: RIP
23
Rede de Computadores
Roteamento Vetor Distância ( Roteamento
com Distância Vetorial ) Ex.: RIP
É um algoritmo simples
– Um roteador mantém uma lista de todos as rotas
conhecidas em uma tabela
– Cada roteador divulga para os seus vizinhos as
rotas que conhece
– Cada roteador selecionas dentre as rotas
conhecidas e as divulgadas os melhores caminhos
24
Rede de Computadores
Vetor-Distância - Métrica
• A escolha do melhor caminho é baseada na
comparação da métrica do enlace
– Normalmente: Melhor = menor caminho
• A métrica é o custo de envio em um enlace
• Pode ser diferentes informações
–
–
–
–
25
Taxa de transmissão em bps
Vazão
Atraso
Número de saltos (no. de hops) (+ usado)
Rede de Computadores
Vetor-Distância – Métrica – Saltos
26
Rede de Computadores
Vetor-Distância - Procedimento
1. Quando o roteador executa o “boot” ele armazena na tabela
informações sobre cada uma das redes que estão
diretamente conectada a ele. Cada entrada na tabela indica
uma rede destino, o gateway para a rede e a sua métrica.
2. Periodicamente cada roteador envia uma cópia da sua tabela
para qualquer outro roteador que seja diretamente
alcançável.
3. Cada roteador que recebe uma cópia da tabela, verifica as
rotas divulgadas e suas métricas. O roteador soma à métrica
divulgada o custo do enlace entre ele e o roteador que fez a
divulgação. Após, compara cada uma das entradas da tabela
divulgada com as da sua tabela de roteamento. Rotas novas
são adicionadas, rotas existentes são selecionadas pela sua
métrica.
27
Rede de Computadores
Vetor-Distância - Procedimneto
3.1 Se a rota já existe na tabela e a métrica calculada é menor
do que a da rota conhecida, então remove a entrada anterior
e adiciona a nova rota divulgada.
3.2 Se a rota já existe na tabela e a métrica calculada é igual a
da rota conhecida, então não altera a entrada.
3.3. Se a rota já existe na tabela e a métrica divulgada é maior
do que a da rota conhecida, então verifica se o gateway para
esta rota é o mesmo que está fazendo nova divulgação
3.3.1 Se o gateway é o mesmo então altera a métrica para
esta rota
3.3.2 Se o gateway não é o mesmo não altera a rota
28
conhecida
Rede de Computadores
Distância Vetorial - Convergência
• Processamento rápido do algoritmo
• Convergência lenta
• ex: D demora para perceber queda do enlace
A
29
B
C
D
Rede de Computadores
Distância Vetorial - Convergência Lenta
Router 1
<R1,0>
Router 2
Router 3
<R2,0>
<R1,1>
<R3,0>
<R2,1>
<R1,2>
<R2,1>
<R1,0>
<R3,1>
<R2,0>
<R1,1>
<R4,0>
<R3,1>
<R2,2>
<R1,3>
Continua o processo ....
30
Router 4
Rede de Computadores
Distância Vetorial - Convergência Lenta
Router 1
<R1,0>
Router 2
Router 4
<R2,0>
<R1,3>
<R2,0>
<R3,1>
<R2,0>
<R1,5>
31
Router 3
<R3,0>
<R2,1>
<R1,4>
A rota somente será
Considerada infinita quando a
métrica atingir 16.
<R3,0>
<R2,1>
<R1,6>
Rede de Computadores
Distância Vetorial - Convergência Lenta - Soluções
• Split Horizon
– A informação de roteamento não deve ser
divulgada para a máquina que a originou
• Hold-Down
– Previne que mensagens de atualização
restabeleçam precipitadamente uma rota que caiu.
32
Rede de Computadores
Roteamento por Estado de Enlace – Ex.: OSPF
33
Rede de Computadores
Roteamento por Estado de Enlace – Ex.: OSPF
Cada roteador tem tarefas divididas em 5 partes:
1. Descobrir seus vizinhos e aprender seus endereços de rede
2. Medir o retardo ou custo até cada uma dos seus vizinhos
3. Criar um pacote que informe tudo que aprendeu ao seus
vizinhos
4. Enviar este pacote a todos os outros roteadores
5. Calcular o caminho mais curto até cada um dos outros
roteadores
34
Rede de Computadores
Estado do Enlace
• Baseado no conceito de mapas distribuídos
– todos os roteadores do mapa tem uma cópia
• O conteúdo das mensagens de atualização são as
ligações de um roteador a seus vizinhos, a
identificação do enlace e o custo.
• As informações divulgadas são acrescentadas ao
mapa de quem as recebe
• Caso, haja alterações do mapa devido a
divulgação as rotas são recalculadas.
35
Rede de Computadores
Estado do Enlace - Mapa
• Exemplo
A
1
3
B
2
C
4
5
D
E
6
De
A
A
B
B
B
C
C
D
D
E
E
E
Para
B
D
A
C
E
B
E
A
E
C
B
D
Enlace
1
3
1
2
4
2
5
3
6
5
4
6
• Cada registro é divulgado pelo roteador
“responsável”
36
Métrica
1
1
1
1
1
1
1
1
1
1
1
1
Rede de Computadores
Estado do Enlace – Inundação (Flooding)
A
1
3
B
2
C
Falha de comunicação
4
5
D
E
6
• A e B detectam a falha
• A e B alteram os registros na base de dados pelos
quais são responsáveis
• A gera atualização para D e B para C e E
• C, D e E irão desencadear novas atualizações
37
Rede de Computadores
Estado do Enlace – Inundação (Flooding)
• D enviará para E, C enviará para E e E enviará para
CeB
• Loop?
– Prevenção do loop é feita pela utilização de um número
de seqüência no pacote de atualização
• Algoritmo
Recebe mensagem
Seleciona registro na base
38
se o registro não está presente
então adiciona e envia uma mensagem em broadcast para os
vizinhos, exceto pelo enlace pelo qual foi recebida
Rede de Computadores
Estado do Enlace – Inundação (Flooding)
39
senão
se o número de seqüência da entrada na base < o número de
seqüência da mensagem
então atualiza e gera broadcast
senão
se número da base > o número de seqüência da
mensagem
então
gera uma nova divulgação
atualiza o número de seqüência da mensagem
envia a mensagem para interface pela qual foi
recebida
senão
se os números de seqüência são iguais não faz nada.
Rede de Computadores
Estado de enlace – Atualização - Exemplo
• Mensagem de A
– From A, to B, link 1,
distance = infinite,
number = 2.
• Mensagem de B
– From B to A, link 1,
distance = infinite,
number = 2
40
Tabela Final
De
A
A
B
B
B
C
C
D
D
E
E
E
Para
B
D
A
C
E
B
E
A
E
C
B
D
Enlace
1
3
1
2
4
2
5
3
6
5
4
6
Métrica
inf
1
inf
1
1
1
1
1
1
1
1
1
Seq.
2
1
2
1
1
1
1
1
1
1
1
1
Rede de Computadores
Estado do enlace – Atualização – Exemplo - Falha
A
1
3
B
2
Falha de comunicação
C
4
5
D
E
• Duas versões do mapa
Mapa 1 -BCE
Mapa 1 - AD
41
A B 1 inf
B A 1 inf
D E 1 inf
2
2
2
A B 1 inf
B A 1 inf
E D 1 inf
2
2
2
Rede de Computadores
Estado do enlace – Atualização - Exemplo
A
3
1
B
2
Falha de comunicação
C
4
5
D
E
• Mapa BCE sofrerá atualizações que não serão
refletidas no AD Mapa 1 -BCE
A B
B A
B C
C B
E D
42
1
1
2
2
1
inf
inf
inf
inf
inf
2
2
2
2
2
Rede de Computadores
Estado do enlace – Atualização – Exemplo - Restabelecimento
• Ao restabelecer a comunicação entre AD e BCE é
necessário que ocorra um processo de sincronização
• Pelo processo normal leva muito tempo para
convergir
• Sincronização - “data base description packets”
– 1.ª fase: nodo distribui o seu mapa
– 2.ª fase: solicita aos vizinhos os “registros interessantes”
– 3.ª fase: flooding
43
Rede de Computadores
Estado do Enlace - Problemas - No. de Sequência.
• Quando um roteador cai e volta rapidamente
– não terá sido retirado dos mapas dos outros hosts
– irá realizar o flooding com seu número de seqüência
incial
– esse número será mais antigo (menor) que os mantidos
nos mapas dos vizinhos
– então para acelerar a convergência, ele deve aceitar o
número de seqüência que os outros irão lhe enviar,
incrementá-lo e imediatamente retransmitir seus registros
com o novo número.
44
Rede de Computadores
Roteamento Hierarquico
• Regiões de roteamento
• Informações de rotas internas a região não se
propagam fora dela
• Rotas padrão
45
Rede de Computadores
Roteamento por Difusão ( Broadcasting )
• Envio de pacotes a todos os destinos
simultaneamente
• Pode usar o algoritmo que envia um pacote
específico para cada destino
• Pode usar o algoritmo de Inundação
• Pode usar o algoritmo de Roteamento para vários
destinos
• Pode usar o algoritmo de Árvore Invertida
46
Rede de Computadores
Roteamento por Multidifusão ( Multicasting )
• Envio de pacotes para Grupos
• Pode usar o algoritmo que envia um pacote específico
para cada membro do grupo ( poucos participantes )
• Pode usar o algoritmo de Inundação ( grupo com
muitos membros, próximo do total )
• Pode usar o algoritmo de Roteamento por
Multidifuão ( uma árvore invertida para cada grupo )
47
Rede de Computadores
Controle de Congestionamento
• Loop aberto: controle de tráfego de quem envia
para a rede, evitando o congestionamento
• Loop fechado: controle de tráfego no roteador,
tratando o congestionamento existente
• Caso a rede adote circuito virtual, estabelece-se
bandas de uso, assim há uma visão da banda total
da rede e evitando-se o congestionamento
48
Rede de Computadores
Controle de Congestionamento
• Loop Aberto:
• Algoritmo do Balde Furado: Limita a
informação que pode ser enfileirada para
transmissão de dados. Modela um buffer de
transmissão finito e taxa limite de transmissão
de mensagens provenientes do balde
• Algoritmo do Balde Furado de Tokens: cria
permissões (tokens) de envio de N bits a cada
intervalo de tempo. A mensagem tem de
utilizar os tokens, limita o tráfego, mas permite
rajadas
49
Rede de Computadores
Algoritmo de Balde Furado
50
Rede de Computadores
Algoritmo de Balde Furado
51
Rede de Computadores
Algoritmo Balde Furado- Tokens
52
Rede de Computadores
Algoritmo Balde Furado
53
Rede de Computadores
Controle de Congestionamento
• Loop Fechado:
• Rede com conexão: proíbe o estabelecimento
de novos circuitos virtuais e renegocia banda
dos existentes
• Rede sem conexão: descarte do pacote gera
pacote regulador informando roteadores do
congestionamento, estes aplicam alguma
técnica de controle com Loop Aberto
• Escoamento de carga: último recurso, descarta
todos os pacotes ou os de menor prioridade
54
Download

attachment - Universidade Federal da Bahia