Title: Formato do Datagrama IP
1Formato do Datagrama IP
versão do Protocolo IP
tamanho total do datagrama (bytes)
32 bits
tamanho do header (bytes)
type of service
head. len
ver
lenght
usados para fragmentação/ remontagem
fragment offset
Classe de serviço
flgs
16-bit identifier
número máximo de saltos (decrementado em cada
roteador)
proto- col
time to live
Internet checksum
32 bit endereço IP de origem
32 bit endereço IP de destino
Protocolo da camada superior com dados
no datagrama
Ex. timestamp, registro de rota, lista de
rotea- dores a visitar.
Opções (se houver)
data (tamanho variável , tipicamente um
segmento TCP ou UDP)
2IP Fragmentação e Remontagem
- Enlaces de rede têm MTU (max.transfer size) -
corresponde ao maior quadro que pode ser
transportado pela camada de enlace. - tipos de enlaces diferentes possuem MTU
diferentes (ethernet 1518 bytes) - Datagramas IP grandes devem ser divididos dentro
da rede (fragmentados) - um datagrama dá origem a vários datagramas
- remontagem ocorre apenas no destino final
- O cabeçalho IP é usado para identificar e ordenar
datagramas relacionados
fragmentação in um datagrama grande out 3
datagramas menores
reassembly
3IP Fragmentação e Remontagem
Um grande datagrama se torna vários datagramas
menores
ID x
offset 2960
fragflag 0
tamanho 1040
4ICMP Internet Control Message Protocol
- Usado por computadores e roteadores para troca de
informação de controle da camada de rede - relatório de erros host, rede, porta ou
protocolo - echo request/reply (usado pela aplicação ping)
- transporte de mensagens
- mensagens ICMP transportadas em datagramas IP
- ICMP message tipo, código, mais primeiros 8
bytes do datagrama IP que causou o erro
Tipo Código descrição 0 0 echo
reply (ping) 3 0 dest. network
unreachable 3 1 dest host
unreachable 3 2 dest protocol
unreachable 3 3 dest port
unreachable 3 6 dest network
unknown 3 7 dest host unknown 4
0 source quench (congestion
control - not used) 8 0
echo request (ping) 9 0
route advertisement 10 0 router
discovery 11 0 TTL expired 12
0 bad IP header
5ICMP Exemplo traceroute
- Envia uma série de datagramas IP em direção ao
destino - com TTLs crescentes 1, 2, 3, ...
- Ao receber o n-ésimo datagrama, o n-ésimo
roteador observa que seu TTL zerou - envia de volta mensagem ICMP tipo 11, código 0
- Host de origem recebe cada uma das mensagens ICMP
e - reconstitui a rota para o host destino
- estima o atraso acumulado em cada nó no caminho
6DHCP Dynamic Host Configuration Protocol
- Protocolo cliente-servidor
- Cliente host recém-chegado à rede
- Servidor fornece informações de configuração de
rede aos clientes (ex. endereço IP) - Um servidor para cada rede local (LAN), ou
- Roteador local faz o papel de agente de relay
para o servidor de DHCP mais próximo
7DHCP
Servidor DHCP
223.1.1.1
223.1.2.5
Atua como relay agent
223.1.2.1
223.1.1.2
223.1.2.9
223.1.1.4
223.1.2.2
223.1.3.27
223.1.1.3
223.1.3.2
223.1.3.1
8DHCP Troca de mensagens
- DHCP Discover Message broadcast pelo cliente
- datagrama UDP, endereçado para 255.255.255.255,
porta 67 - DHCP Server Offer resposta do servidor DHCP
local (via protocolo de enlace), contendo - endereço IP proposto para o cliente
- máscara de rede
- prazo de validade do endereço IP fornecido
- Pode haver mais de um servidor DHCP cliente
escolhe - DHCP Request cliente confirma aceitação dos
parâmetros de configuração do servidor escolhido - DHCP ACK servidor confirma os parâmetros do
cliente
9DHCP
DHCP discover
Src 0.0.0.0, 68 Dest 255.255.255.255,
67 DHCPDISCOVER Yiaddr 0.0.0.0 Transaction ID
654
DHCP offer
Src 223.1.2.5, 67 Dest 255.255.255.255,
68 DHCPOFFER Yiaddr 223.1.2.4 Transaction ID
654 DHCP server ID 223.1.2.5 Lifetime 3600 secs
DHCP request
Src 0.0.0.0, 68 Dest 255.255.255.255,
68 DHCPREQUEST Yiaddr 223.1.2.4 Transaction ID
655 DHCP server ID 223.1.2.5 Lifetime 3600 secs
DHCP ACK
Src 223.1.2.5, 67 Dest 255.255.255.255,
68 DHCPACK Yiaddr 223.1.2.4 Transaction ID
655 DHCP server ID 223.1.2.5 Lifetime 3600 secs
10NAT Network Address Translation
- Solução de transição para a escassez de endereços
IP - Redes locais podem utilizar endereços IP
não-validos - Roteador NAT traduz os endereços internos da rede
local (não-válidos externamente) para um endereço
válido - endereço do roteador que conecta a rede local com
a Internet - i.e., roteador habilitado para NAT
11NATExemplo
Tabela de tradução NAT
Do lado da LAN Do lado da WAN
10.0.0.1, 3345 138.76.29.7, 5001
... ...
S 10.0.0.1, 3345 D 128.119.40.186, 80
10.0.0.1
S 138.76.29.7, 5001 D 128.119.40.186, 80
2
1
10.0.0.2
10.0.0.4
138.76.29.7
4
S 128.119.40.186, 80 D 10.0.0.1, 3345
S 128.119.40.186, 80 D 138.76.29.7, 5001
10.0.0.3
3
12Roteamento na Internet
- A Internet consiste de Sistemas Autônomos (AS)
interconectados entre si - Stub AS pequena corporação
- Multihomed AS grande corporação (sem tráfego de
trânsito) - Transit AS provedor de acesso
- Dois níveis de roteamento
- Intra-AS o administrador é responsável pela
definição do método de roteamento - Inter-AS padrão único
13Hierarquia de AS
Roteador de borda Inter-AS (exterior gateway)
Roteador interno Intra-AS (gateway)
14Roteamento Intra-AS
- Também conhecido como Interior Gateway Protocols
(IGP) - IGPs mais comuns
- RIP Routing Information Protocol
- OSPF Open Shortest Path First
- IGRP Interior Gateway Routing Protocol
(proprietário da Cisco)
15RIP ( Routing Information Protocol)
- Algoritmo do tipo vetor-distância
- Incluso na distribuição do BSD-UNIX em 1982
- Métrica de distância número de hops (máx 15
hops) - motivo simplicidade
- Vetores de distância trocados a cada 30s via
Response Message (também chamado advertisement,
ou anúncio) - Cada anúncio indica rotas para até 25 redes de
destino
16RIP (Routing Information Protocol)
z
...
w
x
y
A
D
B
C
Rede de Destino Next Router Num. de
saltos para dest. w A 2 y B 2
z B 7 x -- 1 . . ....
Tabela de roteamento em D
17RIP (Routing Information Protocol)
z
...
w
x
y
A
D
B
C
Rede de Destino Next Router Num. de
saltos para dest. w -- 1 z C 4 x --
1
Anúncio de rotas feito pelo roteador A
18RIP (Routing Information Protocol)
z
...
w
x
y
A
D
B
C
Rede de Destino Next Router Num. de
saltos para dest. w A 2 z A 5 y B
2
Nova tabela de rotas do roteador D
19RIP Falha de Enlaces e Recuperação
- Se não há mensagem de resposta após 180s --gt o
vizinho e o enlace são declarados inativos - rotas através do vizinho são anuladas
- novos anúncios são enviados aos vizinhos
- os vizinhos por sua vez devem enviar novos
anúncios (se suas tabelas de rotas foram
alteradas) - a falha de um enlace se propaga rapidamente para
a rede inteira - poison reverse é usado para prevenir loops, isto
é, evitar que a rota para um destino passe pelo
próprio roteador que está enviando a informação
de distância (distância infinita 16 hops)
20RIP Processamento da tabela de rotas
- As tabelas de roteamento do RIP são manipuladas
por um processo de aplicação chamado routed
(daemon) - anúncios são enviados em pacotes UDP com
repetição périódica protocolo de nível de
aplicação!
21Exemplo de tabela RIP
- Roteador giroflee.eurocom.fr
Destination Gateway
Flags Ref Use Interface
-------------------- -------------------- -----
----- ------ --------- 127.0.0.1
127.0.0.1 UH 0 26492 lo0
192.168.2. 192.168.2.5 U
2 13 fa0 193.55.114.
193.55.114.6 U 3 58503 le0
192.168.3. 192.168.3.5 U
2 25 qaa0 224.0.0.0
193.55.114.6 U 3 0 le0
default 193.55.114.129 UG
0 143454
- 3 redes classe C diretamente conectadas (LANs)
- Roteador somente conhece rotas para as LANS
locais (nesse caso particular) - Rota Default usada para mandar mensagens para
fora - Endereço de rota multicast 224.0.0.0
- Loopback interface (para depuração) 127.0.0.1
22OSPF (Open Shortest Path First)
- Significado de open publicamente disponível
- Usa algoritmo do tipo Link State
- disseminação de pacotes LS
- mapa topológico em cada nó
- usa algoritmo de Dijkstra para cálculo de rotas
- anúncios do OSPF transportam um registro para
cada roteador vizinho - Mensagens transmitidas diretamente sobre IP
- Anúncios são distribuídos para todo o AS (via
flooding)
23OSPF características avançadas
- Segurança todas as mensagens do OSPF são
autenticadas (para previnir intrusão de hackers) - Múltiplos caminhos de mesmo custo são permitidos
(o RIP só permite um caminho para cada destino) - Para cada enlace podem ser calculadas múltiplas
métricas uma para cada tipo de serviço (TOS)
(ex. custo de enlace por satélite definido como
baixo para tráfego de melhor esforço e alto
para serviços de tempo real) - Integra tráfego uni- e multicast
- Multicast OSPF (MOSPF) usa a mesma base de dados
topológica do OSPF - Hierarchical OSPF dois níveis de roteamento para
domínios grandes.
24OSPF Hierárquico
25OSPF Hierárquico
- Hierarquia de dois níveis área local e backbone.
- anúncios de Link-state são enviados apenas nas
áreas - cada nó tem a topologia detalhada da área mas
somente direções conhecidas (caminhos mais
curtos) para redes em outra áreas. - Roteadores de borda de área resumem distâncias
para redes na própria área e enviam para outros
roteadores de borda de área - Roteadores de backbone executam o roteamento
OSPF de forma limitada ao backbone. - Roteadores de borda realizam as funções de
interconexão com outros sistemas autônomos.
26IGRP (Interior Gateway Routing Protocol)
- Protocolo proprietário da CISCO sucessor do RIP
(meados dos anos 80) - Vetor distância, como RIP
- várias métricas de custo (atraso, banda,
confiabilidade, carga, etc.) - usa o TCP para trocar informações de novas rotas
- Loop-free routing via Distributed Updating
Algorithm (DUAL) baseado em técnicas de
computação difusa
27Inter-AS routing
28Internet inter-AS routing BGP
- BGP (Border Gateway Protocol) é o padrão de fato
para uso na Internet - Algoritmo Path Vector
- similar ao protocolo Distance Vector
- cada Border Gateway envia em broadcast aos seus
vizinhos (peers) o caminho inteiro (isto é a
seqüência de ASs) até o destino - Exemplo Gateway X deve enviar seu caminho até o
destino Z - Path (X,Z) X,Y1,Y2,Y3,,Z
29Internet inter-AS routing BGP
- Suponha roteador X envia seu caminho ao roteador
parceiro W - W pode escolher ou não o caminho oferecido por X
- critérios de escolha custo, regras (não rotear
através de AS rivais ), prevenção de loops. - Se W seleciona o caminho oferecido por X, então
- Path (W,Z) w, Path (X,Z)
- Nota X pode controlar o tráfego de entrada
controlando as rotas que ele informa aos seus
parceiros - ex., se X não quer rotear tráfego para Z, X não
informa nenhuma rota para Z
30Internet inter-AS routing BGP
- As mensagens do BGP são trocadas encapsuladas no
TCP. - mensagens BGP
- OPEN inicia a conexão TCP com um roteador
parceiro e autentica o transmissor - UPDATE anuncia novo caminho (ou retira um
velho) - KEEPALIVE mantém a conexão viva em caso de
ausência de atualizações também reconhece
mensagens OPEN - NOTIFICATION reporta erros nas mesnagens
anteriores também usado para encerrar uma conexão
31Porque os protocolos Intra- e Inter-AS são
diferentes ?
- Políticas
- Inter-AS a administração quer ter controle sobre
como seu tráfego é roteado e sobre quem roteia
através da sua rede. - Intra-AS administração única as decisões
políticas são mais simples - Escalabilidade
- O roteamento hierárquico poupa espaço da tabela
de rotas e reduz o tráfego de atualização - Performance
- Intra-AS preocupação maior é desempenho
- Inter-AS regras de mercado podem ser mais
importantes que desempenho
32Visão da Arquitetura de Roteadores
- Duas funções chave dos roteadores
- rodar algoritmos e protocolos de roteamento (RIP,
OSPF, BGP) - comutar datagramas do enlace de entrada para o
enlace de saída
33Funções na porta de entrada
Camada física recepção de bits
- Comutação descentralizada
- dado o destino do datagrama, busca porta de
saída, usando a tabela de roteamento na memória
da porta de entrada - objetivo completar o processamento da porta de
entrada na velocidade da linha - filas se o datagramas chegam mais depressa que a
taxa de envio para a estrutura de comutação
Camada de enlace ex., Ethernet veja capítulo 5
34Enfileiramento na Porta de Entrada
- Se a estrutura de comutação for mais lenta que a
capacidade combinada das portas de entrada -gt
pode ocorrer filas nas portas de entrada - Bloqueio Head-of-the-Line (HOL) datagramas
enfileirados no início da fila bloqueiam aqueles
que estão atrás na fila - atrasos de filas e perdas são provocados pela
saturação do buffer de entrada!
35Três tipos de estruturas de comutação
36Comutação via Memória
- Empregada nos roteadores de primeira geração
- pacotes são copiados pela única CPU do sistema
- velocidade é limitada pela banda passante da
memória (2 cruzamentos do bus por datagrama)
- Roteadores modernos
- processador da porta de entrada realiza busca e
cópia para a memória - Cisco Catalyst 8500
37Comutação ViaBarramento
- datagrama é transferido da memória da porta de
entrada para a memória da porta de saída via um
barramento compartilhado - contenção no bus velocidade de comutação
limitada pela capacidade do barramento - 1 Gbps bus, Cisco 1900 velocidade suficiente
para roteadores de acesso e de empresas (não para
roteadores regionais e de backbone)
38Comutação via Rede de Interconexão
- supera limitações da banda do barramento
- redes de Banyan, outras redes de interconexão
originalmente desenvolvidas para conectar
processadores num sistema multi-processador - projeto avançado fragmentar datagramas em
células de comprimento fixo e comutar as células
por uma rede de comutação. - Cisco 12000 comuta vários gigabis por segundo
através de uma rede de interconexão
39Portas de Saída
- Armazenamento exigido quando os datagramas
chegam da estrutura de comutação mais depressa
que a taxa de transmissão do enlace de saída - Disciplina de fila escolhe entre os datagramas
enfileirados um deles para transmissão
40Filas na porta de saída
- armazenamento quando a taxa de chegada pelo
comutador excede a velocidade da linha de saída - filas(atrasos) e perdas são provocados por um
overflow do buffer da porta de saída!
41IPv6
- Motivação inicial o espaço de endereços de
32-bits estará completamente alocado por volta de
2008. - Motivação adicional
- melhorar o formato do cabeçalho para permitir
maior velocidade de processamento e de
transmissão - mudanças no cabeçalho para incorporar mecanismos
de controle de QoS (Quality of Service) - novo tipo de endereço anycast - permite enviar
uma mensagem para o melhor dentre vários
servidores replicados - Formato dos datagramas IPv6
- cabeçalho fixo de 40 bytes
- não é permitida fragmentação
42IPv6 Cabeçalho
Priority (traffic class) permitir definir
prioridades diferenciadas para
vários fluxos de informação Flow Label
identifica datagramas do mesmo fluxo.
(conceito de fluxo não é bem
definido). Next header identifica o protocolo da
camada superior ou um
cabeçalho auxiliar (options)
43Outras mudanças do IPv4
- Checksum removido inteiramente para reduzir o
tempo de processamento em cada roteador - Options são permitidas, mas são alocadas em
cabeçalhos suplementares, indicados pelo campo
Next Header - ICMPv6 nova versão de ICMP
- tipos de mensagens adicionais , ex. Packet Too
Big - funções de gerenciamento de grupos multicast
44Transição do IPv4 para IPv6
- Nem todos os roteadores poderão ser atualizados
simultaneamente - não haverá um dia da vacinação universal
- A rede deverá operar com os dois tipos de
datagramas simultaneamente presentes - Duas abordagens propostas
- Pilha de protocolos dual alguns roteadores, com
pilhas de protocolos duais (IPv6 e IPv4), podem
trocar pacotes nos dois formatos e traduzir de um
formato para o outro - Tunneling IPv6 transportado dentro de pacotes
IPv4 entre roteadores IPv4
45Abordagem de pilha dual
46Tunneling
IPv6 dentro do IPv4 onde necessário
47Multicast
- Envio de uma mensagem para um grupo de receptores
como uma única operação - Alternativas de implementação
- várias mensagens de unicast transmissor
explicitamente envia uma cópia da mensagem para
cada receptor no grupo - multicast em nível de aplicação transmissor
manda uma cópia da mensagem para um sub-conjunto
dos membros do grupo, os quais se encarregam de
retransmitir a mensagem para outros membros mais
à frente - multicast explícito com suporte na camada de
rede o transmissor envia uma única cópia do
datagrama, o qual é replicado pelos roteadores no
caminho (com a ajuda de protocolos de roteamento
multicast)
48Multicast (cont.)
- Identificação dos receptores
- i.e., membros de um grupo
- Protocolo IGMP (Internet Group Management
Protocol) conhecimento descentralizado do
conjunto de membros de um grupo - executa nos roteadores de borda
- hosts informam a entrada e saída de um grupo de
multicast - encamento de datagramas em cooperação com um
protocolo de roteamento multicast (DVMRP, MOSPF,
PIM) - Endereçamento de grupo
- usa endereços IP classe D
- 224.0.0.0 a 239.255.255.255
- endereço utilizado em datagramas multicast
- endereçamento indireto (cada host tem também um
endereço IP unicast)
49Mobilidade Suporte na camada de rede
- espectro de mobilidade, a partir de uma
perspectiva da rede
usuário móvel usando o mesmo ponto de acesso
usuário móvel, passando através de múltiplos
pontos de acesso enquanto mantém uma conexão
ininterrupta (como com telefones cels.)
usuário móvel, conecta-se e desconecta-se da rede
usando DHCP enquanto migra shutdown
50Mobilidade Vocabulário
home agent entidade que irá realizar as funções
de mobilidade em favor do host móvel quando este
estiver em local remoto
home network residência permanente do host
móvel (e.g., 128.119.40/24)
host móvel
wide area network
Permanent address endereço do host móvel na home
network pode sempre ser usado para se comunicar
com o host móvel e.g., 128.119.40.186
correspondente
51Mobilidade mais vocabulário
visited network rede em que o host móvel se
encontra atualmente (e.g., 79.129.13/24)
Permanent address permanece constante (e.g.,
128.119.40.186)
Care-of-address endereço na rede visitada (e.g.,
79,129.13.2)
wide area network
foreign agent entidade na rede visitada que
realiza as funções de mobilidade em favor do host
móvel
correspondente deseja se comunicar com o host
móvel
52Analogia Como contactar um amigo que se mudou
para onde Alice se mudou?
Considere um amigo que troca de endereço com
freqüência. Como encontrá-lo
- pesquisar em todas as listas telefônicas?
- telefonar para os pais dele?
- esperar que ele/ela comunique seu novo endereço?
53Mobilidade Abordagens
- Deixar a cargo do roteamento roteadores anunciam
endereço permanente do host móvel da forma usual - tabelas de roteamento indicam onde o host móvel
se encontra atualmente - não requer mudanças nos sistemas finais
- Deixar a cargo dos sistemas finais
- roteamento indireto comunicação de um
correspondente para um host móvel passa através
do home agent, que então encaminha para o
endereço remoto - roteamento direto correspondente obtém o
endereço estrangeiro do host móvel e envia
datagramas diretamente a ele
54Mobilidade Abordagens
- Deixar a cargo do roteamento roteadores anunciam
endereço permanente do host móvel da forma usual - tabelas de roteamento indicam onde o host móvel
se encontra atualmente - não requer mudanças nos sistemas finais
- Deixar a cargo dos sistemas finais
- roteamento indireto comunicação de um
correspondente para um host móvel passa através
do home agent, que então encaminha para o
endereço remoto - roteamento direto correspondente obtém o
endereço estrangeiro do host móvel e envia
datagramas diretamente a ele
não escalável para milhões de hosts
55Mobilidade Registro
rede visitada
home network
wide area network
- Resultado final
- Foreign agent fica sabendo a respeito do host
móvel - Home agent sabe a localização do host móvel
56Mobilidade via Roteamento Indireto
rede visitada
home network
wide area network
57Roteamento Indireto comentários
- Hosts móveis possuem dois endereços
- endereço permanente usado pelos correspondentes
(para os quais a localização móvel é
transparente) - care-of-address usado pelo home agent para
encaminhar pacotes para o host móvel - As funções do foreign agent podem ser realizadas
pelo próprio host móvel - Roteamento triangular
- ineficiente quando
- correspondente e host
- móvel estão na mesma rede
58Encaminhamento de datagramas para um host móvel
remoto
pacote encaminhado pelo foreign-agent para o host
móvel
pacote enviado pelo home agent para o foreign
agent um pacote dentro de outro
endereço permanente 128.119.40.186
Care-of address 79.129.13.2
59Roteamento Indireto mudança de rede
- suponha que um host móvel se mude para outra rede
- registra-se com um novo foreign agent
- novo foreign agent resitra-se com o home agent
- home agent atualiza o care-of-address do host
móvel - pacotes continuam a ser encaminhados para o host
móvel (mas agora com o novo care-of-address) - Mobilidade e mudança de rede estrangeira continua
transparente conexões em curso podem ser mantidas
60Mobilidade via Roteamento Direto
correspondente encaminha os pacotes para o
foreign agent
rede visitada
home network
wide area network
correspondente solicita e recebe o endereço
estrangeiro do host móvel
61Mobilidade via Roteamento Direto commentários
- Contorna o problema do roteamento triangular
- Mas não é transparente para os correspondentes,
que devem consultar o home agent para obter o
care-of-address - O que acontece se o host móvel se mudar para
outra rede?
62IP Móvel
- RFC 3220
- muitas das características vistas acima
- home agents, foreign agents, registro com o
foreign agent, care-of-address, encapsulamento de
pacotes - três componentes no padrão
- descoberta de agentes
- registro com o home agent
- roteamento indireto de datagramas
63IP Móvel descoberta de agente
- anúncio do agente foreign/home agents anunciam
seus serviços através de broadcast de mensagens
ICMP (typefield 9)
H,F bits home e/ou foreign agent
R bit registro necessário
64IP Móvel exemplo de registro