52
CURSO SUPERIOR DE GESTÃO DE REDES DE COMPUTADORES INTRODUÇÃO AO PROTOCOLO IPV6 E ANÁLISE DE DESEMPENHO DO IPSEC SOBRE OS PROTOCOLOS IPV4 E IPV6 ERICSON NOGUEIRA DE ALMEIDA OLGA ABREU DE SANTA INES SALVADOR – BA 2009

Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

Embed Size (px)

DESCRIPTION

Este trabalho apresenta uma introdução ao protocolo de próxima geração, o IPv6 (Protocolo de Internet versão 6). Abordando as principais motivações para a nova versão do protocolo IP, suas características, vantagens e comparando com seu antecessor, o IPv4. Também serão mostradas as principais questões relacionadas à segurança do protocolo, as motivações para criação de um padrão que garantisse autenticidade, confidencialidade e integridade das comunicações, o IPSEC (Segurança do Protocolo de Internet). Por último será realizado um experimento científico, analisando o desempenho do IPSEC sobre os protocolos IPv4 e IPv6.

Citation preview

Page 1: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

CURSO SUPERIOR DE GESTÃO DE REDES DE COMPUTADORES

INTRODUÇÃO AO PROTOCOLO IPV6 E

ANÁLISE DE DESEMPENHO DO IPSEC SOBRE OS PROTOCOLOS IPV4 E IPV6

ERICSON NOGUEIRA DE ALMEIDA OLGA ABREU DE SANTA INES

SALVADOR – BA

2009

Page 2: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

CENTRO UNIVERSITÁRIO DA BAHIA – ESTÁCIO DE SÁ / FIB

CURSO SUPERIOR DE GESTÃO DE REDES DE COMPUTADORES

INTRODUÇÃO AO PROTOCOLO IPV6

E ANÁLISE DE DESEMPENHO DO IPSEC SOBRE OS PROTOCOLOS IPV4

E IPV6

ERICSON NOGUEIRA DE ALMEIDA

OLGA ABREU DE SANTA INES

TRABALHO DE CONCLUSÃO DE CURSO: TCC

Profº. Orientador: Carlos Frederico Jansen Muakad

SALVADOR – BA 2009

Page 3: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

ERICSON NOGUEIRA DE ALMEIDA OLGA ABREU DE SANTA INES

INTRODUÇÃO AO PROTOCOLO IPV6 E

ANÁLISE DE DESEMPENHO DO IPSEC SOBRE OS PROTOCOLOS IPV4 E IPV6

TCC como pré-requisito para a integralização do Curso Superior de Gestão de Redes

de Computadores

Apresentada à Banca Examinadora composta pelos Professores

Professor: Carlos Frederio Jansen Muakad Mestrando em Redes de Computadores pela Universidade Salvador - UNIFACS Especialista em Redes de Computadores pela Universidade Salvador - UNIFACS Graduado em Ciências da Computação com ênfase em Análise de Sistemas pela Faculdade Salvador – FACS

Professor: Alexandre Jesus de Souza Graduado em Sistemas da Informação pelo Centro Universitário da Bahia – FIB / ESTÁCIO DE SÁ

SALVADOR – BA 2009

Page 4: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

AGRADECIMENTOS Em primeiro lugar, a Deus, a minha eterna gratidão, por me dar saúde e persistência para

chegar até a conclusão do curso, após muito estudo e, sobretudo, por mostrar o melhor

caminho que eu devo percorrer, em nível profissional. Descobri o prazer de se fazer o que se

gosta, dominar assuntos e saber transmitir o conhecimento adquirido.

À família por entender a minha ausência, devido à vida agitada que eu tenho levado nos

últimos anos.

Aos meus amigos pelos incentivos a não desistir. Ao orientador Fred Jansen pela confiança

passada e incentivo em fazer o melhor.

Obrigado a todos que se manifestaram através de elogios, críticas construtivas, sugestões e,

sobretudo, pela quase imposição da conclusão do curso, obrigada ao meu colega e amigo

Edivaldo, pois, ele acreditou no meu potencial e me fez acreditar no sucesso através do

conhecimento.

(Olga Abreu de Santa Ines)

Agradeço primeiramente ao Universo, por proporcionar as oportunidades necessárias para

aquisição do conhecimento e saber que com ele tenho a responsabilidade de evoluir e ajudar

aos outros no mesmo processo.

Agradeço a minha amada mãe Euridice Ventura, por me proporcionar o ambiente necessário

para o meu desenvolvimento, a Vânia Mariano pela orientação espiritual, a José Roberto

Salles pelo apoio e incentivo, a Jario Leonardo pelas sábias palavras, a Alessandro Miguez

pela amizade, a Arinilton Bispo pelas aulas de matemática, a Luiza Glads e a todos os meus

familiares e amigos.

(Ericson Nogueira de Almeida)

SALVADOR – BA 2009

Page 5: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

Quando enxergares mais longe, é porque está sobre o ombro de gigantes

(Isaac Newton)

Só aqueles que têm paciência para fazer coisas simples com perfeição é que irão adquirir habilidade para fazer coisas difíceis com facilidade.

(Johann Christoph Friedrich von Schiller)

SALVADOR – BA 2009

Page 6: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

RESUMO

Este trabalho apresenta uma introdução ao protocolo de próxima geração, o IPv6 (Protocolo

de Internet versão 6). Abordando as principais motivações para a nova versão do protocolo IP,

suas características, vantagens e comparando com seu antecessor, o IPv4. Também serão

mostradas as principais questões relacionadas à segurança do protocolo, as motivações para

criação de um padrão que garantisse autenticidade, confidencialidade e integridade das

comunicações, o IPSEC (Segurança do Protocolo de Internet). Por último será realizado um

experimento científico, analisando o desempenho do IPSEC sobre os protocolos IPv4 e IPv6.

Palavras-Chaves: IPv4, IPv6, IPSEC, Privacidade

Page 7: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

ABSTRACT

This work presents an introduction to the next generation Internet Protocol, the IPv6.

Accosting the main motivations for the new Internet Protocol, its features, improvements and

comparing to its forerunner, the IPv4. Also will be showed the major issues related to the

protocol's security, the reasons to create a new standard to ensure comunication's authenticity,

confidentiality and integrity, the IPSEC (Internet Protocol's Security). Lastly, will be executed

a scientific experimentation, analysing the IPSEC's performance over the IPv4 and IPv6

protocol's.

Key-words: IPv4, IPv6, IPSEC, Privacy

Page 8: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

SUMÁRIO

INTRODUÇÃO

1 HISTÓRIA DA INTERNET ............................................................................................... 1

1.1 Protocolo ....................................................................................................................... 3

2 IMPLANTAÇÃO DO IPV6 ................................................................................................ 9

2.1 Cabeçalho ...................................................................................................................... 9

2.2 Endereçamento ............................................................................................................ 14

2.3 Serviços Básicos ......................................................................................................... 16

2.3.1 ICMPv6 .............................................................................................................. 16

2.3.2 Autoconfiguração de Endereços ........................................................................ 17

2.3.3 Fragmentação ..................................................................................................... 17

2.3.4 DNS .................................................................................................................... 18

2.3.5 QoS ..................................................................................................................... 19

2.3.6 Mobilidade ......................................................................................................... 19

3 ROTEAMENTO E GERENCIAMENTO ....................................................................... 20

3.1 Roteamento ................................................................................................................. 20

3.2 Gerenciamento ............................................................................................................ 21

4 COEXISTÊNCIA E TRANSIÇÃO .................................................................................. 21

5 SEGURANÇA .................................................................................................................... 23

Page 9: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

6 ARQUITETURA IPSEC ................................................................................................... 25

7 GERENCIAMENTO DE CHAVES ................................................................................. 26

8 FUNCIONAMENTO DO IPSEC ..................................................................................... 27

9 IMPLEMENTAÇÃO DO IPSEC ..................................................................................... 28

10 ASSOCIAÇÃO DE SEGURANÇA ................................................................................ 29

11 PREVENÇÃO DE ATAQUES ....................................................................................... 30

12 AMBIENTE DE TESTES ............................................................................................... 33

12.1 Equipamentos Utilizados e Acessórios ..................................................................... 33

12.2 Descrição do processo de avaliação .......................................................................... 35

12.3 Avaliação dos resultados obtidos .............................................................................. 37

13 CONSIDERAÇÕES FINAIS .......................................................................................... 38

14 TRABALHOS FUTUROS .............................................................................................. 38

15 REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................... 39

Page 10: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

LISTA DE FIGURAS

Figura 1 – Mapeamento da Internet .......................................................................................... 2

Figura 2 – Mapa de Conectividade ........................................................................................... 2

Figura 3 – Entidades Responsáveis ........................................................................................... 4

Figura 4 – Mapa de Distribuição ............................................................................................... 4

Figura 5 – Cabeçalho do Ipv6 ................................................................................................... 8

Figura 6 – Cabeçalho do Ipv4 ................................................................................................. 10

Figura 7 – Campos Retirados .................................................................................................. 11

Figura 8 – Campos Modificados Reposicionados ................................................................... 11

Figura 9 - Campos Modificados Reposicionados ................................................................... 12

Figura 10 - Tamanho Cabeçalho do Ipv4 ................................................................................ 12

Figura 11 – Tamanho do Cabeçalho do Ipv6 .......................................................................... 13

Figura 12 – Cabeçalho de Extensão ........................................................................................ 13

Figura 13 – Pacote IPv6 e Cabeçalho de Extensão ................................................................. 14

Figura 14 – Cabeçalho ICMPv6 .............................................................................................. 17

Figura 15 – Pilha Dupla .......................................................................................................... 22

Figura 16 – Tunelamento ........................................................................................................ 23

Figura 17 – Mecanismo Tradução .......................................................................................... 23

Figura 18 – Arquitetura do padrão IPSec ................................................................................ 25

Figura 19 - Modo Transporte IPSec ........................................................................................ 28

Figura 20 – Modo Túnel IPSec ............................................................................................... 28

Figura 21 – Estrutura do pacote IPSec .................................................................................... 30

Figura 22 – Cabeçalho AH ...................................................................................................... 31

Figura 23 – Cabeçalho ESP .................................................................................................... 32

Page 11: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

LISTA DE GRÁFICOS

Gráfico 1 - Estoque IANA ........................................................................................................ 6

Gráfico 2 – Demanda das Regionais ......................................................................................... 6

Gráfico 3 – Desempenho da largura de banda ........................................................................ 37

Page 12: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6
Page 13: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

1

INTRODUÇÃO

HISTÓRIA DA INTERNET A Internet surgiu a partir de estratégias militares, com o intuito de manter a sobrevivência das

redes de comunicação e informações na ocorrência de um ataque nuclear. O diretor na época

do laboratório de ciências da computação do Instituto de Tecnologia de Massachusetts (MIT)

e outro colaborador pioneiro da Internet, revelaram um outro lado da história

Outra parte da história está nos grupos de pesquisas financiadas pela Agência de Projetos de

Recursos Avançados (ARPA), onde estes grupos na época precisavam de mais computadores

e maiores para a evolução das pesquisas.

Em vista desse problema a ARPA aumentou a eficiência dos investimentos incentivando os

grupos a dividir os equipamentos distantes entre si. Em contra partida questões técnicas

mostravam a grande possibilidade de interligar os equipamentos. Surgiu então o protótipo

Arpanet, criado no final da década de 60. Tendo sua primeira demonstração em 1972.

No início da década de 80, a Arpanet já atindirá um tamanho muito grande, para atender as

questões de eficiência e segurança militar. A alternativa foi desistir do projeto e fundar sua

própria rede privada, a Milnet. Ainda nos anos 80 a Fundação de Ciência Nacional a Csnet

para comunidades científicas e numa parceria com a IBM, a Bitnet. O conjunto destas redes

levou a Arpanet a denominação de Arpa Internet, mais tarde apenas conhecida pelo nome de

Internet. Com a redução de preços dos computadores a Internet estendeu-se aos ambientes

domésticos, se tornando a grande teia mundial que conhecemos hoje.

Em meados da década de 90 a malha já interligava 100 mil redes, como mostra nas Figuras 1 e 2:

Page 14: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

2

Figura 1 - Mapeamento da Internet – Distribuição dos Provedores da Internet

Fonte: Disponível em: < http://www.cheswick.com/ches/map/gallery/isp-ss.gif>, Acesso em: 30 nov. 2009. Figura 2 - Mapa de Conectividade – Produzida pela Universidade da Califórnia San Diego

Fonte: Disponível em: < http://www.sciencedaily.com/images/2007/08/070831144233-large.jpg>, Acesso em 30 nov. de 2009 Com o crescimento da Internet, ficou evidente a grande fragilidade do protocolo IP em

relação à segurança, pois, o mesmo inicialmente não foi projetado para prover esse

mecanismo.

O IETF (Força Tarefa dos Engenheiros da Internet) criou um grupo de trabalho, responsável

por elaborar mecanismos que fornecessem segurança das comunicações do protocolo IP. Este

grupo foi chamado de IP Security Protocol (Protocol de Segurança IP), que estabeleceram

níveis de segurança para comunicações host-a-host, subrede-a-subrede e host-a-subrede.

Page 15: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

3

O IP Security é um padrão aberto, formado por um conjunto de protocolos que fornecem

serviços de integridade, autenticação, controle de acesso e confidencialidade para a camada de

rede. Através desta tecnologia é possível implementar VPN (Redes Privadas Virtuais), seus

serviços podem ser utilizados por qualquer protocolo das camadas superiores.

O trabalho consiste em introduzir um estudo sobre a nova versão do protocolo IP, o IPv6. As

motivações para uma nova versão, características, vantagens e melhorias relativo a segurança.

Será abordado principalmente os serviços de segurança providos pelo padrão IPSec, seus

protocolos e formas de implementação.

Por fim será realizado um experimento científico com intuito de medir a performance do

IPSec sobre os protocolos IPv4 e IPv6, no quesito largura de banda.

Protocolo O IP é o protocolo mais importante da Internet. Nele é definido o conjunto de regras

necessárias para as comunicações na rede mundial. Esse conjunto de regras é o equivalente

para os computadores a linguagem dos seres humanos e é chamado de protocolo. O conjunto

dessas redes é hoje conhecido como Internet.

Uma de suas principais diretrizes, diz que: Cada equipamento deve ser identificado de forma única na rede, ou seja, sem possibilidade de

engano.

A identificação do equipamento é realizado através de um número denominado de número IP.

A distribuição desses números deve ser controlada com o intuito de evitar sua duplicação.

Hoje isso é realizado por um conjunto de entidades organizadas numa estrutura hierárquica,

como mostra nas Figuras 3 e 4.

No Brasil este controle é realizado pelo CGI.br (Comitê Gestor da Internet), entidade

responsável pelo gerenciamento dos domínios .br e atribuição de números IP´s.

Page 16: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

4

Figura 3 – Entidades responsáveis

Fonte: Disponível em: <http://cgi.br >, Acesso 04 dez de 2009.

Figura 4 - Mapa de distribuição

Fonte: Disponível em: <http://cgi.br >, Acesso 04 dez de 2009. A Internet não foi projetada para ser a grande rede que é hoje. Iniciado como um projeto para

interligar centros de pesquisa relacionados ao Departamento de Defesa (DoD), logo foi aberta

a outros centros e universidades.

Seu crescimento foi muito rápido, desde seu início, devido ao seu bom funcionamento e sua

grande utilidade. Ainda assim, em 1983 já havia conectado em torno de 300 computadores.

A partir do momento que a Internet começou a ser utilizada comercialmente, na década de 90

seu crescimento foi acelerado ainda mais. A partir daí os problemas estruturais tornaram-se

então aparentes. Um desses problemas era o esgotamento do número IP´s. A versão do

protocolo utilizado na época e atualmente ainda é a versão 4.

Page 17: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

5

Cada número IP é representado nos equipamentos por uma cadeia de 32 bits (números

binários). Significando que existem 4.294.967.296 endereços IP para utilização.

Aparentemente uma quantidade de endereços bem grande. Porém, o rápido crescimento da

rede e a forma como eles foram distribuídos no inicio, colaborou para o seu rápido

esgotamento. Os endereços foram divididos em classes, sendo eles:

Classe A: Disponibilizando 128 blocos de IP´s com 16 milhões de endereços cada um.

Atendendo 128 redes.

Classe B: Possuía 16 mil blocos de IP´s com 65 mil endereços cada um.

Classe C: Possuía 2 milhões de blocos IP´s com 256 endereços cada um.

Iniciando-se nessa época, o projeto de um novo protocolo para a Internet, chamado de IPng

(Protocolo de Internet de próxima geração), resultando no atual IPv6 (Protocolo de Internet

versão 6).

Foi também elaborados algumas soluções paliativas, com o intuito de manter a Internet em

funcionamento e diminuindo a demanda por números IP´s:

1 – CIDR

2 – RFC 1918

3 – NAT

4 – DHCP

Segundo o CGI.br, baseados na demanda anual por novos IP´s e na taxa de crescimento dessa

demanda, previsões apontam para um esgotamento dos recursos da IANA entre 2010 e 2012,

como mostra nos Gráficos 1 e 2.

O estoque dos registros regionais deve durar 2 ou 3 anos mais.

Page 18: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

6

Gráfico

Gráfico 1 – Estoque da IANA - Fonte: <http://cgi.br>, Acesso 04 dez de 2009

Gráfico

Gráfico 2 – Demanda Regionais - Fonte: <http://cgi.br>, Acesso 04 dez de 2009.

Mesmo que um novo projeto do protocolo IP não fosse iniciado a Internet continuaria

funcionando, porém, ela teria muita dificuldade de crescer, seu custo seria elevado e novas

aplicações não seriam criadas. O IPv6 é a solução definitiva para o crescimento da Internet.

O IPv6 foi desenvolvido para solucionar definitivamente essa questão, e também traz uma

série de avanços. As medidas paliativas adotadas no início da década de 90 foram bastante

eficazes e permitiram que houvesse tempo suficiente para elaboração de um novo protocolo

para a Internet.

Page 19: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

7

A versão 6 do protocolo IP, foi desenvolvido ao longo de 10 anos, no seu projeto foi mantido

os princípios do seu antecessor (IPv4) e buscando suprir todas as suas carências.

A principal diferença do IPv6 em relação ao seu antecessor, é a maior capacidade de

endereçamentos, aumentando de uma cadeia de 32 bits para 128. Com isso toda necessidade

atual e futura da Internet será suprida.

O espaço total de números IP´s fornecido pelo IPv6 é de

340.282.366.920.938.463.463.374.607.431.768.211.456 de endereços ou 2128. Isso representa

79 trilhões de trilhões de vezes a quantidade de endereços disponíveis no IPv4.

Além dessa grande capacidade de endereçamento o novo formato ainda permitirá:

1 – Arquitetura hierárquica, possibilitando um encaminhamento mais eficiente dos pacotes;

2 – Distribuição de IP´s fixos e válidos para conexões DSL, Modems a cabo e telefones

móveis;

3 – Fornecer endereços válidos na Internet para todos os dispositivos conectados a ela;

4 – Utilizar arquitetura fim-a-fim;

5 – Eliminar problemas associados ao NAT.

Outra modificação importante em relação ao seu antecessor é o formato do cabeçalho.

Na nova versão houve uma simplificação, tornando-a mais eficiente e reduzindo o

processamento dos roteadores de acordo com a Figura 5.

Page 20: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

8

Figura 5 – Cabeçalho IPv6

Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.

Questões relacionadas a segurança também foram revistas . O suporte ao padrão IPSEC

passou a ser obrigatório, fazendo parte do protocolo IPv6. Permitindo aos administradores de

rede ativar o IPSEC em todos os dispositivos da rede, tornando-se mais segura. Houve

também modificações no protocolo ICMP (Protocolo de Mensagens para Controle da

Internet), tornando-o mais eficaz. Isso permitiu a inclusão de novas funcionalidades ao IPv6 e

aprimoramentos de outros:

1 – Mecanismos de auto-configuração de endereços;

2 – Descoberta da vizinhança;

3 – Gerenciamento de grupos multicast.

Outras vantagens apresentadas pelo IPv6, está no aprimoramento a conexões móveis, onde

permite a um usuário se deslocar de uma rede para outra sem necessidade de alterar seu

endereço. Na questão fragmentação de pacotes, o IPv6 realiza apenas na origem, com intuito

de agilizar o roteamento. Diferente do seu antecessor, onde cada pacote de dados pode ser

fragmentado por diversas vezes dependendo do desenho da rede.

Page 21: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

9

IMPLANTAÇÃO DO IPv6

A implantação do IPv6 não será algo rápido, também não haverá uma data definida para a

migração do novo protocolo. A migração do IPv4 para o IPv6 acontecerá de forma gradual,

com IPv4 ainda em funcionamento. Desta forma deverá haver um período de coexistência

entre os dois protocolos. Neste período manter a compatibilidade entre as versões do

protocolo é essencial para o sucesso da transição para o IPv6.

Isto se dará com a utilização de mecanismos de transição, como tunelamento, tradução e

principalmente pilha dupla. Outro fator facilitador da transição entre os protocolos IP, é o fato

de já ser possível encontrar diversos aplicativos adaptados ao IPv6 e os principais sistemas

operacionais lançados nos últimos anos já suportarem o novo protocolo.

Exemplos:

1 - Microsoft Windows XP SP2 e SP3, Vista, 2003 Server, 2008 Server e CE;

2 - Linux, no Kernel 2.1.8 com algumas restrições, e a partir da versão 2.2.X um suporte mais

completo;

3 – MAC OS X, desde a versão 10.2 Jaguar;

4 – BSD, o FreeBSD apresenta suporte desde a versão 4.0, o NETBSD desde dezembro de

2000 na versão 1.5, no OpenBSD a versão 2.7 já apresentava suporte.

Seguindo a mesma tendência dos aplicativos, os principais modelos de equipamentos de rede

também estão aptos a tratar o novo protocolo. Tão importante quanto nos aplicativos e

sistemas operacionais, o suporte em roteadores e switches é necessário para tratar o tamanho

do endereçamento IPv6, impacto na tabela de rotas, mudanças no protocolo de roteamento.

Cabeçalho

A composição do cabeçalho IPv4 é formado por 12 campos fixos, podendo conter ou não

opções, fazendo com que seu tamanho possa variar entre 20 e 60 bytes como mostra a Figura

6.

Page 22: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

10

Figura 6 – Cabeçalho IPv4

Fonte: Disponível em: <http://cgi.br>, Acesso 04 dez de 2009.

Nestes campos contém informações sobre:

1 – Versão do protocolo;

2 – Tamanho do cabeçalho e dos dados;

3 – Fragmentação;

4 – Tipos de dados;

5 – Tempo de vida do pacote;

6 – Protocolo da camada seguinte;

7 – Integridade dos dados;

8 – Origem e o destino do pacote.

Com relação ao cabeçalho IPv6, seis campos do IPv4 foram removidos, pois suas funções não

são mais necessárias ou são implementadas pelos cabeçalhos de extensão, como mostra a

Figura 7.

Page 23: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

11

Figura 7 – Campos retirados

Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.

Quatro campos tiveram alterações em seus nomes e suas posições modificadas, para facilitar o

processamento por parte dos roteadores, de acordo como a Figura 8.

Figura 8 – Campos modificados reposicionados

Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.

O campo identificador de fluxo foi acrescentado, adicionando um mecanismo de suporte ao

QoS (Qualidade de Serviços), como mostra a Figura 9.

Page 24: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

12

Figura 9 – Campos modificados reposicionados

Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.

Três campos foram mantidos, alterando apenas o tamanho do espaço para o endereçamento,

passando a ter 128 bits.

Tais mudanças fizeram com que o cabeçalho IPv6 fosse mais flexível, prevendo sua extensão

por meio de cabeçalhos adicionais, tornou-se também mais simples, com apenas oito campos

e tendo um tamanho fixo de 40 bytes.

Mesmo com um espaço para endereçamento de 128 bits que é quatro vezes maior que seu

antecessor (32 bits), o tamanho total do cabeçalho IPv6 é apenas duas vezes maior que a

versão anterior, como mostra as Figuras 10 e 11.

Figura 10 – Tamanho do cabeçalho do IPv4

Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.

Page 25: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

13

Figura 11 – Tamanho do cabeçalho do IPv6

Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.

Outra mudança importante da estrutura do cabeçalho IPv6 é que, diferentemente do IPv4 que

inclui em seu cabeçalho todas as opções adicionais, agora essas informações são tratadas por

meios de cabeçalhos de extensão. Eles estão localizados entre o cabeçalho base e o cabeçalho

da camada de transporte, de acordo com a Figura 12 e 13.

Figura 12 – Cabeçalho de Extensão

Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.

Page 26: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

14

Figura 13 - Pacote IPv6 e Cabeçalho Extensão

Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.

Endereçamento

No IPv4, o campo do cabeçalho reservado para o endereçamento possui um espaço de 32 bits,

isto possibilita identificar pouco mais de 4 bilhões de equipamentos na Internet.

No IPv6, seu cabeçalho possui um espaço reservado para endereçamento de 128 bits,

permitindo gerar 3,4 X 1038 endereços distintos, equivalente a 56 octilhões (5,6 X 1028) de

endereços por ser humano na terra.

Os 32 bits dos endereços IPv4 são, divididos em quatro grupos de 8 bits cada, separados por

“.”, escritos no sistema de dígitos decimais.

Ex: 192.168.100.1

A representação dos endereços IPv6, divide o endereço em oito grupos de 16 bits, separados

por “:”, escritos no sistema de dígitos hexadecimais.

Ex: 2001:0DB8:AD1F:25E2:DFA1:F0C4:5311:84C1

Page 27: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

15

Na representação de um endereço IPv6, é permitido utilizar caracteres maiúsculos e

minúsculos, abreviações como a omissão de zeros à esquerda e representar os zeros contínuos

por “::”

Ex: 2001:0db8:0000:130F:0000:0000:087C:140b

2001:0db8:0:130F::087C:140b

A representação dos prefixos de rede continua sendo escrito do mesmo modo que no IPv4,

usando a notação CIDR (Roteamento Inter-Dominios sem classe). Esta notação é expressa da

forma “endereço/tamanho do prefixo”, onde “tamanho do prefixo” compreende um valor

decimal que especifica a quantidade de bits a esquerda do endereço relativo ao prefixo.

No IPv6 foram definidos três tipos de endereços, são eles:

Unicast – identificam apenas uma única interface de rede, ou seja, o pacote é entregue apenas

a uma única interface.

Existem diversos tipos de endereços Unicast:

1 – Global Unicast – equivalente ao endereço público IPv4, este endereço é globalmente

roteável e acessível na Internet;

2 – Link-Local – especificados automaticamente, são válidos apenas dentro do mesmo enlace

e utilizam o prefixo “/64”, onde 64 bits são reservados para identificação da interface;

3 – Unique-Local – endereços globalmente únicos utilizados apenas para comunicações

locais, geralmente dentro de um mesmo enlace, não devendo ser roteáveis na Internet;

4 – Loopback – equivalente ao endereço IPv4 127.0.0.1, utilizado para identificar a própria

interface, 0:0:0:0:0:0:0:0:1 ou ::1;

5 - IPv4 mapeado em IPv6 – possui o formato 0:0:0:0:FFFF:WXYZ ou ::FFFF:WXYZ,

WXYZ é um endereço IPv4 convertido em hexadecimal, é usado para representar um

endereço IPv4 como um endereço IPv6 de 128 bits;

Page 28: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

16

6 – Unspecified – endereço especial 0:0:0:0:0:0:0:0 ou ::0 é utilizado para indicar a ausência

de endereço.

Multicast – identifica um grupo de interfaces pertencentes a diferentes nós, sendo que um

pacote destinado a um endereço multicast é enviado para todas as interfaces do grupo.

Diferente do IPv4, onde o suporte a multicast é opcional já que foi introduzido apenas como

uma extensão ao protocolo, no IPv6 todos os nós devem ter suporte ao multicast.

Anycast – utilizado para identificar um grupo de interfaces pertencentes a nós diferentes. Um

pacote destinado a um endereço anycast é enviado apenas para a interface deste grupo mais

próxima da origem.

Da mesma forma que no IPv4, os endereços IPv6 são atribuídos as interfaces físicas e não aos

nós. É possível atribuir a uma única interface múltiplos endereços, independentemente do seu

tipo.

Serviços básicos

ICMPv6

O ICMPv6 para o IPv6 possui basicamente as mesmas funções do ICMP, para o IPv4. Sua

principal utilização é informar características da rede, realizar diagnóstico, relatar erros no

processamento do pacote e etc. As informações são obtidas através da troca de mensagens

ICMPv6, que estão classificadas como:

1 – Mensagens de erros;

2 – Mensagens de informações.

O ICMPv6 é identificado no cabeçalho base IPv6, no campo próximo cabeçalho pelo valor

58. Sua estrutura é simples e igual nos dois tipos de mensagens, de acordo com a Figura 14.

Page 29: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

17

Figura 14 – Cabeçalho ICMPv6

Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.

O ICMPv6 apresenta uma quantidade maior de mensagens que seu antecessor. Isto se dá,

porque além das funções básicas, o ICMPv6 passa a incorporar as funções de protocolos

como o ARP/RARP (Protocolo de resolução de endereços – Protocolo de resolução de

endereços reversos) e IGMP (Protocolo de Gerenciamento de Grupos na Internet). Sendo

essencial em serviços do IPv6 como:

1 – Descoberta de vizinhança;

2 - Gerenciamento de grupos multicast;

3 – Mobilidade IPv6;

4 – Descoberta do Path MTU (Unidade de Transmissão Máxima).

Auto-configuração de endereços

Autoconfiguração Stateless - mecanismo que permite aos nós a configuração automática dos

endereços, sem a necessidade de servidores DHCP.

Autoconfiguração Stateful - é uma técnica alternativa a stateless, onde é necessário a

utilização de servidores que informem aos hosts, os dados a serem utilizados na obtenção dos

endereços, além de outras configurações da rede. Neste caso o stateful baseia-se no uso de

protocolos como o DHCPv6, que possibilita a distribuição dinâmica de endereços IP.

Fragmentação

O processo de fragmentação permite o envio de pacotes maiores que o limite de tráfego

estabelecido num enlace. Na transmissão de um pacote, este certamente passará por vários

enlaces até o destino. Possivelmente cada um desses enlaces possuirá uma limitação distinta

Page 30: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

18

em relação ao tamanho máximo do pacote que passará por ele. Essa limitação é chamada de

MTU (Unidade de Transmissão Máxima), e é definida de acordo com o protocolo de enlace

utilizado.

Com o IPv4, cada roteador pode fragmentar os pacotes durante o percurso. Dependendo do

desenho da rede, um pacote IPv4 pode ser fragmentado mais de uma vez durante seu trajeto,

sendo reagrupado no destino.

No IPv6, o processo de fragmentação dos pacotes se inicia utilizando o protocolo Path MTU

Discovery, que descobre de forma dinâmica qual o tamanho máximo permitido ao pacote,

identificando previamente os MTU´s de cada enlace no caminho até o destino. Deste modo,

os nós IPv6 realizam a fragmentação dos pacotes apenas na origem, reduzindo o overhead do

cálculo dos cabeçalhos.

DNS

No sistema de nomes de domínios (DNS), utilizado para resolução de nomes de domínios em

endereços IP e vice-versa, sofreu mudanças para o suporte a nós que trabalham com a versão

6 do protocolo IP.

Embora os dados contidos na árvore DNS sejam independentes da versão IP, algumas

mudanças foram necessárias para que os servidores pudessem trabalhar com consultas a

endereços IPv6.

Essas mudanças estão definidas na RFC3596, e basicamente incluem:

1 – Registros AAAA ou quad-A, que traduz nomes em endereços IPv6.

2 – Nova representação textual para registros PTR, que traduz endereços IPv6 em nomes, o

domínio IP6.arpa.

Page 31: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

19

QoS

Em princípio o protocolo IP trata todos os pacotes da mesma forma, sem nenhuma preferência

no momento de encaminhá-los. Porém, algumas aplicações necessitam que seus pacotes

sejam transportados com a garantia de que haja o mínimo de atraso, latência ou perda de

pacotes.

No IPv6 foram adicionados mecanismos que visam tratar essa questão da garantia. E é muito

importante garantir a qualidade do tráfego de determinadas aplicações como:

1 – VoIP (Voz sobre IP);

2 – Distribuição de vídeos de alta qualidade;

3 – Jogos online.

Para isso, é aplicado a Internet o conceito de QoS (Qualidade de Serviços). O IPv6 busca

solucionar esta questão através da implementação de especificações que priorizam o fluxo de

determinados pacotes. Para isso, foram designados dois campos do cabeçalho IPv6, o Classe

de Tráfego e o Indicador de Fluxo.

Mobilidade

O suporte a mobilidade no IPv6 permite que um dispositivo móvel se desloque de uma rede

para outra sem necessidade de alterar seu endereço de origem. Desta forma, quando este

dispositivo estiver fora de sua rede, os pacotes continuarão sendo encaminhados a ele usando

seu endereço de origem. Isso faz com que a movimentação entre as redes fique invisível para

os protocolos das camadas superiores.

Diferente do seu antecessor, os mecanismos necessários para garantir essa mobilidade já vêm

incorporados ao protocolo IPv6.

Page 32: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

20

ROTEAMENTO E GERENCIAMENTO

Roteamento

Os protocolos de roteamento são responsáveis por manter atualizadas as informações

utilizadas pelos roteadores para encontrar o melhor caminho disponível no encaminhamento

dos pacotes até o seu destino.

O processo de roteamento de pacotes consiste em encaminhá-los através de diversos

roteadores até alcançar seu destino final. Estes roteadores buscam em suas tabelas de

roteamento o prefixo correspondente ao endereço de destino, e a partir desta informação,

determinam qual o melhor caminho a percorrer.

Os protocolos de roteamento são divididos em dois tipos:

1 – Internos – distribuem as informações dos roteadores dentro de Sistemas Autônomos (AS)

e são chamados de IGP (Protocolos de Gateway Interno).

2 – Externos – distribuem as informações entre AS distintos e são chamados de EGP

(Protocolos de Gateway Externo).

Assim como os protocolos de roteamento interno utilizados no IPv4, o RIP, OSPF, tiveram

novas versões para suportarem o IPv6.

1 – RIPng – baseado no algoritmo distance-vector (vetor de distância) conhecido como

Bellman-Ford. Apresenta como uma das principais mudanças em seu funcionamento o

suporte aos prefixos e ao tamanho dos endereços IPv6.

2 – OSPFv3 – é um protocolo de roteamento interno do tipo link-state (estado de link), onde

através do processo de flooding, os roteadores constroem um mapa da rede, utilizado para

definir as rotas mais curtas.

Page 33: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

21

Como mudanças em relação ao seu antecessor estão:

1 – Criação de novos tipos de LSA´s;

2 - Retirada da autenticação, contando apenas com a autenticação do IPv6;

3 – Num único enlace pode ter múltiplas instâncias do OSPFv3 sendo executadas;

4 – Pacotes OSPF usam um endereço link-local como endereço de origem;

5 - No IPv4, o OSPF conecta interfaces por sub-rede, no OSPFv3 isso é feito por enlace.

Nos protocolos de roteamento externo, o BGP (Protocolo de Gateway de Borda) é o mais

utilizado. Como não há uma versão de BGP específica para o IPv6, a nova versão do

protocolo IP utiliza as extensões multiprotocolo do BGP. Estas extensões suportam as

mesmas funcionalidades que o BGP para o IPv4 e trabalham com as duas famílias de

endereços.

Gerenciamento

Assim como no IPv4 o gerenciamento da rede é baseado no protocolo SNMP (Protocolo de

Gerenciamento de Rede Simples), que é a principal ferramenta. A troca de informações

SNMP pode ser feita tanto em conexões IPv4 quanto IPv6, mesmo que essas informações

sejam sobre IPv6. Porém já existem diversos equipamentos com suporte a SNMP sobre IPv6

que podem ser monitorados em redes puramente IPv6.

COEXISTÊNCIA E TRANSIÇÃO

Atualmente toda estrutura da Internet está baseada na versão 4 do protocolo IP. Deste modo

uma troca imediata de protocolo torna-se inviável, dado o tamanho e a proporção desta rede.

Com isso para o sucesso da implantação do IPv6, é necessário que ela seja realizada de forma

gradual e transparente.

Na fase inicial desta implantação, um período de coexistência entre os dois protocolos

deverão existir, em que redes IPv4 precisarão comunicar-se com redes IPv6 e vice-versa.

Algumas técnicas para viabilizar essa transição foram elaboradas, e podem ser classificadas

nas seguintes categorias:

Page 34: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

22

1 – Pilha dupla – provê suporte a ambos os protocolos no mesmo dispositivo. Permitindo aos

hosts e roteadores o envio e recebimento de pacotes tanto para o IPv4 quanto para o Ipv6,

como mostra a Figura 15.

Figura 15 – Pilha Dupla

Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009

2 – Tunelamento – permite o tráfego de pacotes IPv6 sobre estruturas IPv4 ou inverso. A

criação de túneis permite transmitir pacotes IPv6 através da infra-estutura IPv4 existente, sem

a necessidade de realizar qualquer mudança nos mecanismos de roteamento, encapsulamento

de pacotes IPv6 em pacotes Ipv4, como mostra Figura 16.

Os túneis podem ser classificados como:

Roteador-a-Roteador, Host-a-Roteador e Host-a-Host.

Page 35: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

23

Figura 16 – Tunelamento IPv4

Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009

3 – Tradução – permite a comunicação entre nós apenas IPv6 com nós apenas IPv4 e vice-

versa, como mostra a Figura 17. A tradução pode atuar de diversas formas e em camadas

distintas, traduzindo cabeçalhos IPv4 em cabeçalhos IPv6 e vice-versa, realizando conversão

de endereços, de API´s (Interface de Programação de Aplicação) de programação ou atuando

na troca de tráfego TCP ou UDP.

Figura 17 – Mecanismo Tradução

Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009

SEGURANÇA Destinado inicialmente a interligar apenas algumas redes de pesquisas acadêmicas, o projeto

inicial do IPv4 não apresentava muita preocupação com questões de segurança das

informações transmitidas.

No entanto com o crescimento da Internet, diversas ameaças à segurança da rede e ao tráfego

de dados surgiram, prejudicando sua utilização em operações bancárias, e em transações

comerciais.

Desta forma, tornou-se necessário acrescentar novos mecanismos ao protocolo original, que

garantissem a confiabilidade de tais serviços.

Page 36: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

24

Entre esses novos mecanismos, destaca-se o IPSEC (Protocolo de Internet Seguro), um

protocolo que implementa criptografia e autenticação de pacotes na camada de rede,

fornecendo uma solução de segurança fim-a-fim, garantindo a integridade, confidencialidade

e autenticidade dos dados.

O IPSEC foi criado originalmente para ser usado em conjunto com o IPv4. Com a

implantação do IPv6 o uso do IPSEC tornou-se mais fácil. Embora seu funcionamento seja

praticamente o mesmo nas duas versões do protocolo IP.

No IPv6, não há necessidade de se utilizar NAT, permitindo que o IPSEC funcione sem

restrições. Diferente do IPv4, onde o mecanismo de autenticação do IPSEC não pode ser

utilizado com conexões que estejam atrás de NAT (Tradutor de Endereços de Rede), que

oculta o endereço IP original do emissor de pacotes impedindo sua identificação. Os

mecanismos de autenticação e encapsulamento do IPSEC estão integrados no IPv6. Seu

suporte é obrigatório em todos os nós o que não ocorre no IPv4.

Dessa forma, através do IPSEC o IPv6 é capaz de garantir que a mensagem recebida não

tenha sido adulterada, a identidade do remetente, que a mensagem não seja entregue diversas

vezes, a confidencialidade da mensagem, cifrando seu conteúdo.

Embora, o suporte ao IPSEC seja obrigatório, para sua efetiva utilização, ele deve ser

habilitado em cada nó pelo administrador de rede ou caberá a cada aplicação definir a

utilização ou não do IPSEC.

O IPSEC é um conjunto de protocolos de segurança, visto que para realizar suas funções ele

faz uso de recursos independentes.

Ele utiliza dois cabeçalhos de extensão do IPv6: O AH (Cabeçalho de Autenticação), para

garantir a autenticação, e o ESP (Encapsulamento Seguro da Carga de dados) para garantir

confidencialidade dos pacotes transmitidos.

Além de gerar e gerenciar chaves de segurança a partir do protocolo IKE (Troca de Chaves de

Internet).

Page 37: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

25

ARQUITETURA IPSec O padrão IPSEC foi elaborado para prover serviços de segurança de alta qualidade, baseados

em cifragem para camada de rede e/ou camadas superiores. Nesses serviços estão inclusos

integridade, controle de acesso não orientado a conexão, autenticação da origem dos dados e

confidencialidade.

A implementação desses serviços é realizada através da utilização conjunta dos protocolos de

segurança de tráfego, de autenticação dos cabeçalhos (AH – Autenticação de Cabeçalho), de

encapsulamento seguro do payload (ESP – Encapsulamento Seguro do Conteúdo dos dados) e

procedimentos e padrões de gerência de chaves.

Por ser um padrão aberto da IETF muitos fabricantes de equipamentos e desenvolvedores de

sistemas, vem adotando o IPSEC, principalmente por possibilitar a inclusão de algoritmos de

autenticação e criptografia. Na RFC 2411 – IP Security Roadmap aborda as diretrizes para se

produzir, organizar e inter-relacionar entre outros documentos que descrevem os protocolos

do IPSEC. Na figura 18 é mostrada a organização do IPSec segundo RFC-2411 do IETF.

Figura 18 - Arquitetura do padrão IPSEC

Fonte: Disponível em: < http://www.rnp.br/newsgen/9907/IPSec-arq.gif>, Acesso em 25 nov. de 2009. Na figura acima, é especificado algoritmos de autenticação e criptografia definidas pelo

protocolo ESP, que está especificado na RFC 2406 – IP Encapsulating Security Payload (IP

Encapsulamento Seguro da Carga de dados) e de autenticação definidas pelo protocolo AH,

especificado na RFC 2402 – IP Autentication Header (IP Autenticação de Cabeçalhos).

Page 38: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

26

Protocolos AH e ESP Na figura 1, pode ser mostrado que os protocolos AH e ESP fazem parte da arquitetura básica

do padrão IPSEC, sendo que por motivo de garantir a interoperabilidade, estes protocolos

definem que qualquer implementação do padrão IPSEC suporte alguns algoritmos pré-

definidos. No quesito autenticação de cabeçalho, os algoritmos obrigatórios são os seguintes:

1 - HMAC-MD5, RFC-2403 – The use of HMAC – MD5 within ESP and AH (O uso do

HMAC-MD5 com ESP e AH);

2 - HMAC-SHA-1, RFC-2404 – The use of HMAC-SHA-1 within ESP and AH (O uso do

HMAC-SHA-1 com ESP e AH).

E no quesito Encapsulamento Seguro do conteúdo dos dados, além dos relacionados acima, os outros são: 1 - DES-CBC, RFC-2405-ESP DES-CBC Cipher Algorithm With Explicit IV (Algoritmo de

criptografia com explicito IV);

2 - Null Authentication Algorithm (Algoritmo de autenticação nulo); 3 - Null Encryption Algorithm (Algoritmo de criptografia nulo). Há também suporte de compressão IP, especificados na RFC-2393 IP Payload Compression

Protocol (Protocolo de Compressão do conteúdo dos dados IP).

GERENCIAMENTO DE CHAVES Dentro dos serviços de segurança do padrão IPSEC, há o compartilhamento de chaves, que

são usados na autenticação, integridade e criptografia. Porém, nas especificações do IPSEC

existe um conjunto separado para o gerenciamento de chaves, suportando distribuição

automática ou manual das chaves. Neste conjunto foram elaborados procedimentos com base

em chaves públicas, que estão especificados nas seguintes RFC´s:

RFC-2408 – Internet Security Association and Key Management Protocol – ISAKMP

(Protocolo de gerenciamento de chaves e associações de segurança de Internet);

RFC-2409 – The Internet Key Exchange – IKE (Troca de chaves Internet);

Page 39: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

27

RFC-2412 – The OAKLEY Key Determination Protocol (Protocolo de determinação de

chave Oakley).

Além dos padrões de chaves públicas citadas acima, as especificações do IPSEC permitem a

inclusão de outros protocolos para gerenciamento de chaves públicas, por exemplo, SKIP

(Gerenciamento de Chaves Simples para IP).

FUNCIONAMENTO As operações do protocolo IPSEC, são realizadas em gateway´s ou em host´s, com políticas

de segurança estabelecidas e armazenadas em banco de dados (SPD – Banco de dados de

Políticas de Segurança). Mantidos por administradores, usuários ou por aplicações executando

dentro de certos limites. Estas políticas podem ser utilizadas para proteger uma ou mais

conexões entre um par de hosts, entre dois gateways ou entre um host e um gateway.

A seleção dos pacotes IP é realizada através de três formas definidas por seletores. Eles

utilizam o pacote IP e as informações do cabeçalho da camada de transporte, efetuando uma

comparação com entradas no banco de dados SPD. Baseado nas premissas estabelecidas, cada

pacote será submetido aos serviços do conjunto de protocolos ou desprezado ou então será

descartado.

Como já visto que o IPSec é composto pelos protocolos AH e ESP, tanto o AH quanto o

ESP implementam controle de acesso baseado em chaves distribuídas e na gerência dos

fluxos de tráfego.

Podem ser implementados separados ou em associação, disponibilizando um conjunto de

serviços para redes baseados no protocolo IP, tanto no IPv4 quanto no IPv6.

O IPSec pode operar em dois modos:

1 – Modo de transporte – protege apenas os protocolos das camadas superiores, pois o

cabeçalho de segurança aparece imediatamente após o cabeçalho IP e antes dos cabeçalhos

das camadas superiores, como mostra a Figura 19;

Page 40: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

28

Figura 19 – Modo Transporte IPSec

Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.

2 - Modo Túnel – protege todo o pacote IP, encapsulando-o dentro de outro pacote IP,

deixando visível apenas o cabeçalho IP externo, como mostra a Figura 20.

Figura 20 – Modo Túnel IPSec

Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.

Há condição de se criar um túnel único de criptografia para transporte de dados entre dois

gateways ou túneis separados para cada conexão entre os pares numa comunicação através

desses gateways.

IMPLEMENTAÇÃO Há três formas de implementar o padrão IPSEC: Uma é implementando o IPSec na pilha nativa IP, aplicando-se tanto em hosts como em

gateways, sendo exigido para isso acesso ao código fonte do protocolo IP. Uma outra forma,

denominada de Bump-in-the-stack (BITS), é utilizado em hosts onde o padrão é

implementado sob protocolo IP, entre ele e o driver de rede local. Nesta implementação não

se faz necessário acesso ao código fonte. A última forma de se implementar o padrão é

conhecida como Bump-in-the-wire (BITW), neste caso é utilizado uma placa processadora de

criptografias tanto nos hosts como no gateways.

Page 41: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

29

ASSOCIAÇÃO DE SEGURANÇA Um dos conceitos fundamentais do padrão IPSEC é o AS (Associação de Segurança). Onde,

uma conexão torna viável o tráfego de serviços seguros. A garantia desses serviços é dada

através do uso dos protocolos AH e ESP ou os dois. No caso de utilizar o AH e o ESP em

conjunto, deverá ser efetuada a associação de segurança para cada protocolo, ou seja, mais de

uma associação deverá ser definida.

Uma AS (Associação de Segurança) é definida de forma única através de três parâmetros: SPI (Índice de Parâmetro de Segurança), o IP de destino e o identificador do protocolo de

segurança utilizado.

No parâmetro SPI, que identifica a AS, definido durante a negociação que é efetuada antes do

estabelecimento da Associação de Segurança.

A difusão do IP de destino pode ser unicast, broadcast ou ainda multicast, porém para

definição dos mecanismos de gerência de AS, o padrão IPSEC assume um endereço unicast,

estendendo as definições para casos de broadcast e multicast.

Há um número de identificação que especifica o protocolo utilizado, sendo o número 51 para

o AH e o 50 para o ESP.

Uma associação de segurança pode ser estabelecida de duas formas: modo transporte e modo

túnel.

No modo transporte uma associação é estabelecida entre dois hosts. Na versão 4 do protocolo

IP, o cabeçalho do protocolo de segurança é inserido entre o cabeçalho IP e os cabeçalhos das

camadas superiores como TCP ou UDP. Porém, na versão 6 do protocolo IP, o cabeçalho do

protocolo de segurança é inserido após o cabeçalho básico e dos cabeçalhos de extensão fim-

a-fim, e antes dos protocolos das camadas superiores.

Na utilização do ESP, uma associação de segurança em modo transporte, provê segurança

apenas para os protocolos de camadas superiores, não incluindo o cabeçalho IP ou os de

extensão que precedem o ESP. Porém o protocolo AH amplia a proteção a estes cabeçalhos.

Esta situação está relacionada ao fato do ESP criptografar os dados que o sucedem no pacote

proporcionando ainda autenticação somente a parte ESP no pacote, enquanto que no

protocolo AH a autenticação é feita em todo o pacote.

Page 42: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

30

Uma associação de segurança no modo túnel é aplicada a um túnel IP: Quando um dos

membros for um gateway que implementa o padrão IPSEC, a AS deverá ser estabelecida em

modo túnel. Numa AS de modo túnel, o cabeçalho IP externo especifica o destino do

contexto IPSEC enquanto o cabeçalho IP interno especifica o destino real do pacote. Neste

modo os cabeçalhos dos protocolos de segurança são inseridos depois do cabeçalho IP

externo e antes do cabeçalho interno. Assim numa analogia para o modo transporte, em modo

túnel, o AH assegura o cabeçalho IP externo e os protocolos das camadas superiores, assim

como o pacote IP tunelado. Já no modo túnel com o ESP, somente é assegurado o pacote IP

tunelado, de acordo como a Figura 21.

Figura 21 – Implementação em conjunto dos protocolos do IPSec

Fonte: Disponível em: < http://www.gta.ufrj.br/seminarios/semin2002_1/Ivana/VPN_Ivana_arquivos/Image1.gif >, Acesso 25 nov de 2009. PREVENÇÃO DE ATAQUES A utilização do AH previne ataques do tipo: 1 - Replay, quando o atacante captura um pacote válido e autenticado, replicando-o e

enviando, entrando assim na comunicação. A utilização do campo Sequence Number

(Número de Sequencia), ajuda a prevenir este ataque, pois permitir definir números para cada

pacote que trafega dentro de uma AS.

2 - Spoofing, quando o atacante assume a identidade de um host confiável para o destino,

ganhando privilégios na comunicação. O uso de serviços de autenticação previne este tipo de

ataque.

Page 43: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

31

3 - Connection Hjacking (Roubo de Conexões), quando o atacante intercepta pacotes de uma

conexão passando a participar da comunicação. Com a utilização dos serviços de autenticação

pode se previnir este tipo de ataque.

Figura 22 - Cabeçalho AH:

Fonte: Disponível em: < http://www.lncc.br/~borges/doc/VPN Protocolos e Seguranca.pdf >, Acesso 25 nov. de 2009. Os campos do cabeçalho mostrado na Figura 22 acima são descritos abaixo: 1 - Próximo cabeçalho: identifica o protocolo do próximo cabeçalho; 2 – Tamanho do Dado: tamanho da carga de dados; 3 - Reservado: possui um comprimento de 16 bits para extensão do protocolo; 4 - SPI: (Índice do Parâmetro de Segurança) índice que identifica unicamente junto com o

endereço de destino e o protocolo AH uma associação de segurança para um determinado

pacote;

5 – Número de Seqüência: identifica os pacotes que pertencem a uma associação de

segurança;

6 - Dados de Autenticação: possui comprimento variável e armazena o ICV (Valor de

Checagem de Integridade) para este pacote, e é calculado de acordo com o algoritmo de

autenticação utilizado no AS.

O AH apesar de adicionar autenticação, mantém os dados da mesma forma que recebeu, ou

seja, sem confidencialidade e possibilitando a capturar através de sniffer.

Page 44: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

32

Os serviços do ESP previnem ataques do tipo: 1 - Replay, através do campo Número de Sequência, semelhante ao protocolo AH. 2 - Fragmentos de pacotes criptografados, realizado quando o atacante captura partes de

pacotes criptografados e remontá-os de tal forma, que o pacote pode ser aceito por uma

conexão. O serviço de autenticação previne este tipo de ataque.

3 - Sniffer, técnica utilizada quando o atacante captura os pacotes que trafegam na rede. O

serviço de criptografia previne este tipo de ataque.

Figura 23 – Cabeçalho ESP

Fonte: Disponível em:< http://www.gta.ufrj.br/grad/09_1/versaofinal/vpn/NotesImages/Topic18NotesImage5.gif >, Acesso em 25 nov de 2009 Os campos que compõe o cabeçalho do ESP, mostrado na Figura 23 acima são os seguintes: 1 - SPI: índice que identifica unicamente junto com o endereço de destino e o protocolo AH

uma associação de segurança para um determinado pacote;

2 - Número de Sequência: identifica os pacotes que pertencem a uma associação de

segurança;

3 - Dados cifrados e parâmetros: possui os dados criptografados e parâmetros usados pelo

algoritmo definido pela AS;

4 - Dados de Autenticação: possui comprimento variável e armazena o ICV (Valor de

Checagem de Integridade) para este pacote, e é calculado de acordo com o algoritmo de

autenticação utilizado no AS.

Diversos aspectos devem ser avaliados para uma implementação adequada do padrão IPSEC.

Para situações onde se necessita apenas autenticação, recomenda-se o uso de protocolo AH.

Porém o ideal é a utilização dos serviços de autenticação e confidencialidade, ou seja, o uso

Page 45: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

33

do AH e ESP em conjunto. O mais recomendado é a utilização do protocolo ESP dentro do

AH, possibilitando que o destino confirme a autenticidade do pacote antes de decifrá-lo.

AMBIENTE DE TESTES Para realização da análise de desempenho do IPSEC entre os protocolos IPv4 e IPv6 foi

implementado um ambiente de testes. Para tal, foi instalado e configurado uma rede com dois

computadores e um switch, interligados através de cabos UTP baseados no sistema

operacional Windows Server 2008 Enterprise com Service Pack 1. Um dos computadores foi

utilizado como Servidor de Roteamento e Acesso remoto e o outro como cliente dial-up.

Durante a análise de desempenho dos protocolos foram utilizados dois cenários, um medindo

a taxa de transmissão de dados sem uso de serviços de segurança e o outro utilizando os

serviços de segurança do padrão IPSEC. Possibilitando a comparação de desempenho dos

protocolos sem e com os mecanismos de segurança.

Equipamentos utilizados e acessórios Foram utilizados dois computadores e um switch de camada 2 para realização dos testes.

Configuração dos equipamentos:

1. Switch Cisco Catalyst 1900

Modelo WS-C1912-A Standard Edition

Sistema Operacional de Internetwork versão 12.2 Método de comutação Ethernet Store-and-Forward;

Interfaces: 12 Portas padrão 10Base-T;

2 Portas padrão 100Base-X;

2. Cabeamento: Dois cordões de manobra UTP de 2,5m, categoria 5e do fabricante Nexans,

certificados no padrão EIA/TIA 568-B.2. Bitola dos fios internos 24 AWG.

Page 46: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

34

3. Computadores:

Especificações de Hardware e Software Computador 1:

Notebook HP Pavilion Entertainment PC, modelo DV2240BR

Processador T2080 Intel Dual Core 1.73 GHZ – cachê L2 1 MB, Tecnológia de 65nm –

Socket 479mPGA – FSB 533MHZ – BUS 133MHZ

Main board Wistron – modelo 30B2

Chipset Intel i945GM

Ponte Sul Intel 82801 GHM (ICH7-M/U)

Bios HeWlett Packard – versão F.39 – data 27/08/2007

Memória tipo DDR-2 PC2 5300-333MHZ – canal duplo 1x1GB / 1x 512MB

Tamanho 1.536 MB

Frequência DRAM: 266 MHZ FSB:RAM = 1:2

Latência: 4-4-4-12-16 Disco Rígido: Fujitsu MHW2080BH PL ATA 80GB Sata 5400 RPM

DVD/CD-ROM: Pioneer DVDRW DVR-K17 ATA

Interface de rede Wired: Intel Pro/100 VE 10/100 Mbps

Interface de rede Wireless: Broadcom 802.11 g Sistema Operacional: Windows Server 2008 Enterprise Service Pack l de 32 bits

Aplicações: Máquina Virtual Java: Java 6 Standard Edition versão 6 update 16 (buid 1.6.0-16 – b01);

Ferramenta monitoria (Sniffer) – Packetyzer 5.0;

Ferramenta medição performance de rede – Jperf 2.0.2. Computador 2: Notebook Sony Vaio – modelo VGN-NR320AH

Processador Intel Dual Core T2310 1.46GHZ – cachê L2 1MB

Tecnologia 65nm – Socket P478 – FSB 533MHZ – Bus 133MHZ

Main Board Sony – modelo Vaio

Chipset Intel GL960

Page 47: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

35

Ponte Sul Intel 8280 1HBM (ICH8-ME)

Bios Phoenix Technologias – versão R2060J9 – Data 28/02/2008

Memória: Tipo DDR-2 PC5300-333MHZ canal duplo modo simétrico

Tamanho 3072 MB – LX LO24MB / 1X 2048MB

Freqüência DRAM: 266MHZ – FSB 1:2

Latência: 4-4-4-12

Disco Rígido Toshiba MK L652GSX ATA 160GB Satã

5400 RPM.

DVD/CD-ROM: Matshita DVD-RAM UJ870QJ ATA

Interface de Rede Wired: Marvel Yukon 88E8039 PCI-E Fast Ethernet

Interface de Rede Wireless: Lan-Express AS IEEE 802.11g PCI-E

Sistema Operacional: Windows Server 2008 Enterprise Service Pack 1 de 32 bits.

Aplicações:

Máquina Virtual Java: Java 6 Standard Edition versão 6 update 16 (buid 1.6.0-16 – b01);

Ferramenta de monitoração (Sniffer) – Packetyzer 5.0;

Conexão VPN do Tipo L2TP com IPSEC com chave pré-compartilhada;

Ferramenta de medição de performance de rede – Jperf 2.0.2. Descrição do processo de avaliação Em primeiro momento foi realizada a instalação do sistema operacional Windows Server

2008 nos dois computadores utilizados no processo. A instalação dos sistemas operacionais e

demais aplicações sempre seguiram uma mesma sequência de execução. Além disso, para não

provocar interferência e obter a melhor performance possível nos resultados, fatores como

ajuste de vídeo para se ter melhor aparência, gerenciamento automático dos arquivos de

paginação e descansos de telas foram desativados. E foram habilitados, a alta performance nas

opções de energia, aceleração completa do hardware da interface de vídeo e especificação

personalizada do tamanho do arquivo de paginação da memória virtual.

Após esses ajustes nos sistemas operacionais foram configuradas as interfaces de rede de

forma que os computadores fizessem parte da mesma rede.

Page 48: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

36

Em seguida no Computador 1, foi configurado o serviço de roteamento e acesso remoto, cuja

funcionalidade é de realizar o roteamento dos datagramas e permitir acesso a conexões

discadas.

Depois de realizado os parâmetros de configuração do serviço de roteamento e acesso remoto.

Foram instalados e configurados os aplicativos Jperf na versão 2.0.2 baseado no IPERF, que é

uma ferramenta gráfica de medição de performance de rede, a máquina virtual Java standard

edition, na versão 6 atualização 16 para execução do JPERF, o Packetyzer na versão 5.0.0

para captura dos datagramas durante os testes e o WinPcap 4.0.2, para possibilitar a captura

de datagramas através do Packetyzer.

Após as configurações necessárias para avaliação dos protocolos IPv4 e IPv6, foram

realizados testes de largura de banda de duas formas. Uma gerando tráfego na rede sobre a

pilha de protocolos IPv4 sem e com os protocolos de segurança do padrão IPSEC e a outra

gerando tráfego na rede sobre pilha de protocolos IPv6 sem e com os protocolos de segurança

do IPSEC. Todas as duas formas utilizaram um arquivo de representação, para criar uma

carga na rede. Utilizamos um arquivo de formato ISO com tamanho de 700MB para o

ambiente de testes.

Para os casos que se utilizaram dos protocolos do padrão IPSEC, foram configurados no

Serviços de roteamento e acesso remoto a permissão de conexões de VPN do tipo L2TP e

uma chave pré-compartilhada para as conexões discadas. Para certificar que os computadores

estavam usando os protocolos de segurança durante os testes com IPSEC utilizamos o

Packetyzer para captura dos datagramas. Através deste aplicativo foi possível visualizar os

cabeçalhos ESP utilizados na cifragem da carga de dados.

No computador 2 foram instalados e configurados os mesmos aplicativos descritos na

ambiente do computador 1, com exceção dos serviços de Roteamento e Acesso Remoto.

Foi criado uma conexão VPN (Rede Privada Virtual), para acesso aos serviços do computador

1. Nas propriedades desta conexão, na aba “Networking” no item “Tipo de VPN”, foi

selecionado “L2TP IPSEC VPN”. Por ser o tipo de VPN que implementa o padrão IPSEC.

Nesta mesma aba, no botão “Configurações IPSEC”, habilitamos o uso de chave pré-

compartilhada e inserimos a mesma chave que os serviços de roteamento e acesso remoto do

computador 1 conhece. Em seguida abrimos a conexão e inserimos um nome de usuário e

Page 49: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

37

senha conhecidos pelos serviços do computador 1 e com permissão para acesso remoto. Logo

após o sucesso da conexão verificamos através da ferramenta “ipconfig” no prompt de

comando o endereço IP adquirido pelos serviços de Roteamento e Acesso Remoto. Logo

após, utilizamos o aplicativo JPERF tanto no Computador 1 quanto no Computador 2, porém

no Computador 1 executamos o aplicativo no modo servidor e no Computador 2 no modo

cliente. Estando o JPERF nos dois computadores em execução, clicamos no botão “Run

IPERF” e verificamos a performance em andamento do ponto de vista da taxa de

transferência.

Avaliação dos Resultados Obtidos Avaliação de largura de banda

Nesta avaliação podemos determinar qual a quantidade de dados que trafega na rede em um

determinado espaço de tempo. Desta forma verificamos entre os protocolos qual possui

melhor desempenho na taxa de transferência de dados, como mostra o Gráfico 3 abaixo:

Gráfico 3 - Desempenho da largura de banda

Page 50: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

38

CONSIDERAÇÕES FINAIS A migração para a nova versão do protocolo IP, é inevitável, porém esta transição deve

ocorrer de forma gradual e transparente aos usuários. É de grande importância que o

conhecimento sobre o protocolo IPv6, seja divulgado para que a migração obtenha sucesso.

Com a implantação do IPv6, várias questões relacionadas a segurança puderam ser

melhoradas. O suporte ao padrão IPSec passou a ser obrigatório e implementado através de

cabeçalhos de extensão. Como visto, passou-se a não ser adotado o NAT, permitindo uma

utilização completa do IPSec.

No experimento científico realizado, ficou evidente a performance superior dos protocolos de

segurança do IPSec sobre o protocolo IPv6, no quesito largura de banda, atingindo taxas de

transferências até 20% superior ao seu antecessor, o IPv4.

TRABALHOS FUTUROS

Como trabalhos futuros realizaremos a análise de desempenho do IPSec com os protocolos

Ipv4 e Ipv6 na plataforma Linux, no quesito largura de banda, com intuito de comparar a

performance entre as plataformas.

Além disso, realizaremos análise da performance de aplicações VoIP (Voz sobre IP)

utilizando serviços de segurança, de modo a se certificar que as comunicações de Voz não

irão sofrer um impacto significativo sobre o protocolo IPv6, a ponto de inviabilizar o fluxo de

voz, por conta da ocorrência de delay, jitter, perda de pacotes e etc.

Page 51: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

39

REFERÊNCIAS BIBLIOGRÁFICAS Rede Nacional de Ensino e Pesquisa. A RNP e a história da Internet brasileira. Disponível em < http://www.rnp.br/noticias/imprensa/2002/not-imp-marco2002.html > Acesso em 30 nov. 2009. SILVA, Adilton J. S. Rede Nacional de Ensino e Pesquisa. Arquitetura IP Security – Parte 1. Disponível em < http://www.rnp.br/newsgen/9907/ipsec3.html > Acesso em 30 nov. 2009. Comitê Gestor da Internet no Brasil. Disponível em < http://cgi.br > Acesso em 04 dez. 2009. Núcleo de Informação e Coordenação do Ponto BR. Disponível em < http://nic.br > Acesso em 04 dez. 2009. Portal de Transição a IPv6 da América Latina e Caribe. Disponível em < http://portalipv6.lacnic.net/pt-br > Acesso em 25 nov. 2009. The Internet Engineering Task Force (IETF). The Recomendation for the IP Next Generation Protocol. Disponível em < http://tools.ietf.org/html/rfc1752.html > Acesso em 22 out. 2009. The Internet Engineering Task Force (IETF). Internet Protocol, Version 6 (IPv6) Specification. Disponível em < http://tools.ietf.org/html/rfc2460.html > Acesso em 22 out. 2009. The Internet Engineering Task Force (IETF). DNS Extensions to Support IP Version 6. Disponível em < http://tools.ietf.org/html/rfc3596.html > Acesso em 22 out. 2009. The Internet Engineering Task Force (IETF). Basic Transition Mechanisms for IPv6 Hosts and Routers. Disponível em < http://tools.ietf.org/html/rfc4213.html > Acesso em 22 out. 2009. The Internet Engineering Task Force (IETF). IP Version 6 Addressing Architecture. Disponível em < http://tools.ietf.org/html/rfc4291.html > Acesso em 30 out. 2009. The Internet Engineering Task Force (IETF). Security Architecture for the Internet Protocol. Disponível em < http://tools.ietf.org/html/rfc4301.html > Acesso em 30 out. 2009. The Internet Engineering Task Force (IETF). IP Authentication Header. Disponível em < http://tools.ietf.org/html/rfc4302.html > Acesso em 30 out. 2009. The Internet Engineering Task Force (IETF). Domain Name System (DNS) Case Insensitivity Clarification. Disponível em < http://tools.ietf.org/html/rfc4343.html > Acesso em 30 out. 2009. The Internet Engineering Task Force (IETF). IPv6 Stateless Address Autoconfiguration. Disponível em < http://tools.ietf.org/html/rfc4862.html > Acesso em 30 nov. 2009. The Internet Engineering Task Force (IETF). IP Payload Compression Protocol (IPComp). Disponível em < http://tools.ietf.org/html/rfc2393.html > Acesso em 30 nov. 2009.

Page 52: Introdução ao IPv6 e Desempenho do IPSec com IPv4 e IPv6

40

The Internet Engineering Task Force (IETF). The Internet Key Exchange (IKE). Disponível em < http://tools.ietf.org/html/rfc2409.html > Acesso em 30 nov. 2009. The Internet Engineering Task Force (IETF). Internet Security Association and Key Management Protocol (ISAKMP). Disponível em < http://tools.ietf.org/html/rfc2408.html > Acesso em 30 nov. 2009. The Internet Engineering Task Force (IETF). The OAKLEY Key Determination Protocol. Disponível em < http://tools.ietf.org/html/rfc2412.html > Acesso em 30 nov. 2009. Bill Cheswicks. The Internet Mapping Project. Disponível em < http://www.cheswick.com/ches/map/index.html > Acesso em 04 dez. 2009. MIRANDA, Ivana Cardial, Grupo de TeleInformática e Automação. VPN – Rede Privada Virtual. Disponível em < http://www.gta.ufrj.br/seminarios/semin2002_1/Ivana/ > Acesso em 04 dez. 2009.

FERREIRA, Douglas de Oliveira, Universidade Católica de Brasília. IPv6. Disponível em < http://www.ucb.br/prg/professores/maurot/ra/RA_arqs/conteudo_web/ipv6/index.html > Acesso em 04 dez. 2009.

PINHEIRO, José M. Santos, Projeto de Redes. Redes Privadas Virtuais. Disponível em < http://www.projetoderedes.com.br/tutoriais/tutorial_vpn_01.php > Acesso em 05 dez. 2009. BALLESTEROS, Heric M. Santos, Universidade Federal do Rio de Janeiro. Redes Privadas Virtuais. Disponível em < http://www.gta.ufrj.br/grad/08_1/vpn/ > Acesso em 05 dez. 2009. ROTOLE, Erick Dantas, Universidade de Brasília. Arquitetura IP Security. Disponível em < http://www.cic.unb.br/~pedro/trabs/ipsec.pdf > Acesso em 05 dez. 2009. BORGES, Fábio, Laboratório Nacional de Computação e Ciência. VPN: Protocolos e Segurança. Disponível em < http://www.lncc.br/~borges/doc/VPN%20Protocolos%20e%20Seguranca.pdf > Acesso em 05 dez. 2009. MARTINS, Dêner L. Fernandes, Universidade de Brasília. Redes Privadas Virtuais com IPSec. Disponível em < http://www.cic.unb.br/docentes/pedro/trabs/vpn.pdf > Acesso em 05 dez. 2009.