• Nenhum resultado encontrado

Redes de Computadores I - Princípios de Roteamento. por Helcio Wagner da Silva

N/A
N/A
Protected

Academic year: 2021

Share "Redes de Computadores I - Princípios de Roteamento. por Helcio Wagner da Silva"

Copied!
46
0
0

Texto

(1)

Redes de Computadores I

- Princípios de Roteamento

por

(2)

Classificação dos Algoritmos

• Globais x Descentralizados

– Globais

• Algoritmo

considera

com

dados

de

cálculo

a

conectividade entre todos os nós e todos os custos dos

enlaces

• Também chamados de algoritmos de estado de enlace,

ou LS (Link State)

– Descentralizados

• Nenhum nó tem informação completa sobre os custos

de todos os enlaces da rede

• Também chamados de algoritmos de vetor de

(3)

Classificação dos Algoritmos

• Roteamento estático x roteamento dinâmico

– Roteamento estático

• As rotas mudam muito lentamente ao longo do

tempo, muitas vezes por intervenção humana

– Roteamento dinâmico

• As rotas mudam à medida em que mudam as cargas

de tráfego ou a topologia da rede

(4)

Classificação dos Algoritmos

• Sensíveis à carga x insensíveis à carga

– Sensíveis à carga

• Custo de um enlace varia dinamicamente pra refletir

seu nível de congestionamento

• Se houver um enlace com alto custo, o algoritmo

tenderá a escolher rotas que o evitem

– Insensíveis à carga

• Custo de um enlace não reflete explicitamente seu

nível de congestionamento

(5)

Algoritmos LS

• Estado global é conhecido pela difusão de

datagramas de estado de enlace

• Algoritmo de Dijkstra

– Menor custo entre origem (u) e destino (v)

u

p(v)

v

D(v)

D(v): custo do caminho de menor custo entre u e v p(v): vizinho de v ao longo do caminho de menor custo

(6)

Algoritmo LS

INICIALIZAÇÃO

N’ = {u}

para todos os nós v

se v for um vizinho de u

então D(v) = c(u,v)

senão D(v) = ∞

LAÇO

encontre w não em N’, tal que D(w) é um mínimo

adicione w a N’

atualize D(v) para cada vizinho v de w e não em N’:

D(v) = min(D(v), D(w) + c(w,v))

/* o novo custo para v é o antigo custo para v ou

o custo do menor caminho conhecido até w mais

o custo de w a v */

(7)

Algoritmo LS

u

v

x

y

w

z

5 2 2 1 1 3 3 1 5 2

(8)

Algoritmo LS

Etapa N’ D(v),p(v) D(w),p(w) D(x),p(x) D(y),p(y) D(z),p(z)

0

u

2,u

5,u

1,u

1

ux

2,u

4,x

2,x

2

uxy

2,u

3,y

4,y

3

uxyv

3,y

4,y

4

uxyvw

4,y

(9)

Oscilações com Roteamento de LS

• Roteamento inicial

z

w

y

x

1 1 e 0 1 0 0 1 + e

(10)

Oscilações com Roteamento de LS

• x e y detectam melhor caminho até w em

sentido horário

z

w

y

x

1 1 0 1 2 + e 0 1 + e 0

(11)

Oscilações com Roteamento de LS

• x, y e z detectam melhor caminho até w em

sentido anti-horário

z

w

y

x

1 1 1 + e 0 0 1 0 2 + e

(12)

Oscilações com Roteamento de LS

• x, y e z detectam melhor caminho até w em

sentido horário

z

w

y

x

1 1 0 1 2 + e 0 1 + e 0

(13)

Oscilações com Roteamento de LS

• Sugestões para se evitar a oscilação

1. Fazer com que os custos independessem da

quantidade de tráfego carregada

Inaceitável, já que um dos objetivos do roteamento é

se evitar enlaces congestionados

2. Assegurar que os roteadores não executem o

algoritmo LS ao mesmo tempo

Roteadores tendem a se auto-sincronizar

3. Variar aleatoriamente o instante em que os

roteadores enviem anúncios de enlaces

(14)

Algoritmo DV

• Distribuído

– Cada nó recebe informações de um ou mais vizinhos,

realiza cálculos e, depender dos resultados, os distribui

aos seus vizinhos

• Iterativo

– Processo continua até que mais nenhuma informação seja

trocada entre vizinhos

• Assíncrono

– Não

requer

que

todos

os

nós

o

executem

simultaneamente

(15)

Algoritmo DV

• Cada nó x mantém os seguintes dados:

– Para cada vizinho v, o custo c(x,v) de x até v

– O vetor de distâncias de x, i.e., D

x

= [D

x

(y) | y em

N]

– Os vetores de distâncias de seus vizinhos, i.e., D

v

=

[D

v

(y) | y em N] para cada vizinho v de x

(16)

Algoritmo DV

INICIALIZAÇÃO:

para todos os destinos y em N:

Dx(y) = c(x,y) /* se y não é um vizinho, então c(x,y) = ∞ para cada vizinho w

Dw(y) = ∞ para todos os destinos y em N para cada vizinho w

envia um vetor de distâncias Dx = [Dx(y) | y em N] para w LAÇO

ESPERE (até que ocorra uma mudança no custo do enlace ao vizinho w ou até a recepção de um vetor de distâncias do vizinho w) para cada y em N:

Dx(y) = minv[c(x,v) + Dv(y)] SE Dx(y) mudou para algum destino y

ENTÃO envia um vetor de distâncias Dx = [Dx(y) | y em N] para todos os vizinhos

(17)

Algoritmo DV

x

y

z

2 1 7

(18)

Algoritmo DV

x y z x 0 2 7 y ∞ ∞ ∞ z ∞ ∞ ∞ x y z x ∞ ∞ ∞ y 2 0 1 z ∞ ∞ ∞ x y z x ∞ ∞ ∞ y ∞ ∞ ∞ De Custo até Custo até De De Custo até x y z x y z x 0 2 3 y 2 0 1 z 7 1 0 x y z x 0 2 7 y 2 0 1 z 7 1 0 x y z x 0 2 7 y 2 0 1 De Custo até Custo até De De Custo até x y z x y z x 0 2 3 y 2 0 1 z 3 1 0 x y z x 0 2 3 y 2 0 1 z 3 1 0 x y z x 0 2 3 y 2 0 1 De Custo até Custo até De De Custo até x y z

(19)

Mudança: Custo do Enlace Diminuiu

X

Y

Z

4 1 50 1 x y z x 0 4 5 y 4 0 1 z 5 1 0 x y z x 0 4 5 y 4 0 1 z 5 1 0 x y z x 0 4 5 y 4 0 1 De Custo até Custo até De De Custo até x y z x y z x 0 4 5 y 4 0 1 z 5 1 0 x y z x 0 4 5 y 1 0 1 z 5 1 0 x y z x 0 4 5 y 4 0 1 De Custo até Custo até De De Custo até x y z

(20)

Mudança: Custo do Enlace Diminuiu

x y z x 0 4 5 y 4 0 1 z 5 1 0 x y z x 0 4 5 y 1 0 1 z 5 1 0 x y z x 0 4 5 y 4 0 1 Custo até Custo até x y z x y z x 0 4 5 y 1 0 1 z 5 1 0 x y z x 0 4 5 y 1 0 1 z 5 1 0 x y z x 0 4 5 y 1 0 1 Custo até Custo até x y z x y z x 0 4 5 y 1 0 1 z 2 1 0 x y z x 0 4 5 y 1 0 1 z 2 1 0 x y z x 0 4 5 y 1 0 1 Custo até Custo até x y z

Custo até Custo até Custo até

De De De De De De De De De

(21)

Mudança: Custo do Enlace Aumentou

X

Y

Z

4 1 50 60 x y z y 4 0 1 z 5 1 0 x y z y 4 0 1 z 5 1 0 Custo até De De Custo até y z x y z y 6 0 1 z 5 1 0 x y z y 4 0 1 z 5 1 0 Custo até De De Custo até y z Datagrama é transmitido... ... e ricocheteado!

(22)

Mudança: Custo do Enlace Aumentou

x y z y 6 0 1 z 5 1 0 x y z y 4 0 1 z 5 1 0 Custo até De De Custo até y z x y z y 6 0 1 z 5 1 0 x y z y 6 0 1 z 7 1 0 Custo até De De Custo até y z x y z y 8 0 1 z 7 1 0 x y z y 6 0 1 z 7 1 0 Custo até De De Custo até y z x y z y 51 0 1 z 50 1 0 Custo até y x y z y 51 0 1 z 50 1 0 Custo até y

...

...

De De

(23)

Mudança: Custo do Enlace Aumentou

X

Y

Z

4 9999 10000

Refaça o problema anterior supondo os custos e a mudança ao lado. Saiba porque esse problema é também

chamado de problema de contagem

ao infinito.

(24)

Reversão Envenenada

X

Y

Z

4 1 60 Rota de Z até X passa por Y. DZ(X) =  x y z y 4 0 1 z  1 0 x y z y 4 0 1 z 5 1 0 Custo até De De Custo até y z x y z y 60 0 1 z  1 0 x y z y 4 0 1 z 5 1 0 Custo até De De Custo até y z

(25)

Reversão Envenenada

x y z y 60 0 1 z  1 0 x y z y 4 0 1 z 5 1 0 Custo até De De Custo até y z x y z y 60 0 1 z  1 0 x y z y 60 0 1 z 50 1 0 Custo até De De Custo até y z x y z y 51 0 1 z 50 1 0 x y z y 60 0 1 z 50 1 0 Custo até De De Custo até y z x y z y 51 0 1 z 50 1 0 x y z y  0 1 z 50 1 0 Custo até De De Custo até y z

Deixa de envenenar, pois a rota

Envenena, pois a rota Y → X passa agora por Z

(26)

Comparação entre Algoritmos

PARÂMETRO ESTADO DE ENLACE VETOR DE DISTÂNCIAS

Complexidade das Mensagens

• Mensagens trocadas entre todos os nós

•Alterações de custo propagadas indiscriminadamente

• Mensagens trocadas apenas entre vizinhos

• Alterações de custo

propagadas apenas se alteram caminho mais curto

Convergência Completamente previsível

• Pode ser lenta (contagem até o infinito)

• Pode haver laços de roteamento.

Robustez

• Nós podem anunciar incorretamente caminhos de menor custo para seus vizinhos

• Cálculo isolado das rotas proporciona maior robustez

• Nós podem anunciar incorretamente caminhos de

menor custo para quaisquer destinos

(27)

Roteamento Hierárquico

• Motivos

– Escalabilidade

• Um algoritmo (LS ou DV) sendo executado por todos os

roteadores de uma malha extensa demoraria a

convergir

– Autonomia administrativa

• As empresas normalmente não desejam expor ao

público externo como a sua malha de roteadores está

configurada, por motivos de segurança

(28)

Sistemas Autônomos (SAs)

1c

1a

1b

1d

3c

3b

3a

2c

2a

2b

SA3 SA2 Roteadores de borda

(29)

Protocolos de Roteamento

• Protocolos de roteamento intra-SA

– Executados no âmbito de um SA específico

– Exemplos

• RIP

• OSPF

• Protocolo de roteamento inter-SA

– Executado em todos os SAs

– Exemplo

(30)

Protocolos de Roteamento

1c

1a

1b

1d

SA1 Protocolo Inter-SA Tabela de Protocolo Intra-SA

(31)

RIP

• RIP ↔ Routing Information Protocol

– RIPv1: RFC 1058

– RIPv2 (compatível com a v1): RFC 1723

• Implementa um algoritmo DV

• RIPv1 atribui a todo enlace um custo de 1

– Roteamento reduz-se à resolução do problema de

contagem mínima de saltos

(32)

RIP

• Custo máximo é limitado a 15

– RIP limita-se a SAs que têm menos de 15 saltos de

A

B

D

C

u v w x y z Destino Saltos u 1 v 2 w 2 x 3 y 3 z 2

(33)

RIP

• Tabelas de roteamento são trocadas a cada 30

segundos em anúncios RIP

• Cada anúncio contém

– Uma tabela de até 25 sub-redes

– As distâncias entre o remetente e cada uma

dessas sub-redes

(34)

RIP

A

D

B

X

w x y

z

C

Destino Próximo Roteador Saltos

w A 2

y B 2

z B 7

x - 1

(35)

RIP

A

D

B

X

w x y

z

C

Destino Próximo Roteador Saltos

w A 2

y B 2

z BA 7 5

x - 1

Tabela de roteamento de D (corrigida)

Destino Próximo Roteador Saltos

z C 4 w - 1 x - 1 ... ... ... Anúncio de A Anúncio de A

(36)

RIP

• Se um roteador não recebe nada de seu vizinho

em 180 segundos

1. O vizinho será considerado inatingível

2. O roteador modifica sua tabela de roteamento e

a difunde aos demais vizinhos

• Um roteador pode solicitar informações sobre

o seu vizinho usando mensagens de solicitação

RIP

(37)

Transporte (UDP) Rede (IP)

RIP

Tabela de Roteamento Enlace Físico routed Transporte (UDP) Rede (IP) Tabela de Roteamento Enlace Físico routed 520

(38)

OSPF

• OSPF ↔ Open Shortest Path First

– RFC 2178 (OSPF v2)

• Implementa um algoritmo LS (Dijkstra)

• Custos

dos

enlaces

configurados

pelo

administrador, podendo ser

– Todos iguais a 1

• Roteamento de salto mínimo

– Inversamente proporcionais às capacidades dos

enlaces

(39)

OSPF

• Estados

de

enlaces

são

transmitidos

periodicamente a cada 30 minutos

IP

OSPF Mensagem OSPF..

...encapsulado por um datagrama IP

Protocolo de Nível

(40)

Configuração de um AS OSPF

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

Backbone Área 1 Área 2 Área 3 Roteador de borda Roteador de backbone Roteador de Borda de área

(41)

BGP

• BGP ↔ Border Gateway Protocol

– RFC 1771 (BGP4)

• Objetivos

1. Obter

de

SAs

vizinhos

informações

de

atingibilidade de sub-redes

2. Propagar a informação de atingibilidade a todos

os roteadores internos ao SA

3. Determinar rotas “boas” para sub-redes com

base na informação de atingibilidade e na

(42)

BGP

1c

1a

1b

1d

3c

3b

3a

2c

2a

2b

SA3 SA2 Sessão iBGP Sessão eBGP Conexões TCP Semi-permanentes (porta 179)

(43)

BGP – Políticas de Roteamento

• Como impedir que x repasse tráfego entre B e

w

x

y

A

B

(44)

BGP – Políticas de Roteamento

w

x

y

A

B

C

• É só impedir que x anuncie a rota xCy a B!

Anúncio da Rota xCy

(45)

BGP – Políticas de Roteamento

w

x

y

A

B

C

Anúncio da Rota BAw Anúncio da Rota Aw Anúncio da Rota BAw

(46)

BGP – Políticas de Roteamento

w

x

y

A

B

C

Anúncio da Rota BAw Anúncio da Rota Aw Anúncio da Rota BAw

Referências

Documentos relacionados

1º Os Tribunais de Justiça e os Tribunais Regionais Federais criarão no âmbito de sua jurisdição Comitê Estadual de Saúde, com representação mínima de Magistrados

Acreditamos que refletir essa compreensão (destacável da corrente quantitativa na Geografia), a qual, com algum cuidado explicativo prévio, pode muito bem ser entendida como

Um estudo sobre representações (Jony Sandi de Assunção, 2017), que problematiza a forma como ainda é representada a família nos livros didáticos utilizados nas

Corporate Travel Account Citi MasterCard Por Cartão 150.00.

Propoe-se atraves de um processo de fermentacao semissolida, utilizar o farelo de milho como substrato na producao de amilase, tendo como motivacSo da pesquisa o uso do substrato

In this work, improved curves are the head versus flow curves predicted based on the correlations presented in Table 2 and improved by a shut-off head prediction

O efetivo pagamento da(s) RECEITA(S) FIXA(S) estará condicionado ao início da operação comercial da(s) USINA(S), devendo os recursos financeiros associados a este

Considerando a importância do assunto, a variabilidade existente nas características físicas e a ausência de dados na literatura especializada referente a