© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 1
Capítulo 4
Camada de rede
Nota sobre o uso destes slides ppt:
Estamos disponibilizando estes slides gratuitamente a todos (professores, alunos, leitores). Eles estão em formato do PowerPoint para que você possa incluir, modificar e excluir slides (incluindo este) e o conteúdo do slide, de acordo com suas necessidades. Eles obviamente representam muito
trabalho da nossa parte. Em retorno pelo uso, pedimos apenas o seguinte:
Se você usar estes slides (por exemplo, em sala de aula) sem muita alteração, que mencione sua fonte (afinal, gostamos que as pessoas usem nosso livro!).
Se você postar quaisquer slides sem muita alteração em um site Web, que informe que eles foram adaptados dos (ou talvez idênticos aos) nossos slides, e inclua nossa nota de direito autoral desse material.
Obrigado e divirta-se! JFK/KWR Todo o material copyright 1996-2009
J. F Kurose e K. W. Ross, Todos os direitos reservados.
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 1
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 2
Capítulo 4
Camada de rede
Nota sobre o uso destes slides ppt: Partes dos slides originais foram suprimidas ou alteradas para
adaptar o material à ementa da disciplina Redes 1 da Unirio.
Todo o material copyright 1996-2009
J. F Kurose e K. W. Ross, Todos os direitos reservados.
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 2
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 3
Capítulo 4:
Camada de rede
Objetivos do capítulo:
entender os princípios por trás dos serviços da
camada de rede:
modelos de serviço da camada de rede repasse versus roteamento
como funciona um roteador
roteamento (seleção de caminho) lidando com escala
tópicos avançados: IPv6, mobilidade
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 4
4. 1 Introdução
4.2 Redes de circuitos
virtuais e de datagramas
4.3 O que há dentro de
um roteador?
4.4 IP: Internet
Protocol
formato do datagrama endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de
roteamento
estado de enlace vetor de distâncias roteamento hierárquico 4.6 Roteamento na
Internet
RIP OSPF BGP 4.7 Roteamento
broadcast e multicast
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 5
Camada de rede
segmento de transporte do
hosp. emissor ao receptor
o lado emissor encapsula
segmentos em datagramas
o lado receptor entrega
segmentos à camada de
transporte
protocolos da camada de
rede estão em
cada
hosp. E
nos roteadores
roteador examina campos
de cabeçalho de rede em
todos os datagramas IP que
passam por ele
aplicação transporte rede enlace física aplicação transporte rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 6
Duas importantes funções
da camada de rede
repasse:
mover
pacotes da entrada
do roteador para a
saída apropriada do
roteador
roteamento:
determinar rota
seguida pelos pacotes
da origem ao destino
algoritmos de roteamentoanalogia:
roteamento:
processo
de planejamento da
viagem da origem ao
destino
repasse:
processo de
passar por um único
cruzamento
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 7 1 2 3 0111 valor no cab. do pacote chegando algoritmo de roteamento
tabela de repasse local valor do cab. enlace saída
0100 0101 0111 1001 3 2 2 1
Interação entre roteamento
e repasse
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 8
Redes de datagrama
Pacotes repassados usando o endereço de destino
cada roteador toma uma decisão individual de
encaminhamento
tabelas dos roteadores devem guardar coerência entre si pacotes entre mesmo par origem-destino podem tomar
caminhos diferentes aplicação transporte rede enlace física aplicação transporte rede enlace física
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 9
Capítulo 4:
Camada de rede
4. 1 Introdução
4.2 Redes de circuitos
virtuais e de datagramas
4.3 O que há dentro de
um roteador?
4.4 IP: Internet
Protocol
formato do datagrama endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de
roteamento
estado de enlace vetor de distâncias roteamento hierárquico 4.6 Roteamento na
Internet
RIP OSPF BGP 4.7 Roteamento
broadcast e multicast
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 10
Visão geral da arquitetura
do roteador
Duas funções principais do roteador:
executar algoritmos/protocolo de roteamento (RIP, OSPF, BGP) repassar datagramas do enlace de entrada para saída
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 11
Funções da porta de entrada
Comutação descentralizada:
dado destino do datagrama, porta de
saída de pesquisa usando tabela de
repasse na memória da porta de entrada
objetivo: processamento completo da
porta de entrada na ‘velocidade de linha’
forma fila se datagramas chegarem
mais rápido que taxa de repasse no elemento de comutação
Camada física:
recepção por bit
Camada de enlace de dados:
p. e., Ethernet ver Capítulo 5
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 12
Portas de saída
Buffering exigido quando os datagramas chegam do elemento
de comutação mais rápido que a taxa de transmissão
Disciplina de escalonamento escolhe entre os datagramas
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 13
Enfileiramento na porta
de saída
buffering quando a taxa de chegada via comutador excede a
velocidade da linha de saída
enfileiramento (atraso) e perda devidos a estouro de buffer na
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 14
Capítulo 4:
Camada de rede
4.1 Introdução
4.2 Redes de circuitos
virtuais e de datagramas
4.3 O que há dentro de
um roteador?
4.4 IP: Internet
Protocol
formato do datagrama endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de
roteamento
estado de enlace vetor de distâncias roteamento hierárquico 4.6 Roteamento na
Internet
RIP OSPF BGP 4.7 Roteamento
broadcast e multicast
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 15
A camada de rede da
Internet
tabela de repasseFunções na camada de rede do hospedeiro e roteador:
prots. roteamento •seleção caminho •RIP, OSPF, BGP protocolo IP •convs. de endereçamento •formato de datagrama •convs. manuseio de pacoteprotocolo ICMP
•informe de erro
•“sinalização” do roteador
Camada de transporte: TCP, UDP
Camada de enlace Camada física
Camada
de rede
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 16
Capítulo 4:
Camada de rede
4. 1 Introdução
4.2 Redes de circuitos
virtuais e de datagramas
4.3 O que há dentro de
um roteador?
4.4 IP: Internet
Protocol
formato do datagrama endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de
roteamento
estado de enlace vetor de distâncias roteamento hierárquico 4.6 Roteamento na
Internet
RIP OSPF BGP 4.7 Roteamento
broadcast e multicast
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 17
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 18
Fragmentação
e reconstrução do IP
enlaces de rede têm MTU
(tamanho máx. transferência) – maior quadro em nível de enlace possível.
diferentes tipos de enlace,
diferentes MTUs
grande datagrama IP dividido
(“fragmentado”) dentro da rede
um datagrama torna-se
vários datagramas
“reconstruído” somente no
destino final
bits de cabeçalho IP usados
para identificar, ordenar fragmentos relacionados
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 19
Capítulo 4:
Camada de rede
4. 1 Introdução
4.2 Redes de circuitos
virtuais e de datagramas
4.3 O que há dentro de
um roteador?
4.4 IP: Internet
Protocol
formato do datagrama endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de
roteamento
estado de enlace vetor de distâncias roteamento hierárquico 4.6 Roteamento na
Internet
RIP OSPF BGP 4.7 Roteamento
broadcast e multicast
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 20
Endereçamento IP:
introdução
endereço IP:
identificador de 32
bits para
interface de
hospedeiro e roteador
interface: conexão
entre hospedeiro/
roteador e enlace físico
roteadores normalmente
têm várias interfaces
hospedeiro normalmente
tem uma interface
endereços IP associados a cada interface 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
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 21
Sub-redes
endereço IP:
parte da sub-rede (bits
da máscara, à esquerda)
parte do host (bits após
a máscara)
O que é uma sub-rede?
dispositivo se conecta à
mesma parte da sub- -rede do endereço IP
pode alcançar um ao
outro fisicamente sem roteador intermediário 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
rede dividida em 3 sub-redes com máscara /24
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 22 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24
Receita
para determinar as
sub-redes, destaque
cada interface de seu
hospedeiro ou
roteador, criando ilhas
de redes isoladas.
Cada rede isolada é
denominada
sub-rede
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 23
Quantas sub-redes?
223.1.1.1 223.1.1.3 223.1.1.4 223.1.2.2 223.1.2.1 223.1.2.6 223.1.3.2 223.1.3.1 223.1.3.27 223.1.1.2 223.1.7.0 223.1.7.1 223.1.8.0 223.1.8.1 223.1.9.1 223.1.9.2© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 24
Endereçamento IP: CIDR
CIDR:
C
lassless
I
nter
D
omain
R
outing (roteamento
interdomínio sem classes)
parte de sub-rede do endereço de tamanho
arbitrário
formato do endereço:
a.b.c.d/x
, onde x é # bits na
parte de sub-rede do endereço
11001000 00010111
0001000
0 00000000
parte de sub-rede parte do hosp.200.23.16.0/23
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 25
Endereços IP:
como obter um?
P:
Como um
hospedeiro
obtém endereço IP?
fornecido pelo administrador do sistema em um
arquivo
Windows: painel de controle->rede
->configuração->tcp/ip->propriedades
UNIX: /etc/rc.config
DHCP:
D
ynamic
H
ost
C
onfiguration
P
rotocol: recebe
endereço dinamicamente do servidor
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 26
DHCP: Dynamic Host
Configuration Protocol
Objetivo:
permitir que o hospedeiro obtenha
dinamicamente
seu endereço IP do servidor de rede quando se conectar à
rede
pode renovar seu prazo no endereço utilizado
permite reutilização de endereços (só mantém endereço enquanto conectado e “ligado”)
aceita usuários móveis que queiram se juntar à rede (mais adiante)
Visão geral do DHCP:
host broadcasts “
DHCP discover
” msg [optional]
servidor DHCP responde com msg “
DHCP offer
” [opcional]
hospedeiro requer endereço IP: msg “
DHCP request
”
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 27
DHCP – cenário
cliente/servidor
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 B Eservidor DHCP cliente DHCP chegando precisa de endereço nesta sub-rede
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 28
DHCP:
mais do que endereço IP
DHCP pode (e deve) retornar mais do que
apenas o endereço IP alocado na sub-rede:
endereço do roteador do primeiro salto para o
cliente (gateway-default)
nome e endereço IP do servidor DNS
máscara de rede (indicando parte de rede
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 29
Subredes numa Rede Institucional
à rede externa roteador
sub-rede IP
servidor correio servidor Web© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 30
ARP: Address Resolution
Protocol
Cada nó IP (hosp.,
roteador) na LAN tem
tabela
ARP
Tabela ARP:
mapeamentos de
endereço IP/MAC para
alguns nós da LAN
<endereço IP; endereço MAC; TTL>
TTL (Time To Live):
tempo após o qual o
mapeamento de endereço será esquecido
(normalmente, 20 min)
obtida via protocolo ARP
Pergunta:
Como determinar
endereço MAC de B sabendo
o endereço IP de B?
1A-2F-BB-76-09-AD 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 71-65-F7-2B-08-53 LAN 137.196.7.23 137.196.7.78 137.196.7.14 137.196.7.88© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 31
Protocolo ARP: mesma LAN
(rede)
A quer enviar datagrama a B,
e endereço MAC de B não está na tabela ARP de A.
A envia por broadcast pacote
de consulta ARP, contendo endereço IP de B
endereço MAC de destino
= FF-FF-FF-FF-FF-FF
todas as máquinas na LAN
recebem consulta ARP
B recebe pacote ARP,
responde para A com seu endereço MAC (de B)
quadro enviado ao endereço
MAC de A (unicast)
A salva em cache par de
endereços IP-para-MAC em sua tabela ARP até a
informação expirar
estado soft: informação
que expira (desaparece) se não for renovada
ARP é “plug-and-play”:
nós criam suas tabelas
ARP sem intervenção do administrador de rede
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 32
ARP: roteando p/ outra LAN
R
1A-23-F9-CD-06-9B 222.222.222.220 111.111.111.110 E6-E9-00-17-BB-4B CC-49-DE-D0-AB-7D 111.111.111.112 111.111.111.111A
74-29-9C-E8-FF-55 222.222.222.221 88-B2-2F-54-1A-0FB
222.222.222.222 49-BD-D2-C7-56-2Aenviar datagrama de A para B via R
suponha que A saiba o endereço IP de B
A possui rota para B apontando para R
(gateway-default), cujo IP é 111.111.111.110 na sub-rede de A
duas tabelas ARP no roteador R, uma para cada LAN
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 33
A cria datagrama IP com origem A, destino B A usa ARP para obter endereço MAC de R
relativo ao IP 111.111.111.110
A cria quadro da camada de enlace com endereço MAC de R como
destino, quadro contém datagrama IP A-para-B
NIC de A envia quadro NIC de R recebe quadro
R remove datagrama IP do quadro Ethernet, vê que é destinado a B R usa ARP para obter endereço MAC de B
R cria quadro contendo datagrama IP A-para-B e envia para B, MAC de
R relativo ao IP 222.222.222.220 como origem, MAC B como destino
R
1A-23-F9-CD-06-9B 222.222.222.220 111.111.111.110 E6-E9-00-17-BB-4B CC-49-DE-D0-AB-7D 111.111.111.112 111.111.111.111 A 74-29-9C-E8-FF-55 222.222.222.221 88-B2-2F-54-1A-0F B 222.222.222.222 49-BD-D2-C7-56-2AEste é um exemplo realmente
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 34
VLANs: motivação
Único domínio de broadcast:todo tráfego de broadcast da
camada 2 (ARP, DHCP) cruza a LAN inteira
questões de eficiência,
segurança/privacidade
O que acontece se usuário da CC muda para EE, mas quer seconectar ao comutador CC?
Ciência da
Computação Engenharia
Elétrica Engenharia da Computação
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 35
VLANs
VLAN baseada em portaportas de comutador agrupadas : (por software de gerenciamento de comutador) para que únicocomutador físico ……
Comutador(es) admitindo capacidades de VLAN podem ser configurados para
definir múltiplas LANs
virtuais por única
infraestrutura de LAN física.
Cada VLAN possui sua “própria” tabela MAC de encaminhamento Virtual Local Area Network 1 8 9 16 10 2 7 … Engenharia Elétrica (VLAN portas 1-8) Ciência da Computação (VLAN portas 9-15) 15 … Engenharia Elétrica (VLAN portas 1-8) … 1 8 2 7 9 16 10 15 … Ciência da Computação (VLAN portas 9-16)
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 36
VLAN baseada em porta
1 8 9 16 10 2 7 … Engenharia Elétrica (VLAN portas 1-8) Ciência da Computação (VLAN portas 9-15) 15 …
isolamento de tráfego: quadros de/para
portas 1-8 só podem alcançar portas 1-8
também podem definir VLAN com base
em endereços MAC das extremidades, em vez de porta do comutador
inclusão dinâmica: portas podem ser
atribuídas dinamicamente entre VLANs
roteador
repasse entre VLANS:
feito por roteamento (assim como em comutadores separados)
na prática, fornecedores vendem uma
combinação de comutador e roteador, comumentes chamados de switches L3
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 37
VLANS spanning multiple
switches
porta de tronco: carrega quadros de múltiplas VLANS definidas sobrevários comutadores físicos
quadros repassados dentro da VLAN entre comutadores não
podem ser quadros 802.1 (Ethernet) comuns, devem ter informação de VLAN ID (que identifica uma dada VLAN)
protocolo 802.1q inclui campos de cabeçalho adicionais (p/ex,
VLAN ID) para quadros repassados entre portas de tronco
1 8 9 10 2 7 … Engenharia Elétrica (VLAN portas 1-8) Ciência da Computação (VLAN portas 9-15) 15 … 2 7 3
Portas 2,3,5 pertencem a EE VLAN Portas 4,6,7,8 pertencem a CS VLAN
5 4 6 8
16
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 38
Formato de quadro
802.1Q VLAN
quadro 802.1 quadro 802.1Q© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 39
Endereços IP:
como obter uma faixa?
P
:
Como uma
rede
obtém uma faixa de endereços IP?
R:
Recebe alocação de parte do espaço de endereços de
seu ISP
Bloco do ISP 11001000 00010111 00010000 00000000 200.23.16.0/20 Organização 0 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© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 40
Endereçamento hierárquico:
agregação de rota
“Envie-me qualquer coisa com endereços começando com 200.23.16.0/20” 200.23.16.0/23 200.23.18.0/23 200.23.30.0/23 Fly-By-Night-ISP Organização 0 Organização 7 Internet Organização 1
ISPs-R-Us “Envie-me qualquer coisa com endereços começando com 199.31.0.0/16” 200.23.20.0/23 Organização 2 . . . . . .
Endereçamento hierárquico permite anúncio eficiente da informação de roteamento:
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 41
Tabela de repasse
Faixa de endereços de destino Interface de saída
11001000 00010111 00010000 00000000 até 0 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 até 1 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 até _ 2 11001000 00010111 00011111 11111111 senão 3
Indica interface de saída de acordo com o prefixo (sub-rede) de destino
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 42
Concordância do prefixo
mais longo
Concordância do prefixo Interface do enlace 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 senão 3 DA: 11001000 00010111 00011000 10101010 Exemplos
DA: 11001000 00010111 00010110 10100001 Qual interface? Interface 0
Qual interface? 1 ou 2? Neste caso, a que iguala com o prefixo maior: a 1
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 43
Endereçamento IP:
a última palavra...
P:
Como um ISP recebe bloco de endereços?
R:
ICANN
:
I
nternet
C
orporation for
A
ssigned
N
ames and
N
umbers
aloca endereços
administra o DNS (Domain Name Service)
atribui nomes de domínio e resolve disputas
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 44
NAT: Network Address
Translation
10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4 138.76.29.7 rede local(p. e., rede doméstica) 10.0.0/24
restante da Internet
datagramas com origem ou destino nesta rede têm endereço 10.0.0/24 para origem/destino (como sempre)
todos os datagramas saindo da rede local têm mesmo endereço IP NAT de
origem: 138.76.29.7, mas
diferentes números de porta de origem
Obs: o número da porta (origem/destino) serve para identificar, naqueles IPs (orig./dest.), os processos que estão se comunicando
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 45
motivação:
rede local usa apenas um endereço IP no que
se refere ao mundo exterior:
intervalo de endereços não necessário pelo ISP:
apenas um endereço IP para todos os dispositivos
pode mudar os endereços dos dispositivos na rede
local sem notificar o mundo exterior
pode mudar de ISP sem alterar os endereços dos
dispositivos na rede local
dispositivos dentro da rede local não precisam ser
explicitamente endereçáveis ou visíveis pelo mundo
exterior (uma questão de segurança).
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 46
Implementação:
roteador NAT deve:
enviando datagramas:
substituir
(endereço IP de
origem, # porta) de cada datagrama saindo por
(endereço IP da NAT, novo # porta)
. . . clientes/servidores remotos responderão usando
(endereço IP da NAT, novo # porta) como endereço
de destino
lembrar (na tabela de tradução NAT)
de cada par de
tradução (endereço IP de origem, # porta) para
(endereço IP da NAT, novo # porta)
recebendo datagramas:
substituir
(endereço IP da
NAT, novo # porta) nos campos de destino de cada
datagrama chegando por (endereço IP origem, # porta)
correspondente, armazenado na tabela NAT
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 47
1: hospedeiro 10.0.0.1 envia datagrama para 128.119.40.186, 80 2: roteador NAT muda endereço de origem do datagrama de 10.0.0.1, 3345 para 138.76.29.7, 5001, atualiza tabela 3: Resposta chega endereço destino: 138.76.29.7, 5001
4: roteador NAT muda endereço de destino do datagrama de
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 48
campo de número de porta de 16 bits:
60.000 conexões simultâneas com um único
endereço no lado da LAN!
NAT é controverso:
roteadores só devem processar até a camada 3
viola argumento de fim a fim
• a possibilidade de NAT deve ser levada em conta pelos projetistas da aplicação, p. e., aplicações P2P • Como atingir um serviço atrás de NAT??? Precisa
saber o IP do NAT e a porta “nateada” para o serviço
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 49
Capítulo 4:
Camada de rede
4. 1 Introdução
4.2 Redes de circuitos
virtuais e de datagramas
4.3 O que há dentro de
um roteador?
4.4 IP: Internet
Protocol
formato do datagrama endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de
roteamento
estado de enlace vetor de distâncias roteamento hierárquico 4.6 Roteamento na
Internet
RIP OSPF BGP 4.7 Roteamento
broadcast e multicast
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 50
ICMP: Internet Control
Message Protocol
Usado por hospedeiros &
roteadores para comunicar informações em nível de rede
relato de erro: hospedeiro,
rede, porta, protocolo inalcançável
eco de solicitação/
resposta (usado por ping)
Subcamada de rede “acima” do
IP:
msgs ICMP transportadas
em datagramas IP
Mensagem ICMP: tipo, código
mais primeiros 8 bytes do datagrama IP com erro (quando este for o motivo)
Tipo Cód, Descrição
0 0 resposta de eco (ping)
3 0 rede de destino inalcançável 3 1 hosp. de destino inalcançável 3 2 protocolo de destino inalcançável 3 3 porta de destino inalcançável 3 6 rede de destino desconhecida 3 7 hosp. de destino desconhecido 4 0 redução da fonte (controle de congestionamento – não usado) 8 0 solicitação de eco (ping)
9 0 anúncio de rota
10 0 descoberta do roteador 11 0 TTL expirado
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 51
Traceroute e ICMP
origem envia série de
segmentos UDP ao destino
primeiro tem TTL = 1
segundo tem TTL = 2 etc. número de porta improvável quando no datagrama chegar no no roteador: roteador descarta datagrama
e envia à origem uma msg
ICMP (tipo 11, código 0)
mensagem inclui IP do
roteador
quando a mensagem ICMP
chega, origem calcula RTT
traceroute faz isso 3 vezes p/
cada TTL
Critério de término
segmento UDP por fim chega
no hospedeiro de destino
destino retorna pacote ICMP
“porta de destino inalcançável” (tipo 3, código 3)
quando origem recebe esse
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 52
Capítulo 4:
Camada de rede
4. 1 Introdução
4.2 Redes de circuitos
virtuais e de datagramas
4.3 O que há dentro de
um roteador?
4.4 IP: Internet
Protocol
formato do datagrama endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de
roteamento
estado de enlace vetor de distâncias roteamento hierárquico 4.6 Roteamento na
Internet
RIP OSPF BGP 4.7 Roteamento
broadcast e multicast
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 53
IPv6
motivação inicial:
o
espaço
de endereço de 32 bits logo estará
completamente alocado
o
endereço passa a ter 128 bits
motivação adicional:
formato de cabeçalho ajuda a agilizar
processamento e repasse
mudanças no cabeçalho para facilitar tratamento
diferenciado (QoS)
formato de datagrama IPv6:
cabeçalho de 40 bytes de tamanho fixo
fragmentação não permitida
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 54
Cabeçalho IPv6
prioridade: identificar prioridade entre datagramas no fluxo
rótulo de fluxo: identificar datagramas no mesmo “fluxo.”
(conceito de “fluxo” não é bem definido)
próximo cabeçalho: identificar protocolo da camada superior
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 55
Capítulo 4:
Camada de rede
4. 1 Introdução
4.2 Redes de circuitos
virtuais e de datagramas
4.3 O que há dentro de
um roteador?
4.4 IP: Internet
Protocol
formato do datagrama endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de
roteamento
estado de enlace vetor de distâncias roteamento hierárquico 4.6 Roteamento na
Internet
RIP OSPF BGP 4.7 Roteamento
broadcast e multicast
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 56 1 2 3 0111 valor no cabeçalho do pacote de chegada algoritmo de roteamento
tabela de repasse local valor cab. enlace saída
0100 0101 0111 1001 3 2 2 1
Interação entre roteamento
e repasse
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 57 u y
x
w vz
2 2 1 3 1 1 2 5 3 5 Grafo: G = (N,E) N = conjunto de roteadores = { u, v, w, x, y, z }E = conjunto de enlaces = { (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
Abstração de grafo
Comentário: Abstração de grafo é útil em outros contextos de rede Exemplo: P2P, onde N é conj. de pares e E é conj. de conexões TCP
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 58
Abstração de grafo: custos
u y
x
w vz
2 2 1 3 1 1 2 5 3 5 • c(x,x’) = custo do enlace (x,x’) - p. e., c(w,z) = 5• custo poderia ser sempre 1, ou inversamente relacionado à largura ou inversamente relacionado ao congestionamento
Custo do caminho (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp) Pergunta: Qual é o caminho de menor custo entre u e z?
algoritmo de roteamento: algoritmo que encontra o
caminho de menor custo
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 59
Classificação do algoritmo
de roteamento
Global:
todos os roteadores têm topologia
completa, informação de custo do enlace
algoritmos de “estado do enlace”
Descentralizado:
roteador conhece vizinhos
conectados fisicamente, custos de enlace para vizinhos
processo de computação iterativo,
troca de informações com vizinhos
algoritmos de “vetor de distância”
Roteamento dinâmico:
rotas mudam ao longo do
tempo
atualização periódica,
em resposta a
mudanças no custo do enlace
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 60
Capítulo 4:
Camada de rede
4. 1 Introdução
4.2 Redes de circuitos
virtuais e de datagramas
4.3 O que há dentro de
um roteador?
4.4 IP: Internet
Protocol
formato do datagrama endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de
roteamento
estado de enlace vetor de distâncias roteamento hierárquico 4.6 Roteamento na
Internet
RIP OSPF BGP 4.7 Roteamento
broadcast e multicast
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 61
Algoritmo de roteamento
de estado do enlace
algoritmo de Dijkstra
topologia, custos de enlace conhecidos de todos os nós
realizado por “broadcast de estado do enlace” todos os nós têm a mesma informação
calcula caminhos de menor custo de um nó (“origem”) para todos
os outros nós
constrói tabela de repasse para esse nó
iterativo: após k iterações, sabe caminho de menor custo para k
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 62
Algoritmo de Dijkstra:
exemplo
Etapa 0 1 2 3 4 5 N' u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u 2,u 2,u D(x),p(x) 1,u D(y),p(y) ∞ 2,x D(z),p(z) ∞ ∞ 4,y 4,y 4,y u yx
w vz
2 2 1 3 1 1 2 5 3 5 D(w),p(w) 5,u 4,x 3,y 3,y© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 63
Algoritmo de Dijkstra:
exemplo (2)
u y
x
w vz
árvore resultante do caminho mais curto a partir de u:
v x y w z (u,v) (u,x) (u,x) (u,x) (u,x) destino enlace
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 64
Capítulo 4:
Camada de rede
4. 1 Introdução
4.2 Redes de circuitos
virtuais e de datagramas
4.3 O que há dentro de
um roteador?
4.4 IP: Internet
Protocol
formato do datagrama endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de
roteamento
estado de enlace vetor de distâncias roteamento hierárquico 4.6 Roteamento na
Internet
RIP OSPF BGP 4.7 Roteamento
broadcast e multicast
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 65
Algoritmo de vetor de
distância
Equação de Bellman-Ford (programação dinâmica)
defina
d
x(y) : = custo do caminho de menor custo de x para y
depois
d
x(y) = min {c(x,v) + d
v(y) }
onde
min
assume todos os vizinhos v de x
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 66
Exemplo de Bellman-Ford
u yx
w vz
2 2 1 3 1 1 2 5 3 5claramente, d
v(z) = 5, d
x(z) = 3, d
w(z) = 3
d
u(z) = min { c(u,v) + d
v(z),
c(u,x) + d
x(z),
c(u,w) + d
w(z) }
= min {2 + 5,
1 + 3,
5 + 3} = 4
nó que alcança mínimo é o próximo salto
no caminho mais curto ➜ tabela de repasse
equação B-F diz:
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 67
Capítulo 4:
Camada de rede
4. 1 Introdução
4.2 Redes de circuitos
virtuais e de datagramas
4.3 O que há dentro de
um roteador?
4.4 IP: Internet
Protocol
formato do datagrama endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de
roteamento
estado de enlace vetor de distâncias roteamento hierárquico 4.6 Roteamento na
Internet
RIP OSPF BGP 4.7 Roteamento
broadcast e multicast
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 68
Roteamento hierárquico
escala:
Internet c/ mais
de 200 milhões de
destinos:
não pode armazenar todos
os destinos nas tabelas de roteamento!
troca de tabela de
roteamento atolaria os enlaces!
autonomia administrativa
Internet = rede de redes cada administração de redecontrola o roteamento de sua própria rede
nosso estudo de roteamento até aqui – o ideal:
todos os roteadores idênticos
rede “achatada”
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 69 Roteadores agregados em regiões, “sistemas autônomos” (AS) Roteadores no mesmo AS
rodam o mesmo protocolo de roteamento protocolo de roteamento “intra-AS” roteadores em ASes diferentes podem executar protocolos de roteamento intra-AS diferentes Roteador de borda
enlace direto com roteador
de outro AS
responsável por ligações
entre ASes (inter-AS)
recebe/propaga
informações de roteamento de/para outro AS
(roteamento inter-AS)
propaga informações de
roteamento externo para dentro do seu AS
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 70 Host h2 a b b a a C A B d c A.a A.c C.b B.a c b Host h1 roteamento Intra-AS dentro AS A roteamento Inter-AS entre A e B roteamento Intra-AS dentro do AS B
Roteamento hierárquico
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 71 Roteadores de Borda
•
realizam roteamento inter-AS entre si•
realizam roteamento intra-AS com outros roteadores do mesmo AS Roteamento inter-AS e intra-AS no roteador A.c Camada de rede Camada de enlace Camada física a b b a a C A B d A.a A.c C.b B.a c b cRoteamento hierárquico
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 72 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b algoritmo de roteamento intra-AS tabela de repasse 3c
ASes interconectados
tabela de repasseconfigurada por algoritmo de roteamento intra e
inter-AS
intra-AS define entradas
para destinos internos
inter-AS & intra-AS
definem entradas para destinos externos
algoritmo de roteamento
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 73 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b algoritmo de roteamento intra-AS tabela de repasse 3c
ASes interconectados
1b ensina demais roteadores
do AS1, via protocolo inter-AS, que ele é uma possível saída (gateway) para os prefixos de AS2 e ASx
protocolo intra-AS em cada
roteador do AS1 dita o melhor caminho até 1b
mas AS2 pode não querer ensinar caminho p/ ASx!!!!
algoritmo de roteamento
inter-AS
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 74
Escolhendo entre
múltiplos ASes de saída
Suponha que o AS1 descubra pelo protocolo inter-AS que a
sub-rede X pode ser alcançada por AS3 e por AS2
o 1d recebe via protocolo inter-AS as possíveis saídas p/ X
o protocolo inter-AS em 1d determina qual a melhor saída p/ X o 1d configura tabela de repasse com a respectiva interface de
saída para X 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c
x
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 75
Capítulo 4:
Camada de rede
4. 1 Introdução
4.2 Redes de circuitos
virtuais e de datagramas
4.3 O que há dentro de
um roteador?
4.4 IP: Internet
Protocol
formato do datagrama endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de
roteamento
estado de enlace vetor de distâncias roteamento hierárquico 4.6 Roteamento na
Internet
RIP OSPF BGP 4.7 Roteamento
broadcast e multicast
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 76
Roteamento intra-AS
também conhecido como
Interior Gateway
Protocols (IGP)
protocolos de roteamento
intra-AS
mais comuns:
RIP: Routing Information Protocol
OSPF: Open Shortest Path First
IGRP: Interior Gateway roteamento Protocol
(proprietário da Cisco)
ISIS: Intermediate System to Intermediate
System (similar ao OSPF, mas nós não precisam
ter IP)
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 77
RIP (Routing
Information Protocol
)
algoritmo de vetor de distância
incluído na distribuição BSD-UNIX em 1982
métrica de distância: # de saltos (máx. = 15 saltos)
D
C
B A u v w x y z destino saltos u 1 v 2 w 2 x 3 y 3 z 2 Do roteador A às sub-redes:© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 78
Anúncios RIP
vetores de distância:
trocados entre vizinhos a
cada 30 s por meio de mensagem de resposta
(também conhecida como
anúncio
)
cada anúncio: lista de até 25 sub-redes de destino
dentro do AS
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 79
RIP: falha e recuperação
do enlace
se nenhum anúncio for ouvido após 180 s -->
vizinho/enlace declarado morto
rotas via vizinho invalidadas
novos anúncios enviados aos vizinhos
vizinhos por sua vez enviam novos anúncios (se não houver
tabelas alteradas)
informação de falha do enlace “rapidamente” se propaga para
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 80
OSPF
(Open Shortest Path First)
“open”: publicamente disponível
usa algoritmo Link State (SPF)
disseminação de pacote LS mapa de topologia em cada nó
cálculo de rota usando algoritmo de Dijkstra
várias possibilidades para métricas de custo de
caminho
p/exemplo, métrica associada ao inverso da capacidade do
enlace (quanto maior o enlace, menor o custo)
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 81
Recursos “avançados” do
OSPF (não no RIP)
segurança:
todas as mensagens OSPF são autenticadas
(para impedir intrusão maliciosa)
múltiplos caminhos
de mesmo custo permitidos
neste caso, faz balanceamento de carga
OSPF hierárquico
: pode dividir a rede em domínios
menores para limitar broadcast dos LSAs (Link State
Advertisement) quando de alguma mudança de
topologia
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 82
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 83
Roteamento inter-AS da
Internet: BGP
BGP (Border Gateway Protocol):
o
padrão de
fato!
“The glue that keeps the Internet together”
BGP oferece a cada AS um meio de:
1.
obter informação de acessibilidade para sub-redes
externas a partir de ASs vizinhos
2.
propagar informação de acessibilidade a todos os
roteadores internos ao AS
3.
determinar rotas “boas” para sub-redes externas
com base numa
política de roteamento
4.
divulgar sub-redes internas p/ Internet
(eu existo,
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 84
Fundamentos do BGP
pares de roteadores (vizinhos BGP) trocam informações de
roteamento através de sessões BGP
sessões BGP são baseadas em conexões TCP, não precisam
corresponder a enlaces físicos
eBGP (sessões entre ASes) e iBGP (sessões internas)
quando AS2 anuncia um prefixo qualquer para AS1:
AS2 promete que repassará datagramas para esse prefixo
3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 85
Atributos de caminho e
rotas BGP
prefixo anunciado inclui atributos BGP
prefixo + atributos = “anúncio BGP”
dois atributos importantes, dentre vários:
AS-PATH: contém os números dos ASes na ordem por onde o
anúncio do prefixo passou desde sua origem
NEXT-HOP: indica qual é o roteador de saída para AS vizinho
que faz parte da rota para o prefixo de destino (considera melhor caminho caso haja múltiplos caminhos)
quando o roteador de borda recebe anúncio de rota de um AS
vizinho, usa política de importação para aceitar ou declinar
o da mesma forma, AS usa política de exportação para decidir
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 86
Seleção de rota BGP
Sequência de regras de seleção em caso de múltiplas
rotas:
1.
maior valor para o atributo de
preferência local
,
decisão que pode mapear uma política de roteamento
do AS
2.
AS-PATH
mais curto
3.
NEXT-HOP mais próximo
, conhecido como
roteamento da “
batata quente”,
usado internamente
para enviar pacote para fora do AS o quanto antes
© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 87
Por que roteamento intra
e inter-AS são diferentes?
política:
inter-AS: cada AS deseja negociar como seu tráfego é
roteado externamente, e quem roteia através de sua rede
intra-AS: único admin, de modo que nenhuma decisão política
é necessária, há total controle sobre a rede
escala:
roteamento hierárquico reduz tamanho das tabelas, tráfego
de atualização também é reduzido
desempenho:
intra-AS: foco no desempenho, reconfiguração rápida das
tabelas em caso de mudança na rede (p/ex, queda de enlace)