17
1 Disciplina : Redes de Computadores Nível de Rede Profa. Débora Christina Muchaluat Saade [email protected] Departamento de Ciência da Computação - UFF 5 Redes de Computadores Nível de Rede üEndereçamento üRoteamento üTransmissão de unidades de dados do serviço de rede üSegmentação e blocagem üDetecção e recuperação de erros üSequenciação üControle de congestionamento üServiços orientado à conexão não orientado à conexão Aplicação Apresentação Sessão Transporte Rede Enlace Físico 6 Redes de Computadores Comutação de Pacotes - Store-and-Forward Ambiente de um protocolo de rede fig 5-1 7 Redes de Computadores Implementação de um Serviço sem Conexão Encaminhamento de datgramas 8 Redes de Computadores Implementação de um Serviço Orientado à Conexão Encaminhamento de pacotes em um circuito virtual 9 Redes de Computadores Comparação entre Circuito Virtual e Datagrama 5-4

do serviço de rede Nível de Rede Rede · • minimizar a distância percorrida por cada pacote ... chamada TABELA de ROTAS que possui os ... diferentes das anteriores

  • Upload
    buidung

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

1

Disciplina: Redes de Computadores

Nível de Rede

Profa. Débora Christina Muchaluat Saade

[email protected]

Departamento de Ciência da Computação - UFF

5

Redes de Computadores

Nível de Rede

ü Endereçamento ü Roteamento ü Transmissão de unidades de dados

do serviço de rede ü Segmentação e blocagem ü Detecção e recuperação de erros ü Sequenciação ü Controle de congestionamento ü Serviços

•  orientado à conexão •  não orientado à conexão

Aplicação

Apresentação

Sessão

Transporte

Rede

Enlace

Físico

6

Redes de Computadores

Comutação de Pacotes - Store-and-Forward

Ambiente de um protocolo de rede

fig 5-1

7

Redes de Computadores

Implementação de um Serviço sem Conexão

Encaminhamento de datgramas

8

Redes de Computadores

Implementação de um Serviço Orientado à Conexão

Encaminhamento de pacotes em um circuito virtual

9

Redes de Computadores

Comparação entre Circuito Virtual e Datagrama

5-4

2

10

Redes de Computadores

Endereçamento

ü  Hierárquico

ü  Horizontal

ü  Mapeamento do SAP de Rede no endereço da estação •  Vinculação direta

–  tabelas de conversão •  Vinculação dinâmica

–  Protocolo de resolução de endereços

13

Redes de Computadores

Algoritmos de Roteamento

ü Para qual linha de saída do roteador deve ser encaminhado um pacote recebido?

ü Conexão de Circuito Virtual x Datagrama

Roteador

Cab.

L1

L2

L3 L0

14

Redes de Computadores

Algoritmos de Roteamento

ü  Propriedades Desejáveis •  correto •  simples •  robusto •  estável •  justo •  ótimo

ü  O que otimizar? •  minimizar a distância percorrida por cada pacote •  minimizar o retardo médio dos pacotes •  maximizar a vazão (throughput) total da rede •  minimizar o número de saltos (hops)

18

Redes de Computadores

Algoritmos de Roteamento

ü Analogia com estudo de grafos • Roteador = Nó • Enlace = Aresta

ü Medidas de custo nos enlaces •  valor unitário (salto ou hop) • distância •  tempo médio de espera na fila de transmissão +

tempo de transmissão propriamente dito •  capacidade de transmissão •  custo da linha de comunicação

19

Redes de Computadores

Algoritmos de Roteamento

A

B

C

D E

F

H

5

7

9

2 2

1

3

2

1 2

2

G

20

Redes de Computadores

The Optimality Principle

(a) A subnet. (b) A sink tree for router B.

3

21

Redes de Computadores

Caminho mais Curto (Shortest Path)

ü  Diversos algoritmos na literatura para computar o caminho mais curto entre dois nós de um grafo [Tanenbaum 1996, Dijkstra 1959]

ü  Baseia-se no uso de uma métrica: •  número de saltos (hops) •  distância •  capacidade de transmissão •  tempo médio de espera na fila de transmissão +

tempo de transmissão propriamente dito •  custo da linha de comunicação

22

Redes de Computadores

Caminho mais Curto - Dijkstra

ü Cada nó tem um rótulo que pode ser: •  tentativa • permanente

ü o rótulo mantém a menor distância ao nó origem usando o melhor caminho conhecido (inicialmente é infinito)

ü quando descobre-se que a distância ao nó origem é a menor dentre as tentativas, faz-se o rótulo permanente

23

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(∞, -) (∞, -)

(∞, -)

(∞, -) (∞, -)

(∞, -) (∞, -)

24

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(∞, -) (∞, -)

(∞, -)

(∞, -) (∞, -)

(∞, -) (∞, -)

Vizinhos: B, C Tentativas: Permanentes: A

26

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(∞, -) (∞, -)

(∞, -)

(∞, -) (2, A)

(∞, -) (∞, -)

Vizinhos: C Tentativas: B Permanentes: A 27

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (∞, -)

(∞, -)

(∞, -) (2, A)

(∞, -) (∞, -)

Vizinhos: Tentativas: B, C Permanentes: A

4

28

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (∞, -)

(∞, -)

(∞, -) (2, A)

(∞, -) (∞, -)

Vizinhos: D, F Tentativas: C Permanentes: A, B 29

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (∞, -)

(∞, -)

(∞, -) (2, A)

(4, B) (∞, -)

Vizinhos: F Tentativas: C, D Permanentes: A, B

30

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (∞, -)

(∞, -)

(11, B) (2, A)

(4, B) (∞, -)

Vizinhos: Tentativas: C, D, F Permanentes: A, B 31

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (∞, -)

(∞, -)

(11, B) (2, A)

(4, B) (∞, -)

Vizinhos: C, E Tentativas: C, F Permanentes: A, B, D

32

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (∞, -)

(∞, -)

(11, B) (2, A)

(4, B) (∞, -)

Vizinhos: E Tentativas: C, F, E Permanentes: A, B, D 33

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (∞, -)

(∞, -)

(11, B) (2, A)

(4, B) (7, D)

Vizinhos: Tentativas: C, F, E Permanentes: A, B, D

5

34

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (∞, -)

(∞, -)

(11, B) (2, A)

(4, B) (7, D)

Vizinhos: G Tentativas: F, E Permanentes: A, B, D, C 35

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (12, C)

(∞, -)

(11, B) (2, A)

(4, B) (7, D)

Vizinhos: Tentativas: F, E, G Permanentes: A, B, D, C

36

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (12, C)

(∞, -)

(11, B) (2, A)

(4, B) (7, D)

Vizinhos: F, G Tentativas: F, G Permanentes: A, B, D, C, E 37

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (12, C)

(∞, -)

(9, E) (2, A)

(4, B) (7, D)

Vizinhos: G Tentativas: F, G Permanentes: A, B, D, C, E

38

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (8, E)

(∞, -)

(9, E) (2, A)

(4, B) (7, D)

Vizinhos: Tentativas: F, G Permanentes: A, B, D, C, E 39

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (8, E)

(∞, -)

(9, E) (2, A)

(4, B) (7, D)

Vizinhos: H Tentativas: F Permanentes: A, B, D, C, E, G

6

40

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (8, E)

(9, G)

(9, E) (2, A)

(4, B) (7, D)

Vizinhos: Tentativas: F, H Permanentes: A, B, D, C, E, G 41

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (8, E)

(9, G)

(9, E) (2, A)

(4, B) (7, D)

Vizinhos: Tentativas: F Permanentes: A, B, D, C, E, G, H

42

Redes de Computadores

Caminho mais Curto

A

B

C

D E

F

H

5

7

9

2 2

2

3

2

1 1

2

G

(5, A) (8, E)

(9, G)

(9, E) (2, A)

(4, B) (7, D)

Vizinhos: Tentativas: F Permanentes: A, B, D, C, E, G, H 43

Redes de Computadores

Algoritmos de Roteamento

ü  Baseiam-se em uma estrutura de dados chamada TABELA de ROTAS que possui os campos: •  endereço de destino •  custo do caminho (mais curto) até o destino •  linha de saída

ü  Classificam-se de acordo com a forma de atualização da tabela: •  Não adaptativos (Estáticos ou por Rota Fixa) •  Adaptativos (Dinâmicos)

46

Redes de Computadores

Algoritmos de Roteamento Não Adaptativos (Roteamento Estático ou por Caminho Fixo)

ü Uma vez criadas as tabelas, as mesmas não são mais alteradas

ü Caminhos alternativos são utilizados apenas em caso de falhas

ü Aspectos negativos • Probabilidade alta de uma má utilização dos meios

de comunicação • Dificuldade para manutenção e gerência

47

Redes de Computadores

Flooding

A

B

C

D E

F

H H A

7

48

Redes de Computadores

Flooding

A

B

C

D E

F

H

H A

49

Redes de Computadores

Flooding

A

B

C

D E

F

H

H A

H A

50

Redes de Computadores

Flooding

A

B

C

D E

F

H

H A

H A

H A

H A

52

Redes de Computadores

Flooding

ü  Crescimento exponencial do número de pacotes na rede ü  Exige a utilização de algum mecanismo de descarte dos

pacotes para evitar que pacotes fiquem eternamente circulando na rede •  Contador de saltos no cabeçalho de cada pacote •  Nó guarda a informação dos pacotes que já foram repassados

por ele •  Selective flooding

ü  Pouco prático, porém útil em algumas aplicações •  Aplicações militares (robustez do flooding é desejável) •  Atualização de bancos de dados distribuídos •  Métrica de avaliação para outros algoritmos de roteamento

(sempre utiliza o caminho mais curto, pois usa todos os caminhos em paralelo)

55

Redes de Computadores

Algoritmos de Roteamento Adaptativos (Roteamento Dinâmico)

ü Rota escolhida de acordo com o arranjo topológico da rede, ou mesmo com a carga na rede

ü Atualização periódica das tabelas de rota • Modo centralizado • Modo distribuído

60

Redes de Computadores

Algoritmos de Roteamento Dinâmicos Modo Distribuído

ü Os nós trocam entre si suas respectivas informações locais para cálculo das tabelas de rota. • Envio de informações pode ser feito

– Periodicamente – Em resposta a alterações nas informações dos enlaces

ü Exemplos de algoritmos • Distance Vector • Link State

8

61

Redes de Computadores

Distance Vector

62

Redes de Computadores

Distance Vector

ü Também conhecido pelos nomes de • Algoritmo de roteamento de Bellman-Ford • Algoritmo de roteamento de Ford-Fulkerson

ü Algoritmo de roteamento utilizado pelos primeiros protocolos de nível de rede • “Antigo” algoritmo de roteamento da ARPANET

(até 1979) • RIP (Routing Information Protocol, RFC 1058) •  IPX (primeiras versões) • DECnet (primeiras versões)

64

Redes de Computadores

A

B

C

- 0 C

- ∞ A - ∞ B

D

Des

- ∞

Lin C

L3

L2 L1

- ∞ C

- 0 A - ∞ B

D

Des

- ∞

Lin C - ∞ C

- ∞ A - 0 B

D

Des

- ∞

Lin C

Distance Vector

D

L4

- ∞ C

- ∞ A - ∞ B

D

Des

- 0

Lin C

65

Redes de Computadores

Distance Vector

ü  Cada nó possui: •  identificador único •  custo de cada enlace

ü  O nó transmite o seu vetor de distâncias (com destino/custo) para cada um dos seus vizinhos sempre que o seu vetor se modifica (ou periodicamente)

ü  Cada nó mantém o vetor de distâncias mais recente enviado por cada um de seus vizinhos

ü  Cada nó calcula o seu próprio vetor de distâncias, minimizando o custo para cada destino

ü  O vetor de distâncias é recalculado sempre que: •  um vizinho enviar um vetor de distâncias contendo informações

diferentes das anteriores •  houver a queda em um enlace para um vizinho. Nesse caso, o vetor de

distâncias desse vizinho é descartado para que o vetor de distâncias do nó seja recalculado

66

Redes de Computadores

Distance Vector

A

B

C

- ∞ A - ∞ B

C

Des

- 0

Lin C

9

3 5 - 0 A - ∞ B

C

Des

- ∞

Lin C

- ∞ A - 0 B

C

Des

- ∞

Lin C

67

Redes de Computadores

Distance Vector

A

B

C

- ∞ A - ∞ B

C

Des

- 0

Lin C

9

3 5 - 0 A - ∞ B

C

Des

- ∞

Lin C

- ∞ A - 0 B

C

Des

- ∞

Lin C

9

68

Redes de Computadores

Distance Vector

A

B

C

- ∞ A - ∞ B

C

Des

- 0

Lin C

9

3 5 - 0 A - ∞ B

C

Des

- ∞

Lin C

- ∞ A - 0 B

C

Des

- ∞

Lin C

C (3)

0 C ∞ B ∞ A C Des

69

Redes de Computadores

Distance Vector

A

B

C

- ∞ A - ∞ B

C

Des

- 0

Lin C

9

3 5 - 0 A - ∞ B

C

Des

- ∞

Lin C

- ∞ A - 0 B

C

Des

C 3

Lin C

C (3)

0 C ∞ B ∞ A C Des

70

Redes de Computadores

Distance Vector

A

B

C

- ∞ A - ∞ B

C

Des

- 0

Lin C

9

3 5 - 0 A - ∞ B

C

Des

- ∞

Lin C

- ∞ A - 0 B

C

Des

C 3

Lin C

C (3)

0 C ∞ B ∞ A C Des

71

Redes de Computadores

Distance Vector

A

B

C

- ∞ A - ∞ B

C

Des

- 0

Lin C

9

3 5 - 0 A - ∞ B

C

Des

- ∞

Lin C

C (9)

- ∞ A - 0 B

C

Des

C 3

Lin C

C (3)

0 C ∞ B ∞ A C Des

0 C ∞ B ∞ A C Des

72

Redes de Computadores

Distance Vector

A

B

C

- ∞ A - ∞ B

C

Des

- 0

Lin C

9

3 5 - 0 A - ∞ B

C

Des

C 9

Lin C

C (9)

- ∞ A - 0 B

C

Des

C 3

Lin C

C (3)

0 C ∞ B ∞ A C Des

0 C ∞ B ∞ A C Des

73

Redes de Computadores

Distance Vector

A

B

C

- ∞ A - ∞ B

C

Des

- 0

Lin C

9

3 5 - 0 A - ∞ B

C

Des

C 9

Lin C

C (9)

- ∞ A - 0 B

C

Des

C 3

Lin C

C (3)

0 C ∞ B ∞ A C Des

0 C ∞ B ∞ A C Des

10

74

Redes de Computadores

Distance Vector

A

B

C

- ∞ A - ∞ B

C

Des

- 0

Lin C

9

3 5 - 0 A - ∞ B

C

Des

C 9

Lin C

B (5)

C (9)

- ∞ A - 0 B

C

Des

C 3

Lin C

C (3)

0 C ∞ B ∞ A C Des

0 C ∞ B ∞ A C Des

3 C 0 B ∞ A C Des

75

Redes de Computadores

Distance Vector

A

B

C

- ∞ A - ∞ B

C

Des

- 0

Lin C

9

3 5 - 0 A B 5 B

C

Des

B 8

Lin C

B (5)

C (9)

- ∞ A - 0 B

C

Des

C 3

Lin C

C (3)

0 C ∞ B ∞ A C Des

0 C ∞ B ∞ A C Des

3 C 0 B ∞ A C Des

76

Redes de Computadores

Distance Vector

A

B

C

B 8 A B 3 B

C

Des

- 0

Lin C

9

3 5

8 C 5 B 0 A C Des

3 C 0 B 5 A C Des

A (9)

B (3)

- 0 A B 5 B

C

Des

B 8

Lin C

3 C 0 B 5 A C Des

0 C 3 B 8 A C Des

B (5)

C (9)

A 5 A - 0 B

C

Des

C 3

Lin C

8 C 5 B 0 A C Des

A (5)

0 C 3 B 8 A C Des

C (3)

77

Redes de Computadores

Distance Vector

ü Vantagens • Simplicidade • Tempo de convergência baixo quando a rede opera

bem

ü Principal desvantagem • Tempo de convergência muito alto quando ocorrem

problemas na rede – Problema da contagem para infinito (count-to-infinity

problem)

79

Redes de Computadores

Distance Vector

A

B

C

- 0 C Des Lin C

1 C C Des

B

C Des

B 2 Lin C

1 C C Des

B

C Des

C 1 Lin C

0 C C Des

C 2 C C Des

A

80

Redes de Computadores

Distance Vector

A

B

C

- 0 C Des Lin C

1 C C Des

B

C Des

B 2 Lin C

1 C C Des

B

C Des

C 1 Lin C

0 C C Des

C 2 C C Des

A

11

81

Redes de Computadores

Distance Vector

A

B

C

- 0 C Des Lin C

C Des

B 2 Lin C

1 C C Des

B

C Des

C 1 Lin C

2 C C Des

A

82

Redes de Computadores

Distance Vector

A

B

C

- 0 C Des Lin C

C Des

B 2 Lin C

1 C C Des

B

C Des

A 3 Lin C

2 C C Des

A

83

Redes de Computadores

Distance Vector

A

B

C

- 0 C Des Lin C

C Des

B 2 Lin C

1 C C Des

B

C Des

A 3 Lin C

2 C C Des

A

84

Redes de Computadores

Distance Vector

A

B

C

- 0 C Des Lin C

C Des

B 4 Lin C

3 C C Des

B

C Des

A 3 Lin C

2 C C Des

A

85

Redes de Computadores

Distance Vector

A

B

C

- 0 C Des Lin C

C Des

B 4 Lin C

3 C C Des

B

C Des

A 3 Lin C

2 C C Des

A

86

Redes de Computadores

Distance Vector

A

B

C

- 0 C Des Lin C

C Des

B 4 Lin C

3 C C Des

B

C Des

A 5 Lin C

4 C C Des

A

12

87

Redes de Computadores

Distance Vector

ü  Diversas propostas para melhorar a questão do tempo de convergência [Perlman 1999]

• Split Horizon: a distância ao nó X não é reportada na linha por onde pacotes com destino X são encaminhados – poison reverse: a distância é

reportada como sendo infinito ü  Nenhuma das propostas resolve a questão

satisfatoriamente

92

Redes de Computadores

Distance Vector – Split Horizon & Poison Reverse

A

B

C

- 0 C Des Lin C

∞ C C Des

B

C Des

B 2 Lin C

1 C C Des

B

C Des

C 1 Lin C

0 C C Des

C ∞ C C Des

A

93

Redes de Computadores

Distance Vector – Split Horizon & Poison Reverse

A

B

C

- 0 C Des Lin C

∞ C C Des

B

C Des

B 2 Lin C

1 C C Des

B

C Des

C 1 Lin C

0 C C Des

C ∞ C C Des

A

94

Redes de Computadores

Distance Vector – Split Horizon & Poison Reverse

A

B

C

- 0 C Des Lin C

C Des

B 2 Lin C

1 C C Des

B

C Des

C 1 Lin C

∞ C C Des

A

95

Redes de Computadores

Distance Vector – Split Horizon & Poison Reverse

A

B

C

- 0 C Des Lin C

C Des

B 2 Lin C

1 C C Des

B

C Des

- ∞ Lin C

∞ C C Des

A

96

Redes de Computadores

Distance Vector – Split Horizon & Poison Reverse

A

B

C

- 0 C Des Lin C

C Des

B 2 Lin C

1 C C Des

B

C Des

- ∞ Lin C

∞ C C Des

A

13

97

Redes de Computadores

Distance Vector – Split Horizon & Poison Reverse

A

B

C

- 0 C Des Lin C

C Des

- ∞ Lin C

∞ C C Des

B

C Des

- ∞ Lin C

∞ C C Des

A

98

Redes de Computadores

Link State

99

Redes de Computadores

Link State

ü A topologia completa e todos os custos (p.e., retardos medidos experimentalmente) são distribuídos para cada roteador

ü Depois de possuir o mapa completo da topologia, cada roteador pode rodar o algoritmo de Dijkstra para encontrar o caminho mais curto para cada outro roteador

100

Redes de Computadores

Link State

ü  Cada roteador deve 1. Descobrir os seus vizinhos e aprender seus endereços de rede 2. Determinar o custo para alcançar cada um deles. 3. Construir um pacote, denominado link state packet – LSP,

contendo uma lista dos vizinhos com os respectivos custos. 4. Difundir seu LSP para todos os outros roteadores da rede,

armazenando os mais recentes LSPs recebidos dos demais roteadores.

5. Computar a melhor rota (caminho mais curto) para cada um dos roteadores.

101

Redes de Computadores

Link State Identificação dos Vizinhos

ü Enlaces ponto-a-ponto • Troca de pacotes especiais de identificação (pacotes

HELLO) ü LANs conectando roteadores

• Considerar a LAN como um nó artificial (LAN designated router)

(a) Nine routers and a LAN. (b) A graph model of (a). 103

Redes de Computadores

Link State Determinando o custo de cada linha

ü Exemplo com custo=retardo: • Pacote especial ECHO é enviado em cada linha • Outra ponta deve respondê-lo imediatamente •  retardo medido é dividido por 2 •  teste realizado várias vezes, e depois a média é

computada •  considera ou não o tempo de espera na fila (carga

do enlace)

14

105

Redes de Computadores

Link State Construção do LSP

ü  Um nó gera um novo LSP em várias situações: •  Periodicamente •  Logo que descobre um novo vizinho •  Logo que “cai” um enlace de comunicação com um vizinho •  Logo que o custo de um enlace para um vizinho existente é

alterado

Endereço de Origem (Identificação do nó) Número de sequência

Tempo de vida Endereço do

Vizinho Custo

… … Endereço do

Vizinho Custo

Formato do LSP

106

Redes de Computadores

Link State Difusão do LSP

ü Parte mais complexa e crítica do algoritmo • Garantir uma consistência nos conjuntos de LSPs

de cada nó • Evitar que os LSPs se multipliquem de uma forma

desordenada • Garantir a confiabilidade (correção e ordenação)

na entrega dos LSPs ü Evitar a propagação dos LSPs utilizando

informações de roteamento da rede para não criar um problema recursivo • Flooding (adaptado)

108

Redes de Computadores

ü  Flooding para distribuir LSPs ü  cada pacote contém um número de sequência (32 bits)

incrementado a cada novo LSP enviado ü  roteadores guardam pares (roteador_origem,

número_sequência) que recebem ü  quando chega um LSP:

•  se for novo (número de seqüência maior que o armazenado) , é encaminhado em todas as portas exceto a de origem

•  se for duplicata, é descartado •  se tiver número de sequência menor que o armazenado

para aquela origem, é descartado como obsoleto.

Link State Difusão do LSP

110

Redes de Computadores

ü  Problemas: •  reiniciar número de sequência •  se um roteador falhar, perderia a sequência e pacotes seriam

encarados como duplicata •  erro de transmissão no número de sequência

ü  Solução: •  tempo de vida no pacote, decrementado por cada roteador

que o repassa ou o está armazenando •  quando a idade chegar a zero, o roteador deleta os dados

associados ao LSP (vizinhos e custos) e retransmite o cabeçalho do LSP para cada um de seus vizinhos

•  todo LSP deve ser reconhecido (ack), para isso, cada roteador quarda dois flags para cada linha de saída para cada LSP (um indica que o LSP deve ser retransmitido e o outro indica que um ack deve ser enviado)

Link State Difusão do LSP

112

Redes de Computadores

Difusão de LSPs

LSP

Roteador_origem n_seq

tempo_de_vida

Flags

Send Ack

Vizinho_1

1 0

Vizinho_2

0 1

Vizinho_3

0 0

Tabela em cada roteador para manter o controle de envio e recebimentos de LSPs

113

Redes de Computadores

Link State Cálculo das Rotas

ü Feito baseando-se no conjunto de LSPs recebidos ü Cada roteador constrói a topologia completa ü Algoritmo normalmente utilizado é o algoritmo

de Dijkstra, executado localmente, para descobrimento do caminho mais curto

15

114

Redes de Computadores

Link State

A

B

C

C

A B

D

Des Lin C

9

2 5

C

A B

D

Des Lin C

2 C 5 A C Des

2 D 2 B 9 A C Des

B

C

C

A B

D

Des Lin C

D 2

C

A B

D

Des Lin C

2 C C Des

D

9 C 5 B C Des

A 2 C 5 A C Des

2 D 2 B 9 A C Des

B

C

2 C C Des

D

9 C 5 B C Des

A 2 C 5 A C Des

B

9 C 5 B C Des

A

2 D 2 B 9 A C Des

C

2 C C Des

D

2 C 5 A C Des

B

9 C 5 B C Des

A

2 D 2 B 9 A C Des

C

2 C C Des

D

115

Redes de Computadores

Link State

A

B

C

- 0 C

B 7 A B 2 B

D

Des

D 2

Lin C

9

2 5

B 7 C

- 0 A B 5 B

D

Des

B 9

Lin C

C 2 C

A 5 A - 0 B

D

Des

C 4

Lin C

D 2

C 2 C

C 9 A C 4 B

D

Des

- 0

Lin C

A 2 C 5 A C Des

2 D 2 B 9 A C Des

B

C

2 C C Des

D

9 C 5 B C Des

A

2 C 5 A C Des

B

9 C 5 B C Des

A

2 D 2 B 9 A C Des

C

2 C C Des

D

2 C 5 A C Des

2 D 2 B 9 A C Des

B

C

2 C C Des

D

9 C 5 B C Des

A

2 C 5 A C Des

B

9 C 5 B C Des

A

2 D 2 B 9 A C Des

C

2 C C Des

D

116

Redes de Computadores

Link State

ü Exemplos de protocolo de roteamento baseados em link state • “Novo” protocolo de roteamento da ARPANET •  IS-IS (Intermediate System-Intermediate System -

originado do DECnet fase V e adotado como padrão pela ISO - CLNP)

• OSPF (Open Shortest Path First – RFC 2328) • NLSP (NetWare Link Services Protocol) (Novell

IPX) • PNNI (Private Network-to-Network Interface)

119

Redes de Computadores

Distance Vector x Link State

ü Principais vantagens do algoritmo link state • Menor tempo de convergência • Mais fácil inferir a topologia da rede • Mais fácil identificar falhas em enlaces da rede • Permite de forma trivial que a rede opere com

roteamento na origem ü Principal vantagem do algoritmo distance vector

• Simplicidade

121

Redes de Computadores

Roteamento Hierárquico

ü Crescimento das redes pode levar a um crescimento das tabelas que as tornam intratáveis

ü Dividir os nós em regiões, com cada nó capaz de manter as informações de rotas das regiões a que pertence

ü O agrupamento pode ser feito utilizando um número arbitrário de níveis •  regiões, clusters, zonas, grupos, etc.

122

Redes de Computadores

Roteamento Hierárquico

A

B

C

F G

D E

H I

K J

Dest Lin Hops A - - B B 1 C C 1 D C 3 E C 2 F C 4 G C 3 H B 2 I B 3 J B 3 K B 4

Tabela de Rotas de A

16

123

Redes de Computadores

Roteamento Hierárquico

A

B

C

F G

D E

H I

K J

Região 1

Região 4

Região 3

Região 2

Dest Lin Hops A - - B B 1 C C 1

Reg. 2 C 2 Reg. 3 C 3 Reg. 4 B 2 Tabela de Rotas de A

124

Redes de Computadores

Roteamento Hierárquico

127

Redes de Computadores

Roteamento por Difusão (Broadcasting)

ü  Um pacote para cada nó de destino (origem deve ter lista completa de destinos)

ü  Flooding (gera muitos pacotes e consome muita largura de banda)

ü  Pacotes contendo múltiplos destinos (cada roteador encaminha o pacote na melhor rota, adaptando a lista de destinos conforme necessário)

ü  Spanning tree contendo todos os roteadores (às vezes a spanning tree é conhecida, LSR, às vezes não, DVR)

ü  Reverse Path Forwarding

128

Redes de Computadores

Reverse Path Forwarding

H

A

B

C

D

F

E

G

I

J

➽ Um nó só propaga o pacote de difusão recebido de um nó X, se o pacote chegar pe l a l i nha que o nó utilizaria para transmitir dados para o nó X, caso contrár io, o pacote é descartado como sendo duplicata.

129

Redes de Computadores

Reverse Path Forwarding

H

A

B

C

D

F

E

G

I

J

H

A

B

C

D

F

E

G

I

J

Spanning Tree

130

Redes de Computadores

Reverse Path Forwarding

H

A

B

C

D

F

E

G

I

J

F

B D E H I

17

131

Redes de Computadores

Reverse Path Forwarding

H

A

B

C

D

F

E

G

I

J

F

B D E H I

A C I A G J J D J

132

Redes de Computadores

Reverse Path Forwarding

H

A

B

C

D

F

E

G

I

J

F

B D E H I

A C I A G J J D

E A J E G I C

J

133

Redes de Computadores

Broadcast Routing

Reverse path forwarding. (a) A subnet. (b) a Sink tree. (c) The tree built by reverse path forwarding.