capítulo 4: camada de rede

75
4: Camada de Rede 4a-1 Capítulo 4: Camada de Rede 4. 1 Introdução 4.2 Redes baseadas em circuitos virtuais e datagramas 4.3 O que existe dentro de um roteador 4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento hierárquico 4.6 Roteando na Internet RIP OSPF BGP 4.7 Roteamentos broadcast e multicast

Upload: paco

Post on 05-Jan-2016

25 views

Category:

Documents


1 download

DESCRIPTION

4. 1 Introdução 4.2 Redes baseadas em circuitos virtuais e datagramas 4.3 O que existe dentro de um roteador 4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6. 4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento hierárquico - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-1

Capítulo 4: Camada de Rede

4. 1 Introdução 4.2 Redes baseadas

em circuitos virtuais e datagramas

4.3 O que existe dentro de um roteador

4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6

4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento

hierárquico 4.6 Roteando na

Internet RIP OSPF BGP

4.7 Roteamentos broadcast e multicast

Page 2: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-2

1

23

0111

valor no cabeçalhodo pacote que estáchegando

Algoritmo de roteamento

tabela encaminhamento localvalor cabeçalho link saída

0100010101111001

3221

Relacionamento entre roteamento e encaminhamento

Page 3: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-3

u

yx

wv

z2

2

13

1

1

2

53

5

Grafo: G = (N,E)

N = conj. de roteadores = { u, v, w, x, y, z }

E = conj. de enlaces ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }

Abstraindo com grafos

Comentário: a abstração com grafos é útil em outros contextos da rede

Exemplo: P2P, onde N é o conj. dos pares e E é o conj. das conexões TCP

Page 4: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-4

Abstraindo com grafos: custos

u

yx

wv

z2

2

13

1

1

2

53

5 • c(x,x’) = custo do enlace (x,x’)

- p.e., c(w,z) = 5

• custo poderia também ser 1, ou inversamente relacionado à banda,ou inversamente relacionado ao congestionamento

Custo do caminho (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)

Q: Qual o caminho de menor custo entre u e z?

Algoritmo de roteamento: algoritmo que encontra o caminho de menor custo

Page 5: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-5

Classificação de Algoritmos de RoteamentoInformação global ou

descentralizada?Global: todos roteadores têm info.

completa de topologia, custos dos enlaces

algoritmos “estado de enlaces”

Decentralizada: roteador conhece vizinhos

diretos e custos até eles processo iterativo de cálculo,

troca de info. com vizinhos algoritmos “vetor de

distâncias”

Estático ou dinâmico?Estático: rotas mudam

lentamente com o tempo

Dinâmico: rotas mudam mais

rapidamente atualização periódica em resposta a

mudanças nos custos dos enlaces

Page 6: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-6

Capítulo 4: Camada de Rede

4. 1 Introdução 4.2 Redes baseadas

em circuitos virtuais e datagramas

4.3 O que existe dentro de um roteador

4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6

4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento

hierárquico 4.6 Roteando na

Internet RIP OSPF BGP

4.7 Roteamentos broadcast e multicast

Page 7: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-7

Um algoritmo de roteamento de “estado de enlaces” (EE)

Algoritmo de Dijkstra topologia da rede, custos dos

enlaces conhecidos por todos os nós realizado através de “difusão

do estado dos enlaces” todos os nós têm mesma info.

calcula caminhos de menor custo de um nó (“origem”) para todos os demais gera tabela de rotas para

aquele nó iterativo: depois de k iterações,

sabemos menor custo p/ k destinos

Notação: c(i,j): custo do enlace do nó

i ao nó j. custo é infinito se não forem vizinhos diretos

D(V): valor corrente do custo do caminho da origem ao destino V

p(V): nó antecessor no caminho da origem ao nó V, imediatamente antes de V

N’: conjunto de nós cujo caminho de menor custo já foi determinado

Page 8: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-8

O algoritmo de Dijkstra

1 Inicialização: 2 N’ = {u} 3 para todos os nós v 4 se v for adjacente ao nó u 5 então D(v) = c(u,v) 6 senão D(v) = ∞ 7 8 Repete9 determina w não contido em N’ tal que D(w) é o mínimo 10 adiciona w ao conjunto N’ 11 atualiza D(v) para todo v adjacente ao nó w e ainda não em N’: 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* novo custo ao nó v ou é o custo velho a v ou o custo do 14 menor caminho ao nó w, mais o custo de w a v */ 15 até que todos nós estejam em N’

Page 9: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-9

Algoritmo de Dijkstra: exemplo

Step012345

N'u

uxuxy

uxyvuxyvw

uxyvwz

D(v),p(v)2,u2,u2,u

D(w),p(w)5,u4,x3,y3,y

D(x),p(x)1,u

D(y),p(y)∞

2,x

D(z),p(z)∞ ∞

4,y4,y4,y

u

yx

wv

z2

2

13

1

1

2

53

5

Page 10: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-10

Algoritmo de Dijkstra: exemplo

u

yx

wv

z

Árvore de caminhos mínimos resultante originada em u:

vx

y

w

z

(u,v)(u,x)

(u,x)

(u,x)

(u,x)

destino enlace

Tabela de encaminhamento resultante em u:

Page 11: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-11

Algoritmo de Dijkstra, discussãoComplexidade algoritmica: n nós a cada iteração: precisa checar todos nós, w, não em N’ n*(n+1)/2 comparações => O(n2) implementações mais eficientes possíveis: O(nlogn)

Oscilações possíveis: p.ex., custo do enlace = carga do tráfego carregado

A

D

C

B1 1+e

e0

e

1 1

0 0

A

D

C

B2+e 0

001+e1

A

D

C

B0 2+e

1+e10 0

A

D

C

B2+e 0

e01+e1

inicialmente… recalcula

rotas… recalcula … recalcula

Page 12: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-12

Capítulo 4: Camada de Rede

4. 1 Introdução 4.2 Redes baseadas

em circuitos virtuais e datagramas

4.3 O que existe dentro de um roteador

4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6

4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento

hierárquico 4.6 Roteando na

Internet RIP OSPF BGP

4.7 Roteamentos broadcast e multicast

Page 13: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-13

Algoritmo Vetor de DistânciasEquação de Bellman-Ford (programação

dinâmica)Definedx(y) := custo do caminho de menor custo entre

x e y

Então

dx(y) = min {c(x,v) + dv(y) }

onde min é tomado entre todos os vizinhos v de x

v

Page 14: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-14

Exemplo com Bellman-Ford

u

yx

wv

z2

2

13

1

1

2

53

5 Claramente, dv(z) = 5, dx(z) = 3, dw(z) = 3

du(z) = min { c(u,v) + dv(z), c(u,x) + dx(z), c(u,w) + dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4

O nó que leva ao custo mínimo é o próximo passoao longo do caminho mais curto➜ tab. de encaminhamento

A equação B-F diz:

Page 15: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-15

Algoritmo Vetor de Distâncias Dx(y) = estimativa do menor custo entre x

e y Vetor de distâncias: Dx = [Dx(y): y є N ] Nó x sabe o custo para cada vizinho v:

c(x,v) Nó x mantém Dx = [Dx(y): y є N ] Nó x mantém ainda os vetores de

distâncias dos seus vizinhos Para cada vizinho v, x mantém Dv = [Dv(y): y є N ]

Page 16: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-16

Algoritmo Vetor de Distâncias (4)

Idéia básica: Cada nó envia periodicamente o seu próprio

vetor de distâncias estimado para os vizinhos Quando um nó x recebe um novo VD estimado

de um vizinho, ele atualiza o seu VD usando a eq. B-F:Dx(y) ← minv{c(x,v) + Dv(y)} p/ cada nó y ∊ N

Sob condições mínimas, naturais, a estimativa Dx(y) converge para o menor custo real dx(y)

Page 17: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-17

Algoritmo Vetor de Distâncias (5)Iterativo, assíncrono: cada

iteração local causada por: mudança do custo do enlace

local mensagem do vizinho: mudança

de caminho de menor custo para algum destino

Distribuído: cada nó avisa a seus vizinhos

apenas quando muda seu caminho de menor custo para qualquer destino os vizinhos então avisam a seus

vizinhos, se for necessário

espera (mudança no custo de mensagem do vizinho)

recalcula tabela de distâncias

se mudou o caminho de menor custo para qq.

destino, avisa vizinhos

Cada nó:

Page 18: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-18

x y z

xyz

0 2 7

∞ ∞ ∞∞ ∞ ∞

ori

gem

custo para

ori

gem

ori

gem

x y z

xyz

0 2 3

ori

gem

custo parax y z

xyz

0 2 3

ori

gem

custo para

x y z

xyz

∞ ∞

∞ ∞ ∞

custo parax y z

xyz

0 2 7

ori

gemcusto para

x y z

xyz

0 2 3

ori

gem

custo para

x y z

xyz

0 2 3

ori

gem

custo parax y z

xyz

0 2 7

ori

gem

custo para

x y z

xyz

∞ ∞ ∞

7 1 0

custo para

∞2 0 1

∞ ∞ ∞

2 0 17 1 0

2 0 17 1 0

2 0 1

3 1 0

2 0 13 1 0

2 0 1

3 1 0

2 0 1

3 1 0

tempo

x z12

7

y

tabela nó x

tabela nó y

tabela nó z

Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2

Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3

Page 19: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-19

Vetor de Distâncias: mudança no custo dos enlacesMudança no custo dos enlaces: nó detecta mudança no custo do

enlace local atualiza tabela de distâncias se mudou o VD, avisa aos vizinhos

X Z14

50

Y1

“boasnotíciaschegamlogo”

No tempo t0, y detecta a mudança no custo do enlace, atualiza oseu VD e informa os vizinhos.

No tempo t1, z recebe a atualização de y e atualiza a sua tabela. Computa o novo menor custo p/ x e envia o seu VD p/ os vizinhos.

No tempo t2, y recebe a atualização de z e atualiza a sua tabela. Os custos mínimos de y não mudam e portanto y não envia nenhuma mensagem para z.

Page 20: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-20

Vetor de Distâncias: mudança no custo dos enlaces

Mudança no custo dos enlaces: boas notícias chegam logo más notícias demoram para chegar - problema da “contagem ao infinito”! 44 iterações antes do algoritmo estabilizar: veja texto

Reverso envenenado: Se z roteia via y p/ chegar a x:

z informa p/ y que sua distância p/ x é infinita (p/ que y não roteie p/ x via z) será que isto resolve completamente o problema da contagem ao infinito?

x z14

50

y60

Page 21: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-21

Comparação dos algoritmos EE e VD

Complexidade de mensagens EE: com n nós, E enlaces, O(nE)

mensagens enviadas VD: trocar mensagens apenas

entre vizinhos varia o tempo de convergência

Rapidez de Convergência EE: algoritmo O(n2) requer O(nE)

mensagens podem ocorrer oscilações

VD: varia tempo para convergir podem ocorrer rotas cíclicas problema de contagem ao

infinito

Robustez: o que acontece se houver falha do roteador?

EE: nó pode anunciar valores

incorretos de custo de enlace

cada nó calcula sua própria tabela

VD: um nó VD pode anunciar um

custo de caminho incorreto a tabela de cada nó é usada

pelos outros nós• um erro propaga pela rede

Page 22: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-22

Capítulo 4: Camada de Rede

4. 1 Introdução 4.2 Redes baseadas

em circuitos virtuais e datagramas

4.3 O que existe dentro de um roteador

4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6

4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento

hierárquico 4.6 Roteando na

Internet RIP OSPF BGP

4.7 Roteamentos broadcast e multicast

Page 23: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-23

Roteamento Hierárquico

escala: com 200 milhões de destinos:

impossível guardar todos destinos na tabela de rotas!

troca de tabelas de rotas afogaria os enlaces!

autonomia administrativa

internet = rede de redes cada admin de rede pode

querer controlar roteamento em sua própria rede

Neste estudo de roteamento fizemos uma idealização: todos os roteadores idênticos rede “não hierarquizada” (“flat”)… não é verdade, na prática

Page 24: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-24

Roteamento Hierárquico

agregar roteadores em regiões, “sistemas autônomos” (SAs)

roteadores no mesmo SA usam o mesmo protocolo de roteamento protocolo de roteamento

“intra-SA” roteadores em SAs

diferentes podem usar diferentes protocolos de roteamento intra-SA

Roteador de borda Enlace direto para

roteador em outro SA

Page 25: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-25

SAs interconectados

3b

1d

3a

1c2aSA3

SA1

SA21a

2c2b

1b

Algoritmo deroteamentointra-AS

Algoritmo deroteamentointra-AS

Tabela deencaminhamento

3c

Tab. de encaminhamento é configurada pelos algoritmos intra-SA e inter-SA Intra-SA define entradas

p/ dest. internos Inter-SA e Intra-SA define

entradas p/ dest. externos

Page 26: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-26

3b

1d

3a

1c2aSA3

SA1

SA21a

2c2b

1b

3c

Tarefas do roteamento inter-SA Suponha que um

roteador em SA1 recebe um datagrama cujo destino está fora de SA1 Roteador deveria

encaminhar o pacote p/ um dos roteadores de borda, mas qual?

SA1 precisa:1. aprender quais

destinos são alcançáveis via SA2 e quais são alcançáveis via SA3

2. propagar estas info. de alcançabilidade para todos os roteadores em SA1

Tarefas do rot. inter-SA!

Page 27: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-27

Exemplo: definindo a tabela de encaminhamento no roteador 1d

Suponha que SA1 aprende através do protocolo inter-SA que a sub-rede x é alcançável via SA3 (rot. de borda 1c) mas não via SA2.

Protocolo Inter-SA propaga info. de alcançabilidade para todos os roteadores internos.

Roteador 1d determina através de info. de roteamento intra-SA que sua interface I está no caminho mínimo para 1c.

Coloca par (x,I) na tab. de encaminhamento.

Page 28: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-28

Aprende através do protocolo inter-SA que a sub-rede x é

alcançável via múltiplos roteadores

de borda

Usa info. de roteamento do

protocolo intra-SA p/ determinar os

caminhos mínimos p/ cada rot. de borda

Roteamento batata quente: escolhe o roteador de borda

que tem o caminho de menor custo

Determina da tab. deencaminhamento a

interface I que leva aorot. de borda de menor custo. Insere (x,I) na

tab. de encaminhamento

Exemplo: escolhendo entre múltiplos SAs

Suponha agora que SA1 aprende através do protocolo inter-SA que a sub-rede x é alcançável via SA3 e via SA2.

Para configurar a tabela de encaminhamento, o roteador 1d deve determinar para qual roteador de borda ele deve enviar pacotes com destino x .

Isto também é tarefa do protocolo de roteamento inter-SA!

Roteamento batata quente (hot potato): envia pacote para o roteador de borda mais próximo.

Page 29: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-29

Capítulo 4: Camada de Rede

4. 1 Introdução 4.2 Redes baseadas

em circuitos virtuais e datagramas

4.3 O que existe dentro de um roteador

4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6

4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento

hierárquico 4.6 Roteando na

Internet RIP OSPF BGP

4.7 Roteamentos broadcast e multicast

Page 30: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-30

Roteamento Intra-SA

Também conhecidos como Interior Gateway Protocols (IGP)

Os protocolos de roteamento Intra-SA mais comuns são:

RIP: Routing Information Protocol

OSPF: Open Shortest Path First

IGRP: Interior Gateway Routing Protocol (proprietário da Cisco)

Page 31: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-31

Capítulo 4: Camada de Rede

4. 1 Introdução 4.2 Redes baseadas

em circuitos virtuais e datagramas

4.3 O que existe dentro de um roteador

4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6

4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento

hierárquico 4.6 Roteando na

Internet RIP OSPF BGP

4.7 Roteamentos broadcast e multicast

Page 32: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-32

RIP (Routing Information Protocol)

Algoritmo vetor de distâncias Incluído na distribuição do BSD-UNIX em 1982 Métrica de distância: # de enlaces (máx = 15

enlaces)

DC

BA

u v

w

x

yz

destino saltos u 1 v 2 w 2 x 3 y 3 z 2

Do roteador A p/ sub-redes:

Page 33: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-33

Anúncios RIP

Vetores de distâncias: trocados a cada 30 seg via Mensagem de Resposta (também chamada de anúncio)

Cada anúncio: rotas para até 25 redes destino dentro do SA

Page 34: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-34

Exemplo RIP

Rede Destino Próximo Roteador No. de enlaces ao destino w A 2

y B 2 z B 7

x -- 1…. …. ....

w x y

z

A

C

D B

Tabela de rotas em D

...

Page 35: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-35

Exemplo RIP

Rede Destino Próximo Roteador No. de enlaces ao destino w A 2

y B 2 z B A 7 5

x -- 1…. …. ....

w x y

z

A

C

D B

Tabela de rotas em D

...

Dest Prox Saltos w - 1 x - 1 z C 4 …. … ...

Anúncios deA para D

Page 36: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-36

RIP: Falha e Recuperação de

Enlaces Se não for recebido anúncio novo durante 180 seg

--> vizinho/enlace declarados mortos rotas via vizinho invalidadas novos anúncios enviados aos vizinhos na sua vez, os vizinhos publicam novos

anúncios (se foram alteradas as suas tabelas) informação sobre falha do enlace rapidamente

propaga para a rede inteira reverso envenenado usado para impedir rotas

cíclicas (ping-pong) (distância infinita = 16 enlaces)

Page 37: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-37

RIP: Processamento de tabelas

Tabelas de roteamento RIP gerenciadas por processo de nível de aplicação chamado route-d (routing daemon)

anúncios enviados em pacotes UDP, repetidos periodicamente

Page 38: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-38

Capítulo 4: Camada de Rede

4. 1 Introdução 4.2 Redes baseadas

em circuitos virtuais e datagramas

4.3 O que existe dentro de um roteador

4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6

4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento

hierárquico 4.6 Roteando na

Internet RIP OSPF BGP

4.7 Roteamentos broadcast e multicast

Page 39: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-39

OSPF (Open Shortest Path First)

“open” (aberto): publicamente disponível Usa algoritmo do Estado de Enlaces

disseminação de pacotes EE mapa da topologia a cada nó cálculo de rotas usando o algoritmo de Dijkstra

Anúncio de OSPF inclui uma entrada por roteador vizinho

Anúncios disseminados para SA inteiro (via inundação) Carregados em mensagens OSPF diretamente sobre IP

(ao invés de TCP ou UDP)

Page 40: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-40

OSPF: características “avançadas” (não existentes no RIP)

Segurança: todas mensagens OSPF autenticadas (para impedir intrusão maliciosa)

Caminhos Múltiplos de custos iguais permitidos (o RIP permite e usa apenas uma rota)

Para cada enlace, múltiplas métricas de custo para TOS diferentes (p.ex, custo de enlace de satélite colocado como “baixo” para melhor esforço; “alto” para tempo real)

Suporte integrado para ponto a ponto e multiponto: OSPF multiponto (MOSPF) usa mesma base de

dados de topologia usado por OSPF OSPF hierárquico em domínios grandes.

Page 41: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-41

OSPF Hierárquico

Page 42: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-42

OSPF Hierárquico Hierarquia de dois níveis: área local, backbone.

Anúncios de EE disseminados apenas na mesma área cada nó possui topologia detalhada da área; apenas

sabe a direção (caminho mais curto) para redes em outras áreas.

Roteador de fronteira de área: “sumariza” distâncias às redes na sua própria área, anuncia a outros roteadores de fronteira de área.

Roteadores do backbone: realizam roteamento OSPF limitado ao backbone.

Roteadores de fronteira: ligam a outros SAs.

Page 43: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-43

Capítulo 4: Camada de Rede

4. 1 Introdução 4.2 Redes baseadas

em circuitos virtuais e datagramas

4.3 O que existe dentro de um roteador

4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6

4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento

hierárquico 4.6 Roteando na

Internet RIP OSPF BGP

4.7 Roteamentos broadcast e multicast

Page 44: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-44

Roteamento inter-SA na Internet: BGP

BGP (Border Gateway Protocol): o padrão de fato

BGP provê para cada SA meios de:1. Obter informação de alcançabilidade de sub-redes a

partir de SAs vizinhos.2. Propagar informação de alcançabilidade para todos

os roteadores internos ao SA.3. Determinar “boas” rotas para sub-redes a partir de

informação de alcançabilidade e políticas.

Permite que uma sub-rede anuncie a sua existência para o resto da Internet: “Estou aqui!”

Page 45: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-45

Fundamentos do BGP Par de roteadores (pares BGP) trocam info. de roteamento

através de conexões TCP semi-permanentes TCP: sessões BGP Note que sessões BGP não correspondem a enlaces físicos. Quando um SA2 anuncia um prefixo para SA1, SA2 está

prometendo que vai enviar àquele prefixo quaisquer datagramas destinados ao mesmo. SA2 pode agregar prefixos nos seus anúncios

3b

1d

3a

1c2aSA3

SA1

SA21a

2c

2b

1b

3c

eBGP session

iBGP session

Page 46: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-46

Distribuindo informação de alcançabilidade Com a sessão eBGP 3a-para-1c, SA3 envia informação de

alcançabilidade de prefixos para SA1. 1c pode usar iBGP para distribuir esta nova informação

de alcance de prefixo para todos os roteadores em SA1. 1b pode então re-anunciar a nova informação de alcance

para SA2 através da sessão eBGP 1b-para-2a. Quando um roteador aprende sobre um novo prefixo, ele

cria uma entrada para o prefixo na sua tabela de encaminhamento.

3b

1d

3a

1c2aSA3

SA1

SA21a

2c

2b

1b

3c

eBGP session

iBGP session

Page 47: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-47

Atributos de caminho & Rotas BGP Quando um prefixo é anunciado, o anúncio

inclui atributos BGP. prefixo + atributos = “rota”

Dois atributos importantes: AS-PATH: contém os SAs pelos quais o anúncio para

o prefixo passou: AS 67 AS 17 NEXT-HOP: indica o roteador específico, interno ao

SA, que leva ao SA do próximo salto. (Pode haver múltiplos enlaces do SA atual para o SA do próximo salto)

Quando um roteador de borda recebe um anúncio de rota, usa a política de importação para aceitar/declinar.

Page 48: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-48

Seleção de rota do BGP

Roteador pode aprender sobre mais de 1 rota para algum prefixo. Ele deve selecionar a rota.

Regras de eliminação:1. Valor do atributo preferência local

associado à rota: decisão política2. Menor AS-PATH 3. Roteador NEXT-HOP mais próximo:

roteamento batata quente4. Critérios adicionais

Page 49: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-49

Mensagens BGP

Mensagens BGP trocadas usando TCP. Mensagens BGP:

OPEN: abre conexão TCP ao roteador par e autentica remetente

UPDATE: anuncia caminho novo (ou retira velho)

KEEPALIVE mantém conexão viva na ausência de UPDATES; também reconhece pedido OPEN

NOTIFICATION: reporta erros na mensagem anterior; também usada para fechar conexão

Page 50: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-50

Políticas de roteamento BGP

A,B,C são redes de provedores X,W,Y são clientes (das redes de provedores) X com duas interfaces: conectadas a duas redes

X não quer rotear de B para C .. então X não vai anunciar para B a rota para

C

A

B

C

W X

Y

legenda:

rede cliente

rede provedor

Page 51: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-51

Políticas de roteamento BGP (2)

A anuncia para B o caminho AW B anuncia para X o caminho BAW Deveria B anunciar para C o caminho BAW?

Nem pensar! B não obtém “rendimento” pelo roteamento CBAW, já que nem W ou C são clientes de B

B quer forçar C a rotear para W via A B quer rotear apenas para/dos seus clientes!

A

B

C

W X

Y

legenda:

rede cliente

rede provedor

Page 52: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-52

Por quê há diferenças entre

roteamento Intra- e Inter-SA? Políticas: Inter-SA: administração quer controle sobre como

tráfego roteado, quem transita através da sua rede. Intra-AS: administração única, logo são desnecessárias

decisões políticas

Escalabilidade: roteamento hierárquico economiza tamanho de tabela

de rotas, reduz tráfego de atualização

Desempenho: Intra-AS: pode focar em desempenho Inter-AS: políticas podem ser mais importantes do que

desempenho

Page 53: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-53

Capítulo 4: Camada de Rede

4. 1 Introdução 4.2 Redes baseadas

em circuitos virtuais e datagramas

4.3 O que existe dentro de um roteador

4.4 IP: Internet Protocol Formato do datagrama Endereçamento IPv4 ICMP IPv6

4.5 Algoritmos de roteamento Estado de enlaces Vetor de distâncias Roteamento

hierárquico 4.6 Roteando na

Internet RIP OSPF BGP

4.7 Roteamentos broadcast e multicast

Page 54: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-54

R1

R2

R3 R4

duplicação na fonte

R1

R2

R3 R4

duplicaçãodentro da rede

criação/transmissão duplicada

duplicação

Roteamento Broadcast Envia pacotes de uma para todos os outros nós Duplicação na fonte é ineficiente:

Duplicação na fonte: como a fonte determina os endereços dos receptores

duplicação

Page 55: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-55

Duplicação dentro da rede

Inundação: quando nó recebe pacotes de broadcast, envia cópia para todos os vizinhos Problemas: ciclos e tempestades de broadcast

Inundação controlada: nó somente faz broadcast com o pacote se já não tiver feito antes com o mesmo pacote Nó mantém registro sobre ids dos pacotes para os

quais já fez broadcast Ou adota envio pelo caminho reverso (Reverse Path

Forwarding - RPF): só encaminha pacote se chegou pelo caminho mínimo entre o nó e a fonte

Árvores geradoras (spanning trees) Nenhum pacote redundante recebido por nenhum nó

Page 56: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-56

A

B

G

DE

c

F

A

B

G

DE

c

F

(a) Broadcast iniciado em A (b) Broadcast iniciado em D

Árvore Geradora

Primeiro construa uma árvore geradora Nós encaminham cópias somente ao

longo da árvore geradora

Page 57: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-57

A

B

G

DE

c

F1

2

3

4

5

(a) Construção passo-a-passo da árvore geradora

A

B

G

DE

c

F

(b) Árvore geradora construída

Árvore Geradora: criação Nó central Cada nó envia mensagem de junção ponto-a-

ponto (unicast) para o nó central Mensagem encaminhada até que chegue em um nó

já pertencente à árvore geradora

Page 58: Capítulo 4: Camada de Rede

Roteamento Multicast: definição do problema Meta: achar uma árvore (ou árvores) conectando

todos os roteadores com membros locais do grupo mcast árvore: nem todos os caminhos entre roteadores são usados baseada na origem: árvore distinta de cada fonte p/

receptores compartilhada: mesma árvore usada por todos os membros

do grupo

Árvore compartilhada Árvores baseadas na origem

Page 59: Capítulo 4: Camada de Rede

Abordagens para a construção de árvores mcast Abordagens: baseada na origem: uma árvore por fonte

árvores de caminhos mínimos envio pelo caminho reverso

compartilhada: grupo usa uma árvore única árvore de custo mínimo (Steiner) árvore baseada em um centro

…primeiro olharemos as abordagens básicas, e depois protocolos específicos que adotam estas abordagens

Page 60: Capítulo 4: Camada de Rede

Árvore de Caminhos Mínimos

Árvore de encaminhamento mcast: árvore composta pelos caminhos mínimos da fonte para todos os receptores Algoritmo de Dijkstra

R1

R2

R3

R4

R5

R6 R7

21

6

3 4

5

i

roteador com membro dogrupo atrelado

roteador sem membro dogrupo atrelado

enlace usado p/ envio,i indica a ordem de adiçãodo enlace pelo algoritmo

LEGENDAS: fonte

Page 61: Capítulo 4: Camada de Rede

Envio pelo Caminho Reverso

se (datagrama mcast recebido por um enlace de entrada no caminho mínimo de volta para a fonte)

então inunda o datagrama por todos os enlaces de saída

senão ignora o datagrama

Baseia-se no conhecimento do roteador sobre caminhos mínimos unicast dele para a fonte

cada roteador tem um comportamento de envio simples:

Page 62: Capítulo 4: Camada de Rede

Envio pelo Caminho Reverso: exemplo

• resultado é uma árvore de caminho mínimo reversa específica para a fonte- pode ser uma escolha ruim para enlaces

assimétricos

R1

R2

R3

R4

R5

R6 R7datagrama vai ser encaminhado

LEGENDAS: fonte

datagrama não vai ser encaminhado

roteador com membro dogrupo atrelado

roteador sem membro dogrupo atrelado

Page 63: Capítulo 4: Camada de Rede

Envio pelo Caminho Reverso: poda Árvore de encaminhamento contém sub-árvores sem

nenhum membro do grupo multicast não há necessidade de enviar datagramas pelas

sub-árvores mensagens de “poda” enviadas para trás pelo

roteador sem nenhum membro do grupo pra frente

R1

R2

R3

R4

R5

R6 R7

mensagem de poda

LEGENDAS: fonte

enlace com envio mcast

P

P

P

roteador com membro dogrupo atrelado

roteador sem membro dogrupo atrelado

Page 64: Capítulo 4: Camada de Rede

Árvore de Steiner

Árvore de Steiner: árvore de custo mínimo conectando todos os roteadores com membros locais do grupo mcast

problema NP-completo existem excelentes heurísticas não é usada na prática:

complexidade computacional necessita informações sobre a rede inteira monolítica: recalculada sempre que um

roteador precisa ser acrescentado/retirado

Page 65: Capítulo 4: Camada de Rede

Árvores baseadas em centros

árvore de envio única compartilhada por todos um roteador eleito como “centro” da árvore para juntar-se:

roteador de fora envia msg-junção unicast endereçada ao roteador central

msg-junção é “processada” pelos roteadores intermediários e encaminhada para o centro

msg-junção ou chega a um ramo da árvore já existente para este centro, ou chega ao centro

caminho seguido por msg-junção se torna novo ramo da árvore para este roteador

Page 66: Capítulo 4: Camada de Rede

Árvores baseadas em centros: exemplo

Suponha que R6 foi escolhido como centro:

R1

R2

R3

R4

R5

R6 R7

ordem em que as mensagens de junção são geradas

LEGENDA

2

1

3

1

roteador com membro dogrupo atrelado

roteador sem membro dogrupo atrelado

Page 67: Capítulo 4: Camada de Rede

Roteamento Multicast na Internet: DVMRP DVMRP: distance vector multicast routing

protocol, RFC1075 inundação e poda: envio pelo caminho reverso

(RPF), árvore baseada na fonte árvore RPF baseada em tabelas de roteamento

próprias do DVMRP, construídas por meio da comunicação entre roteadores DVMRP

nada assume sobre o roteamento unicast subjacente datagrama inicial para o grupo mcast é inundado por

todo lugar via RPF roteadores sem membros: mensagens de poda para

cima

Page 68: Capítulo 4: Camada de Rede

DVMRP: continuando… estado soft : roteador DVMRP “esquece”

periodicamente (1 min.) que ramos estão podados: dados mcast novamente fluem pelos ramos não

podados roteador de baixo: refaz a poda ou continua a receber

dados

roteadores podem rapidamente se enxertar na árvore seguindo junção IGMP na folha

considerações finais comumente implementado em roteadores comerciais roteamento Mbone feito através do DVMRP

Page 69: Capítulo 4: Camada de Rede

Tunelamento

Q: Como conectar “ilhas” de roteadores multicast em um “oceano” de roteadores unicast?

datagrama mcast encapsulado dentro de um datagrama “normal” (sem endereço multicast)

datagrama IP normal enviado através de um “túnel” via IP unicast regular para o roteador mcast receptor

roteador mcast receptor desencapsula para obter datagrama mcast

Topologia física Topologia lógica

Page 70: Capítulo 4: Camada de Rede

PIM: Protocol Independent Multicast

não depende de nenhum algoritmo de roteamento unicast subjacente (trabalha com todos)

Dois cenários de distribuição multicast diferentes:

Denso: membros do grupo

densamente empacotados, em “estreita proximidade”

maior disponibilidade de banda

Esparso: # de redes com

membros do grupo pequeno em relação ao # de redes interconectadas

membros do grupo “amplamente dispersos”

menor disponibilidade de banda

Page 71: Capítulo 4: Camada de Rede

Conseqüências da Dicotomia Esparso-Denso:

Denso participação dos

roteadores nos grupos assumida até que os roteadores se podem explicitamente

construção da árvore mcast ditada pelos dados (e.x., RPF)

uso da banda e processamento no roteador não participante do grupo perdulários

Esparso: sem participação até

que os roteadores se juntem explicitamente

construção da árvore mcast ditada pelos receptores (e.x., baseada em centro)

uso da banda e processamento no roteador não participante do grupo criteriosos

Page 72: Capítulo 4: Camada de Rede

PIM- Modo Denso

RPF com inundação e poda, similar ao DVMRP mas

Protocolo de roteamento unicast subjacente provê as informações referentes ao datagrama chegando, necessárias ao RPF

inundação menos complicada (menos eficiente) que a do DVMRP reduz a dependência em relação ao algoritmo de roteamento subjacente

possui mecanismo no protocolo para que o roteador detecte que é um nó folha

Page 73: Capítulo 4: Camada de Rede

PIM – Modo Esparso

abordagem baseada em centro

Roteador envia msg. de junção para o ponto de encontro (rendezvous point - RP) Roteadores intermediários

atualizam estado e encaminham msg. de junção

após se juntar via RP, roteador pode mudar p/ árvore baseada na fonte performance melhorada:

menos concentração, caminhos menores

R1

R2

R3

R4

R5

R6R7

junção

junção

junção

multicast dos dadosa partir do ponto de encontro (RP)

ponto deencontro

Page 74: Capítulo 4: Camada de Rede

PIM – Modo Esparso

fonte(s): dados via rot. unicast

para o RP, que os distribui ao longo da árvore com raiz no RP

RP pode estender árvore mcast para cima até a fonte

RP pode enviar msg. pare p/ fonte se não houver receptores atrelados “ninguém está

ouvindo!”

R1

R2

R3

R4

R5

R6R7

junção

junção

junção

multicast dos dadosa partir do ponto de encontro (RP)

ponto deencontro

Page 75: Capítulo 4: Camada de Rede

4: Camada de Rede 4a-75

Camada de Rede: resumo

Próxima parada: A camada de

Enlace de Dados!

O que nós cobrimos: Serviços da camada de rede Princípios de roteamento:

estado dos enlaces e vetor de distâncias

roteamento hierárquico IP protocolos de roteamento

Internet RIP, OSPF, BGP O que tem dentro de um

roteador? IPv6