53
Rede de Computadores MAT055 - Redes de Computadores Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação

UFBA-Mat055-parte2

Embed Size (px)

Citation preview

Page 1: UFBA-Mat055-parte2

Rede de Computadores

MAT055 - Redes de Computadores

Universidade Federal da Bahia

Instituto de Matemática

Departamento de Ciência da Computação

Page 2: UFBA-Mat055-parte2

Rede de Computadores

CAMADA DE REDE

Page 3: UFBA-Mat055-parte2

Rede de Computadores

CAMADA DE REDE

Page 4: UFBA-Mat055-parte2

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

Page 5: UFBA-Mat055-parte2

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

Page 6: UFBA-Mat055-parte2

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

Page 7: UFBA-Mat055-parte2

Rede de Computadores

7

Roteamento

Page 8: UFBA-Mat055-parte2

Rede de Computadores

8

Roteamento

• Propriedades:• Correção• Simplicidade• Robustez• Estabilidade• Equidade• Otimização

Page 9: UFBA-Mat055-parte2

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

Page 10: UFBA-Mat055-parte2

Rede de Computadores

10

Roteamento Métricas

Page 11: UFBA-Mat055-parte2

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

Page 12: UFBA-Mat055-parte2

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

Page 13: UFBA-Mat055-parte2

Rede de Computadores

13

Roteamento Estático

Page 14: UFBA-Mat055-parte2

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

Page 15: UFBA-Mat055-parte2

Rede de Computadores

15

Roteamento Dinâmico

Page 16: UFBA-Mat055-parte2

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

Page 17: UFBA-Mat055-parte2

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

Page 18: UFBA-Mat055-parte2

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)

Page 19: UFBA-Mat055-parte2

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

Page 20: UFBA-Mat055-parte2

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

Page 21: UFBA-Mat055-parte2

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

Page 22: UFBA-Mat055-parte2

Rede de Computadores

22

Roteamento Vetor Distância ( Roteamento com Distância Vetorial ) Ex.: RIP

Page 23: UFBA-Mat055-parte2

Rede de Computadores

23

É 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

Page 24: UFBA-Mat055-parte2

Rede de Computadores

24

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)

Page 25: UFBA-Mat055-parte2

Rede de Computadores

25

Vetor-Distância – Métrica – Saltos

Page 26: UFBA-Mat055-parte2

Rede de Computadores

26

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.

Page 27: UFBA-Mat055-parte2

Rede de Computadores

27

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 desta 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

Page 28: UFBA-Mat055-parte2

Rede de Computadores

28

Distância Vetorial - Convergência

• Processamento rápido do algoritmo• Convergência lenta

• ex: D demora para perceber queda do enlace

A B DC

Page 29: UFBA-Mat055-parte2

Rede de Computadores

29

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 ....

Page 30: UFBA-Mat055-parte2

Rede de Computadores

30

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.

Page 31: UFBA-Mat055-parte2

Rede de Computadores

31

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.

Page 32: UFBA-Mat055-parte2

Rede de Computadores

32

Roteamento por Estado de Enlace – Ex.: OSPF

Page 33: UFBA-Mat055-parte2

Rede de Computadores

33

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

Page 34: UFBA-Mat055-parte2

Rede de Computadores

34

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.

Page 35: UFBA-Mat055-parte2

Rede de Computadores

35

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

Page 36: UFBA-Mat055-parte2

Rede de Computadores

36

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

Page 37: UFBA-Mat055-parte2

Rede de Computadores

37

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

Page 38: UFBA-Mat055-parte2

Rede de Computadores

38

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.

Page 39: UFBA-Mat055-parte2

Rede de Computadores

39

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

Page 40: UFBA-Mat055-parte2

Rede de Computadores

40

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

Page 41: UFBA-Mat055-parte2

Rede de Computadores

41

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

Page 42: UFBA-Mat055-parte2

Rede de Computadores

42

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

Page 43: UFBA-Mat055-parte2

Rede de Computadores

43

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.

Page 44: UFBA-Mat055-parte2

Rede de Computadores

44

Roteamento Hierarquico

• Regiões de roteamento• Informações de rotas internas a região não se

propagam fora dela• Rotas padrão

Page 45: UFBA-Mat055-parte2

Rede de Computadores

45

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

Page 46: UFBA-Mat055-parte2

Rede de Computadores

46

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 )

Page 47: UFBA-Mat055-parte2

Rede de Computadores

47

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

Page 48: UFBA-Mat055-parte2

Rede de Computadores

48

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

Page 49: UFBA-Mat055-parte2

Rede de Computadores

49

Algoritmo de Balde Furado

Page 50: UFBA-Mat055-parte2

Rede de Computadores

50

Algoritmo de Balde Furado

Page 51: UFBA-Mat055-parte2

Rede de Computadores

51

Algoritmo Balde Furado- Tokens

Page 52: UFBA-Mat055-parte2

Rede de Computadores

52

Algoritmo Balde Furado

Page 53: UFBA-Mat055-parte2

Rede de Computadores

53

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