Anda di halaman 1dari 138

IPv6 - Internet Protocol version 6

Motivao

Esgotamento do espao de endereamento do IPv4

IPv4 tem 30 anos, j no satisfazia as exigncias dos utilizadores e servios de hoje em dia
24-05-2013

ISEL - ADEETC

Histria do IPv6
O sucessor do IPv4 comeou a ser desenvolvido no inicio
dos anos 90 pelo Internet Engineering Task Force (IETF)
Existiram vrias propostas
Tornou-se num IETF Standard em Dezembro de 1998

Nota: O IPv5 no existe dado o nmero de verso 5 ter sido


atribudo a um protocolo experimental.
24-05-2013

ISEL - ADEETC

Objectivos
Simplicidade;
Escalabilidade;
Flexibilidade topolgica;
Desempenho;
Robustez;
Transio;
Independncia do meio;

24-05-2013

Orientao ao datagrama;
Facilidade de configurao;
Segurana;
Multicast ;
Mobilidade;
Qualidade de servio;
Potencialidade de evoluo.

ISEL - ADEETC

Objectivos
Facilidades suportadas pelo IPv6
Novo formato do header
Grande espao de endereamento
Endereamento hierrquico e estrutura de endereamento
(routing) eficiente
Configurao de endereos stateless e stateful
Segurana integrada (built-in)
Melhor suporte de QoS
Novo protocolo para interaco entre vizinhos
Extensvel
24-05-2013

ISEL - ADEETC

1 - IPv6 versus IPv4

Comparao do header do IPv4 com o do IPv6


4 bits
Version = 6

8 bits
Traffic class
16 bits
Payload length

20 bits
Flow label
8 bits
Next header

8 bits
Hop Limit

128 bit
Source address

128 bits
Destination address

8 bits
4 bits
Type of service
Header length
16 bits
Identification
8 bits
8 bits
Time to live
Protocol

4 bits
Version = 4

4 bits
Flags

16 bits
Total length
12 bits
Fragment offset
16 bits
Header checksum

32 bits
Source address
32 bits
Destination address
0 up to 320 bits
IP options

24-05-2013

ISEL - ADEETC

Principais alteraes do IPv4 para o IPv6


Capacidade estendida de endereamento e mecanismos de
auto configurao
Simplificao do formato do header
Melhoria do suporte para as extenses e opes
Extenses para autenticao e privacidade

Capacidade de marcar os fluxos de trfego


24-05-2013

ISEL - ADEETC

Resumo da funcionalidade (1)

Expanso da capacidade de endereamento


128 bits: 2128 endereos;
Assumindo o formato 64+64 bits: 1,8E+19 redes
1E+16 redes, assumindo eficincia idntica do IPv4
1 milho de redes por cada humano
20 redes por cada m2 da terra

Simplificao do formato do cabealho comprimento fixo de 40 bytes

Mecanismos de auto configurao


Plug and play - Ligao ainda mais simples que no IPX

24-05-2013

ISEL - ADEETC

Resumo da funcionalidade (2)


Melhoria do suporte do Multicast
Novo tipo de endereo Anycast
Melhoria do suporte das extenses e das opes
Extenses para autenticao e privacidade (integridade e
confidencialidade de dados)
Mobilidade eficiente:
Redes ad-hoc simples e instantneas
IP Mvel, sem servidores, sem dogleg
Capacidade de marcar fluxos de dados
24-05-2013

ISEL - ADEETC

10

2 - Estrutura do protocolo IPv6

Cabealho IPv6
Caractersticas principais

Extenso das capacidades de endereamento e encaminhamento


Simplificao do formato de cabealho
Suporte para extenses de cabealho e opes
Suporte para autenticao e privacidade
Suporte de auto configurao
Suporte para seleco de percurso pelo remetente
Transio simples e flexvel
Suporte para trfego com garantia de qualidade de servio
24-05-2013

ISEL - ADEETC

12

Cabealho IPv4
Alteraes

20 octetos, sem opes

8 bits
4 bits
Header length
Type of service
16 bits
Identification
8 bits
8 bits
Time to live
Protocol

4 bits
Version = 4

4 bits
Flags

16 bits
Total length
12 bits
Fragment offset
16 bits
Header checksum

32 bits
Source address
32 bits
Destination address
0 up to 320 bits
IP options
Campos removidos

24-05-2013

Campos alterados

ISEL - ADEETC

13

Cabealho IPv6
Formato

40 octetos, sem extenses


4 bits
Version = 6

8 bits
Traffic class
16 bits
Payload length

20 bits
Flow label
8 bits
Next header

8 bits
Hop Limit

128 bit
Source address

128 bits
Destination address

24-05-2013

ISEL - ADEETC

14

Cabealho IPv6
Elementos inalterados

O nico campo do cabealho que manteve o mesmo formato e posio


foi o de verso
Na prtica no usado na multiplexagem. recomendado que tal
seja feito ao nvel da datalink (Ex. IPv6 sobre Ethernet usa Type
0x86DD em vez do 0x0800 do IPv4).

24-05-2013

ISEL - ADEETC

15

Cabealho IPv6
Simplificaes (1)

Formato fixo para todos os cabealhos


Dispensa do campo: Header Length - o header do IPv6
tem dimenso fixa (40 octetos)
Optimizado para a grande maioria do trfego
Situaes menos comuns usam cabealhos adicionais
encadeados (em lista)

Remoo do checksum
Minimizar processamento
Assumir a realidade: As data link actuais j fazem essa
funo e com mais robustez e eficincia
24-05-2013

ISEL - ADEETC

16

Cabealho IPv6
Simplificaes (2)

Acabar com a fragmentao em trnsito


Dispensa dos campos IPv4: Identification, Flags, Fragment Offset
Optimizar processamento nos ns
Fragmentos perdidos causavam retransmisses, atrasos e
ocupao de recursos (memria)
Obrigatrio o uso do procedimento do IPv6 Path MTU discovery
MTU mnimo de 1280 octetos
Inclui um procedimento de fragmentao extremo a extremo

Alterao do campo ToS


Raramente usado pelas aplicaes e redes
QoS com abordagem mais genrica para o problema

24-05-2013

ISEL - ADEETC

17

Cabealho IPv6
Campos revistos

Total Length passa a Payload Length


S conta com a dimenso do payload
Suporte de datagramas de dimenso elevada (> 64K bytes)
baseado no cabealho Jumbogram (nesses casos PL = 0)
Protocol Type passa a Next Header
Reflecte a estrutura em lista dos cabealhos
Time-to-Live torna-se Hop Limit
Nada como ter o nome correspondente funo que desempenha!
Esquece a recomendao que no IPv4 dizia para se decrementar
tambm o tempo de processamento e espera e que era de difcil
implementao
24-05-2013

ISEL - ADEETC

18

Cabealho IPv6
Novos campos (1)

Flow Label
Usado para identificar fluxos com necessidades de tratamento
idntico.
Um fluxo identificado pelo flow label e pelo endereo de origem
Exemplo: RSVP (Resource Reservation Protocol)
Potencia tcnicas de encaminhamento similares s do MPLS
directamente no IPv6

24-05-2013

ISEL - ADEETC

19

Cabealho IPv6
Novos campos (2)

Class Traffic class


Primeiro bit D para indicar trfego sensvel a atrasos
Trs bits seguintes com uso idntico ao Precedence Field do
IPv4 na marcao e tratamento do trfego (DiffServ/IntServ)
ltimos 4 bits reservados (h intenes de os usar de forma para
lidar com as congestes) RFC 2474
Ajudas preciosas para o tratamento de trfego com caractersticas
de tempo real.

24-05-2013

ISEL - ADEETC

20

Cabealho IPv6
Extenses Next header

Podem existir zero, um ou mais headers de extenso entre o header


IPv6 e o header do protocolo da camada superior
Existem dependncias entre extenses do header
Formato em lista essencial para lidar com situaes especiais
Os headers de extenso devem ser processados pela mesma ordem
em que aparecem na lista (cabea do pacote)
S o n de destino processa os headers de extenso excepo para o
header de Hop-by-hop Options. A informao que transporta deve ser
examinada e processada em todos os ns do caminho. Se presente, o
header Hop-by-hop deve seguir-se ao do IPv6.

24-05-2013

ISEL - ADEETC

21

Cabealho IPv6
Extenses ao header

Para se manter o alinhamento o comprimento dos headers de extenso so mltiplos


de 8 bytes.
O no processamento dum header de extenso por parte dum n, por este no
conseguir identificar o valor no campo Next Header, implica o jogar fora do pacote e o
envio duma mensagem ICMP
IPv6 Header
TCP Header + Data
Next Header = TCP
IPv6 Header

Routing Header
TCP Header + Data

Next Header = Routing

Next Header = TCP

IPv6 Header

Routing Header

Fragment Header
TCP Header + Data

Next Header = Routing

24-05-2013

Next Header = Fragment

Next Header = TCP

ISEL - ADEETC

22

Cabealho IPv6
Tipo de extenses ao header

Hop-by-hop options

Routing

Fragment

Destination Options

Authentication

Encrypted Security Payload

Ver: http://www.iana.org/assignments/protocol-numbers

24-05-2013

ISEL - ADEETC

23

Cabealho IPv6
Ordem de processamento das extenses

As especificaes recomendam a seguinte ordem:


1 IPv6
2 Hop-By-hop Options Header
3 Destination Options Header (1)
4 Routing Header
5 Fragment Header
6 Authentication Security Payload Header
7 Destination Options Header (2)
8 Upper-Layer Header (TCP, UDP, ICMP, etc.)
Destination Options Header aparece duas vezes para contemplar situaes de
tneis:
(1) A processar em todos os ns que constem no Routing header.
(2) A processar pelo n destino final.
24-05-2013

ISEL - ADEETC

24

Cabealho IPv6
Hop-by-Hop Options Header (HType=0)

Transporta informaes opcionais (options) que devem ser analisada


em todos os ns ao longo do caminho do pacote
Mesmo formato que o Destination Options Header

Para funes de gesto e debugging


Interessante para protocolos de encaminhamento Multicast Listener
Discovery (MLD) e RSVP

24-05-2013

ISEL - ADEETC

25

Cabealho IPv6
Opo Jumbo Payload RFC 2675

Especificao actual define tambm a opo Jumbo Payload com o Type = 194
Usada em substituio do campo do Length do cabealho base que neste caso
vem a zero

Type = 194
Jumbo Payload Length

Opt Data Len = 4

Jumbo Payload Option

24-05-2013

ISEL - ADEETC

26

Cabealho IPv6
Routing Header (HType = 43)

Funo idntica ao source routing do IPv4

Todas as implementaes tm de suportar o


Type 0

Next Header Hdr Ext Len Routing Type = 0 Segments Left


Reserved
Address[1]
Address[2]

Hdr Len em palavras de 64 bit, no


contando os primeiros 64bit

Address[n]
Type 0 Routing Header

Segments Left de 0 a 23

Forar strict abandonado aps as


primeiras especificaes (Campo
Reserved)

Next Header Hdr Ext Len

Matria em debate, com diversas variaes


do formato genrico

Routing Type

Segments Left

Type-specific Data

Generic Routing Header

24-05-2013

ISEL - ADEETC

27

Cabealho IPv6
Routing Header Source Routing

A lista dos endereos destino includa no routing header


O endereo destino sempre o prximo router da lista, em
que o ltimo o da mquina destino
O endereo destino do datagrama alterado em cada router
da lista
No Mobile IPv6 o Care-of Address o next router e o
Home Address o destino final
24-05-2013

ISEL - ADEETC

28

Cabealho IPv6
Fragment Header (HType = 44)

Usado pelas mquinas origem (routers no fragmentam!)


Tratamento idntico ao do IPv4 quando o bit dont fragment est
activo
Identification idntico ao do IPv4, agora a 32 bits
Fragment Offset, 13bit com a posio relativa do fragmento em
mltiplos de 8 bytes, tambm com papel idntico ao que tinha no IPv4,
para manipular basta interpretar o valor como se fosse a 16bit,
assumindo os bit RES e M a zero.
Bit M (more) activo em todos os fragmentos excepto o ltimo
IPv6 Header

Fragment Header 1

First 1400 octets

IPv6 Header

Fragment Header 2

Last 1400 octets

2800 octetos separados em dois fragmentos

Next Header Reserved


Fragment Offset
Identification

Res M

Fragment Header

24-05-2013

ISEL - ADEETC

29

Cabealho IPv6
Fragment Header (HType = 44)

Todos os headers, por exemplo os de routing, que precedem o de


fragmentao tm de ser repetidos em todos os datagramas com
fragmentos.

24-05-2013

ISEL - ADEETC

30

Cabealho IPv6
Destination Options Header (HType=60)

Transporta opes para o destinatrio final

Hdr Ext Len a 8 bit, dimenso da opo em palavras de 64bit ( 0 8 octetos)

O campo options contm uma lista de opes, cada uma de dimenso varivel

Next Header Hdr Ext Len


Options

Options Header
24-05-2013

ISEL - ADEETC

31

Cabealho IPv6
Options

Os campos Option Type e Opt Data Len so a 8 bit

Option Type ainda se subdivide em 3 campos:


Action (2 bit) O que fazer se a opo no for reconhecida
00 Passar frente
01 Descartar pacote sem enviar a mensagem ICMP (parameter problem)
10 Descartar pacote mas avisar usando ICMP, mesmo que o endereo
destino seja multicast
11 Descartar pacote mas avisar usando ICMP, se o endereo destino no
for multicast
C (1 bit) A opo pode ou no ser alterada em trnsito
Number (5 bit) Identificao da opo

Option Type

Opt Data Len

Option Data

Action C

number

Option Type

24-05-2013

ISEL - ADEETC

32

Impacto nas camadas superiores


Checksums

Novo formato de pseudo headers para clculo dos checksums do TCP e UDP

Para detectar entregas erradas, se por alguma razo o endereo origem ou destino
so alterados em trnsito o checksum falha

Passa a ser sempre obrigatrio no UDP


Source Address

Destination Address

Payload Length
zero

Next Header

IPv6 Pseudoheader for TCP and UDP


24-05-2013

ISEL - ADEETC

33

Formato utilizado sobre as tramas Data Link IEEE


Nas tramas
em formato
Ethernet II

Nas tramas em formato SNAP e


derivadas (RFC1042 e IEEE802.1h)

24-05-2013

ISEL - ADEETC

34

3 - Endereamento em IPv6

Encaminhamento e Endereamento
Arquitectura

Basicamente uma verso de maiores dimenses dos endereos IPv4

Tal como no IPv4, um endereo IPv6 identifica determinada interface


de uma mquina, no a mquina em si
Uma mquina multi-homed ter tantos endereos quantas as
interfaces que possua
Previsto de base a existncia de mltiplos endereos por interface
Facilita o encaminhamento e gesto

24-05-2013

ISEL - ADEETC

36

Endereos
Aumento de dimenso

A mudana de 32 para 128 bit permite:


Conectividade global
Fim das redes e mquinas escondidas
Todas as mquinas so acessveis e podem ser servidores
(aplicaes peer to peer)
Flexibilidade
Mltiplos nveis de hierarquia no espao de endereamento
Auto configurao
O uso dos endereos data link a 64 bit embebidos no
endereo fornecem uma garantia de unicidade

24-05-2013

ISEL - ADEETC

37

Endereos
Notao

128 bit representados como oito inteiros em formato hexadecimal


separados pelo carcter dois pontos (:)
Ex.: 2001:0690:2008:ABCD:0100:1DF3:AAC0:0001
Insensvel a maisculas/minsculas
Formato compacto, mais fcil de manipular que a notao usada no
IPv4

Permitidas algumas simplificaes de representao para facilitar a


gesto
quase impensvel memorizar endereos IPv6

24-05-2013

ISEL - ADEETC

38

Endereos
Simplificaes

Para facilitar a fase inicial, em que muitos dos bits estaro a 0,


permitido um formato compacto:
Dentro de cada bloco de 16 bit, os nibbles de maior peso a 0
podem ser omitidos, mantendo um nico 0 caso sejam todos 0
1080:0000:0000:0000:0008:0800:200C:417A
Simplificado como: 1080:0:0:0:8:800:200C:417A
Um conjunto de blocos de 16 bit a 0 pode ser representado como:
Uma nica vez por endereo para evitar ambiguidades
Simplificado como: 1080::8:800:200C:417A

24-05-2013

ISEL - ADEETC

39

Endereos
Prefixos

Os prefixos (componente fixa do endereo) so explicitados com a


notao CIDR (j frequentemente usada em IPv4 nos ltimos anos)

A notao FEDC:BA98:7600::/40 descreve um prefixo de 40 bit


Evitar descrever prefixos com bits activos fora dos que compem o
prefixo para evitar problemas de interpretao
FEDC:BA98::0076/64 parece idntico a FEDC:BA98:0:76::/64 mas
na realidade deve ser visto como FEDC:BA98:0000:0000 o que
bem diferente de FEDC:BA98:0000:0076, o outro prefixo

24-05-2013

ISEL - ADEETC

40

Endereos
Migrao

Para evitar problemas na converso, os endereos IPv6 podem ser


baseados nos IPv4 j atribudos
Tm os 96 bit de maior peso a 0
Os 32 bit de menor peso podem ficar representados na notao
IPv4
O endereo IPv4 193.137.220.1 pode ser usado para criar o
endereo IPv6 ::193.137.220.1
Na prtica s usado para permitir que as estruturas de dados
usadas nos sockets (API) possam ser comuns e facilitar a
converso de aplicaes para suporte dual stack.

24-05-2013

ISEL - ADEETC

41

Endereos
Uso nos URL

Num URL aparece entre parnteses rectos


Ex: http://[2001:1:4F3A::206:AE14]:8080/index.html

Os parsers dos browsers tm de ser adaptados


Assustador para os utilizadores
Essencialmente para fins de diagnstico
Quando o DNS inclui o endereo IPv6, o browser trata de obter o
endereo correspondente ao nome indicado.

24-05-2013

ISEL - ADEETC

42

Endereos
Categorias

Unicast
Endereos que identificam exactamente uma interface (mais
correctamente, dentro do seu scope de validade)
Multicast
Identifica grupos de estaes
Anycast
Identifica um grupo de estaes
Diferenas em relao ao multicast ao nvel do encaminhamento
Um datagrama enviado para um endereo anycast ser entregue
ao elemento mais prximo pertencente ao grupo

24-05-2013

ISEL - ADEETC

43

Endereos
IPv6 Anycast (funcionalidade)

O IPv6 define um endereo anycast, o qual pode ser atribudo a uma


ou mais interfaces (normalmente em ns diferentes). Os pacotes
enviados para um endereo anycast sero encaminhados (routed)
para a interface mais prxima que possuir esse endereo.
A definio do mecanismo dos endereos anycast est no RFC2373 e
lista as seguintes capacidades e restries:
Um endereo anycast no se distingue dum endereo unicast
Um endereo anycast pode ser atribudo a mltiplas interfaces de
mltiplos ns
Um endereo anycast no deve ser atribudo a um host IPv6. S
pode ser atribudo a um router IPv6
Um endereo anycast no pode ser utilizado como endereo de
origem num header IPv6 de uma iniciao de comunicao
24-05-2013

ISEL - ADEETC

44

Endereos
Distribuio Inicial

Distribuio tendo em conta que esta seria com certeza revista no


futuro
Ideia tambm presente na definio de opes e parmetros

Para evitar comprometimentos, as implementaes no devem assumir


o total conhecimento dos formatos e prefixos
Na maioria dos casos tratados como strings de 128 bit

Nas tabelas de encaminhamento sero apenas prefixos com dimenso


varivel entre 1 e 128 bit
Excepo para os endereos especiais.
Mquinas em geral e routers tm de dar tratamento especial aos
endereos de multicast e especiais

24-05-2013

ISEL - ADEETC

45

Endereos
Distribuio Actual (1)
0000::/8
0100::/8
0200::/7
0400::/6
0800::/5
1000::/4
2000::/3
4000::/3
6000::/3
8000::/3
A000::/3
C000::/3
E000::/4
F000::/5
F800::/6
FC00::/7
FE00::/9
FE80::/10
FEC0::/10
FF00::/8

Reserved by IETF
Reserved by IETF
Reserved by IETF
Reserved by IETF
Reserved by IETF
Reserved by IETF
Global Unicast
Reserved by IETF
Reserved by IETF
Reserved by IETF
Reserved by IETF
Reserved by IETF
Reserved by IETF
Reserved by IETF
Reserved by IETF
Unique Local Unicast
Reserved by IETF
Link Local Unicast
Reserved by IETF
Multicast

24-05-2013

[RFC4291]
[RFC4291]
[RFC4048]
[RFC4291]
[RFC4291]
[RFC4291]
[RFC4291]
[RFC4291]
[RFC4291]
[RFC4291]
[RFC4291]
[RFC4291]
[RFC4291]
[RFC4291]
[RFC4291]
[RFC4193]
[RFC4291]
[RFC4291]
[RFC3879]
[RFC4291]

Actualizado em Outubro-2012

Ref: http://www.iana.org/assignments/ipv6-address-space

ISEL - ADEETC

46

Endereos
Distribuio Actual (2)

Detalhes do prefixo 2000::/3 no RFC 3587


Tm que ter os identificadores de interface a 64bit segundo o formato EUI-64
(IEEE)

Os endereos "unspecified", "loopback so retirados do prefixo


0000::/8 (RFC 4291)
Os endereos multicast tm todos o octeto de maior peso a 0xFF
(FF00::/8)
Cerca de 70% do espao de endereamento no tem funo atribuda

24-05-2013

ISEL - ADEETC

47

Endereos
Global Unicast

Uso genrico, com conectividade global


Atribudos pelo IANA
Aos Regional Registries (RIPE, ARIN, APNIC, ...)
Destes aos Providers de primeiro nvel
Destes aos Providers intermedirios
Depois s entidades finais
Estes, s suas sub-redes

24-05-2013

ISEL - ADEETC

48

Endereos
Global Unicast Formato

Qualquer endereo excepto os comeados por 000 (binrio)


podem ser usados como global unicast
|
n bits
| 64-n bits |
64 bits
|
+-------------------------+-----------+----------------------------+
| global routing prefix
| subnet ID |
interface ID
|
+-------------------------+-----------+----------------------------+

Actualmente o prefixo 2000:/3 est a ser distribudo pela


IANA e assume o seguinte formato:
| 3 |
45 bits
| 16 bits |
64 bits
|
+---+---------------------+-----------+----------------------------+
|001|global routing prefix| subnet ID |
interface ID
|
+---+---------------------+-----------+----------------------------+

24-05-2013

ISEL - ADEETC

49

Endereos
Global Unicast Exemplo

O prefixo atribudo ao IPL (onde o ISEL est inserido) foi:


2001:690:2008::/48
Decompondo:
001 ID Global Unicast
0000 0110 1001 0 RIRs = RIPE / FCCN
000 0010 0000 0000 1000 = IPL

24-05-2013

ISEL - ADEETC

50

Endereos
EUI-64

Usados para a componente host nos identificadores de interface auto


configurados sem recurso a DHCP
Se determinada interface tem o endereo MAC
00-90-27-17-fc-0f

O endereo EUI-64 resultante 0290:27ff:fe17:fc0f usado como


identificador da interface (ltimos 64 bits) no endereo IPv6
24-05-2013

ISEL - ADEETC

51

Endereos
Multicast

No existe broadcast no IPv6


O multicast usado como alternativa ao broadcast, tipicamente,
localmente por troo

Uso de endereos Scoped


Node, Link, Site, Organization, Global
Sem TTL como era no IPv4
Formato
FF<flags><scope>::<multicast group>
24-05-2013

ISEL - ADEETC

52

Endereos
Multicast

O bit 4 da flags quando a 0 indica um endereo permanente, bem conhecido, refere, por exemplo, o
OSPF, a 1 indica um endereo de utilizao temporria.

24-05-2013

ISEL - ADEETC

53

Endereos
Multicast Scope

Valor

Descrio

Reserved

Node-local scope (nome alterado para interface-local no novo draft)

Link-local scope

3,4

Unassigned

Site-local scope

6,7

Unassigned

Organization-local scope

9,A,B,C,D

A, B, C, D Unassigned

Global scope

Reserved

24-05-2013

ISEL - ADEETC

54

Endereos
Multicast Reservados Exemplos (RFC 2375)

Alguns dos endereos de multicast reservados

24-05-2013

ISEL - ADEETC

55

Endereos
Solicited-Node Multicast Address

Este tipo de endereo utilizado na descoberta de endereos duplicados


(Duplicate Address Detection - DAD).
Deve ser criado um por cada endereo unicast ou anycast utilizado por cada
n.
Utilizam-se os 24 bits de menor peso dum endereo IPv6 aos quais se junta
o prefixo:
FF02:0:0:0:0:1:FF00::/104
ficando este tipo de endereos entre:
FF02:0:0:0:0:1:FF00:0000 e FF02:0:0:0:0:1:FFFF:FFFF
Exemplo:
Se uma mquina tiver o endereo link-local:
FE80::203:47FF:FED7:1D78
o seu endereo multicast solicited-node ser:
FF02::1:FFD7:1D78
24-05-2013

ISEL - ADEETC

56

Endereos
Multicast Transporte sobre IEEE 802.3 e derivadas

Os 32 bit de menor peso do endereo IPv6 multicast so juntos ao


prefixo 33:33 para formar o endereo MAC a 48 bit.
Exemplo:
Uma mquina com endereo MAC:
00-03-47-D7-1D-78
tem o endereo link-local:
fe80::203:47ff:fed7:1d78
O seu endereo multicast solicited-node ser:
ff02::1:ffd7:1d78

Os pedidos ICMPv6 Neighbour Solicitation das mquinas adjacentes


tero como endereo IPv6 destino o endereo Solicited-Node e como
endereo MAC destino:
33-33-ff-d7-1d-78

24-05-2013

ISEL - ADEETC

57

Endereos
Especiais

Unspecified:
Usado quando ainda nenhum endereo est disponvel
Pedido inicial de DHCP
Deteco de endereos duplicados
0:0:0:0:0:0:0:0 ou ::
Loopback:
Identifica a prpria mquina como o 127.0.0.1 no IPv4
0:0:0:0:0:0:0:1 ou ::1

24-05-2013

ISEL - ADEETC

58

Endereos
Scoped Link-Local

Para ser usado entre mquinas sobre o mesmo troo (VLAN, subnet,
etc)
No podem ser encaminhados
Automaticamente configurados para cada interface
Baseado no endereo MAC da interface

Formato
FE80:0:0:0:<identificador da interface EUI-64>
D aos ns um endereo para iniciarem as comunicaes

24-05-2013

ISEL - ADEETC

59

Endereos
Scoped Site-Local / Unique Local Unicast

S podem ser usados entre as mquinas de uma rede autnoma


No podem ser encaminhados para o exterior (Internet)
Similares aos endereos privados no IPv4 (RFC1918)
No configurados automaticamente
Formato
FEC0:0:0:<subnet id>:<interface id>
Subnet id a 16bit = 64K subredes
Permite um plano de endereamento para uma rede completa
Descontinuado, apesar de alguns sistemas ainda os usarem (Windows
nos forwarders DNS por omisso)
Actualmente com funcionalidade similar definida no RFC4193 mas
usando o bloco FC00::/7 (Unique Local Unicast)

24-05-2013

ISEL - ADEETC

60

Endereos
Exigidos por mquina terminal

Link-local para cada interface


Loopback
Unicast atribudos
Multicast all-nodes
Multicast solicited-node para cada um dos seus endereos unicast e
anycast
Multicast de cada um dos grupos aos quais pertena
Site-local, caso sejam usados
24-05-2013

ISEL - ADEETC

61

Endereos
Exigidos para os routers

Todos os requeridos para uma mquina terminal mais:


Multicast All-routers

Multicast especficos aos protocolos de encaminhamento


Anycast de subnet-router nas interfaces configuradas para
funcionarem como tal
Outros de Anycast configurados

24-05-2013

ISEL - ADEETC

62

Endereos
Seleco problemas

Uma mquina pode ter vrios endereos IPv6


Qual deve usar como origem ou destino de determinada comunicao?
Algumas situaes a contemplar:
Os endereos scoped so inatingveis dependendo do destino
Endereos preferidos e descontinuados
IPv4 ou IPv6 quando o DNS retornar os dois
IPv4 local-scope (169.254/16) e IPv6 global scope
IPv6 local scope e IPv4 global scope
Endereos Mobile IP, temporrios, de scope, etc.

24-05-2013

ISEL - ADEETC

63

4 - ICMPv6

Evoluo
Incorpora as funes do ICMPv4, IGMP (Internet Group Multicast
Protocol) e ARP/RARP

Foi introduzido o ND (Neighbor Discovery)


Suporte do Mobile IPv6
Descontinua funcionalidades definidas mas no usadas do ICMPv4
Incompatvel com o ICMPv4
Identificado com HType = 58 para evitar confuses
Conhecido como ICMPv6
24-05-2013

ISEL - ADEETC

65

Formato geral das mensagens

Type

Code
Checksum
Message body

Type (1 byte) - Especifica o tipo da mensagem


Code (1 byte) - Especifica um tipo dentro do tipo
Checksum (2 bytes) - Permite detectar erros no header ICMPv6 e
em parte do de IPv6
Message body (varivel) - Depende do type e do code. No deve
exceder 1280 bytes.
24-05-2013

ISEL - ADEETC

66

Tipos de mensagens Campo Type


Mensagens de erro
1 a 4 - Descrevem erros

Mensagens de informao
128 e 129 - Equivalente s mensagens de echo do ICMPv4
130 a 132 - Usadas para as funes correspondentes ao IGMP (no
IPv4) registo de grupos de multicast
133 a 140 - Usados nas funes de Neighbour Discovery e auto
configurao
141 e 142 - Inverse Neighbour Discovery (RFC 3122)
150 a 153 Mobile IPv6
24-05-2013

ISEL - ADEETC

67

Regras de processamento das mensagens


(RFC 2463) (1)
Se um n receber uma mensagem de erro ICMPv6 de tipo
desconhecido deve pass-la para a camada superior.
Se um n receber uma mensagem de informao ICMPv6
de tipo desconhecido deve jog-la fora silenciosamente.

24-05-2013

ISEL - ADEETC

68

Regras de processamento das mensagens


(RFC 2463) (2)
Se uma mensagem deve ser passada para o protocolo da
camada superior este determinado analisando o header do
pacote includo nos dados, caso no seja possvel determinar
o protocolo, por existirem demasiados headers no pacote
IPv6, o pacote ICMPv6 deve ser descarregado
silenciosamente.
Deve ser includa na mensagem ICMPv6 de erro, tanto
quanto possvel da mensagem que causou o erro. No deve
ultrapassar o MTU mnimo.
24-05-2013

ISEL - ADEETC

69

Tipos de mensagens de erro


Tipos definidos no ICMPv6
Tipo de mensagem

Tipo de cdigo
Mensagens de erro

1 Destination Unreachable

2 Packet Too Big


3 Time Exceeded
4 Parameter Problem

0
1
2
3
4

No route to destination
Communication with destination administratively prohibited
Beyond scope of source address (draft)
Address unreachable
Port unreachable

0
1
0
1
2

Hop limit exceeded in transit


Fragment reassembly time exceeded
Erroneous header field encontered
Unrecognized next header type encontered
Unrecognized IPv6 option encontered

Mensagens de informao
128
129
130
131
132
133
134
135
136
137

Echo Request
Echo Reply
Multicast Listener Query
Multicast Listener Report
Multicast Listener Reduction
Router Solicitation
Router Advertisement
Neighbor Solicitation
24-05-2013
Neighbor Advertisement
Redirect

ISEL - ADEETC

70

Mensagens de erro - Causas


Quatro causas possveis
Destino inatingvel
Mensagem demasiado grande
Hop Count excedido
Problema de parmetros
No devem ser enviadas
Em resposta a pacotes de multicast (*- excepes)
Em resposta a pacotes ICMP (loops)

24-05-2013

ISEL - ADEETC

71

Mensagem Destination Unrechable


Type

Code
Checksum
Unused
Data

Type (1 byte) 1
Code (1 byte) 0 a 4
Checksum (2 bytes) - Permite detectar erros no header ICMPv6 e
em parte do de IPv6
Unused (4 bytes)
Data (varivel) Header do IPv6 e tanto quanto possvel dos
dados originais. No deve exceder 1280 bytes.

24-05-2013

ISEL - ADEETC

72

Mensagem Destination Unrechable


Destination Unrechable (Type =1)
Code = 0 No route to destination (no encaminhamento)
Code = 1 Communication with destination administratively
prohibited (packet filter)
Code = 3 Address unreachable (entrega final)
Code = 4 Port unreachable (mquina final sem o servio activo)

24-05-2013

ISEL - ADEETC

73

Mensagem Packet too big

Type

Code
Checksum
MTU
Data

Type (1 byte) 2
Code (1 byte) 0
Checksum (2 bytes) - Permite detectar erros no header ICMPv6 e em parte do de
IPv6
MTU (4 bytes) Maximum Transmit Unit da ligao seguinte
Data (varivel) Header do IPv6 e tanto quanto possvel dos dados originais. No
deve exceder 1280 bytes.
24-05-2013

ISEL - ADEETC

74

Mensagem Packet too big


Packet too big (Type =2, Code =0)
MTU da ligao que motivou o erro
Este tipo de mensagem uma excepo regra de que no
devem ser geradas respostas a pacotes com endereo IPv6
destino multicast, endereo link-layer multicast ou broadcast.

24-05-2013

ISEL - ADEETC

75

Mensagem Time exceeded

Type

Code
Checksum
Unused
Data

Type (1 byte) 3
Code (1 byte) 0 a 1
Checksum (2 bytes) - Permite detectar erros no header ICMPv6 e em parte do IPv6
Unused (4 bytes) - Deve ser zero
Data (varivel) Header do IPv6 e tanto quanto possvel dos dados originais. No
deve exceder 1280 bytes.

24-05-2013

ISEL - ADEETC

76

Mensagem Time exceeded


Time Exceeded (Type = 3)
Code =0 Hop limit exceeded in transit
Code =1 Fragment reassembly time exceeded (fragmentos
perdidos)
Utilizado no TraceRoute

24-05-2013

ISEL - ADEETC

77

Mensagens de informao
Todos as mensagens definidas no IPv6, que no so de erro, so
consideradas como sendo de informao.

Tm funes to distintas como dar suporte ao Ping, ao multicast,


descoberta de vizinhos, auto configurao, etc.

24-05-2013

ISEL - ADEETC

78

Mensagens de informao
Tipos definidos no ICMPv6
Tipo de mensagem

Tipo de cdigo
Mensagens de informao

128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
150
151
152
153

Echo Request
Echo Reply
Multicast Listener Query
Multicast Listener Report
Multicast Listener Reduction
Router Solicitation
Router Advertisement
Neighbor Solicitation
Neighbor Advertisement
Redirect
Router Renumbering
ICMP Node Information Query
ICMP Node Information Response
Inverse ND Solicitation
Inverse ND Advertisement
ICMP Home Agent Address Discovery Request
ICMP Home Agent Address Discovery Reply
ICMP Mobile Prefix Solicitation Message Format
ICMP Mobile Prefix Advertisement Message Format

24-05-2013

ISEL - ADEETC

79

Mensagens Echo Request e Echo Reply

Type
Code
Checksum
Identifier
Seq. Number
Data

Type (1 byte) 128 (Request) e 129 (Reply


Code (1 byte)
Checksum (2 bytes) - Permite detectar erros no header ICMPv6 e em parte do IPv
Identifier (2 bytes) Associar um Echo Request a um Echo Reply
Sequence number (2 bytes) - Associar um Echo Request ao Echo Reply
Data (varivel) Podem ser qualquer dados.
24-05-2013

ISEL - ADEETC

80

Mensagens Echo Request e Echo Reply


Mensagens com formato semelhante s do IPv4.
Uma das utilizaes principais no suporte do comando
Ping (Packet INternet Groper).
As mensagens de Echo Request e Echo Reply podem ser
autenticadas usando um header de autenticao IPv6.

24-05-2013

ISEL - ADEETC

81

Descoberta de vizinhos (RFC 4861)

Um vizinho, neste contexto, uma mquina ou router, no mesmo segmento.


Substitui o ARP do IPv4, com funcionalidades acrescidas.
Baseado em mensagens ICMPv6.
Usado para:
Saber o endereo data link das mquinas vizinhas
Descobrir routers vizinhos
Manter uma relao da conectividade com os vizinhos
Envio de informaes acerca da rede para mquinas e routers
Protocolo usado na auto configurao de mquinas
Todas as mensagens ND (Neighbor Discovery) tm de ter Hop Limit a 255
Para se ter a certeza de que foram iniciadas e terminam no mesmo troo,
se o Hop Limit for inferior a mensagem vai para o lixo.
Utiliza as mensagens de Neighbor Solicitation e de Neighbor Advertisement
24-05-2013

ISEL - ADEETC

82

Descoberta de vizinhos (RFC 4861)


No ICMPv6 este procedimento vem substituir o ARP e o ICMP Router
Discovery e o Redirect do ICMPv4 usados com o IPv4. Acrescenta
tambm novas funcionalidades.
O ND utilizado pelos ns IPv6 para os seguintes propsitos:
Determinar os endereos de nvel 2 dos ns no mesmo segmento
Encontrar os routers vizinhos que possam encaminhar os seus
pacotes
Manter actualizada a lista de vizinhos que so atingveis e detectar
endereos da camada data link alterados

24-05-2013

ISEL - ADEETC

83

Descoberta de vizinhos (RFC 4861) (1)


Melhorias face ao IPv4:
A descoberta do router agora parte do protocolo
As mensagens de Router Advertisement contm os endereos data
link do router. O mesmo se passa com a mensagem de Redirect.
As mensagens Router Advertisement contm o prefixo do
segmento.
Os mecanismos de descoberta de vizinhos permite renumerar a
rede facilmente.
As mensagens de Router Advertisement possibilitam o
endereamento stateless (autoconfigurao) e podem notificar os
hosts de quando devem utilizar configurao de endereos stateful
(DHCP).

24-05-2013

ISEL - ADEETC

84

Descoberta de vizinhos (RFC 4861) (2)

Os routers podem avisar sobre o MTU a utilizar num segmento.


Mltiplos prefixos podem ser atribudos a um segmento.
Deteco de vizinhos no contactveis faz parte do protocolo.
Router Advertisement e ICMP Redirects usam endereos linklocal para identificar os routers.
As mensagens de descoberta de vizinhos tm um hop limit de
255. Pedidos com hop limit inferior no so respondidos.
A descoberta de vizinhos utilizada para a deteco de
endereos IP duplicados num segmento.
Podem ser utilizados mecanismos de segurana do prprio IPv6
na descoberta de vizinhos.
24-05-2013

ISEL - ADEETC

85

Router Solicitation e Router Advertisement


Os routers enviam periodicamente mensagens de Router
Advertisement.
Um host pode pedir uma mensagem de Router Advertisement
enviando uma mensagem de Router Solicitation. Isto provoca um envio
imediato de mensagens de Router Advertisement independentemente
do timing do router.

24-05-2013

ISEL - ADEETC

86

Mensagem Router Solicitation

Type

Code
Checksum
Reserved
Options

Type (1 byte) 133


Code (1 byte) 0
Checksum (2 bytes) - Permite detectar erros no header ICMPv6 e em parte do IPv6
Reserved (4 bytes)
Options (varivel) Endereo da camada data link do emissor, se conhecida

24-05-2013

ISEL - ADEETC

87

Mensagem Router Solicitation

O header do datagrama IPv6 que transporta esta mensagem ICMPv6


deve ter como endereo destino o endereo de multicast all-routers
multicast FF02::2

Se o endereo de origem no for especificado (tudo zeros), o campo


de opo no usado.

Os routers que receberem a mensagem Router Solicitation devem


responder com a mensagem Router Advertisement.

24-05-2013

ISEL - ADEETC

88

Mensagem Router Advertisement (1)


Type

Code

Checksum

Current
hop limit

Flags

Router Lifetime

Reachable Time
Retrans Timer
Options
Type (1 byte) 134
Code (1 byte) 0
Checksum (2 bytes) - Permite detectar erros no header ICMPv6 e em parte
do IPv6
Current Hop Limit (1 byte) Valor por defeito para o campo Hop Limit
24-05-2013

ISEL - ADEETC

89

Mensagem Router Advertisement (2)


Flags (1 byte):
M Managed address config flag (1 bit, RFC4861)
O Other stateful config flag (1 bit, RFC4861)
H Mobile IPv6 Home Agent Flag (1 bit, RFC3775)
Prf Router selection preferences (2 bit, RFC4191)
00 Medium, 11 Low, 01 High, 10 Reserved

P Neighbor discovery proxy flag (1 bit, RFC4389)


R Reserved (2 bit)

24-05-2013

ISEL - ADEETC

90

Mensagem Router Advertisement (3)


Pelo endereo IPv6 utilizado no pacote de transporte da mensagem
ICMPv6 pode-se determinar se esta peridica ou solicitada, se o
endereo for all-nodes multicast (FF02::1) peridica, se for um
endereo unicast solicitada.
Alguns routers no respeitam esta regra.

O Hop Limit no pacote IPv6 de transporte desta mensagem 255.


O bit M indica, se for 1, que deve ser utilizada configurao stateful
baseada em DHCPv6, para alm da eventual auto-configurao.

O bit O indica que podem ser obtidos parmetros adicionais usando


DHCPv6 (normalmente os DNS resolvers) como complemento
configurao stateless.
24-05-2013

ISEL - ADEETC

91

Mensagem Router Advertisement (4)

O campo Router Lifetime s importante se o router for um router por


omisso para os ns do link. O valor 0 indica que o router no est
disponvel para ser o router por omisso, um valor diferente indica o
tempo de vida deste router enquanto router por omisso. Mximo de
18.2 horas.

O campo Reachable Time o tempo durante o qual um host assume


que os vizinhos podem ser atingidos aps terem recebido a
confirmao que os podem contactar. Zero significa no especificado.

24-05-2013

ISEL - ADEETC

92

Mensagem Router Advertisement (5)

O campo Retrans Timer utilizado pelos mecanismos de resoluo de


endereos e de deteco de vizinhos no contactveis; indica o tempo
entre transmisses desta mensagem.

O campo de opes pode conter varias opes com os tipos:

1 - Endereo de origem data-link


2 - MTU
3 - Informao do prefixo
25 Recursive DNS servers (RFC6106)
31 DNS Search list (RFC6106)

24-05-2013

ISEL - ADEETC

93

Mensagem Neighbour Solicitation


Substitui o ARP do IPv4, com funcionalidades acrescidas
Baseado em mensagens ICMPv6
Usado para:
Saber o endereo data link das mquinas vizinhas
Descobrir routers vizinhos
Manter uma relao de conectividade com os vizinhos
Envio de informaes acerca da rede por mquinas e routers
Protocolo usado na auto-configurao de mquinas
Todas as mensagens ND tm de ter Hop Limit a 255
Para se ter a certeza de que foram iniciadas e terminam no mesmo
troo. Se Hop Limit menor que 255, lixo!
Utiliza as mensagens de Neighbor Solicitation e de Neighbor
Advertisement
24-05-2013

ISEL - ADEETC

94

Mensagem Neighbour Solicitation

Type

Checksum
Code
Reserved
Target Address
Options

Type 135
Target address Utilizado apenas quando da deteco de vizinhos
Options Endereo data link de origem
24-05-2013

ISEL - ADEETC

95

Mensagem Neighbour Solicitation


Enviada pelas mquinas para determinarem o endereo data link das
mquinas adjacentes
=~ ARP request
Contedo da mensagem
Endereo origem = Endereo link-local
Destino = Endereo multicast solicited-node
Os dados contm o endereo data link da origem
Para eficincia (caching)
A pergunta : diz-me o teu endereo de data link?
ICMP Type 135

24-05-2013

ISEL - ADEETC

96

Mensagem Neighbour Advertisement


Type

Checksum
Code
Flags
Target Address
Options

Type 136
Flags (4 bytes):
R (1 bit) - router flag
S (1 bit) - solicited flag
O (1 bit) - override flag
Reservados
Target address Utilizado apenas quando da deteco de vizinhos
Options Endereo data link
24-05-2013

ISEL - ADEETC

97

Mensagem Neighbor Advertisement


Resposta a um Neighbour Solicitation
=~ ARP response
Descrio do pacote
ICMPv6 Type 136
Endereo origem = Endereo link-local
Destino = Endereo de quem perguntou
Campo Option inclui o endereo data link solicitado.

24-05-2013

ISEL - ADEETC

98

Auto configurao (1)


Foi pensada de maneira a ser possvel eliminar a tarefa de
configurao manual de qualquer mquina que utilize IPv6 antes de as
ligar rede, qualquer que seja a dimenso desta ltima.

Se o IPv6 passar a ser usado por todos os tipos de equipamentos,


como telefones, electrodomsticos, etc. no faz sentido dependerem
de servidores DHCP.
Em IPv6 pode-se usar configurao stateful, dependente dum servidor
DHCP, simplesmente configurao stateless/auto configurao ou
ambas.

24-05-2013

ISEL - ADEETC

99

Auto configurao (2)


As mquinas podem gerar os seus endereos IPv6 a partir dos seus
endereos MAC e de informao recebida dos routers.
Por motivos de anonimizao comum gerarem adicionalmente
endereos temporrios com a informao recebida dos routers e
usando como componente host um valor aleatrio.
Os routers podem anunciar vrios prefixos sendo estes utilizados pelas
mquinas.

A alterao de prefixo(s) numa rede implica apenas a alterao destes


no router. Por exemplo, se se mudar de ISP com a consequente
necessidade de utilizao de novos prefixos. Todas as mquinas
ligadas a este router se iro auto configurar com o novo prefixo.
24-05-2013

ISEL - ADEETC

100

Auto configurao Estados dos endereos


Um endereo IPv6 pode estar em vrios estados:
Tentative address Ainda no foi testada a sua unicidade
Preferred address nico e pode ser usado sem restries
Deprecated address O seu tempo expirou. Pode ser usado mas
no como endereo de origem de novas comunicaes

24-05-2013

ISEL - ADEETC

101

Auto configurao DAD (1)


Quando um n se auto configura executa os seguintes
passos:
1 gerado um endereo link-local usando o prefixo FE80 e
juntando-lhe a parte obtida a partir do identificador da
interface (EUI-64) ou a partir da gerao dum nmero
aleatrio com 64 bits se o EUI-64 no for utilizado.
2 O n junta-se aos seguintes grupos de multicast: all-nodes
multicast (FF02::1) e solicited-node multicast para o
endereo que est a tentar usar.

24-05-2013

ISEL - ADEETC

102

Auto configurao DAD (2)


3 enviada uma mensagem de Neighbor Solicitation com o
endereo que est a tentar usar como endereo target; o
endereo IP de origem vai todo a zeros; como endereo destino
vai o solicited-node multicast. Isto detecta se existe outro n com
o mesmo endereo no segmento. Se o n existir ele responde
com uma mensagem Neighbor Advertisement e o mecanismo de
auto configurao pra. Neste caso necessria a configurao
manual da mquina. Se no houver resposta ao Neighbor
Solicitation seguro utilizar o endereo; o endereo atribudo
interface e o estado do endereo passa a prefered. At aqui o
processo igual para mquinas e routers. S as mquinas, os
routers no, que executam o prximo passo.
24-05-2013

ISEL - ADEETC

103

Auto configurao DAD (3)


4 De forma a determinar que routers existem e qual os
prefixos, uma mquina envia uma mensagem de Router
Solicitation para o endereo all-routers multicast FF02::2.
5 Todos os routers no segmento respondem com a
mensagem Router Advertisement. Para cada prefixo em
Router Advertisement com a flag de autonomous activa,
gerado um endereo, combinando o prefixo com a parte
obtida a partir do identificador da interface. Estes endereos
so adicionados lista de endereos da interface.

24-05-2013

ISEL - ADEETC

104

Auto configurao
Se no existir um router numa rede uma mquina poder gerar um
endereo link-local apenas com o prefixo FE80, sendo este suficiente
para comunicar com os outros ns no segmento a que est ligada.
As configuraes stateless e stateful podem ser associadas de maneira
a que um n auto configure os seus endereos mas recorra a um
servidor, por exemplo de DHCP, para obter parmetros adicionais.
Um endereo IPv6 atribudo a um n por um determinado tempo.
Terminado esse tempo o endereo torna-se invlido. Para ter a certeza
que um endereo nico num segmento um n deve correr o processo
DAD (RFC 2462).

24-05-2013

ISEL - ADEETC

105

Descoberta do MTU do caminho (RFC 1981)


No IPv4 os routers podiam fragmentar os pacotes se necessrio.
No IPv6 os routers no fragmentam os pacotes. Quem envia que
responsvel por essa tarefa.
A descoberta do MTU do caminho responsvel por determinar qual
o maior MTU possvel em cada caminho utilizado.
O MTU dum caminho o menor MTU dos segmentos desde a origem
at ao destino.

O MTU mnimo de 1280 bytes.

24-05-2013

ISEL - ADEETC

106

Descoberta do MTU do caminho (RFC 1981)


O processo de descoberta comea por enviar um pacote com o MTU do
segmento local. Qualquer router que no possa deixar passar o pacote
por MTU excessivo deita-o fora e devolve mensagem de erro ICMPv6
Packet Too Big. Esta mensagem inclui o MTU do prximo segmento
onde o pacote no cabia. O pacote deve ser enviado de novo, com o
novo MTU. E, assim sucessivamente at no haver mensagens de erro
por MTU excessivo.

No caso de pacotes multicast so devolvidas as mensagem de erro


ICMPv6 Packet Too Big (excepo regra de em multicast no serem
devolvidos erros) sendo o MTU a utilizar o menor de todos os MTUs
devolvidos.
Como o MTU dum caminho pode variar a origem dos pacotes tentar
aumentar a sua dimenso periodicamente.
24-05-2013

ISEL - ADEETC

107

Gesto de grupos de multicast


Endereos de grupo de multicast so utilizados como identificador dum
grupo de ns.
Os endereos multicast so identificados pelo byte de maior ordem que
tem o valor FF.
necessrio um protocolo para gerir o encaminhamento eficiente dos
pacotes com endereos multicast como destino.

24-05-2013

ISEL - DEETC - RCD - CRC

108

Gesto de grupos de multicast


No IPv4 a gesto dos grupos de multicast era efectuada pelo IGMP
(Internet Group Multicast Protocol).
O IPv6 utiliza mensagens ICMPv6 para esta funo e designam-se por
Multicast Listener Discovery (MLD) (RFC 2710).
Uma mensagem MLD enviada com um endereo de origem IPv6 do
tipo link-local e um hop limit de 1 para se ter a certeza que se mantm
na rede local. Se o pacote tiver o header de Hop-by-hop ter a flag de
Router Alert activada para que os routers no o ignorem, mesmo que
no estejam escuta naquele grupo de multicast.

24-05-2013

ISEL - DEETC - RCD - CRC

109

Mensagem Multicast Listener

Checksum
Max Response Delay
Reserved
Multicast Address
Type

Code

Type (1 byte) 130 (query), 131(report) e 132 (done)


Mx. Response Delay (2 bytes) Valor mximo (em milisegundos) do
intervalo para o valor aleatrio a gerar relativo ao atraso a introduzir na
resposta. Pode-se evitar assim que vrias mquinas dem a mesma
resposta quando uma v que outra j respondeu cala-se.

24-05-2013

ISEL - DEETC - RCD - CRC

110

Mensagem Multicast Listener


Existem dois tipos de mensagens de query:
Uma o query geral que usada para determinar que endereos de
multicast tm ouvintes no segmento;
O outro um query especifico para determinar se um determinado
endereo multicast tem ouvintes no segmento.
O campo multicast address 0 nos query gerais. Nos outros casos
contm o endereo multicast especfico sobre o qual se est a inquirir.

Os querys gerais so enviados para o endereo link-local all-nodes


multicast FF02::1.
O tempo de resposta aos querys aleatrio.
24-05-2013

ISEL - DEETC - RCD - CRC

111

Mensagem Multicast Listener


Nas mensagens de Report e Done o campo de multicast address contm
o endereo de multicast em que a mquina escuta ou que est a deixar.

Os routers utilizam o MLD para descobrirem que endereos de multicast


so usados em cada um dos seus segmentos.
Para cada segmento o router mantm uma lista de endereos multicast
que a so usados.

24-05-2013

ISEL - DEETC - RCD - CRC

112

Tipos de mensagens e endereos destino


Tipo de mensagem

Endereo IPv6 destino

General query

Link-local scope all-nodes (FF02::1)

Multicast-Address-Specific Query

Endereo multicast a ser questionado

Report

Endereo multicast a ser relatado

Done

Link-local scope all-routers (FF02::2)

24-05-2013

ISEL - DEETC - RCD - CRC

113

5 - Segurana em IPv6

Tipos de ameaas
Negao de servio, interrupo
Modificao, introduo ou eliminao de informao

Recolha de informao.

24-05-2013

ISEL - DEETC - RCD - CRC

115

Requisitos de segurana
Confidencialidade
A informao guardada ou transmitida no pode ser lida ou alterada por
entidades no autorizadas.

Integridade
Qualquer alterao da informao guardada ou transmitida deve ser detectada.

Autenticidade
A identidade do fornecedor de informao (e em alguns casos do receptor) deve
poder ser comprovada.

No-repudiao
Uma aco especifica como enviar, receber ou apagar informao no pode ser
negada (no fui eu!) por qualquer das partes envolvidas.

24-05-2013

ISEL - DEETC - RCD - CRC

116

Tcnicas bsicas
Encriptao Fornecer confidencialidade
Encriptao simtrica chaves privadas conhecidas por ambos
os intervenientes - Problemas: distribuio, missing obligation
(quem cifrou a informao?)
Encriptao assimtrica (chave pblica, chave privada)

Checksums seguros Fornecer integridade e autenticidade


Assinaturas digitais

Conjuno da cifra assimtrica e simtrica para se


conseguir confidencialidade e autenticidade

24-05-2013

ISEL - DEETC - RCD - CRC

117

Solues actuais
Filtragem de pacotes nos routers e firewalls
Proteco da camada de transporte
Secure Socket Layer (SSL) -> Transport Layer Security (TLS) do
IETF RFC2246

Segurana das aplicaes


Secure shell (SSH)
Kerberos
Pretty Good Privacy (PGP)

24-05-2013

ISEL - DEETC - RCD - CRC

118

Assuntos de segurana em aberto na Internet

Demasiados sistemas de cifra/autenticao que no funcionam juntos.


Falta de uma infra-estrutura pblica de distribuio de chaves (PKI).
Debate sobre que servios de segurana e em que camada?
Muitos componentes e muitas dependncias mtuas leva a uma maior
complexidade.
Mdulos e mtodos proprietrios muitas vezes incompatveis com os
sistemas de segurana j instalados.
Politicas distintas de segurana uns cifram tudo, outros apenas
algumas coisas, outros ainda tudo mas de formas diferentes.
Problemas de integrao dos produtos de segurana.
Bugs e deficincias no software utilizado.
24-05-2013

ISEL - DEETC - RCD - CRC

119

Elementos de segurana
Associaes de Segurana (SA)

Os parceiros numa comunicao necessitam acordar num conjunto de


informao antes de poderem utilizar os elementos de segurana do
IPv6:
Uma chave
Algoritmo de autenticao e/ou de cifra a utilizar e respectivos parmetros

Este tipo de acordos constituem uma Associao de Segurana (SA Security Association) entre parceiros duma comunicao.
Os SAs so unidireccionais e necessria uma por cada servio de
segurana; donde, dois parceiros que pretendam comunicar e que
pretendam ambos cifrar e autenticar uma ligao bidirecional
necessitam dum total de quatro SAs (uma por cada servio
autenticao e cifra, em cada direco).
24-05-2013

ISEL - DEETC - RCD - CRC

120

Elementos de segurana
Associaes de Segurana (SA)

Dois tipos de SA:


Modo transporte
Modo tnel

Modo transporte
O SA definido entre dois sistemas finais e descreve quer a
autenticao quer a cifra da carga de todos os pacotes IP relacionados
com essa ligao em particular.
Modo tnel
O SA definido entre dois gateways de segurana que colocam os
pacotes IP dentro de outros pacotes IP aplicando quer cifra quer
autenticao a todo o pacote interior, incluindo o header.
24-05-2013

ISEL - DEETC - RCD - CRC

121

Elementos de segurana
Associaes de Segurana (SA)

Alguns problemas:
Na autenticao em modo transporte alguns campos no cabealho
IP no so protegidos. Algumas aplicaes podem necessitar de
proteco para esses campos.
A reescrita dos campos de endereos IP pelo NAT no funciona no
modo transporte, porque o checksum protege os campos de
endereos.

Os problemas anteriores podem ser resolvidos atravs da


utilizao de tneis entre duas entidades de segurana.

24-05-2013

ISEL - DEETC - RCD - CRC

122

Elementos de segurana
Autenticao

Authentication Extension Header AH - (Next Header tipo


51) providencia integridade e autenticao para todos os
dados transportados em pacotes IP entre os extremos.
Na sequncia de Extension Headers o AH (se presente) est
localizado a seguir ao End-to-end Extension Header (se
presente) e antes do Encrypted Security Payload (ESP)
Extension Header (Next Header tipo 50) (se presente), e
antes dos headers dos protocolos de transporte (ex. TCP e
UDP), controlo da rede (ex. ICMP) ou de encaminhamento
(ex. OSPF)
24-05-2013

ISEL - DEETC - RCD - CRC

123

Elementos de segurana
Autenticao
IP header
Version

Class

Payload length

Autentication header
Flow label

Next
header

Hop limit

Next
header

Payload
length

Reserved

TCP header
Source port

Destination port

Security Parameter Index (SPI)

Sequence number

Sequence Number

Acknowledgment number

Source IP address
H-len

Reserved Code bits

Authentication data (variable length)


Checksum

Payload

Window
size

Urgent pointer

Destination address
Options

Padding

Cada header de Autentication Extension contm uma sequncia fixa de


elementos do protocolo:
Next header (1 byte)
Payload length (1 byte) Dimenso dos campos, medido em
mltiplos de 32 bits, a seguir ao SPI
Security Parameter Index (SPI) (4 bytes) Indica que algoritmo de
checksum foi utilizado.
24-05-2013

ISEL - DEETC - RCD - CRC

124

Elementos de segurana
Autenticao
IP header
Version

Class

Payload length

Autentication header
Flow label

Next
header

Hop limit

Next
header

Payload
length

Reserved

TCP header
Source port

Destination port

Security Parameter Index (SPI)

Sequence number

Sequence Number

Acknowledgment number

Source IP address
H-len

Reserved Code bits

Authentication data (variable length)


Checksum

Payload

Window
size

Urgent pointer

Destination address
Options

Padding

Sequence number (4 bytes) Evita ataques por repetio se a


ligao utilizar menos do que 232 pacotes.
Authentication data (dimenso varivel) - Checksum seguro, do ponto
de vista da cifra, sobre a carga (payload), assim como sobre alguns
campos do IP e alguns headers, concatenado com a chave secreta
negociada durante a iniciao do Security Association (SA) e indexada
pelo campo SPI.
24-05-2013

ISEL - DEETC - RCD - CRC

125

Elementos de segurana
Autenticao

IP header
Version

Class

Payload length

Autentication header
Flow label

Next
header

Hop limit

Next
header

Payload
length

Reserved

Security Parameter Index (SPI)

Inner IP header
Version

Class

Payload length

TCP header

Flow label
Next
header

Source port

Hop limit

Destination port

Sequence number

Sequence Number

Acknowledgment number

Source IP address

Source IP address
H-len

Reserved Code bits

Authentication data (variable length)


Checksum
Destination address

Payload

Window
size

Urgent pointer

Destination address
Options

Padding

Utilizao de tneis para transporte de informao autenticada.

24-05-2013

ISEL - DEETC - RCD - CRC

126

(Variable
length)

Elementos de segurana
Cifra

IP header
Version

Class

Payload length

Encryption header
Flow label

Next
header

Hop limit

TCP header

Security Parameter Index (SPI)

Source port

Sequence Number

Payload

Destination port

Padding

Sequence number

Padding length

Acknowledgment number
Source IP address

Encryption parameters (e.g. Initialization


vector)

H-len

Reserved Code bits

Checksum

Encryption trailer

Window
size

Urgent pointer

(Variable
length)

Payload type

Authentication data (optimal)

Destination address
Options

Padding

Sempre que for necessria proteco contra modificao ou publicao da


informao necessrio utilizar cifra.
O Encrypted Security Payload Extension header (ESP, Next header tipo
50) providencia integridade e confidencialidade aos dados transportados
nos pacotes IP entre os extremos da ligao.
24-05-2013

ISEL - DEETC - RCD - CRC

127

Elementos de segurana
Cifra
IP header
Version

Class

Payload length

Encryption header
Flow label

Next
header

Hop limit

TCP header

Security Parameter Index (SPI)

Source port

Sequence Number

Payload

Destination port

Padding

Sequence number

Padding length

Acknowledgment number
Source IP address

Encryption parameters (e.g. Initialization


vector)

H-len

Reserved Code bits

Checksum

Encryption trailer

Window
size

Urgent pointer

(Variable
length)

Payload type

Authentication data (optimal)

Destination address
Options

Padding

Cada header ESP contm uma sequncia fixa de elementos do protocolo,


sendo o nico header dividido em duas partes:
Security parameter Index (4 bytes): Indica o algoritmo de cifra utilizado
(o DES-CBC - Data Encryption Standard em modo Cypher Block
Chaining - deve ser sempre suportado).
Sequence Number (4 bytes): Evita ataques por repetio se a ligao
utilizar menos do que 232 pacotes.
Encryption parameters: Vector de iniciao da cifra, se necessrio.
24-05-2013

ISEL - DEETC - RCD - CRC

128

Elementos de segurana
Cifra
IP header
Version

Class

Payload length

Encryption header
Flow label

Next
header

Hop limit

Security Parameter Index (SPI)


Sequence Number

Inner IP header
Version

Class

Payload length

TCP header

Flow label
Next
header

Source port

Hop limit

Payload

Destination port

Encryption parameters (e.g. Initialization


vector)

Source IP address
H-len

Reserved Code bits

Checksum
Destination address

Padding

Sequence number

Padding length

Acknowledgment number
Source IP address

Encryption trailer

Window
size

Urgent pointer

(Variable
length)

Payload type

Authentication data (optimal)

Destination address
Options

Padding

Verso utilizando tnel IP.

24-05-2013

ISEL - DEETC - RCD - CRC

129

Segurana
Combinar autenticao e cifra

A ideia original era providenciar integridade, autenticao e


confidencialidade aos pacotes IP utilizando ambos os
headers AH e ESP.
Dado que, na maioria dos casos, a utilizao de autenticao
e de cifra simultnea a funo de autenticao foi includa
no ESP ( cauda). Evita-se assim a utilizao simultnea de
dois headers de extenso com o consequente aumento da
dimenso do datagrama IP.
O programador pode optar por um ou outro modo de
conseguir autenticao e cifra em simultneo.
24-05-2013

ISEL - DEETC - RCD - CRC

130

Segurana
Problemas

Tneis: Anlise nos gateways e firewalls.


NAT: A reescrita dos headers IP colide com os mecanismos
de autenticao utilizados.
Qualidade de servio: A perda de pacotes IP considerada
uma violao da segurana.
Mobilidade: A atribuio de endereos IP dinmicos neste
contexto colide com os mecanismos de segurana.
24-05-2013

ISEL - DEETC - RCD - CRC

131

6 - Qualidade de servio em IPv6

Qualidade de servio
No IPv4 o campo TOS (Type Of Service) no header IP no teve grande
sucesso dado basear-se em auto classificao de umas aplicaes face a
outras.
A indicao do tipo de servio pretendido pode no ser suficiente sendo
prefervel a indicao de limites inferiores e superiores.
O QoS continua a ser um tpico de pesquisa.

24-05-2013

ISEL - DEETC - RCD - CRC

133

Qualidade de servio
Paradigmas

QoS baseado em sistemas finais Simplicidade, no se aumenta a


escala facilmente para ser utilizvel com verdadeiros servios
multimdia.
QoS baseado em servios Diferentes grupos de multicast para
diferentes tipos de trfego (por exemplo udio a 5.5, 11, 22 e 44KHz).
Quem envia e quem encaminha (routers) tem de estar consciente da
diferenciao a dar ao diferente trfego.
QoS baseado em classe/prioridade Para lidar com trfego
multimdia os routers necessitam de informao explicita sobre a
forma como lidar com os pacotes com diferentes necessidades de
servio.
QoS baseado em reserva de recursos a forma mais complexa de
suporte de QoS e que implica o conhecimento dos routers sobre os
fluxos que os atravessam. Utiliza, por exemplo, RSVP.
24-05-2013

ISEL - DEETC - RCD - CRC

134

Qualidade de servio
O IPv6 no impe qualquer tipo de suporte de QoS.
O protocolo IPv6 suporta vrios mecanismos de suporte de QoS, quer
no header IP base quer nos headers de extenso.
Header IPv6 base
Fluxos
Comunicado aos routers por RSVP, header IP base ou header Hop-ByHop extension. Os fluxos so identificados por endereo de origem e
campo flow label quando diferente de zero.
Todos os pacotes dum fluxo devem possuir headers Hop-by-hop e
Routing extension idnticos, com excepo do campo Next header.
Flow label
O IPv6 possui um campo flow label de 20 bits no header base e o seu
valor pode ser escolhido aleatoriamente entre 00001 e FFFFF. Quando
no for necessrio deve ir a zero.
24-05-2013

ISEL - DEETC - RCD - CRC

135

Qualidade de servio
Priority/class
Possui um campo de 8 bits no header base. Tendo o flow
label passado de 24 para 20 bits.
possvel utilizar este campo para a diferenciao de
servios.

24-05-2013

ISEL - DEETC - RCD - CRC

136

Referncias

#1 - http://www.huitema.net/ipv6-howlong.asp
#2 - http://www.di.fc.ul.pt/~pmv/ipv6.ppt
#3 - IPv6 Essentials Silvia Hagen OReilly
#4 - IPv6 The New Internet Protocol, 2nd Edition Christian Huitema Prentice Hall PTR ( http://www.prenhall.com )
#5 - http://www.iana.org/ipaddress/ip-addresses.htm
#6 - http://www.viagenie.qc.ca/en/ipv6/
#7 - Internet Protocol, Version 6 (IPv6) Specification , RFC 2460, December 1998, http://www.normos.org/ietf/rfc/rfc2460.txt
#8 - IP version 6 Addressing Architecture, Hinden and Deering, RFC2373, July 1998,
http://www.normos.org/ietf/rfc/rfc2373.txt
#9 - An IPv6 Aggregatable Global Unicast Address Format , Hinden, O'Dell and Deering, RFC 2374, July 1998,
http://www.normos.org/ietf/rfc/rfc2374.txt
#10 - Default Address Selection for IPv6, Richard Draves, IETF internet-draft, May 2001,
http://www.normos.org/ietf/draft/draft-ietf-ipngwg-defaultaddr-select-04.txt
#11 - IPV6 Top Level Aggregation Identifier Assignments, http://www.iana.org/assignments/ipv6-tla-assignments
#12 - Proposed TLA and NLA Assignment Rules, R. Hinden, RFC2450, December 1998, http://www.rfceditor.org/rfc/rfc2450.txt
#13 - IPv6 Tutorial, 40th RIPE, October 2001, Prague, http://www.viagenie.qc.ca/en/ipv6/presentations/ripe40-ipv6tutorialpraha-oct2001.pdf
#14 - Allocation Guidelines for IPv6 Multicast Addresses, B. Haberman, RFC3307, August 2002,
ftp://ftp.rfc-editor.org/in-notes/rfc3307.txt
#15 - Transmission of IPv6 Packets over Ethernet Networks, M. Crawford, December 1998, RFC2464,
http://www.ietf.org/rfc/rfc2464.txt?number=2464

24-05-2013

ISEL - DEETC - RCD - CRC

137

IPv6

Fim da apresentao

24-05-2013

ISEL - ADEETC

138

Anda mungkin juga menyukai