IP 1
IPArquitectura, Interligação, Encaminhamento, Evoluções
Curso de Sistemas de Comunicação
IP 2
Modelo de Comunicação do TCP/IP♦ Estruturado em 4 camadas♦ Acesso à rede
» Interface ao meio físico» Carta de rede, device driver
♦ Rede (interligação de)» Transferência de pacotes» IP (Internet Protocol)
♦ Transporte» Multiplexagem de fluxos
– TCP- Transmission Control Protocol– UDP – User Datagram Protocol
♦ Aplicação» Serviços de rede
– Telnet, FTP, SMTP, SNMP, DNS
» Modelo cliente-servidor
IP 3
Comunicação Através de Redes Diferentes
IP 4
Comunicação Através de Redes Diferentes
♦ Redes comunicantes» Diferentes organizações» Diferentes tecnologias de acesso
♦ Internet ! rede virtual, única» Sistemas finais ! computadores» Sistemas intermédios ! routers» router ! uma interface por rede
♦ Protocolos» Camadas de Aplicação e Transporte
– extremo-a-extremo, entre computadores» Camada de Rede
– entre máquinas adjacentes (routers e computadores)
IP 5
Arquitectura da Pilha TCP/IP, num Host♦ TCP
» Orientado às ligações» Transporte ordenado e fiável
♦ UDP» Orientado aos pacotes (sem ligação)» Transporte não fiável
♦ IP» Protocolo principal da pilha» Encaminha datagramas
♦ ICMP» Auxiliar do IP» Envia mensagens de erro
♦ IGMP» Gere grupos de multicast
♦ ARP, RARP» endereços IP "! endereços físicos
IP 6
Encapsulamento dos Dados
IP 7
Encapsulamento Ethernet♦ Cartas Ethernet
» Devem receber– encapsulamento IEEE 802– encapsulamento Ethernet
» Se conseguem enviar os 2 tipos– encapsulamento Ethernet ! default
♦ Valores válidos IEEE 802 length» Diferentes de type válidos
– Ex. 0x0800 = 2048
IP 8
Desmultiplexagem dos Dados
» Cabeçalho TCP/UDP (porta)– FTP ! 21– Telnet ! 23– ...
» Cabeçalho IP (protocolo)– ICMP ! 1– IGMP ! 2– TCP ! 6– UDP ! 17
» Cabeçalho Ethernet (tipo)– IP ! 0x0800– ARP ! 0x0806– RARP ! 0x8053
IP 9
Endereçamento IP♦ Endereços IP
» Um por interface, 32 bits (IPv4)» Exemplo: 142.252.13.33
♦ Atribuição de endereços» InterNic ! atribui netid» Administrador de rede ! atribui hostid
♦ 3 classes de rede» Classe A
– 126 redes: 1.x.x.x até 126.x.x.x◆ All 0 ! reservada◆ 01111111 (127) ! loopback
» Classe B– 214 – 2 = 16,382 redes – 128.x.x.x até 191.x.x.x
» Classe C– 221 – 2 = 2,097,150 redes– 192.x.x.x até 223.x.x.x
♦ Tipos de endereço» Unicast, multicast, broadcast
Classe Valores
A 0.0.0.0 !!!! 127.255.255.255
B 128.0.0.0 !!!! 191.255.255.255
C 192.0.0.0 !!!! 223.255.255.255
D 224.0.0.0 !!!! 239.255.255.255
E 240.0.0.0 !!!! 247.255.255.255
IP 10
Endereçamento IP
IP 11
Interface de Loopback
» Interface de teste, num computador– curto-circuito à rede– netid ! 127.0.0.0– hostid ! 127.0.0.1– nome ! localhost
» Datagrama enviado para localhost não é visto na rede
IP 12
IP - Internet Protocol
♦ IP» Comutação de datagramas» Serviço não fiável
– Não há garantia de entrega no destino– Serviço best effort
» Datagramas para um mesmo destino podem– Seguir caminhos diferentes– Ser entregues fora de ordem
♦ Cada router» Analisa o endereço de destino» Encaminha o datagrama recebido para uma das suas interfaces» Em situações de erro
– Elimina datagrama– Envia mensagem de erro ICMP para a origem
IP 13
Cabeçalho de Datagramas IP
IP 14
Cabeçalho IP» Versão – IPv4» Comprimento do cabeçalho
– Número de palavras (de 32 bits) do cabeçalho– Limite do cabeçalho ! 60 octetos
» TOS (type of service)– 3 bits de precedência – 4 bits TOS– 1 bit não usado– Usado em novas redes (QoS, DiffServ)
» Comprimento total– Comprimento total do datagrama– Máximo 65535 bits
» Identificação– Identifica unicamente um datagrama– Incrementado de uma unidade por cada
datagrama enviado
» Tempo de vida– Número máximo de routers visitáveis por
um datagrama– Inicializado (32 ou 64) – Decrementado de um quando visita router
» Protocolo– Usado para desmultiplexagem
» Checksum– Calculado sobre o cabeçalho
» Endereço de origem (32 bits)» Endereço de destino (32 bits
– endereço do host final
» Opções– Registo de rota– Registo de tempos– Encaminhamento definido pela origem
◆ Loose source routing◆ Strict source routing
IP 15
Encaminhamento de Datagramas
♦ Datagrama contém endereço de destino
♦ Se router ligado à rede de destino # encaminha datagramaSenão # encaminha para outro Router
♦ Tabela de encaminhamento» número de rede $# próximo elemento
♦ Cada computador tem um router por omissão
♦ Cada router tem uma tabela de encaminhamento
IP 16
Encaminhamento de Datagramas
♦ Cada entrada da tabela de encaminhamento de um router contém» Um endereço IP de destino (hostid ou netid)» Endereço IP do next-hop-router» Interface de rede à qual o datagrama deve ser passado
♦ Quando o datagrama chega ao nível IP este » Procura entrada na tabela que seja igual ao hostid de destino
– Se consegue ! envia pacote
» Procura entrada na tabela que seja igual ao netid de destino– Se consegue ! envia pacote
» Procura entrada de default na tabela– envia pacote
IP 17
Exemplo 1
IP 18
Exemplo 2
IP 19
Fragmentação e Reassemblagem
♦ Cada rede tem o seu MTU (Maximum Transfer Unit)♦ Estratégia
» Router fragmenta quando necessário (MTU < Datagrama)» Evitar a fragmentação na origem» Re-fragmentação é possível» Fragmentos ainda são datagramas IP» Reassemblagem no host de destino» Fragmentos perdidos não são recuperados
Rede MTU (octetos)
16 Mbits/sec token ring (IBM)4 Mbits/sec token ring (802.5)FDDIEthernetIEEE 802.3/802.2X.25Point-to-Point
179144464435215001492576512
IP 20Fragmentação - Exemplo
H1 R1 R2 R3 H8
ETH IP (1400) FDDI IP (1400) PPP IP (512)
PPP IP (376)
PPP IP (512)
ETH IP (512)
ETH IP (376)
ETH IP (512)
Ident= x Offset= 0
Start of header
0
Rest of header
1400 data bytes
Ident= x Offset= 0
Start of header
1
Rest of header
512 data bytes
Ident= x Offset= 512
Start of header
1
Rest of header
512 data bytes
Ident= x Offset= 1024
Start of header
0
Rest of header
376 data bytes
R2
R1
H4
H5
H3H2H1
Network 2 (Ethernet)
Network 1 (Ethernet)
H6
Network 3 (FDDI)
Network 4(point-to-point)
H7 R3 H8
IP 21
ifconfig
bsdi% /sbin/ifconfig weOwe0: flags=863<UP, BROADCAST, NOTRAILERS, RUNNING, SIMPLEX> inet 140.252.13.35 netmask ffffffe0 broadcast 140.252.13.63
sun% /usr/etc/ifconfig -a
leO : flags=63<UP, BROADCAST, NOTRAILERS, RUNNING> inet 140.252.13.33 netmask ffffffe0 broadcast 140.252.13.63
slO : flags=105KUP, POINTOPOINT, RUNNING, LINKO>inet 140.252.1.29 -> 140.252.1.183 netmask ffffff00
loO: flags=49<UP,LOOPBACK,RUNNING>inet 127.0.0.1 netmask ff000000
IP 22
netstat
sun% netstat -in
Name Mtu Net/Dest Address lpkts lerrs Opkts Oerrs Collis Queue
leO 1500 140.252.13.32 140.252.13.33 67719 0 92133 0 1 0
slO 552 140.252.1.183 140.252.1.29 48035 0 54963 0 0 0
loO 1536 127.0.0.0 127.0.0.1 15548 0 15548 0 0 0
IP 23
ARP – Address Resolution Protocol♦ Host TCP/IP ! endereço IP♦ Carta de rede ! endereço físico (hardware)
» Em LANs – endereço MAC
♦ ARP !» Mapeamento dinâmico» Endereço IP "! endereço de hardware
IP 24
Exemplo
IP 25
ARP Request - Reply
IP 26
ICMP
♦ ICMP ! Internet Control Message Protocol (RFC 792)
♦ Transferência de mensagens de controlo
» Routers / host "! host
» Indicam problemas
♦ Mensagens ICMP são encapsuladas em datagramas IP (não fiável)
IP 27
ICMP – Tipos de Mensagem
IP 28
Rede Exemplo
IP 29
Ping♦ ICMP Echo / Echo Reply♦ Echo
» Identificador– Pid do cliente
» Sequência– começa em 0
» Dados– tempo de envio
♦ Echo Reply» Enviado por servidor
ping (kernel)» Ecoa tudo
sun% ping gemini
PING gemini: 56 data bytes64 bytes from gemini (140.252.1.11): icmp_seq=0. time=373. ms64 bytes from gemini (140.252.1.11): icmp_seq=l. time=360. ms 64 bytes from gemini (140.252.1.11): icmp_seq=2. time=340. ms 64 bytes from gemini (140.252.1.11): icmp_seq=3. time-320. ms 64 bytes from gemini (140.252.1.11): icmp_seq=4. time=330. ms 64 bytes from gemini (140.252.1.11): icmp seq=5. time=310. ms 64 bytes from gemini (140.252.1.11): icmp seq=6. time==290. ms 64 bytes from gemini (140.252.1.11): icmp_seq-7. time=300. ms 64 bytes from gemini (140.252.1.11): icmp_seq=8. time=280. ms 64 bytes from gemini (140.252.1.11): icmp_seq=9. time=290. ms 64 bytes from gemini (140.252.1.11): icmp_seq=10. time=300. ms 64 bytes from gemini (140.252.1.11): icmp_seq=ll. time=280. ms --gemini PING Statistics--12 packets transmitted, 12 packets received, 0% packet lossround-trip (ms) min/avg/max = 280/314/373
IP 30
TraceRoute
♦ Permite detectar rotas entre máquinas♦ Usa datagramas IP e mensagens de erro ICMP
» Traceroute envia datagrama para destino com – TTL = 1 e porta UDP inexistente
» O primeiro router– decrementa valor ! elimina datagrama– envia mensagem de erro ICMP (time exceed) para origem– Traceroute obtém a sua identificação
» Traceroute envia datagrama para destino – com TTL = 2 e porta UDP inexistente
» O segundo router repete o processo e assim sucessivamente» Traceroute envia datagrama com TTL até à máquina de destino» A máquina de destino envia
– mensagem de erro ICMP – port unreachable– Traceroute obtém a sua identificação
IP 31
TraceRoute - Exemplo
svr4% traceroute slip
traceroute to slip (140.252.13.65), 30 hops max. 40 byte packets1 bsdi (140.252.13.35) 20 ms 10 ms 10 ms 2 slip (140.252.13.65) 120 ms 120 ms 120 ms
slip% traceroute svr4
traceroute to svr4 (140.252.13.34), 30 hops max, 40 byte packets1 bsdi (140.252.13.66) 110 ms 110 ms 110 ms2 svr4 (140.252.13.34) 110 ms 120 ms 110 ms
IP 32
IPv6♦ Versões
» IP v1-v3 ! fora de uso» IP v4 ! versão em uso» IP v5 ! orientado às ligações» IP v6 ! substituto do IP v4
♦ Limitações do IPv4» Endereçamento
– Dois níveis de endereçamento (rede, host) desperdiça endereços
– Endereços usados mesmo quando rede não ligada à Internet
– Crescimento do número de redes e da Internet
– Endereço único por computador
» Requisitos de novos tipos de serviços
♦ Melhorias do IPv6» Flexibilidade de endereçamento
– Espaço de endereçamento aumenta (128 bits)– Multicast - mais versátil e escalável
» Reserva de recursos– Substituição do Type of Service– Introdução do conceito de fluxo de pacotes– Fluxos com tratamento especial (QoS)
◆ Vídeo em tempo real
IP 33
IPv6 - Protocolo♦ Cabeçalho IPv6
♦ Cabeçalhos secundários (de extensão)» Hop-by-Hop Options
– Processado e alterado nos routers
» Routing– Semelhante ao Source Routing do IPv4
» Fragment» Destination options
– Para nó de destino
» TCP
IP 34
Cabeçalho IPv6♦ Version
» 6♦ Traffic Class
» Classes / prioridades de pacote♦ Flow Label
» Suporte de QoS♦ Payload length
» Cabeçalhos secundários + dados♦ Next Header
» Tipo do póximo cabeçalho(Extensão ou nível superior)
♦ Source Address♦ Destination Address
IP 35
IPv6 - Endereços
♦ 128 bits♦ Atribuídos a interfaces♦ Uma interface pode ter múltiplos endereços♦ Tipos de endereços
» Unicast– uma interface
» Anycast– Conjunto de interfaces – Pacote entregue a qualquer interface (a mais próxima)
» Multicast– Conjunto de interfaces– Pacote entregue a todas as interfaces
IP 36
Cabeçalho UDP
IP 37
Cabeçalho TCP
IP 38
Rotas IP
IP 39
Sumário♦ Encaminhamento versus Descoberta de Rotas
» Encaminhamento– Selecção de uma porta de saída a partir de um endereço de destino e de uma tabela de rotas
» Descoberta de rotas– Construção da tabela de rotas
♦ Rede modelizada como um grafo
♦ Problema ! encontrar o trajecto de menor custo entre 2 nós♦ Factores (de rede) a considerar
» Estáticos ! topologia» Dinâmicos ! carga
4
36
21
9
1
1D
A
FEB
C
IP 40
Vector Distância
♦ Cada nó mantém conjunto de entradas» (destino, custo, nextHop)
♦ Troca informação» Periodicamente (alguns segundos)» Quando a tabela de cima muda ! actualização
♦ Actualização– lista de pares (destino, custo)
♦ Tabela local actualizada se encontrada rota melhor» Custo menor» Enviada pelo nextHop
♦ Entradas devem ser refrescadas. Se timeout ! apagadas
IP 41
Exemplo, em B
Destino Custo NextHopA 1 AC 1 CD 2 CE 2 AF 2 AG 3 A
D
G
A
F
E
B
C
IP 42
Presença de Aneis» Exemplo 1
– F detecta falha em ligação a G – F actualiza distância a G para infnito e envia actualização para A– A actualiza distância a G para infinito porque usa F para comunicar com G– A recebe actualização periódica de C com custo 2 para G– A coloca actualiza distância a G para 3 e envia actualização para F– F decide que pode comunicar com G com custo 4 (hops) via A
» Exemplo 2– Ligação de A a E falha– A avisa que distância a E é infinita – Entretanto, B e C avisam distância 2 a E– B decide que pode comunicar com E em 3 hops. E avisa A– A decide que pode comunicar com E com um custo 4. Avisa C– C decide que pode comunicar com E com custo 5 e avisa …
» Heurísticas para terminação de aneis– Infinito = 16– Quebra de horizontes
D
G
A
F
E
B
C
D
G
A
F
E
B
C
IP 43
Estado da Ligação♦ Estratégia
– Enviar a todos os nós (não apenas os vizinhos) informação sobre ligações directas
♦ Link State Packet (LSP)» Identificação do nó que criou o LSP » Custo da ligação a cada nó vizinho» Número de sequência (SEQNO)» time-to-live (TTL), para este pacote
♦ Inundação fiável. Cada Router » Armazena o LSP mais recente de cada nó» Re-encaminha LSP para todos os outros nós (excepto nó de origem)» Gera novo LSP periodicamente
– incrementa SEQNO
» recomeça SEQNO em 0, no reboot» decrementa TTL de cada LSP armazenado
– Elimina quando TTL=0
IP 44
Cálculo de Rotas♦ Algoritmo de caminho mais curto, de Dijkstra♦ Seja
N, o conjunto de nós do grafo
l (i, j), o custo não negativo (peso) da ligação i !!!!j
s, este nó
M, o conjunto de nós incorporados
C(n), o custo do trajecto s !!!! n
M = {s}
para cada n in N - {s}
C(n) = l(s, n)
enquanto (N != M)M """" M U {w}, tal que C(w) seja o mínimo para todos w em (N - M)
para cada n em (N - M)C(n) = MIN( C(n), C (w) + l(w, n ) )
IP 45
Algoritmo de Dijkstra - Exemplo
IP 46
Métricas
♦ Métrica original (na ARPANET)» Número de pacotes na fila de cada ligação » Não considerava latência nem capacidade de transmissão da ligação
♦ Nova métrica» Marca cada pacote com tempo de chegada (AT)» Marca tempo de partida do pacote (DT)» Quando ACK de nível 2 chega, calcula atraso
– Delay = (DT - AT) + Tpac + Tprop (espera + transmissão + propagação)
» Se timeout, remarca DT com tempo de retransmissão» Custo da ligação = atraso médio observado num perído de tempo
♦ Sintonia precisa» Gama dinâmica comprimida» Substituição de dinâmica por utilização da ligação
IP 47
Rotas em Redes Grandes
♦ Endereços planos / Endereços Hierárquicos
♦ Utilização ineficiente do espaço de endereçamento hierárquico» Ex. classe C com 2 computadores (2/255, eficiência de 0.78%)» Ex. classe B com 256 computadores (256/65535, eficiência de 0.39%)
♦ Muitas redes» Tabelas de rotas não comportam tanta informação» Protocolos de propagação de rotas não escalam
IP 48
Estrutura da Internet
♦ No passado (recente)
NSFNET backboneStanford
BARRNETregional
BerkeleyPARC
NCAR
UA
UNM
Westnetregional
UNL KU
ISU
MidNetregional…
IP 49
Estrutura da Internet
Hoje
Backbone service provider
Peeringpoint Peering
point
Large corporation
Large corporation
Smallcorporation
“Consumer ” ISP
“Consumer”ISP
“ Consumer” ISP
IP 50
Subredes» Subrede ! introdução de nível hierárquico de endereços/rotas» Máscaras de subrede
– definem partição variável para parte endereço reservada a computadores
» Subrede visivel só dentro de uma organização
Network number Host number
Class B address
Subnet mask (255.255.255.0)
Subnetted address
111111111111111111111111 00000000
Network number Host IDSubnet ID
IP 51
Exemplo de Subredes
Forwarding table at router R1Subnet Number Subnet Mask Next Hop128.96.34.0 255.255.255.128 interface 0128.96.34.128 255.255.255.128 interface 1128.96.33.0 255.255.255.0 R2
Subnet mask: 255.255.255.128Subnet number: 128.96.34.0
128.96.34.15 128.96.34.1H1
R1
128.96.34.130 Subnet mask: 255.255.255.128Subnet number: 128.96.34.128
128.96.34.129128.96.34.139
R2H2
128.96.33.1128.96.33.14
Subnet mask: 255.255.255.0Subnet number: 128.96.33.0
H3
IP 52
Algoritmo de Encaminhamento
♦ Se não for encontrada entrada na tabela ! utilizar router por omissão♦ Os 11s da máscara de subrede não têm que ser contínuos♦ Uma rede física ! múltiplas subredes♦ Subredes não são visiveis do resto da INTERNET
D = endereço IP de destino
Para cada entrada (SubnetNum, SubnetMask, NextHop)
D1 = SubnetMask & D
se D1 = SubnetNum
se NextHop é uma interface
entrega datagrama directamente a D
senão
entrega datagrama ao NextHop
IP 53
SuperRedes
♦ Endereços de rede contíguos atribuídos a redes vizinhas♦ CIDR – Classless Inter-Domain Routing♦ Blocos de redes
» representados por entrada (first_network_address, count)» Limitação: comprimento do bloco ! potência de 2
♦ Utilização de máscara de bits ! máscara CIDR» Identificação do comprimento do bloco
♦ Routers devem entender endereçamento CIDR
IP 54
Propagação de Rotas
♦ Encaminhamento inteligente» Computadores conhecem router local» Routers locais conhecem routers da organização» Routers da organização conhecem routers de transporte» Routers de transporte conhecem tudo
♦ Autonomous System (AS)» Domínio administrativo» Exemplos – universiade, companhia, rede de transporte» Cada AS tem um identificador de 16-bit associado
♦ Propagação de rotas ! dois níveis hierárquicos» interior gateway protocol (cada AS escolhe o seu)» exterior gateway protocol (norma internet)
IP 55
Protocolos Interior Gateway Mais Usados
♦ RIP: Route Information Protocol» Desenvolvido pela XNS» Distribuido com o UNIX» Algoritmo vector-distância» Baseado na contagem de hops
♦ OSPF: Open Shortest Path First» Norma internet recente» Usa algoritmo Estado de Ligação» Com balanceamento de carga» Com autenticação
IP 56
EGP - Exterior Gateway Protocol
♦ Características» Construído para uma INTERNET organizada em árvore» Preocupado com alcançabilidade !não com rotas óptimas
♦ Mensagens do protocolo» Aquisição de vizinho
– Um router pede a outro para ser seu parceiro– Parceiros trocam informação de alcançabilidade
» Alcançabilidade de vizinho– Um router verifica periodicamente se os seus vizinhos estão alcançaveis– Troca de mensagens HELLO/ACK– Regra do k-em-n
» Actualização de rotas– Parceiros trocam tabelas de rotas (vector distância) periodicamente
IP 57
BGP-4: Border Gateway Protocol
♦ Tipos de AS» stub AS – ligação única a outro AS
– Transporte de tráfego local
» multihomed AS – ligação a múltiplos AS– Tráfego local não transportado
» transit AS – ligação a múltiplos AS – Transporte de tráfego local e tráfego de trânsito
♦ Cada AS tem» Um ou mais routers de fronteira» Um porta-voz BGP que avisa
– As redes locais– Outras redes alcançaveis (AS de trânsito, apenas)– Fornece informação sobre trajectos
IP 58
Exemplo BGP♦ Porta-voz AS2 avisa que P e Q estão alcançaveis
» rede 128.96, 192.4.153, 192.4.32, e 192.4.3 ! alcançaveis por AS2
♦ Porta-voz do backbone avisa que» redes 128.96, 192.4.153, 192.4.32, e 192.4.3 ! alcançaveis por (AS1, AS2).
♦ Porta-voz pode cancelar anúncios prévios
Backbone network(AS 1)
Regional provider A(AS 2)
Regional provider B(AS 3)
Customer P(AS 4)
Customer Q(AS 5)
Customer R(AS 6)
Customer S(AS 7)
128.96192.4.153
192.4.32192.4.3
192.12.69
192.4.54192.4.23
IP 59
IP Móvel
IP 60
Motivação
♦ Encaminhamento datagramas IP– Baseado em endereço IP de destino, prefixo de rede– Endereço de rede IP "! Rede física– Mudança de rede # mudança de endereço IP
♦ Possíveis soluções para a mobilidade» Alteração das rotas para as máquinas móveis?
# mudança de tabelas de encaminhamento dos routers# solução não compatível (não escalável) com
◆ Mudanças frequentes de posição◆ Número elevado de terminais móveis
# problemas de segurança
» Mudança do endereço IP da máquina móvel?# Endereços dependentes da localização# Localização do terminal difícil " Actualização de DNS é demorada# Quebra de ligações TCP. Problemas de segurança
IP 61
Requisitos do IP Móvel (RFC 2002)
♦ Transparência– Estações móveis devem manter o seu endereço IP– Comunicação deve ser retomada depois de quebra da ligação (a mudança de rede)– Ponto de ligação à rede fixa pode ser alterado
♦ Compatibilidade– Deve suportar mesmos protocolos de nível 2 que IP– Não deve implicar alterações dos routers/máquinas existentes– Máquinas móveis devem comunicar c/ máquinas fixas
♦ Segurança– Mensagens de sinalização devem ser autenticadas
♦ Eficiência, escalabilidade– Sistema de sinalização leve– Sistema escalável à Internet global
IP 62
Terminologia
♦ MN, Mobile Node ! estação móvel– Máquina móvel. Muda de ponto de ligação– Mantém endereço IP
♦ HA, Home Agent ! Agente na rede origem– Sistema (router) na rede origem do MN– Regista localização do MN. Usa túnel para enviar datagramas IP para COA
♦ FA, Foreign Agent ! Agente na rede visitada– Sistema (router) na rede visitada pelo MN– Entrega datagramas recebidos pelo túnel ao MN
♦ COA, Care-of Address– Endereço IP da extremidade do túnel na rede visitada– Localiza MN– Pode ser atribuído por DHCP
♦ CN, Correspondent Node – Máquina que comunica com o MN
IP 63
Exemplo
mobile end-systemInternet
router
router
router
end-system
FA
HA
MN
home network
foreign network
(physical home networkfor the MN)
(current physical network for the MN)
CN
IP 64
Transferência de Dados para o MN
Internet
sender
FA
HA
MN
home network
foreignnetwork
receiver
1
2
3
1. Sender sends to the IP address of MN,HA intercepts packet
2. HA tunnels packet to COA (FA) by encapsulation
3. FA forwards the packet to the MN
CN
IP 65
Transferência de Dados do MN
Internet
receiver
FA
HA
MN
home network
foreignnetwork
sender
1
1. Sender sends to the IP addressof the receiver as usual,FA works as default router
CN
IP 66
Fases da Mobilidade
CN
routerHA
routerFA
Internet
router
1.
2.
3.home
networkMN
foreignnetwork
4.
CN
routerHA
routerFA
Internet
router
homenetwork
MN
foreignnetwork
COA
IP 67
Comunicação com os Agentes♦ MN determina rede de acolhimento
» HA, FA ! geram regularmente mensagens de aviso para suas redesAdaptação de mensagens do ICMP Router Advertisment Protocol (RFC 1256)
» MN escuta mensagens; determina rede de acolhimento– A sua, ou– Uma rede visitada ! conhecimento de COA
♦ MN regista-se, por tempo limitado» MN envia COA para HA (via FA) » HA confirma recepção» Autenticação obrigatória ! Associação de segurança entre MN e HA
♦ Na rede origem» HA assume endereço IP do MN » Routers (na rede origem) actualizam entradas» Pacotes com destino MN são enviados para HA» Processo independente de alterações de COA/FA
IP 68Agentes –Mensagens de Aviso
preference level 1router address 1
#addressestype
addr. size lifetimechecksum
COA 1COA 2
type sequence numberlength
0 7 8 15 16 312423code
preference level 2router address 2
. . .
registration lifetime
. . .
R B H F M G V reserved
IP 69
Registo do MN no Home Agent
t
MN HAregistrationrequest
registration
reply
t
MN FA HAregistrationrequestregistrationrequest
registration
reply
registration
reply
IP 70
Mensagem de Pedido de Registo
home agenthome address
type lifetime0 7 8 15 16 312423
rsv
identificationCOA
extensions . . .
S B DMGV
IP 71
Encapsulamento, Tuneis
original IP header original data
new datanew IP header
outer header inner header original data
IP 72
IP em IP (obrigatório)
Care-of address COAIP address of HA
TTLIP identification
IP-in-IP IP checksumflags fragment offset
lengthTOSver. IHL
IP address of MNIP address of CN
TTLIP identification
lay. 4 prot. IP checksumflags fragment offset
lengthTOSver. IHL
TCP/UDP/ ... payload
Túnel entre HA e COA
IP 73
Encapsulamento Mínimo (Opcional)» Campos repetidos não são enviados
TTL, IHL, version, TOS
» Aplicável apenas a pacotes não fragmentados
care-of address COAIP address of HA
TTLIP identification
min. encap. IP checksumflags fragment offset
lengthTOSver. IHL
IP address of MNoriginal sender IP address (if S=1)
Slay. 4 protoc. IP checksum
TCP/UDP/ ... payload
reserved
IP 74
IP Móvel e IPv6
♦ IP desenvolvido para IPv4. IPv6 simplifica protocolos» Segurança suportada nativamente IPv6» COA pode ser atribuído por auto-configuração» Qualquer router pode ser um FA " routers enviam mensagens de aviso» Suporte de “soft-handover”. Sem perda de pacotes
– Quando MN muda de rede visitada ! avisa router antigo do seu novo COA– Router antigo cria túnel para novo COA. Encaminha todos os pacotes recebidos