Title: 4a-1
1Capí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
2Relacionamento entre roteamento e encaminhamento
Algoritmo de roteamento
tabela encaminhamento local
valor cabeçalho
link saída
0100 0101 0111 1001
3 2 2 1
valor no cabeçalho do pacote que está chegando
1
0111
2
3
3Abstraindo com grafos
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)
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
4Abstraindo com grafos custos
- 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
5Classificação de Algoritmos de Roteamento
- Informaçã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
6Capí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
7Um algoritmo de roteamento de estado de enlaces
(EE)
- 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
- 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
8O 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) 8
7 8 Repete 9 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
9Algoritmo de Dijkstra exemplo
D(v),p(v) 2,u 2,u 2,u
D(x),p(x) 1,u
Step 0 1 2 3 4 5
D(w),p(w) 5,u 4,x 3,y 3,y
D(y),p(y) 8 2,x
N' u ux uxy uxyv uxyvw uxyvwz
D(z),p(z) 8 8 4,y 4,y 4,y
10Algoritmo de Dijkstra exemplo
Árvore de caminhos mínimos resultante originada
em u
Tabela de encaminhamento resultante em u
11Algoritmo de Dijkstra, discussão
- Complexidade algoritmica n nós
- a cada iteração precisa checar todos nós, w, não
em N - n(n1)/2 comparações gt O(n2)
- implementações mais eficientes possíveis
O(nlogn) - Oscilações possíveis
- p.ex., custo do enlace carga do tráfego
carregado
1
1e
0
2e
0
0
0
0
e
0
1
1e
1
1
e
recalcula
recalcula rotas
recalcula
inicialmente
12Capí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
13Algoritmo Vetor de Distâncias
- Equação de Bellman-Ford (programação dinâmica)
- Define
- dx(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
14Exemplo com Bellman-Ford
Claramente, dv(z) 5, dx(z) 3, dw(z) 3
A equação B-F diz
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
passo ao longo do caminho mais curto? tab. de
encaminhamento
15Algoritmo 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
16Algoritmo 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) ? minvc(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)
17Algoritmo 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
Cada nó
18Dx(z) minc(x,y) Dy(z), c(x,z)
Dz(z) min21 , 70 3
Dx(y) minc(x,y) Dy(y), c(x,z) Dz(y)
min20 , 71 2
tabela nó x
custo para
custo para
x y z
x y z
x
0 2 3
x
0 2 3
origem
origem
y
2 0 1
y
2 0 1
z
7 1 0
z
3 1 0
tabela nó y
custo para
custo para
custo para
x y z
x y z
x y z
x
8
8
x
0 2 7
8 2 0 1
x
0 2 3
origem
origem
origem
y
y
2 0 1
y
2 0 1
z
z
8
8
8
z
7 1 0
3 1 0
tabela nó z
custo para
custo para
custo para
x y z
x y z
x y z
x
0 2 3
x
0 2 7
x
8 8 8
origem
origem
origem
y
y
2 0 1
2 0 1
y
8
8
8
z
z
3 1 0
z
3 1 0
7
1
0
tempo
19Vetor de Distâncias mudança no custo dos enlaces
- Mudanç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
No tempo t0, y detecta a mudança no custo do
enlace, atualiza o seu 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.
boas notícias chegam logo
20Vetor 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?
21Comparaçã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
22Capí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
23Roteamento Hierárquico
- Neste estudo de roteamento fizemos uma
idealização - todos os roteadores idênticos
- rede não hierarquizada (flat)
- não é verdade, na prática
- 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
24Roteamento 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
25SAs interconectados
- 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
26Tarefas do roteamento inter-SA
- SA1 precisa
- aprender quais destinos são alcançáveis via SA2 e
quais são alcançáveis via SA3 - propagar estas info. de alcançabilidade para
todos os roteadores em SA1 - Tarefas do rot. 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?
27Exemplo 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.
28Exemplo 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.
29Capí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
30Roteamento 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)
31Capí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
32RIP (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)
Do roteador A p/ sub-redes
33Anú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
34Exemplo RIP
z
...
w
x
y
A
D
B
C
Rede Destino Próximo Roteador No. de
enlaces ao destino w A 2 y B 2
z B 7 x -- 1 . . ....
Tabela de rotas em D
35Exemplo RIP
Dest Prox Saltos w - 1 x -
1 z C 4 . ...
Anúncios de A para D
z
...
w
x
y
A
D
B
C
Rede Destino Próximo Roteador No. de
enlaces ao destino w A 2 y B 2 z B
A 7 5 x -- 1 . . ....
Tabela de rotas em D
36RIP Falha e Recuperação de Enlaces
- Se não for recebido anúncio novo durante 180 seg
--gt 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)
37RIP 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
38Capí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
39OSPF (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)
40OSPF 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.
41OSPF Hierárquico
42OSPF 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.
43Capí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
44Roteamento inter-SA na Internet BGP
- BGP (Border Gateway Protocol) o padrão de fato
- BGP provê para cada SA meios de
- Obter informação de alcançabilidade de sub-redes
a partir de SAs vizinhos. - Propagar informação de alcançabilidade para todos
os roteadores internos ao SA. - 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!
45Fundamentos 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
46Distribuindo 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.
47Atributos 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.
48Seleçã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
- Valor do atributo preferência local associado à
rota decisão política - Menor AS-PATH
- Roteador NEXT-HOP mais próximo roteamento batata
quente - Critérios adicionais
49Mensagens 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
50Polí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
51Polí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!
52Por 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
53Capí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
54Roteamento Broadcast
- Envia pacotes de uma para todos os outros nós
- Duplicação na fonte é ineficiente
duplicação
criação/transmissão duplicada
duplicação
duplicação dentro da rede
duplicação na fonte
- Duplicação na fonte como a fonte determina os
endereços dos receptores
55Duplicaçã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ó
56Árvore Geradora
- Primeiro construa uma árvore geradora
- Nós encaminham cópias somente ao longo da árvore
geradora
57Á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
3
4
2
5
1
- Construção passo-a-passo da árvore geradora
(b) Árvore geradora construída
58Roteamento 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
59Abordagens 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
60Árvore de Caminhos Mínimos
- Árvore de encaminhamento mcast árvore composta
pelos caminhos mínimos da fonte para todos os
receptores - Algoritmo de Dijkstra
S fonte
LEGENDA
R1
R4
roteador com membro do grupo atrelado
R2
roteador sem membro do grupo atrelado
R5
enlace usado p/ envio, i indica a ordem de
adição do enlace pelo algoritmo
R3
R7
R6
61Envio pelo Caminho Reverso
- Baseia-se no conhecimento do roteador sobre
caminhos mínimos unicast dele para a fonte - cada roteador tem um comportamento de envio
simples
- 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
62Envio pelo Caminho Reverso exemplo
S fonte
LEGENDA
R1
R4
roteador com membro do grupo atrelado
R2
roteador sem membro do grupo atrelado
R5
datagrama vai ser encaminhado
R3
R7
R6
datagrama não vai ser encaminhado
- resultado é uma árvore de caminho mínimo reversa
específica para a fonte - - pode ser uma escolha ruim para enlaces
assimétricos
63Envio 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
LEGENDA
S fonte
R1
roteador com membro do grupo atrelado
R4
roteador sem membro do grupo atrelado
R2
P
P
R5
mensagem de poda
enlace com envio mcast
P
R3
R7
R6
64Á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
65Á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
66Árvores baseadas em centros exemplo
Suponha que R6 foi escolhido como centro
LEGENDA
roteador com membro do grupo atrelado
R1
R4
3
roteador sem membro do grupo atrelado
R2
2
R5
ordem em que as mensagens de junção são geradas
1
R3
1
R7
R6
67Roteamento 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
68DVMRP 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
69Tunelamento
- Q Como conectar ilhas de roteadores multicast
em um oceano de roteadores unicast?
Topologia lógica
Topologia física
- 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
70PIM 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
71Conseqüê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
72PIM- 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
73PIM 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
74PIM 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!
75Camada de Rede resumo
- 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
- Próxima parada
- A camada de Enlace de Dados!