4: Camada de Rede 4a-1
Capítulo 4: Camada de Rede
4. 1 Introdução
4.2 Redes de circuito Virtual e redes datagrama 4.3 O que tem dentro de um roteador;
4.4 IP: Protocolo Internet(IP)
Formato do Datagrama Endereçamento IPv4 a ICMP
IPv6
Camada de rede
Dinâmica:
Transporta segmento do SF
transmissor até o SF receptor; No lado do transmissor encapsula segmentos dentro de datagramas; No lado do receptor, entrega
segmentos para camada de transporte;
Observações:
O protocolo da camada de rede é implementada em todos os SF e roteadores;
Roteador examina campos do
cabeçalho de todo o datagrama IP;
application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical
4: Camada de Rede 4a-3
As duas Funções principais da camada de rede
Comutação: mover pacotes dentro do roteador da entrada à saída apropriada;
Com base em:Tabela de comutação e datagrama;
Roteamento: rota seguida por pacotes da origem ao destino. Algoritmos de roteamento;
Em algumas arquiteturas...
estabelecimento da chamada: algumas arquiteturas de rede requerem determinar o caminho antes de enviar os dados.
1
2 3 0111
Valor no cabeçalho do pacote que chega
routing algorithm local forwarding table header value output link
0100 0101 0111 1001 3 2 2 1
4: Camada de Rede 4a-5
Serviços que poderiam ser
oferecido pela camada de rede
Ordem da transmissão? Integridade?
Transmissão com taxa mínima? Entrega?
Entrega em tempo máximo? Privacidade?
Modelo de serviço da rede
P: Qual é o modelo de serviço para o “canal” que transporta pacotes do remetente ao receptor?
Serviço individual por datagramas:
Entrega garantida;
Entrega garantida com limite de tempo( em menos que 40 msec de atraso).
Serviço para um fluxo de datagramas:
Entrega datagrama na-ordem de geração;
Garantia mínima de banda para o fluxo; Restrição na variação do atraso.
4: Camada de Rede 4a-7
Instanciação: serviço já visto na CR
Arquitetura de Rede Internet ATM ATM ATM Modelo de serviço melhor esforço CBR VBR ABR Banda nenhuma taxa constante taxa garantida mínima garantida Perdas não sim sim não Ordem não sim sim sim Tempo não sim sim não Informa s/ congestion.? não (inferido via perdas) sem congestion. sem congestion. sim Garantias ?
Capítulo 4: Camada de Rede
4. 1 Introdução
4.2 Redes de circuito Virtual e redes datagrama
4.3 O que tem dentro de um roteador; 4.4 IP: Protocolo Internet(IP)
Formato do Datagrama Endereçamento IPv4 a ICMP
4: Camada de Rede 4a-9
Camada de Rede: Serviço orientado
e não-orientado a conexão
Similar ao serviço da camada de
transporte, mas:
serviço: sistema final-a-sistema final
sem escolha: a rede fornece um ou outro
implementação: no interior da rede
Rede de datagrama fornece serviço
não-orientado a conexão;
Rede de Circuito virtuais fornece serviço
orientado a conexão;
Circuitos virtuais
estabelecimento de cada chamada 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 atravessa
conexão da camada de transporte só envolve os 2 sistemas terminais
recursos de enlace, roteador (banda, buffers) podem ser alocados
ao CV
para permitir desempenho como de um circuito
“caminho da-origem-ao-destino se comporta como um circuito telefônico em termos de”
desempenho
4: Camada de Rede 4a-11
Implementação de CV
Um CV consiste de:
1. Caminho da fonte para destino;
2. Número CV, um número para cada enlace ao longo
do caminho;
3. Entradas nas tabelas de comutação dos roteadores
ao longo do caminho.
Pacote que pertence a um CV leva o número
CV (ao invés do endereço destino)
Número CV pode mudar a cada enlace.
Tabela Comutação
12 22 32 1 2 3 Número CV Número interfaceInterface entrada # do CV entrada Interface saída # CV de saida
1 12 3 22 2 63 1 18 3 7 2 17 1 97 3 87 … … … … Tabela de comutação do roteador:
4: Camada de Rede 4a-13
Circuitos virtuais:
protocolos de sinalização
usados para estabelecer, manter, remover CV usados em ATM, frame-relay, X.25
não usados na Internet de hoje
aplicação transporte rede enlace física aplicação transporte rede enlace física
1. inicia chamada 2. chegada de chamada3. chamada aceita 4. conexão completa5. começa fluxo de dados
Rede de datagramas:
o modelo da Internetnão requer estabelecimento de chamada na camada de rede roteadores: não guardam estado sobre conexões fim a fim
não existe o conceito de “conexão” na camada de rede
pacotes são roteados usando endereços de destino
pacotes entre o mesmo par origem-destino podem seguir caminhos diferentes aplicação transporte rede enlace física aplicação transporte rede enlace física
4: Camada de Rede 4a-15
Tabela Comutação
Destination Address Range Link Interface
11001000 00010111 00010000 00000000 through 0 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 through 1 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 through 2 11001000 00010111 00011111 11111111 otherwise 3 4 bilhões de possíveis entradas
Casando o “prefixo mais longo”
Pref ix Match Link Interface
11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 otherwise 3 DA: 11001000 00010111 00011000 10101010 Exemplos DA: 11001000 00010111 00010110 10100001 Qual interface? DA: 11101000 00010111 00011000 10101010
4: Camada de Rede 4a-17
Rede de datagramas ou CVs: por quê?
Internet
troca de dados entre computadores
serviço “elástico”, sem reqs. temporais estritos
sistemas terminais “inteligentes” (computadores)
podem se adaptar, exercer controle, recuperar de erros núcleo da rede simples,
complexidade na “borda” muitos tipos de enlaces
características diferentes serviço uniforme difícil
ATM evoluiu da telefonia conversação humana: temporização estrita, requisitos de confiabilidade requer serviço garantido
sistemas terminais “burros” telefones
complexidade dentro da rede
Capítulo 4: Camada de Rede
4. 1 Introdução
4.2 Redes de circuito Virtual e redes datagrama
4.3 O que tem dentro de um roteador;
4.4 IP: Protocolo Internet(IP)
Formato do Datagrama Endereçamento IPv4 a ICMP
IPv6
4: Camada de Rede 4a-19
Funções da Porta de Entrada
Comutação descentralizada:
dado o dest do datagrama, procura porta de saída usando tab. de rotas na memória da porta de entrada
meta: completar processamento da porta de entrada na ‘velocidade da linha’
filas: se datagramas chegam mais rápido que taxa de re-envio para matriz de
Camada f’ísica:
recepção de bits
Camada de enlace:
p.ex., Ethernet veja capítulo 5
4: Camada de Rede 4a-21
Filas na Porta de Entrada
Se matriz de comutação for mais lenta do que a soma das portas de entrada juntas -> pode haver filas nas portas de entrada
Bloqueio cabeça-de-fila (Head-of-the-Line - HOL):
datagrama na cabeça da fila impede outros na mesma fila de avançarem
retardo de enfileiramento e perdas devido ao transbordo do buffer de entrada!
4: Camada de Rede 4a-23
Comutação via Memória
Roteadores da primeira geração:
pacote copiado pelo processador (único) do sistema velocidade limitada pela largura de banda da
memória (2 travessias do barramento por datagrama)
Porta de
Entrada Porta deSaída Memória
Barramento do Sistema
Roteadores modernos:
processador da porta de entrada consulta tabela, copia para a memória
Comutação via
Barramento
Move datagrama da memória da porta de entrada à memória da porta de saída via um barramento compartilhado
contenção pelo barramento: taxa de comutação limitada pela largura de banda do barramento
Barramento de 1 Gbps, Cisco 1900: velocidade suficiente para roteadores de acesso e corporativos (mas não
4: Camada de Rede 4a-25
Comutação via uma Rede de
Interconexão
supera limitações de banda dos barramentos
2n Barramentos que conectam n portas de entrada e saída
O comutador fecha o cruzamento para transferir de uma porta de entrada para a porta de saída; Cisco 12000: comuta N Gbps pela rede de
Porta de Saída
Buffers necessários quando datagramas chegam da
matriz de comutação mais rapidamente que a taxa de transmissão
Disciplina de escalonamento escolhe um dos
4: Camada de Rede 4a-27
Filas na Porta de Saída
usa buffers quando taxa de chegada através do comutador excede taxa de transmissão de saída
enfileiramento (retardo), e perdas devidas ao transbordo do buffer da porta de saída!
Capítulo 4: Camada de Rede
4. 1 Introdução
4.2 Redes de circuito Virtual e redes datagrama 4.3 O que tem dentro de um roteador;
4.4 IP: Protocolo Internet(IP)
Formato do Datagrama Endereçamento IPv4 a ICMP
4: Camada de Rede 4a-29
A Camada de Rede na Internet
Tabela de com.
Funções da camada de rede em estações, roteadores:
Protocolos de rot. •seleção de rotas •RIP, OSPF, BGP protocolo IP •convenções de endereços •formato do datagrama •convenções de manuseio do pct protocolo ICMP •relata erros •“sinalização” de roteadores
Camada de transporte: TCP, UDP
Camada de enlace Camada física
Camada de rede
Formato do datagrama IP
ver comprimento 32 bits dados (comprimento variável, tipicamente um segmento TCP ou UDP) ident. 16-bits checksum Internet sobre-vida TTLendereço IP de origem 32 bits número da versão do protocolo IP comprimento do cabeçalho (bytes) número máximo de enlaces restantes (decrementado a cada roteador) para fragmentação/ remontagem comprimento total do datagrama (bytes) protocolo da camada superior ao qual entregar os dados comp.
cab serviçotipo de
“tipo” dos dados (DS) bits início do fragmento camada
superior
endereço IP de destino 32 bits
Opções (se tiver) p.ex. registrar rota seguida, especificar lista de roteadores a visitar. Qual o overhead com TCP? 20 bytes de TCP 20 bytes de IP = 40 bytes +
4: Camada de Rede 4a-31
IP: Fragmentação & Remontagem
ID =x bit_frag=0 início=0 compr =4000 ID =x bit_frag=1 início=0 compr =1500 ID =x bit_frag=1 =1480início compr =1500 ID =x bit_frag=0 =2960início compr =1040
um datagrama grande vira vários datagramas menores
Exemplo
Datagrama com 4000 bytes
Capítulo 4: Camada de Rede
4. 1 Introdução
4.2 Redes de circuito Virtual e redes datagrama 4.3 O que tem dentro de um roteador;
4.4 IP: Protocolo Internet(IP)
Formato do Datagrama
Endereçamento IPv4
ICMP IPv6
4: Camada de Rede 4a-33
Endereçamento IP: introdução
endereço IP: ident. de
32-bits para interface
de estação, roteador
interface: conexão entre estação,
roteador e enlace físico
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.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
Endereçamento IP
endereço IP:
parte de rede (bits de mais alta ordem)
parte de estação (bits de mais baixa ordem)
O que é uma rede IP? (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 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
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-35
Endereçamento IP
Como achar as redes?
Desacoplar cada interface do seu
roteador, ou estação; criar “ilhas” de redes isoladas; 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.7.0 223.1.7.1 223.1.8.0 223.1.8.1 223.1.9.1 223.1.9.2 Sistema interligado consistindo de ??? redes
Endereços IP
0rede estação 10 rede estação 110 rede estação A B C classe 1.0.0.0 to 127.255.255.255 128.0.0.0 to 191.255.255.255 192.0.0.0 to 223.255.255.255 32 bitsdada a noção de “rede”, vamos reexaminar endereços IP:
4: Camada de Rede 4a-37
parte de estação
Endereçamento IP
: CIDR
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
11001000 00010111 00010000 00000000
parte de rede
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 fragmentação: entrada: um datagrama grande saída: 3 datagramas menores remontagem
4: Camada de Rede 4a-39
Endereços IP: como conseguir um?
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”
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 E servidor DHCP Cliente DHCPque chega necessita de um endereço
4: Camada de Rede 4a-41
DHCP: implementa DORA
Servidor DHCP : 223.1.2.5 Cliente que chega
temp o DHCP discover src : 0.0.0.0, 68 dest.: 255.255.255.255,67 yiaddr: 0.0.0.0 transaction ID: 654 DHCP offer src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 654 Lifetime: 3600 secs DHCP request src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 yiaddrr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs DHCP ACK src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 655 Lifetime: 3600 secs
Servidores DHCP: Porque eles
podem tornar a sua rede inviável
Pesquise sobre esse tema e traga uma
explicação de 1 página, manuscrita.
Aqueles que tiverem a sua resposta aceita
receberão um ponto na última prova.
4: Camada de Rede 4a-43
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 11001000 00010111 00010000 00000000 200.23.16.0/20 provedor 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
Endereçamento IP: a última palavra...
P:
Como um provedor IP consegue um bloco de
endereços?
R:
ICANN: Internet Corporation for Assigned Names and Numbersaloca endereços gerencia DNS
aloca nomes de domínio, resolve disputas
(no Brasil, estas funções foram delegadas ao Registro nacional, e comandado pelo Comitê Gestor Internet BR)
4: Camada de Rede 4a-45
Enviando um datagrama da origem ao destino
datagrama IP: 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 E campos
misc end. IPorigem end. IP dest dados
datagrama permanece
inalterado, enquanto passa da origem ao destino
campos de endereços de interesse aqui
rede dest. próx. rot. Nenlaces 223.1.1 1
223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2
Enviando um datagrama da origem ao destino
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 E Supondo um datagrama IP originado em A, e endereçado a B:procura endereço de rede de B descobre que B é da mesma rede que A
camada de enlace remeterá datagrama diretamente para B num quadro da camada de
enlace
B e A estão diretamente ligados
rede dest. próx. rot. Nenlaces 223.1.1 1
223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2
campos
4: Camada de Rede 4a-47
Enviando um datagrama da origem ao destino
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 E
rede dest. próx. rot. Nenlaces 223.1.1 1
223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2
OrigemA, destino E:
procura endereço de rede de E É em uma rede diferente
A, E não ligados diretamente tabela de rotas: próximo
roteador na rota para E é 223.1.1.4
camada de enlace envia
datagrama ao roteador 223.1.1.4 num quadro da camada de enlace datagrama chega a 223.1.1.4 continua…
campos
Enviando um datagrama da origem ao destino
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 E Chegando a 223.1.1.4, destinado a 223.1.2.2procura endereço de rede de E 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!!!
campos
div. 223.1.1.1 223.1.2.2 dados dest. rot. Nenl. interface
223.1.1 - 1 223.1.1.4
223.1.2 - 1 223.1.2.9
223.1.3 - 1 223.1.3.27
4: Camada de Rede 4a-49
Qual o tamanho da Internet?
Endereçáveis: 4.294.967.296,00
Com a divisão por classe:
A: 2.113.928.964,00 B: 1.073.709.056,00 C: 534.773.760,00
4: Camada de Rede 4a-51
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
(e.g., home network) 10.0.0/24
Restante da rede
Datagramas com origem ou
destino nesta rede tem endereço 10.0.0/24 para fonte, e de
destino o usual
Todos os datagramas saindo da rede local tem o mesmo endereço NAT IP: 138.76.29.7, diferentes números de portas fontes
NAT: Network Address Translation
Motivação: rede local usa apenas um endereço IP:
Não há necessidade de alocar faixas de endereços de um ISP
apenas um endereço IP é usado para todos os
dispositivos
Permite mudar o endereço dos dispositivos internos sem necessitar notificar o mundo externo;
Permite a mudança de ISPs sem necessitar mudar os endereços dos dispositivos internos da rede local
Dispositivos internos a rede, não são visíveis nem endereçaveis pelo mundo externo (melhora
4: Camada de Rede 4a-53
NAT: Network Address Translation
Implementação: roteador NAT deve;
Datagramas que saem: trocar (endereço IP fonte,
porta #) de cada datagrama de saída para (endereço NAT IP, nova porta #)
. . . clientes/servidores remotos irão responder usando (endereço NAT IP, nova porta #) como endereço destino.
guardar (na tabela de tradução de endereços NAT):
os pares de tradução de endereços (endereço IP
fonte, porta #) para (endereços NAT IP, nova porta #)
Datagramas que chegam: trocar (endereço NAT IP, nova porta #) no campo de destino de cada datagrama que chega com o correspondente (endereço IP fonte, porta #) armazenado na tabela NAT
NAT: Network Address Translation
10.0.0.1 10.0.0.2 10.0.0.3 S: 10.0.0.1, 3345 D: 128.119.40.186, 80 1 10.0.0.4 138.76.29.7 1: host 10.0.0.1envia datagrama para 128.119.40.186, 80
Tabela de tradução NAT WAN addr LAN addr
138.76.29.7, 5001 10.0.0.1, 3345 …… …… S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 2 2: roteador NAT muda o endereço de origem 10.0.0.1, 3345 de 10.0.0.1, 3345 para 138.76.29.7, 5001, e atualiza a tabela S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3
3: resposta chega no endereço de destino:
138.76.29.7, 5001
4: roteador NAT muda o endereço de destino de
4: Camada de Rede 4a-55
NAT: Network Address Translation
Campo de porta de 16-bit :
60,000 conexões simultâneas com um único endereço de rede;
NAT é controverso:
Roteadores devem fazer processamentos até no máximo a camada 3;
Viola o “conceito fim-a-fim”
• A possibilidade de suporte a NAT deve ser levado em consideração pelos desenvolvedores de aplicações;
O problema de diminuição do número de endereços deveria ser tratada por IPv6;
Passando pelo NAT
cliente quer se conectar ao servidor que tem endereço 10.0.0.1
O endereço do
servidor(10.0.0.1) é válido na LAN (cliente Não pode usar como endereço de destino) Somente o endereço NATted é visível: 138.76.29.7
Solução 1: configurar
estaticamente o NAT para repassar requisições de
conexão de uma dada porta para o servidor
e.g., (123.76.29.7, port 2500) sempre repassa para 10.0.0.1
10.0.0.1 10.0.0.4 NAT router 138.76.29.7 Cliente
?
4: Camada de Rede 4a-57
Passando pelo NAT
solução 2: Protocolo Universal Plug and Play (UPnP) Internet Gateway Device (IGD). Permite SF NATted:
Encontrar um endereço IP
público (138.76.29.7)
Adcionar/remover
mapeamento de porta (com lease times)
i.e., automatiza a solução
estática de mapeamento de porta 10.0.0.1 10.0.0.4 NAT router 138.76.29.7 IGD
Passando pelo NAT
solução 3: relaying (usado pelo Skype)
Cliente NATed estabelece uma conexão com o relay Cliente externo conecta-se com o relay
Relay conecta pacotes entre as conexões
138.76.29.7 Cliente 10.0.0.1 NAT router 1. conexão para o relay iniciada pelo SF NATted 2. conexão para o relay iniciada pelo cliente 3. relaying estabelecido
4: Camada de Rede 4a-59
Capítulo 4: Camada de Rede
4. 1 Introdução
4.2 Redes de circuito Virtual e redes datagrama 4.3 O que tem dentro de um roteador;
4.4 IP: Protocolo Internet(IP)
Formato do Datagrama Endereçamento IPv4 a
ICMP
IPv6
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, o cabeçalho e os primeiros 8 bytes do datagrama IP que
Tipo Código descrição
0 0 resposta de eco (ping) 3 0 rede dest. inalcançável 3 1 estação dest inalcançável 3 2 protocolo dest inalcançável 3 3 porta dest inalcançável 3 6 rede dest desconhecida 3 7 estação dest desconhecida 4 0 abaixar fonte (controle de
congestionamento - ñ usado) 8 0 pedido eco (ping)
9 0 anúncio de rota 10 0 descobrir roteador
11 0 TTL (sobrevida) expirada 12 0 erro de cabeçalho IP
4: Camada de Rede 4a-61
Traceroute e ICMP
Fonte envia uma serie de segmentos UDP para dest
Prim. tem TTL =1
Segundo tem TTL=2, etc. Num. Porta improvável
Qdo nth datagrama chega ao nth roteador:
Roteador descarta datagr. E envia para a fonte uma mensagem ICMP (tipo 11, código 0)
Mensagem inclui nome do roteador & endereço IP
Quando a mensagem ICMP chega, a fonte calcula RTT Traceroute faz 3x a operação Critério de parada Segmento UDP eventualmente chega no SF destino
Destino retorna uma msg ICMP “host unreachable” packet (tipo 3, cod. 3) Quando a fonte recebe essa Msg ICMP, para.
4: Camada de Rede 4a-63
IPv6
Motivação Inicial:
Espaço de endereçametno
de
32 bits estava para ser alocado por
completo.
Motivação adcional:
Formato do cabeçalho ajuda na velocidade de processamento/Comutação
Cabeçalho mudou para facilitar QoS
Formato do datagrama IPv6:
• Cabeçalho de tamanho fixo 40 bytes • Não permite fragmentação
4: Camada de Rede 4a-65
Cabeçalho do Ipv6(Cont.)
Pri identifica prioridade entre datagramas no fluxo
Flow Label: identica datagramas em um “fluxo.”
(conceito de“fluxo” não claramente definido).
Outras mudanças em relação
ao IPv4
Checksum
:
removido para reduzir tempo de
processamento em cada salto
Options:
possível, mas fora do cabeçalho,
indicado pelo campo “Next Header”
ICMPv6:
nova versão do ICMP
Tipos novos de mensagens, e.g. “Packet Too Big” Funções para gerenciamento de transmissão em grupo
4: Camada de Rede 4a-67
Transição do IPv4 para IPv6
Nem todos os roteadores podem ser
atualizados simultaneamente
Sem a possibilidade de “flag days”
Como a rede poderia operar com um mix de roteadores IPv4 e IPv6?
Tunneling:
IPv6 transportado com carga nos
datagrama IPv4 ao longo de uma rota
Tunneling
A B E F
IPv6 IPv6 IPv6 IPv6
tunel
Ideia:
Implementado A B E F
4: Camada de Rede 4a-69
Tunneling
A B E F
IPv6 IPv6 IPv6 IPv6
tunel
Ideia:
Implementado: A B E F
IPv6 IPv6 IPv6 IPv6
C D IPv4 IPv4 Flow: X Src: A Dest: F data Flow: X Src: A Dest: F data Flow: X Src: A Dest: F data Src:B Dest: E Flow: X Src: A Dest: F data Src:B Dest: E A-para-B:
IPv6 IPv6 dentroB-para-C: E-para-F:IPv6 IPv4
B-para-C: IPv6 dentro
Capitulo 4: Camada Rede
4. 1 Introdução 4.2 Redes circuito Virtual e datagrama 4.3 O que tem em um roteador 4.4 IP: Protocolo Internet Formato do Datagram Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado do Enlace Vetor Distancia Roteamento Hierárquico 4.6 Roteamento na Internet RIP OSPF BGP 4.7 roteamento Broadcast e multicast4: Camada de Rede 4a-71 1 2 3 0111 Valor no cab. do pacote que chega
Algo. de Roteamento Tab. De repasse Valor Head Link Saida
0100 0101 0111 1001 3 2 2 1
A interação entre roteamento e
comutação
u y x w v z 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 = conj. de enlaces ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
A malha de roteadores como
um Grafo
4: Camada de Rede 4a-73
Grafo: Custos
u y x w v z 2 2 1 3 1 1 2 5 3 5 • c(x,x’) = custo do enlace (x,x’) - e.g., c(w,z) = 5• custo poder ser sempre 1, ou inversamente relacionado à banda, ou relacionado ao
congestionamento
Custo de um caminho (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)
Questão: Qual é o caminho de Menor custo entre u e z ?
Algoritmo de Roteamento: algoritmo que encontra o caminho De menor custo.
Capitulo 4: Camada Rede
4. 1 Introdução 4.2 Redes circuito Virtual e datagrama 4.3 O que tem em um roteador 4.4 IP: Protocolo Internet Formato do Datagram Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado do Enlace Vetor Distancia Roteamento Hierárquico 4.6 Roteamento na Internet RIP OSPF BGP 4.7 roteamento Broadcast e multicast4: Camada de Rede 4a-75
Classificação para algoritmo de
Roteamento
Usa informação Global ou decentralizada?
Global:
Todos os roteadores têm topologia completa, info de custo do custo do enlace
Algoritmos “estado do enlace”
Decentralizado:
Roteadores sabem sobre os vizinhos conectados
fisicamente, custo do enlace para os vizinhos
Processo iterativo de
computação, troca de info entre os vizinhos
Algoritmos “vetor distância”
Estático e dinâmico?
Estático:
Rotas mudam lentamente com o tempo
Dinâmico:
Rotas mudam mais rapidamente Atualização periódicas Em resposta a mudanças no custo do enlace
Algoritmo roteamento baseado em
estado do enlace
Algoritmo de Dijkstra
Conhece topologia da rede, custo do enlaçe de todos os nós
Obtido via “broadcast do estado do enlace”
Todos os vértices tem a mesma info
Computa os caminhos de menor custo de um vértice (fonte) a todos os demais vértices
entrada tabela de
comutação para o vértice iterações: após k iterações, descobre o caminho de menor custo para k destinos
Notação:
c(x,y): custo do enlace do
vértice x para y; = ∞ se não forem vizinhos diretos
D(v): valor atual do custo
do caminho do vertice fonte até o vértice v
p(v): vértice predecessor
do vértice v no caminho
N': conjunto de vértices cujo o menor custo já se sabe em definitivo
4: Camada de Rede 4a-77
Algoritmo de Dijkstra
1 Inicialização: 2 N' = {u} 3 para todos nós v 4 se v adjacente a u 5 então D(v) = c(u,v) 6 Senão D(v) = ∞ 7 8 Faça9 encontre w fora de N' tal que D(w) seja mínimo 10 adcione w em N'
11 atualize D(v) para todo v adjacente a w e fora de N' : 12 D(v) = min( D(v), D(w) + c(w,v) )
13 /* */
Algoritmo de Dijkstra: exemplo
Passo 0 1 2 3 4 5 N' D(v),p(v) D(w),p(w) D(x),p(x) D(y),p(y) D(z),p(z) u y x w v z 2 2 1 3 1 1 2 5 3 54: Camada de Rede 4a-79
Algoritmo de Dijkstra: exemplo
Passo 0 1 2 3 4 5 N' u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u 2,u 2,u D(w),p(w) 5,u 4,x 3,y 3,y D(x),p(x) 1,u D(y),p(y) ∞ 2,x D(z),p(z) ∞ ∞ 4,y 4,y 4,y u y x w v z 2 2 1 3 1 1 2 5 3 5
Algoritmo de Dijkstra: exemplo
(2)
u y x w v zArvore menor caminho a partir de u:
v x y w z (u,v) (u,x) (u,x) (u,x) (u,x) Destino enlace
4: Camada de Rede 4a-81
Algoritmo de Dijkstra, discursão
Complexidade do Algoritmo: n vértices
Cada iteração: precisa verificar todos vértices, w, que não estão em N
n(n+1)/2 comparações: O(n2)
Algoritmo de Dijkstra, discursão
Possíveis oscilações:
e.g., custo do enlace =
quantidade de tráfego
transferido
A D C B 1 1+e e 0 e 1 1 0 0 A D C B 2+e 0 0 0 1+e 1 A D C B 0 2+e 1+e 1 0 0 A D C B 2+e 0 e 0 1+e 1initialização … recomputarotas … recomputa … recomputa
A D C B 0 0 0 0 e 1 1 0 0
4: Camada de Rede 4a-83
Capitulo 4: Camada Rede
4. 1 Introdução 4.2 Redes circuito Virtual e datagrama 4.3 O que tem em um roteador 4.4 IP: Protocolo Internet Formato do Datagram Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado do Enlace Vetor Distância Roteamento Hierárquico 4.6 Roteamento na Internet RIP OSPF BGP 4.7 roteamento Broadcast e multicast
Algoritmo vetor distância
Equação de Bellman-Ford
d
x(y) := caminho de menor custo de x para y
então
d
x(y) = min {c(x,v) + d
v(y) }
onde min é tomado entre todos os vizinhos v
de x
4: Camada de Rede 4a-85
Exemplo do Bellman-Ford
u y x w v z 2 2 1 3 1 1 2 5 3 5 Claramente, dv(z) = 5, dx(z) = 3, dw(z) = 3 du(z) = min { c(u,v) + dv(z), c(u,x) + dx(z), c(u,w) + dw(z) } = min {2 + 5, 1 + 3, 5 + 3} = 4Vértice que atinge o mínimo é o próximo
Salto no caminho mais curto ➜ tabela de comutação
Algoritmo Vetor distância
D
x(y) = estima o menor custo de x para y
Vértice x conhece o custo de cada vizinho
v: c(x,v)
Vértice x mantém o vetor distância
D
x=
[D
x(y): y є N ]
Vértice x também mantém o vetor distância
dos seus vizinhos
Para cada vizinho v, x mantém
4: Camada de Rede 4a-87
Algoritmo Vetor distância (4)
Idéia básica:
De tempo-em-tempo, cada vértice envia seu próprio vetor distância para os vizinhos
Assincrona
Quando um vértice x recebe um novo DV estimado de um vizinho, ele atualiza o seu próprio DV usando equação de B-F:
Dx(y) ← minv{c(x,v) + Dv(y)} para cada vértice y ∊ N
Em condição mínimas, e normais, Dx(y) converge para o menor custo de fato dx(y)
Algoritmo Vetor distância(5)
Iterativo, assincrono:
cada iteração local causada por:
Mudança no custo local do enlace
Mensagem de atualização do DV
Distribuído:
Cada vértice notifica os vizinho somente quando ocorre mudança no seu DV
Vizinhos então notificam seus vizinhos se
necessário
espera por (mudança no custo local ou msg do vizinho)
recomputa estima
se DV para qualquer dest mudou, notifica vizinhos
4: Camada de Rede 4a-89 x y z x y z 0 2 7 ∞ ∞ ∞ ∞ ∞ ∞ de Custo para de de x y z x y z de Custo para x y z x y z ∞ ∞ ∞ ∞ ∞ Custo para x y z x y z ∞ ∞ ∞7 1 0 Custo para ∞ 2 0 1 ∞ ∞ ∞ tempo x z 1 2 7 y Tabela nó x Tabela nó y Tabela nó z x y z x y z de Custo para x y z x y z de Custo para x y z x y z de Custo para x y z x y z de Custo para x y z x y z de Custo para
x y z x y z 0 2 7 ∞ ∞ ∞ ∞ ∞ ∞ de Custo para de de x y z x y z 0 de Custo para x y z x y z ∞ ∞ ∞ ∞ ∞ Custo para x y z x y z ∞ ∞ ∞7 1 0 Custo para ∞ 2 0 1 ∞ ∞ ∞ 2 0 1 7 1 0 tempo x z 1 2 7 y Tabela nó x Tabela nó y Tabela nó z
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2 Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3 3 2
4: Camada de Rede 4a-91 x y z x y z 0 2 7 ∞ ∞ ∞ ∞ ∞ ∞ de Custo para de de x y z x y z 0 2 3 de Custo para x y z x y z 0 2 3 de Custo para x y z x y z ∞ ∞ ∞ ∞ ∞ Custo para x y z x y z 0 2 7 de Custo para x y z x y z 0 2 3 de Custo para x y z x y z 0 2 3 de Custo para x y z x y z 0 2 7 de Custo para x y z x y z ∞ ∞ ∞7 1 0 Custo para ∞ 2 0 1 ∞ ∞ ∞ 2 0 1 7 1 0 2 0 1 7 1 0 2 0 1 3 1 0 2 0 1 3 1 0 2 0 1 3 1 0 2 0 1 3 1 0 time x z 1 2 7 y Tabela nó x Tabela nó y Tabela nó z
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2
Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3
Vetor distância: Mudanças no custo do
enlace
Mudança no custo do enlace:
Nó detecta mudança no custo do enlace local
Atualiza info de roteamento, recalcula o vetor distância
se mudança em DV, notifica vizinhos
“noticia boa viaja rápido” x z 1 4 50 y 1
No tempo t0, y detecta mudança no custo do enlace, atualiza o DV, e informa seus vizinhos.
No tempo t1, z recebe a atualização de y e atualiza sua tabela.
Ele computa um novo menor custo de x e envia-o para seus vizinhos DV. No tempo t2, y recebe atualizações de z e atualiza sua tabela.
O menor custo de y não mudam e assim y não envia nem uma mensagem para z.
4: Camada de Rede 4a-93
Vetor distância: Mudanças no custo do
enlace
x z 1 4 50 y 60Vetor distância: Mudanças no custo do
enlace
Mudança no custo do enlace:
Boas notícias chegam rápido Notícias ruins vão mais devagar – problema da “contagem
infinita”!
44 iterações antes do algoritmo se estabilizar
Envenenamento reverso:
Se Z está na rota de Y para X :
Z informa a Y que sua (Z) distância para X é infinita
(assim Y não irá rotear para X via Z) O problema será completamente resolvido? x z 1 4 50 y 60
4: Camada de Rede 4a-95
Comparação entre DV e LS
Complexidade Mensagens
LS: cada n vértices, E enlaces, O(nE) msgs são enviadas
DV: troca somente entre vizinhos
Convergência em tempo varia
Velocidade de convergência
LS: Algoritmo O(n2) requer
O(nE) msgs
Por haver as ocilações
DV: Convergência varia no tempo Roteamento pode entrar em loop
Problema da contagem infinita
Robustez: O que acontece
se o roteador passa a Não funcionar?
LS:
Vértice pode publicar
custo do enlace incorreto Cada vértice computa
apenas a sua tabela
DV:
Vértice DV pode publicar custo incorreto do
caminho
Cada tabela no vértice é usada por outros
Capitulo 4: Camada Rede
4. 1 Introdução 4.2 Redes circuito Virtual e datagrama 4.3 O que tem em um roteador 4.4 IP: Protocolo Internet Formato do Datagram Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado do Enlace Vetor Distância Roteamento Hierárquico 4.6 Roteamento na Internet RIP OSPF BGP 4.7 roteamento Broadcast e multicast4: Camada de Rede 4a-97
Roteamento Hierárquico
escala: com 200 milhões
destinos:
Não há como armazenar todos os destinos nas tabelas de roteamento! A troca de Tabela de roteamento pode
sobrecarregar os enlaçes!
Autonomia administrativas
Internet = rede de redes Cada administrador pode querer controlar o
roteamento de sua rede
Os estudos sobre roteamento até então -idealização
Todos os roteadores são identicos Rede é “plana”
Roteamento Hierárquico
Agrega roteadores em uma região, “sistemas autonomos” (AS) Roteadores em um mesmo AS rodam o mesmo procotolo de roteamento Roteamento “intra-AS” Roteamento em diferentes AS podem rodar diferentes protocolos de roteamento intra-AS Roteador Gateway
Enlace direto para
4: Camada de Rede 4a-99 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b Intra-AS Algoritmo Roteamento Inter-AS Algoritmo Roteamento Repasse Tabela 3c
ASes Interconectados
Tabelas de comutação atualizadas por ambos os algoritmos de roteamento: intra- e inter-ASConjuntos de entradas intra-AS para destinos internos
Conjuntos de entradas inter-AS & intra-As para destinos externos
3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c
Tarefas Inter-AS
Suponha Roteador em AS1 receba datagrama destinado para umponto fora de AS1: Roteador deve repassar pacotes para o roteador borda, mais qual deles?
AS1 deve:
1. Aprender quais
destinos são
alcançáveis através do AS2, e quais são
através do AS3 2. Propagar a info de alcançabilidade para todos os roteadores em AS1 Traballho do roteamento inter-AS!
4: Camada de Rede 4a-101
Exemplo: configuração da tabela de repasse no
roteador 1d
Suponha AS1 aprende (via protocolo inter-AS) que a subrede x é alcançável via AS3 (borda 1c) mas não via AS2.
Protocolo inter-AS propaga a info de alcançabilidade para todos os roteadores internos.
Roteador 1d determina da informação de roteamento do intra-AS que sua interface I está no caminho de menor custo para 1c.
Insere a entrada (x,I) na tabela de roteamento
3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c x
…
Exemplo: Escolhendo entre múltiplos ASes
Agora suponha AS1 saiba atravês do protocolointer-AS que a subrede x é alcançável a partir de AS3 e de AS2.
Para configurar tabela de repasse, roteador 1d deve determinar através de que roteador de borda ele deve repassar o pacotes para o destino x.
Essa também é a tarefa do procotolo de roteamento inter-AS! 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b 3c
…
x…
4: Camada de Rede 4a-103 Aprende pelo protocolo Inter-AS que a Subrede x é alcançável Via múltiplos roteadores
Usa info roteamento do procotocolo intra-AS para determinar custos dos caminhos
de menor custo para cada roteador
Roteamento Hot potato:
Escolhe o roteador de borda que tem o
menor entre os menos custos
Determine da tabela de Comutação a interface I que leva O gateway de menor custo
Entre com (x,I) na Tabela de comutação
Exemplo: Escolhendo entre múltiplos ASes
Roteamento hot potato: envia pacotes através do
Capitulo 4: Camada Rede
4. 1 Introdução 4.2 Redes circuito Virtual e datagrama 4.3 O que tem em um roteador 4.4 IP: Protocolo Internet Formato do Datagram Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado do Enlace Vetor Distância Roteamento Hierárquico 4.6 Roteamento na Internet RIP OSPF BGP 4.7 roteamento Broadcast e multicast4: Camada de Rede 4a-105
Roteamento Intra-AS
Também conhecido como Interior Gateway Protocols (IGP)
Os procotocolos mais comuns para roteamento Intra-AS:
RIP: Routing Information Protocol OSPF: Open Shortest Path First
IGRP: Interior Gateway Routing Protocol (Proprietário da Cisco)
Roteamento Intra-AS
Também conhecido como Interior Gateway Protocols (IGP)
Os procotocolos mais comuns para roteamento Intra-AS:
RIP: Routing Information Protocol OSPF: Open Shortest Path First
IGRP: Interior Gateway Routing Protocol (Proprietário da Cisco)
4: Camada de Rede 4a-107
Capitulo 4: Camada Rede
4. 1 Introdução 4.2 Redes circuito Virtual e datagrama 4.3 O que tem em um roteador 4.4 IP: Protocolo Internet Formato do Datagram Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado do Enlace Vetor Distância Roteamento Hierárquico 4.6 Roteamento na Internet RIP OSPF BGP 4.7 roteamento Broadcast e multicast
RIP ( Routing Information Protocol)
Algoritmo vetor distância
Incluído na distribuição BSD-UNIX em 1982 Métrica distância: # de saltos(max = 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
4: Camada de Rede 4a-109
Propaganda RIP
Vetores distância:
trocas entre vizinhos a
cada 30 seg via Response Message (também
chamado propaganda)
Cada propaganda: lista até 25 destino de
subredes dentro do AS
RIP: Exemplo
Rede destino Prox. Roteador Nro. saltos p/ dest.
w A 2 y B 2 z B 7 x -- 1 …. …. .... w x y z A C D B Tabela roteamento/comutação em D
4: Camada de Rede 4a-111
RIP: Exemplo
Rede destino Prox roteador Nro de saltos dest.
w A 2 y B 2 z B A 7 5 x -- 1 …. …. .... Tabela Roteamento/comutação em D w x y z A C D B
Dest prox saltos
w - 1 x - 1 z C 4 …. … ... Propaganda de A para D
RIP: Falha/Recuperação em Enlace
Se não se escuta propaganda por 180 seg --> vizinho/enlace é declarado morto
Rota via vizinho é invalidada
Nova propaganda enviada para vizinhos
Vizinhos a seu tempo enviam novas propagandas (se tabela mudar)
Info de Falha enlace é propagado rapidamente(?) para toda a rede
Envenenamento reverso usando para evitar loops
4: Camada de Rede 4a-113
Processando Tabela RIP
Tabelas de roteamento do RIP gerida por um
processo da camada de aplicação route-d (daemon) Propaganda enviada em pacotes UDP, repetido
periodicamente física enlace Rede comutação (IP) tabela Transprt (UDP) routed física enlace rede (IP) Transprt (UDP) routed comutação tabela
Capitulo 4: Camada Rede
4. 1 Introdução 4.2 Redes circuito Virtual e datagrama 4.3 O que tem em um roteador 4.4 IP: Protocolo Internet Formato do Datagram Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado do Enlace Vetor Distância Roteamento Hierárquico 4.6 Roteamento na Internet RIP OSPF BGP 4.7 roteamento Broadcast e multicast4: Camada de Rede 4a-115
OSPF (Open Shortest Path First)
“aberto”: disponível publicamente (RFC 2328) Usa algoritmo Estado Enlace
Disseminação pacotes Estado Enlace Mapa topologia em cada nó
Computação rotas usando algoritmo Dijkstra
4: Camada de Rede 4a-117
Formato Geral de uma mensagem
OSPF
4: Camada de Rede 4a-119
4: Camada de Rede 4a-121
Características “avançadas” OSPF
segurança: todas mensagens OSPF autenticada (para
previnir intrusão)
múltiplos caminhos como mesmo-custo são permitidos
Para cada enlaçe, múltiplas métricas de custo para diferentes TOS (e.g., enlace satelite define “baixo” para melhor esforço; alto para tempo real)
OSPF Hierárquico
Hierarquica em duas-camadas: area local, backbone.
Propaganda do estado do enlace somente na area Cada nó tem a topologia detalhada da area; conheçe somente direção (menor caminho) para redes em
outras areas.
Roteadores de borda da area: “resume” distância para
redes em sua própria area, faz propaganda para outros roteadores de borda de area.
Roteadores backbone: executa roteamento OSPF
limitado ao backbone.
4: Camada de Rede 4a-123
Capitulo 4: Camada Rede
4. 1 Introdução 4.2 Redes circuito Virtual e datagrama 4.3 O que tem em um roteador 4.4 IP: Protocolo Internet Formato do Datagram Endereçamento IPv4 ICMP IPv6 4.5 Algoritmos de roteamento Estado do Enlace Vetor Distância Roteamento Hierárquico 4.6 Roteamento na Internet RIP OSPF BGP 4.7 roteamento Broadcast e multicast4: Camada de Rede 4a-125
Roteamento inter-AS na Internet:
BGP
BGP (Border Gateway Protocol):
padrão de
fato
BGP prover a cada AS uma maneira de:
1. Obter informação de alcançabilidade de umasubrede a partir de ASs vizinhos.
2. Propaga informação de alcançabilidade para
todos os roteadores internos a um AS.
3. Determina rotas “boas” para subredes baseado
na informação de alcançabilidade e a política do AS.
Permite subrede anunciar sua existência
para o restante da Internet:
“Estou aqui”
O Básicão do BGP
Pares de roteadores (pares BGP) trocam info de roteamento em conexões TCP semi-permanentes:
sessão BGP
Sessões BGP não precisam corresponder a conexões físicas.
Quando AS2 anuncia um pré-fixo para AS1:
AS2 compromete-se a repassar datagramas para
aquele pré-fixo.
AS2 pode agregar prefixos em sua propaganda
• Exemplo!!! 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b
4: Camada de Rede 4a-127
Distribuindo info alcançabilidade
Usando sessão eBGP entre 3a e 1c, AS3 envia pré-fixo como info de alcançabilidade para AS1.
1c pode então usar iBGP para distribuir nova info de pré-fixo para todos os roteadores no AS1
1b pode então anunciar novamente nova info de alcançabilidade para AS2 sobre sessão eBGP 1b-para-2a
Quando roteador aprende sobre o novo pré-fixo, ele cria uma entrada para o pré-fixo em sua tabela de comutação. 3b 1d 3a 1c 2a AS3 AS1 AS2 1a 2c 2b 1b
Atributos de caminhos & rotas
BGP
Pré-fixo anunciado inclue atributos BGP.
pré-fixo + atributos = “rota”
Dois atributos importantes:
AS-PATH: contém ASs por onde o anuncio do
pré-fixo passou: ex, AS 67, AS 17
NEXT-HOP: indica roteador específico interno ao
AS para próximo salto no AS. (pode ser multíplos enlaces do AS corrente para próximo hop-AS)
Quando roteador de borda recebe um anuncio
de rota, usa política importa para
4: Camada de Rede 4a-129
Seleção rota BGP
Roteadores podem aprender sobre mais de
uma rota para o mesmo pré-fixo. Roteador
deve selecionar rota.
Regras para eliminação:
1. Atributo valor local de preferência. 2. O menor AS-PATH
3. Roteador NEXT-HOP mais próximo:
roteamento hot potato
Mensagens BGP
Troca d Mensagens BGP usando TCP. Mensagens BGP:
OPEN: abre uma conexão TCP para o par e
autêntica transmissor
UPDATE: anuncia novo caminho(ou remove antigo)
KEEPALIVE conexão mantiva ativa mesmo na
ausencia de UPDATES; também quer ACKs OPEN
NOTIFICATION: reporta erros em mensagen
4: Camada de Rede 4a-131
Politica de roteamento BGP
A,B,C são redes provedoras
X,W,Y são clientes (das redes provedoras)
X é dual-homed: conectado para duas redes
X não deseja rotear de B para C
.. assim X não irá anunciar para B uma rota para C
A B C W X Y legenda: cliente rede: provedor rede
Politica roteamento BGP (2)
A anuncia caminho AW para B B anuncia caminho BAW para X
B deve anunciar caminho BAW para C?
Não! B não tem ganho para roteamento CBAW uma vez que nem W nem C são clientes de B
B quer forçar C rotear para w via A
B quer rotear somente de/para seus clientes!
A B C W X Y legenda: cliente rede: provedora rede
4: Camada de Rede 4a-133
Porque o roteamento Intra- e Inter-AS é
diferente?
Politica:
Inter-AS: adminstrador deseja controlar como o seu tráfego é roteado, que rotas este deve seguir na
rede.
Intra-AS: único administrador, assim não precisa de politicas
Escala:
Roteamento hierárquico economiza tamanho da tabela, reduz tráfego de atualização
Performance:
Intra-AS: foca na performance