1 Camada de rede 1 Camada de rede Serviços fornecidos pela camada de rede Encaminhamento • Estado-da-ligação • Vector-distância Internet Protocol (IP) Encaminhamento na Internet • Intra-domínio • Inter-domínio IPv6, DHCP, IP móvel, VPN, NAT Encaminhamento multicast Camada de rede 2 Funções Determinação de caminhos e construção das tabelas de expedição Expedição de pacotes Comutação de pacotes Fragmentação e reconstrução de datagramas (internets) Estabelecimento e terminação de circuitos (comutação de circuitos virtuais) rede dados físico aplicação transporte rede dados 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 rede dados físico aplicação transporte rede dados físico
31
Embed
Camada de rede - Técnico Lisboa - Autenticação Camada de rede 5 Protocolos para encaminhamento dinâmico Vector-distância • Algoritmo distribuído para cálculo das distâncias
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Camada de rede 1
Camada de rede
Serviços fornecidos pela camada de redeEncaminhamento
• Estado-da-ligação • Vector-distância
Internet Protocol (IP)Encaminhamento na Internet
• Intra-domínio• Inter-domínio
IPv6, DHCP, IP móvel, VPN, NATEncaminhamento multicast
Camada de rede 2
Funções
Determinação de caminhos e construção das tabelas de expedição Expedição de pacotesComutação de pacotesFragmentação e reconstrução de datagramas (internets)Estabelecimento e terminação de circuitos (comutação de circuitos virtuais)
rede dadosfísico
aplicação transporte
rededados físico rede
dadosfísico
rede dadosfísico
rede dadosfísico
rede dadosfísico
rede dadosfísico
rede dadosfísico
rede dadosfísico
aplicação transporte
rededados físico
2
Camada de rede 3
Serviços
Circuitos-virtuais• Estabelecimento e terminação de circuitos• Transferência de dados• Alocação de recursos ao longo de um caminho• Garantias de qualidade de serviço• Informação de estado por fluxo em todos os encaminhadores
Datagramas• Transferência de dados não é precedida por estabelecimento de
circuito • Serviço na base do melhor esforço• Encaminhadores não mantêm informação de estado por fluxo
Camada de rede 4
Encaminhamento
Determinação de “bons caminhos” entre origens e destinosRede 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
Conceito de “bom caminho”• Caminho mais curto
A
ED
CB
F2
21
3
1
1
2
53
5
3
Camada de rede 5
Protocolos para encaminhamento dinâmico
Vector-distância• Algoritmo distribuído para cálculo das distâncias• Nós enviam vectores 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 para cálculo dos caminhos mais curtos
Vector-caminho• Como em vector-distância, mas os vectores incluem todo o
caminho para alcançar cada nó destino
Camada de rede 6
Difusão fiávelinicializaçãopara todo v
lspA[v] := 0seqA := 1
recebe <LSP,v,n> de wse (n > lspA[v])
envia <LSP,v,n> a todos os vizinhos excepto wlspA[v] := n
ligação entre A e w é alteradaenvia <LSP,A,seq> a todos os vizinhosseqA := seqA + 1
A
ED
CB
F
lspA[v] – número do último LSP com origem no nó v recebido em A
4
Camada de rede 7
Algoritmo de Dijkstrapara todo v
dA[v] := infinitopA[v] := nulo
dA[A] := 0N := todos os nós
enquanto (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 8
Algoritmo de Dijkstra: exemplo
123456
NBCDEF
BCEFBCF
CFF
d[B],p[B]2,A2,A2,A
d[C],p[C]5,A4,D3,E3,E
d[D],p[D]1,A
d[E],p[E]infinito
2,D
d[F],p[F]infinitoinfinito
4,E4,E4,E
A
ED
CB
F2
21
3
1
1
2
53
5
iteração
5
Camada de rede 9
Algoritmo de Bellman-Fordpara todo A e todo t
se (A = t)dant[A,t] := 0
senãodant[A,t] := infinito
fazer N-1 vezespara todo A e todo t
se (A = t)d[A,t] := 0
senãod[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ó tdant[A,t] – antiga distância do nó A ao nó tc[A,B] – comprimento da ligação entre os nós A e BN – número de nós
Camada de rede 10
Bellman-Ford distribuído: recepção de mensagem
inicializaçãopara todo t
dA[t] := infinitodA[A] := 0
recebe <d,t> do vizinho BdtabA[B,t] := c[A,B] + dse (t = A)
dA[t] := 0senão
dA[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ó tdtabA[B,t] – distância do nó A ao nó t via nó Bc[A,B] – comprimento da ligação entre os nós A e B
6
Camada de rede 11
Bellman-Ford distribuído: alteração das ligações
ligação entre A e B foi restauradapara todo t
envia <dA[t],t> ao nó B
comprimento da ligação entre A e B aumentou de ddpara todo t
dtabA[B,t] := dd + dtabA[B,t] se (t = A)
dA[t] := 0senão
dA[t] := min {dtabA[B,t], B vizinho de A}se (dA[t] foi alterado)
envia <dA[t],t> a todos os vizinhos
Camada de rede 12
Exemplo de uma tabela de distâncias
A
E D
CB7
81
2
1
2dtabE[ , ]
A
B
C
D
A
1
7
6
4
B
14
8
9
11
D
5
5
4
2
vizinho
dest
ino
dtabE[D,C] c[E,D] + 2 = 4=
ciclo!dtabE[D,A] c[E,D] + 3 = 5=
ciclo!dtabE[B,A] c[E,B] + 6 = 14=
7
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
CB7
81
2
1
2
E
D
C
B
Camada de rede 14
Bellman-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
CB7
81
2
1
2
E
D
C
B
7 3
8
Camada 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
Camada de rede 16
Encaminhamento adaptado ao tráfego: oscilações
Encaminhamento adaptado ao tráfego pode gerar oscilações
AD
C
B1 1+e
e0
e
1 1
0 0
início
AD
C
B2+e 0
001+e 1
1a iteração
AD
C
B0 2+e
1+e10 0
2a iteração
AD
C
B2+e 0
e01+e 1
3a iteração
9
Camada 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
55
10
Atraso=1.5
10 010
0 10
Atraso=2!
10
0.1f
0.1f
1
1
0
10
0.1f
Camada de rede 18
Paradoxo de Braess na prática
10
Camada de rede 19
Encaminhamento hierárquico
Partição dos encaminhadores em áreasAgregaçã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
Camada de rede 20
Encaminhamento hierárquico: exemplo
a
b
b
a
a
C
A
B
d
cb
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.b
c
Caminho A.c-A.d-A.a-C.c-C.b não é o caminho maiscurto de A.c para C.b
11
Camada de rede 21
Camada de rede na Internet
tabela deexpedição
Protocolos encaminhamentoRIP, OSPF, BGP
Protocolo IPEndereçamentoFormato dos datagramas Operações sobre datagramas
Protocolo ICMPRelato de errosControlo
Camada de transporte: TCP, UDP
Camada de ligação de dados
Camada física
Camada de rede
Camada de rede 22
Endereços IP
Identificadores de 32 bitsCada endereço IP 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.2223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 11
12
Camada de rede 23
RedesEndereço IP
• Componente de rede• Componente de estação
Conceito de rede • Interfaces com a mesma
componente de redeInterfaces com a mesma componente de rede comunicam directamenteInterfaces 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.2223.1.3.1
223.1.3.27LAN223.1.3.0/24223.1.3.*
3 redes IP (neste caso os primeiros24 bits formam a componente de rede)
Camada de rede 24
Classes de endereços IP
Divisão implícita em classes
0 rede
10
110 rede
1110 Endereço multicast
A
B
C
D
classe0.0.0.0 a127.0.0.0
128.0.0.0 a191.255.255.255
192.0.0.0 a223.255.255.255
224.0.0.0 a239.255.255.255
32 bits
estação
estaçãorede
estação
13
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
A descobre que o datagrama deve ser enviado para 223.1.1.4Camada da ligação de dados em A entrega datagrama a 223.1.1.4, encapsulado numa tramaEncaminhador descobre que E está na rede 223.1.2.0/24Camada 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.2223.1.3.1
223.1.3.27 (I3)
A
E
Rede dest. sucessor dist. interface
223.1.2.0/24 - 1 I2223.1.3.0/24 - 1 I3
223.1.1.0/24 - 1 I1
Outroscab. 223.1.1.1 223.1.2.2 dados
IP origem
IP destino
14
Camada de rede 27
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
organização!
Camada de rede 28
Classless Inter-Domain Routing (CIDR)
Endereços IP agregados em blocos contíguos denominados prefixosPrefixo
• 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
11001000 00010111 00010000 00000000
Componente de rede
Componente de estação
200.23.16.0/23
15
Camada de rede 29
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 destino255.255.254. 0 Máscara da organização 1200. 23. 18. 0 Endereço base da organização 1
Camada de rede 30
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 7
Organização 1 mudou do ISP1 para o ISP 2 mas manteve o seu bloco de endereços IP
200.23.19.172
16
Camada de rede 31
Anatomia de um datagrama IP
TOS• 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 bits
dados da camada de transporte (comprimento variável)
identificador
checksumTTL
endereço IP fonte
comp. cab. TOS
sinal. offset
protocolo
endereço IP destino
opções (comprimento variável)
Camada de rede 32
Fragmentação e reconstrução
Cada ligação tem um MTUsDatagramas fragmentados na camada IPReconstrução apenas no destinoCampos no cabeçalho proporcionam reconstruçãoOffset 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)
17
Camada de rede 33
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 erroTraceroute
• ICMP time exceeded (TTL é zero)Ping
• ICMP echo request• ICMP echo reply
Camada de rede 34
Encaminhamento na InternetA Internet consiste num número de sistemas autónomos interligados (Autonomous System, AS)
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 eth2193.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.0Entrada por omissão: 0.0.0.0
19
Camada de rede 37
Routing Information Protocol (RIP)
Vector distânciaComprimento das ligações é unitárioDiâmetro da rede inferior a 16Cada 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çãoOpera sobre UDP (!)Processo que executa RIP é o routed
Camada de rede 38
Open Shortest Path First (OSPF)
Estado da ligaçãoA cada ligação podem estar associadas várias métricasMúltiplos caminhos do mesmo comprimento entre pares origem destinoSegurança Suporte de hierarquias dentro de uma ASSuporte de multicastOpera sobre IPProcesso que executa OSPF é o gated
20
Camada de rede 39
OSPF hierárquico
Encaminhamento intra-área: estado-da-ligaçãoEncaminhamento inter-área: vector-distânciaToda a comunicação inter-área atravessa a área 0
Área 0Área 1
Área 2
Área 3
Camada de rede 40
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
21
Camada de rede 41
Atributos do BGPLOCAL-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
Camada de rede 42
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• Não tem checksum
22
Camada de rede 43
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óximocab.
lim. saltos
32 bits
endereço IP fonte
endereço IP destino
Camada de rede 44
Migração IPv4 - IPv6
Não vai haver um dia R em que todos os encaminhadores mudam de IPv4 para IPv6Migração de IPv4 para IPv6 terá que ser gradualSoluçõ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
23
Camada de rede 45
Pilha dupla
Há informação no cabeçalho do datagrama IPv6 inicial que é perdida quando ele é traduzido num datagrama IPv4
Quando a aplicação fonte gera uma mensagem, uma cópia dessa mensagem deverá ser entregue a cada um de vários destinos distintosMulticast emulado
• Fonte estabelece sessões unicast com cada um dos destinos
Multicast na camada de aplicação• Estações terminais constroem árvore multicast lógica sobre
a rede
Multicast na camada de rede• Encaminhadores constroem árvore multicast
Camada de rede 54
Tipos de multicast
Multicast emulado
Multicast na camada de aplicação
Multicast na camada de rede
28
Camada de rede 55
Multicast na camada de rede
Questões fundamentais• Como endereçar os elementos de um grupo multicast?• Como realizar a entrada e saída de elementos do grupo multicast?• Como expedir um datagrama para todos os elementos de um
grupo multicast ?• Como desenhar protocolos de encaminhamento multicast, para
construção de tabelas de expedição multicast?Parâmetros para a comparação de protocolos de encaminhamento multicast
• Número máximo de elementos nos grupos multicast• Propagação de tráfego desnecessário• Concentração de tráfego • Caminhos óptimos
Camada de rede 56
Internet Group Management Protocol (IGMP)
Destinos de um grupo multicast partilham um mesmo endereço IP multicast, de classe DInternet 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
29
Camada de rede 57
Árvores multicast
Árvore de grupo partilhada Árvores de fonte específicas
Camada de rede 58
Árvore de grupo partilhada
Todos os nós do grupo multicast partilham a mesma árvore Árvore de custo mínimo que cobre todos os nós do grupo
• Árvore de Steiner• Complexo do ponto de vista
computacional
4
32
1
122
1
30
Camada de rede 59
Árvores de grupo centradas
Existe um nó que é escolhido como centroNós enviam mensagens de participação ao nó central usando encaminhamento unicastMensagens de participação são expedidas até que cheguem ao nó central ou até um nó que já pertença à árvore multicast
1
2
3
Camada de rede 60
Expedição por caminho inverso
Difusão de um datagrama por toda a rede usando as tabelas de expedição unicastDatagrama é recebido pela interface que conduz ao caminho mais curto até à origem do datagrama
• Encaminhador propaga o datagrama
Redução do número de cópias enviadas
• Encaminhadores designados• Mensagens de corte
31
Camada de rede 61
Multicast na Internet
Distance Vector Multicast Routing Protocol (DVMRP)• Árvores de fonte• Expedição por caminho inverso
Multicast Open Shortest Path First (MOSPF)• Árvores de fonte
Core based Trees (CBT)• Árvore centrada
Protocol Independent Multicast (PIM)• Modo esparso: árvore centrada• Modo denso: árvores de fonte