REDES E SISTEMAS
INTERNET
Protocolos da Internet
Roteiro
•
Visão geral da camada de rede na Internet
•
Protocolo IP
•
Protocolo ICMP
•
Protocolo RIP, OSPF e BGP
Visão geral
Transporte
Rede
• IP para endereçamento, formato e tratamento de pacotes
• ICMP para mensagens de sinalização
• RIP, OSPF, BGP para roteamento
Protocolo IP
•
Serviço de datagrama
não é orientado a conexão
•
Trabalha com conceito de “
best effort
”
•
Transportar datagramas da origem para o destino podendo passar
por vários roteadores intermediários, mas sem garantias
•
O protocolo é projetado para fornecer um serviço do tipo:
• “vou fazer o possível para entregar este pacote ao destino, mas não garanto que ele chegará”
Endereço IP de origem
Endereço IP de destino
Opções (olhar em http://www.iana.org/assignments/ip-parameters/ip-parameters.xhtml)
Dados (payload de segmento TCP ou UDP) Identificação
TTL Protocolo Checksum do cabeçalho Flags Offset do fragmento
Tamanho total Ver. IHL Tipo de
serviço
32 bits
Protocolo IP: endereçamento
•
Endereços IP v4
•
São números de 32 bits:
•
É comum representar por 4
bytes separados por “.”
•
Cada byte possui valores de 0 até 255
•
Identifica a rede e a máquina (host)
• Os endereços de rede são atribuídos pela ICANN (Internet Corporation for Assigned Names and Numbers)
192.168.0.104
Protocolo IP: endereçamento
•
Os endereços IPv4 foram divididos no passado
pensando no tamanho das redes que iriam usar
•
Definição histórica de 5 classes:
•
Classe A: redes grandes.
•
Classe B: redes médias.
•
Classe C: redes pequenas.
•
Classe D: endereços de multicast.
Protocolo IP: endereçamento
Classe Intervalo de endereços dos hosts
Rede
Rede
Rede
Endereços multicast
Protocolo IP: endereçamento
•
Quantas redes e quantas máquinas cabiam em cada
classe?
•
O número de bits no prefixo da classe ditam o
número de possíveis redes:
•
Classe A: 7 bits = 2
7= 128
•
Classe B: 14 bits = 2
14= 16.384
•
Classe C: 21 bits = 2
21= 2.097.152
•
O número de bits no sufixo da classe ditam o número
de possíveis máquinas:
•
Classe A: 24 bits = 2
24= 16.777.216
•
Classe B: 16 bits = 2
16= 65.536
Protocolo IP: endereçamento
•
Endereços especiais:
Este host
Um host nesta rede
Broadcast na rede local Broadcast em uma rede distante
Loopback Rede
Protocolo IP: sub-redes
•
A divisão histórica em 5 classes é muito inflexível...
• Imagine uma universidade que pegou um endereço de rede da classe B e depois precisa expandir sua rede interna!
• A ideia é pegar alguns dos 16 bits reservados aos hosts para representar
uma “sub-rede”
Roteador
Para ISP
Protocolo IP: sub-redes
•
Conceito de máscara de sub-rede:
Uma rede da classe B dividida em 64 sub-redes.
Máscara da Sub-rede
Rede Sub-rede
Máscara: 255.255.252.0
Protocolo IP: endereçamento
•
Como funciona o roteamento IP com sub-redes?
•
Na tabela de um roteador haverá pares:
•
Para sub-redes diferentes desta (rede, sub-rede, 0)
•
Para hosts nesta sub-rede (esta rede, sub-rede, host)
•
Se o 1o roteador da universidade recebe 130.50.15.6,
como ele descobre para qual sub-rede encaminhar?
•
Faz um AND com 255.255.252.0/22 e obtém 130.50.12.0
sub-rede 3!
10000010 00110010 00001111 00000110
11111111 11111111 11111100 00000000
10000010 00110010 00001100 00000000
130. 50. 15.6 255.255.252.0
130. 50. 12.0
Exercício
•
Suponha que a UFRPE conseguiu os endereços 128.10.0.0 até
128.10.255.255 para representar toda a universidade
•
Supondo que cada departamento deve ter o mesmo número de IPs e
considerando os departamentos abaixo:
• Defina a máscara de subrede
Protocolo IP: endereçamento
•
CIDR (Classless Interdomain Routing)
•
Solução para acomodar o número crescente de
organizações de pequeno e médio portes ainda no IPv4:
•
254 hosts (endereço de classe C) é pouco enquanto 65.634
hosts (endereço de classe B) é muito
•
Com o CIDR, os IPs restantes são alocados em blocos de
tamanho variável e não mais respeitando as classes fixas
•
Todos os roteadores agora devem passar a considerar o
conceito de máscara para suportar “roteamento sem classe”
• A tabela de roteamento agora passa a ser um vetor de triplas (endereço IP, máscara, linha de saída) para todos os roteadores!
• Se encontrar mais de uma entrada que bate com o endereço de destino, ele seleciona a de máscara mais longa (super-rede)
Protocolo IP: endereçamento
•
Exemplo de CIDR (Classless Interdomain Routing):
•Três empresas solicitam uma faixa de IPs:
• A: precisa de 2048 IPs e recebe a faixa de 194.24.0.0 a 194.24.7.255 junto com a máscara 255.255.248.0 194.24.0.0/21
• B: precisa de 1024 IPs e recebe a faixa de 194.24.8.0 a 194.24.11.255 junto com a máscara 255.255.252.0 1 194.24.8.0/22
• C: precisa de 4096 IPs e recebe a faixa de 194.24.16.0 a 194.24.31.255 junto com a máscara 255.255.240.0 194.24.16.0/20
•
As tabelas de roteamento do mundo todo precisam ter:
• A: 11000010.00011000.00000000.00000000 11111111.11111111.11111000.00000000 • B: 11000010.00011000.00001000.00000000 11111111.11111111.11111100.00000000 • C: 11000010.00011000.00010000.00000000 11111111.11111111.11110000.00000000
•
Quando um pacote chega ao destino 194.24.17.4 é feito um AND com
cada máscara para ver se bate com o endereço inicial
Protocolo IP: NAT
•
NAT (Network Address Translation)
•Os endereços IP são escassos
•
Um ISP com um endereço /16 pode ter até 65.534 números de hosts
•
Como controlar um número maior de dispositivos por cliente?
• Um cliente que contratou um provedor e usa celulares e notebooks em casa precisa ter um IP para cada dispositivo!
•
Ideia básica:
• Atribuir a cada empresa um (ou um número pequeno de) endereço(s) IP para tráfego na Internet que é mapeado em endereços internos da rede
• Intervalos reservados:
• 10.0.0.0 - 10.255.255.255/8 (#16.777.216)
• 172.16.0.0 - 172.31.255.255/12 (#1.048.576)
Protocolo IP: NAT
•
NAT (Network Address Translation)
Limites da empresa ou residência Caixa
NAT/ firewall
Pacote antes da tradução
Protocolo IP: endereçamento
•
Como uma máquina obtém um endereço IP?
•
Configuração manual: o administrador configura manualmente o
endereço IP
•
Uso de DHCP (Dynamic Host Configuration Protocol):
• um servidor DHCP recebe requisições de um cliente, aloca e envia um endereço IP ao cliente requisitante
•
Como uma empresa consegue um endereço de rede IP?
•O seu ISP (Internet Service Provider) fornece o endereço a partir
de um bloco maior de endereços que já estão alocados a ele
•
Como o provedor consegue os endereços IP?
•
Novamente nossa amiga IANA: Internet Assigned Numbers
Authority
Protocolo IP: endereçamento
•
Conceito de autoridades regionais, nacionais, locais...
Registro Área coberta
AFRINIC Região da África
APNIC Região Ásia/Pacífico
ARIN América do Norte
LACNIC América Latina e Ilhas do Caribe
IPv6
•
Criado para superar a limitação de endereços do IPv4:
•128 bits: 16 bytes
• 3,4×1038 endereços
•
Notação:
•
8 grupos de 4 dígitos hexadecimais separados por
“:”
• Ex.: 3FFE:3100:0000:0000:0000:0000:0000:1111
•
Sequências
de “0” podem ser
substituídas
por “::”
• Ex.: 3FFE:3100::1111
IPv6
•
Dados coletados pela Google.com sobre o acesso por
IPv6:
IPv6
•
Cabeçalho do IPv6
32 bitsEndereço IP de origem (16 bytes)
Tamanho de carga útil CabeçalhoPróx. Lim. hops Rótulo de fluxo
Ver. Tipo de serviço
IPv6
•
Note diferenças no cabeçalho IPv6 com relação ao IPv4:
•Não há dados para fragmentação, checksum, protocolo...
•
Alguns não são mais necessários (como o checksum) e em outros
casos usa-se o conceito de cabeçalhos de extensão!
• Atualmente existem 6 e podem ser criados outros futuramente
Protocolos de controle
•
Na Internet são usados vários protocolos para controle:
•ICMP (Internet Control Message Protocol)
• Transporta mensagens de controle que são usadas pelo IP
•
ARP (Address Resolution Protocol)
• É usado para descobrir um endereço físico a partir de um IP
•
DHCP (Dynamic Host Configuration Protocol)
ICMP
•
Quando um evento inesperado ocorre, ele é reportado
usando o ICMP
•
Este protocolo
é “unha e carne”
com o IP:
•
Cada mensagem ICMP é enviada usando um pacote IP e o
protocolo IP precisa do ICMP para informações de controle
Tipo de Mensagem Descrição
Destination unreachable Não foi possível entregar o pacote Time exceeded O campo Time to live chegou a 0 Parameter problem Campo de cabeçalho inválido
Source quench Pacote regulador (pouco usado hoje em dia) Echo e Echo reply Pergunta a uma máquina se ela está ativa Timestamp request/reply Igual a Echo, mas com timbre de hora
ARP
•
Como descobrir o endereço físico de um computador de
destino se for conhecido apenas o nome?
•
Que tal usar arquivos de configuração com o
mapeamento <IP, MAC>?
•
Há uma solução melhor:
•
Passos usando ARP:
•
A partir do nome é obtido o IP usando o DNS (veremos DNS
depois)
•
A partir do IP é obtido o endereço MAC usando o protocolo ARP
• Uma mensagem de broadcast é enviada na rede “perguntando” quem
possui aquele IP
ARP
•
Esquema:
Roteador de CS possui 2 IPS
Roteador de EE possui 2 IPS
DHCP
•
Faz o trabalho “inverso” do ARP
•
Um servidor de DHCP deve estar disponível
•
Ele irá distribuir endereços IPs para os hosts que ainda não
possuem um
Protocolos de roteamento da Internet
•
No início a Internet usava um protocolo de roteamento
por vetor de distância
•
O protocolo RIP (Routing Information Protocol) é o melhor exemplo
•
Funcionava bem apenas em redes pequenas
•
Ocorria o problema de contagem ao infinito que já estudamos
•
Em 1979 foi proposto um novo protocolo e em 1990
passou a ser padrão na Internet:
•
OSPF (Open Shortest Path First)
•
Características básicas:
• É baseado no algoritmo de estado de enlace que foi estudado
• É aberto, possui várias métricas, é dinâmico, hierárquico
•
OSPF faz roteamento
intradomínio
(dentro de um AS)
BGP
•
Há objetivos diferentes em cada nível da Internet:
• Para o roteamento entre roteadores de um mesmo AS, o objetivo principal é eficiência!
• Quando o roteamento ocorre entre diferentes ASs, o principal objetivo passa a ser o uso de políticas
• Exemplos de políticas:
• Nunca envie tráfego do Pentágono que passe pelo Iraque.
• Use TellaSonera em vez de Verizon, pois a tabela de preços atual é melhor em TellaSonera.
• Não use infra-estrutura da Telecom Italia Mobile no Brasil, pois o desempenho é fraco neste país.
• Tráfego que começa ou termina na Apple não deve passar pelo Google.
•
O OSPF não possui como objetivo o uso de políticas, por isso
outro protocolo é usado entre ASs
BGP
•
Conceitos usados no BGP:
•
Serviço de trânsito
um AS oferece o envio de pacotes para
outro AS que não possui infra-estrutura para enviar o pacote
• O ISP cliente compra um serviço de transito do ISP provedor custa $
•
Peering
se o tráfego entre dois ASs for intenso e eles
concordarem, as trocas de pacotes podem ser gratuitas.
•
Protocolo de vetor de caminho
é parecido com o vetor de
distância, mas ele incorpora o caminho usado.
Informação recebida por F dos seus vizinhos com relação à D:
De B: “Eu uso BCD”
OSPF e BGP
•
Esquema:
Roteador de limite de AS BackboneRoteador de Backbone
Área
Roteador de borda de área O BGP
conecta ASs Roteador