Camada de rede 1
Camada de rede
Encaminhamento
• Estado-da-ligação • Vetor-distância
Internet Protocol (IP)
Encaminhamento na Internet
• Intra-domínio • Inter-domínio
Circuitos virtuais e MPLS
IPv6, DHCP e NAT
Arquitetura de um encaminhador
Funções
Endereçamento
Expedição de pacotes
Determinação de caminhos;
construção de tabelas de
expedição
Comutação de pacotes
Fragmentação e
reconstrução de datagramas
(internets)
rede dados físico aplicação transporte rede dadosfísico dadosrede físico rede dados físico rede dados físico rede dados físico rede dados físico rede dados físico rede dados físico aplicação transporte rede dados físico
Camada de rede 3
Encaminhamento
Determinação de “bons
caminhos” entre origens e
destinos
Rede modelada por um grafo
• Nós• Ligações
Comprimento de uma ligação
• Função aditiva
• Atraso, custo monetário, nível de
congestão, etc.
Conceito de “bom caminho”
• Caminho mais curto
A E D C B F 2 2 1 3 1 1 2 5 3 5
Protocolos para encaminhamento
dinâmico
Vetor-distância
• Algoritmo distribuído para cálculo das distâncias • Nós enviam vetores de distâncias aos seus vizinhos
Estado-da-ligação
• Algoritmo distribuído para difusão da topologia da rede
• Nós difundem o comprimento das ligações por toda a rede
• Algoritmo sequencial executado autonomamente em cada nó
para cálculo dos caminhos mais curtos
Vetor-caminho
• Como em vetor-distância, mas os vetores incluem todo o
Camada de rede 5
Difusão fiável
inicialização para todo v lsaA[v] := 0 seqA := 1 recebe <LSA,v,n> de w se (n > lsaA[v])envia <LSA,v,n> a todos os vizinhos exceto w lsaA[v] := n
ligação entre A e w é alterada
envia <LSA,A,seqA> a todos os vizinhos lsaA[A] := seqA
seqA := seqA + 1 A E D C B F
lsaA[v] – número do último LSA com origem no nó v recebido em A
Algoritmo de Dijkstra
para todo v dA[v] := infinito pA[v] := nulo dA[A] := 0 N := todos os nósenquanto (N não é vazio)
extrair de N o nó w tal que dA[w] é mínimo para (v vizinho de w)
se (dA[v] > dA[w] + c[w,v]) dA[v] := dA[w] + c[w,v] pA[v] := w
dA[v] – distância do nó A ao nó v pA[v] – predecessor no caminho mais
curto de A até v
c[w,v] – comprimento da ligação entre os nós w e v
Camada de rede 7
Algoritmo de Dijkstra: exemplo
1 2 3 4 5 6 N BCDEF BCEF BCF CF F d[B],p[B] 2,A 2,A 2,A d[C],p[C] 5,A 4,D 3,E 3,E d[D],p[D] 1,A d[E],p[E] infinito 2,D d[F],p[F] infinito infinito 4,E 4,E 4,E A E D C B F 2 2 1 3 1 1 2 5 3 5 iteração
Estado-da-ligação: mecanismos
Protocolo HELLO para descobrir vizinhos
LSA (Link-State Advertisement)
• número de sequência, para a difusão fiável
• idade, para apagar informação antiga (obriga os nós a
refrescarem LSAs)
Difusão fiável de LSAs
Sincronismo da base-de-dados de LSAs entre
vizinhos quando uma nova ligação é adicionada
Cálculo de caminhos mais curtos
Camada de rede 9
Algoritmo de Bellman-Ford
para todo A e todo t se (A = t) dant[A,t] := 0 senão dant[A,t] := infinito fazer N-1 vezes
para todo A e todo t se (A = t)
d[A,t] := 0 senão
d[A,t] := min {c[A,B] + dant[B,t], B vizinho de A} dant := d
d[A,t] – distância do nó A ao nó t
dant[A,t] – antiga distância do nó A ao nó t c[A,B] – comprimento da ligação entre os nós A e B
N– número de nós
Bellman-Ford distribuído:
recepção de mensagem
inicialização para todo t dA[t] := infinito dA[A] := 0 recebe <d,t> do vizinho B dtabA[B,t] := c[A,B] + d se (t = A) dA[t] := 0 senãodA[t] := min {dtabA[B,t], B vizinho de A}
se (dA[t] foi alterado)
envia <dA[t],t> a todos os vizinhos
dA[t] – distância do nó A ao nó t
dtabA[B,t] – distância do nó A ao nó t via nó B c[A,B] – comprimento da ligação entre os nós A e B
Camada de rede 11
Bellman-Ford distribuído:
alteração das ligações
ligação entre A e B foi restaurada para todo t
envia <dA[t],t> ao nó B
comprimento da ligação entre A e B aumentou de dd para todo t
dtabA[B,t] := dd + dtabA[B,t] se (t = A)
dA[t] := 0 senão
dA[t] := min {dtabA[B,t], B vizinho de A}
se (dA[t] foi alterado)
envia <dA[t],t> a todos os vizinhos
Exemplo de uma tabela de
distâncias
A E D C B 7 8 1 2 1 2dtab
E[ , ]
A
B
C
D
A
1
7
6
4
B
14
8
9
11
D
5
5
4
2
vizinhodtab
E[D,C]
= c[E,D] + 2 = 4 ciclo!dtab
E[D,A]
= c[E,D] + 3 = 5ciclo!
Camada de rede 13
Bellman-Ford distribuído:
exemplo
A E C A d[ , ] 7
B D A d[ , ]
C E A d[ , ]
A B D A d[ , ] 1
A E C A d[ , ] 7 9
B D A d[ , ]
C E A d[ , ]
A B D A d[ , ] 1 15
8 3 A E D C B 7 8 1 2 1 2 E D C BBellman-Ford distribuído: cont.
exemplo
A E C A d[ , ] 7 9 9 B D A d[ , ] C E A d[ , ] A B D A d[ , ] 1 15 5 A E C A d[ , ] 7 9 6 B D A d[ , ] C E A d[ , ] A B D A d[ , ] 1 15 5 8 5 8 5 10 3 A E D C B 7 8 1 2 1 2 E D C B 7 3Camada de rede 15
Bellman-Ford distribuído:
propriedades
Comprimento de uma ligação diminui
• Convergência rápida
Comprimento de uma ligação aumenta
• Convergência lenta
• Problema da contagem para o infinito
Problema da contagem para o infinito
• Protocolo não converge quando não há caminho entre
origem e destino
• Separação de horizontes com envenenamento inverso não
resolve o problema da contagem para o infinito
• Limitação do diâmetro da rede
• Alteração ao protocolo
Encaminhamento adaptado ao
tráfego: oscilações
Encaminhamento adaptado ao tráfego pode gerar
oscilações
A D C B 1 1+e e 0 e 1 1 0 0 início A D C B 2+e 0 0 0 1+e 1 1a iteração A D C B 0 2+e 1+e 1 0 0 2a iteração A D C B 2+e 0 e 0 1+e 1 3a iteraçãoCamada de rede 17
Encaminhamento adaptado ao
tráfego: paradoxo de Braess
Equilíbrio quando todos os caminhos que suportam
um fluxo têm comprimentos iguais
0.1f 1 1 10 5 5 5 5 10 Atraso=1.5 10 0 10 0 10 Atraso=2! 10 0.1f 0.1f 1 1 0 10 0.1f
Camada de rede 19
Encaminhamento hierárquico
Partição dos encaminhadores em áreas
Agregação de endereços associados a uma área
• Redução do número mensagens de encaminhamento
• Redução do número de entradas nas tabelas de expedição
• Caminhos extremo-a-extremo deixam de ser óptimos
Protocolo de encaminhamento intra-área pode ser
diferente do protocolo de encaminhamento inter-área
Encaminhamento hierárquico:
exemplo
a b b a a C A B d c b c B (1,1) c C (1,2) d a (0,2) d c (0,1) c d (0,1) d Tabela de expedição em A.bc
Caminho A.c-A.d-A.a-C.c-C.b não é o caminho mais curto de A.c para C.b
Camada de rede 21
Camada de rede na Internet
tabela de expedição Protocolos encaminhamento RIP, OSPF, BGP Protocolo IP Endereçamento
Formato dos datagramas Operações sobre datagramas
Protocolo ICMP
Relato de erros Controlo Camada de transporte: TCP, UDP
Camada de ligação de dados Camada física
Camada
de rede
Endereços IPv4
Identificadores de 32
bits
Cada endereço IPv4
identifica uma interface,
e não uma estação
223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1
Camada de rede 23
(Sub) Redes IP
Endereço IP • Componente de rede • Componente de estação Conceito de rede• Interfaces com a mesma componente de rede
Interfaces com a mesma
componente de rede comunicam directamente
Interfaces com componente de
rede distintas comunicam através de encaminhadores 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 LAN 223.1.3.0/24 223.1.3.*
3 redes IP (neste caso os primeiros 24 bits formam a componente de rede)
Classes de endereços IP
Divisão implícita em classes
0 rede 10 110 rede 1110 Endereço multicast A B C D classe 0.0.0.0 a 127.0.0.0 128.0.0.0 a 191.255.255.255 192.0.0.0 a 223.255.255.255 224.0.0.0 a 239.255.255.255 32 bits estação estação rede estação
Camada de rede 25
Expedição de datagramas: local
A descobre que B está
na mesma rede
Camada de ligação de
dados entrega
datagrama a B,
encapsulado numa
trama
223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 A BRede dest. Sucessor distância
223.1.1.0/24 - 1 223.1.2.0/24 223.1.1.4 2 223.1.3.0/24 223.1.1.4 2 Outros cab. 223.1.1.1223.1.1.3 dados IP origem IP destino
Expedição de datagramas:remoto
A descobre que o datagrama
deve ser enviado para 223.1.1.4
Camada da ligação de dados
em A entrega datagrama a 223.1.1.4, encapsulado numa trama
Encaminhador descobre que E
está na rede 223.1.2.0/24
Camada da ligação de dados
no encaminhador entrega datagrama a E, encapsulado numa trama 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 (I1) 223.1.2.9 (I2) 223.1.2.2 223.1.2.1 223.1.3.2 223.1.3.1 223.1.3.27 (I3) A E
Rede dest. sucessor dist. interface
223.1.2.0/24 - 1 I2 223.1.3.0/24 - 1 I3 223.1.1.0/24 - 1 I1 Outros cab. 223.1.1.1223.1.2.2 dados IP origem IP destino
Camada de rede 27
Exemplo de uma tabela de
expedição
Destino Gateway Flags Ref Use Interface --- --- --- --- --- --- 127.0.0.1 127.0.0.1 UH 0 26492 lo0 192.168.2. 192.168.2.5 U 2 13 eth2 193.55.114. 193.55.114.6 U 3 58503 eth0 192.168.3. 192.168.3.5 U 2 25 ppp0 224.0.0.0 193.55.114.6 U 3 0 eth1 0.0.0.0 193.55.114.129 UG 0 143454 eth1
Três redes: 192.168.2., 193.55.114., 192.168.3.
Um endereço multicast: 224.0.0.0
Entrada por omissão: 0.0.0.0
Gestão de endereços IP:
objectivos
Utilização eficiente dos endereços
• Rede necessita de 300 endereços
• É-lhe atribuído um bloco de endereço de classe B, com
65536 endereços
• Eficiência na utilização endereços é 0.46%!
Reduzir o número de entradas nas tabelas de
expedição
• Organização necessita de 8100 endereços
• São-lhe atribuídos 32 blocos de endereços de classe C, num
total de 8160 endereços
• Tabelas de expedição têm que ter 32 entradas à conta desta
Camada de rede 29
Classless Inter-Domain Routing
(CIDR)
Endereços IP agregados em blocos contíguos denominados prefixos
Prefixo
• Endereço IP de base • Comprimento da máscara • Exemplo: a.b.c.d/x
Número de endereços IP associados a um prefixo é uma potência de 2
Expedição por prefixo mais longo que emparelha o endereço destino
do pacote
11001000 00010111
0001000
0 00000000
Componente de rede Componente de estação200.23.16.0/23
Agregação de endereços IP
200.23.16.0/20 200.23.16.0/23 200.23.18.0/23 200.23.30.0/23 ISP1 Organização 0 Internet ISP2 199.31.0.0/16 200.23.20.0/23 . . . . . . Organização 1 Organização 2 Organização 7 200.23.19.172 200. 23. 19.172 Endereço IP destino 255.255.254. 0 Máscara da organização 1 200. 23. 18. 0 Endereço base da organização 1Camada de rede 31
Expedição por prefixo mais
específico
200.23.16.0/20 200.23.16.0/23 200.23.18.0/23 200.23.30.0/23 ISP1 Organização 0 Internet ISP2 199.31.0.0/16 200.23.18.0/23 200.23.20.0/23 . . . . . . Organização 1 Organização 2 Organização 7Organização 1 mudou do ISP1 para o ISP 2 mas manteve o seu bloco de endereços IP 200.23.19.172
Tries
0 1 11(I1) 10 111(I4) 101(I3) 1010 10100(I2) 00(I1) 01 010 0101(I2) 000 001(I4) 0001(I2) * Tabela de expedição 10101101 00110110 00 I1 0001 I2 001 I4 0101 I2 101 I3 10100 I2 11 I1 111 I4Tries balanceadas
Camada de rede 33 0 1 11(I1) 10 111(I4) 101(I3) 1010 10100(I2) 00(I1) 01 010 0101(I2) 000 001(I4) 0001(I2) * (D) Tabela de expedição 10101101 00110110 00 I1 0001 I2 001 I4 0101 I2 101 I3 10100 I2 11 I1 111 I4 0000(I1)folhas novas assumem interface de antepassado mais próximo
0100(D) 011(D) 100(D) 10101(I3) 1011(I3) 110(I1)
Rede do Lab LT5
.254 (0/1) .253 (0/1) .5 (0/0) .6 (0/0) .142 (0/0/0) .1 (0/0) .2 (0/0) .254 (0/0/0) .254 (0/1) .253 (0/1) .254 192.168.128.0/24 192.168.129.0/24 192.168.1.0/24 192.168.0.4/30 192.168.0.0/30 193.136.138.128/25 AS 2 AS 1 OSPF 1 RIP R1 R2 R3 R4 .1 serieCamada de rede 35
Encaminhamento na Internet
A Internet consiste num número de sistemas
autónomos interligados (Autonomous System, AS)
• AS terminal
• AS multi-terminal
• AS de trânsito
Encaminhamento intra-AS (Interior Gateway
Protocols, IGP)
• RIP: Routing Information Protocol
• OSPF: Open Shortest Path First
Encaminhamento inter-AS (Exterior Gateway
Protocol, EGP)
• BGP: Border Gateway Protocol
A Internet
AS de trânsito Tier-1 AS de trânsito Tier-2 AS de trânsito Tier-3 AS multi-terminal AS terminalRelação fornecedor cliente
Camada de rede 37
Routing Information Protocol
(RIP)
Vector distância
Comprimento das ligações é unitário
Diâmetro da rede inferior a 16
Cada encaminhador envia periodicamente o seu
vector de distâncias aos vizinhos
• Encaminhadores não guardam informação sobre os vectores
distância dos vizinhos
Ausência prolongada da recepção de vectores
distância indica falha na ligação
Opera sobre UDP (
!
)
Processo que executa RIP é o routed
Open Shortest Path First (OSPF)
Estado da ligação
A cada ligação podem estar associadas várias
métricas
Múltiplos caminhos do mesmo comprimento entre
pares origem destino
Segurança
Suporte de hierarquias dentro de uma AS
Suporte de multicast
Opera sobre IP
Camada de rede 39
OSPF hierárquico
Encaminhamento intra-área: estado-da-ligação
Encaminhamento inter-área: vector-distância
Toda a comunicação inter-área atravessa a área 0
Área 0
Área 1 Área 2
Área 3
Border Gateway Protocol (BGP)
Vector caminho
• Cada encaminhador fronteira anuncia, para cada prefixo IP
destino, todo o caminho de ASes até chegar a esse destino
• Problema da contagem para o infinito não existe
Políticas na escolha de caminhos
• Cada AS pode decidir não anunciar os seus caminhos a
algumas ASes vizinhas
• Cada AS atribui um nível de preferência aos caminhos
anunciados pelos vizinhos
External BGP (EBGP) e Internal BGP (IBGP)
Opera sobre TCP
Camada de rede 41
Atributos do BGP
LOCAL-PREF
• Nível de preferência atribuído localmente a uma rota
• Não é passado fora da AS
AS-PATH
• Sequência de ASes pelas quais a rota passou
• Acrescentado pela AS
MED
• Discrimina ligações diferentes a uma mesma AS vizinha
• Algum controlo sobre o tráfego que entra na AS
NEXT-HOP
• Endereço IP do encaminhador fronteira da AS vizinha que
anuncia a rota
• Não é alterado pelo iBGP
Encaminhamento inter-domínio
cliente par fornecedor
cliente V V V par V X X fornecedor V X X De Para cliente par fornecedor PREFERÊNCIAS EXPORTAÇÕES 5 6 4 1 2 3 0 7 8
Tabela de expedição
170.10.20.0/22 170.1.1.1 170.1.1.2 170.1.1.0/30 200.50.10.0/24 200.50.10.15 Rede Sucessor 170.10.20.0/22 170.1.1.1 iBGP 170.1.1.0/30 200.50.10.15 IGP 200.50.10.0/24 I0 Ligação dados Tabela de expedição de A iBGP A eBGP I0Arquitectura de um encaminhador
Tecido de comutação tabela de expedição consulta de endereço, expedição, fila-de-espera terminação da ligação de dados terminação de linhaEspera no porto de saída
Tecido de comutação opera a um débito igual a n
vezes o débito das linhas
Atrasos e perdas nos portos de saída; escalonamento
e gestão activa de fila-de-espera
Camada de rede 45 n Tecido de comutação Tecido de comutação
Espera no porto de entrada e
HOL
Tecido de comutação opera a um débito inferior a n
vezes o débito das linhas
Atrasos e perdas nos portos de entrada
Bloqueio de princípio de fila (HOL)
Camada de rede 47
Anatomia de um datagrama IP
DSCP • Tipo de serviço Protocolo • Chave de desmultiplexagem para a camada de transporte: TCP, UDP, ... Identificador, offset e sinalizadores • Fragmentação e reconstrução de datagramas TTL • Decrementado em cada encaminhador ver. comprimento do datagrama 32 bitsdados da camada de transporte (comprimento variável) identificador checksum TTL endereço IP fonte comp. cab. DSCP sinal. offset protocolo endereço IP destino opções (comprimento variável)
Fragmentação e reconstrução
Cada ligação tem um MTU
Datagramas fragmentados na camada IP Reconstrução apenas no destino Campos no cabeçalho proporcionam reconstrução
Offset indica número do
primeiro byte do fragmento, em múltiplos de 8 bytes ID =x offset =0 s. frag =0 comp. =4000 ID =x offset =0 s. frag =1 comp. =1500 ID =x offset =1480 s. frag =1 comp. =1500 ID =x offset =2960 s. frag =0 comp. =1040 Fragmentação (MTU=1500 bytes) 3980 1480 2960 1020
Camada de rede 49
Internet Control Message
Protocol (ICMP)
Utilizado para propagação de informação de controlo
• Erros: destino não existe, porto não existe, TTL chegou a 0, reconstrução do datagrama falhou
• Pedido/resposta
Mensagens ICMP transportadas em datagramas IP
• Tipo • Código
• 8 primeiros bytes do datagrama que causou o erro
Traceroute
• ICMP time exceeded (TTL é zero)
Ping
• ICMP echo request • ICMP echo reply
Circuitos virtuais (VCs)
Sinalização para
estabelecimento e
terminação circuito
Cabeçalho contém
identificador de VC
Potencial controlo de
admissão
Potencial reserva de
recursos
Interface entrada VC entrada Interfac e saída VC saída Interface entrada VC entrada Interface saída VC saída 7 51 2 12A
B
C
D
3 22 51 12 5 7 2C
B
Engenharia de tráfego
Camada de rede 51
Datagramas Circuitos virtuais
Multi-Protocol Label Switching
(MPLS)
TC (traffic class)
• Distinção de tratamentos nos nós da rede
S
• Indicador de última etiqueta
TTL
• Número de saltos
etiqueta TC S TTL
X Y Z
Hierarquia
Camada de rede 53 X
LER de ingresso LSR LSR LER de egresso A A Y A A Z A R1 R2 R1 R2 A
IPv6
Motivação principal
• Escassez de endereços IP
Razões adicionais
• Expedição e comutação rápidas de datagramas
• Qualidade de serviço
• Autoconfiguração
• Endereços anycast
Formato dos datagramas
• Endereços de 128 bits
• Não permite fragmentação
Camada de rede 55
Anatomia de um datagrama IPv6
Classe de tráfego
• Prioridades
Rótulo de fluxo
• QoS ?
Comprimento
• Dos dados apenas
Próximo cabeçalho
• Chave de
desmultiplexagem
Limite de saltos
• Semelhante ao TTL
ver. rótulo de fluxo
dados da camada de transporte (comprimento variável) comprimento classe tráfego próximo cab. lim. saltos 32 bits endereço IP fonte endereço IP destino
Representação de endereços IPv6
2001:0DB8:130F:0000:0000:7000:0000:140B
2001:DB8:130F:0:0:7000:0:140B (zeros à esquerda) 2001:DB8:130F:0:0:7000:0:140B (zeros à direita)
2001:DB8:130F::7000:0:140B (campos sucessivos de zeros)
Endereço IPv6
• 128 bits separados por dois-pontos em 8 campos
Camada de rede 57
Migração IPv4 - IPv6
Não vai haver um dia R em que todos os
encaminhadores mudam de IPv4 para IPv6
Migração de IPv4 para IPv6 terá que ser gradual
Soluções de migração
• Pilha dupla IPv4/IPv6: alguns encaminhadores conseguem
traduzir datagramas entre os dois formatos
• Túneis: Datagramas IPv6 transportados como dados de
datagramas IPv4
Pilha dupla
Há informação no cabeçalho do datagrama IPv6
inicial que é perdida quando ele é traduzido num
datagrama IPv4
A B C D E F IPv6 Fluxo: X IP fonte: A IP dest.: F IPv6 Fluxo: ? IP fonte: A IP dest.: FIPv4 IPv4 IPv6 IPv6
IPv6 IPv6 IPv4 IP fonte: A IP dest.: F IPv4 IP fonte: A IP dest.: F
Camada de rede 59
Túnel
A B C D E F IPv6 Fluxo: X IP fonte: A IP dest.: FIPv4 IPv4 IPv6 IPv6
IPv6 IPv6 IPv4 Proto: IP-IP IP fonte: B IP dest.: E A F IPv6 IPv6 IPv6 IPv6 E B IPv6 Fluxo: X IP fonte: A IP dest.: F IPv4 Proto: IP-IP IP fonte: B IP dest.: E IPv6 Fluxo: X IP fonte: A IP dest.: F IPv6 Fluxo: X IP fonte: A IP dest.: F
Dynamic Host Configuration
Protocol (DHCP)
Atribuição dinâmica
de endereços IP
• Partilha de endereços • Configuração automática
Porto UDP
bem-conhecido: 67 e 68
Mensagens
• DHCPDISCOVER • DHCPOFFER • DHCPREQUEST • DHCPACK Cliente Servidor 1 200.2.6.5 Servidor 2 200.2.6.10 0.0.0.0,68 255.255.255.255,67 DHCPDISCOVERY 0.0.0.0 756 200.2.6.5,67 255.255.255.255,68 DHCPOFFER 200.2.6.120 756 3600 200.2.6.10,67 255.255.255.255,68 DHCPOFFER 200.2.6.30 756 3600 0.0.0.0,68 255.255.255.255,67 DHCPREQUEST 200.2.6.120 200.2.6.5 757 3600 200.2.6.5,67 255.255.255.255,68 DHCPACK 200.2.6.120 757 200.2.6.5 3600Camada de rede 61
Virtual Private Networks (VPN)
10.1.0.0/16 10.2.0.0/16 10.3.0.0/16 198.150.2.73 220.10.68.2 IP-IP 198.150.2.73 220.10.68.2 10.1.0.5 10.3.12.2 10.1.0.5 10.3.12.2 Internet R1 R2 R3 IRT site 1 IRT site 2 IRT site 3 193.12.96.1
Network Address Translation
(NAT)
10.1.0.0/16 10.3.0.0/16 198.150.2.0/24 220.10.68.0/24 10.1.0.5 Internet R1 R2 R3 RC site 1 RC site 2 193.12.96.0/24 128.234.7.2 198.150.2.1 128.234.7.2 RC site 3Tabela NAT
Camada de rede 63 NAT 10.10.10.1 10.10.10.2 10.10.10.3 20.20.20.253 LAN WAN LAN WAN 10.10.10.1:3800 20.20.20.253:3800 10.10.10.1:3900 20.20.20.253:3900 10.10.10.2:3800 20.20.20.253:3801 10.10.10.3:3900 20.20.20.253:3901Difusão (broadcast)
Fazer com que pacotes enviados por uma fonte
cheguem a todos os outros nós da rede
Camada de aplicação
• aplicações peer-to-peer
Camada de rede
Camada de ligação de dados
• determinação de endereços MAC
• inerente ao preenchimento das tabelas de expedição MAC
Difusão: questões fundamentais
Camada de rede 65 A
B
C D
Emulação com unicast
• Envio desnecessário de cópias • Gestão dos endereços unicast
A
B
C D
• Mecanismos para impedir ciclos e tempestades de difusão Participação dos nós da rede
Técnicas de difusão
Pacotes numerados sequencialmente por cada fonte
• difusão de um pacote de uma fonte apenas se o seu número
de sequência for mais recente do que o registado relativamente a essa fonte
Expedição por caminho inverso
• difusão de um pacote de uma fonte apenas se o pacote for
recebido pela interface cujo encaminhamento unicast conduz à fonte desse pacote
Criação prévia de uma árvore abrangente partilhada
• evita ciclos e tempestades de difusão
Complementarmente pacotes creditados com um
Árvore abrangente centrada
Camada de rede 67 A B C D G E F E é o nó de rendez-vous 1 2 3 4 5 A B C D G E FAdesão de cada nó à árvore Árvore abrangente
Multicast
Fazer com que pacotes enviados por uma fonte
cheguem a um grupo de nós da rede
Identificação do grupo de nós destinatários
• endereçamento multicast
Árvore multicast por fonte
• expedição depende do endereço multicast e do endereço fonte
• modo denso
• modo esparso
Árvore multicast partilhada
• expedição depende apenas do endereço multicast
Camada de rede 69
Internet Group Management
Protocol (IGMP)
Destinos de um grupo multicast partilham um
mesmo endereço IP multicast, de classe D
Internet Group Management protocol
• Opera entre uma estação e o encaminhador a que a estação
está directamente ligada
• Encaminhador pretende saber para cada interface quais os
grupos multicast que têm membros ligados a essa interface
• Encaminhador convida estações a indicarem os grupos
multicast a que querem pertencer
Informação de estado soft
• Encaminhador infere a inexistência de elementos de um
grupo multicast associados a uma interface
Multicast: IGMP e árvores
LAN LAN
LAN LAN
LAN IGMP
Expedição multicast
G G G S1 S3 S2 (*,G) (S1,G)Árvore de grupo partilhada
G G G S1 S3 S2 Árvores de fonte (S2,G) (S3,G)
PIM-DM: árvore de fonte
G G G S G G G S G S G S prune
PIM-SM: árvore partilhada
RP G G join (*,G) join RP G G S RP G RP G G G G register register RP G G S join RP G G S G G G G G (S,G)PIM-SM: árvore de fonte
(S,G) RP G G S join join RP G G S G G G G