IP
Arquitectura, 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
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
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 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
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
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
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
Encaminhamento de Datagramas
♦
Datagrama contém endereço de destino
♦
Se router ligado à rede de destino # encaminha datagrama
Senã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
Exemplo 1
IP 18
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) FDDI Ethernet IEEE 802.3/802.2 X.25 Point-to-Point 17914 4464 4352 1500 1492 576 512 IP 20
Fragmentaçã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 H3 H2 H1 Network 2 (Ethernet) Network 1 (Ethernet) H6 Network 3 (FDDI) Network 4 (point-to-point) H7 R3 H8ifconfig
bsdi% /sbin/ifconfig weO
we0: 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
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
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)
ICMP – Tipos de Mensagem
IP 28
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 bytes
64 bytes from gemini (140.252.1.11): icmp_seq=0. time=373. ms 64 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, Statistics--12 packets received, 0% packet loss round-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
TraceRoute - Exemplo
svr4% traceroute slip
traceroute to slip (140.252.13.65), 30 hops max. 40 byte packets 1 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 packets 1 bsdi (140.252.13.66) 110 ms 110 ms 110 ms 2 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)
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
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 TCP
IP 38
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 3 6 2 1 9 1 1 D A F E B 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
Exemplo, em B
Destino Custo NextHop
A 1 A C 1 C D 2 C E 2 A F 2 A G 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
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)
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
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 backbone Stanford BARRNET regional Berkeley PARC NCAR UA UNM Westnet regional UNL KU ISU MidNet regional …Estrutura da Internet
Hoje
Backbone service provider Peering point Peering point Large corporation Large corporation Small corporation “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
Exemplo de Subredes
Forwarding table at router R1
Subnet Number Subnet Mask Next Hop 128.96.34.0 255.255.255.128 interface 0 128.96.34.128 255.255.255.128 interface 1 128.96.33.0 255.255.255.0 R2 Subnet mask: 255.255.255.128 Subnet number: 128.96.34.0 128.96.34.15 128.96.34.1 H1 R1
128.96.34.130 Subnet mask: 255.255.255.128Subnet number: 128.96.34.128
128.96.34.129 128.96.34.139 R2 H2 128.96.33.1 128.96.33.14 Subnet mask: 255.255.255.0 Subnet 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
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)
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
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.96 192.4.153 192.4.32 192.4.3 192.12.69 192.4.54 192.4.23
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
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 globalIP 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 MNExemplo
mobile end-system Internet router router router end-system FA HA MN home network foreign network(physical home network for 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 foreign network 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
Transferência de Dados do MN
Internet receiver FA HA MN home network foreign network sender1
1. Sender sends to the IP address of the receiver as usual,
FA works as default router
CN IP 66
Fases da Mobilidade
CN router HA router FA Internet router 1. 2. 3. home network MN foreign network 4. CN router HA router FA Internet router home network MN foreign network COAComunicação com os Agentes
♦
MN determina rede de acolhimento
» HA, FA ! geram regularmente mensagens de aviso para suas redes
Adaptaçã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 68
Agentes –
Mensagens de Aviso
preference level 1 router address 1 #addresses typeaddr. size lifetime checksum
COA 1 COA 2
type length sequence number
0 7 8 15 16 23 24 31 code preference level 2 router address 2 . . . registration lifetime . . . R B H F M G V reserved
Registo do MN no Home Agent
t MN registrationHA request registration reply t MN registrationFA HA request registration request registration reply registration reply IP 70Mensagem de Pedido de Registo
home agent home address type lifetime 0 7 8 15 16 23 24 31 rsv identification COA extensions . . . S B DMG V
Encapsulamento, Tuneis
original IP header original data
new data new IP header
outer header inner header original data
IP 72
IP em IP (obrigatório)
Care-of address COA IP address of HA
TTL
IP identification
IP-in-IP IP checksum flags fragment offset
length TOS ver. IHL IP address of MN IP address of CN TTL IP identification
lay. 4 prot. IP checksum flags fragment offset
length TOS
ver. IHL
TCP/UDP/ ... payload
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 COA IP address of HA
TTL
IP identification
min. encap. IP checksum flags fragment offset
length TOS
ver. IHL
IP address of MN
original sender IP address (if S=1)
S
lay. 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