rede de computadores mata59 - redes de computadoresi universidade federal da bahia instituto de...
TRANSCRIPT
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
4
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
Rede de Computadores
5
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
Rede de Computadores
6
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
Rede de Computadores
7
Roteamento
Rede de Computadores
8
Roteamento
• Propriedades:• Correção• Simplicidade• Robustez• Estabilidade• Otimização
Rede de Computadores
9
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
Rede de Computadores
10
Roteamento Métricas
Rede de Computadores
11
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
Rede de Computadores
12
Roteamento• Tipos: Estáticos e Dinâmicos
• Estático:Normalmente configurado manualmenteA 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
Rede de Computadores
13
Roteamento Estático
Rede de Computadores
14
Roteamento• Tipos: Estáticos e Dinâmicos
• Dinâmico:Divulgação e alteração das tabelas de roteamento
de forma dinâmicaSem intervenção constante do administrador
Alteração das tabelas dinamicamente de acordo com a alteração da topologia da redeAdaptativo
Melhora o tempo de manutenção das tabelas em grandes redes
Mas também está sujeito a falhas
Rede de Computadores
15
Roteamento Dinâmico
Rede de Computadores
16
Roteamento Direto• Origem e Destino na mesma rede
• Várias topologias– Lembrar que equipamentos de nível 2 não tratam endereço
de rede
10.35.143.0
10.35.143.10
10.35.143.15
Tabela de Roteamento
Destino Gateway 10.35.143.0 10.35.143.10 ....... .......
Switch
Rede de Computadores
17
Roteamento Indireto• Origem e Destino estão em redes diferentes
10.35.143.0
10.35.143.1010.35.144.15
Tabela de Roteamento
Destino Gateway 10.35.143.0 10.35.143.10 0.0.0.0 10.35.143.1
Router10.35.144.0
Tabela de Roteamento
Destino Gateway 10.35.143.0 10.35.143.110.35.144.0 10.35.144.1 ....... .......
10.35.143.1 10.35.144.1
Tabela de Roteamento
Destino Gateway 10.35.144.0 10.35.144.150.0.0.0 10.35.144.1
Rede de Computadores
18
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)
Rede de Computadores
19
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
Rede de Computadores
20
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
Rede de Computadores
21
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
Rede de Computadores
22
Algoritmo de Dijikstra
DA
F
B
G
C
E
4
8
2
10
2
12
4
6
87
Rede de Computadores
23
Roteamento Vetor Distância ( Roteamento com Distância Vetorial ) Ex.: RIP
Rede de Computadores
24
É 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
Roteamento Vetor Distância ( Roteamento com Distância Vetorial ) Ex.: RIP
Rede de Computadores
25
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
– Taxa de transmissão em bps– Vazão– Atraso– Número de saltos (no. de hops) (+ usado)
Rede de Computadores
26
Vetor-Distância – Métrica – Saltos
Rede de Computadores
27
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.
Rede de Computadores
28
Vetor-Distância - Procedimneto3.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 conhecida
Rede de Computadores
29
Distância Vetorial - Convergência
• Processamento rápido do algoritmo• Convergência lenta
• ex: D demora para perceber queda do enlace
A B DC
Rede de Computadores
30
Distância Vetorial - Convergência Lenta
Router 1 Router 2 Router 4Router 3
<R1,0> <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 ....
Rede de Computadores
31
Distância Vetorial - Convergência Lenta
Router 1 Router 2 Router 4Router 3
<R1,0> <R2,0><R1,3>
<R3,0><R2,1><R1,4>
<R3,1><R2,0><R1,5>
<R2,0>
<R3,0><R2,1><R1,6>
A rota somente seráConsiderada infinita quando amétrica atingir 16.
A rota somente seráConsiderada infinita quando amétrica atingir 16.
Rede de Computadores
32
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.
Rede de Computadores
33
Roteamento por Estado de Enlace – Ex.: OSPF
Rede de Computadores
34
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
Rede de Computadores
35
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.
Rede de Computadores
36
Estado do Enlace - Mapa• Exemplo
• Cada registro é divulgado pelo roteador “responsável”
A1 2
3 45
6
B C
D E
De Para Enlace Métrica A B 1 1 A D 3 1 B A 1 1 B C 2 1 B E 4 1 C B 2 1 C E 5 1 D A 3 1 D E 6 1 E C 5 1 E B 4 1 E D 6 1
Rede de Computadores
37
Estado do Enlace – Inundação (Flooding)
• 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
6
A1 2
3 45
B C
D E
Falha de comunicação
Rede de Computadores
38
Estado do Enlace – Inundação (Flooding)• D enviará para E, C enviará para E e E enviará para
C e B
• Loop?– Prevenção do loop é feita pela utilização de um número
de seqüência no pacote de atualização
• AlgoritmoRecebe mensagem
Seleciona registro na basese 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
39
Estado do Enlace – Inundação (Flooding)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
40
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
De Para Enlace Métrica Seq. A B 1 inf 2 A D 3 1 1 B A 1 inf 2 B C 2 1 1 B E 4 1 1 C B 2 1 1 C E 5 1 1 D A 3 1 1 D E 6 1 1 E C 5 1 1 E B 4 1 1 E D 6 1 1
Tabela Final
Rede de Computadores
41
Estado do enlace – Atualização – Exemplo - Falha
• Duas versões do mapa
A1 2
3 45
B C
D E
Falha de comunicação
Mapa 1 - AD
A B 1 inf 2B A 1 inf 2D E 1 inf 2
Mapa 1 -BCE
A B 1 inf 2B A 1 inf 2E D 1 inf 2
Rede de Computadores
42
Estado do enlace – Atualização - Exemplo
• Mapa BCE sofrerá atualizações que não serão refletidas no AD
A1 2
3 45
B C
D E
Falha de comunicação
Mapa 1 -BCEA B 1 inf 2B A 1 inf 2B C 2 inf 2C B 2 inf 2 E D 1 inf 2
Rede de Computadores
43
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
Rede de Computadores
44
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.
Rede de Computadores
45
Roteamento Hierarquico
• Regiões de roteamento• Informações de rotas internas a região não se
propagam fora dela• Rotas padrão
Rede de Computadores
46
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
Rede de Computadores
47
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 )
Rede de Computadores
48
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
Rede de Computadores
49
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
Rede de Computadores
50
Algoritmo de Balde Furado
Rede de Computadores
51
Algoritmo de Balde Furado
Rede de Computadores
52
Algoritmo Balde Furado- Tokens
Rede de Computadores
53
Algoritmo Balde Furado
Rede de Computadores
54
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