Capítulo 4: Camada de Rede Modelo de serviço de rede Circuitos

Propaganda
Funções da camada de rede
❒ transporta pacote da estação
remetente à receptora
❒ protocolos da camada de rede
em cada estação, roteador
Capítulo 4: Camada de Rede
Antônio Abelém
Abelé[email protected]
4a-1
Modelo de serviço de rede
abstração do serviço
Q: Qual é o modelo de
serviço para o “canal”
que transporta pacotes
do remetente ao
receptor?
❒ largura de banda garantida?
❒ preservação de temporização
entre pacotes (sem jitter)?
❒ entrega sem perdas?
❒ entrega ordenada?
❒ realimentar informação
sobre congestionamento ao
remetente?
seguida por pacotes da origem
ao destino. Algoritmos de
❒
roteamento
comutação: mover pacotes
❒
estabelecimento da chamada:
rede
enlace
física
rede
enlace
física
determinação do caminho: rota
rede
enlace
física
algumas arquiteturas de rede
requerem determinar o caminho
antes de enviar os dados
rede
enlace
física
rede
enlace
física
rede
enlace
física
rede
enlace
física
dentro do roteador da entrada à
saída apropriada
aplicação
transporte
rede
enlace
física
4: Camada de Rede
4a-2
Circuitos virtuais
“caminho da-origem-ao-destino se comporta como um
circuito telefônico”
A abstração mais
importante provida
pela camada de rede:
? ?
?
❍
❍
em termos de desempenho
em ações da rede ao longo do caminho da-origem-ao-destino
❒ estabelecimento de cada chamada
circuito virtual
ou
datagrama?
antes do envio dos dados
❒ cada pacote tem ident. de CV (e não endereços origem/dest)
❒
cada roteador no caminho da-origem-ao-destino mantém “estado”
para cada conexão que o travessa
❍
conexão da camada de transporte só envolve os 2 sistemas terminais
❒ recursos de enlace, roteador (banda,
ao CV
❍
4: Camada de Rede
rede
enlace
física
três funções importantes:
❒
4: Camada de Rede
aplicação
transporte
rede
enlace
física
4a-3
buffers) podem ser alocados
para permitir desempenho como de um circuito
4: Camada de Rede
4a-4
Circuitos virtuais:
protocolos de sinalização
Rede de datagramas: o modelo da Internet
❒ não requer estabelecimento de chamada na camada de rede
usados para estabelecer, manter, destruir CV
❒ usados em ATM, frame-relay, X.25
❒ não usados na Internet de hoje
❒ roteadores: não guardam estado sobre conexões fim a fim
❒
❍
❍
aplicação
6. dados recebidos aplicação
transporte 5. começa fluxo de dados
4.
conexão
completa
3. chamada aceita transporte
rede
1. inicia chamada
rede
2. chegada de chamada
enlace
enlace
física
física
4: Camada de Rede
Internet
Modelo de
Banda
serviço
ATM
melhor
esforço
CBR
ATM
VBR
ATM
ABR
ATM
UBR
Garantias ?
Informa s/
Perdas Ordem Tempo congestion.?
nenhuma
não
não
não
taxa
constante
taxa
garantida
mínima
garantida
nenhuma
sim
sim
sim
sim
sim
sim
não
sim
não
não (inferido
via perdas)
sem
congestion.
sem
congestion.
sim
não
sim
não
não
❒ Modelo Internet está sendo estendido: Intserv, Diffserv
4: Camada de Rede
2 pacotes entre o mesmo par origem-destino podem seguir
caminhos diferentes
aplicação
transporte
rede
1. envia dados
enlace
física
aplicação
transporte
rede
2. recebe dados
enlace
física
4: Camada de Rede
4a-5
Modelos de serviço da camada de rede:
Arquitetura
de Rede
não existe o conceito de “conexão” na camada de rede
❒ pacotes são roteados tipicamente usando endereços de destino
4a-7
4a-6
Rede de datagramas ou CVs: por quê?
Internet
❒ troca de dados entre
ATM
❒ evoluiu da telefonia
computadores
❒ conversação humana:
❍ serviço “elástico”, sem
❍ temporização estrita,
reqs. temporais estritos
requisitos de
❒ sistemas terminais
confiabilidade
“inteligentes” (computadores)
❍ requer serviço
❍ podem se adaptar, exercer
garantido
controle, recuperar de
❒ sistemas terminais “burros”
erros
❍ telefones
❍ núcleo da rede simples,
❍ complexidade dentro da
complexidade na “borda”
rede
❒ muitos tipos de enlaces
❍ características diferentes
❍ serviço uniforme difícil
4: Camada de Rede
4a-8
Classificação de Algoritmos de
Roteamento
Roteamento
protocolo de roteamento
5
meta: determinar caminho
(seqüência de roteadores) “bom”
pela rede da origem ao destino
Abstração de grafo para
algoritmos de roteamento:
❒ nos do grafo são
roteadores
❒ arestas do grafo são os
enlaces físicos
❍
Informação global ou
descentralizada?
2
A
2
1
❒
D
3
C
3
1
5
F
1
E
2
caminho “bom”:
❍
custo do enlace: retardo,
financeiro, ou nível de
congestionamento
B
❍
tipicamente significa
caminho de menor custo
outras definições são
possíveis
4: Camada de Rede
❒ topologia da rede, custos dos
Notação:
❒ c(i,j): custo do enlace do nó
enlaces conhecidos por todos nós
❍ realizado através de “difusão
do estado de enlaces”
❒
❍ todos 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
Estático:
Global:
❒ rotas mudam lentamente
com o tempo
❒ todos roteadores têm info.
completa de topologia, custos
Dinâmico:
dos enlaces
❒ rotas mudam mais
❒ algoritmos “estado de enlaces”
rapidamente
Descentralizada:
❍ atualização periódica
❒ roteador conhece vizinhos
❍ em resposta a mudanças
diretos e custos até eles
nos custos dos enlaces
❒ processo iterativo de cálculo,
troca de info. com vizinhos
❒ algoritmos “vetor de distâncias”
4: Camada de Rede 4a-10
4a-9
Uma algoritmo de roteamento de
“estado de enlaces”
Algoritmo de Dijkstra
Estático ou dinâmico?
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
4: Camada de Rede 4a-11
O algoritmo de Dijkstra
1 Initialização:
2 N = {A}
3 para todos nós V
4
se V adjacente ao nó A
5
então D(V) = c(A,V)
6
senão D(V) = infinito
7
8 Repete
9 determina W não contido em N tal que D(W) é minizado
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
4: Camada de Rede 4a-12
Algoritmo Estado de Enlaces
Algoritmo de Dijkstra: exemplo
Passo
0
1
2
3
4
5
N inicial
A
AD
ADE
ADEB
ADEBC
ADEBCF
D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)
2,A
1,A
5,A
infinito
infinito
2,A
4,D
2,D
infinito
2,A
3,E
4,E
3,E
4,E
4,E
A
B
2
1
D
❒
❒
5
2
❒
3
C
3
1
5
F
1
E
❒
2
Cada roteador executa duas tarefas: testa o status de
todos os seus roteadores vizinhos e divulga o estado dos
enlaces para todos os outros roteadores.
Estes pacotes enviados para todos os roteadores, são
usados para construir uma base de dados topológica.
Cada roteador deve possuir uma base idêntica, e utiliza
o algoritmo de Dijkstra (shortest path first - SPF) para
calcular as melhores rotas para todos os destinos
A informação é retransmitida periodicamente, e depois
de mudanças de topologia
4: Camada de Rede 4a-13
4: Camada de Rede 4a-14
Detalhes de Estado de Enlaces
Comportamento Básico
Link State Databases
(Uma para cada Área)
Algoritmo de
Dijkstra
❒
Cada roteador usa as informações de estado dos
enlaces (link-state) locais e recebidas de roteadores
adjacentes para construir uma tabela de rotas que
modele a configuração da inter-rede
❍
❍
SPF Tree
❍
Tabela de
Roteamento
4: Camada de Rede
Informações de estado dos enlaces são armazenadas em
uma base de dados de estado de enlaces (L. S. Database).
usa-se um protocolo de inundação, que transmite a
informação (datada!) aos seus vizinhos, que a
retransmitem, e assim sucessivamente, até alcançar a
todos os nós.
Ao (r)estabelecer conectividade, as partes envolvidas
devem comparar os BDs e manter somente a versão mais
atual para cada registro.
4: Camada de Rede 4a-16
Segurança
Métricas Múltiplas
❒ Objetivo é manter cópias sincronizadas da BD do
estado de enlaces
❒ Para proteger a BD contra corrupção usa-se:
Reconhecimento de mensagens entre vizinhos no
algoritmo de inundação
❍ Cada registro da BD protegido por temporização
❍ Todos registros usam checksum
❍ Transmissão segura de registros do BD
❍ Todas as mensagens podem ser autenticadas
❍
❒ Suporte possível para diferentes métricas
❍ maior vazão
❍ menor retardo
❍ menor custo (financeiro)
❍ melhor confiabilidade
❒ Uso de métricas múltiplas requer:
❍ documentar diversas métricas por enlace
❍ calcular tabelas de rotas diferentes por métrica
❍ indicar qual métrica deve ser usada pelo pacote a
ser roteado (TOS)
• Autenticação pode ser diferente para cada sub-rede ou
conjunto de sub-redes IP (Área)
• 0: Sem autenticação; 1: Senha não criptografada; 2: senha
criptografada
4: Camada de Rede 4a-17
Árvore SPF para o Roteador
RT6
Um Exemplo
N12
3
N1
3
N2
RT1
8
1
1
N3
RT3
8
RT4
RT2 1
1
8
8
RT5
6
3
RT9
N13
N14
8
6
N9
RT11
3
N2
H1
10
RT12
2
RT1
N3
1
RT2
Ib
5
RT10
N12
N10
5
N9
N15
RT11
RT10
1
N6
3
N8
4
RT8
10
H1
4: Camada de Rede 4a-19
1
N12
RT7 9
7
Ia
1
N7
2
RT6
N6
4
N14
8
Ib
3
RT9
1
8
6
6
7
N4
N11
N15
N13
RT5
2 RT3
6 2
RT7
1 9
7
N8
1
3
8
RT6
1
2
3
N1
N4
1
N12
RT4
7
6
Ia
2
N11
8
4: Camada de Rede 4a-18
RT8
2
RT12
N10
N7
4: Camada de Rede 4a-20
Protocolo RIP
Tabela de Rotas - RT6
Type
Dest
Area
N
N
N
N
N
N
N
N
N
N
N
N
N
ASBR
ASBR
N
N
N
N
N1
N2
N3
N4
Ib
Ia
N6
N7
N8
N9
N10
N11
H1
RT5
RT7
N12
N13
N14
N15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
*
*
*
*
Path
Type
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
3
3
3
Cost
Next Hop
10
10
7
8
7
12
8
12
10
11
13
14
21
6
8
10
14
14
17
RT3
RT3
RT3
RT3
*
RT10
RT10
RT10
RT10
RT10
RT10
RT10
RT10
RT5
RT10
RT10
RT5
RT5
RT10
(Routing Information Protocol)
Adv.
Router(s)
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
RT7
RT5
RT5
RT7
❒ Utiliza Algoritimo de Vetor de Distância
(Distance Vector Protocol)
❒ Cada roteador comunica a seus vizinhos que
possui rotas para determinados pontos da
Inter-rede
❒ Alta carga na rede e grandes tabelas de rotas
❒ Difundido nos programas
routed e gated
❒ RIP v1 não suporta sub-rede na divulgação
4: Camada de Rede 4a-21
Algoritmo Vetor de Distâncias
(Bellman-Ford)
4: Camada de Rede
Rede Exemplo
❒ cada roteador sabe o custo dos seus enlaces à
seus vizinhos
❒ ele mantém uma tabela de rotas, a qual inclui
para cada destino conhecido a distância (custo)
para alcançá-lo (vetor de distâncias)
❒ periodicamente ele envia para seus vizinhos
uma cópia da sua tabela de rotas, e recebe
cópias das deles.
❒ se uma destas tabelas revela uma rota nova, ou
uma de menor custo do que uma atual, esta
será incorporada na tabela local.
4: Camada de Rede 4a-23
A
1
2
C
4
3
D
B
5
nós:
enlaces:
E
6
A, B, C, D e E
1, 2, 3, 4, 5 e 6.
4: Camada de Rede 4a-24
Partida Fria
Partida Fria
❒ Vamos supor que o custo de cada enlace
❒ Cada nó enviará sua tabela para seus
seja 1
❒ Inicialmente, cada roteador desconhece
seus vizinhos: sua tabela de rotas contêm
apenas o próprio nó, com distância 0.
❒ Por exemplo, para o nó A temos:
Destino
A
Enlace
local
Custo
0
vizinhos pelos enlaces comuns.
❒ Após receber as mensagens de B e D, a
tabela de A será reformulada:
Destino
A
B
D
Enlace
local
1
3
Custo
0
1
1
ou seja, seu vetor de distâncias agora se
tornou:
A=0, B=1, D=1
e o vetor de distâncias é:
A=0
4: Camada de Rede 4a-25
Partida Fria
❒
❒
❒
Queda de um Enlace
O processo continua. O resultado final em A é:
Destino
A
B
D
C
E
4: Camada de Rede 4a-26
Enlace
local
1
3
1
1
Custo
0
1
1
2
2
Existem resultados semelhantes nos demais nós:
Os nós descobriram a topologia da rede
❒ Supomos que, depois de estabilizadas as
tabelas, cai o enlace 1 (entre A e B)
A
B
2
C
4
3
D
4: Camada de Rede 4a-27
1
5
E
6
4: Camada de Rede 4a-28
Queda de um Enlace
Queda de um Enlace
❒ As novas tabelas de A e B têm custo
❒ Após executar o algoritmo até convergir
infinito para as rotas usando o caminho
entre eles.
Destino
A
B
D
C
E
Enlace
local
1
3
1
1
Custo
0
infinito
1
infinito
infinito
Destino
B
A
D
C
E
Enlace
local
1
1
2
4
temos uma nova topologia, com
conectividade global
Custo
0
infinito
infinito
1
1
Destino
A
B
D
C
E
Enlace
local
3
3
3
3
Custo
0
3
1
3
2
Destino
B
A
D
C
E
Enlace
local
4
4
2
4
4: Camada de Rede 4a-29
Convergência lenta (“bouncing
effect”)
❒ A convergência a uma nova topologia pode
demorar, por causa do tempo para
“esquecer” rotas antigas.
❒ Consideramos a rede exemplo original, com
queda do enlace 2, onde o custo do enlace 6
é 10, permanecendo os demais custos iguais
a1
1
A
B
5
E
B - C = inf
C
4
3
D
2
6
Custo=10
4: Camada de Rede 4a-31
Custo
0
3
2
1
1
4: Camada de Rede 4a-30
Convergência lenta (“bouncing
effect”)
❒ Suponha que A mande seu vetor de
distâncias (para B e D) antes de B fazê-lo
❒ B irá adicionar o custo de um salto (1) ao
valor difundido por A (2) e atualizará sua
tabela criando um loop
De/Para
A para C
B para C
C para C
D para C
E para C
Enlace
1
1
local
3
4
Custo
2
3
0
3
2
4: Camada de Rede 4a-32
Convergência lenta (“bouncing
effect”)
❒ Os pacotes irão ficar circulando na rede
até o TTL deles expirar
❒ Além disso, as tabelas de rotas também
ficarão sendo atualizadas com valores de
custos dos enlaces inconsistentes
Contagem até Infinito
❒ Pior resultado é obtido quando a rede é
particionada por quedas de enlace.
❒ Consideramos o caso da queda simultânea
dos enlaces 1 e 5
A
❒ Esse processo irá continuar até que a rede
volte a um estado estável, com versões
coerentes nas tabelas de rota
1
5
E
4: Camada de Rede 4a-33
Remédios para convergência
lenta
❒
destinos roteados por este enlace
Ativos geram broadcast a cada 30s
Roteador mantêm uma rota como válida por 180s
❒ Não trata da velocidade das rotas
❒
Todos nós incluídos nas mensagens: mas com custo
❍
infinito se roteado por este enlace
❒
Participantes são ativos (divulgam vetores de
distância) ou passivos (somente “escutam”
informações de outros roteadores e atualizam tabelas
de rotas)
❍
“Split horizon with poison reverse”
6
Protocolo RIP
Não enviar através de um enlace informação sobre
❒
C
4: Camada de Rede 4a-34
❒
“Split horizon”
2
4
3
D
B
❍
“Triggered updates” - quando enviar mensagens?
1. com freqüência pré-determinada
❒
2. quando ocorrer mudanças de topologia
4: Camada de Rede 4a-35
Os roteadores RIP são configurados geralmente com custo 1
para entrada em dado enlace => HOP count
Máximo hops == 16 == infinito, logo o diâmetro máximo da
rede deve ser de 15 saltos
Uma rota é mantida até que uma melhor seja divulgada
❍
Se existirem duas rotas para a mesma rede com o mesmo
custo, o roteador RIP mantêm apenas a primeira que
aprendeu na Tabela de Rotas
4: Camada de Rede
Formato da Mensagem RIP
Mensagem RIP
0
❒ As mensagens RIP são transportadas via
datagramas UDP na porta 520
7
15
Octeto 1
Octeto 2
COMMAND
VERSION
23
Octeto 3
31
Octeto 4
MUST BE ZERO
FAMILY OF NET 1
MUST BE ZERO
IP ADDRESS OF NET 1
MUST BE ZERO
MUST BE ZERO
Datagrama IP
DISTANCE TO NET 1
FAMILY OF NET 2
Datagrama UDP
MUST BE ZERO
IP ADDRESS OF NET 2
Cabeçalho IP
Cabeçalho UDP
Mensagem RIP
MUST BE ZERO
MUST BE ZERO
DISTANCE TO NET 2
...
4: Camada de Rede
Campos da Mensagem RIP
RIP - Operação
❒
❒
COMMAND
1
2
3
4
5
Iniciação
❍
Request for partial or full routing info
Response containing routing info
Trace mode on (obsoleto)
Trace mode off (obsoleto)
Reserved
VERSION: 1 ou 2 - RIP v.2
❒ FAMILY OF NET (2 para IP)
❒
❍
4: Camada de Rede
Processo de roteamento descobre quais as interfaces do
roteador que estão operacionais
Por cada uma destas interfaces, troca informações com
roteadores vizinhos, solicitando suas TR’s completas
❒
Atualizações regulares
❒
Atualizações por evento
❒
Remoção por time-out
❍
❍
Rota default é representada pelo endereço IP 0.0.0.0
Cada mensagem informa até 25 rotas
4: Camada de Rede
❍
❍
A cada 30 segundos envia entradas da TR
Sempre que o custo associado a uma rota muda
Após 180s, a rota mantida na tabela de rotas expira
Custo é ajustado para 16 e a rota é mantida por mais 120s
4: Camada de Rede 4a-40
Protocolo RIP
A
Protocolo RIP
B
C
G1
A
B
G2
G1
Rede 1
Rede 3
G2
Rede 1
Rede 3
Rede 2
Rede 2
Tabela de Rotas
Rede GW M
Rede GW M
Rede GW M
C
Tabela de Rotas
Rede GW M
Rede GW M
Rede GW M
Rede 1 - 1
Rede GW M
Rede GW M
Rede 2 - 1
Rede GW M
4: Camada de Rede
Protocolo RIP
A
4: Camada de Rede
Protocolo RIP
B
C
G1
A
B
G2
Rede 3
Rede 3
G1 Rede 2 1
G1 Rede 1 1
Tabela de Rotas
Rede GW M
Rede 2 - 1
G2
Rede 1
Rede 2
Rede GW M
Rede 1 - 1
Rede 2 - 1
C
G1
Rede 1
Rede GW M
Rede 1 - 1
Rede GW M
Rede 3 - 1
Rede 2
Tabela de Rotas
Rede GW M
Rede GW M
Rede 3 - 1
4: Camada de Rede
Rede GW M
Rede 1 - 1
Rede GW M
Rede 1 - 1
Rede 2 - 1
Rede GW M
Rede 2 - 1
Rede GW M
Rede GW M
Rede 3 - 1
4: Camada de Rede
Protocolo RIP
A
Protocolo RIP
B
C
G1
A
B
G2
G1
Rede 2
Rede 1
G1 Rede 2 1
Rede 3
G2
Rede 1
Rede 3
Rede 2
G1 Rede 1 1
Tabela de Rotas
Rede GW M
Rede 1 - 1
Rede 2 G1 2
Rede GW M
Rede 1 - 1
Rede 2 - 1
Rede GW M
Rede 2 - 1
Rede 1 G1 2
C
G1 Rede 1 1
Tabela de Rotas
Rede GW M
Rede 2 - 1
Rede 3 - 1
Rede GW M
Rede 3 - 1
Rede GW M
Rede 1 - 1
Rede 2 G1 2
Rede GW M
Rede 1 - 1
Rede 2 - 1
Rede GW M
Rede 2 - 1
Rede 1 G1 2
Rede
Rede 2
Rede 3
Rede 1
GW M
- 1
- 1
G1 2
4: Camada de Rede
Protocolo RIP
A
4: Camada de Rede
Protocolo RIP
B
C
G1
A
B
G2
Rede 3
Rede 2
G2 Rede 3 1
Rede 1
Rede GW M
Rede 2 - 1
Rede 1 G1 2
Rede
Rede 2
Rede 3
Rede 1
G2
Rede 2
G2 Rede 1 2
G2 Rede 2 1
Rede 3
G2 Rede 3 1
Tabela de Rotas
Rede GW M
Rede 1 - 1
Rede 2 - 1
C
G1
Rede 1
Rede GW M
Rede 1 - 1
Rede 2 G1 2
Rede GW M
Rede 3 - 0
G2 Rede 1 2
G2 Rede 2 1
Tabela de Rotas
GW M
- 1
- 1
G1 2
Rede GW M
Rede 3 - 1
4: Camada de Rede
Rede GW M
Rede 1 - 1
Rede 2 G1 2
Rede GW M
Rede 1 - 1
Rede 2 - 1
Rede
Rede 2
Rede 1
Rede 3
GW M
- 1
G1 2
G2 2
Rede
Rede 2
Rede 3
Rede 1
GW M
- 1
- 1
G1 2
Rede
Rede 3
Rede 1
Rede 2
GW M
4: Camada de Rede
- 1
G2 3
G2 2
Protocolo RIP
Protocolo RIP
A
B
C
G1
A
B
G2
G1
Rede 1
Rede 3
Rede 3
G1 Rede 2 1
G1 Rede 3 2
G1 Rede 1 1
Rede
Rede 1
Rede 2
Rede 3
Rede
Rede 2
Rede 1
Rede 3
GW M
- 1
- 1
G2 2
GW M
- 1
G1 2
G2 2
Rede 2
Tabela de Rotas
Tabela de Rotas
Rede GW M
Rede 1 - 1
Rede 2 G1 2
G2
Rede 1
Rede 2
G2 Rede 3 1
C
Rede
Rede 2
Rede 3
Rede 1
GW M
- 1
- 1
G1 2
Rede
Rede 3
Rede 1
Rede 2
GW M
- 1
G2 3
G2 2
Rede GW M
Rede 1 - 1
Rede 2 G1 2
Rede
Rede 1
Rede 2
Rede 3
GW M
- 1
- 1
G2 2
Rede
Rede 2
Rede 1
Rede 3
GW M
- 1
G1 2
G2 2
Rede
Rede 2
Rede 3
Rede 1
GW M
4: Camada de Rede
C
G1
G2
Comunicação entre roteadores é feita por multicast
❒
Permite a definição de máscaras de redes diferentes
para sub-redes diferentes
Rede 3
G1 Rede 1 1
❒
GW M
- 1
G1 2
G1 3
Rede
Rede 1
Rede 2
Rede 3
GW M
- 1
- 1
G2 2
Rede
Rede 2
Rede 1
Rede 3
GW M
- 1
G1 2
G2 2
Rede
Rede 2
Rede 3
Rede 1
Aproveita os campos “deve ser zero” do RIP-1 para
introduzir nova funcionalidade de modo “compatível”.
Tabela de Rotas
Rede
Rede 1
Rede 2
Rede 3
- 1
G2 3
G2 2
❒
Rede 2
G1 Rede 2 1
G1 Rede 3 2
GW M
RIP 2 - Extensões ao RIP 1
B
Rede 1
Rede
Rede 3
Rede 1
Rede 2
4: Camada de Rede
Protocolo RIP
A
- 1
- 1
G1 2
GW M
- 1
- 1
G1 2
Rede
Rede 3
Rede 1
Rede 2
GW M
4: Camada de Rede
- 1
G2 3
G2 2
❒
Possibilita uso de autenticação (fraca)
❍
Atualmente, texto livre (plain text)
4: Camada de Rede 4a-52
Roteamento Hierárquico
Formato da Mensagem RIP2
0
7
15
Octeto 1
Octeto 2
COMMAND (1)
VERSION (2)
23
Octeto 3
31
Octeto 4
MUST BE ZERO
FAMILY OF NET 1
Neste estudo de roteamento fizemos uma idealização:
❒ todos os roteadores idênticos
❒ rede “não hierarquizada” (“flat”)
… não é verdade, na prática
ROUTE TAG
IP ADDRESS OF NET 1
SUBNET MASK
NEXT HOP GATEWAY
escala: com > 100 milhões
de destinos:
autonomia administrativa
❒ impossível guardar todos
❒ cada admin de rede pode
destinos na tabela de rotas!
❒ troca de tabelas de rotas
afogaria os enlaces!
DISTANCE TO NET 1
...
❒ internet = rede de redes
querer controlar roteamento
em sua própria rede
4: Camada de Rede
Autonomous Systems
Roteamento Hierárquico
❒ agregar roteadores em
regiões, “sistemas
autônomos” (ASs)
❒ roteadores no mesmo AS
usam o mesmo protocolo de
roteamento
❍
❍
protocolo de roteamento
“intra-AS”
roteadores em ASs
diferentes podem usar
diferentes protocolos de
roteamento inter-AS
4: Camada de Rede 4a-54
roteadores de borda
❒ roteadores especiais no
AS
❒ usam protocolo de
roteamento intra-AS com
todos os demais
roteadores no AS
❒ também responsáveis por
rotear para destinos fora
do AS
❍ usam protocolo de
roteamento “inter-AS”
com outros roteadores
de borda
4: Camada de Rede 4a-55
❒ A princípio não existe um limite teórico
para o tamanho de um AS:
pode ser uma simples rede local
pode ser uma rede corporativa inteira
❍ pode ser um conjunto de redes de clientes de
um provedor de conectividade Internet
❍
❍
❒ AS usa um IGP - protocolo de roteamento
interno - para calcular rotas internas
❒ AS usa um EGP - protocolo de roteamento
externo - para trocar informação sobre
rotas com outros ASs
4: Camada de Rede 4a-56
Tipos de AS
Internet Hoje
Stub AS
Empresa
❒ AS folha (Stub AS)
❍ AS com apenas 1 conexão para outro AS
❒ AS com Múltipla Conectividade (Multihomed AS)
❍ AS com várias conexões para outros ASs mas que não
aceita tráfego não-local
Empresa
Empresa
Provedor
Stub AS
• Tráfego não-local == Tráfego que não se originou no AS e nem
se destina ao AS
Provedor
Provedor
❒ AS de Trânsito (Transit AS)
❍ AS com várias conexões para outros ASs e que aceita
tráfego não local, freqüentemente sob certas
condições (policy restrictions)
Provedor
Empresa
Empresa
4: Camada de Rede
Roteamento Intra-SA e Inter-SA
C.b
❒ Utilizados no Brasil nos provedores principais
(com conexão ao exterior) e usuários com
conexões a mais de um AS
ASs no Brasil:
❍
a
C
Roteadores de borda:
B.a
❒ Número de 16 bits (~64K possíveis)
❒
Empresa
Multi-homed AS
4: Camada de Rede 4a-57
Identificação de AS
Transit AS
A.a
b
A.c
d
A
a
b
c
a
c
B
b
•fazem roteamento
inter-AS entre si
•fazem roteamento
intra-AS com outros
roteadores do seu
próprio AS
camada de rede
RNP (1916), RedeRio (2715), Embratel (4230),
Uninet (5772), GlobalOne (6505), Inside (7063),
Roteamento
inter-AS, intra-AS no
roteador de borda A.c
camada de enlace
camada física
Intelig (17379) …
4: Camada de Rede
4: Camada de Rede 4a-60
Roteamento Intra-SA e Inter-SA
C.b
a
C
Estação
e1
b
A.a
a
Inter-AS: roteadores de fronteira (exterior gateways)
roteamento
Inter-AS
entre
B.a
AeB
A.c
d
c
b
A
roteamento
Intra-AS no AS A
a
Hierarquia de ASs na Internet
c
B
Estação
e2
b
roteamento
Intra-AS no AS B
Intra-AS: roteadores internos (interior gateways)
4: Camada de Rede 4a-61
Roteamento Inter-AS
4: Camada de Rede 4a-62
Roteamento inter-AS na Internet: BGP
BGP (Border Gateway Protocol): o padrão de fato
❒ Protocolo Vetor de Caminhos :
❍ semelhante ao protocolo de Vetor de Distâncias
❍ cada Border Gateway (roteador de fronteira)
difunda aos vizinhos (pares) caminho inteiro (i.é.,
seqüência de ASs) ao destino
❍ p.ex., roteador de fronteira X pode enviar seu
caminho ao destino Z:
❒
Path (X,Z) = X,Y1,Y2,Y3,…,Z
4: Camada de Rede 4a-63
4: Camada de Rede 4a-64
Roteamento inter-SA na Internet: BGP
Roteamento inter-SA na Internet: BGP
Supomos: roteador X envia seu caminho para roteador W
❒
mensagens BGP trocadas usando TCP.
❒
mensagens BGP:
W pode ou não selecionar o caminho oferecido por X
❍ razões de custo, políticas (não roteia via o SA de um
concorrente), evitar ciclos.
❒ Se W seleciona caminho anunciado por X, então:
Caminho (W,Z) = W, Caminho (X,Z)
❒ Note: X pode controlar tráfego de chegada através do
controle dos seus anúncios de rotas aos seus pares:
❍ p.ex., se não quero receber tráfego para Z -> não
anuncia rotas para Z
❒
❍
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
4: Camada de Rede 4a-65
Por quê tem 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
4: Camada de Rede 4a-66
A Camada de Rede na Internet
Funções da camada de rede em estações, roteadores:
❒
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
❒
4: Camada de Rede 4a-67
Camada de transporte: TCP, UDP
Camada
de rede
protocolo IP
•convenções de endereços
•formato do datagrama
•convenções de manuseio do pct
Protocolos de rot.
•seleção de rotas
•RIP, OSPF, BGP
Tabela
de rotas
protocolo ICMP
•relata erros
•“sinalização” de roteadores
Camada de enlace
Camada física
4: Camada de Rede 4a-68
Endereçamento IP: introdução
Endereçamento IP
❒ endereço IP: ident. de
❒
223.1.1.1
32-bits para interface de
estação, roteador
❒ interface: conexão entre
estação, roteador e
enlace físico
❍
❍
❍
223.1.1.2
223.1.1.4
❍
223.1.2.9
223.1.3.27
223.1.1.3
roteador típico tem
múltiplas interfaces
estação pode ter
múltiplas interfaces
endereço IP associado à
interface, não à estação
ou roteador
223.1.2.1
❍
223.1.2.2
❒
223.1.3.2
223.1.3.1
223.1.1.1 = 11011111 00000001 00000001 00000001
223
1
endereço IP:
1
1
223.1.1.1
part de rede (bits de
mais alta ordem)
parte de estação (bits
de mais baixa ordem)
223.1.1.2
223.1.1.4
O quê é uma rede IP?
223.1.1.3
(da perspectiva do
endereço IP)
❍ interfaces de
dispositivos com a
mesma parte de rede
nos seus endereços IP
❍ podem alcançar um ao
outro sem passar por
um roteador
Como achar as redes?
❒ disassociar cada
interface do seu
roteador, estação
❒ criar “ilhas” de redes
isoladas
223.1.1.2
223.1.1.1
LAN
223.1.3.1
223.1.3.2
Esta rede consiste de 3 redes IP
(para endereços IP começando com
223, os primeiros 24 bits são a
parte de rede)
4: Camada de Rede 4a-70
dada a noção de “rede”, vamos reexaminar endereços IP:
223.1.1.4
endereçamento “baseado em classes”:
223.1.1.3
223.1.9.2
classe
223.1.7.0
A
0 rede
B
10
C
110
D
1110
1.0.0.0 to
127.255.255.255
estação
rede
estação
223.1.7.1
223.1.8.1
223.1.8.0
223.1.2.6
223.1.2.1
223.1.2.2
Endereços IP
223.1.9.1
Sistema interligado
consistindo de
seis redes
223.1.2.9
223.1.3.27
4: Camada de Rede 4a-69
Endereçamento IP
223.1.2.1
223.1.3.27
223.1.2.2
223.1.3.1
223.1.3.2
4: Camada de Rede 4a-71
rede
estação
endereço multiponto
128.0.0.0 to
191.255.255.255
192.0.0.0 to
223.255.255.255
224.0.0.0 to
239.255.255.255
32 bits
4: Camada de Rede 4a-72
Endereçamento IP: CIDR
Endereços IP: como conseguir um?
❒ Endereçamento baseado em classes:
❍
❍
uso ineficiente e esgotamento do espaço de endereços
p.ex., rede da classe B aloca endereços para 65K estações,
mesmo se houver apenas 2K estações nessa rede
❒ CIDR: Classless InterDomain Routing
❍
❍
parte de rede do endereço de comprimento arbitrário
formato de endereço: a.b.c.d/x, onde x é no. de bits na
parte de rede do endereço
parte
de rede
parte de
estação
11001000 00010111 00010000 00000000
Estações (parte de estação):
❒ codificado pelo administrador num arquivo
❒ DHCP: Dynamic Host Configuration Protocol:
obtém endereço dinamicamente: “plug-and-play”
❍
estação difunde mensagem “DHCP discover”
❍
servidor DHCP responde com “DHCP offer”
❍
estação solicita endereço IP: “DHCP request”
❍
servidor DHCP envia endereço: “DHCP ack”
200.23.16.0/23
4: Camada de Rede 4a-73
Mensagens DHCP
4: Camada de Rede 4a-74
Processo de “Lease” DHCP
DHCP DISCOVER - Broadcast para localização de servidor DHCP
DHCP OFFER - Oferta de endereço IP para um cliente
DHCP REQUEST - Requisição do endereço IP oferecido (bcast)
DHCP DECLINE - Informa que houve um erro na oferta
DHCP ACK - Confirmação do servidor sobre a atribuição do end.
DHCP NAK - Negativa de fornecimento do endereço (raro)
DHCP RELEASE - Cliente libera o endereço IP utilizado (raro)
DHCP INFORM - Cliente que já possui endereço IP pode requisitar outras
DHCP DISCOVER (broadcast, UDP 67)
A
DHCP OFFER (IP, tempo, params) de A
DHCP OFFER (IP, tempo, params) de B
DHCP REQUEST para A (broadcast)
ou
DHCP DECLINE para A (parâmetros errados)
B
DHCP ACK de A
ou
DHCP NACK de A
informações de configuração respectivas àquele endereço
4: Camada de Rede 4a-75
4: Camada de Rede 4a-76
Endereços IP: como conseguir um?
Rede (parte de rede):
❒ conseguir alocação a partir do espaço de
endereços do seu provedor IP
Bloco do
provedor
Organização 0
11001000 00010111 00010000 00000000
200.23.16.0/20
Endereçamento hierárquico: agregação de
rotas
Endereçamento hierárquico permite anunciar
eficientemente informação sobre rotas:
Organização 0
200.23.16.0/23
Organização n 1
200.23.18.0/23
11001000 00010111 00010000 00000000
200.23.16.0/23
Organização 1
11001000 00010111 00010010 00000000
200.23.18.0/23
Organização 2
...
11001000 00010111 00010100 00000000
…..
….
200.23.20.0/23
….
Organização 7
11001000 00010111 00011110 00000000
200.23.30.0/23
4: Camada de Rede 4a-77
Endereçamento hierárquico: rotas mais
específicas
Organização 0
200.23.16.0/23
200.23.20.0/23
Organização 7
.
.
.
.
.
.
Provedor A
200.23.20.0/23
Organização 7
.
.
.
.
.
.
Provedor A
Internet
200.23.30.0/23
Provedor B
“mande-me qq coisa
com endereços que
começam com
199.31.0.0/16”
4: Camada de Rede 4a-78
Endereçamento IP: a última palavra...
P: Como um provedor IP consegue um bloco de
endereços?
A: ICANN: Internet Corporation for Assigned
Provedor B tem uma rota mais específica para a Organização 1
Organização 2
Organização 2
“mande-me qq coisa
com endereços que
começam com
200.23.16.0/20”
“mande-me qq coisa
com endereços que
começam com
200.23.16.0/20”
Internet
Names and Numbers
❍ aloca endereços
❍ gerencia DNS
❍ aloca nomes de domínio, resolve disputas
200.23.30.0/23
Provedor B
Organização 1
200.23.18.0/23
“mande-me qq coisa
com endereços que
começam com 199.31.0.0/16
ou 200.23.18.0/23”
4: Camada de Rede 4a-79
(no Brasil, estas funções foram delegadas ao
Registro nacional, sediado na FAPESP (SP), e
comandado pelo Comitê Gestor Internet BR)
4: Camada de Rede 4a-80
Enviando um datagrama da origem ao destino
tabela de rotas em A
rede dest. próx. rot.
223.1.1
223.1.2
223.1.3
datagrama IP:
campos end. IP end. IP
misc origem dest
dados
1
2
2
223.1.1.4
223.1.1.4
B
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
❒ procura endereço de rede de B
223.1.2.1
223.1.2.2
E
223.1.3.2
4: Camada de Rede 4a-81
Enviando um datagrama da origem ao destino
aampos
dados
misc 223.1.1.1 223.1.2.2
OrigemA, destino E:
❒ procura endereço de rede de E
❒ E numa rede
diferente
rede dest. próx. rot.
223.1.1
223.1.2
223.1.3
223.1.1.4
223.1.1.4
Nenlaces
1
2
2
❒
❒
❒
rede que A
❒ camada de enlace remeterá
datagrama direamente para B
num quadro da camada de
enlace
❍ B e A estão diretamente
ligados
223.1.1
223.1.2
223.1.3
A, E não ligados diretamente
223.1.2.1
tabela de rotas: próximo
223.1.1.2
223.1.1.4 223.1.2.9
roteador na rota para E é
B
223.1.1.4
223.1.2.2
E
223.1.1.3 223.1.3.27
camada de enlace envia
datagrama ao roteador 223.1.1.4
223.1.3.2
223.1.3.1
num quadro da camada de enlace
datagrama chega a 223.1.1.4
continua…
4: Camada de Rede 4a-83
Nenlaces
1
2
2
223.1.1.4
223.1.1.4
A 223.1.1.1
B
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
E
223.1.3.2
223.1.3.1
4: Camada de Rede 4a-82
Enviando um datagrama da origem ao destino
aampos
dados
misc 223.1.1.1 223.1.2.2
Chegando a 223.1.1.4,
destinado a 223.1.2.2
❒ procura endereço de rede de E
A 223.1.1.1
❍
❒
rede dest. próx. rot.
❒ descobre que B é da mesma
223.1.2.9
223.1.3.27
aampos
dados
misc 223.1.1.1 223.1.1.3
Supomos um datagrama IP
originando em A, e
endereçado a B:
A 223.1.1.1
❒ datagrama permanece
inalterado, enquanto passa
da origem ao destino
❒ campos de endereços de
interesse aqui
Nenlaces
Enviando um datagrama da origem ao destino
❒ E fica na mesma rede que a
interface 223.1.2.9 do roteador
❍ roteador, E estão
diretamente ligados
❒ camada de enlace envia
datagrama p/ 223.1.2.2 dentro
de quadro de camada de enlace
via interface 223.1.2.9
❒ datagrama chega a 223.1.2.2!!!
rede
dest.
223.1.1
223.1.2
223.1.3
próx.
rot. Nenl. interface
-
1
1
1
223.1.1.4
223.1.2.9
223.1.3.27
A 223.1.1.1
B
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
E
223.1.3.2
4: Camada de Rede 4a-84
Formato do datagrama IP
número da versão
do protocolo IP
comprimento do
cabeçalho (bytes)
“tipo” dos dados (DS)
número máximo
de enlaces restantes
(decrementado a
cada roteador)
protocolo da camada
superior ao qual
entregar os dados
32 bits
ver comp. tipo de
cab serviço
comprimento
início do
ident. 16-bits bits
fragmento
sobre- camada
checksum
vida superior
Internet
comprimento total
do datagrama
(bytes)
para
fragmentação/
remontagem
endereço IP de origem 32 bits
endereço IP de destino 32 bits
Opções (se tiver)
dados
(comprimento variável,
tipicamente um segmento
TCP ou UDP)
p.ex. temporizador,
registrar rota
seguida, especificar
lista de roteadores
a visitar.
IP: Fragmentação & Remontagem
cada enlace de rede tem MTU
(max.transmission unit) maior tamanho possível de
quadro neste enlace.
❍ tipos diferentes de enlace
têm MTUs diferentes
❒ datagrama IP muito grande
dividido (“fragmentado”)
dentro da rede
❍ um datagrama vira vários
datagramas
❍ “remontado” apenas no
destino final
❍ bits do cabeçalho IP
usados para identificar,
ordenar fragmentos
relacionados
❒
fragmentação:
entrada: um datagrama
grande
saída: 3 datagramas
menores
remontagem
4: Camada de Rede 4a-85
IP: Fragmentação & Remontagem
compr ID bit_frag início
=4000 =x
=0
=0
4: Camada de Rede 4a-86
ICMP: Internet Control Message Protocol
usado por estações,
roteadores para comunicar
informação s/ camada de rede
❍ relatar erros: estação,
rede, porta, protocolo
inalcançáveis
❍ pedido/resposta de eco
(usado por ping)
❒ camada de rede “acima de” IP:
❍ msgs ICMP transportadas
em datagramas IP
❒ mensagem ICMP: tipo, código
mais primeiros 8 bytes do
datagrama IP causando erro
❒
um datagrama grande vira
vários datagramas menores
compr ID bit_frag início
=1500 =x
=1
=0
compr ID bit_frag início
=1500 =x
=1
=1480
compr ID bit_frag início
=1040 =x
=0
=2960
4: Camada de Rede 4a-87
Tipo
0
3
3
3
3
3
3
4
8
9
10
11
12
Código descrição
0
resposta de eco (ping)
0
rede dest. inalcançável
1
estação dest inalcançável
2
protocolo dest inalcançável
3
porta dest inalcançável
6
rede dest desconhecida
7
estação dest desconhecida
0
abaixar fonte (controle de
congestionamento - ñ usado)
0
pedido eco (ping)
0
anúncio de rota
0
descobrir roteador
0
TTL (sobrevida) expirada
0
erro de cabeçalho IP
4: Camada de Rede 4a-88
Download