Funções e Modelos da Camada de Rede
Funções e Modelos da Camada de Rede
robson@[Link]
Camada de Rede
1
Camada de Rede
Conteúdo Programático
◼ Roteamento hierárquico
◼ Inter-domain
◼ Ipv6
2
Funções da Camada de Rede
Q: como escolher um
modelo de serviço para o
canal transportando Nível mais geral
pacotes da origem ao de abstração na
destino? camada de rede
Banda-passante garantida?
? ?
◼
◼ Preservação dos intervalos circuito virtual
entre pacotes? ou
Entrega sem perdas? datagrama
◼
◼
◼
Entrega em ordem?
Realimentação de informação
de congestionamento?
?
R: O modelo de serviço de rede define as caracteristicas do
transporte de dados fim a fim entre uma borda da rede e
outra (sistemas finais) 4
Modelo do Serviço de Rede
Circuitos Virtuais (VC)
6
Modelo do Serviço de Rede
Circuitos Virtuais: Sinalização
◼ Mensagens de Sinalização: Usadas para estabelecer, manter e
encerrar Circuitos Virtuais
◼ Manter = atualizar tabelas nos roteadores
◼ Protocolos de Sinalização utilizados para trocar tais mensagens
◼ Usados em: ATM, Frame-Relay e X-25, mas não na Internet
aplicação
6. Recebe Dados aplicação
transporte 5. Inicia Fluxo de dados
4. Chamada conectada 3. Aceita chamada transporte
rede
rede
enlace
enlace
fisica
fisica
1. Inicia Chamada 2. Chamada entrando
7
Modelo do Serviço de Rede
Redes Datagrama: o modelo da Internet
◼ Não existem conexões na camada de transporte
◼ Não há informação de estado de conexão nos roteadores
◼ Não existe conexão na camada de rede
◼ Pacotes tipicamente transportam o endereço de destino
◼ Pacotes para o mesmo destino podem seguir diferentes rotas
aplicação
aplicação
transporte
transporte
rede
rede
enlace 1. Envia dados 2. Recebe dados
enlace
fisica
fisica
8
Modelos de Serviço da Camada de Rede:
Parâmetros Garantidos
Arquitetura Modelo de Realim. de
de Rede Serviço Banda Perda Ordem Tempo Congestão
10
Modelos de Serviço da Camada de Rede:
11
Modelos de Serviço da Camada de Rede:
12
Modelos de Serviço da Camada de Rede:
13
Datagrama versus Circuito Virtual
Internet ATM
◼ Dados trocados entre ◼ Originário da telefonia
computadores
◼ Conversação humana:
◼ Serviço elástico, requisitos de
atraso não críticos ◼ Tempos estritos,
◼ Sistemas finais inteligentes exigências de
◼ Podem adaptar-se, realizar
confiabilidade
controle e recuperação de ◼ Necessário para serviço
erros garantido
◼ A rede é simples, a ◼ Sistemas finais “burros”
complexidade fica nas pontas
◼ Ex: Telefones
◼ Muitos tipos de enlaces
◼ Complexidade dentro da
◼ Características diferentes
rede
◼ Difícil obter um serviço
uniforme
14
Roteamento 5
3
Protocolo de Roteamento B C 5
2
OBJ: determinar “bons” caminhos A 2 1 F
(seqüência de roteadores) através da 3
rede da fonte ao destino. 1 2
Menor Custo.
D E
1
16
Classificação dos Algoritmos de Roteamento
◼ Insensível à carga:
◼ Não levam em consideração congestionamento.
◼ Custo do enlace não reflete seu nível de congestionamento.
◼ É o caso dos algoritmos usados na Internet atualmente: RIP, OSPF e BGP.
18
Algoritmo Link-state - Algoritmo de Dijkstra’s
Algoritmo de Dijkstra’s Notação:
◼ Topologia de rede e custo dos enlaces são ◼ C(i,j): custo do enlace do nó i ao nó j.
conhecidos por todos os nós. Custo é infinito se não houver ligação
◼ Implementado via “link state entre i e j
broadcast” – cada roteador envia
informações ao outros rot.
◼ D(v): valor atual do custo do caminho
◼ Todos os nós têm a mesma informação
da fonte ao destino V
20
Exemplo: Algoritmo de Dijkstra’s
Infinito pois
não estão
Calcular a distância mínima de A para todos os outros nós.
ligados
diretamente
4
Passo início N D(A),p(A) D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E)
1
B C 1
F
2
A 3 F
5
2
D E
2
3
22
Discussão do Algoritmo de Dijkstra
Complexidade do Algoritmo: n nós
◼ Cada iteração: precisa verificar todos os
nós w, que não estão em N
◼ N*(n+1)/2 comparações: o(n**2)
◼ Implementações mais eficientes:
o(nlogn)
23
Algoritmo “Distance Vector” – algoritmo Bellman-Ford
E
B 7 8 5
Note que o caminho menor de D D
até A é 3 e esta rota passa D (C,D) = c(E,D) + minw {D (C,w)}
novamente por E ! = 2+2 =4 C 6 9 4
E D
D (A,D) = c(E,D) + min
w
{D (A,w)}
D 4 11 2
= 2+3 =5
E B
D (A,B) = c(E,B) + minw{D (A,w)} Ex: Distancia E – A passando po
= 8 + 6 = 14
Caminho A
Caminho
Direto Mínimo 27
A tabela de
Exemplo de Tabela de Distância distâncias gera a
tabela de
Tabela de distância roteamento
1
B C custo via nó vizinho
E
7 E
D ()
D () A B D Enlace de Saída, custo
A 8 2
1
E D A 1 14 5 A A,1
2
E D B 7 8 5 B D,5
D (D,B) = c(E,B) + minw{D (B,w)}
= 8 + 3 = 11 C D,4
E
C 6 9 4
B
D (B,B) = c(E,B) + minw{D (B,w)}
= 8+0 = 8 D 4 11 2 D D,2
E C
D (C,A) = c(E,A) + minw{D (A,w)} Ex: Distancia E – A passando por
= 1+5 =6 A
28
Exercício de Distance Vector
custo via nó vizinho
D
D () A B C E
A 1 4 6 3
B 3 2 6 4
5
1
B C
3 7
B C 5
C 4 5 3 2
2 A 8 2
A 2 1 F 1
3 E 3 5 4 1
1 E D
2 2
D E
1
F 5 7 6 3
29
Comparação dos Algoritmos LS e VD
Complexidade Robustez: o que acontece
◼ LS: com n nós, E links, o(ne) se um roteador funciona
mensagens enviadas mal?
◼ DV: trocas somente entre Ls:
vizinhos
◼ Nós podem advertir custos
◼ Tempo de convergência incorretos para os enlaces.
varia
◼ Cada nó calcula sua
Tempo de convergência própria tabela de
roteamento
◼ LS: algoritmo o(n**2) exige
o(ne) msgs Dv:
◼ Pode ter oscilações ◼ Nó pode advertir caminhos
◼ DV: tempo de convergência com custo incorreto
varia ◼ Tabela de cada nó é usada
◼ Podem haver loops de por outros
roteamento ◼ Propagação de erros pela
rede
◼ Problema da contagem ao
infinito
30
Roteamento Hierárquico
Problemas do mundo real
• roteadores não são todos idênticos
• as redes não são “flat” na prática
32
Roteamento Intra-as and Inter-as
C.b Roteadores de Borda
B.a • realizam
A.a roteamento inter-
b c AS entre si
a A.c
C a • realizam
b
a B roteamento intra-
d AS com outros
c roteadores do
A b
mesmo AS
Camada de rede
Roteamento inter-AS, Camada de enlace
intra-AS no roteador A.c
Camada fisica
33
Roteamento Intra-AS e Inter-AS
roteamento Inter-AS
entre A e B
C.b
B.a
A.a Host
b c h2
A.c
a a
C b
a B
Host
d roteamento Intra-AS
h1 c
A b dentro do AS B
roteamento Intra-AS
dentro AS A
34
A camada de rede da Internet
Entidade de rede em roteadores ou hosts:
Camada de Transporte: TCP, UDP
Camada de enlace
Camada física
[Link]
◼ Total de 232
endereços; [Link] [Link]
223 1 1 1
36
Endereçamento IP
◼ Endereço IP: [Link]
37
Endereçamento IP
endereçamento “class-full”:
28 rede = 256
224 hosts
224 rede
28 Hosts = 256
38
Endereçamento IP
◼ Os bits de endereço para todos os hosts de uma determinada
rede compartilham um prefixo comum → chamado de
endereço de rede.
39
Endereçamento IP
40
Endereçamento IP
Como encontrar as redes [Link] [Link]
[Link]
◼ Separe cada interface de
roteadores e hosts [Link]
[Link] [Link]
◼ Criar ilhas de redes isoladas
◼ Técnica de nuvens
[Link] [Link]
[Link] [Link]
[Link] [Link]
41
Endereçamento IP
◼ Endereços Classe A
◼ Atribui 8 bits para o campo de rede e um total de 24 bits para o restante do
endereço.
◼ Esta classe pode endereçar quase 17 milhões de diferentes nós em uma rede. Um
endereço classe A é usado para redes muito grandes.
◼ Endereços Classe B
◼ Um endereço classe B atribui 16 bits para o campo de rede e um total de 16 bits
para o restante do endereço.
◼ Isto permite endereçar cerca de 65.000 diferentes nós em uma rede.
◼ Endereços Classe C
◼ Um endereço classe C atribui 24 bits para o campo de rede e 8 bits para o resto do
endereço.
◼ Isto permite endereçar 254 diferentes nós na rede.
42
Endereçamento IP
◼ Todos os endereços dentro de uma mesma rede IP têm o mesmo network
address → o mesmo tipo de classe.
◼ Por exemplo: Um endereço classe B, dos 16 bist de host, podemos ter 8 bits
atribuídos para o campo de sub-rede e 8 bits para o campo de host.
◼ Isto permite cerca de 256 sub-redes com cerca de 256 hosts em cada uma.
43
Endereçamento IP
◼ Endereços de REDE
◼ Para se referir a uma rede particular → os bits dos
campos de sub-rede e de host são colocados
como 0 → chamado endereço de rede.
44
Endereços IP - Broadcast
§ [Link].255:
◼ Endereços de broadcast • BroadCast : todos os bits de host ajustados para 1.
• n.n.n.255 – Exemplo: End. BroadCast para rede /24
◼ Um endereço IP pode também se referir a um • n.n.255.255 – Exemplo: End. BroadCast para rede /16
grupo de nós → endereço de broadcast. • n.255.255.255 – Exemplo: End. BroadCast para rede /8
◼ Endereços de broadcast
46
Endereços IP - Subneting e subnetmask (1)
◼ Algumas vezes pode ser necessário subdividir um conjunto de endereços IP
para criar redes menores, ou seja, sub-redes.
◼ Máscaras de sub-rede (subnetmasking) são usadas para indicar a subdivisão de
redes.
◼ Os administradores podem definir o campo de subnetmask para dividir uma rede em sub-
redes menores, de acordo com a conveniência necessária.
◼ Para se referir a todos os nós de uma sub-rede em particular, os bits de host
são ajustados para 1.
48
Endereços IP - Subneting e subnetmask (1)
◼ Dividir uma rede /24 em 16 subredes e vamos utilizar 4
bits para identificar a subrede e 4 bits para identificar os
hosts.
49
Endereços IP - Reservados
◼ [Link].255:
◼ BroadCast : todos os bits de host ajustados para 1.
◼ n.n.n.255 – Exemplo: End. BroadCast para rede /24
◼ n.n.255.255 – Exemplo: End. BroadCast para rede /16
◼ n.255.255.255 – Exemplo: End. BroadCast para rede /8
◼ [Link].000:
◼ Network: todos os bits de host ajustados para 0.
◼ n.n.n.0 – Exemplo: End. Rede para rede /24
◼ n.n.0.0 – Exemplo: End. Rede para rede /16
◼ n.0.0.0 – Exemplo: End. Rede para rede /8
◼ [Link]:
◼ Endereço de Inicialização (DHCP)
51
Endereçamento IP: CIDR
53
Endereçamento Hierárquico: agregação de rotas
Organização 0
[Link]/23
Organização 1
“Me envie qualquer coisa com
[Link]/23 endereço começando por
Organização 2 [Link]/20”
[Link]/23 . Fly-By-Night-ISP
.
. . Internet
.
Organização 7 .
[Link]/23
“Me envie qualquer coisa com
ISPs-R-Us
endereço começando por
[Link]/16”
54
Roteamento Hierárquico:rotas mais específicas
223.1.1 1
223.1.2 [Link] 2
datagrama IP: 223.1.3 [Link] 2
outros endereço endereço
IP origem IP destino dados
campos A [Link]
• os endereços do [Link]
datagrama não mudam ao [Link]
viajar da fonte ao destino [Link] [Link]
B
[Link]
[Link] [Link] E
[Link] [Link]
57
Levando um Datagrama da Fonte ao
Destino
[Link] [Link]
58
Levando um Datagrama da Fonte ao
Destino
59
Levando um Datagrama da Fonte ao
Destino
Próx. Núm. Endereço
outro Rede destino roteador saltos Interface
dados
campos [Link] [Link]
223.1.1 - 1 [Link]
Chegando em [Link], destined 223.1.2 - 1 [Link]
for [Link] 223.1.3 - 1 [Link]
• examina endereço de rede de E
• E está na mesma rede da A [Link]
interface [Link] do roteador [Link]
• roteador e E estão [Link]
diretamente ligados [Link] [Link]
• descobre endereço físico de B
[Link]
[Link] e envia o datagrama [Link] [Link] E
num quadro da camada de enlace
• datagrama chega em [Link]!!! [Link] [Link]
(ufa!)
60
Levando um Datagrama da Fonte ao Destino
◼ Há 2 tipos:
◼ Encaminhamento indireto.
◼ Encaminhamento direto.
Para fazer o encaminhamento
◼ Encaminhamento indireto
◼ Quando um host de origem deseja enviar algo para outro host de destino:
◼ Descobre a rota a seguir.
◼ Se é um host: rota default (gateway)
◼ Obtém o IP do gateway.
◼ Obtém o endereço MAC (enlace) do IP do Gateway.
◼ Usa Protocolo ARP (visto mais adiante).
◼ Encapsula o datagrama IP num frame da camada de enlace com destino ao
roteador.
◼ O datagrama passa de roteador a roteador, até chegar a um que possa
entrega-lo diretamente.
◼ Quando um frame chega no roteador:
◼ O software do roteador extrai o datagrama encapsulado, e seleciona o próximo roteador
ao longo do caminho em direção ao destino e repete o processo.
Para fazer o encaminhamento
◼ Encaminhamento direto
◼ Encaminhamento direto é sempre o passo final de qualquer
transmissão de datagrama.
◼ Sempre o roteador final se conectará diretamente à mesma rede física do destino.
◼ Chamado de “último passo da rota” (last hop).
◼ O Datagrama da origem ao destino não altera os IPs origem e destino originais. Mas os
endereços de enlace são sempre do próximo passo da rota
Como obter um endereço IP - DHCP
Hosts :
◼ Endereço fixo (manual): definido pelo administrador
66
Como obter um endereço IP
67
Formato do Datagrama IP
versão do Protocolo IP 32 bits tamanho total
do datagrama
tamanho do header type of
ver head. service lenght
(bytes)
(bytes) len
fragment para
16-bit identifier flgs fragmentação/
Classe de serviço offset
-Especificar a importância do datagrama
time to proto- Internet remontagem
-D: solicita atraso pequeno
-T: solicita alta performance
live col checksum
-R: solicita alta confiabilidade
32 bit endereço IP de origem
68
IP Fragmentação e Remontagem
◼ enlaces de rede têm MTU ([Link]
size) - corresponde ao maior frame que
pode ser transportado pela camada de fragmentação
enlace. in: um datagrama grande
out: 3 datagramas menores
◼ tipos de enlaces diferentes possuem
MTU diferentes (ethernet: 1518 bytes)
71
NAT: Network Address Translation (2)
72
NAT: Network Address Translation (3)
◼ Implementação: o roteador NAT deve:
◼ Datagramas que saem:
◼ Substituir (endereço IP de origem interno, porta #) para (endereço IP válido do NAT, nova porta #).
◼ . . . Hosts remotos respondem usando (endereço IP do NAT, nova porta #) como
endereço de destino.
◼ Armazena na tabela de tradução do NAT: cada (endereço IP de origem interno, porta
#) com o par de tradução (endereço IP do NAT, nova porta #).
◼ Campo número de porta com 16 bits: 60.000 conexões simultâneas com um único
endereço de LAN.
73
NAT: Network Address Translation (4)
◼ Entretanto → endereços IP não podem ser usados para enviar frames, pois o
hardware da camada de enlace de dados não entende endereços Internet.
◼ Por exemplo: as placas ethernet possuem endereços MAC ethernet de 48 bits e elas
não sabem nada sobre os endereços IP de 32 bits da Internet.
76
RFC-903
◼ Desvantagem do RARP:
◼ ele usa endereço de destino composto de difusão limitada
(campo de host composto de bits all-1) ! é preciso um servidor RARP
em cada rede local pois roteadores não encaminham broadcast.
77
Protocolo ICMP:
Internet Control Message Protocol
RFC 792
• Critério de interrupção
• O segmento UDP finalmente chega ao hospedeiro de destino
• O destino retorna o pacote ICMP “hospedeiro unreachable” (type 3, code 3 - Porta de Dest. inalcançável)
• A origem interrompe quando receber essa msg ICMP.
Protocolo ICMP ◼ Mensagens de redirecionamento
• Neste exemplo H1 envia para R1 um datagrama destinado a
rede N2.
Ex:
Meu IP
Roteamento na Internet
◼ A Internet consiste de Sistemas Autônomos (AS)
interconectados entre si:
◼ Stub AS: pequena corporação
◼ Multihomed AS: grande corporação (sem tráfego de trânsito)
◼ Transit AS: provedor
82
Roteamento Intra-AS
83
RIP ( Routing Information Protocol)
V1 – RFC 1058 e DEMAIS RFC 1723
z
w x y
A D B
C
Rede de Destino Proximo Router Num. de saltos para dest.
w A 2
y B 2
z B 7
x -- 1
…. …. ....
Tabela de roteamento em D
85
RIP: Falha de Enlaces e Recuperação
◼ os vizinhos por sua vez devem enviar novos anúncios (se suas
tabelas de rotas foram alteradas)
87
Exemplo de tabela RIP
Roteador: [Link]
Destination Gateway-IP Flags Ref Use Interface
-------------------- -------------------- ----- ----- ------ ---------
[Link] [Link] UH 0 26492 lo0
192.168.2. [Link] U 2 13 fa0
193.55.114. [Link] U 3 58503 le0
192.168.3. [Link] U 2 25 qaa0
[Link] [Link] U 3 0 le0
default [Link] UG 0 143454
88
OSPF (Open Shortest Path First)
RFC 2178
◼ Para cada enlace podem ser calculadas múltiplas métricas uma para cada tipo de
serviço -TOS (ex, custo de enlace por satélite definido baixo para tráfego de “melhor
esforço” e alto para serviços de tempo real)
90
OSPF características avançadas
◼ OSPF Hierárquico:
◼ Suporte para hierarquia dentro de domínio de roteamento;
◼ Capacidade de estruturar hierarquicamente um sistema autônomo;
◼ Dentro de cada área, roteadores de borda de área, são responsáveis pelo roteamento de
pacotes para fora da área;
91
Troca informações de
OSPF Hierárquico roteamento com roteadores
de outros AS
Roteador de Borda do AS
Roteamento
dentro da área
e do backbone
Roteamento
dentro do
backbone
Roteamento
dentro da área
92
EIGRP (Enhanced Interior Gateway Routing Protocol)
AS3
AS2
AS1
94
Internet inter-AS
routing: BGP
AS3
AS2
96
Internet inter-AS routing: BGP
RFC 1771, RFC 1772 e RFC 1773
◼ NEXT-HOP
◼ Um par de AS (A e B) possui vários enlaces físicos conectados
diretamente entre eles;
◼ Quando um pacote é repassado de A para B, poderia ser
enviado por qualquer enlace direto;
◼ Um roteador de A pode receber varias rotas para um mesmo prefixo
– destino – mas pode escolher um roteador de próximo salto
diferente (rotas diferentes para cada pacote recebido) 97
Internet inter-AS routing: BGP
Suponha: roteador X envia seu caminho ao roteador parceiro W
◼ W pode escolher ou não o caminho oferecido por X
◼ critérios de escolha: custo, regras (não rotear através de AS
rivais ), prevenção de loops.
99
Por que os protocolos Intra- e Inter-AS são diferentes ?
Políticas:
◼ Inter-AS: a administração quer ter controle sobre como seu tráfego é roteado e sobre
quem roteia através da sua rede;
◼ Intra-AS: administração única: as decisões políticas são mais simples.
Escalabilidade
◼ O roteamento hierárquico poupa espaço da tabela de rotas e reduz o tráfego de
atualização.
Performance:
◼ Intra-AS: preocupação maior é desempenho;
◼ Inter-AS: regras de mercado podem ser mais importantes que desempenho.
100
IPv6
◼ Motivação adicional:
◼ melhorar o formato do header para permitir maior velocidade de processamento e de
transmissão
◼ mudanças no header para incorporar mecanismos de controle de QOS
◼ novo tipo de endereço: “anycast” - permite enviar uma mensagem para o melhor dentre
vários servidores replicados
◼ 3 tipos de endereços no IPv6: Unicast, Unycast e Multicast
102
Outras mudanças do IPv4
103
Transição do IPv4 para IPv6
104
Abordagem de Pilha Dupla
106
Como obter um endereço IP - DHCP
Hosts :
◼ Endereço fixo (manual): definido pelo administrador
107
Como obter um endereço IP
108
Bibliografia
◼ James F. Kurose e Keith W. Ross
◼ Redes de Computadores e a Internet:
◼ Andrew S. Tanenbaum
◼ Redes de Computadores