Disciplina
Disciplina:
: Redes de Computadores I
Nível de Rede
Profa. Débora Christina Muchaluat Saade
deborams@telecom.uff.br
N
Ní
ível
vel de
de Rede
Rede
Profa. D
Profa. Déébora Christina Muchaluat Saadebora Christina Muchaluat Saade
deborams
deborams
@telecom.
@telecom.
uff
uff
.
.
br
br
5
Redes de Computadores I Redes de Computadores I
N
N
í
í
vel de Rede
vel de Rede
Endere
Endere
ç
ç
amento
amento
Roteamento
Roteamento
Transmissão de unidades de
Transmissão de unidades de
dados do servi
dados do servi
ç
ç
o de rede
o de rede
Segmenta
Segmenta
ç
ç
ão e blocagem
ão e blocagem
Detec
Detec
ç
ç
ão e recupera
ão e recupera
ç
ç
ão de erros
ão de erros
Seq
Seq
ü
ü
encia
encia
ç
ç
ão
ão
Controle de congestionamento
Controle de congestionamento
Servi
Servi
ç
ç
os
os
•
•
orientado à
orientado
à
conexão
conexão
•
•
não orientado à
não orientado
à
conexão
conexão
Aplicação Apresentação Sessão Transporte Rede Enlace Físico6
fig 5-1
7
Redes de Computadores I Redes de Computadores I
Implementation of Connectionless Service
Implementation of Connectionless Service
Routing within a
8
9
Redes de Computadores I Redes de Computadores I
Comparison of Virtual
Comparison of Virtual
-
-
Circuit and Datagram Subnets
Circuit and Datagram Subnets
10
HierHieráárquicorquico
HorizontalHorizontal
Mapeamento do SAP de Rede no endereMapeamento do SAP de Rede no endereçço o da esta
da estaççãoão
•
• VinculaVinculaçção diretaão direta
–
– tabelas de conversãotabelas de conversão
•
• VinculaVinculaçção dinâmicaão dinâmica
–
– Protocolo de resoluProtocolo de resoluçção de endereão de endereççosos
13 Redes de Computadores I Redes de Computadores I
Algoritmos de Roteamento
Algoritmos de Roteamento
Para qual linha de sa
Para qual linha de sa
í
í
da do roteador deve ser
da do roteador deve ser
encaminhado um pacote recebido?
encaminhado um pacote recebido?
Conexão de Circuito Virtual x Datagrama
Conexão de Circuito Virtual x Datagrama
Roteador Cab. L1 L2 L3 L0
14 • • corretocorreto • • simplessimples • • robustorobusto •
• estestáávelvel •
• justojusto • • óótimotimo
O que otimizar?O que otimizar?
•
• minimizar a distância percorrida por cada pacoteminimizar a distância percorrida por cada pacote •
• minimizar o retardo mminimizar o retardo méédio dos pacotesdio dos pacotes •
• maximizar a vazão (maximizar a vazão (throughputthroughput) total da rede) total da rede •
• minimizar o nminimizar o núúmero de saltos (mero de saltos (hopshops))
18 Redes de Computadores I Redes de Computadores I
Algoritmos de Roteamento
Algoritmos de Roteamento
Analogia com estudo de grafos
Analogia com estudo de grafos
•
•
Roteador = Nó
Roteador = N
ó
•
•
Enlace = Aresta
Enlace = Aresta
Medidas de custo nos enlaces
Medidas de custo nos enlaces
•
•
valor unitá
valor unit
ário (salto ou
rio (salto ou
hop
hop
)
)
•
•
distância
distância
•
•
tempo mé
tempo m
édio de espera na fila de transmissão +
dio de espera na fila de transmissão +
tempo de transmissão propriamente dito
tempo de transmissão propriamente dito
•
•
capacidade de transmissão
capacidade de transmissão
•
19 A B C D E F H 5 7 9 2 2 1 3 2 1 2 2 G 20 Redes de Computadores I Redes de Computadores I
The Optimality Principle
The Optimality Principle
(a)
21
Diversos algoritmos na literatura para Diversos algoritmos na literatura para computar o caminho mais curto entre dois n
computar o caminho mais curto entre dois nóós s
de um grafo [Tanenbaum 1996, Dijkstra 1959]
de um grafo [Tanenbaum 1996, Dijkstra 1959]
BaseiaBaseia--se no uso de uma mse no uso de uma méétrica:trica:
•
• nnúúmero de saltos (hops)mero de saltos (hops) •
• distânciadistância •
• capacidade de transmissãocapacidade de transmissão •
• tempo mtempo méédio de espera na fila de transmissão + dio de espera na fila de transmissão +
tempo de transmissão propriamente dito
tempo de transmissão propriamente dito
•
• custo da linha de comunicacusto da linha de comunicaççãoão
22
Redes de Computadores I Redes de Computadores I
Caminho mais Curto
Caminho mais Curto
-
-
Dijkstra
Dijkstra
Cada n
Cada n
ó
ó
tem um r
tem um r
ó
ó
tulo que pode ser:
tulo que pode ser:
•
•
tentativa
tentativa
•
•
permanente
permanente
o r
o r
ó
ó
tulo mant
tulo mant
é
é
m a menor distância ao n
m a menor distância ao n
ó
ó
origem
origem
usando o melhor caminho conhecido
usando o melhor caminho conhecido
(inicialmente
(inicialmente
é
é
infinito)
infinito)
quando descobre
quando descobre
-
-
se que a distância ao n
se que a distância ao n
ó
ó
origem
origem
é
é
a menor dentre as tentativas, faz
a menor dentre as tentativas, faz
-
-
se o r
se o r
ó
ó
tulo
tulo
permanente
23 A B C D E F H 5 7 9 2 2 2 3 2 1 1 2 G (∞∞∞∞, -) (∞∞∞∞, -) (∞∞∞∞, -) (∞∞∞∞, -) (∞∞∞∞, -) (∞∞∞∞, -) (∞∞∞∞, -) 24 Redes de Computadores I Redes de Computadores I
Caminho mais Curto
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
Vizinhos: B, C
Tentativas:
Tentativas:
Permanentes: A
Permanentes: A
26 A B C D E F H 5 7 9 2 2 2 3 2 1 1 2 G (∞∞∞∞, -) (∞∞∞∞, -) (∞∞∞∞, -) (∞∞∞∞, -) (2, A) (∞∞∞∞, -) (∞∞∞∞, -)
Vizinhos: C
Vizinhos: C
Tentativas: B
Tentativas: B
Permanentes: A
Permanentes: A
27 Redes de Computadores I Redes de Computadores ICaminho mais Curto
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:
Vizinhos:
Tentativas: B, C
Tentativas: B, C
Permanentes: A
Permanentes: A
28 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
Vizinhos: D, F
Tentativas: C
Tentativas: C
Permanentes: A, B
Permanentes: A, B
29 Redes de Computadores I Redes de Computadores ICaminho mais Curto
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
Vizinhos: F
Tentativas: C, D
Tentativas: C, D
Permanentes: A, B
Permanentes: A, B
30 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:
Vizinhos:
Tentativas: C, D, F
Tentativas: C, D, F
Permanentes: A, B
Permanentes: A, B
31 Redes de Computadores I Redes de Computadores ICaminho mais Curto
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
Vizinhos: C, E
Tentativas: C, F
Tentativas: C, F
Permanentes: A, B, D
Permanentes: A, B, D
32 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
Vizinhos: E
Tentativas: C, F, E
Tentativas: C, F, E
Permanentes: A, B, D
Permanentes: A, B, D
33 Redes de Computadores I Redes de Computadores ICaminho mais Curto
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:
Vizinhos:
Tentativas: C, F, E
Tentativas: C, F, E
Permanentes: A, B, D
Permanentes: A, B, D
34 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
Vizinhos: G
Tentativas: F, E
Tentativas: F, E
Permanentes: A, B, D, C
Permanentes: A, B, D, C
35 Redes de Computadores I Redes de Computadores ICaminho mais Curto
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:
Vizinhos:
Tentativas: F, E, G
Tentativas: F, E, G
Permanentes: A, B, D, C
Permanentes: A, B, D, C
36 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
Vizinhos: F, G
Tentativas: F, G
Tentativas: F, G
Permanentes: A, B, D, C, E
Permanentes: A, B, D, C, E
37 Redes de Computadores I Redes de Computadores ICaminho mais Curto
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
Vizinhos: G
Tentativas: F, G
Tentativas: F, G
Permanentes: A, B, D, C, E
Permanentes: A, B, D, C, E
38 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:
Vizinhos:
Tentativas: F, G
Tentativas: F, G
Permanentes: A, B, D, C, E
Permanentes: A, B, D, C, E
39 Redes de Computadores I Redes de Computadores ICaminho mais Curto
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
Vizinhos: H
Tentativas: F
Tentativas: F
Permanentes: A, B, D, C, E, G
Permanentes: A, B, D, C, E, G
40 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:
Vizinhos:
Tentativas: F, H
Tentativas: F, H
Permanentes: A, B, D, C, E, G
Permanentes: A, B, D, C, E, G
41 Redes de Computadores I Redes de Computadores ICaminho mais Curto
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:
Vizinhos:
Tentativas: F
Tentativas: F
Permanentes: A, B, D, C, E, G, H
Permanentes: A, B, D, C, E, G, H
42 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:
Vizinhos:
Tentativas: F
Tentativas: F
Permanentes: A, B, D, C, E, G, H
Permanentes: A, B, D, C, E, G, H
43 Redes de Computadores I Redes de Computadores IAlgoritmos de Roteamento
Algoritmos de Roteamento
BaseiamBaseiam--se em uma estrutura de dados se em uma estrutura de dados chamada
chamada TABELA de ROTASTABELA de ROTASque possui os que possui os
campos:
campos:
•
• endereendereçço de destinoo de destino •
• custo do caminho (mais curto) atcusto do caminho (mais curto) atééo destinoo destino •
• linha de salinha de saíídada
ClassificamClassificam--se de acordo com a forma de se de acordo com a forma de atualiza
atualizaçção da tabela:ão da tabela:
•
• Não adaptativos (EstNão adaptativos (Estááticos ou por Rota Fixa)ticos ou por Rota Fixa) •
46
mais alteradas
mais alteradas
Caminhos alternativos são utilizados apenas em
Caminhos alternativos são utilizados apenas em
caso de falhas
caso de falhas
Aspectos negativos
Aspectos negativos
•
•
Probabilidade alta de uma m
Probabilidade alta de uma m
á
á
utilizaç
utiliza
ção dos meios
ão dos meios
de comunica
de comunicaç
ção
ão
•
•
Dificuldade para manutenç
Dificuldade para manuten
ção e gerência
ão e gerência
47 Redes de Computadores I Redes de Computadores I
Flooding
Flooding
A B C D E F H H A48 A B C D E F H H A 49 Redes de Computadores I Redes de Computadores I
Flooding
Flooding
A B C D E F H H A H A50 A B C D E F H H A H A H A H A 52 Redes de Computadores I Redes de Computadores I
Flooding
Flooding
Crescimento exponencial do nCrescimento exponencial do núúmero de pacotes na redemero de pacotes na rede
Exige a utilizaExige a utilizaçção de algum mecanismo de descarte dos ão de algum mecanismo de descarte dos pacotes para evitar que pacotes fiquem eternamente
pacotes para evitar que pacotes fiquem eternamente
circulando na rede
circulando na rede
•
• Contador de saltos no cabeContador de saltos no cabeççalho de cada pacotealho de cada pacote
•
• NNóóguarda a informaguarda a informaçção dos pacotes que jão dos pacotes que jááforam repassados foram repassados por ele
por ele
•
• Selective floodingSelective flooding
Pouco prPouco práático, portico, poréém m úútil em algumas aplicatil em algumas aplicaççõesões
•
• AplicaAplicaçções militares (robustez do flooding ões militares (robustez do flooding éédesejdesejáável)vel)
•
• AtualizaAtualizaçção de bancos de dados distribuão de bancos de dados distribuíídosdos •
• MMéétrica de avaliatrica de avaliaçção para outros algoritmos de roteamento ão para outros algoritmos de roteamento
(sempre utiliza o caminho mais curto, pois usa todos os
(sempre utiliza o caminho mais curto, pois usa todos os
caminhos em paralelo)
55
topol
topol
ó
ó
gico da rede, ou mesmo com a carga na
gico da rede, ou mesmo com a carga na
rede
rede
Atualiza
Atualiza
ç
ç
ão peri
ão peri
ó
ó
dica das tabelas de rota
dica das tabelas de rota
•
•
Modo distribuí
Modo distribu
ído
do
60
Redes de Computadores I Redes de Computadores I Algoritmos de Roteamento Dinâmicos
Algoritmos de Roteamento Dinâmicos
Modo Distribu
Modo Distribu
í
í
do
do
Os n
Os n
ó
ó
s trocam entre si suas respectivas
s trocam entre si suas respectivas
informa
informa
ç
ç
ões locais para c
ões locais para c
á
á
lculo das tabelas de
lculo das tabelas de
rota.
rota.
•
•
Envio de informaç
Envio de informa
ções pode ser feito
ões pode ser feito
––PeriodicamentePeriodicamente –
–Em resposta a alteraEm resposta a alteraçções nas informaões nas informaçções dos enlacesões dos enlaces
Exemplos de algoritmos
Exemplos de algoritmos
•
•
Distance Vector
Distance Vector
•
61
Distance Vector
Distance Vector
62 Redes de Computadores I Redes de Computadores IDistance Vector
Distance Vector
Tamb
Tamb
é
é
m conhecido pelos nomes de
m conhecido pelos nomes de
•
•
Algoritmo de roteamento de Bellman-
Algoritmo de roteamento de Bellman
-Ford
Ford
•
•
Algoritmo de roteamento de Ford-
Algoritmo de roteamento de Ford
-Fulkerson
Fulkerson
Algoritmo de roteamento utilizado pelos
Algoritmo de roteamento utilizado pelos
primeiros protocolos de n
primeiros protocolos de n
í
í
vel de rede
vel de rede
•
•
“Antigo
“
Antigo”
”
algoritmo de roteamento da ARPANET
algoritmo de roteamento da ARPANET
(at
(até
é
1979)
1979)
•
•
RIP (Routing Information Protocol, RFC 1058)
RIP (Routing Information Protocol, RFC 1058)
•
•
IPX (primeiras versões)
IPX (primeiras versões)
•
64 A B C -0 0 C C -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ A A -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B D D Des Des -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ Lin Lin C C L3 L2 L1 -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ C C -0 0 A A -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ B B D D Des Des -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ Lin Lin C C CC ∞∞∞∞∞∞∞∞ - -0 0 B B D D ∞∞∞∞∞∞∞∞ - -D L4 -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ C C -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ A A -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B D D Des Des -0 0 Lin Lin C C 65 Redes de Computadores I Redes de Computadores I
Distance Vector
Distance Vector
Cada nCada nóópossui:possui:
•
• identificador identificador úúniconico
•
• custo de cada enlacecusto de cada enlace
O nO nóótransmite o seu vetor de distâncias (com destino/custo) para transmite o seu vetor de distâncias (com destino/custo) para cada um dos seus vizinhos sempre que o seu vetor se modifica (ou
cada um dos seus vizinhos sempre que o seu vetor se modifica (ou
periodicamente)
periodicamente)
Cada nCada nóómantmantéém o vetor de distâncias mais recente enviado por m o vetor de distâncias mais recente enviado por
cada um de seus vizinhos
cada um de seus vizinhos
Cada nCada nóócalcula o seu prcalcula o seu próóprio vetor de distâncias, minimizando o prio vetor de distâncias, minimizando o
custo para cada destino
custo para cada destino
O vetor de distâncias O vetor de distâncias éérecalculado sempre que:recalculado sempre que:
•
• um vizinho enviar um vetor de distâncias contendo informaum vizinho enviar um vetor de distâncias contendo informaçções ões
diferentes das anteriores
diferentes das anteriores
•
• houver a queda em um enlace para um vizinho. Nesse caso, o vetorhouver a queda em um enlace para um vizinho. Nesse caso, o vetorde de
distâncias desse vizinho
distâncias desse vizinho éédescartado para que o vetor de distâncias do descartado para que o vetor de distâncias do
n
66 A B C -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ A A -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B B C C Des Des -0 0 Lin Lin C C 9 3 5 -0 0 A A -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B B C C Des Des -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ Lin Lin C C -0 0 B B C C ∞∞∞∞∞∞∞∞ - -67 Redes de Computadores I Redes de Computadores I
Distance Vector
Distance Vector
A B C -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ A A -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ B B C C Des Des -0 0 Lin Lin C C 9 3 5 -0 0 A A -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B B C C Des Des -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ Lin Lin C C -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ A A -0 0 B B C C Des Des -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ Lin Lin C C68 A B C -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ A A -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ B B C C Des Des -0 0 Lin Lin C C 9 3 5 -0 0 A A -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B B C C Des Des -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ Lin Lin C C -0 0 B B C C ∞∞∞∞∞∞∞∞ - -C (3) 0 0 C C ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B 69 Redes de Computadores I Redes de Computadores I
Distance Vector
Distance Vector
A B C -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ A A -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B C C Des Des -0 0 Lin Lin C C 9 3 5 -0 0 A A -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B C C Des Des -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ Lin Lin C C -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ A A -0 0 B B C C Des Des C C 3 3 Lin Lin C C C (3) 0 0 C C ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ A A C C Des Des70 A B C -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ A A -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B B C C Des Des -0 0 Lin Lin C C 9 3 5 -0 0 A A -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B B C C Des Des -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ Lin Lin C C -0 0 B B C C 33 CC C (3) 0 0 C C ∞ ∞∞ ∞ ∞ ∞ ∞ ∞ B B 71 Redes de Computadores I Redes de Computadores I
Distance Vector
Distance Vector
A B C -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ A A -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ B B C C Des Des -0 0 Lin Lin C C 9 3 5 -0 0 A A -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ B B C C Des Des -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ Lin Lin C C C (9) -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ A A -0 0 B B C C Des Des C C 3 3 Lin Lin C C C (3) 0 0 C C ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ A A C C Des Des 0 0 C C ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ A A C C Des Des72 A B C -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ A A -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B B C C Des Des -0 0 Lin Lin C C 9 3 5 -0 0 A A -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B C C Des Des C C 9 9 Lin Lin C C C (9) -0 0 B B C C 33 CC C (3) 0 0 C C ∞ ∞∞ ∞ ∞ ∞ ∞ ∞ B B 0 0 C C ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ A A C C Des Des 73 Redes de Computadores I Redes de Computadores I
Distance Vector
Distance Vector
A B C -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ A A -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B C C Des Des -0 0 Lin Lin C C 9 3 5 -0 0 A A -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B C C Des Des C C 9 9 Lin Lin C C C (9) -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ A A -0 0 B B C C Des Des C C 3 3 Lin Lin C C C (3) 0 0 C C ∞ ∞∞ ∞ ∞ ∞ ∞ ∞ B B ∞ ∞∞ ∞ ∞ ∞ ∞ ∞ A A C C Des Des 0 0 C C ∞ ∞∞ ∞ ∞ ∞ ∞ ∞ B B ∞ ∞∞ ∞ ∞ ∞ ∞ ∞ A A C C Des Des74 A B C -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ A A -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B C C Des Des -0 0 Lin Lin C C 9 3 5 -0 0 A A -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ B B C C Des Des C C 9 9 Lin Lin C C B (5) C (9) -0 0 B B C C 33 CC C (3) 0 0 C C ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B 0 0 C C ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ A A C C Des Des 3 3 C C 0 0 B B ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ A A C C Des Des 75 Redes de Computadores I Redes de Computadores I
Distance Vector
Distance Vector
A B C -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ A A -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ B B C C Des Des -0 0 Lin Lin C C 9 3 5 -0 0 A A B B 5 5 B B C C Des Des B B 8 8 Lin Lin C C B (5) C (9) -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ A A -0 0 B B C C Des Des C C 3 3 Lin Lin C C C (3) 0 0 C C ∞ ∞∞ ∞ ∞ ∞ ∞ ∞ B B ∞ ∞∞ ∞ ∞ ∞ ∞ ∞ A A C C Des Des 0 0 C C ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ B B ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ A A C C Des Des 3 3 C C 0 0 B B ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ A A C C Des Des76 A B C B B 8 8 A A B B 3 3 B B C C Des Des -0 0 Lin Lin C C 9 3 5 8 8 C C 5 5 B B 0 0 A A C C Des Des 3 3 C C 0 0 B B 5 5 A A C C Des Des A (9) B (3) -0 0 A A B B 5 5 B B C C Des Des B B 8 8 Lin Lin C C 3 3 C C 0 0 B B 5 5 A A C C Des Des 0 0 C C 3 3 B B 8 8 A A C C Des Des B (5) C (9) -0 0 B B C C 33 CC CC 88 5 5 B B A (5) 0 0 C C 3 3 B B C (3) 77 Redes de Computadores I Redes de Computadores I
Distance Vector
Distance Vector
Vantagens
Vantagens
• •Simplicidade
Simplicidade
••
Tempo de convergência baixo quando a rede opera
Tempo de convergência baixo quando a rede opera
bem
bem
Principal desvantagem
Principal desvantagem
•
•
Tempo de convergência muito alto quando ocorrem
Tempo de convergência muito alto quando ocorrem
problemas na rede
problemas na rede
––Problema da contagem para infinito (countProblema da contagem para infinito (count--toto--infinity infinity
problem
79 A B C -0 0 C C Des
Des CC LinLin
1 1 C C C C Des Des B C C Des Des B B 2 2 Lin Lin C C 1 1 C C C C Des Des B C C Des Des C C 1 1 Lin Lin C C 0 0 C C C C Des Des C 2 2 C C C C Des Des A 80 Redes de Computadores I Redes de Computadores I
Distance Vector
Distance Vector
A B C -0 0 C C DesDes CC LinLin
1 1 C C C C Des Des B C C Des Des B B 2 2 Lin Lin C C 1 1 C C C C Des Des B C C Des Des C C 1 1 Lin Lin C C 0 0 C C C C Des Des C 2 2 C C C C Des Des A
81 A B C -0 0 C C Des
Des CC LinLin C C Des Des B B 2 2 Lin Lin C C 1 1 C C C C Des Des B C C Des Des C C 1 1 Lin Lin C C 2 2 C C C C Des Des A 82 Redes de Computadores I Redes de Computadores I
Distance Vector
Distance Vector
A B C -0 0 C C DesDes CC LinLin C C Des Des B B 2 2 Lin Lin C C 1 1 C C C C Des Des B C C Des Des A A 3 3 Lin Lin C C 2 2 C C C C Des Des A
83 A B C -0 0 C C Des
Des CC LinLin C C Des Des B B 2 2 Lin Lin C C 1 1 C C C C Des Des B C C Des Des A A 3 3 Lin Lin C C 2 2 C C C C Des Des A 84 Redes de Computadores I Redes de Computadores I
Distance Vector
Distance Vector
A B C -0 0 C C DesDes CC LinLin C C Des Des B B 4 4 Lin Lin C C 3 3 C C C C Des Des B C C Des Des A A 3 3 Lin Lin C C 2 2 C C C C Des Des A
85 A B C -0 0 C C Des
Des CC LinLin C C Des Des B B 4 4 Lin Lin C C 3 3 C C C C Des Des B C C Des Des A A 3 3 Lin Lin C C 2 2 C C C C Des Des A 86 Redes de Computadores I Redes de Computadores I
Distance Vector
Distance Vector
A B C -0 0 C C DesDes CC LinLin C C Des Des B B 4 4 Lin Lin C C 3 3 C C C C Des Des B C C Des Des A A 5 5 Lin Lin C C 4 4 C C C C Des Des A
87
Diversas propostas para melhorar a questão Diversas propostas para melhorar a questão do tempo de convergência [Perlman 1999]
do tempo de convergência [Perlman 1999]
•
•
Split Horizon
Split Horizon
: a distância ao n
: a distância ao n
ó
ó
X
X
não
não
é
é
reportada na linha por onde
reportada na linha por onde
pacotes com destino X são
pacotes com destino X são
encaminhados
encaminhados
–
–
poison reverse:
poison reverse:
a distância
a distância
é
é
reportada como sendo infinito
reportada como sendo infinito
Nenhuma das propostas resolve a questão Nenhuma das propostas resolve a questão satisfatoriamente satisfatoriamente 92 Redes de Computadores I Redes de Computadores I
Distance Vector
Distance Vector
–
–
Split Horizon & Poison Reverse
Split Horizon & Poison Reverse
A B C -0 0 C C Des
Des CC LinLin
∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ C C C C Des Des B C C Des Des B B 2 2 Lin Lin C C 1 1 C C C C Des Des B C C Des Des C C 1 1 Lin Lin C C 0 0 C C C C Des Des C ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ C C C C Des Des A
93 A B C -0 0 C C Des
Des CC LinLin
∞ ∞∞ ∞ ∞ ∞ ∞ ∞ C C C C Des Des B C C Des Des B B 2 2 Lin Lin C C 1 1 C C C C Des Des B C C Des Des C C 1 1 Lin Lin C C 0 0 C C C C Des Des C ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ C C C C Des Des A 94 Redes de Computadores I Redes de Computadores I
Distance Vector
Distance Vector
–
–
Split Horizon & Poison Reverse
Split Horizon & Poison Reverse
A B C -0 0 C C Des
Des CC LinLin C C Des Des B B 2 2 Lin Lin C C 1 1 C C C C Des Des B C C Des Des C C 1 1 Lin Lin C C ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ C C C C Des Des A
95 A B C -0 0 C C Des
Des CC LinLin C C Des Des B B 2 2 Lin Lin C C 1 1 C C C C Des Des B C C Des Des -∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ Lin Lin C C ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ C C C C Des Des A 96 Redes de Computadores I Redes de Computadores I
Distance Vector
Distance Vector
–
–
Split Horizon & Poison Reverse
Split Horizon & Poison Reverse
A B C -0 0 C C Des
Des CC LinLin C C Des Des B B 2 2 Lin Lin C C 1 1 C C C C Des Des B C C Des Des -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ Lin Lin C C ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ C C C C Des Des A
97 A B C -0 0 C C Des
Des CC LinLin C C Des Des -∞ ∞∞ ∞ ∞ ∞ ∞ ∞ Lin Lin C C ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ C C C C Des Des B C C Des Des -∞ ∞ ∞ ∞ ∞ ∞∞ ∞ Lin Lin C C ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ C C C C Des Des A 98 Redes de Computadores I Redes de Computadores I
Link State
Link State
99
retardos medidos experimentalmente) são
retardos medidos experimentalmente) são
distribu
distribu
í
í
dos para cada roteador
dos para cada roteador
Depois de possuir o mapa completo da topologia,
Depois de possuir o mapa completo da topologia,
cada roteador pode rodar o algoritmo de
cada roteador pode rodar o algoritmo de
Dijkstra para encontrar o caminho mais curto
Dijkstra para encontrar o caminho mais curto
para cada outro roteador
para cada outro roteador
100 Redes de Computadores I Redes de Computadores I
Link State
Link State
Cada roteador deveCada roteador deve
1.
1. Descobrir os seus vizinhos e aprender seus endereDescobrir os seus vizinhos e aprender seus endereçços de os de rede
rede
2.
2. Determinar o custo para alcanDeterminar o custo para alcanççar cada um deles.ar cada um deles.
3.
3. Construir um pacote, denominado Construir um pacote, denominado link state packetlink state packet––LSPLSP, ,
contendo uma lista dos vizinhos com os respectivos custos.
contendo uma lista dos vizinhos com os respectivos custos.
4.
4. Difundir seu LSP para todos os outros roteadores da rede, Difundir seu LSP para todos os outros roteadores da rede, armazenando os mais recentes LSPs recebidos dos demais
armazenando os mais recentes LSPs recebidos dos demais
roteadores.
roteadores.
5.
5. Computar a melhor rota (caminho mais curto) para cada um Computar a melhor rota (caminho mais curto) para cada um dos roteadores.
101
•
•
Troca de pacotes especiais de identificaç
Troca de pacotes especiais de identifica
ção (pacotes
ão (pacotes
HELLO
HELLO
)
)
LANs conectando roteadores
LANs conectando roteadores
•
•
Considerar a LAN como um nó
Considerar a LAN como um n
ó
artificial (
artificial (
LAN
LAN
designated router
designated router
)
)
(a)
(a)Nine routers and a LAN. Nine routers and a LAN. (b)(b)A graph model of A graph model of (a).(a).
103
Redes de Computadores I Redes de Computadores I
Link State
Link State
Determinando o custo de cada linha
Determinando o custo de cada linha
Exemplo com custo=retardo:
Exemplo com custo=retardo:
•
•
Pacote especial ECHO é
Pacote especial ECHO
é
enviado em cada linha
enviado em cada linha
•
•
Outra ponta deve respondê-
Outra ponta deve respondê
-lo imediatamente
lo imediatamente
•
•
retardo medido é
retardo medido
é
dividido por 2
dividido por 2
•
•
teste realizado vá
teste realizado v
árias vezes, e depois a m
rias vezes, e depois a mé
édia
dia é
é
computada
computada
•
•
considera ou não o tempo de espera na fila (carga
considera ou não o tempo de espera na fila (carga
do enlace)
105
Um nUm nóógera um novo LSP em vgera um novo LSP em váárias situarias situaçções:ões:
•
• PeriodicamentePeriodicamente
•
• Logo que descobre um novo vizinhoLogo que descobre um novo vizinho
•
• Logo que Logo que ““caicai””um enlace de comunicaum enlace de comunicaçção com um vizinho ão com um vizinho
•
• Logo que o custo de um enlace para um vizinho existente Logo que o custo de um enlace para um vizinho existente éé alterado alterado Custo Custo Endere Endereçço do o do Vizinho Vizinho … … … … Custo Custo Endere Endereçço do o do Vizinho Vizinho Tempo de vida Tempo de vida N
Núúmero de seqmero de seqüüênciaência (Identifica
(Identificaçção do não do nóó))
Formato do LSP 106 Redes de Computadores I Redes de Computadores I
Link State
Link State
Difusão do LSP
Difusão do LSP
Parte mais complexa e cr
Parte mais complexa e cr
í
í
tica do algoritmo
tica do algoritmo
•
•
Garantir uma consistência nos conjuntos de LSPs
Garantir uma consistência nos conjuntos de LSPs
de cada n
de cada nó
ó
•
•
Evitar que os LSPs se multipliquem de uma forma
Evitar que os LSPs se multipliquem de uma forma
desordenada
desordenada
•
•
Garantir a confiabilidade (correç
Garantir a confiabilidade (corre
ção e ordena
ão e ordenaç
ção)
ão)
na entrega dos LSPs
na entrega dos LSPs
Evitar a propaga
Evitar a propaga
ç
ç
ão dos LSPs utilizando
ão dos LSPs utilizando
informa
informa
ç
ç
ões de roteamento da rede para não
ões de roteamento da rede para não
criar um problema recursivo
criar um problema recursivo
•
108
cada pacote contcada pacote contéém um nm um núúmero de seqmero de seqüüência (32 bits) ência (32 bits)
incrementado a cada novo LSP enviado
incrementado a cada novo LSP enviado
roteadores guardam pares (roteador_origem, roteadores guardam pares (roteador_origem, n
núúmero_seqmero_seqüüência) que recebemência) que recebem
quando chega um LSP:quando chega um LSP:
•
• se for novo (nse for novo (núúmero de seqmero de seqüüência maior que o ência maior que o
armazenado) ,
armazenado) , ééencaminhado em todas as portas exceto a encaminhado em todas as portas exceto a de origem
de origem
•
• se for duplicata, se for duplicata, éédescartadodescartado
•
• se tiver nse tiver núúmero de seqmero de seqüüência menor que o armazenado ência menor que o armazenado para aquela origem,
para aquela origem, éédescartado como obsoleto.descartado como obsoleto.
110 Redes de Computadores I Redes de Computadores I Problemas: Problemas: •
• reiniciar nreiniciar núúmero de seqmero de seqüüênciaência •
• se um roteador falhar, perderia a seqse um roteador falhar, perderia a seqüüência e pacotes seriam ência e pacotes seriam
encarados como duplicata
encarados como duplicata
•
• erro de transmissão no nerro de transmissão no núúmero de seqmero de seqüüênciaência
SoluSoluçção: ão:
•
• tempo de vida no pacote, decrementado por cada roteador tempo de vida no pacote, decrementado por cada roteador que o repassa ou o est
que o repassa ou o estááarmazenando armazenando •
• quando a idade chegar a zero, o roteador deleta os dados quando a idade chegar a zero, o roteador deleta os dados associados ao LSP (vizinhos e custos) e retransmite o
associados ao LSP (vizinhos e custos) e retransmite o
cabe
cabeççalho do LSP para cada um de seus vizinhosalho do LSP para cada um de seus vizinhos •
• todo LSP deve ser reconhecido (ack), para isso, cada todo LSP deve ser reconhecido (ack), para isso, cada roteador quarda dois flags para cada linha de sa
roteador quarda dois flags para cada linha de saíída para da para cada LSP (um indica que o LSP deve ser retransmitido e o
cada LSP (um indica que o LSP deve ser retransmitido e o
outro indica que um
outro indica que umackackdeve ser enviado)deve ser enviado)
Link State
Link State
Difusão do LSP
112 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 I Redes de Computadores I
Link State
Link State
C
C
á
á
lculo das Rotas
lculo das Rotas
Feito baseando
Feito baseando
-
-
se no conjunto de LSPs recebidos
se no conjunto de LSPs recebidos
Cada roteador constr
Cada roteador constr
ó
ó
i a topologia completa
i a topologia completa
Algoritmo normalmente utilizado
Algoritmo normalmente utilizado
é
é
o algoritmo
o algoritmo
de Dijkstra, executado localmente, para
de Dijkstra, executado localmente, para
descobrimento do caminho mais curto
114 A B C C C A A B B D D Des
Des CC LinLin 9 2 5 C C A A B B D D 2 2 C C 5 5 A A C C Des Des 2 2 D D 2 2 B B 9 9 A A C C Des Des B C C C B B D D D 2 C C A A B B D D Des
Des CC LinLin
2 2 C C C C Des Des D 9 9 C C 5 5 B B C C Des Des A CC 22 5 5 A A C C Des Des 2 2 D D 2 2 B B 9 9 A A C C Des Des B C 2 2 C C C C Des Des D 9 9 C C 5 5 B B C C Des Des A 2 2 C C 5 5 A A C C Des Des B 2 2 D D 2 2 C C C C Des Des D 2 2 C C 5 5 A A C C Des Des B 9 9 C C 5 5 B B C C Des Des A 2 2 D D 2 2 B B 9 9 A A C C Des Des C 2 2 C C C C Des Des D 115 Redes de Computadores I Redes de Computadores I