Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo...

167
Pós-Graduação em Ciência da Computação “PMIPFlow: Uma proposta para gerenciamento de mobilidade em redes definidas por software” Por Edson Adriano Maravalho Avelar Dissertação de Mestrado Universidade Federal de Pernambuco [email protected] www.cin.ufpe.br/~posgraduacao RECIFE, ABRIL/2013

Transcript of Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo...

Page 1: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

Pós-Graduação em Ciência da Computação

“PMIPFlow: Uma proposta para gerenciamento

de mobilidade em redes definidas por software”

Por

Edson Adriano Maravalho Avelar

Dissertação de Mestrado

Universidade Federal de Pernambuco

[email protected]

www.cin.ufpe.br/~posgraduacao

RECIFE, ABRIL/2013

Page 2: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

UNIVERSIDADE FEDERAL DE PERNAMBUCO

CENTRO DE INFORMÁTICA

PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

EDSON ADRIANO MARAVALHO AVELAR

“PMIPFlow: Uma Proposta para Gerenciamento de Mobilidade em Redes Definidas por Software "

ESTE TRABALHO FOI APRESENTADO À PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO DO CENTRO DE INFORMÁTICA DA UNIVERSIDADE FEDERAL DE PERNAMBUCO COMO REQUISITO PARCIAL PARA OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIA DA COMPUTAÇÃO.

ORIENTADOR(A): Kelvin Lopes Dias

RECIFE, ABRIL/2013

Page 3: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

Catalogação na fonte

Bibliotecária Jane Souto Maior, CRB4-571

Avelar, Edson Adriano Maravalho PMIPFlow: uma proposta para gerenciamento de mobilidade em redes definidas por software. / Edson Adriano Maravalho Avelar. - Recife: O Autor, 2013. xxvii, 139 p.: fig., tab. Orientador: Kelvin Lopes Dias.

Dissertação (mestrado) - Universidade Federal de Pernambuco. CIn, Ciência da Computação, 2013.

Inclui bibliografia e apêndice. 1. Redes de computadores. 2. Sistemas distribuídos. I. Dias, Kelvin Lopes (orientador). II. Título. 004.6 CDD (23. ed.) MEI2013 – 048

Page 4: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

Dissertação de Mestrado apresentada por Edson Adriano Maravalho Avelar à Pós-

Graduação em Ciência da Computação do Centro de Informática da Universidade Federal

de Pernambuco, sob o título “PMIPFlow: Uma Proposta para Gerenciamento de

Mobilidade em Redes Definidas por Software” orientada pelo Prof. Kelvin Lopes

Dias e aprovada pela Banca Examinadora formada pelos professores:

______________________________________________

Prof. Paulo Roberto Freire Cunha

Centro de Informática / UFPE

______________________________________________

Prof. Marco Antonio de Oliveira Domingues

Depto. Acadêmico de Sistemas Eletro-Eletronicos / IFPE

_______________________________________________

Prof. Kelvin Lopes Dias

Centro de Informática / UFPE

Visto e permitida a impressão.

Recife, 1 de março de 2013

___________________________________________________

Profa. Edna Natividade da Silva Barros Coordenadora da Pós-Graduação em Ciência da Computação do

Centro de Informática da Universidade Federal de Pernambuco.

Page 5: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

Dedico esta dissertação à toda minha família e em especial

minha esposa Lorena.

Page 6: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade
Page 7: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

Agradecimentos

Gostaria de agradecer primeiramente a Deus, que me deu o dom da vida e saúde paraconcluir este trabalho.

Ao meu orientador, Kelvin Dias, que sempre me ajudou e me deu a oportunidade derealizar o sonho de concluir o mestrado. Sem ele, a realização deste trabalho não seriapossível.

Agradeço à minha família, meus pais Baltasar e Marinete e meus irmãos Umbelino eKarine, que sempre me deram apoio, com muito amor e carinho em tudo que fiz.

E, em especial, minha esposa Lorena que sempre foi minha companheira nos momen-tos bons e ruins de minha vida.

Muito obrigado pelos esforços de todos, pois sem esse apoio não seria capaz de chegaronde cheguei.

vii

Page 8: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade
Page 9: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

"O único lugar onde sucesso vem antes de trabalho é no dicionário"

—ALBERT EINSTEIN

Page 10: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade
Page 11: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

Resumo

Apesar do enorme sucesso da Internet, a comunidade científica tem apontado dificuldadesem promover inovação e buscar soluções para os novos desafios nas redes tradicionais,tais como a mobilidade, qualidade de serviço (QoS) e qualidade de experiência (QoE).Atualmente, os requisitos para usuários móveis e aplicações multimídia são incorporadosnas redes, mas com limitações, através de constantes incrementos/remendos na pilhaTCP/IP (Transmission Control Protocol/Internet Protocol). Assim, a pesquisa sobrearquitetura para Internet do Futuro (FI) chegou a um impasse, ao qual convencionou-sedenominar de engessamento da Internet.

Com a proliferação de smartphones, tablets e uma infinidade de dispositivos/sensoresconectados à Internet, embarcados em veículos (carros, ônibus etc.) ou robôs (porexemplo, para monitoramento ambiental, de tráfego e energia, além da segurança doscidadãos), há necessidade de um gerenciamento de mobilidade eficiente e escalável, afim de garantir tanto a obtenção das informações coletadas por objetos/sensores móveisconectados às redes sem fio nas futuras cidades inteligentes, quanto para permitir acontinuidade do serviço para usuários móveis.

Nas pesquisas sobre arquiteturas para Internet do Futuro, a academia e a indústriaestão apostando nas redes definidas por software (SDN/Software-Defined Networks) e,particularmente, na plataforma OpenFlow. Essas tecnologias surgem para auxiliar nassoluções dos problemas supracitados e são alvo de muitas pesquisas em arquiteturaspara Internet do Futuro. Na filosofia SDN, o plano de controle é separado do plano dedados dentro dos comutadores, fornecendo, desta forma, programabilidade e flexibilidadepara as redes, e permitindo extensão e inovação. No entanto, ainda não há uma soluçãoconsolidada para mobilidade do terminal em arquiteturas SDN.

Esta dissertação propõe e avalia uma nova arquitetura de gerenciamento de mobilidadebaseada em SDN para a Internet do Futuro. A proposta é implementada em um testbed

OpenFlow/802.11(Wi-Fi). Além disso, a fim de proporcionar mobilidade transparente(seamless), é desenvolvido um mecanismo de decisão de handover (mudança de ponto deacesso) baseado na lógica fuzzy. Os resultados de desempenho demonstram a eficáciada proposta no fornecimento de mobilidade transparente e continuidade de serviço aousuário, bem como o suporte adequado para os requisitos de tráfego de vídeo em termosde métricas de QoS/QoE.

Palavras-chave: OpenFlow, Redes Definidas por Software, Gerenciamento de Mobili-dade, PMIP, Virtualização de Redes, Redes Móveis Programáveis.

xi

Page 12: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade
Page 13: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

Abstract

Despite the huge success of the Internet, the research community has pointed out diffi-culties in promoting innovation in the network and solutions to the new challenges suchas mobility support and quality of experience (QoE). Currently, those requirements formobile users and multimedia applications are incorporated, but with limitations, into thenetworks through patches to the TCP/IP stack. Thus, the research on Future Internet (FI)architectures has reached an impasse, commonly known as the Internet ossification.

Concomitantly, the proliferation of smartphones, tablets and plethora of devices orsensors connected to the Internet, embedded into vehicles or inside robots (e.g., forenvironmental, traffic, energy monitoring and citizen security), requires scalable andefficient mobility management in order to grant the service continuity for both the mobileusers as well as the decision makers of future smart cities which may benefit from mobilenetworks.

Toward the Future Internet, the academia and industry are betting on the so calledSoftware Defined Networks (SDNs) and, particularly, OpenFlow platform. They ariseto assist on solutions to the aforementioned issues and are the mainstream of manyresearches on Future Internet architectures. SDNs philosophy separates the control fromdata plane of network switches, thus permitting programmability and flexibility into thenetwork. However, there is still no consolidated solution to terminal mobility in SDNs.

This dissertation proposes and evaluates a novel SDN based mobility managementarchitecture for Future Internet. The proposal is implemented in an OpenFlow/802.11testbed. In order to provide seamless mobility, a handover (change of access point)decision mechanism based on a fuzzy system is developed. The performance resultsdemonstrated the effectiveness of the proposal in providing seamless mobility e servicecontinuity, as well as the adequate support to the video traffic requirements in terms ofQoS/QoE metrics.

Keywords: OpenFlow, Software-Defined Network, Mobility Management, PMIP,Network Virtualization, Programable Mobile Networks.

xiii

Page 14: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade
Page 15: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

Conteúdo

Lista de Figuras xix

Lista de Tabelas xxi

Lista de Acrônimos xxiii

1 Introdução 11.1 Objetivos da Pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . 3

2 Trabalhos Relacionados 52.1 Mobilidade e PMIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Mobilidade em redes OpenFlow . . . . . . . . . . . . . . . . . . . . . 10

2.3 Antecipação de Handover em redes IP . . . . . . . . . . . . . . . . . . 11

2.4 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Redes Definidas por Software e OpenFlow 153.1 Necessidade de uma Nova Arquitetura . . . . . . . . . . . . . . . . . . 15

3.2 Redes Definidas por Software . . . . . . . . . . . . . . . . . . . . . . 17

3.3 OpenFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.4 Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.4.1 NOX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.5 Virtualização e Criação de Fatias (Slices) . . . . . . . . . . . . . . . . . 21

3.6 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4 Gerenciamento de Mobilidade 254.1 Localização e Handover . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.2 Gerenciamento de Mobilidade com IPv6 . . . . . . . . . . . . . . . . . 27

4.2.1 Endereçamento IPv6 . . . . . . . . . . . . . . . . . . . . . . . 27

4.3 MIPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.3.1 Visão Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.3.2 Fluxo de Mensagens . . . . . . . . . . . . . . . . . . . . . . . 29

4.3.3 Detecção de Movimentos . . . . . . . . . . . . . . . . . . . . . 31

4.3.4 Estrutura de Dados . . . . . . . . . . . . . . . . . . . . . . . . 32

xv

Page 16: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

4.3.5 Modificações ao IPv6 . . . . . . . . . . . . . . . . . . . . . . . 33

4.4 Proxy MIPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.4.1 Visão Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.4.2 Fluxo de Mensagem do PMIPv6 . . . . . . . . . . . . . . . . . 35

4.4.2.1 Conexão . . . . . . . . . . . . . . . . . . . . . . . . 36

4.4.2.2 Handover . . . . . . . . . . . . . . . . . . . . . . . 37

4.4.3 Estruturas de Dados . . . . . . . . . . . . . . . . . . . . . . . 39

4.4.4 Comparação entre MIPv6 e PMIPv6 . . . . . . . . . . . . . . . 40

4.5 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5 Arquitetura PMIPFlow 435.1 Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.2 Sinalização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.2.1 Conexão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.2.2 Handover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.3 Implementação do PMIPFlow . . . . . . . . . . . . . . . . . . . . . . 49

5.3.1 Visão Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.3.2 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.3.3 Origem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.3.4 Pré-Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.3.5 Estrutura do Programa . . . . . . . . . . . . . . . . . . . . . . 51

5.3.5.1 Subsistema de Comunicação com o Kernel . . . . . . 51

5.3.5.2 Sequência de Execução . . . . . . . . . . . . . . . . 52

5.3.6 Configuração do PMIPFlow . . . . . . . . . . . . . . . . . . . 54

5.3.7 Modo de Operação OMAG . . . . . . . . . . . . . . . . . . . . 55

5.3.7.1 Detecção de Movimento . . . . . . . . . . . . . . . . 56

5.3.8 Modo de Operação PMIPFlow-LMA . . . . . . . . . . . . . . 57

5.4 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

6 Proposta de Antecipação de Handover 596.1 Sistema PMIPFlow(Fuzzy) . . . . . . . . . . . . . . . . . . . . . . . . 60

6.2 Variáveis de Entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

6.3 Conjuntos Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6.4 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

xvi

Page 17: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

7 Protótipo 697.1 Entidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

7.1.1 OMAG (OpenFlow MAG) . . . . . . . . . . . . . . . . . . . . 70

7.1.2 Gateway OpenFlow . . . . . . . . . . . . . . . . . . . . . . . . 72

7.1.3 Switch OpenFlow (Indigo) . . . . . . . . . . . . . . . . . . . . 74

7.1.4 FlowVisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

7.1.5 LMA-NOX/PMIPFlow-LMA . . . . . . . . . . . . . . . . . . 75

7.1.6 CN/Servidor de Streamming de Video . . . . . . . . . . . . . . 76

7.1.7 Mobile Node . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

7.1.8 Ambiente de Testes . . . . . . . . . . . . . . . . . . . . . . . . 78

7.2 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

8 Avaliação 798.1 Ambiente de Teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

8.2 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

8.3 Teste de Capacidade . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

8.4 Avaliação de Qualidade de Serviço . . . . . . . . . . . . . . . . . . . . 83

8.5 Avaliação da Qualidade de Experiência . . . . . . . . . . . . . . . . . 90

8.5.1 Avaliação do PSNR . . . . . . . . . . . . . . . . . . . . . . . . 90

8.5.2 Avaliação do SSIM . . . . . . . . . . . . . . . . . . . . . . . . 95

8.6 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

9 Conclusão 1019.1 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

9.2 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

9.3 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Referências Bibliográficas 105

Apêndices 111

A Scripts 113A.1 Hostapd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

A.2 NTP.sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

A.3 PMIPFlowSetup.sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

A.4 PMIPFlowInit.sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

A.5 ofdatapathX.sh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

xvii

Page 18: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

A.6 PMIPFlow-LMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

B Instalação 135B.1 FlowVisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135B.2 Recompilar o Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

B.2.1 Linux em AP mode . . . . . . . . . . . . . . . . . . . . . . . . 139

xviii

Page 19: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

Lista de Figuras

3.1 Arquitetura SDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2 Arquitetura OpenFlow . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.3 Criação de fatias centradas no usuário . . . . . . . . . . . . . . . . . . 22

3.4 Cenário de funcionamento do FlowVisor . . . . . . . . . . . . . . . . . 22

4.1 Modos de Funcionamento do MIPv6 . . . . . . . . . . . . . . . . . . . 30

4.2 Fluxo de Mensagens do Protocolo MIP . . . . . . . . . . . . . . . . . . 31

4.3 Cabeçalho de Mobilidade . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.4 Visão Geral do PMIPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.5 Fluxo de Mensagens no início da conexão de um MN . . . . . . . . . . 36

4.6 Fluxo de Mensagens durante o handover . . . . . . . . . . . . . . . . . 38

5.1 Arquitetura PMIPFlow . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.2 Sinalização de Conexão no Domínio PMIPFlow . . . . . . . . . . . . . 46

5.3 Sinalização de Handover dentro do Domínio PMIPFlow . . . . . . . . 48

6.1 Representação do Sistema Fuzzy . . . . . . . . . . . . . . . . . . . . . 61

6.2 Saída da ferramenta IPTraf . . . . . . . . . . . . . . . . . . . . . . . . 63

6.3 Saída da ferramenta ping6 destacando-se o RTT do pacote . . . . . . . 63

6.4 Saida da ferramenta iwconfig . . . . . . . . . . . . . . . . . . . . . . 64

6.5 Grau de pertinência para a entrada RTT . . . . . . . . . . . . . . . . . 65

6.6 Grau de pertinência para a entrada Vazão . . . . . . . . . . . . . . . . 65

6.7 Grau de pertinência para a entrada RSS . . . . . . . . . . . . . . . . . 66

6.8 Saída do Sistema Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . 67

7.1 Entidades de prototipação da arquitetura PMIPFlow . . . . . . . . . . . 70

7.2 Placa Sem-Fio PCI TP-Link . . . . . . . . . . . . . . . . . . . . . . . 71

7.3 Máquina Física onde são instalados os OMAGs . . . . . . . . . . . . . 71

7.4 Rack do núcleo do testbed . . . . . . . . . . . . . . . . . . . . . . . . 73

7.5 Visão do Gateway OpenFlow no Hypervisor vSphere . . . . . . . . . . 74

7.6 Interface WEB de configuração do Indigo/PMIPFlow . . . . . . . . . . 74

7.7 PMIPFlow-LMA executando no NOX . . . . . . . . . . . . . . . . . . 76

7.8 Printscreen do Servidor de Vídeo (CN (Correspondent Node)) . . . . . 77

7.9 Criando um Servidor de Video no VLC . . . . . . . . . . . . . . . . . 77

7.10 Ambiente de teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

xix

Page 20: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

8.1 Planta baixa do ambiente de teste . . . . . . . . . . . . . . . . . . . . . 808.2 Mapeamento da intensidade do sinal no ambiente de teste para o OMAG1 808.3 Mapeamento da intensidade do sinal no ambiente de teste para o OMAG2 818.4 Movimentação do MN no ambiente de teste . . . . . . . . . . . . . . . 828.5 Teste de capacidade da rede sem fio . . . . . . . . . . . . . . . . . . . 828.6 Gráfico de atraso dos pacotes . . . . . . . . . . . . . . . . . . . . . . . 838.7 Intervalo dos dados de atraso de pacotes . . . . . . . . . . . . . . . . . 848.8 Vazão do tráfego UDP limitado à 10Mbps . . . . . . . . . . . . . . . . 858.9 Intervalo da Média da Vazão do tráfego UDP limitado à 10Mbps . . . . 868.10 Vazão do tráfego UDP limitado à 20Mbps . . . . . . . . . . . . . . . . 878.11 Intervalo da Média da Vazão do tráfego UDP limitado à 20Mbps . . . . 878.12 Gráfico em barra da porcentagem de Perdas de Pacotes . . . . . . . . . 888.13 Gráfico em linha dos dados da porcentagem de Perdas de Pacotes . . . . 898.14 Gráfico de intervalo de variação dos dados da porcentagem de Perdas de

Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898.15 Comparação entre o PSNR do vídeo 160x90 com e sem a proposta . . . 918.16 Intervalo do PSNR do vídeo 160x90 com e sem a proposta . . . . . . . 928.17 Comparação entre o PSNR do vídeo 320x180 com e sem a proposta . . 938.18 Intervalo do PSNR do vídeo 320x180 com e sem a proposta . . . . . . 938.19 Comparação entre o PSNR do vídeo 640x360 com e sem a proposta . . 948.20 Intervalo do PSNR do vídeo 640x360 com e sem a proposta . . . . . . 958.21 Comparação entre o SSIM do vídeo 160x90 com e sem a proposta . . . 968.22 Intervalo do dados de SSIM do vídeo 160x90 com e sem a proposta . . 968.23 Comparação entre o SSIM do vídeo 320x180 com e sem a proposta . . 978.24 Intervalo do dados de SSIM do vídeo 320x180 com e sem a proposta . . 978.25 Comparação entre o SSIM do vídeo 640x360 com e sem a proposta . . 988.26 Intervalo dos dados de SSIM do vídeo 640x360 com e sem a proposta . 988.27 Frame 598 no instante do handover com o PMIPFlow e com o PMIP-

Flow(Fuzzy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

xx

Page 21: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

Lista de Tabelas

3.1 Controladores OpenFlow . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.1 Comparação entre MIPv6 e PMIPv6 . . . . . . . . . . . . . . . . . . . 40

6.1 Resultados do Experimento PSNR/Distância . . . . . . . . . . . . . . . 666.2 Valores de Classificação do PSNR . . . . . . . . . . . . . . . . . . . . 666.3 Regras de Inferência . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

8.1 Estatística descritiva para o atraso dos pacotes . . . . . . . . . . . . . . 858.2 Estatística descritiva para vazão de 10Mbps . . . . . . . . . . . . . . . 868.3 Estatística descritiva para vazão de 20Mbps . . . . . . . . . . . . . . . 888.4 Estatística descritiva para Porcentagem de Perdas de Pacotes . . . . . . 908.5 Valores de Classificação do PSNR . . . . . . . . . . . . . . . . . . . . 918.6 Vídeos utilizados nos testes . . . . . . . . . . . . . . . . . . . . . . . . 918.7 PSNR do vídeo com resolução 160x90 . . . . . . . . . . . . . . . . . . 928.8 PSNR do vídeo com resolução 320x180 . . . . . . . . . . . . . . . . . 938.9 PSNR do vídeo com resolução 640x360 . . . . . . . . . . . . . . . . . 958.10 Resumo dos dados de SSIM para todas as resoluções de vídeo. . . . . . 99

xxi

Page 22: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade
Page 23: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

Lista de Acrônimos

3GPP 3rd Generation Partnership Project

AAA Authentication, Authorization and Accounting

AP Access Point

API Application Programming Interface

BA Binding Ack

BC Binding Cache

BCE Binding Cache Entry

BRR Binding Refresh Request

BU Binding Update

BUL Binding Update List

CDMA Code Division Multiple Access

cMAG current MAG

CN Correspondent Node

CoA Care of Address

CoT Care of Test

CoTI Care of Test Init

DHAAD Dynamic Home Agent Address Discovery

DHCP Dynamic Host Configuration Protocol

DoS Denial of Service

DSS Darwin Streaming Server

EDGE Enhanced Data for GSM Evolution

EPFMIPv6 Enhanced Fast Handover for PMIPv6

xxiii

Page 24: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

FA Foreign Agent

FLPMIPv6 Fast Localized PMIPv6

FMIP Fast Handover MIP

FMIPv6 Fast Handover MIPv6

GPRS General Packet Radio Service

GPS Global Positioning System

GSM Global System for Mobile Communications

HA Home Agent

HI Handover Initiate

HMIP Hierarchical MIP

HNP Home Network Prefix

HoA Home-of Address

HoT Home Test

HoTI Home Test Init

HSDPA High-Speed Downlink Packet Access

ICMP Internet Control Message Protocol

ICMPv6 ICMP IPv6

IETF Internet Engineering Task Force

IODS Indigo Open Development System

IP Internet Protocol

IPv4 Internet Protocol version 4

IPv6 Internet Protocol version 6

ISP Internet Service Provider

xxiv

Page 25: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

LAN Local Area Network

LMA Local Mobility Anchor

LTE Long Term Evolution

MAG Mobility Access Gateway

MIH Media-Independent Handover

MIP Mobile IP

MIPv6 Mobile IPv6

MLD Multicast Listener Discovery

MNid Mobile Node Identifier

MN Mobile Node

MNPP Mobile Node Policy Profile

MOS Mean Opinion Score

MSU Video Quality Measurement Tool

NA Neighbor Advertisement

NAT Network Address Translation

ND Neighbor Discovery

NetLMM Network-Based Localized Mobility Management

nMAG new MAG

NS-2 Network Simulator version 2

NS Neighbor Solicitation

NTP Network Time Protocol

OMAG Openflow Mobility Access Gateway

PBA Proxy Binding Ack

xxv

Page 26: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

PBU Proxy Binding Update

PFMIPv6 Fast Handover for PMIPv6

PIS Proxy Information Server

pMAG previous MAG

PMIP Proxy Mobile IP

PMIPv6 Proxy Mobile IPv6

PSNR Peak Signal to Noise Ratio

QoE Quality of Experience

QoS Quality of Service

RADIUS Remote Authentication Dial In User Service

RA Router Advertisement

RO Route Optimization

RS Router Solicitation

RSS Received Signal Strength

RTP Real Time Protocol

RTSP Real Time Streaming Protocol

SDN Software Defined Network

SSIM Structural Similarity Index

SSL Secure Sockets Layer

UMTS Universal Mobile Telecommunication System

VLAN Virtual Local Area Network

VLC Video LAN

VQEG Video Quality Experts Group

xxvi

Page 27: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

Wi-Fi Wireless Fidelity

WiMAX Worldwide Interoperability for Microwave Access

WLAN Wireless LAN

xxvii

Page 28: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade
Page 29: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

1Introdução

"Seja a mudança que você quer ver no mundo."

—DALAI LAMA

Com o crescimento do número de smartphones e de iniciativas open-source, estamossaindo de um cenário onde o ecossistema de serviços e infraestrutura era fechado eproprietário e passa a ser aberto e livre (Yap et al., 2010b). Entretanto, no contextode infraestrutura e equipamentos de rede, as soluções, em geral, permanecem fechadase proprietárias em função das estratégias de mercado dos principais fabricantes, bemcomo, pela manutenção da operação ininterrupta das redes de produção e ISPs (Internet

Service Providers) que são relutantes a modificações. Dessa forma, novos requisitos sãoincorporados à pilha TCP/IP (Transmission Control Protocol/Internet Protocol) por meiode remendos. Isto cria um impasse, comumente chamado de engessamento da Internete torna as redes complexas, de difícil gerenciamento, não extensíveis e fechada parainovação (Chowdhury and Boutaba, 2009).

Neste contexto, as redes definidas por software, SDN (Software Defined Network)(McKeown et al., 2008), surgem como a tecnologia chave para promover a inovaçãodas redes cabeadas e sem fio. A ideia do conceito SDN é separar claramente o plano dedados do plano de controle. Desta forma, é possível usufruir de várias vantagens, comodispor de um controle maior da rede, de monitoramento eficiente e de um controladorcom gerenciamento local ou remoto de todos os elementos da rede através de aplicações,da mesma forma como é feito com softwares para desktop, daí a denominação conferidaa este novo conceito.

Outra tecnologia importante neste processo é a virtualização. No sentido amplo emcomputação, a virtualização é uma estratégia para resolver muitos problemas e criar

1

Page 30: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 1. INTRODUÇÃO

novos serviços. Por exemplo, para hosts individuais, a virtualização permite que umúnico computador realize o trabalho de muitos outros através do compartilhamento deseus recursos entre vários ambientes virtuais. Já servidores virtuais permitem hospedarmúltiplos sistemas operacionais e aplicações. No caso da virtualização de redes, recursospodem ser divididos em fatias, considerando cada roteador como um elemento que podeser virtualizado. Em suma, um roteador pode executar múltiplas instâncias e, desse modo,o substrato físico, a rede, pode executar múltiplas topologias virtuais (Sherwood et al.,2009).

A virtualização surge para revolver vários problemas; como escalabilidade, segurança,portabilidade, redução de custos, aumento da eficiência energética, confiabilidade, entreoutros. Isso porque ela desacopla a função executada por um sistema de sua partefísica. A virtualização de redes pode ser alcançada através de várias formas, utilizandomáquinas virtuais como roteadores ou por meio de redes programáveis, como é feito como OpenFlow (McKeown et al., 2008).

O OpenFlow é um padrão aberto que permite a criação de redes virtuais utilizando so-mente recursos de camada 2 (L2/Layer 2), normalmente implementadas por comutadores(switches) Ethernet, com tabelas de encaminhamento internas e uma interface padrão paraadicionar e remover entradas de fluxos. Assim, torna-se viável testes de novos protocolosem larga escala, usando os recursos das próprias redes de produção (McKeown et al.,2008).

A utilização das redes sem fio em cenário SDN ainda está em um estágio inicial.Com a proliferação de smartphones, tablets e uma infinidade de dispositivos/sensoresconectados à Internet, embarcados em veículos (carros, ônibus etc.) ou robôs (porexemplo, para monitoramento ambiental, de tráfego e energia, além da segurança doscidadãos), há necessidade de um gerenciamento de mobilidade eficiente e escalável, afim de garantir tanto a obtenção das informações coletadas por objetos/sensores móveisconectados às redes sem fio, quanto para permitir a continuidade do serviço para usuáriosmóveis.

Tendo em vista a falta de soluções para o gerenciamento de mobilidade em SDN,esta dissertação propõe a arquitetura PMIPFlow, inspirada nos protocolos NetLMM (Network-Based Localized Mobility Management), como o PMIPv6 (Proxy Mobile IPv6)(Gundavelli et al., 2008a), que liberam o dispositivo móvel das funções ligadas à mobi-lidade e delegam à rede a tarefa de mudar o ponto de acesso (handover) do dispositivodecorrente de sua movimentação e/ou devido à busca por melhores canais.

Este trabalho propõe e avalia uma nova arquitetura de gerenciamento de mobilidade

2

Page 31: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

1.1. OBJETIVOS DA PESQUISA

baseada em SDN para a Internet do Futuro. A proposta é implementada em um testbed

OpenFlow/802.11(Wi-Fi). Além disso, a fim de proporcionar mobilidade transparente(seamless), é desenvolvido um mecanismo de decisão de handover (mudança de pontode acesso) baseado na lógica fuzzy (Klir and Yuan, 1995). Os resultados de desempenhodemonstram a eficácia da proposta no fornecimento de mobilidade transparente/continui-dade de serviço ao usuário, bem como o suporte adequado para os requisitos de tráfegode vídeo em termos de métricas de QoS (Quality of Service) (Firoiu et al., 2002) e QoE (Quality of Experience) (Winkler and Mohandas, 2008).

1.1 Objetivos da Pesquisa

A seguir, serão apresentados os objetivos geral e específicos da pesquisa desenvolvidanesta dissertação.

1.1.1 Objetivo Geral

O objetivo geral é desenvolver uma arquitetura para o gerenciamento de mobilidade emredes definidas por software. Com isso, os benefícios da programabilidade de redesserão também estendidos para redes sem fio. Além disso, para garantir transferênciatransparente de terminal, outro objetivo é desenvolver um sistema para auxiliar na tomadade decisão do handover.

1.1.2 Objetivos Específicos

• Realizar pesquisas em gerenciamento de mobilidade no contexto de redes definidaspor software.

• Estudar o processo de handover em redes OpenFlow.

• Realizar um levantamento bibliográfico sobre o estado da arte das soluções relacio-nadas com o tema em questão.

• Estudar todos os conceitos por trás da filosofia SDN, como protocolo OpenFlow,slices ou fatias, controlador entre outros.

• Caracterizar e desenvolver um sistema baseado em lógica fuzzy para auxiliar natomada de decisão de handover.

• Avaliar a proposta em um testbed OpenFlow/IEEE 802.11(Wi-Fi) usando métricasde QoS e QoE.

3

Page 32: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 1. INTRODUÇÃO

Esta dissertação está dividida da seguinte forma. No Capítulo 2, são apresentados ostrabalhos relacionados à esta pesquisa. O Capítulo 3 discute a necessidade de uma novaarquitetura para as redes tradicionais. A teoria e os conceitos por trás de gerenciamento demobilidade IP serão abordados no Capítulo 4. Em seguida, no Capítulo 5, será discutidaa arquitetura do PMIPFlow, abordando desde a sinalização, conexão e handover, até suaimplementação no ambiente Linux. O Capítulo 7 foi reservado para discussões sobreo desenvolvimento do protótipo do PMIPFlow, explicando a implementação de cadaentidade da arquitetura. Para melhorar ainda mais a solução PMIPFlow, e adequá-la paraserviços de tempo real, criou-se o PMIPFlow(Fuzzy), que é uma proposta de antecipaçãode handover utilizando lógica fuzzy, essa proposta está detalhada no Capítulo 6. Aavaliação da arquitetura e da proposta PMIPFlow(Fuzzy) será discutida no Capítulo8, utilizando tanto métricas de QoS (Quality of Service) quanto de QoE (Quality of

Experience) e os resultados mostram a eficácia da proposta. Por fim, o Capítulo 9 destacaas considerações finais e discute alguns direcionamentos para trabalhos futuros.

4

Page 33: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

2Trabalhos Relacionados

"As oportunidades multiplicam-se

à medida que são agarradas"

—SUN TZU

Este capítulo apresenta os trabalhos relacionados ao PMIPFlow. Ele está divididoem três subseções. A seção 2.1 mostra alguns trabalhos relacionados ao protocoloPMIP, o qual serviu como inspiração para o PMIPFlow. A seção 2.2 aborda artigossobre gerenciamento de mobilidade em redes OpenFlow. Na seção 2.3 são discutidos ostrabalhos que abordam soluções para decisão e antecipação de handover e na seção 2.4,são apresentas as considerações finais deste Capítulo.

2.1 Mobilidade e PMIP

Esta seção abordará trabalhos relacionados ao gerenciamento de mobilidade que utilizamo PMIP como protocolo na execução do handover.

O Artigo (Obele and Kang, 2009) propõe um esquema proativo de handover sensívelao QoS. Esse esquema inclui um servidor de informações, denominado PIS (Proxy

Information Server), consultado pelas entidades da rede a fim de auxiliar na mobilidade doterminal. Quando o cMAG (current MAG) percebe que o nível de sinal do equipamento dousuário, MN (Mobile Node), está caindo, ele inicia de forma proativa o procedimento dehandover. Envia uma mensagem PBU (Proxy Binding Update) ao LMA (Local Mobility

Anchor) que consulta o servidor PIS e realiza o handover com base nas informaçõesobtidas. A ideia é trocar a sinalização de handover antes de o MN migrar efetivamentepara outro MAG (Mobility Access Gateway) a fim de reduzir o tempo da troca de MAGs.As informações sobre QoS são passadas do MAG para o LMA através da mensagem

5

Page 34: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 2. TRABALHOS RELACIONADOS

PBU.

A análise da proposta baseia-se nas trocas de mensagens durante o processo dehandover. A proposta é confrontada com o PMIPv6 padrão, a comparação é feitausando as métricas tempo de handover versus o atraso do enlace sem fio. Alguns pontosimportantes deixaram de ser explicados neste trabalho. Por exemplo, os autores nãoinformam como o PBU foi modificado para incluir informações referentes ao QoSrequerido pelo MN. O artigo menciona também a mensagem link going down do MIH (Media-Independent Handover) (Internet Engineering Task Force, 2007), porém nãodescrevem como framework foi inserido no trabalho. Talvez a avaliação de desempenhoesteja demasiadamente simples, por isso não fica muito clara a vantagem da proposta.

Em (Kim et al., 2009) é proposta uma extensão para o PMIPv6 com bicasting paraprover seamless handover, este esquema foi nomeado de B-PMIPv6. A ideia consisteno envio simultâneo de pacotes do LMA para o pMAG (previous MAG) e nMAG (new

MAG) (por isso o nome bicasting) no instante do handover. Com isso, a perda de pacotesé reduzida. A análise da proposta é feita no ns-2 em um cenário simples. O B-PMIv6 écomparado com o PMIPv6 e com o FLPMIPv6 (Fast Localized PMIPv6). O B-PMIPv6é superior pois utiliza o MIH e não usa buffer de pacotes. A latência do handover só éreduzida devida a utilização do MIH.

O trabalho (Lee and Min, 2009) apresenta um esquema utilizando o PMIPv6 paraprover seamless handover em redes IEEE 802.16e (WiMAX Móvel). O esquema propõe oacréscimo de duas mensagens da camada de enlace e 2 da camada de rede ao padrão PMIP.As mensagens são: HO-Initiate (HI), Link-Up, Fast PBU e Fast PBA (Proxy Binding

Ack). A ideia está na antecipação da mensagem PBU criando uma nova mensagem que osautores chamam de FPBU ou Fast PBU. O FBPU utiliza o endereço contido na mensagemHI (Handover Initiate) para antecipação. É utilizado um buffer no nMAG para evitar aperda de pacotes

A análise da proposta baseia-se nas trocas de mensagens durante o processo dehandover. A proposta é comparada com o PMIPv6 e com o PFMIPv6. A análise mostraque a proposta é melhor que as outras, em termos de latência do handover, isto porque amensagem FPBU é mais eficiente que a PBU.

Enquanto o PMIPv6 trabalha com o BU após o handover da camada de enlace, aproposta do artigo trabalho com o BU durante a troca nesta camada. Uma dos pontosnegativos dessa proposta é a profunda modificação necessária no padrão PMIP e autilização de buffers, que pode prejudicar tráfego sensíveis ao atraso.

Em (Choi et al., 2009) a otimização do percurso é feita somente depois do proce-

6

Page 35: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

2.1. MOBILIDADE E PMIP

dimento do handover. Na proposta do artigo a otimização é feita em conjunto com oprocedimento de handover acelerando o processo. A análise da proposta baseia-se nastrocas de mensagens durante o processo de handover. A ideia é, quanto menor o númerode mensagens mais rápido é o processo de handover. A vantagem dessa abordagem é ainicialização do handover no LMA e não no MAG, como é feita em outras proprostas.Ao invés de o pMAG avisar o LMA sobre a otimização de rotas e fazer o processo com onMAG, o LMA inicia o procedimento diretamento com o nMAG

O trabalho (Ryu et al., 2009) apresenta o PFMIPv6 (Fast Handover for PMIPv6) epropõe uma melhora do protocolo nomeada de EPFMIPv6 (Enhanced Fast Handover

for PMIPv6). A ideia é antecipar a mensagem PBU enviada do nMAG para o LMA. NoPFMIPv6 o PBU é a ultima mensagem enviada no processo, no EPFMIPv6 o PBU éenviada assim que o a mensagem HI é recebida pelo nMAG. Este processo faz com queos pacotes sejam enviadas do nMAG diretamente para o LMA, e não do nMAG para opMAG como acontece com o PFMIPv6.

A avaliação da proposta foi baseada em cima de análise matemática utilizando ummodelo de rede celular hexagonal. Para a análise são considerados os custos da transmis-são, a perda de pacotes, a latência do handover e o custo do processo de roteamento. Érealizado um cálculo de custo total somando-se os custos individuais, ao final da análise,mostrou-se que o custo no EPFMIPv6 é melhor se comparada com o PFMIPv6.

A análise matemática é baseada em fórmulas e suposições, este artigo apresenta muitobem as fórmulas utilizadas para o cálculo de latência, perdas de pacotes e custos. Porém,apesar de importante, a análise matemática, neste caso, é muito superficial e não mostrade forma clara os benefícios da proposta apresentada.

O artigo (Magagula et al., 2009) propõe a utilização do padrão IEEE 802.21 (MIH)para prover seamless handover no PMIPv6. A ideia é utilizar as sinalizações do MIH paraauxiliar no processo de handover do PMIPv6. A avaliação foi feito no NS-2 (Network

Simulator version 2) a partir de um cenário padrão (2 MAGs, 1 LMA e 1 CN), onde oMN vai do MAG1 para o MAG2. Foram feitas duas simulações, com e sem MIH. Ohandoff durou 0.4 e 0.12 e foram perdidos 38 e 12 pacotes, sem e com a utilização doMIH, respectivamente.

O handover é heterogêneo entre as tecnologias WLAN (Wireless LAN) (MAG1) eWiMax (MAG2). Apesar de a utilização do MIH trazer vários benefícios, existe o riscode sobrecarga de mensagens causadas pelo MIH se for usado de forma inapropriada. Aanálise da proposta não apresenta dados estatísticos para confirmar os ganhos obtidos.

O trabalho (Wang et al., 2009) propõe um esquema de Fast Handover e otimização

7

Page 36: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 2. TRABALHOS RELACIONADOS

de rota, RO (Route Optimization), para prover transferência transparente do usuário entredomínios PMIPv6. A ideia é emprestar o mecanismo utilizado no protocolo FMIPv6 (Fast Handover MIPv6) para tornar transparente o handover no PMIPv6. A chave daproposta está na utilização simultânea do RO com o envio da mensagem PBU.

Para avaliar o desempenho da proposta é utilizada análise numérica e simulação.São usados dois esquemas, um com os MAGs conectados ao mesmo LMA e outrocom MAGs conectados em diferentes LMAs. A simulação feita pelo artigo mostra obenefício da proposta em comparação com o PMIPv6 padrão, porém não é informado osimulador, nem um possível patch PMIPv6, tampouco, parâmetros que foram utilizadosna simulação.

Em (Hwang et al., 2010) é proposto um esquema de handover transparente baseadoem multicasting. A ideia do artigo é bufferizar os pacotes no momento do handover etransmiti-los para grupos multicast, onde dentre os participantes do grupo está o nMAG.Este nMAG guarda os pacotes recebidos via multicast e retransmite-os para o MN quandoeste termina o processo de handover.

Para a avaliação da proposta utilizou-se o NS-2, não foram fornecidos nenhum tipo dedados de desempenho das simulações, nem o patch utilizado. Não há perdas de pacotesutilizando este método, uma vez que todos os pacotes são guardados e transmitidosposteriormente. Por outro lado, a proposta pode gerar uma grande inundação de pacotesdesnecessários na rede além do atraso da retransmissão dos pacotes bufferizados.

o artigo (Gohar et al., 2010) propõe um esquema de encaminhamento de pacotespara minimizar a latência e as perdas do processo de handover, levando em consideraçãoaplicações multicast. Três esquemas de handover são avaliados, Dois intra-LMA e oum inter-LMA. O MLD (Multicast Listener Discovery) é utilizado para Descoberta deEndereços Multicast.

Na proposta, o encaminhamento de pacotes é feito de 3 formas: do pMAG para onMAG, do LMA para o nMAG. A terceira é entre domínios PMIPv6, o encaminhamentoé feito do LMA de um domínio para o LMA de outro. Sempre criando túneis fim-a-fim eutilizando buffer para armazenar os pacotes durante o processo de roteamento.

Para avaliar a proposta utilizaram-se métodos numéricos. Assim como é feito namaioria dos artigos de handover, a análise do custo de sinalização é calculada a partir donúmero de mensagens trocadas no processo de handover. Os resultados mostraram que oesquema proposto pMAG para nMAG possui um desempenho superior ao esquema tradi-cional do PMIPv6. Isto é reforçado pelos gráficos de custo de sinalização apresentadosno artigo.

8

Page 37: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

2.1. MOBILIDADE E PMIP

Os autores em (Yi et al., 2010) propõem um novo esquema para o gerenciamento demobilidade usando o PMIPv6 baseado no redirecionamento de mensagens para minimizara carga de sinalização provocada pelos constantes handoffs nos domínios PMIPv6.

Ao invés de a sinalização passar primeiro para o LMA depois para o MAG, como nopadrão PMIPv6. Ela é passada diretamente entre os MAG‘s através de túneis bidirecionais.Para avaliar a proposta, os autores comparam o Forwarding PMIPv6 com o PMIPv6tradicional. É utilizado um modelo analítico de mobilidade baseado em cadeia de markovpara realizar a comparação entra as duas propostas. Os resultados mostram um ganhode desempenho quando se utiliza o Pointer Forwarding em comparação com esquematradicional do PMIPv6.

Em (Taghizadeh et al., 2011) os autores dizem que o PMIPv6 é muito eficiente parareduzir a latência do processo de handover, principalmente por separar a conexão de rádioda mobilidade IP. No entanto, o PMIPv6 é limitado à mobilidade intra domínio. Estetrabalho faz um estudo comparativo das várias propostas de PMIPv6 em cenários interdomínios.

(Taghizadeh et al., 2011) ainda, comparam quatro cenários para implementar oPMIPv6 em escala global: single domain, Hierarchical Multi-domain, Peer Multi-Domaine I-PMIP. A avaliação é feita utilizando-se modelos matemáticos. As propostas sãoavaliadas em termos de Latência de Handover. Os parâmetros variáveis são: probabilidadede falha no meio sem fio, distância entre o LMA e o MAG e distância entre os MAGse as redes vizinhas. A conclusão é que, baseado nos resultados da análise numérica, aproposta Peer Multi-domain se mostra mais vantajosa que as outras e tem um grandepotencial para ser implementada de modo distribuído.

Os autores em (Kim et al., 2011) afirmam que a maioria dos protocolos de mobilidadesão baseados em um cenário com uma unidade âncora centralizada, pelo qual todos otráfego é processado. No entanto, com o crescimento do número de aparelhos conecta-dos à internet é desejável uma arquitetura distribuída. Os autores então propõem trêsalternativas de protocolos de gerenciamento de mobilidade, são eles: PDMC (Partially

Distributed Mobility Control), DDMC (Data-driven Distributed Mobility Control) eSDMC (Signal-driven Distributed Mobility Control).

Esses protocolos são comparados com o PMIP em termos de binding update e custode entrega de pacotes, a fim de provar sua eficácia. A comparação é feita através deanálise numérica. Os resultados mostram que todos as propostas distribuídas são melhoresque o PMIP centralizado, e dentre as três, a que se se mostrou melhor foi a SDMC.

Comparação de protocolos em termos de análise numérica é interessante para termos

9

Page 38: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 2. TRABALHOS RELACIONADOS

uma visão geral do custo das mensagens trocadas, porém, nem sempre, este tipo de análiseé adequada, pois existem outras questões como viabilidade e facilidade de implementação.

Esse artigo recai na antiga discussão entre centralizado e distribuído, em alguns casos,uma proposta centralizada é melhor e em outros não. O PMIP também possui extensõespara permitir uma abordagem distribuída (Taghizadeh et al., 2011), talvez nesse caso,fosse mais interessante a comparação com a versão distribuída do PMIP.

2.2 Mobilidade em redes OpenFlow

Alguns trabalhos abordam mobilidade em redes definidas por software. O trabalho (Yapet al., 2010a) discute como as redes sem fio ainda estão paradas no tempo, fechadas e seminovação. Porém, os autores não fornecem uma proposta para melhorar o processo dehandover do usuário, no próprio trabalho os autores admitem a existência de desconexãono handover e que fica a critério do desenvolvedor implementar aplicações NOX paragerenciamento de mobilidade da rede.

Os autores em (Nakauchi et al., 2011) propõem uma plataforma de virtualizaçãocognitiva, chamada AMPHIBIA. A qual possibilita a criação de slices fim-a-fim sobreredes virtuais cabeadas e sem fio. Porém Os autores afirmam que o foco da virtualizaçãoestá no ambiente cabeado e sua aplicação em ambientes sem fio ainda está engatinhando.Os autores destacam que os projetos GENI (Turner, 2006), ORBIT (Orbit-Lab, 2005) e4WARD (Niebert et al., 2008) também são projetos que tratam de redes virtuais sem fio.Porém eles afirmam que o foco está apenas no isolamento dos recursos das redes sem fio.

Os autores em (Li et al., 2012) abordam SDN em redes LTE (Long Term Evolution).Os autores inicialmente discutem que as redes celulares sofrem com a inflexibilidade,equipamentos caros, e protocolos complexos no plano de controle. Nos entanto para queesta nova arquitetura SDN seja utilizada alguns problemas precisam ser resolvidos como:suporte a vários assinantes, mobilidades frequentes, controle e medições mais apuradasda rede e adaptações em tempo real.

Os autores fornecem uma interessante explicação sobre o funcionamento das redesLTE, em seguida explicam que o plano de controle e o de dados destas redes se misturam,e desta forma, as redes SDN seriam uma boa alternativa para tornar as redes LTE flexíveise aberta a inovação.

Para concretizar redes SDN em LTE, os autores propõe 4 extensões. Os autores expli-cam a necessidade de se adaptar a aplicação dinamicamente na rede baseada em métricasmais profundas, como PSNR (Peak Signal to Noise Ratio) ou MOS (Mean Opinion Score)

10

Page 39: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

2.3. ANTECIPAÇÃO DE HANDOVER EM REDES IP

ambas métricas de QoE de aplicações de vídeo. No entanto as redes celulares de hojenão possuem este controle fino dos fluxos de dados passantes. Com o SDN é possívelfazer uma análise profunda dos pacotes da rede e reduzir o congestionamento. O sistemaLTE é bastante semelhante à arquitetura PMIP, de modo que, o PMIPFlow poderia serimplementado também nesta arquitetura de rede celular.

Os autores em (Yamasaki et al., 2011) comentam que as redes sem fio de campus sãoimplementadas utilizando várias redes lógicas separadas por tags de VLAN (Virtual Local

Area Network)(IEEE 802.1Q) tradicionais, em princípio essa abordarem era suficiente,porém com o crescimento das redes de campus a complexidade das utilizações de VLANsaumentou tornando o seu uso quase impraticável. Os autores então propõem a utilizaçãode um sistema de VLANs baseado no OpenFlow, desta forma criando um sistemaescalável e de fácil configuração. Os autores, tranferem a ideia de VLAN para umaaplicação no NOX, criam GIDs (Group IDs), que seriam as tags do "802.1Q", além disso,definem o AMF (Access Management Function) que gerencia o acesso dos usuáriosbaseados no GIDs.

2.3 Antecipação de Handover em redes IP

Alguns estudos abordam diversas formas de melhorar o desempenho do processo dehandover. Nesta seção, serão descritos alguns trabalhos existente na literatura sobre essetema.

O algoritmo desenvolvido em (Atalah et al., 2008), foi baseado em medidas do indi-cador de força do sinal recebido RSS (Received Signal Strength) para prever o próximoestado do nó móvel. Uma nova técnica de predição chamada RGP (RSS Gradient Pre-

dictor) foi utilizado para detectar a mudança de estado dos valores de RSS. O preditormostrou-se eficiente para aplicações de vídeo em tempo real em uma rede sem fio com-posta por tecnologias Wi-Fi (Wireless Fidelity) e WiMAX (Worldwide Interoperability

for Microwave Access). Esse trabalho mostra que o RSS pode ser usado com sucessona antecipação de handover, porém, a proposta é limitada, pois um usuário próximo aoponto de acesso, ou seja, com valor alto de RSS, pode não ter qualidade de serviço devidocongestionamentos na rede, como abordado em (Tsukamoto et al., 2007).

O objetivo do artigo (Tsung-Nan and Po-Chiang, 2005) é reduzir a probabilidade dequebra durante o handover sobre condições de recursos limitados. Nele foi propostoum método de antecipação de handover para tráfego multimídia baseado na taxa desucesso das entregas de pacotes (PSR/Packet Success Rate). Os autores realizam a

11

Page 40: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 2. TRABALHOS RELACIONADOS

predição do tempo restante para cada terminal móvel atingir o requisito mínimo de PSR.A prioridade do gatilho de handover é baseado nesse tempo restante. A proposta éavaliada em simulação, utilizando o cenário descrito em (Chang and Leu, 2004). Osresultados mostram que a proposta é mais eficiente em comparação com outras soluções.Por não utilizar apenas métricas físicas, como RSS, a proposta é mais interessante quea anterior, (Atalah et al., 2008). No entanto, acredita-se que a antecipação de handover

depende de vários fatores e não de uma única variável, como é sugerido no artigo.

Em (Nasser et al., 2006), são discutidos os diferentes aspectos do processo de hando-

ver. Neste trabalho foi implementado o VHDF (Vertical Handover Decision Function)que fornece mecanismos de decisão de handover em redes heterogêneas. o VHDF utilizacusto de serviço, segurança, consume de energia, condições e desempenho das redescomo parâmetros na decisão do handover. De acordo com a avaliação do VHDF, feitano simulador NS-21, a vazão é maior especialmente quando ocorrem grandes variaçõesno tráfego background da rede. Esse trabalho utiliza diversas variáveis de entrada paradecisão de handover, porém, a avaliação no simulador, não reflete cenários reais, e ogerenciamento de mobilidade é conduzido apenas em redes tradicionais.

O artigo (Itoh et al., 2002) apresenta um algoritmo de gatilho de handover baseadona distância do terminal móvel para estação base vizinha e na intensidade do sinalrecebido (RSS). O algoritmo executa o handover quando a medida de distância excedeum determinado limiar e quando o RSS excede um nível dado por uma heurística. Noentanto, o desempenho da proposta é menos eficiente no pior caso se comparada comoutras soluções. Para resolver esse problema, os autores sugerem o uso de sistema delocalização de alta fidelidade como GPS (Global Positioning System). Porém, o GPSconsome bastante energia e para auxiliar no processo de handover precisaria estar emconstante funcionamento, o que consumiria rapidamente a bateria de dispositivos compoucos recursos, como telefones celulares, notebooks ou tablets.

Em (Tsukamoto et al., 2007) é usado um mecanismo de decisão de handover baseadono RSS e no número de quadros retransmitidos. A proposta é avaliada em um testbed802.11 e os resultados mostram que apenas o RSS não é capaz de de detectar com precisãoa degradação da qualidade da comunicação. No entanto, o número de quadros foi capazde detectar a queda na qualidade do serviço. Com isso, os autores sugerem a utilizaçãoapenas do número de quadros retransmitidos como métrica de decisão de handover.Como foi dito anteriormente, acredita-se que apenas uma variável é insuficiente paradecisão de um processo tão complexo como o handover.

1Network Simulator: http://www.isi.edu/nsnam/ns/

12

Page 41: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

2.4. CONSIDERAÇÕES FINAIS

A aplicação de lógica fuzzy para decisão de handover em redes heterogêneas foiapresentada em (Wu, 2011). Foram utilizados o RSS, velocidade e carga do sistemacomo entradas do sistema fuzzy. Na avaliação, o sistema, nomeado de FUN-HODs (Fuzzy

Normalization for Handover Decision Strategy), se mostrou vantajoso, embora o cálculode velocidade se mostra inviável em dispositivos com restrições de energia.

O trabalho em (Mun-Yee Lim and Chow, 2012) também implementa um sistema dedecisão de handover baseado em lógica fuzzy. São utilizados como entrada as métricas:RSS, velocidade e distância. A avaliação da proposta foi realizada usando a tecnologia802.11 com o protocolo de mobilidade MIPv6. As simulações foram conduzidas noframework OMNET++/xMIPv6 (Yousaf et al., 2008). A proposta foi comparada comoutras três. Nas simulações, a solução se mostrou vantajosa, porém, toda a propostabaseada em velocidade precisa de coletas com alto grau de consumo de energia, como porexemplo, usando o GPS, o que praticamente inviabiliza seu uso em dispositivos restritos.

Outro trabalho que se baseia em lógica fuzzy para o mecanismo de handover éapresentado em (Sharma and Khola, 2012). Este trabalho usa como entrada as métricas:largura de banda, predição do RSS e preferências do usuário. Ao contrário dos outros,esse artigo usa uma predição de RSS e não o próprio valor. Nessa proposta, o usuáriopossui um papel fundamental na decisão do handover, pois uma das entradas do sistemafuzzy é a preferência do usuário. Nela o usuário deixa predeterminado se quer que ohandover aconteça, se não quer ou se deixa a critério do sistema. A análise é feita atravésde simulação, porém, nenhuma avaliação é apresentada, deixando dúvidas sobre a eficáciada proposta.

2.4 Considerações Finais

Este capítulo discutiu os trabalhos relacionados ao PMIPFlow, os vários trabalhos relaci-onados mostram a relevância desta pesquisa. Primeiramente, foram abordados algunsartigos sobre o PMIPv6. Este protocolo está sendo bastante pesquisado e melhorado,o que justifica sua escolha como base para o PMIPFlow. Foram apresentados também,alguns trabalhos que abordam gerenciamento de mobilidade em redes definidas porsoftware, porém nenhuma delas propõem uma arquitetura com protocolo de mobilidadepadronizado, não apresentam nenhuma proposta de otimização de handover e não fazemavaliação de desempenho utilizando métricas de QoE.

Foram discutidos, ainda, alguns artigos com soluções de antecipação de handover.Desses trabalhos é possível concluir que o RSS é uma métrica importante no mecanismo

13

Page 42: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 2. TRABALHOS RELACIONADOS

de decisão, mas não pode ser usado de forma isolada, é necessário alguma outra métricaque reflita a comunicação entre o terminal e a rede. Alguns trabalhos, usam quadrosretransmitidos, alguns usam largura de banda e outros velocidade. O certo é que a decisãode handover precisa ser tomada usando um conjunto de métricas centradas tanto na redequanto no usuário. O próximo capítulo mostra os conceitos por trás das redes definidaspor software, que é a tendência de pesquisa mundial para solucionar o problema doengessamento da Internet.

14

Page 43: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

3Redes Definidas por Software e

OpenFlow

"Sábio é o homem que chega a ter consciência de sua ignorância"

—BARÃO DE ITARARÉ

O mundo das redes de computadores atravessa uma grande revolução. A programabi-lidade de redes oferecida pelo paradigma SDN trás varias inovações e transforma a ideiade redes engessadas e fechadas, para redes abertas, flexíveis e de rápida evolução. Issoporque através de uma interfaces padronizada e um sistema de controle externo, a filosofiaSDN fornece um gerenciamento mais eficiente dos elementos da rede, separando o planode dados do plano de controle. O OpenFlow é uma das tecnologias que implementa oconceito SDN.

Este capítulo está organizado da seguinte forma. A Seção 3.1 aborda a necessidadede uma nova arquitetura. A Seção 3.2 apresenta os princípios das redes definidas porsoftware. A Seção 3.3 detalha as características do OpenFlow. Nessa seção, serãodiscutidos os componentes, protocolo e controlador, da arquitetura OpenFlow. Na seçãoseguinte, será apresentado o NOX, o controlador OpenFlow que foi utilizado na soluçãoPMIPFlow. A seção 3.5 mostra como obter isolamento nas redes OpenFlow, utilizando-seo conceitos de fatias ou slices. A última seção finaliza o capítulo com as consideraçõesfinais.

3.1 Necessidade de uma Nova Arquitetura

O acelerado crescimento do número dispositivos móveis, da oferta de conteúdo e serviços,da virtualização de servidores e o advento de serviços em nuvem estão entre os motivos

15

Page 44: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 3. REDES DEFINIDAS POR SOFTWARE E OPENFLOW

que fizeram a indústria repensar as arquiteturas de redes tradicionais. Atualmente, asredes são hierárquicas, construídas com camadas de switches Ethernet dispostos emuma estrutura em forma de árvore. Essa arquitetura fazia sentido quando a computaçãocliente-servidor era dominante, mas uma arquitetura estática não é adequada para atenderàs novas demandas de serviços e de armazenamento que são necessárias nos centros deprocessamento de dados datacenters de empresas, campi, e em grandes centros urbanosque almejam o conceito de cidades inteligentes. Algumas das tendências chaves dacomputação que estão levando à necessidade de um novo paradigma de rede incluem(Feldmann, 2007):

• Mudança no padrão de tráfegos: dentro de empresas de processamento de dadose de tráfego, os padrões mudaram significativamente. Em contraste com aplicaçõescliente-servidor onde a maior parte da comunicação ocorre entre um cliente e umservidor, as aplicações atuais acessam diferentes bancos de dados e servidores.Ao mesmo tempo, os usuários necessitam de comunicação à qualquer hora, emqualquer lugar e com qualquer dispositivo. Além disso, o advento das redes sociaisaumentou ainda mais o número de serviços em smartphones. Essa mudança depadrão de tráfego gera um aumente considerável no tipo e na quantidade de pacotesque percorrem a rede.

• Necessidade de segurança das redes: os usuários estão cada vez mais empre-gando dispositivos móveis pessoais, como smartphones, tablets e notebooks emambiente corporativos. As tecnologias de rede precisam acomodar estes dispositi-vos pessoais e ao mesmo tempo proteger os dados corporativos e de propriedadeintelectual. Segurança também é algo que precisa ser efetivo e definitivo.

• O aumento de serviços em nuvem: usuários e empresas estão aumentando consi-deravelmente o uso de serviços em nuvem, tanto privada quanto pública, resultandoem um crescimento sem precedentes desses serviços. Unidades de negócio daempresa querem agora a agilidade para acessar aplicações, infraestrutura e ou-tros recursos de TI sob demanda. Para aumentar a complexidade, os serviços emnuvem devem ser oferecidos em um ambiente com maior segurança, estrutura ade-quada e robustez. Além disso, como o volume de dados nos datacenters aumentaexponencialmente, é necessário um maior controle desse tráfego.

Todas essas mudanças que ocorrem na forma como o usuário interage com a rederequer uma reformulação. As redes estáticas atuais não estão preparadas para essas mu-danças. O surgimento do SDN é uma tentativa de criar redes dinâmicas que possibilitam

16

Page 45: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

3.2. REDES DEFINIDAS POR SOFTWARE

maior controle, maior segurança no tratamento dos dados e que não sejam estáticas, eque se adequam à demanda de novos serviços.

3.2 Redes Definidas por Software

O SDN (Software Defined Network) é um conceito de redes emergentes onde o controleda rede está desacoplado do encaminhamento de dados e esse controle é totalmenteprogramável (McKeown et al., 2008). A Figura 3.1 mostra a visão lógica da arquiteturaSDN. A inteligência da rede está centralizada na camada de controle, que possui a visãoglobal da rede. Com o SDN, as empresas e os operadores ganham controle sobre toda arede, independente do fornecedor, e em um único ponto lógico, o que melhora bastante ogerenciamento da rede.

Camada de Aplicação

Aplicação

Camada de Controle SDNSoftware de Controle

Serviços de Rede

Camada de Infraestrutura

Dispositivo de Rede

Dispositivo de Rede

Dispositivo de Rede

Dispositivo de Rede

Dispositivo de Rede

API API API

Interface para Plano de Controle(ex. Openflow)

Figura 3.1: Arquitetura SDN

Uma das grandes vantagens que a arquitetura SDN proporciona é a simplificação dosequipamentos de rede, uma vez que a inteligência do controle da rede é transferida parao controlador, cabendo ao dispositivo de rede apenas receber instruções enviadas pelocontrolador. Deste modo, switches de baixo custo podem controlar uma grande rede queantes só poderia ser controlada por equipamentos de custo bastante elevado.

Com o SDN, os operadores e administradores podem configurar a rede de formasimplificada e automatizada, ao invés de ter que analisar e modificar códigos com dezenasde linhas de configuração, espalhados entre vários dispositivos. Além disso, aproveitandoa inteligência centralizada do controlador SDN, que veremos adiante, os operadores

17

Page 46: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 3. REDES DEFINIDAS POR SOFTWARE E OPENFLOW

podem alterar o comportamento da rede em tempo real e implantar novas aplicações eserviços em questão de horas ou dias, em vez de as semanas ou meses necessários hoje.Além disso, os operadores podem escrever seus próprios protocolos, sem precisar esperarpor recursos a serem incorporados em ambientes de vendedores de software proprietário.

Além da abstração da rede, a arquitetura SDN suporta um conjunto de APIs que tornapossível a implementação de serviços comuns às redes, incluindo roteamento, multicast,segurança, controle de acesso, gerenciamento de largura de banda, engenharia de tráfego,qualidade de serviço, armazenamento, gerenciamento de energia, e todas as formas degerenciamento de políticas customizadas para atender os objetivos de negócio.

3.3 OpenFlow

O OpenFlow é um padrão aberto, desenvolvido pela universidade de Stanford (Stanford,2008), que implementa o conceito SDN e permite a criação de redes virtuais usandosomente recursos L2 (switches Ethernet) com tabelas de fluxo internas e uma interfacepadrão para adicionar e remover entradas de fluxos. Uma das ideias centrais do projetoOpenFlow é disponibilizar a plataforma abertamente para que seja adotada até mesmopor fabricantes de switches.

A Figura 3.2 mostra a arquitetura do OpenFlow. Ela é composta de três partes. Aprimeira consiste na tabela de fluxos, que possui ações bem definidas para cada fluxo.A segunda parte consiste no canal de comunicação seguro que faz a comunicação doswitch OpenFlow com o controlador. A terceira parte trata-se do protocolo utilizado nessacomunicação, chamado protocolo OpenFlow.

Uma das entidades mais importantes do OpenFlow é o controlador. Esse elementorealiza todo o controle da rede de forma remota e centralizada. Na arquitetura Open-Flow, toda a inteligência da rede é desempenhada por aplicações que executam dentrodo controlador. A próxima seção discutirá esse importante elemento da arquiteturaOpenFlow.

3.4 Controlador

O controlador OpenFlow como vimos na Figura 3.2, é um elemento que controla o switch

OpenFlow de forma remota através de um canal seguro. Dentro do switch é possívelencontrar uma implementação do OpenFlow que recebe os comando do controladorpara adicionar, modificar ou remover entradas na tabela de encaminhamento. Existem

18

Page 47: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

3.4. CONTROLADOR

Switch Openflow

sw

hw

Canal Seguro

Flow TableFlow TableTabela de Fluxo

Especificação do switch Openflow

Controlador

Protocolo

OpenFlow

SSL

. . .

Figura 3.2: Arquitetura OpenFlow

vários controladores disponíveis. A Tabela 3.1 mostra os mais utilizados no mercado e naacademia.

Existem vários controladores OpenFlow, como mostrado na Tabela 3.1, porém, paradesenvolver o PMIPFlow optou-se por usar o NOX. Essa escolha foi pautada por váriosmotivos: o primeiro foi que a linguagem utilizada é a mesma da implementação doPMIPFlow (C/C++), e além do ganho de desempenho, a integração é mais natural. Outromotivo é o grande número de exemplos disponibilizados com o NOX, o que facilita oaprendizado e o desenvolvimento de novas propostas. Além do mais, o NOX é utilizadocomo controlador padrão do Mininet (Mininet, 2011), que é um simulador de redesOpenFlow bastante difundido.

3.4.1 NOX

O NOX (Nicira Networks, 2010) é um controlador OpenFlow cujo objetivo é forneceruma interface de programação de alto nível para aplicações de rede. As aplicações degerência e controle são implementadas em cima do NOX, essas aplicações determinamcomo cada fluxo se comporta dentro da rede OpenFlow. Diferente dos ambientes de redepadrão de desenvolvimento, o NOX permite um modelo de programação centralizado

1Baseado no controlador Beacon2Baseado na versão 0.4 do controlador NOX

19

Page 48: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 3. REDES DEFINIDAS POR SOFTWARE E OPENFLOW

Tabela 3.1: Controladores OpenFlow

Controladores Linguagem Documentação Open Source ReferênciaNOX C++/Python Rica Sim (Nicira Networks,

2010)Maestro Java Razoável Sim (Rice University,

2011)Trema C/Ruby Pobre Sim (NEC, 2011b)Beacon Java Boa Sim (Stanford Univer-

sity, 2011)Helios C - Não (NEC, 2011a)BigSwitch1 Java - Não (Big Switch

Networks, 2011)SNAC2 C++/Python - Não (Nicira Networks,

2010)Floodlight Java Muito Rica Sim (Nicira Networks,

2010)

para toda rede. Esse controlador foi projetado para suportar grandes redes empresariais decentenas de switches (suportando, milhares de hosts) e redes menores possuindo algunsservidores.

O núcleo do NOX (Nox Core) fornece aplicativos com uma visão abstrata dos recursosda rede, incluindo a topologia da rede e localização de todos os hosts detectados. Osprincipais objetivos do NOX são:

• Fornecer uma plataforma que permita aos desenvolvedores e pesquisadores ino-var dentro de suas casas, em universidades ou em redes empresariais, utilizandohardwares reais de rede, não apenas simuladores. As aplicações NOX podemcontrolar toda a conectividade da rede, incluindo o encaminhamento, roteamento,controle de acesso, permissão de usuários etc. Além disso, o NOX pode intervirem qualquer fluxo da rede dando prioridade aos que necessitam de mais qualidade.

• Fornecer um software de rede útil para os operadores. A versão atual incluigerenciamento central para todos os switches em uma rede, controle de admissãotanto de usuário quanto de host, e um mecanismo completo de políticas.

Os aplicativos no NOX clássico podem ser escritos em C/C++ e/ou Python. O NOXfornece uma API (Application Programming Interface) de alto nível para OpenFlow bemcomo controles de rede de outras funções. Como foi referido anteriormente, o NOXcontrola os switches da rede através do protocolo OpenFlow. Por isso, requer pelo menosum switch na rede com suporte ao OpenFlow.

20

Page 49: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

3.5. VIRTUALIZAÇÃO E CRIAÇÃO DE FATIAS (SLICES)

O software de controle do NOX é executado em um PC e gerencia as tabelas deencaminhamento de vários switches. Ele exporta uma interface de programação atravésda qual vários programas de rede (chamados de aplicações) podem ser executados. Estasaplicações podem monitorar os eventos da rede, ter acesso ao tráfego, controlar decisõesde encaminhamento do switch, entre outras ações.

O NOX é capaz de realizar suas tarefas de maneira escalável, operando sobre fluxosde rede (ao invés de pacotes individuais). Para cada novo fluxo na rede, o primeiro pacoteé enviado para NOX que repassa para aplicações interessadas. Os aplicativos podemdeterminar se, e como, transmitir o fluxo na rede, coletar estatísticas, modificar os pacotesno fluxo (por exemplo, adicionando uma tag VLAN) ou decidir analisar outros pacotesdentro do mesmo fluxo. Há sempre duas versões do NOX:

Master (estável): versão estável e que a maioria das modificações são correções deerros.

Destiny (instável]): onde novas funcionalidades são experimentadas.

Atualmente, o NOX clássico (C++/Python) foi separado em NOX (Somente C++)e POX (NOX somente Python), o PMIPFlow foi desenvolvido utilizando-se o NOXclássico (em C++).

3.5 Virtualização e Criação de Fatias (Slices)

Um dos benefícios da utilização do OpenFlow é a possibilidade de criação de fatias ouslices, através do framework FlowVisor (R. Sherwood, G. Gibb, K. Yap, G. Appenzeller,N. McKeown, and G. Parulkar, 2009). Dividir a rede em slices traz grandes benefícioscomo isolamento da rede, priorização de serviços e facilidade de gerenciamento. Inicial-mente, a criação de slices foi pensada para redes cabeadas, porém, essa ideia tambémpode ser aplicada em ambientes sem fio. A Figura 3.3 mostra que um usuário utilizandoum serviço de vídeo conferência pode ser alocado em um slice com maior prioridade eum usuário navegando na web em outro, com menor prioridade. Desta forma, é possívelcriar slices e alocar usuários de acordo com as restrições de QoS das aplicações querodam em seu dispositivo móvel.

O FlowVisor é um controlador OpenFlow especial que atua como uma camadatransparente entre o comutador OpenFlow e múltiplos controladores. Atuando destaforma, o FlowVisor pode criar fatias de recursos na rede e delegar cada fatia para umcontrolador diferente. Esses slices podem ser definidos de várias formas: por portas, por

21

Page 50: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 3. REDES DEFINIDAS POR SOFTWARE E OPENFLOW

SLICE 2 (Prioridade Média)

SLICE 1 (Prioridade Alta)

SLICE 3 (Prioridade Baixa)

Usuário 1

(Videoconferência)

Usuário 2 (VoIP)

Usuário 3 (Web)

Usuário 1

Usuário 2 Usuário 3

Figura 3.3: Criação de fatias centradas no usuário

endereços IP de origem ou destino, por protocolos, por endereço físico, entre outros. OFlowVisor mantém o isolamento entre os slices, ou seja, nenhum slice pode controlar otráfego de outro slice.

A Figura 3.4 exibe um possível cenário de utilização do FlowVisor. Nele é possívelver uma rede OpenFlow composta por um switch, dois pontos de acesso, alguns clientesmóveis acessando conteúdo da Internet e um servidor de controle, onde o FlowVisor estásendo executado. O FlowVisor se comporta como um controlador OpenFlow, ficandototalmente transparente para o switch.

FlowVisor

Switch OpenflowOAP(Openflow Access Point)

OAP(Openflow Access Point)

Usuário Móvel

Pesquisador

Handover

Gerenciamento GUI

Controlador OF (NOX)

App App App App

Desenvolvimento

Controlador OF (NOX)

App de TesteNovo

Protocolo

Gerente de Rede

Usuário Móvel

Usuário Móvel

Internet/Cloud

Servidor de Controle

Usuário Móvel

Legenda:Tráfego de Produção Tráfego Experimental

Usuário Móvel

Figura 3.4: Cenário de funcionamento do FlowVisor

Com o FlowVisor é possível dividir a comunicação da rede em tráfego de produção e

22

Page 51: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

3.6. CONSIDERAÇÕES FINAIS

experimental. Na Figura 3.4, o gerente realiza suas operações na rede de produção semse preocupar com o tráfego experimental. Por outro lado, um pesquisador interessado emtestar novos protocolos também pode ter seu próprio slice e fazer testes sem se importarcom o tráfego de produção presente na rede. A Figura 3.4 mostra também que a divisãoentre os tráfegos de produção e experimental pode ser feita em um mesmo dispositivo.

3.6 Considerações Finais

Este capítulo tratou vários conceitos que estarão presentes nas redes do futuro. Foidiscutido como o OpenFlow implementa o novo conceito de redes definidas por software,através de um protocolo padronizado que cria uma comunicação entre as entidades geren-ciadas e um controlador. Discutiu-se os diversos controladores existentes no mercado e,em especial, sobre o NOX, controlador utilizado na arquitetura PMIPFlow. Foi abordada,também, virtualização de redes e como criar isolamento através de fatias com o framework

FlowVisor, separando o tráfego de produção do tráfego da rede experimental.O OpenFlow, aos poucos, está substituindo a maioria das infraestruturas de redes de

pequenas e grandes corporações. Além de proporcionar vários benefícios, como inovação,isolamento etc., por ser de código aberto, ele é economicamente mais vantajoso queoutras soluções disponíveis no mercado. Com tantos benefícios, é natural surgir a ideiade utilizar o conceito SDN também em redes sem fio. Porém, quando se trata desse tipode rede, existem vários desafios associados, como instabilidade, interferência e perdasde pacotes. A seguir, o capítulo 4 discutirá os desafios do gerenciamento de mobilidadenas redes sem fio, onde serão apresentados alguns protocolos de gerenciamento, e emespecial, o PMIPv6, o qual inspirou a proposta PMIPFlow.

23

Page 52: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade
Page 53: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

4Gerenciamento de Mobilidade

"Existem várias coisas boas no mundo,

mas tenho a impressão que a amizade

é a melhor de todas - saber que podemos

fazer algo grande por um amigo."

—JORGE AVELAR

O gerenciamento de mobilidade surgiu para resolver o problema de transferênciado usuário entre as diversas redes celulares, processo conhecido como handover ouhandoff. Com o advento das redes sem fio domésticas e a comutação por pacotes, todasas redes estão convergindo para o protocolo IP. Nesse novo cenário, o gerenciamentode mobilidade deixa de ser apenas necessidade apenas das redes celulares e torna-sepeça fundamental para as operações das redes móveis do futuro. Neste contexto, énecessário que esse processo seja realizado de forma rápida e eficiente, pois a interrupçãoda transmissão significa perda de qualidade e credibilidade do serviço.

O capítulo está organizado da seguinte forma. Na seção 4.1, serão discutidos osprincipais aspectos do gerenciamento de mobilidade. Na seção 4.2, será abordada amobilidade no mundo IPv6. Na seção 4.3 serão apresentados alguns aspectos do protocolode mobilidade MIPv6, o qual serviu como base para muitos outros protocolos, comoFMIP, HMIP, PMIP entre outros. Na Seção 4.4, é apresentado o PMIPv6, a evolução doMIPv6 que inspirou o PMIPFlow.

4.1 Localização e Handover

O gerenciamento de mobilidade é ponto crucial para o sucesso das redes do futuro. Nestecontexto, o handover é o processo de troca de um nó móvel de um ponto de acesso para

25

Page 54: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 4. GERENCIAMENTO DE MOBILIDADE

outro. O procedimento de handover está presente em todas as tecnologias sem fio, IEEE802.11 (Wi-Fi), IEEE 802.16 (WIMAx), 3G/UMTS e LTE, mas com o advento das redestotalmente IP, esse procedimento deixou de ser exclusivo de tecnologia, isto é, L2 e osprotocolos da pilha TCP/IP (L3 e das camadas superiores) também foram readequadospara realizar tal procedimento.

É desejável que o processo de handover seja o mais transparente possível (seamless

handover), de modo que o usuário não perceba a troca de rede, do contrário, ocorremperdas de pacotes, atrasos ou, no pior caso, a total desconexão do usuário. Vários proto-colos foram criados, ao longo do tempo, para fornecer um gerenciamento de mobilidadeeficiente. Nesse capítulo, serão discutidos, particularmente, os protocolos que atuam nacamada de rede, foco dessa dissertação. O leitor interessado em soluções para o geren-ciamento de mobilidade na Internet pode consultar (Internet Engineering Task Force,2011).

O gerenciamento de mobilidade é composto por gerenciamento de localização egerenciamento de handover (Akyildiz et al., 1999). O primeiro é responsável pelalocalização do nó móvel enquanto ele se movimenta entre as redes sem fio. Essasmudanças precisam ser monitoradas para que o nó móvel permaneça alcançável caso umanova chamada seja destinada a ele. O desafio da atualização de localização do nó móvelé manter a sobrecarga de sinalização em um nível aceitável pela rede e pelo nó móvel.Por outro lado, o gerenciamento de handover consiste em manter ativa a conexão dousuário mesmo após a mudança de pontos de acesso. Esse processo pode ser horizontalou vertical.

O handover é horizontal ou homogêneo, se esse processo é realizado entre duastecnologias semelhantes, nó móvel migrando do LTE para outra rede LTE, por exemplo.Já o handover vertical ou heterogêneo ocorre quando a transferência se dá entre duastecnologias distintas, por exemplo, nó móvel migrando de rede LTE para WiMAX.

Soluções para o gerenciamento de mobilidade estão disponíveis em diversas camadas.Soluções de camada dois (L2) são dependentes de tecnologia específica, portanto não é amelhor abordagem para cenários heterogêneos. Soluções de camada três (L3), geralmentesão baseadas no protocolo IP e não dependem de tecnologia. Essas soluções podem serclassificadas de duas formas: gerenciamento global e gerenciamento local.

Gerenciamento de mobilidade global é caracterizado pelo handover entre domíniosdistintos, ou seja, diferentes infraestrutura de tecnologia aos quais não são naturalmenteintercambiáveis, como transferência de tecnologia 3G para uma rede WLAN. Em so-luções de mobilidade global, o nó móvel é responsável pela detecção de movimento e

26

Page 55: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

4.2. GERENCIAMENTO DE MOBILIDADE COM IPV6

atualização de sua localização na rede. O MIP (Mobile IP) é um exemplo de protocolode gerenciamento de mobilidade global.

Soluções para gerenciamento de mobilidade local são aplicadas dentro de um mesmodomínio e podem, também, ser usadas em redes com tecnologias diferentes, porém,dentro do mesmo domínio. Nesse tipo de solução, diferente das soluções globais, arede é a responsável pela movimentação do usuário e atualização de sua localização nasentidades internas da rede. O HMIP (Hierarchical MIP) é um exemplo de protocolode mobilidade local que foi criado a partir da extensão do MIP e do FMIP. Porém, oHMIP ainda requer que o nó móvel participe intensamente da sinalização de handover. OPMIP também faz parte desse grupo de protocolos, no entanto, na concepção do PMIPexistem agentes de mobilidade que executam a detecção de movimento e as atualizaçõesde localização do nó móvel, retirando toda a sinalização que antes era de responsabilidadedesse nó. O PMIP foi desenhado para permitir tanto handover horizontal quanto vertical.

4.2 Gerenciamento de Mobilidade com IPv6

A nova versão do protocolo de rede da Internet, o IPv6, apresenta diversas melhorias e éfundamental para dar suporte à nova geração de dispositivos conectados à rede, comocâmeras de segurança, sensores de cidades inteligentes, eletrodomésticos entre outros.Os dispositivos móveis, como celulares e computadores portáteis, difundidos atravésda gama de tecnologias sem fio existentes, impõem novos desafios à funcionalidade daInternet como expostos em (Forman and Zahorjan, 1994).

4.2.1 Endereçamento IPv6

Quando o protocolo IP entrou em vigor, a Internet era restrita a acadêmicos e pesquisado-res, consequentemente, um endereço de rede de 32 bits parecia ser suficiente para atenderessa demanda. Porém, o crescimento desenfreado no número de usuários da rede e a máutilização inicial do espaço de endereços culminaram no seu esgotamento, e foi um dosprincipais motivos da busca por um novo protocolo.

Para solucionar os problemas de endereçamento do IPv4, o IPv6 utiliza endereços de128 bits, um número consideravelmente elevado de endereços, improvável de se esgotar.Esse novo endereçamento ainda reserva um espaço para todos os endereços IPv4, parafacilitar o processo de transição de um protocolo para o outro, o que garante suporteaos novos equipamentos que surgirão com acesso à Internet, permitindo-os utilizar um

27

Page 56: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 4. GERENCIAMENTO DE MOBILIDADE

ou mais endereços globais únicos, acabando com os problemas relacionados ao uso detradução de endereços de rede ou NAT (Network Address Translation).

A apresentação de um endereço IPv6 é diferente do IPv4. Os 128 bits são agrupadosem oito grupos de 16 bits separados por dois pontos, e são exibidos em hexadecimal.Uma sequência de zeros pode ser abreviada com dois símbolos ":"apenas uma vez porendereço. Após o endereço, um número de 0 a 128 define o prefixo do mesmo, que podesignificar um grupo de endereços específico ou auxiliar na identificação da rede em queo nó se encontra. Um exemplo de endereço IPv6 é 2001:0:0:1:0:0:0:A/64 que tambémpode ser abreviado para 2001:0:0:1::A/64.

Os endereços podem ser classificados como Globais, que são armazenados nas tabelasde roteamento e podem ser encontrados globalmente, e Link-local, utilizados apenas emum enlace. Um endereço global deve possuir o prefixo 2000::/3 e um endereço link-localdeve possuir o prefixo FE80::/10.

4.3 MIPv6

O IPv6 Móvel (Johnson et al., 2004) ou MIPv6 (Mobile IPv6)1 foi desenvolvido pela IETF(Internet Engineering Task Force) sendo a entidade responsável pelo desenvolvimento daInternet. O MIPv6 é uma extensão do IPv6 para fornecer gerência de mobilidade e definiua base dos protocolos que surgiram posteriormente, entre eles o PMIPv6. A seguir, seráexplicado, em detalhes, como o gerenciamento de mobilidade é realizado no MIPv6.Essa introdução é necessária pois vários destes conceitos são úteis no entendimento doPMIPFlow.

4.3.1 Visão Geral

Um protocolo de gerenciamento de mobilidade na camada de rede deve permitir que umdispositivo móvel continue acessível mesmo que mude seu ponto de conexão à rede. Esteponto é normalmente conhecido como ponto de acesso ou AP (Access Point). No MIPv6,um novo endereço de rede é configurado em uma rede visitada mas o dispositivo continuaacessível pelo seu endereço antigo. Isto é obtido através de um registro de mobilidadeque associa seu endereço novo, rede visitada, ao endereço antigo, rede doméstica.

Em um cenário de funcionamento do protocolo MIP, como mostrado na Figura 4.1,existem quatro entidades com papeis específicos: o Nó Móvel ou MN, o Nó Correspon-

1Existe o MIPv4 que é uma extensão do IPv4 para mobilidade, mas não será abordado neste trabalho

28

Page 57: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

4.3. MIPV6

dente ou CN, o Agente Doméstico ou HA (Home Agent) e o Agente Estrangeiro ou FA (Foreign Agent). O Agente Estrangeiro foi colocado aqui apenas para ilustrar, pois, elesurgiu no MIPv4, e no MIPv6 tornou-se obsoleto possuindo a mesma função do HA.

O MN utiliza o serviço do MIPv6 para manter sua comunicação enquanto se deslocaentre diferentes pontos de acesso, o CN é qualquer dispositivo que esteja se comunicandocom o MN, o HA é um roteador IPv6 na rede doméstica e o FA o roteador na rede alvoda migração do MN. Vale lembrar que no MIPv6 o FA nada mais é que um HA, e não énecessário a implementação de um novo agente, diferente do que era feito com o MIPv4.

Ao realizar o handover para uma rede visitada, o MN configura um novo endereçoIPv6, o qual recebe o nome de CoA (Care of Address). Temporariamente ele não está maisacessível aos pacotes destinados ao seu endereço doméstico, ou HoA (Home-of Address),pois estes são enviados para sua rede doméstica. Para restabelecer sua comunicaçãocom o CN, o MN envia uma mensagem ao HA para registrar o seu CoA. Ao receber amensagem, o HA inicia o repasse dos pacotes recebidos endereçados ao HoA do MNpara o CoA, criando um túnel. O MN também pode solicitar ao CN que envie os pacotesdiretamente ao CoA, se o mesmo tiver suporte ao MIPv6.

A Figura 4.1 representa os dois modos de comunicação de um MN após o handover:tunelamento bidirecional e otimização de rota. No primeiro modo, ilustrado na Figura 4.1pelas linhas com traço seguido de ponto, é criado um túnel bidirecional entra o FA e HA.Toda mensagem que chega no MN, dentro da rede estrangeira, é automaticamente enviadapelo túnel até a rede doméstica. Neste caso, ocorre uma triangulação desnecessária, sendoesse problema resolvido pelo método de otimização de rotas, que ao invés de criar umtúnel FA/HA o protocolo faz a ligação direta do FA com o CN.

4.3.2 Fluxo de Mensagens

Esta seção descreve as mensagens de sinalização enviadas no protocolo, assim comoilustrado na Figura 4.2.

A seguir, é exibido a descrição das mensagens da Figura 4.2.

• [1]: O MN se conecta inicialmente à uma rede de acesso que será sua rededoméstica, configura um endereço por um dos métodos de obtenção de endereços einicia comunicação com um CN.

• [2]: Em um determinado momento, o MN realiza handover e se conecta a umarede visitada. Ele detecta a conexão com a rede visitada através do recebimento de

29

Page 58: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 4. GERENCIAMENTO DE MOBILIDADE

INTERNET

Rede Visitada Rede Doméstica

CN

HAFA

Túnel MN-HASem Túnel } Tunelamento

BidirecionalOtimização de Rota

Nó Móvel (MN)

handover

Figura 4.1: Modos de Funcionamento do MIPv6

um RA (Router Advertisement) ou algum sinal da camada de enlace e configuraum endereço IPv6 na nova rede, seu CoA.

• [3]: Neste etapa, o MN envia uma mensagem denominada BU (Binding Update)para registrar sua nova localização com o HA.

• [4]: Ao receber a mensagem, se o HA aceitar o registro, ele envia uma mensagemde confirmação BA (Binding Ack) ao MN e configura rotas e túneis para o novoendereço do mesmo.

• [5]: O MN retoma a comunicação com o CN pelo modo de tunelamento bidireci-onal.

• [6]: O MN tenta registrar-se com o CN para otimização de rota iniciando umprocedimento de segurança chamado Return Routability.

30

Page 59: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

4.3. MIPV6

HANDOVER

[1] Pacotes de dados

[2] Detecção de Conexão

[3] BU

[4] BA

[5] Pacotes de dados pelo túnel [5] Pacotes de dados

[6.1] HoTi [6.1] HoTi

[4] Configuração do túnel

[6.2] CoTi

[6.3] HoT [6.3] HoT

[6.4] CoT

[7] BU

[8] BA

[9] Pacotes de dados

MN HA FA CN

Figura 4.2: Fluxo de Mensagens do Protocolo MIP

• [7]: Se obtiver sucesso o MN envia um BU diretamente ao CN.

• [8]: O CN registra o MN e envia um BA como resposta diretamente ao seu CoA.

• [9]: A comunicação entre MN e CN passa a ocorrer de forma direta.

4.3.3 Detecção de Movimentos

A detecção de movimento consiste em identificar que o nó móvel realizou handover eencontra-se em uma nova rede de acesso. No MIPv6, ela é realizada pelo próprio MNatravés do envio de um RS (Router Solicitation) e do consequente recebimento de umRA com um prefixo de rede diferente da rede em que estava conectado. A partir daí, elesabe que deve enviar um BU ao seu HA para registrar sua nova localização.

31

Page 60: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 4. GERENCIAMENTO DE MOBILIDADE

No MIPv6 quem realiza a maior parte do trabalho de gerenciamento de mobilidade éo MN. Ele envia mensagens RS, monitora a transferência entre redes, além da criaçãode rotas. Para utilizar o MIPv6, é necessário modificar o sistema operacional do MNcom o objetivo de habilitar essas novas funções, além disso, o daemon do MIPv6 precisaestar rodando no dispositivo indefinidamente. Talvez, a sobrecarga gerada no MN pelasinalização do protocolo MIP seja o motivo da não utilização efetiva desse protocolo porparte do mercado.

4.3.4 Estrutura de Dados

Existem duas estruturas de dados fundamentais ao funcionamento do protocolo MIPv6.Os dados armazenados nelas podem variar em diferentes implementações, mas as infor-mações básicas que devem estar presentes são descritas a seguir.

O BC (Binding Cache) está presente nos agentes domésticos e nós correspondentes,sendo que em alguns casos um mesmo dispositivo pode realizar as duas funções. Cadaregistro armazena informações de um MN com o qual o dispositivo se comunica eencontra-se fora de sua rede doméstica. As informações necessárias são:

• O endereço doméstico do nó móvel (HoA);

• O endereço na rede visitada (CoA);

• O tempo de vida do registro;

• O número de sequência do último BU recebido;

• Um flag indicando se é um registro como HA ou de otimização de rota.

A BUL (Binding Update List) está presente nos MNs e armazena informações dosBUs enviados tanto aos nós correspondentes quanto aos agentes domésticos. E essasinformações estão descritas a seguir:

• O endereço do dispositivo remoto, HA ou CN;

• O endereço doméstico do nó móvel;

• O CoA enviado no último BU;

• Um flag indicando se é um registro com HA;

• O número de sequência do último BU enviado;

32

Page 61: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

4.3. MIPV6

• Algumas informações para determinar a necessidade de reenvio do BU para odispositivo remoto e o momento a ser enviado.

Ambas as estruturas de dados também contêm informações relacionadas ao proce-dimento de Return Routability, que ajudam a determinar a validade de um registro eproduzir uma chave a ser utilizada nas comunicações entre CN e MN.

4.3.5 Modificações ao IPv6

Novos tipos de mensagens e mudanças em cabeçalhos de extensão foram adicionadasao protocolo IPv6 para suportar a gerenciamento de mobilidade. A Figura 4.3 mostra ocabeçalho de extensão IPv6 usado para transmitir as mensagens de sinalização do MIPv6.O tipo da mensagem de mobilidade é definido no campo "MH Type"deste cabeçalho e asmensagens são inclusas no campo de dados do cabeçalho.

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Payload Proto | Header Len | MH Type | Reserved |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Checksum | |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ || |. .. Message Data .. .| |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figura 4.3: Cabeçalho de Mobilidade

Dentre as várias mensagens do cabeçalho de mobilidade, além de HoTI (Home Test

Init), CoTI (Care of Test Init), HoT (Home Test) e CoT (Care of Test), destacam-se quatromais importantes para o gerenciamento de mobilidade.

Binding Refresh Request Message: A mensagem BRR (Binding Refresh Request) faza requisição para que o MN atualize sua conexão com o HA e CN. Esta mensagemé enviada com CN para o MN. Ela é utilizada para manter ativa a comunicaçãoentre MN e CN.

Binding Update Message: A mensagem BU é uma das mensagens mais importantesdo MIP, ela é enviada pelo MN ao HA e CN para registrar a sua nova localização.Ela contém o CoA, o tempo de vida do registro, e um flag para solicitar serviços doHA.

33

Page 62: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 4. GERENCIAMENTO DE MOBILIDADE

Binding Acknowledgement Message: A resposta ao BU é o BA. O BA confirma oregistro ou avisa que ele não pôde ser realizado pelo motivo especificado no campo"status".

Binding Error Message: A mensagem BE é utilizada pelo CN para sinalizar algumerro relacionado à mobilidade, que pode ser o recebimento de um pacote com HoAnão registrado no BC ou de um tipo de mensagem de mobilidade desconhecido.

As mensagens BU e BA foram reaproveitadas pelo PMIP. Porém, com o nome PBU ePBA como veremos na seção seguinte.

4.4 Proxy MIPv6

Os problemas decorrentes do MIPv6 e a demanda por um protocolo que permitisseo gerenciamento de mobilidade baseada na rede (Kempf, 2007), e não baseada nodispositivo móvel, motivou o desenvolvimento do protocolo PMIPv6 ou Proxy MIPv6(Gundavelli et al., 2008b).

No MIPv6 grande parte da sinalização de mobilidade passa pelo nó móvel. Conside-rando que normalmente este se trata de um dispositivo portátil conectado por um enlacesem fio, surgem alguns problemas. O enlace sem fio além de não ser confiável, normal-mente possui uma banda de transmissão bastante inferior ao das tecnologias de redevia cabo e é compartilhada por diversos dispositivos, o que pode ocasionar uma grandelatência de handover, além de aumentar o overhead sobre o canal sem fio prejudicando aescalabilidade do sistema. Além disso, uma sobrecarga ao enlace sem fio é gerado pelautilização do modo de tunelamento bidirecional, por encapsular os pacotes enviados peloCN dentro de outro cabeçalho IPv6.

Adicionalmente, quando o MIPv6 é usado, cria-se a necessidade de instalação defuncionalidade no nó móvel, o que aumenta o consumo de energia e de processamento dodispositivo, dois fatores limitadores em computação ubíqua. Os problemas apresentadospelo MIPv6 dificultaram o processo de implantação desse protocolo e contribuíram paraque ele não tivesse uma boa aceitação no mercado.

4.4.1 Visão Geral

O PMIPv6 (Gundavelli et al., 2008b) herda algumas das características trazidas peloprecursor MIPv6, como o cabeçalho de mobilidade, o formato de algumas mensagens e asestruturas de dados. A principal diferença ocorre pela retirada da função de gerenciamento

34

Page 63: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

4.4. PROXY MIPV6

de mobilidade do dispositivo do usuário, ou seja, o gerenciamento de handover não émais tarefa do dispositivo móvel do usuário.

O serviço de mobilidade do PMIPv6 é disponibilizado no contexto de um domínioadministrativo denominado domínio PMIPv6, ilustrado na Figura 4.4. Ele é compostopor dois tipos de dispositivos o LMA e o MAG, os quais possuem funções específicasrelacionadas à mobilidade na arquitetura PMIP. Na Figura 4.4 existe, ainda, um elementodenominado "Nó Correspondente"que pode representar qualquer terminal com o qual oMN se comunique, como por exemplo, um outro usuário, um servidor de vídeo ou web.

InternetNó Correspondente

(ex. Servidor de Streaming)

MAG1

MAG2

Domínio

PMIPv6

Nó Móvel

t0

Nó Móvel

t0 + 1

Handover

Figura 4.4: Visão Geral do PMIPv6

O MAG tem a função de detectar a chegada de um MN e realizar os procedimentosnecessários para oferecer o serviço de mobilidade a ele. Por outro lado, o LMA tem umafunção similar a do HA no MIPv6, controlando a disponibilidade do serviço de mobi-lidade. Pelo LMA passam todos os pacotes da comunicação entre o MN e dispositivosexternos ao domínio PMIP.

4.4.2 Fluxo de Mensagem do PMIPv6

O protocolo PMIPv6 utiliza alguns conceitos do MIP, algumas funcionalidades forammodificadas e outras acrescentadas para corrigir todos os defeitos que o MIP apresentava.

35

Page 64: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 4. GERENCIAMENTO DE MOBILIDADE

A seguir, será explicado o fluxo de mensagens do protocolo PMIP em dois casos, naconexão do MN ao domínio PMIP e no handover entre dois domínios.

4.4.2.1 Conexão

Quando estiver no domínio PMIPv6, o MN manterá sempre o mesmo endereço IPv6,ainda que mude seu ponto de acesso, sem se preocupar com qualquer sinalização demobilidade, que diferente do MIPv6, é realizada pelo núcleo da rede. A Figura 4.5 ilustraas trocas de mensagens no protocolo PMIPv6 no inicio da conexão de um MN no domínioPMIPv6.

[2] PBU

[3] PBA

[5] Pacotes de dados pelo túnel

MN MAG1 LMA CN

[1] RS

[4] RA

{Conexão MN/MAG1}

(Opções: MN-Id, ATT, HI, LLID, HNP)

A Criação do BCE

(Opções: MN-Id, ATT, HI, LLID, HNP)

Configuração de Endereço

B

(MN HNP)

Figura 4.5: Fluxo de Mensagens no início da conexão de um MN

• [1]: Inicialmente, o MN solicita conexão ao MAG para ingressar no domínioPMIP sendo esta solicitação feita utilizando-se a mensagem RS. Dentro do RSpossui um identificador do MN. O MAG utilizará este identificador para verificarno MNPP (Mobile Node Policy Profile), ou Perfil de Política do MN, se o serviçode mobilidade está disponível e autorizado para o MN.

• [2]: Se o MN não estiver autorizado, o MAG não envia nenhuma mensagempara o MN e ignora sua conexão. Se ele estiver autorizado, o MAG envia uma

36

Page 65: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

4.4. PROXY MIPV6

mensagem PBU ao LMA solicitando o serviço de mobilidade para o MN.

• [Evento A]: Ao receber o PBU, o LMA cria um BCE (Binding Cache Entry)para registrar as informações do MN.

• [3]: Em seguida, o LMA envia um PBA ao MAG incluindo um ou mais prefixosde rede a serem utilizados pelo MN para configurar seu endereço. Então, o LMAconfigura um túnel para o MAG a qual o MN se conectou e adiciona uma rota parao prefixo dado ao MN.

• [4]: O MAG, por sua vez, envia para o MN uma mensagem RA com o HNP (Home Network Prefix), ou prefixo de rede doméstica, contido no PBA.

• [Evento B]: Percebe-se que nas trocas de mensagem do PMIPv6, o usuário éum agente passivo. Diferente do MIPv6, o MN no PMIP apenas mostra interesseem ingressar na rede e todas as outra trocas de mensagens são realizadas apenaspelo núcleo da rede, desonerando o dispositivo do usuário da sobrecarga das trocasde mensagens. No PMIPv6 o usuário se conecta à uma rede (MAG1) recebe umRA e configura seu endereço a partir do HNP.

• [5]: O MN configura um endereço com as informações obtidas na mensagem RArecebida do MAG e inicia a comunicação com o CN através do túnel bi-direcionalentre o MAG1 e o CN.

4.4.2.2 Handover

Os protocolos de gerenciamento de mobilidade tentam criar mecanismos para mantera comunicação transparente do usuário enquanto este migra de uma rede para outra. OPMIPv6 é um dos protocolos mais eficientes para o gerenciamento de mobilidade, poisalém de não serem necessárias modificações no MN, a duração, chamada de latência,do processo de handover do PMIPv6 é bastante reduzida em comparação com seusconcorrentes, como abordado em (Kong et al., 2008). A Figura 4.6 mostra as trocas demensagens do PMIPv6 durante o processo de transferência de pontos de acesso.

• [1]: No cenário de handover, inicialmente o usuário está conectado à um MAG.Neste caso, ao MAG1, trocando informações com o CN. O LMA possui uma tabelaBC com os dados do MN, criado no início da conexão, como foi apresentado naSeção 4.4.2.2. Além disso, existe um túnel configurado entre o MAG1 e o LMA,por onde passa todos os pacotes trocados entre o MN e o CN.

37

Page 66: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 4. GERENCIAMENTO DE MOBILIDADE

HANDOVER

[1] Pacotes de dados MN/CN

[2] Detecção de Conexão

[3] PBU

[4.2] PBA

[5] Pacotes de dados pelo túnel

Deleta túnel antigo

MN MAG1 MAG2 LMA CN

{Conexão MN/MAG1}

[4] RA

[5] {Conexão MN/MAG2}

A

(Opções: MN-Id, ATT, HI, LLID, HNP)

(Opções: MN-Id, ATT, HI, LLID, HNP)

- Detecção de HANDOVER

- Atualização do BC

B

CCria novo túnel

(MN HNP)

[4.1] PBA (Tempo de Vida Expirado)

Figura 4.6: Fluxo de Mensagens durante o handover

• [2]: Ao entrar em uma nova rede, o MAG da nova rede, neste caso MAG2,detectará a presença do MN através de mensagens de camada de enlace, de acordocom a RFC do PMIP. Esta detecção é transparente ao usuário e não necessita denenhum intervenção do mesmo.

• [3]: Após detectar o novo usuário na rede, o MAG2 envia um PBU para o LMA.

• [Evento A]: Ao receber um PBU, o LMA identificará que se trata de um hando-

ver, pois apesar do MNid (Mobile Node Identifier), contido no PBU, ser o mesmo, oendereço do MAG de origem é diferente do endereço do MAG armazenado na basede dados para aquele MNid. O handover desencadeia uma série de atualizaçõesdentro do LMA e, subsequentemente, dentro dos MAGs, sendo uma das entidadesatualizadas o BC com informações novas sobre o MN em questão.

• [4.1]: O LMA enviará um PBA com tempo de vida esgotado ao MAG1 paraalertar que o dispositivo não se encontra mais conectado. Este também poderáidentificar a saída do MN através de sinalização da camada de enlace, que não édefinida na especificação do protocolo.

38

Page 67: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

4.4. PROXY MIPV6

• [4.2]: O LMA envia um PBA ao novo MAG, com as informações necessáriaspara a configuração de novos túneis e endereços.

• [Evento B]: Ao receber um PBA com tempo de vida expirado o MAG anterior,MAG1, deleta tudo que estava armazenado sobre o MN, incluindo entradas paratabelas de roteamento e túneis.

• [Evento C]: Ao receber o PBA, o MAG2 cria entrada de tabelas de roteamentoe um túnel bidirecional entre ele e o MN, caso ele ainda não exista. O MAG2também registra o MN como usuário do túnel. Agora todo pacote endereçado aoMN será encaminhado para o túnel.

• [4]: Para completar a operação, o MAG2 envia um RA ao MN, para que esteconfigure o endereço IPv6 utilizando o HNP contido no RA.

• [5]: Neste momento, tudo está configurado e o usuário poderá continuar suacomunicação entre ele e o CN. Vale lembrar que para maior satisfação do usuário,ou seja, para manter a qualidade de serviço em um nível alto, todo esse processo dehandover descrito precisa ser executado de forma otimizada, objetivando a mínimaou ausência de percepção do usuário sobre o processo.

Os processos de conexão e handover em uma rede PMIPv6 não seriam possíveis sema ajuda das estruturas de dados que compõem o protocolo. A seguir, serão explicadas asestruturas mais importantes para o funcionamento deste protocolo de gerenciamento demobilidade.

4.4.3 Estruturas de Dados

O PMIPv6 mantém as principais estruturas de dados do MIPv6, o Binding Cache e aBinding Update List, porém neste elas são encontradas respectivamente no LMA e noMAG. Além das duas, outra estrutura tem grande importância, o MN Policy Profile quepode ser armazenado nos dois tipos de nós PMIPv6 ou em um servidor separado quefornece informações de autenticação a ambos os tipos de nós.

As informações contidas no BC são as mesmas do MIPv6 com a adição de um flagde um bit para identificar se é um registro PMIPv6 e campos para guardar as informaçõesrecebidas nas opções de mobilidade junto ao PBU como identificador do MN, timestampdo último PBU recebido, indicador de handover, tipo de enlace de acesso e prefixosenviados.

39

Page 68: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 4. GERENCIAMENTO DE MOBILIDADE

Além das informações contidas no protocolo MIPv6, a BUL armazena o identificadordo MN, o endereço de camada de enlace, os prefixos de rede designados a ele, o endereçolink-local a ser utilizado pelo MAG na comunicação com ele, o endereço global doLMA responsável pelo MN, o identificador da interface comunicando com o MN e oidentificador da interface comunicando com o LMA em favor do MN.

O MN Policy Profile armazena as informações relacionadas ao serviço de mobilidadeoferecido ao nó móvel como o identificador do mesmo, uma flag indicando se ele éautorizado ao serviço de mobilidade, o endereço do LMA servindo-o, os identificadoresdas interfaces habilitadas ao PMIPv6 e os prefixos a serem designados a ele.

Além das mudanças nas estruturas de dados, o PMIPv6 adicionou algumas modifi-cações às informações constantes nas mensagens trocadas pelo protocolo MIPv6. Umflag de um bit foi adicionado às mensagens BU e BA do MIPv6 transformando-as nasmensagens PBU e PBA do Proxy MIPv6.

4.4.4 Comparação entre MIPv6 e PMIPv6

A Tabela 4.1 mostra algumas das características que diferem nos protocolos MIPv6 ePMIPv6. Este último consegue reduzir significativamente a sobrecarga em comparaçãocom o MIPv6. Enquanto o MIPv6 necessita de 2 mensagens de sinalização, após ohandover, para reiniciar a comunicação com um CN no modo de tunelamento bidirecionale mais 6 para o modo otimização de rota, o PMIPv6 necessita apenas de 2 mensagens nototal.

Tabela 4.1: Comparação entre MIPv6 e PMIPv6

Categoria MIPv6 PMIPv6Tipo de Gerenciamento Beseada no MN Baseada na redeEscopo de Mobilidade Mobilidade Global Mobilidade LocalizadaNecessita de Modifica-

ção no MNSim Não

Túnel no canal sem fio Utilizado Não UtilizadoEndereçamento Prefixo Compartilhado Prefixo exclusivoOtimização de Rota Suportada Não Necessária

Detecção de Movi-mento

RS/RA Camada de Enlace

Mensagens de sinaliza-çao que atravessam o ca-nal sem fio

No mínimo 2 para tunelamento bidi-recional. No mínimo 8 para otimiza-çao de rota

Nenhuma

Ao contrário de seu precursor, no PMIPv6 nenhuma mensagem de sinalização de

40

Page 69: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

4.5. CONSIDERAÇÕES FINAIS

handover é trocada no enlace entre o MAG (HA no MIPv6) e o MN, normalmenteconstituído de tecnologia sem fio com uma menor taxa de transmissão. O PMIPv6também não utiliza tunelamento bidirecional, deste modo, não adicionando nenhumasobrecarga na rede de acesso sem fio.

4.5 Considerações Finais

Neste capítulo, foram tratados diversos conceitos sobre gerenciamento de mobilidade.Foi explicado que esse gerenciamento surgiu da necessidade de handover entre as redescelulares e como esse conceito se estendeu para as redes IP sem fio. Alguns protocolosde gerenciamento de mobilidade foram discutidos, entre eles o MIPv6, que se tornoua base para outros protocolo como o PMIPv6 e que, por sua vez, serviu de inspiraçãopara a arquitetura PMIPFlow. No final do capítulo foi apresentado uma comparaçãosimplificada das características dos protocolos MIPv6 e PMIPv6.

O PMIPflow foi inspirado no PMIPv6 sendo ele um protocolo mais robusto e bastanteutilizado para mobilidade IP. Ele possui uma latência (atraso do processo) de handover

menor que o MIPv6, e suas operações são baseada na rede e não no nó móvel. Comisso, todos esses benefícios também são incorporados ao PMIPFlow. Na próxima seção,serão abordados os aspectos mais importantes da arquitetura do PMIPFlow, como asinalização de conexão e handover e como ele foi implementado dentro do conceito deredes definidas por software.

41

Page 70: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade
Page 71: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

5Arquitetura PMIPFlow

"Eu espero que todo homem lute até o limite

para conseguir o prêmio de sua vida."

—SIR ERNEST SHACKLETON

A integração de redes sem fio com Openflow não é tarefa trivial, o que pode serratificado pela quantidade limitada de trabalhos correlatos existentes na literatura. Estecapítulo apresenta uma proposta para o gerenciamento de mobilidade em redes sem fiodefinidas por software, denominada PMIPFlow.

O PMIPFlow foi inspirado no gerenciamento de mobilidade baseado na rede NetLMM(Internet Engineering Task Force, 2010), implementado pelo protocolo PMIPv6. Assim,como no PMIPv6, na arquitetura PMIPFlow, o terminal fica isento de qualquer sinalizaçãoextra referente ao procedimento de handover, além de usufruir dos benefícios do núcleoSDN.

Este capítulo está organizado da seguinte forma. A Seção 5.1 apresenta os elementosque compõem a arquitetura da proposta PMIPFlow. A sinalização envolvida na solução édetalhada na Seção 5.2. Em seguida, na Seção 5.3 será detalhada a implementação doPMIPFlow. Por fim, a Seção 5.4 descreve as considerações finais do capítulo.

5.1 Arquitetura

A Figura 5.1 mostra o cenário, destacando as entidades da arquitetura PMIPFlow.O PMIPFlow está dividido em duas partes principais: O OMAG (Openflow Mobility

Access Gateway) e o componente PMIPFLow-LMA. Este último é uma aplicação execu-tada no LMA-NOX, controlador OpenFlow da arquitetura PMIPFlow. Nesta arquitetura,cada célula, servida por um OMAG, forma o chamado domínio PMIPFlow.

43

Page 72: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 5. ARQUITETURA PMIPFLOW

Comutador OpenFlow

(OMAG) OpenFlow

Mobility Access Gateway

(PMIPFlow Gateway)

Usuário Móvel

(OMAG) OpenFlow

Mobility Access

Gateway

Usuário Móvel

Usuário Móvel

Handover

Usuário Móvel

CN

(Nó Correspondente)

Controlador_Bob

Controlador_Alice

Slices/Fatias

Domínio

PMIPFlow

Domínio

PMIPFlow

(PMIPFlow Gateway)

LMA-NOX

(PMIPFlow-LMA em execução)

Figura 5.1: Arquitetura PMIPFlow

• O OMAG é um agente de mobilidade, que reside na borda da rede OpenFlowmonitorando os movimentos dos usuário sob o seu controle, se algum usuário sairde sua cobertura ele deve acionar o PMIPFlow-LMA informando o acontecimentodeste evento. O OMAG também pode iniciar o procedimento de handover para umusuário que esteja na iminência de sair da área de cobertura da rede.

• O LMA-NOX é um controlador especial no qual a aplicação PMIPFlow-LMAé executada. O PMIPFLow-LMA possui duas funções principais: criar regrasnos switches OpenFlow para atender às necessidades de mobilidade dos clientesdo OMAG, receber e tratar mensagens PBU, enviar mensagens PBA ao MN eservir como servidor de AAA (Authentication, Authorization and Accounting)barrando todo e qualquer usuário não autorizado na rede. O PMIPFlow-LMA foidesenvolvido a partir do conceito de LMA no PMIPv6, porém com modificaçõespara transformá-lo em um componente de controlador. Ao invés de criar túneis IP,como o LMA no PMIPv6, o PMIPFLow-LMA recebe o PBU, cria regras na tabelade encaminhamento do switch OpenFlow e envia o PBA de volta para os OMAGs.

Além do OMAG e do PMIPFlow-LMA, é possível verificar que existem gateways

PMIPFlow na arquitetura representado na Figura 5.1. Estes gateways servem como ponto

44

Page 73: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

5.2. SINALIZAÇÃO

de saída OpenFlow do domínio PMIPFlow. A proposta pode ser estendida tanto emtermos de adição de novos usuário como em termos de expansão do núcleo da rede, poisse o núcleo da rede crescer, com a inclusão de elementos OpenFlow, a operação dosOMAGs e do PMIPFlow-LMA não serão afetadas por estarem na borda da rede.

O PMIPFlow pode ser executado concorrentemente com outras aplicações do con-trolador sem interferir na operação da rede. Pois, é possível criar fatias especializadaspara clientes móveis e separar as fatias de clientes móveis das fatias de clientes fixos. Porexemplo, é possível executar um Controlador_Alice e um Controlador_Bob

com várias aplicações sem interferir nas operações do LMA-NOX. Mais informaçõessobre a criação de fatias ou slices na Seção 3.5.

Pode-se observar ainda a presença, na Figura 5.1, de um comutador OpenFlow. Estecomutador ou (switch) OpenFlow forma o núcleo da rede SDN do PMIPFlow, é neleque serão instaladas regras de encaminhamento, criadas fatias de redes, priorização detráfego, enfim, todas as operações SDN. Ele é o elemento que o PMIPFlow-LMA irácontrolar, através do LMA-NOX, durante as operações do PMIPFlow.

5.2 Sinalização

O PMIPFlow possui dois tipos de sinalização: conexão e handover. Na sinalização deConexão o usuário apenas seleciona a rede e se conecta, por outro lado, no handover, ousuário, já conectado, migra de uma rede para outra dentro do domínio PMIPFlow.

5.2.1 Conexão

Quando estiver no domínio do PMIPFlow, o MN manterá sempre o mesmo endereçoIPv6, ainda que mude seu ponto de acesso, sem se preocupar com qualquer sinalizaçãode mobilidade, pois esta será realizada pelo núcleo da rede. A Figura 5.2 ilustra as trocasde mensagens entre as entidades da rede no início da conexão de um MN no domínioPMIPFlow.

A seguir o significado de cada mensagem trocada e os eventos importantes queocorrem.

• [1]: Inicialmente, o MN solicita conexão com o OMAG para ingressar no domínioPMIPFlow, essa solicitação feita utilizando-se a mensagem RS (Router Solicitation).Dentro do RS possui um identificador do MN chamado MNid (Mobile Node

Identifier). O PMIPFlow-LMA utilizará este identificador para verificar no MNPP,

45

Page 74: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 5. ARQUITETURA PMIPFLOW

NOX

[2] PBU

[4] PBA

[6] Pacotes de dados MN/CN

MN OMAG1 PMIPFlow-LMA Switch Openflow

[1] RS

[5] RA

{Conexão MN/OMAG1}

(Opções: MN-Id, ATT, HI, LLID, HNP)

A Criação do BCE

(Opções: MN-Id, ATT, HI, LLID, HNP)

Configuração de EndereçoB

(MN HNP)

CN

[3] Criação de Regra na

Tabela de Encaminhamento

Figura 5.2: Sinalização de Conexão no Domínio PMIPFlow

ou Perfil de Política do MN, se o serviço de mobilidade está disponível e autorizadopara o MN. Essa autenticação também poderia ser feita através de um servidor deautenticação RADIUS (Remote Authentication Dial In User Service).

• [2]: Se o MN não estiver autorizado, o OMAG não envia nenhuma mensagempara o MN e ignora sua conexão. Do contrário, o OMAG envia uma mensagemPBUao PMIPFlow-LMA solicitando o serviço de mobilidade ao MN.

• [Evento A]: Ao receber o PBU, o PMIPFlow-LMA cria um BCE para registraras informações do MN. Até esse ponto, as operações de trocas de mensagens sãosemelhantes às do PMIPv6, a partir deste ponto o PMIPFlow-LMA deixa de serapenas um LMA para tomar decisões como componente NOX.

• [3]: Após criar o BCE, o PMIPFlow-LMA cria regras de encaminhamento dentrodo switch OpenFlow para definir o caminho que os próximos pacotes MN irãotomar em direção ao CN.

Percebe-se que a sinalização de conexão já é a sinalização inicial de criação deregra de encaminhamento. Em uma rede OpenFlow, todo primeiro pacote é enviadoprimeiramente ao controlador, para que este defina as regras necessárias para opróximo pacotes do mesmo fluxo. No caso do PMIPFlow, o primeiro pacote já

46

Page 75: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

5.2. SINALIZAÇÃO

é a sinalização de mobilidade e a regra já é instalada na tabela, de modo que oprimeiro pacote de dados do usuário seja enviado diretamente para o CN e nãoprimeiramente ao controlador.

• [4]: Após criar o BCE e instalar regras de encaminhamento no switch OpenFlow,o PMIPFlow-LMA envia um PBA ao OMAG incluindo um ou mais prefixos derede a serem utilizados pelo MN para configurar seu endereço.

Nesta etapa, o PMIPFlow-LMA configuraria um túnel para o OMAG, porém, acriação de túneis já não faz mais sentido uma vez que as regras de encaminhamentono switch OpenFlow se encarregam de enviar os pacotes para o destino certo. Acriação de túneis IP do PMIP foi substituída pela criação de regras no swtich

OpenFlow.

• [5]: O OMAG, ao receber o PBA, envia para o MN uma mensagem RA com oHNP, ou prefixo de rede doméstica, contido no PBA.

• [Evento B]: Percebe-se que nas trocas de mensagem do PMIPFlow, o usuário éum agente passivo, todos as outra trocas de mensagens são realizadas apenas nonúcleo da rede, desonerando o dispositivo do usuário do overhead das trocas demensagens.

• [6]: Após receber o RA, o MN configura seu endereço com as informaçõesobtidas na mensagem RA recebida do OMAG e inicia a comunicação com o CNpassando pelo OMAG1 e switch OpenFlow.

5.2.2 Handover

Com o advento das redes definidas por software, é desejável que o procedimento dehandover seja o mais transparente possível também nessa nova arquitetura de rede.O PMIPFlow surge para tentar criar uma solução padronizada de gerenciamento demobilidade para este novo paradigma de redes definidas por software. A seguir, seráexplicada a troca de mensagens que ocorrem durante o handover dentro do domínioPMIPFlow. A Figura 5.3 detalha as trocas de mensagens durante o processo.

A seguir a explicação de cada mensagem e evento mostrando na Figura 4.6.

• [1]: No cenário de handover, inicialmente o usuário está se comunicando como CN conectado a um OMAG (Openflow Mobility Access Gateway) . Dentro doswitch OpenFlow existem tabelas de encaminhamento que ligam o MN ao CN

47

Page 76: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 5. ARQUITETURA PMIPFLOW

NOX

HANDOVER

[1] Pacotes de dados MN/CN

[2] Detecção de Conexão

[3] PBU

[5.2] PBA

MN OMAG1 OMAG2 PMIPFlow-LMA Switch OpenFlow

{Conexão MN/MAG1}

[6] RA

{Conexão MN/OMAG2 Estabelecida}

A

(Opções: MN-Id, ATT, HI, LLID, HNP)

(Opções: MN-Id, ATT, HI, LLID, HNP)

- Detecção de HANDOVER

- Atualização do BCE

(MN HNP)

[5.1] PBA (Tempo de Vida Expirado)

CN

[4] Modifica regras existentes

<<OpenFlow>>

[8] Pacotes de dados MN/CN

Figura 5.3: Sinalização de Handover dentro do Domínio PMIPFlow

passando pelo OMAG1. No PMIPFlow-LMA existe uma entrada na tabela BCcom os dados do MN, criado no início da conexão. Neste momento, o MN iniciaum movimento para fora da área de cobertura do OMAG1 e para dentro da área doOMAG2.

• [2]: Ao entrar em uma nova rede, o OMAG da nova rede, neste caso OMAG2,detectará a presença do MN através de beacons de camada 2, de acordo com aRFC do PMIP. Esta detecção é transparente ao usuário e não necessita de nenhumintervenção do mesmo.

• [3]: Após detectar o novo usuário na rede, o OMAG2 envia um PBU para oPMIPFlow-LMA.

• [Evento A]: Ao receber um PBU, o PMIPFlow-LMA identificará que se tratade um handover, pois o endereço de origem deste PBU é diferente do endereçode origem do antigo, porém o MNid é o mesmo. O handover desencadeia duasatualizações importantes: a primeira é a atualização o BC dentro do PMIPFlow-LMA e a segunda é na tabela de encaminhamento do switch.

• [4]: Após verificar a ocorrência do handover, além de atualizar o BC, o PMIPFlow-LMA também faz uma modificação nas regras existentes para aquele MNid dentrodo switch OpenFlow.

48

Page 77: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

5.3. IMPLEMENTAÇÃO DO PMIPFLOW

• [5.1]: O OMAG1 precisa ser informado, sobre a saída do MN de seus domínios.Após as configurações necessários do MN no OMAG2, este último envia ummensagem PBA com tempo de vida expirado para o OMAG1, este por sua vez,inicia o processo de remoção das informações do MN, para liberação de recursos.

• [5.2]: Após as atualizações necessárias, o PMIPFlow-LMA envia um PBAao novo OMAG, com as informações necessárias para a configuração de túneisinternos e endereços.

• [6]: Para completar a operação, o OMAG2 envia um RA ao MN, para que esteconfigure o endereço IPv6 utilizando o HNP contido no RA.

• [7]: Neste momento, tudo está configurado e o usuário poderá continuar suacomunicação com o CN. Vale lembrar que para maior satisfação do usuário, ouseja, para manter a qualidade de serviço em um nível alto, todo esse processode handover descrito precisa ser executado o mais rápido possível, objetivando amínima ou ausência de percepção do usuário sobre o processo.

5.3 Implementação do PMIPFlow

Esta Seção descreve a Implementação do PMIPFlow para Linux e foi reservada ao leitorque busca informações aprofundadas sobre a implementação da proposta.

A implementação foi nomeada de pmipflow6d, o "d"no final significa daemon ou"Disk and Execution Monitor"que se refere a um aplicativo que roda em plano de fundo.A Implementação do pmipflow6d foi dividida em duas, a implementação do OMAG e aimplementação do PMIPFlow-LMA. A primeiro é executada junto ao ponto de acessopara rastrear e gerenciar a mobilidade do usuário, a segunda roda dentro do controladorfuncionando como uma aplicação. Por conveniência, no PMIPFlow, utilizou-se osmesmos nomes de mensagens, como PBU, PBA, e de estruturas como BCE, BUL, MNPPadotados pelo PMIP.

A Seção começa evocando as motivações para que esse projeto fosse desenvolvido,seus objetivos e sua origem. Então, descreve a estrutura do programa, e logo após o passoa passo de sua execução. Uma seção detalha as opções de configuração disponíveis, efinaliza descrevendo os dois modos de operação do aplicativo e a diferença entre eles.

49

Page 78: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 5. ARQUITETURA PMIPFLOW

5.3.1 Visão Geral

O pmipflow6d é um aplicativo desenvolvido em C++ que utiliza a biblioteca ipv6 dispo-nível para Linux e algumas funções de comunicação entre userspace e kernelspace paramodificar tabelas de roteamento, adquirir informações de interfaces de rede e criar inter-faces virtuais chamadas túneis . Ele executa em plano de fundo monitorando os pacotesrecebidos pelo nó através da interface de sockets e executando funções em respostas aeventos específicos.

5.3.2 Objetivo

O primeiro objetivo é desenvolver uma implementação do protocolo com suporte àfuncionalidade descrita na especificação para permitir que dispositivos móveis mantenhamo mesmo endereço IPV6 ao mudar seu ponto de acesso dentro de uma rede PMIPFlow,mantendo a comunicação corrente do usuário.

O segundo é integrar o protocolo à uma arquitetura de redes definidas por software,neste caso, utilizando o OpenFlow com o objetivo de criar um gerenciamento de mobili-dade eficiente nesse novo tipo de arquitetura.

5.3.3 Origem

O PMIPFlow foi baseado no projeto MIPv6 for Linux ou MIPL (Nuorvala, V., Petander,H., and A. Tuominen, 2001), desenvolvido inicialmente na "Helsinki University of Tech-nology"em 2001, que se tornou a implementação mais conhecida do MIPv6 para Linux.Hoje ela é mantida pelo Usagi Project 1, principal grupo envolvido no desenvolvimentoe manutenção da pilha IPv6 para Linux, recebendo o nome de Usagi MIP ou UMIP. Ocódigo original encontra-se na versão 0.4 e suporta as versões mais recentes do kerneldo Linux, sendo testado até a versão 3.7. Ele suporta toda a funcionalidade definida naespecificação do MIPv6.

5.3.4 Pré-Requisitos

O pmipflow6d foi desenvolvido para plataforma GNU/Linux e testado nas distribuiçõesDebian e Ubuntu, porém, ele deve funcionar em todas as distribuições GNU/Linux sendonecessário apenas pequenos ajustes, como instalação de bibliotecas ou mudanças nasvariáveis de ambiente. Além disso, o sistema deve ter o IPv6 habilitado, ou seja, todas as

1http://www.umip.org/

50

Page 79: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

5.3. IMPLEMENTAÇÃO DO PMIPFLOW

funcionalidades relacionadas ao protocolo devem estar presentes, como a configuração deendereços, o envio e recebimento de pacotes, as tabelas de roteamento, e mais protocolosassociados como o protocolo Neighbor Discovery e o recebimento e envio de mensagensICMPv6 (ICMP IPv6). Isso é alcançado habilitando as opções do IPv6 na configuraçãodo kernel antes da compilação. Também devem ser habilitadas, as opções relativas àmobilidade e à configuração de túneis IPv6-IPv6.

Normalmente é necessário compilar novamente o código fonte do programa devido adiferenças de configuração entre sistemas. Para isso é necessário um compilador C/C++compatível com a versão do código fonte, foi testada a versão 4.7 do compilador gcc/g++.Existem mais outros programas também necessários para uma compilação bem sucedida.Mais informações podem ser encontradas no Apêndice B.

5.3.5 Estrutura do Programa

As principais mudanças não ocorreram na estrutura do UMIP, mas internamente aoscomponentes, nas funções executadas em resposta aos eventos, nos dados armazenadosnas estruturas de dados e no formato das mensagens de sinalização do protocolo. Osprincipais componentes do programa são descritos a seguir.

Existem três estruturas de dados que armazenam as informações de funcionamento doprotocolo PMIPFLow: o BC (Binding Cache), o BUL (Binding Update List) e o MNPP (Mobile Node Policy Profile). O BC é criado apenas no PMIPFlow-LMA, dentro doLMA-NOX, e o BUL apenas no modo OMAG, já o MNPP é criado em ambos os modos edeve armazenar as mesmas informações do mesmo nó móvel em todos os dispositivos dodomínio. O desenvolvimento de um protocolo de sincronização entre os dados dos MNPPou implementação de um servidor de autenticação para fornecer essas informações sãoplanos de trabalhos futuros. As interfaces desses componentes contêm um conjunto defunções utilizadas para manipulação dos dados armazenados e manutenção das estruturasde dados.

5.3.5.1 Subsistema de Comunicação com o Kernel

A comunicação com o kernel tem um papel fundamental no funcionamento do aplicativoe fornecimento do serviço de mobilidade. Três tipos de comunicação com o kernel sãorealizadas pelo pmipflow6d: sockets IPv6, interface NETLINK e controle de túnel. Aprimeira é utilizada para receber e enviar pacotes pelos dispositivos de rede. A interfaceISockSend contém as funções de envio de pacotes genéricos pelo socket, a interface

51

Page 80: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 5. ARQUITETURA PMIPFLOW

ISockRecv contém as funções de monitoramento para a chegada de pacotes de umdeterminado protocolo e conseqüente recebimento em um formato genérico, e a interfaceISockConf contém as funções de configuração dos sockets.

A interface NETLINK é utilizada para transferir informações entre processos rodandono espaço do usuário e processos no espaço do kernel. No pmipflow6d é realizadacomunicação com duas famílias de processos do kernel, a família Route que permite fazermodificações aos endereços de interfaces e tabelas de roteamento, e a família XFRMque permite gerenciar regras de segurança. Assim sendo, são definidas duas interfacespara esse componente: IROUTE e IXFRM. A primeira contém as funções de adição eremoção de endereços IPv6, adição e remoção de rotas, e adição e remoção de regras deroteamento. A segunda contém funções de adição e remoção de políticas de segurançaque permitem ou proíbem a entrada de pacotes com determinadas características.

O controle de túnel é utilizado para configurar dispositivos de rede virtuais chamadostúneis pelos quais a todos os pacotes enviados será acrescentado um novo cabeçalhoipv6 com um endereço de origem e destino específico configurados neles. A interfaceITunnelCtl define funções para criar e remover túneis, e mudar as configurações de umtúnel disponível.

O recebimento de pacotes com cabeçalho de mobilidade ocorre em um thread se-parado. A interface IMH fornece a função para iniciar o recebimento de pacotes MH.Paralelamente o recebimento de pacotes ICMPv6 ocorre em outro thread e a interfaceIICMPv6 fornece a função para iniciar o recebimento desses pacotes.

5.3.5.2 Sequência de Execução

A função principal inicia a execução do programa, ela inicializa variáveis e estrutu-ras de dados e registra os handlers que serão utilizados. Ela também cria três threads

que são os principais responsáveis pelo funcionamento do aplicativo através do rece-bimento de eventos e chamada de funções para tratá-los, são eles: mh_listener,icmp6_listener e tq_runner. Os dois primeiros iniciam executando as funçõesmh_listen eicmp6_listen respectivamente, que são notificados do recebimentode pacotes dos sockets do Linux e invocam funções através dos handlers. O terceiroinicia executando a função runner, que trata eventos temporais de tarefas na TQ e convocaas funções de callback dessas tarefas. A seguir será descrita a sequência principal deinicialização do programa.

• As variáveis de configuração são inicializadas com os valores indicados no arquivode configuração;

52

Page 81: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

5.3. IMPLEMENTAÇÃO DO PMIPFLOW

• O thread tq_runner é criado, sua sequência de execução é a seguinte:

– Obtém o tempo atual;

– Obtém o primeiro registro da Fila de Tarefas;

– Se o tempo de vencimento desta tarefa for menor que o tempo atual, ou seja,a tarefa já venceu, remove o registro da lista e executa a função de callbackrelacionada ao registro;

– Repete o processo;

• Um socket IPv6 é aberto para envio e recebimento de pacotes com cabeçalho demobilidade;

• O thread mh_listener é criado, sua sequência de execução é a seguinte:

– Aguarda a chegada de um pacote pelo socket aberto anteriormente;

– Verifica o tipo de cabeçalho de mobilidade;

– Obtêm um handler para a mensagem recebida através da interface de handlers;

– Executa a função contida no handler para processamento do pacote;

– Aguarda a chegada de outro pacote e reinicia o processo;

• Um socket ICMPv6 é aberto para envio e recebimento de pacotes ICMPv6;

• É definido um filtro para os pacotes recebidos por esse socket, permitindo apenasdeterminados pacotes em cada modo de operação;

• O thread icmp6_listener é criado, sua sequência de execução é a seguinte:

– Aguarda a chegada de um pacote pelo socket;

– Verifica o tipo da mensagem;

– Obtém um handler para o tipo específico;

– Executa a função contida no handler para processamento do pacote;

– Aguarda a chegada de outro pacote e reinicia o processo;

• São adicionadas políticas de segurança através da interface IXFRM para permitir aentrada e saída de pacotes de sinalização do protocolo;

• Cria um socket IPv6 para gerenciamento de túneis IPv6-IPv6;

53

Page 82: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 5. ARQUITETURA PMIPFLOW

• Inicializa um dos modos de operação: OMAG;

• Aguarda o recebimento de um sinal para finalizar o programa.

5.3.6 Configuração do PMIPFlow

O PMIPFlow obtêm algumas informações de configuração, como valores de variáveis emodo de operação, de um arquivo de configuração. A seguir são apresentadas as opçõesde configurações utilizadas pelo pmipflow6d.

• NodeConfig: define o modo de funcionamento do aplicativo. No pmipflow6d, seuúnico valor aceitável é "OMAG";

• DebugLevel: quanto maior o valor, mais mensagens de depuração são exibidas.Nenhuma mensagem é exibida se o valor dessa variável é zero. O valor típico, queexibe todas as mensagens, é 10;

• DebugLogFile: define o caminho de um arquivo para escrever as mensagens dedepuração. Por default escreve na saída padrão. Quando em modo de depuração(DebugLevel maior que zero) o aplicativo só executa em modo daemon se essavariável for definida;

• TimestampBasedApproachInUse: o protocolo cita dois modos de ordenação de pa-cotes, através de timestamps, que identificam o momento em que eles foram criadose exige sincronização do tempo entre os nós, e através de números de sequênciacujo mecanismo não foi especificado. A implementação permite ordenação apenaspor timestamps, portanto o valor dessa opção deve ser um, ela foi criada pensandona inclusão da outra funcionalidade no futuro. As opções a seguir são válidasapenas para o modo OMAG:

• OMAGInterfaceLMA-NOX: define a interface pela qual os pacotes destinados aoLMA-NOX devem ser enviados. Recebe como valor uma string com o nome dainterface, por exemplo, "eth0";

• OMAGEgressGlobalAddress: endereço global com que o OMAG se comunica como PMIPFlow-LMA, também chamado de Proxy CoA;

• FixedOMAGLinkLocalAddress: se definida, essa opção especifica o endereço queserá utilizado por todos os OMAGs no mesmo domínio. Isso é feito para que oMN não precise configurar rotas quando realizar handover. Se esta opção não for

54

Page 83: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

5.3. IMPLEMENTAÇÃO DO PMIPFLOW

especificada, o OMAG receberá o endereço linklocal que usará na comunicaçãocom o MN;

• InitialBindackTimeoutFirstReg e InitialBindackTimeoutReReg: o tempo de esperainicial de um PBA de registro e o tempo de espera inicial de um PBA de atualizaçãode registro. Por default recebem o valor 1 e 1.5 respectivamente. As opções aseguir são válidas apenas no modo PMIPFlow-LMA:

• TimestampValidityWindow: define a janela de validade do timestamp dos PBUsrecebidos, para que o pacote seja aceito seu timestamp deve ser no mínimo o tempoatual menos a janela;

• HaMaxBindingLife: opção herdada do HA define o tempo de vida máximo de umregistro no BC. As opções a seguir configuram o registro de um MN ao serviço demobilidade em um MNPP:

• MNIdentifier: o identificador do MN. Igual a um endereço MAC no formato"AA:AA:AA:AA:AA:AA"entre aspas. As próximas opções são inclusas entreaspas após esta para especificar informações do registro deste MN:

– PMIPFlowEnabled: uma variável boleana que define se o MN está habilitadoao serviço de mobilidade;

– LMA-NOXAddress: o endereço do LMA-NOX que o MN é registrado;

– SupportedConfigurationMode: especifica o tipo de configuração do endereçodo MN por um numero inteiro, por enquanto apenas zero (configuraçãoautomática) está disponível;

– HomeNetworkPrefix: prefixo que será utilizado pelo nó móvel, por enquantoé possível configurar apenas um prefixo por nó móvel;

– PMIPFlowInterface: interface pela qual o nó móvel se conecta a rede, porenquanto apenas uma disponível, mas esta opção será utilizada para múltiplasinterfaces com o mesmo IP.

– HomePrefixLifetime: o tempo de vida dos prefixos registrados pelo MN emsegundos.

5.3.7 Modo de Operação OMAG

O aplicativo pmipflow6d possui dois modos de operação, um para funcionamento comoOMAG e outro como PMIPFlow-LMA. A estrutura do programa e a sequência de

55

Page 84: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 5. ARQUITETURA PMIPFLOW

execução são as mesmas em ambos os modos, as diferenças estão presentes apenas noprocessamento das mensagens, nas informações das estruturas de dados e nas tarefas daFila de Tarefas (TQ).

Quando executando em modo OMAG, o aplicativo inicializa a BUL, registra handlers

para o recebimento das mensagens RS e ICMPv6 Parameter Problem no socket ICMPv6,libera a entrada dessas mensagens no filtro deste socket e registra um handler pararecebimento de mensagens PBA. A partir daí a chegada de uma dessas mensagensresultará na execução das funções de processamento.

Além disso, a adição de entradas na BUL causa a inclusão de tarefas na TQ pararenovação de registros, reenvio de solicitações de registro e remoção de registros. Aprimeira é tratada pela função de callback pbu_refresh, a segunda pela funçãopbu_resend e a terceira pela função bul_expire.

5.3.7.1 Detecção de Movimento

A detecção de movimento nesta implementação é feita pelo recebimento de uma men-sagem de solicitação de roteador enviada pelo MN para o MAG com o qual ele se liga.Quando a thread icmp6_listener receber uma mensagem tipo RS em um MAG, eleirá repassar para a função mag_recv_router_sol, que a processará e realizará asações necessárias para registro ou atualização de registro para o serviço de mobilidade.

56

Page 85: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

5.3. IMPLEMENTAÇÃO DO PMIPFLOW

5.3.8 Modo de Operação PMIPFlow-LMA

A descrição de implementação apresentada até aqui serve tanto para o OMAG quandopara o PMIPFlow-LMA, porém este último necessita além do descrito acima, de umcódigo especial para fazer dele um componente NOX.

O PMIPFlow-LMA é a entidade mais importante do PMIPFlow, nela reside todaa inteligência da arquitetura, tanto para o gerenciamento de mobilidade quanto parao gerenciamento dos switches OpenFlow. O PMIPFLow-LMA foi desenvolvido combase no código switch.cc que vem junto ao NOX/C++, este código implementa umsimples switch como componente do NOX. O trecho de código mostrado em 5.1 mostrao cabeçalho da classe PMIPFlow-LMA. Essa classe herda, como todo componente doNOX, da classe Component.

No trecho de código 5.1, são exibidas algumas funções importantes para implemen-tação do componente NOX PMIPFlow-LMA. A seguir a explicação dos aspectos maisimportantes do código 5.1. A versão completa do código está descrita no Apêndice B.

namespace pmipflow_lma

{ Vlog_module l g ( " PMIPFlow−lma " ) ;

c l a s s PMIPFlow : p u b l i c Component

{ LMA *lma ;

p u b l i c :

PMIPFlow ( c o n s t Componen t_con tex t * c )

: Component ( c ) { s e t u p _ f l o w s = t rue ; }

void pmipflow−l m a _ c a l l b a c k ( auto& dp , ofp_match f low ) ;

void c o n f i g u r e ( ) ;

void i n s t a l l ( ) { }

D i s p o s i t i o n h a n d l e _ d a t a p a t h _ j o i n ( c o n s t Event &);

D i s p o s i t i o n h a n d l e _ d a t a p a t h _ l e a v e ( c o n s t Event &);

D i s p o s i t i o n h a n d l e _ p a c k e t _ i n ( c o n s t Event &);

Exemplo de código 5.1: pmipflow-lma.cc

A Seguir a explicação das principais funções apresentadas em 5.1

• handler_packet_in (linha 16): Essa função é chamada toda vez queum pacote entra no switch, nela é executada a função que liga o componente àimplementação do lma, chamada pmipflow-lma_connect.

57

Page 86: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 5. ARQUITETURA PMIPFLOW

• handler_datapath_leave (linha 15): Essa função é chamada todavez que um novo datapath (switch) sai da rede ou deixa o controlador.

• handler_datapath_join (linha 14): Ao contrário da função anterior,esse é chamada quando um datapath (switch) se conecta ao componente.

• pmipflow-lma_callback (linha 11): Esta é uma função callback e éenviada junto com a função pmipflow-lma_connect para callback, ela instalafluxos e grava os MACs dos pacotes que chegam na rede. Esta função faz todo ogerenciamento de mobilidade, atualizando o BC e criando pacotes PBA de resposta.

5.4 Considerações Finais

Nesta seção foi tratada a teoria por trás do PMIPFlow, as entidades que compõem oframework e como elas trocam mensagens durante o processo de conexão e no handover,a implementação da proposta no Linux e as estruturas de dados utilizadas, a detecçãode movimento da proposta e os modos de operação. No Capítulo 7, será apresentadomais detalhes sobre a implementação da arquitetura PMIPFlow e como o protótipo daarquitetura foi desenvolvido.

58

Page 87: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

6Proposta de Antecipação de Handover

"Ao lado de todo grande homem,

sempre existe uma grande mulher"

—DESCONHECIDO

As RFCs de protocolos de gerenciamento de mobilidade não padronizam o gatilhode início do procedimento de handover, ou seja, a inteligência desse gatilho fica porconta de alguma proposta a ser implementada junto com a arquitetura, o mesmo valepara o PMIPFlow. Melhorar latência, ou seja, reduzir o tempo do processo de handover

é crucial em serviços multimídia de tempo real, pois quebras de conexão e perdas depacotes podem gerar degradações.

Dessa forma, além da contribuição da arquitetura PMIPFlow, propõe-se, também, umasolução baseada em lógica fuzzy para antecipar o mecanismo de handover da arquiteturaPMIPFlow e reduzir de forma proativa o atraso desse processo, fazendo com que eleseja realizado de forma transparente ao usuário e ao serviço corrente, minimizando asperdas de pacotes devido possíveis quebras de conexão. Nesse e em todos os outrosCapítulos, "PMIPFlow(Fuzzy)"fará referência à arquitetura PMIPFlow com a propostade antecipação Fuzzy.

Este capítulo está organizado da seguinte forma. A seção 6.1 apresenta os conceitospor trás da proposta de antecipação de handover para arquitetura PMIPFlow, nesta seçãoé apresentada a representação esquemática do PMIPFlow(Fuzzy). Em seguida, na seção6.2, é apresentada as variáveis de entrada do sistema, nessa seção é descrito como cadavariável. A formação dos conjuntos fuzzy, os quais servirão como motor de inferência,são apresentado na seção 6.3, para cada variável de entrada existe um conjunto fuzzy eem todo sistema existe uma saída, ao todo são formados vinte e sete regras de inferência.

59

Page 88: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 6. PROPOSTA DE ANTECIPAÇÃO DE HANDOVER

A última seção conclui este Capítulo.

6.1 Sistema PMIPFlow(Fuzzy)

Diferentemente da lógica tradicional, que utiliza valores exatos, a lógica fuzzy é umsistema capaz de trabalhar com informações imprecisas e transformá-las em uma lingua-gem matemática de fácil implementação computacional. Ele é uma ferramenta bastanteutilizada em sistemas que precisam de uma tomada de decisão baseado em variáveisimprecisas. A seguir, algumas vantagens da utilização da lógica fuzzy (?).

• É bastante usado para tomadas de decisão;

• Reduz o tempo de desenvolvimento;

• Capacidade de operar com dados imprecisos;

• Pode ser utilizado para modelar funções não lineares e complexas.

• Sistemas avançados precisam de menos chips e sensores (menos estruturas decontrole);

• Implementável facilmente em microcontroladores, como sistemas de máquinasfotográficas, máquina de lavar roupas, freios ABS, ar condicionado e etc.

• É também usado em seleção de redes sem fio;

Um sistema fuzzy é constituído pela processo de fuzzificação, que traduz as variáveisde entrada em conjuntos fuzzy. Pela inferência, que realiza o raciocínio fuzzy com baseem um sistema de regras que relaciona as variáveis de entrada com as de saída. E peladefuzzificação, que é a tradução da saída num valor numérico.

A Figura 6.1 apresenta o esquema da proposta PMIPFlow(Fuzzy), a seguir cada blococonstrutor da arquitetura será explicado com mais detalhes.

• Sistema de Monitoramento: Este módulo de software é responsável por executaro monitoramento das variáveis utilizadas como entrada para o sistema fuzzy. Elelê as variáveis de arquivos de logs e separa as informações necessárias. Essasvariáveis fornecem dados numéricos que irão alimentar o sistema. Através dessesvalores, o sistema irá se basear para tomar as decisões. As entradas utilizadas paraproposta PMIPFlow(Fuzzy) são: Vazão, RTT (Round Trip Time) e RSS (Received

Signal Strength ou Intensidade do Sinal Recebido).

60

Page 89: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

6.1. SISTEMA PMIPFLOW(FUZZY)

FuzificadorMotor de Inferência

Defuzzificador

Base de Connhecimento

Base de Regras

Funções de Pertinência

Vazão

RTT

Intensidade do Sinal

Saída

Sistema de Monitoramento

Sistema de Tomada de

Decisão

Ping6

Iptraf

iwconfig

Logs

Figura 6.1: Representação do Sistema Fuzzy

• Logs: As variáveis de interesse são colocadas em arquivos de logs para serem lidaspelo Sistema de Monitoramento. Várias ferramentas são utilizadas para recuperaras informações do dispositivo do usuário são elas ping6, iptraf e iwconfig.

• Fuzzificador: Nessa etapa as entradas não fuzzy ou precisas são apresentadasao sistema por intermédio de medições ou observações de dados, os quais sãoconsiderados como sendo o conjunto de dados de entrada do sistema. Deste modo,é necessário efetuar um mapeamento desses dados de entrada para o conjunto fuzzy,de tal forma, que o sistema possa identificar a quais variáveis linguísticas essesdados pertencem e o quanto os mesmos são pertinentes a essas variáveis. Nestafase também ocorre à ativação das regras fuzzy relevantes para um dado sistema;

• Base de Conhecimento: Formada por uma Base de Regras e de Dados (Funçõesde Pertinência). As regras podem ser fornecidas por especialistas, com base emseu conhecimento a respeito do processo que se deseja analisar, em forma desentenças linguísticas, e se constituem em um aspecto fundamental no desempenhode um sistema de inferência fuzzy. Desta forma, o sistema de inferência fuzzy

terá um desempenho confiável e satisfatório, somente se, as regras expressarem ocomportamento do sistema de forma fiel e consistente. Entretanto, a extração deum conjunto de regras advindas do conhecimento desses especialistas pode não seruma tarefa fácil, por mais que os mesmos conheçam profundamente o problemaque se deseja analisar. Portanto, existem alternativas ao uso do conhecimento dosespecialistas para a definição da base de regras, tais como os métodos de extraçãode regras a partir de dados numéricos. Esses métodos são particularmente úteis em

61

Page 90: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 6. PROPOSTA DE ANTECIPAÇÃO DE HANDOVER

aplicações onde haja disponível um conjunto de dados numéricos que refletem ocomportamento entrada/saída do sistema;

• Motor de Inferência: No processo de inferência ocorrem as operações comos conjuntos fuzzy. Um aspecto importante é a definição dos conjuntos fuzzy

correspondentes às variáveis de entrada e às de saída, pois o desempenho do sistemade inferência dependerá do número de conjuntos e de sua forma adotada. É possívelefetuar uma sintonia manual das funções de pertinências dos conjuntos, mas émais comum empregarem-se métodos automáticos. A integração entre sistemasde inferências fuzzy e redes neurais artificiais tem se mostrado adequada para asintonização das funções de pertinências, assim como para a geração automáticade regras;

• Defuzzificador: Após o processo de Inferência, tem-se o processo de defuzzifi-cação que, de posse do conjunto fuzzy de saída adquirido através do processo deinferência, é responsável pela interpretação dessa informação para saídas preci-sas (dados não fuzzy). Isto se faz necessário, já que, em aplicações práticas sãorequeridos valores não fuzzy.

• Sistema de Tomada de Decisão: A saída do sistema fuzzy é usada como entradapara o Sistema de Decisão, esse sistema recebe os valores de saída para decidirse o usuário deve fazer handover ou não. Se o sistema decidir pelo handover, oprocesso de handover é imediatamente iniciado.

6.2 Variáveis de Entrada

Como foi dito anteriormente, as entradas utilizadas para o sistema fuzzy são: Vazão, RTT(Round Trip Time) e RSS.

A vazão do tráfego é coletada utilizando-se uma ferramenta chamada IPTraf, estaferramenta é bastante utilizada para monitorar as interfaces de rede de uma máquina, comela é possível saber quantos pacotes entraram em uma determinada interface, quantospacotes saíram e a vazão total das interfaces. Para coletar a vazão, utilizou-se o IPTrafno modo background armazenando o log de coleta em um arquivo, depois o sistema demonitoramento lê esse arquivo e separa as informações necessárias. A Figura 6.2 mostraa saída da ferramenta, dando destaque para o campo onde é apresentada a vazão atual dainterface.

62

Page 91: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

6.2. VARIÁVEIS DE ENTRADA

Figura 6.2: Saída da ferramenta IPTraf

O RTT é obtido através de mensagens ICMPv6 enviadas periodicamente, o RTT éobtido através da diferença entre o tempo de envio da mensagem e o tempo de resposta darespectiva mensagem. A ferramenta utilizada para calcular o RTT foi o ping6 (versao ipv6do ping), disponível em todas as plataformas linux. A saída da ferramenta é mostrada naFigura 6.3, dando destaque para as informações de RTT dos pacotes. Assim como noIPTraf, as informações do ping6 são guardadas em um arquivo de log para que o sistemade monitoramento análise.

Figura 6.3: Saída da ferramenta ping6 destacando-se o RTT do pacote

Para se obter o RSS, assim como com o RTT e a vazão também utilizou-se uma

63

Page 92: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 6. PROPOSTA DE ANTECIPAÇÃO DE HANDOVER

ferramente linux chamada iwconfig, essa ferramenta é empregada na configuração deinterfaces sem fio. E com ela é possível verificar o RSS do dispositivo do usuário, assimcomo foi feito com as outras ferramentas, a saída do iwconfig foi colocada em um logpara análise do sistema de monitoramento. A Figura 6.4 mostra a saída da ferramentadestacando o nível de sinal da interface "wlan0".

Figura 6.4: Saida da ferramenta iwconfig

6.3 Conjuntos Fuzzy

É empregado nesta proposta um sistema fuzzy do tipo Mamdani cuja intensidade dedisparo de uma regra de inferência será uma média aritmética dos graus de pertinênciaobtidos. Os conjuntos fuzzy são combinados pela escolha do valor máximo e o defuzzifi-cador utiliza o chamado método centróide sem sobreposição para fornecer a resposta dosistema fuzzy, sendo este o mais utilizado dentre todos os métodos de defuzzificação porconsiderar toda a distribuição de possibilidade do conjunto fuzzy de saída.

No formato dos conjuntos fuzzy sobre cada uma das variáveis de entrada, optou-se porusar funções de pertinência trapezoidais devido a sua fácil compreensão. Cada variávelde entrada possui três conjuntos fuzzy definidos sobre ela. A Figura 6.5 mostra o grau depertinência para a variável RTT, todos os valores mínimos e máximos do conjunto foramdefinidos por meio de métodos empíricos.

A Figura 6.6 mostra o grau de pertinência para a Vazão, os conjuntos estão definidospor meio de porcentagem em relação ao largura de banda da interface de rede. A bandatotal da interface é obtida através de um teste de capacidade explicado na Seção 8.3.Definiu-se que a partir de aproximadamente 60% da capacidade total da interface éconsiderada uma vazão alta, em 50% uma vazão média e abaixo de 40% uma vazão baixa.

O RSS indica que o terminal pode estar perto ou longe do ponto de acesso e, quantomais perto, teoricamente, melhor é a conexão. Porém, quando se trata de serviços

64

Page 93: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

6.3. CONJUNTOS FUZZY

RTT (Round Trip Time)

Gra

u d

e P

ert

inê

ncia

1

0

0.5

2 ms 4 ms 6 ms

AltaMédiaBaixa

Figura 6.5: Grau de pertinência para a entrada RTT

Vazão

Gra

u d

e P

ert

inê

ncia 1

0

0.5

25% 50% 75%

AltaMédiaBaixa

Figura 6.6: Grau de pertinência para a entrada Vazão

multimídia, o RSS não é o suficiente para determinar a qualidade da aplicação. Poreste motivo, foram realizados experimentos com o objetivo de determinar os valorescorrespondentes de PSNR, de acordo com o RSS. Assim, considerando um ambienteespecífico, construiu-se a tabela que avalia o PSNR em relação à distância, mapeandoníveis de sinais em valores de PSNR para dar suporte à tomada de decisão de handover.Esse mapeamento é posteriormente utilizado para construção do grau de pertinência parao RSS.

Para criar o mapeamento "Nível de Sinal"versus "PSNR"realizou-se o seguinte experi-mento. Enviou-se o arquivo de vídeo do PMIPFlow-LMA para o MN, portanto no sentidodownlink. Essa transmissão foi realizada variando-se a distância do MN em relação aoOMAG. Cada variação na transmissão foi executada 10 vezes. Ao final das transmis-sões, o arquivo de vídeo foi avaliado em termos de PSNR para a montagem da tabelaPSNR/Distância. Em paralelo, o nível de sinal foi capturado durante toda a transmissão.A Tabela 6.1 mostra a média dos valores coletados durante esse tempo, considerando umintervalo de confiança de 95%. Vale ressaltar que o resultado destes experimentos refleteo ambiente e a configuração dos dispositivos utilizados, outros equipamentos ou outrosambientes podem fornecer resultados distintos dos apresentados na Tabela 6.1.

A partir dos resultados obtidos e da análise dos vídeos no receptor, percebe-se,segundo as Tabelas 6.1 e 6.2, que, para um nível de sinal de -79,98 dbm (15 Metros), ovídeo é avaliado como BOM (31.27dBm), porém com um nível de sinal em -88,20 dbm

65

Page 94: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 6. PROPOSTA DE ANTECIPAÇÃO DE HANDOVER

Tabela 6.1: Resultados do Experimento PSNR/Distância

Distância OMAG/MN (m) < 1 5 10 15 20Média do Nível do Sinal (dbm) -66.76 -73.76 -78.61 -79.98 -88.20

PSNR(dB) 32.77 32.77 31.60 31.27 27.22

Perda (%) 0 0 0.05 2.45 8.35

(20 metros) o vídeo recebido torna-se ACEITÁVEL.Tabela 6.2: Valores de Classificação do PSNR

PSNR (dB) > 37 31 – 37 25 – 30 20 – 25 < 20

Qualidade Excelente Bom Aceitável Pobre Péssimo

A partir das informações obtidas no mapeamento PSNR/Distância construiu-se oconjunto fuzzy para a variável de entrada RSS, a Figura 6.7 mostra o grau de pertinênciapara este conjunto. Para manter a qualidade do vídeo em um nível "BOM", segundoa Tabela 6.2, é necessario que o PSNR esteja em torno de 31dB e portanto, segundo omapeamento, o RSS do dispositivo móvel precisa estar abaixo de "-80dBm".

Intensidade do Sinal

Gra

u d

e P

ert

inê

ncia 1

0

0.5

-65dBm -75 dBm-70dBm -80 dBm -85 dBm

BaixaMédiaAlta

Figura 6.7: Grau de pertinência para a entrada RSS

Após processar toda a entrada o sistema fuzzy gera uma saída. A Figura 6.8 mostra ograu de pertinência para a saída. A saída como mostrado na Figura é um número de 0 à 1,a saída do sistema é somente esse número, a partir desse número quem vai tomar a decisãoé o sistema de decisão da arquitetura PMIPFlow(Fuzzy), nele, se a saída for menor que0.3, o sistema não faz nada e entra em estado de espera até o próximo monitoramento,se a saída for entre 0.3 e 0.6, o sistema entra em estado de alerta e o monitoramentoé intensificado tentando prever uma possível handover, se a saída for acima de 0.6 ohandover o sistema inicia o processo de forma antecipada tentando previnir o usuário dequebras em seus conexões ativas.

Optou-se por utilizar apenas estas três variáveis (RTT, Vazão e RSS) porque quantomaior o número de variáveis mais complexo fica o sistema fuzzy. Se este sistema se tornarcomplexo, pode haver um grande sobrecarga na rede tornando o sistema inviável. Vale

66

Page 95: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

6.4. CONCLUSÃO

Saída

Gra

u d

e P

ert

inê

ncia

1

0

0.5

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

SIMNÃO ALERTA

Figura 6.8: Saída do Sistema Fuzzy

salientar que a quantidade de regras é diretamente proporcional a quantidade de variáveislinguísticas e termos linguísticos. Se um sistema possuir três variáveis linguísticas, comoé o caso deste trabalho, e três termos linguísticos, como baixa, média e alta, tem-seportanto 33 = 27 regras na base de conhecimento. A Tabela 6.3 mostra as regras deInferência criadas para o PMIPFlow(Fuzzy).

O sistema PMIPFlow(Fuzzy) foi desenvolvido em C++ e roda em segundo planono dispositivo do usuário, seguindo o conceito ABC (Always Best Connected), ondeo dispositivo do usuário é quem decide a qual rede ele deseja estar conectado. Otempo de monitoramento foi definido para cada 10 segundos de execução e no modoALERTA esse tempo cai para 1 segundo. Os sistema possui um arquivo de configuração,pmipflow_fuzzy.conf, onde o usuário pode modificar alguns parâmetros como otempo de execução do monitoramento e no modo ALERTA, porém os valores escolhidoscomo padrão (10s e 1s, monitoramento e alerta, respectivamente) se mostraram bastanteadequados nos testes empíricos. No Capítulo 8, a proposta PMIPFlow(Fuzzy) foi avaliadae os resultados mostraram sua eficácia.

6.4 Conclusão

Neste Capítulo foi apresentada a proposta PMIPFlow(Fuzzy) que usa a lógica fuzzy paraantecipar o processo de handover e melhorar a latência, com isso, criando uma arquiteturaque além de fornecer o gerenciamento de mobilidade em redes SDN, o faz de formarápida e eficiente. Nos sistema PMIPFlow(Fuzzy) para cada entrada de cada variável(RTT,Vazão e RSS) existe uma saída, que pode ser "não faz handover", "se mantém emalerta"e "faz handover". As avaliações do PMIPFlow(Fuzzy), apresentada no Capítulo 8,mostrarão os benefícios da proposta.

67

Page 96: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 6. PROPOSTA DE ANTECIPAÇÃO DE HANDOVER

Tabela 6.3: Regras de Inferência

Regra Sinal RTT Vazão Saída

1 ALTA BAIXA BAIXA NÃO

2 ALTA BAIXA MÉDIA NÃO

3 ALTA BAIXA ALTA NÃO

4 ALTA MÉDIA BAIXA ALERTA

5 ALTA MÉDIA MÉDIA ALERTA

6 ALTA MÉDIA ALTA ALERTA

7 ALTA ALTA BAIXA SIM

8 ALTA ALTA MÉDIA SIM

9 ALTA ALTA ALTA SIM

10 MÉDIA BAIXA BAIXA NÃO

11 MÉDIA BAIXA MÉDIA NÃO

12 MÉDIA BAIXA ALTA ALERTA

13 MÉDIA MÉDIA BAIXA ALERTA

14 MÉDIA MÉDIA MÉDIA ALERTA

15 MÉDIA MÉDIA ALTA SIM

16 MÉDIA ALTA BAIXA SIM

17 MÉDIA ALTA MÉDIA SIM

18 MÉDIA ALTA ALTA SIM

19 BAIXA BAIXA BAIXA ALERTA

20 BAIXA BAIXA MÉDIA ALERTA

21 BAIXA BAIXA ALTA ALERTA

22 BAIXA MÉDIA BAIXA SIM

23 BAIXA MÉDIA MÉDIA SIM

24 BAIXA MÉDIA ALTA SIM

25 BAIXA ALTA BAIXA SIM

26 BAIXA ALTA MÉDIA SIM

27 BAIXA ALTA ALTA SIM

68

Page 97: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

7Protótipo

A mente que se abre a uma nova ideia

jamais voltará ao seu tamanho original.

—ALBERT EINSTEIN

A arquitetura PMIPFlow foi avaliada em um testbed IEEE 802.11, utilizando umainfraestrutura que mistura equipamentos físicos e sistemas virtualizados. Para tal, várioscomponentes precisaram ser estudados e implementados. Este capítulo foi reservado paraexplicar com mais detalhes como foi montado o testbed da arquitetura PMIPFlow e comoalgumas das entidades mais importantes foram desenvolvidas.

O Capítulo mostra as entidade que compõem a arquitetura PMIPFlow. Nesta seção,serão explicadas em detalhes cada entidade, como elas estão posicionadas na arquiteturae como foram implementadas. Nesse capítulo serão mostradas várias imagens, comocapturas de telas dos componentes em execução, do rack utilizado no testbed e doambiente onde foram realizadas os testes.

7.1 Entidades

A maioria das entidades da arquitetura OpenFlow já foram discutidas anteriormente notexto. A Figura 7.1 mostra a arquitetura do PMIPFlow com destaque para as entidadesmais importantes que podem ser identificadas pela numeração correspondente.

1. OMAG (Openflow Mobility Access Gateway)

2. Gateway OpenFlow

3. Switch OpenFlow (Indigo)

69

Page 98: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 7. PROTÓTIPO

LMA-NOXSwitch Pronto 3290

(Indigo)

Virtual Switch

(Openflow Gateway)

Virtual Switch

(Openflow Gateway)

OMAG (Openflow

Mobility Access Gateway)

MN (Mobile Node)

Handover

Servidor de

Streaming

NOX_Bob

NOX_AliceFlowVisor

(PMIPFLow-LMA)

Domínio

PMIPFlowDomínio

PMIPFlow

OMAG (Openflow

Mobility Access Gateway)

1

2

3

4

5

6

7MN (Mobile Node)

Figura 7.1: Entidades de prototipação da arquitetura PMIPFlow

4. FlowVisor

5. LMA-NOX/PMIPFlow-LMA

6. CN/VideoStream Server

7. MN (Mobile Node) ou Usuário Móvel

As próximas subseções explicarão cada entidade em detalhe incluindo como foramdesenvolvidas, que tecnologias foram utilizadas e como se integraram na arquitetura.

7.1.1 OMAG (OpenFlow MAG)

O OMAG é uma implementação modificada do MAG criada pelo autor desta dissertação epublicada em (Avelar et al., 2011). Esta implementação foi adaptada para as distribuiçõesmais atuais do Ubuntu (12.04 e 12.10). Para tal, utilizou-se a linguagem C++ comcompilador gcc/g++ 4.6 e 4.7.

Para os OMAG foram utilizados PCs Intel Core i5 com 3.20Ghz de clock, 3GB deRAM rodando o sistema Ubuntu 12.10. utilizando-se placa de rede wireless PCI Tp-linkTl-wn350gd de 54Mbps. Esta placa, Figura 7.2, possui o chipset ATHEROS com potência

70

Page 99: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

7.1. ENTIDADES

de transmissão de 18dBm/63mW que permite a modificação, no Ubuntu, da placa para omodo Master. Isto permite que a placa opere como um ponto de acesso.

Figura 7.2: Placa Sem-Fio PCI TP-Link

Para transformar a placa TP-Link,7.2, em modo AP no Ubuntu, utilizou-se um scriptdesenvolvido especialmente para o PMIPFlow. Este script executa um aplicativo chamado(Hostapd, 2013), descrito no Apêndice B e utilizado para inicializar a interface sem fiodo OMAG em modo AP.

Os OMAGs foram implementados em máquinas físicas. A Figura 7.3 mostra a partedianteira e traseira de uma delas. É possível visualizar as placas sem fio TP-LINKinstaladas em um slot PCI. Nas máquinas são utilizados o sistema operacional Ubuntu12.04, e além do HOSTAPD, é usado um cliente/servidor NTP (Network Time Protocol)para sincronização de relógio entre os MAGs e o LMA-NOX. No Apêndice A.2 podemser encontradas mais informações sobre o funcionamento do NTP.

Figura 7.3: Máquina Física onde são instalados os OMAGs

Os scripts mencionados anteriormente, apesar de importantes, são apenas de apoio.

71

Page 100: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 7. PROTÓTIPO

O script que executa, de fato, o OMAG (PMIPFlow_Setup.sh) está descrito, emdetalhes, no Apêndice A.4. Esse script configura os endereços, levanta interfaces, chamaoutros scripts como o ntpdate.sh e após tudo configurado ele executa outro scriptchamado PMIPFlow_Init.sh. O PMIPFlow_Init.sh executa a implementaçãodo PMIPFlow em C++ (pmipflow6d discutido em 5.3). O pmipflow6d no modo OMAG,roda em background em uma instância do aplicativo SCREEN, que cria telas virtuais embackground para análises posteriores.

7.1.2 Gateway OpenFlow

Os gateways PMIPFlow, o servidor de vídeo, o FlowVisor e o LMA-NOX foram imple-mentados através de máquinas virtuais em um hypervisor para que o cenário pudesseser heterogêneo em termos de sistemas operacionais, quantidade de interfaces de redede um host, memória RAM e etc. Neste caso, foram instaladas as versões gratuitasdo VMware vSphere Hypervisor (ESXi), (VMware, 2012), em três servidores. Umservidor torre com duas interfaces Gigabit Ethernet usada para os controladores da redeOpenFlow (LMA-NOX/Flowvisor) e dois servidores do tipo blade para clientes, servidorde streaming e Gateways PMIPFlow. Cada um dos servidores blade possui quatro portasgigabit Ethernet mais duas placas Multigigabit Ethernet de quatro portas totalizando dozeinterfaces de rede cada um.

A Figura 7.4 mostra o Rack, onde foram montados os servidores, switches, nobreak,enfim, todos os equipamentos necessários para o núcleo SDN da arquitetura PMIPFlow.

Na proposta, optou-se por utilizar Gateways OpenFlow em cada rede do domínioOMAG, embora o PMIPFlow não exija os Gateways, a utilização deles adiciona um pontoextra de gerenciamento na rede, com a possibilidade de criação de slices dentro de cadadomínio, o que abre muitas possibilidades de extensão e de criação de serviços móveis naarquitetura. Os gateways PMIPFlow são formados por switches virtuais implementadosem máquinas virtuais rodando o Ubuntu 12.04 Server, foi utilizada a implementaçãode referência do OpenFlow para Ubuntu disponível em (Stanford, 2012), mais detalhessobre o script de execução dos gateways PMIPFlow no Apêndice A.5.

Existem algumas implementações do OpenFlow disponíveis. Para implementar osGateways Openflow optou-se por utilizar a implementação de referência da universidadede Stanford, (Stanford, 2012). Basicamente, existem dois tipos de implementações feitaspor Stanford. Uma no espaço do Kernel, que é a mais otimizada, possui maior desempe-nho, porém é mais difícil implementar/depurar, e outra no espaço do usuário que é maissimples, porém mais lenta e de menor desempenho. Optou-se por utilizar o OpenFlow no

72

Page 101: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

7.1. ENTIDADES

Switch Pronto 3290

Switch Ethernet - 3COM

Servidor IBM Torre

Servidor IBM Blade 1

Servidor IBM Blade 2

NoBreak

(NOX/PMIPFlow-LMA,FlowVisor)

(Gateways OpenFlow)

(Clientes, CN e Servidor de Streaming )

(Indigo – OpenFlow para Switches )

Patch Panel

Figura 7.4: Rack do núcleo do testbed

espaço do usuário pelas facilidades supracitadas e também pela simplicidade na comuni-cação com outros programas que também residem no espaço do usuário, como o NOX eo FlowVisor. Para trabalhos futuros, pretende-se utilizar a implementação de referênciado OpenFlow no espaço do Kernel.

A Figura 7.5 mostra a interface do gateway PMIPFlow no hypervisor vSphere, nestaFigura é possível perceber que o gateway não possui interface gráfica (Ubuntu Server),isso para otimizar ainda mais seu desempenho. No lado esquerdo da Figura 7.5, é possívelver que existem várias outras máquinas virtuais, clientes multimídia, e um monitorpara realizar medições de dados do servidor. Nesta máquina, o Gateway OpenFlowdo domínio do OMAG1 esta instalado na máquina de nome OpenflowSwitch001 e dodomínio OMAG2 em OpenflowSwitch002.

73

Page 102: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 7. PROTÓTIPO

Figura 7.5: Visão do Gateway OpenFlow no Hypervisor vSphere

7.1.3 Switch OpenFlow (Indigo)

Para o firmware do switch OpenFlow físico, ver Figura 7.4, optou-se por utilizar a extensãoIndigo (OpenFlowHub.org, 2012). O Indigo é um sistema operacional que implementa oOpenFlow em switches. Ele suporta altas taxas de dados e até 48 portas de 10-Gigabit. Eleé baseado na implementação de referência do OpenFlow feita por Stanford e atualmenteimplementa todas as características requeridas pelo padrão OpenFlow 1.0. O Indigo jáfoi utilizado com sucesso em vários switches, incluindo os da família Pronto 3290, 3780,3240/Quanta LB4G, da família Netgear GSM7328SO e GSM735SO e alguns da famíliaBroadcom. A Figura 7.6 mostra a interface web de configuração do Indigo/PMIPFlow.

Figura 7.6: Interface WEB de configuração do Indigo/PMIPFlow

O IODS (Indigo Open Development System) é uma máquina virtual que contém todo

74

Page 103: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

7.1. ENTIDADES

o código fonte do Indigo, é possível modificar o código, adicionar outras funcionalidades,criar uma nova imagem e inserir esta nova imagem no switch, transformando-o em umswitch OpenFlow. O Indigo também possui uma interface web de configuração, para queo gerenciamento possa ser feito através de um navegador de internet. A Figura 7.6 mostraa interface web do Indigo PMIPFlow.

7.1.4 FlowVisor

Como foi discutido na Seção 3.5, este controlador especial cria várias redes virtuaisem cima de uma rede OpenFlow física. O comando abaixo é usado para inicializar oFlowVisor.

$flowvisor /usr/local/etc/flowvisor/flowvisor-config.xml

Após a inicialização é possível criar um slice de modo simples através do comando:

$fvctl createSlice <nome do slice> tcp:<IP do controlador>:

<porta do controlador> <seu e-mail>

Embora a fatia defina um controlador para uma partição de rede, ela não defineas regras correspondentes para a sua fatia. Assim, é preciso criar regras chamadas deFlowSpace (ou espaço de fluxo), o comando abaixo cria as regras para um determinadoslice.

$fvctl addFlowSpace <datapath id> <prioridade>

<flow> "Slice:<nome do slice>=<ações>"

Um exemplo de regra utilizada na arquitetura PMIPFlow.

fvctl addFlowSpace all 10 dl_src=00:00:00:00:00:01

"Slice:PMIPFlow_VIDEO=7"

Este comando cria uma regra aplicável à todos os datapaths ("all") com prioridade 10que diz que os fluxos com mac de origem 00:00:00:00:00:01 pertencem ao slicePMIPFlow_VIDEO, o 7 representa a soma de todas as permissões (1 = delegar, 2 = lere 4 = escrever) do slice em relação ao espaço de fluxo (FlowSpace).

7.1.5 LMA-NOX/PMIPFlow-LMA

O PMIPFlow-LMA roda dentro do LMA-NOX, que é o controlador do PMIPFlow. AImplementação desse módulo foi explicado na Seção 5.3.8, é possível ver uma parte docódigo fonte desse módulo no Apêndice A.6.

Dentro do controlador LMA-NOX, O código necessário para rodar o PMIPFlow-LMAesta descriminado abaixo:

75

Page 104: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 7. PROTÓTIPO

$./nox_core -v -i ptcp:6633 pmipflow_lma

A Figura 7.7 mostra a execução do componente pmipflow_lma no LMA-NOX,nessa Figura é possível verificar o pmipflow_lma, na mensagem 56, registra os switch,exibindo a mensagem "Registrando novo switch", e instala fluxos no switch OpenFlow,na mensagem 67, "Instalando fluxo para ....".

Figura 7.7: PMIPFlow-LMA executando no NOX

7.1.6 CN/Servidor de Streamming de Video

No protótipo implentado o papel do nó correspondente (CN) é desempenhado por umservidor de vídeo streaming. Dessa forma, será possível avaliar o suporte do PMIPFlowaos requisitos de QoS e QoE para tráfego de vídeo.

Para implementar o servidor de vídeo foi utilizada uma máquina virtual dentro doServidor IBM Blade 2, ver Figura 7.4, essa máquina virtual possui 2GB de memóriaRAM dedicada, 30 GB de HD, com 15GB livres rodando o sistema operacional Xubuntu11.10. A Figura 7.8 mostra a tela do servidor de streaming rodando o video que estásendo disponibilizado aos usuários.

O vídeo é enviado ao usuário de modo unicast, e o servidor de streaming é imple-mentado utilizando o aplicativo VLC (Video LAN), em sua versão 2.0 A configuraçãodo servidor é feita através da interface gráfica do VLC, a Figura 7.9, mostra o úl-timo passo da configuração, depois de ter escolhido o vídeo o qual será transmitido.O protocolo utilizado na transmissão é o RTP (Real Time Protocol), o IP do MN é

76

Page 105: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

7.1. ENTIDADES

Figura 7.8: Printscreen do Servidor de Vídeo (CN)

2001:1:1:1:4A6D:60FF:FEE7:D26B e o codec utilizado é o H.264.

Figura 7.9: Criando um Servidor de Video no VLC

Para executar o vídeo no cliente, MN na arquitetura PMIPFlow, basta digitar ocomando:

$vlc -vvv --ipv6 rtp://@

O comando acima, executa o vídeo recebido do servidor, se for necessário salvar ovídeo em um arquivo chamado avengers.mp4, o comando a ser usado é:

vlc --vvv --ipv6 rtp://@ --sout file/ts:avengers.mp4

7.1.7 Mobile Node

Para o dispositivo do usuário foi utilizado um notebook ASUS, Core i5 com 2GB dememória e 300 GB de HD rodando o Ubuntu 12.10. Como foi mencionado anteriormente,

77

Page 106: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 7. PROTÓTIPO

para utilizar o protocolo PMIPFlow não é necessário nenhuma modificação no dispositivodo usuário, a única exigência é que o dispositivo esteja com o IPv6 habilitado.

7.1.8 Ambiente de Testes

O ambiente de testes da arquitetura PMIPFlow está localizado no Centro de Informática,no campus da UFPE (Universidade Federal de Pernambuco). Ele consiste basicamentede um laboratório dimensões 9mx6m. a Figura 7.10 mostra mais detalhes do laboratório.Todos os testes apresentados nesse trabalho foram feitos nesse ambiente e os resultadosrefletem as características físicas do mesmo, pois a disposição de móveis e obstáculospodem interferir diretamente na comunicação de tecnologias sem fio. Mais detalhes sobreo ambiente no Capítulo 8.

RackOMAG2Gerente

Figura 7.10: Ambiente de teste

7.2 Considerações Finais

Neste capítulo foi discutido a implementação do protótipo da arquitetura PMIPFlowonde foram destacadas as entidades mais importantes e como elas foram desenvolvidas.Várias ilustrações foram apresentadas mostrando o Rack onde foram implantadas asmáquinas virtuais, as máquinas que serviram como OMAG e algumas capturas de teladas ferramentas em execução. Serão fornecidas mais informações sobre o ambiente deteste no Capítulo 8. O próximo capítulo será reservado para apresentar a proposta deantecipação de handover para arquitetura PMIPFlow.

78

Page 107: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

8Avaliação

O homem superior atribui a culpa a si próprio.

O homem comum aos outros.

—CONFÚCIO

A avaliação do PMIPFlow foi conduzida em um testbed IEEE 802.11 e foram reali-zadas comparações entre o esquema original PMIPFlow e a proposta de antecipação dehandover.

O capítulo esta organizado da seguinte forma. A seção 8.1, descreve o ambiente deteste. A seção 8.2, apresenta a metodologia utilizada nos testes. Antes da avaliação daproposta, é apresentado, na seção 8.3, um teste de capacidade para avaliar a quantidadede tráfego suportado pela rede. A proposta PMIPFlow(Fuzzy) foi avaliada em termosde qualidade de serviço e qualidade de experiência, na seção 8.4, são apresentados osresultados para QoS e na seção 8.5 para QoE.

8.1 Ambiente de Teste

O ambiente onde os testes da arquitetura PMIPFlow foram realizados será discutido nestaseção. Entender a organização do ambiente é crucial para compreender os resultadosdos testes, uma vez que a disposição dos móveis, das paredes e dos pontos de acessoinfluenciam diretamente na distribuição do sinal sem fio no ambiente. A Figura 8.1 exibea planta baixa laboratório no qual os testes foram executados.

Nessa Figura, é possível verificar que o ambiente de testes é de uma sala de seispor nove metros, contendo um conjunto de quinze baias. No canto inferior direito, estádisposto o Rack onde foram instalados os switches OpenFlow, Servidores Blade/Torre etc.,para mais detalhes ver Figura 7.4. O ambiente possui ainda um servidor de gerenciamento

79

Page 108: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 8. AVALIAÇÃO

OMAG1

Rack

Baias

9,00m

6,0

0m

Central de Gerenciamento

OMAG2

Figura 8.1: Planta baixa do ambiente de teste

físico para monitorar e gerenciar todas as máquinas virtuais. A Figura mostra também, adisposição dos pontos de acesso da rede sem fio, o OMAG1 disposto no canto superioresquerdo e o OMAG2 no canto inferior direito.

Outra informação importante sobre o ambiente de teste é a intensidade do sinalno cenário. A Figura 8.2 exibe essa informação para o OMAG1. Este mapeamento foirealizado a partir da coleta de nove pontos distribuídos pelo ambiente. Como o laboratórionão é um ambiente amplo, foi necessário diminuir a potência de transmissão das antenaspara diminuir o raio de ação de cada rede e poder testar a proposta.

Intensidade do Sinal (dBm)

- 60

- 79

- 85

- 90

Figura 8.2: Mapeamento da intensidade do sinal no ambiente de teste para o OMAG1

A Figura 8.3 ilustra o mapeamento do nível de sinal para o OMAG2. Tanto nessaFigura quando na anterior é possível ver que mais próximo dos OMAGs a força do sinalestá em torno de -60dBm e mais distante é maior que -90dBm.

80

Page 109: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

8.2. METODOLOGIA

Intensidade do Sinal (dBm)

Intensidade do Sinal (dBm)

- 60

- 79

- 85

- 90

Figura 8.3: Mapeamento da intensidade do sinal no ambiente de teste para o OMAG2

8.2 Metodologia

Como não existe, na literatura, arquitetura similar à solução definida nesta dissertação, aproposta PMIPFlow(fuzzy) foi comparada com o PMIPFlow sem a proposta. Como aarquitetura gira em torno de gerenciamento de mobilidade, a avaliação foi feita focando-senos handovers.

Para avaliarmos desconexões de rede dentro do ambiente sem fio, foi necessáriomover-se pelo ambiente de teste à pé, com velocidade de aproximadamente um metro porsegundo (equivalente à uma pessoa caminhando), para forçar a desconexão de uma rede ereconexão em outra. O padrão de movimentação do usuário móvel, dentro do ambientede teste, é apresentado na Figura 8.4. Os pontos onde os testes começavam, o trafego éiniciado, são totalmente aleatórios, porém a partir do ponto de início, o usuário se moviade acordo com as setas apresentadas na nessa Figura 8.4. Desta forma, nenhuma daspropostas se beneficiaria de possíveis repetições acidentais da posição do usuário.

8.3 Teste de Capacidade

Para analisar a arquitetura PMIPFlow em termos de tráfego, foi realizado um testede capacidade. Este consiste em quantificar o volume de tráfego que a rede suporta.Basicamente é enviada uma quantidade de fluxo sintético pela rede variando-se a taxa deenvio. Foi utilizado a ferramenta IPERF,(NLANR/DAST, 2013), para gerar e enviar ofluxo de dados. Para estressar ao máximo a rede, foi gerado um fluxo UDP que variou de1Mbps a 30Mbps.

A Figura 8.5 mostra o resultado do teste de capacidade, nesta Figura é possívelverificar que apesar da tentativa de enviar um fluxo superior à 20 Mbps, a capacidade

81

Page 110: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 8. AVALIAÇÃO

OMAG1 Central de Gerenciamento

OMAG2Movimentação do MN

Figura 8.4: Movimentação do MN no ambiente de teste

máxima da rede gira em torno de 17 Mbps. Esse valor pode ser explicado de duasformas, a primeira é que, geralmente, a taxa de transmissão real dos equipamentoscomercializados são inferiores a especificada no padrão e a segunda é a interferênciacausada pelo número de redes sem fio ao redor do ambiente de teste, apesar da precauçãoem utilizar o canal mais livre.

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 300

3

6

9

12

15

1820

Teste de Vazão

Vazão testada (Mbits/s)

Vaz

ão R

eal (

Mbi

ts/s

)

Figura 8.5: Teste de capacidade da rede sem fio

82

Page 111: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

8.4. AVALIAÇÃO DE QUALIDADE DE SERVIÇO

8.4 Avaliação de Qualidade de Serviço

A avaliação de desempenho de um sistema de rede é realizadas de duas formas, através deanálise de métricas de QoS (Quality of Service) retiradas da rede, como perdas de pacotes,vazão e jitter ou através de métricas objetivas de QoE (Quality of Experience), comoPSNR (Peak Signal to Noise Ratio) e SSIM (Structural Similarity Index). A propostaPMIPFlow(Fuzzy) será avaliada utilizando os dois conjuntos de métricas.

Uma das métricas importantes para avaliação de QoS é a variação do atraso (delay)na entrega dos pacotes, chamada de Jitter. Essa variação é bastante sensível às perdasde pacotes e, portanto, bastante utilizada para avaliação de handovers. Para computar ojitter, foi enviado um fluxo de 20Mbps pela rede, no sentido downlink(Servidor/Cliente),durante 60 segundos. Este teste foi repetido 10 vezes para dar mais credibilidade aosresultados. A Figura 8.6 mostra o gráfico de uma das coletas comparando-se o PMIPFlowcom a proposta de antecipação usando Fuzzy.

60544842363024181261

20

15

10

5

0

Tempo (s)

Atr

aso

(m

s)

PMIPFlow/Fuzzy

PMIPFlow

Atraso dos Pacotes

Figura 8.6: Gráfico de atraso dos pacotes

A Figura 8.6 mostra alguns picos de variação de atraso de pacotes quando não se usaa proposta fuzzy, cada pico acontece no momento do handover. Como alguns pacotes sãoperdidos, os mesmos precisam ser reenviados de modo que o atraso para entrega dessepacote aumenta de forma acentuada. As perdas de pacotes ocorrem porque o processode troca entre ponto de acesso não é instantâneo e, dessa forma, em algum momento ousuário perde a conexão antes de achar outra conexão para continuar o serviço. Por outrolado, com a proposta de antecipação de handover utilizando o sistema fuzzy as perdas depacotes são amenizadas, uma vez que antes de sair completamente da rede o dispositivo

83

Page 112: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 8. AVALIAÇÃO

do usuário muda para outra rede de forma antecipada.

É importante frisar que, como trata-se de um testbed os momentos em que acontecemos handovers são diferentes há cada novo teste, porém, mantendo-se o padrão mostradona Figura 8.4 sempre acontecerá o mesmo número de handover para cada teste. Porexemplo, a Figura 8.6 apresenta um teste com quatro handover para cada proposta, porémo atraso apresentado nos fluxos com a proposta fuzzy são menores dos que apresentadosem a proposta.

A Figura 8.7 resume a média dos dados com 95% de Intervalo de Confiança. Para oresultado obtido pelo PMIPFlow sem antecipação, a média e variação dos dados são bemmaiores que na médias dos dados utilizando a proposta de antecipação fuzzy.

PMIPFlowPMIPFlow/Fuzzy

2,75

2,50

2,25

2,00

1,75

1,50

1,25

1,00

0,75

0,50

Atr

aso

(m

s)

95% de Confiança

Média e Intervalo dos dados

Figura 8.7: Intervalo dos dados de atraso de pacotes

A Tabela 8.1 mostra as estatísticas descritivas para os dados de atraso de pacotesdurante todos os testes. Pode-se perceber que a média com a proposta fuzzy possuium atraso médio de 43.59% menor que os testes sem a proposta, 1.489ms em médiacontra 0,65ms em média. Outra métrica importante é o desvio padrão que mostra oespalhamento dos dados em torno da média, e outra vez o PMIPFlow(Fuzzy) é maisvantajoso, em média 0.48ms contra 3.764ms, com e sem a proposta, respectivamente. ATabela 8.1 mostra também o valor mínimo, primeiro quartil (25% dos dados), mediana(50% dos dados), segundo quartil (75% dos dados) e valor máximo.

Uma métrica importante é a vazão dos dados, ou seja, taxa de recepção de pacotesno nó móvel. Para esta métrica foram realizados dez testes com 10Mbps e dez testescom 20Mbps, os dois testes utilizando o protocolo UDP. A Figura 8.8 mostra a vazãoem relação ao tempo de dois testes pareados, nela é possível ver que sem a proposta de

84

Page 113: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

8.4. AVALIAÇÃO DE QUALIDADE DE SERVIÇO

Tabela 8.1: Estatística descritiva para o atraso dos pacotes

Proposta Média Desvio Mínimo Q1 Mediana Q3 Máximo

PMIPFlow 1,489 3,764 0,092 0,444 0,523 0,634 18,639

PMIPFlow(Fuzzy)

0,6506 0,4869 0,1900 0,4183 0,5510 0,7062 3,7100

antecipação de handover a vazão é degradada devido às perdas de pacotes. Já com aproposta, as perdas são minimizadas e a vazão permanece quase constante mesmo napresença de vários handovers durante a transmissão.

60544842363024181261

10

9

8

7

6

5

4

Tempo (s)

Vazã

o (

Mbps) PMIPFlow

PMIPFlow/Fuzzy

Vazão (Tráfego UDP de 10Mbps)

Figura 8.8: Vazão do tráfego UDP limitado à 10Mbps

A Figura 8.9 mostra a variação em torno da média das vazão durantes os dez testesrealizados. É possível perceber que além da média da vazão sem a proposta ser menor, avariação dos dados é maior, evidenciando a instabilidade na comunicação.

85

Page 114: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 8. AVALIAÇÃO

PMIPFlow/FuzzyPMIPFlow

10,01

9,95

9,89

9,83

9,77

9,71

9,65

Vazã

o (

Mbps)

Média e Intervalo dos dados95% de Confiança

Figura 8.9: Intervalo da Média da Vazão do tráfego UDP limitado à 10Mbps

Apesar da diferença entre as médias com e sem a proposta, ela não é tão expressiva,isso acontece porque a vazão (10Mbps) não estressa tanto a rede e dessa forma as perdasde pacotes não são evidentes. No teste com 20Mbps mostrado a seguir é possível ver queas perdas são bem mais expressivas. A Tabela 8.2 exibe a estatística descritiva dos dadosdurantes os testes. É possível perceber que a média com a proposta (9,97 Mbps) é maiorque sem a proposta (9,80 Mbps), mas a diferença não é tão grande, cerca de 1%.

Tabela 8.2: Estatística descritiva para vazão de 10Mbps

Proposta Média Desvio Mínimo Q1 Mediana Q3 Máximo

PMIPFlow 9,8028 0,7090 6,00 10,00 10,00 10,00 10,00

PMIPFlow(Fuzzy)

9,9765 0,0879 9,5246 10,00 10,00 10,00 10,00

Para estressar mais a rede foram feitos dez testes com 20Mbps de vazão UDP. Comovimos anteriormente, na Seção 8.3, a taxa máxima obtida pelas placas utilizadas nosexperimentos foi de 17Mbps, deste modo, haverá um estresse maior na rede e as perdasde pacotes serão mais evidentes.

86

Page 115: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

8.4. AVALIAÇÃO DE QUALIDADE DE SERVIÇO

A Figura 8.10 mostra a vazão obtida no teste de 20Mbps. É possível perceber quea vazão não é constante como era no teste de 10Mbps, mostrado na Figura 8.8, issoacontece porque nesse teste a rede é levada ao seu limite e a flutuação de pacotes reflete acaracterísticas instável das redes sem fio. Nesse teste, as perdas de handover que ocorremsão mais impactantes que no teste anterior, pois a vazão é consideravelmente maior.

60544842363024181261

19

18

17

16

15

14

13

12

11

10

Tempo (s)

Vazã

o (

Mbps)

PMIPFlow

PMIPFlow/Fuzzy

Vazão (Tráfego UDP de 20Mbps)

Figura 8.10: Vazão do tráfego UDP limitado à 20Mbps

A Figura 8.11 evidencia a disparidade entre as médias de vazão com e sem a propostafuzzy, tanto em termos de média como em termos de variação.

PMIPFlow/Fuzzy_1PMIPFlow_1

17,4

17,2

17,0

16,8

16,6

16,4

16,2

16,0

Vazã

o (

Mbps)

Média e Intervalo dos dados95% de Confiança

Figura 8.11: Intervalo da Média da Vazão do tráfego UDP limitado à 20Mbps

Comparando-se as duas proposta, o PMIPFlow(Fuzzy) continua tendo vantagem,porém agora a vantagem é ainda maior e mais evidente. A Tabela 8.3 mostra o resumos

87

Page 116: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 8. AVALIAÇÃO

dos testes. Observando-se a Tabela, na média da vazão, a proposta é 3,93% maior quesem a proposta, ou seja, 16,51Mbps contra 17,16Mbps, porém os valores podem sermaiores se o tráfego perdurar por mais tempo, pois teoricamente haveria mais handovers,chegando a 8% em 120s, e quase 12% em um tráfego de 180 segundos. Uma métricaimportantes nesse caso é o valor mínimo atingido pela vazão, de 10 Mbps com PMIPFlowe de 15,80Mbps com a proposta PMIPFlow(Fuzzy), mostrando que sem a proposta deantecipação a vazão degrada bastante.

Tabela 8.3: Estatística descritiva para vazão de 20Mbps

Proposta Média Desvio Mínimo Q1 Mediana Q3 Máximo

PMIPFlow 16,51 1,81 10,00 16,55 17,00 17,35 19,30

PMIPFlow(Fuzzy)

17,16 0,66 15,80 16,65 17,20 17,60 19,10

A Figura 8.12 mostra a porcentagem de perda de pacotes durantes 10 testes. A Figuramostra que sem a proposta o número de perdas de pacotes é consideravelmente maior,chegando até 6,20 % de perda.

2,52

3,19

0,92

2,76

4,79

3,703,16

1,15

4,50

6,20

0,98 1,10 0,82 0,761,10

0,70

1,30

0,16

1,320,96

0

1

2

3

4

5

6

7

1 2 3 4 5 6 7 8 9 10

Perd

as d

e P

acote

(%

)

Instância de Teste

PMIPFLow

PMIPFlow (Fuzzy)

Figura 8.12: Gráfico em barra da porcentagem de Perdas de Pacotes

A Figura 8.13 mostra a mesma informação que o gráfico anterior, porém, em termosde pontos e linhas, dessa forma é mais evidente a disparidade entre as propostas. No testenúmero 3, onde as duas propostas possuem perdas semelhantes, o número de handoversem a proposta durante o teste foi reduzindo e apenas por esse motivo as perdas forammenores.

88

Page 117: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

8.4. AVALIAÇÃO DE QUALIDADE DE SERVIÇO

10987654321

7

6

5

4

3

2

1

0

Instância de Teste

Perd

as

de P

aco

te (

%)

PMIPFlow

PMIPFlow (Fuzzy)

6,20

4,50

1,15

3,16

3,70

4,79

2,76

0,92

3,19

2,52

6,20

4,50

1,15

3,16

3,70

4,79

2,76

0,92

3,19

2,52

6,20

4,50

1,15

3,16

3,70

4,79

2,76

0,92

3,19

2,52

6,20

4,50

1,15

3,16

3,70

4,79

2,76

0,92

3,19

2,52

0,961,32

0,16

1,30

0,70

1,100,76

0,82

1,100,98 0,961,32

0,16

1,30

0,70

1,100,76

0,82

1,100,98 0,961,32

0,16

1,30

0,70

1,100,76

0,82

1,100,98 0,961,32

0,16

1,30

0,70

1,100,76

0,82

1,100,98

Perdas de Pacotes em 10 coletas

Figura 8.13: Gráfico em linha dos dados da porcentagem de Perdas de Pacotes

A Figura 8.14 exibe a média e variação da porcentagem de perda de pacotes, nessaimagem é possível perceber a diferença entre as duas propostas.

PMIPFlow (Fuzzy)PMIPFlow

5

4

3

2

1

Perd

as

de P

aco

te (

%)

Média e Intervalo dos dados95% de Confiança

Figura 8.14: Gráfico de intervalo de variação dos dados da porcentagem de Perdas dePacotes

A Tabela 8.4 resume os dados de percentagem de perdas de pacotes, com a propostahá uma melhora de cerca de 160% em relação aos dados dos testes sem a proposta fuzzy,com o PMIPFlow a média da porcentagem de perdas foi de 3,28% contra 0,91% doPMIPFlow(Fuzzy).

89

Page 118: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 8. AVALIAÇÃO

Tabela 8.4: Estatística descritiva para Porcentagem de Perdas de Pacotes

Proposta Média Desvio Mínimo Q1 Mediana Q3 Máximo

PMIPFlow 3,28 1,61 0,92 2,17 3,17 4,57 6,19

PMIPFlow(Fuzzy)

0,91 0,33 0,16 0,74 0,97 1,15 1,31

8.5 Avaliação da Qualidade de Experiência

É importante garantir QoS em qualquer que seja o tipo de rede, cabeada ou sem fio. Noentanto, métricas de QoS não são o bastante para avaliar as redes do futuro. Com o intuitode resolver as limitações das tradicionais técnicas de controle de qualidade e desempenhoda rede, no que diz respeito à percepção humana e aspectos subjetivos relacionados aconteúdos multimídia, uma nova abordagem vem sendo utilizada nas avaliações de novasarquiteturas. Os novos estudos de desempenho em sistemas multimídia têm como base asmétricas de QoE.

Operações referentes ao controle de recursos da rede e, inclusive, mobilidade baseadasem métricas de QoE podem ser usadas para configurar e medir elementos de rede deforma a otimizar os recursos e garantir uma melhor percepção do conteúdo por parte dosusuários finais. Vários pesquisadores e organizações, como por exemplo, VQEG (Video

Quality Experts Group), estão estudando formas de aplicar QoE em diferentes cenáriosfixos e móveis, porém essa metodologia continua sendo um desafio.

Assim, as novas arquiteturas não estão sendo mais avaliadas apenas em termos de QoS,mas também quanto ao suporte à QoE. As métricas de QoE servem como extensão aosparâmetros de QoS, permitindo avanços nas transmissões de aplicações de áudio e vídeoem redes IP e podem proporcionar melhorias nos protocolos. A seguir, apresentamosas métricas PSNR (Peak Signal to Noise Ratio) e SSIM (Structural Similarity Index),adotadas como métricas de avaliação da arquitetura PMIPFlow.

8.5.1 Avaliação do PSNR

O PSNR é uma métrica tradicional de QoE que estima a qualidade do vídeo em decibéis,comparando o vídeo original com o vídeo recebido pelo usuário. Para cada faixa devalores de PSNR, há uma qualificação para o vídeo que foi recebido pelo usuário. Veja aTabela 8.5.

Para avaliação do vídeo no cenário foi utilizado trailers do filme "Os Vingadores".Todos possuem a mesma duração, o mesmo codec e o mesmo número de quadros (frames),

90

Page 119: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

8.5. AVALIAÇÃO DA QUALIDADE DE EXPERIÊNCIA

Tabela 8.5: Valores de Classificação do PSNR

PSNR (dB) > 37 31 – 37 25 – 31 20 – 25 < 20

Qualidade Excelente Bom Aceitável Pobre Péssimo

porém com resoluções diferentes conforme mostra a Tabela 8.6.

Tabela 8.6: Vídeos utilizados nos testes

Nome Resolução FPS Codec Bitrate Duração Frames

Vídeo 1 160x90 24 H.264/AVC 488 kbps 2m e 3s 2970

Vídeo 2 320x180 24 H.264/AVC 1732 kbps 2m e 3s 2970

Vídeo 3 640x360 24 H.264/AVC 3371 kbps 2m e 3s 2970

Os vídeos foram enviados um de cada vez. Durante a transmissão do vídeo, assimcomo no teste anterior, o usuário permanecia em constante movimento de um pontode acesso para outro. Após o recebimento do vídeo foi utilizado a versão gratuita daferramento MSU (Video Quality Measurement Tool), (MSU Video Group, 2013), paraavaliar e extrair as informações necessárias para avaliação do vídeo recebido. A Figura8.15 mostra o PSNR do vídeo recebido, com resolução 160x90. Podemos perceber quedurante o momento do handover, ocorrem algumas perdas de pacotes o que acarreta umaqueda no valor do PSNR.

0 500 1000 1500 2000 2500 30000

20

40

60

80PSNR Video 160x90

Frames

PS

NR

(dB

)

PMIPFlowPMIPFlow(Fuzzy)

Figura 8.15: Comparação entre o PSNR do vídeo 160x90 com e sem a proposta

A Figura 8.16 mostra o intervalo dos dados de PSNR para o vídeo de resolução160x90. O PSNR com a proposta fuzzy é maior que o PSNR sem a proposta. Porém,a disparidade não é tão grande, pois da mesma forma que no teste de fluxo sintético, ofluxo não foi o suficiente para estressar a rede. Com resoluções maiores de vídeo, maioré o tráfego na rede, como será visto mais adiante.

A Tabela 8.7 mostra os dados estatístico para o teste em questão, a média do PSNRcom o PMIPFlow foi de 18.09dB e da proposta fuzzy 18,57dB. Ambos os vídeos são

91

Page 120: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 8. AVALIAÇÃO

PMIPFlow_FuzzyPMIPFlow

19,0

18,8

18,6

18,4

18,2

18,0

17,8

17,6

PSN

R (

dB)

PSNR (Intervalo dos dados) Vídeo 160x9095% de Confiança

Figura 8.16: Intervalo do PSNR do vídeo 160x90 com e sem a proposta

classificados como péssimo segundo a Tabela 8.5. Os valores de PSNR levam emconsideração a resolução do vídeo, para vídeos pequenos como neste casos os valores dePSNR vão estar bem abaixo do ideal. Mais adiante avaliaremos vídeos com resoluçõesmaiores.

Tabela 8.7: PSNR do vídeo com resolução 160x90

Proposta Média Desvio Mínimo Q1 Mediana Q3 Máximo

PMIPFlow 18,09 10,14 0,00 12,00 16,03 21,70 78,25

PMIPFlow(Fuzzy)

18,57 9,92 3,16 12,33 16,48 22,00 78,25

A próxima resolução de vídeo avaliada foi a de 320x180, neste caso o vídeo começaa ter valores de PSNR um pouco melhores. Percebe-se na Figura 8.17, que o PSNRvaria bastante de frame para frame, isso ocorre devido a natureza estrutural do vídeo emquestão. Por se tratar de um trailer, existem muitas variações de cores, de texturas e deefeitos.

A Figura 8.18 exibe a média e intervalo dos dados de PSNR, nela é possível perceberque a variação dos dados é praticamente a mesma, porém com o PMIPFlow(Fuzzy), oPSNR se mantém maior que sem a proposta. Isso ocorre porque com a proposta perde-semenos pacotes e com isso o vídeo sobre menor queda no PSNR.

A Tabela 8.8 resume os dados para a resolução de video 320x180. A média de PSNRcom a proposta é de 25,58dB enquanto que sem a proposta é de 24,51dB. Agora, comuma resolução maior, os vídeos ficam classificados como pobre, segundo a Tabela 8.5.

92

Page 121: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

8.5. AVALIAÇÃO DA QUALIDADE DE EXPERIÊNCIA

0 500 1000 1500 2000 2500 30000

20

40

60

80PSNR Video 320x180

Frames

PS

NR

(dB

)

PMIPFlowPMIPFlow(Fuzzy)

Figura 8.17: Comparação entre o PSNR do vídeo 320x180 com e sem a proposta

PMIPFlow_FuzzyPMIPFlow

26,0

25,5

25,0

24,5

24,0

PSN

R (

dB)

PSNR (Intervalo dos dados) Vídeo 320x18095% de Confiança

Figura 8.18: Intervalo do PSNR do vídeo 320x180 com e sem a proposta

Tabela 8.8: PSNR do vídeo com resolução 320x180

Proposta Média Desvio Mínimo Q1 Mediana Q3 Máximo

PMIPFlow 24,51 13,14 0,00 17,49 22,47 26,82 85,82

PMIPFlow(Fuzzy)

25,58 12,68 8,18 18,03 22,89 27,77 85,82

93

Page 122: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 8. AVALIAÇÃO

O último teste de QoE para o PSNR foi com resolução de 640x360. Até agoraavaliou-se apenas resoluções de vídeos (160x90 e 320x180), que são utilizados mais paradispositivos restritos como smartphones, tablets de baixo custo e alguns netbooks. Nessenovo teste, a resolução fica mais perto do que um usuário de notebook e dispositivos maisavançados.

A Figura 8.19 mostra o PSNR do vídeo na resolução de 640x360. Neste caso, percebe-se que os valores de PSNR são relativamente maiores que nos testes anteriores. Porém,sem uma proposta que melhore a velocidade de handover, as perdas inerentes a esseprocesso podem degradar a qualidade do vídeo recebido pelo usuário, na Figura 8.19percebe-se que há várias quedas no valor do PSNR que não são verificadas com a propostade antecipação.

0 500 1000 1500 2000 2500 30000

20

40

60PSNR Video 640x360

Frames

PS

NR

(dB

)

PMIPFlowPMIPFlow(Fuzzy)

Figura 8.19: Comparação entre o PSNR do vídeo 640x360 com e sem a proposta

A Figura 8.20 destaca mais ainda a diferença dos PSNRs obtidos com e sem a proposta.Essa Figura mostra visualmente como a média estimada, com 95% de confiança, daproposta é maior que a média estimada sem a proposta.

94

Page 123: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

8.5. AVALIAÇÃO DA QUALIDADE DE EXPERIÊNCIA

PMIPFlow_FuzzyPMIPFlow

32

31,5

31

29,5

PSN

R (

dB)

PSNR (Intervalo dos dados) Vídeo 640x18095% de Confiança

Figura 8.20: Intervalo do PSNR do vídeo 640x360 com e sem a proposta

Os valores estão resumidos na Tabela 8.9. Na média, o PSNR com a proposta éde 31.44dB, e sem a proposta, atinge 29.70dB. O ganho de 6% e poderia ser maior,dependendo da duração e da resolução do vídeo. Desta vez, o vídeo com a proposta estáclassificado como BOM e o vídeo sem a proposta está classificado como ACEITÁVEL,segundo a Tabela 8.5.

Tabela 8.9: PSNR do vídeo com resolução 640x360

Proposta Média Desvio Mínimo Q1 Mediana Q3 Máximo

PMIPFlow 29,70 10,35 0,00 23,12 27,88 33,98 60,000

PMIPFlow(Fuzzy)

31,44 9,95 13,17 23,65 28,18 34,32 60,00

8.5.2 Avaliação do SSIM

A métrica SSIM (Structural Similarity Index), também bastante utilizada para avaliaçãode QoE, baseia-se na medição quadro a quadro do vídeo original com o vídeo recebidopelo usuário. O SSIM compara a similaridade entre os vídeos nos seguintes aspectos:contraste, luminosidade e estrutura. O SSIM é expresso como um valor decimal entre 0 e1. Quanto mais próximo de 1, melhor é a qualidade do vídeo.

A Figura 8.21 mostra o SSIM para o vídeo recebido com resolução 160x90, assimcomo nos testes de PSNR, a figura mostra os valores para para os testes com e sem aproposta. Na imagem, é possível ver que no momento dos handovers, o SSIM sem aproposta vai à quase zero, o que prejudica bastante a qualidade do vídeo.

95

Page 124: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 8. AVALIAÇÃO

0 500 1000 1500 2000 2500 30000

0.2

0.4

0.6

0.8

1

SSIM Video 160x90

Frames

SS

IM

PMIPFlowPMIPFlow(Fuzzy)

Figura 8.21: Comparação entre o SSIM do vídeo 160x90 com e sem a proposta

A Figura 8.22 mostra a média em forma de intervalo evidenciando que com a propostafuzzy a média de SSIM é maior que sem a proposta, embora as duas estejam muito abaixodo ideal, porém esse valor inadequado do SSIM é reflexo da baixa resolução do vídeo,assim como ocorreu com o PSNR, pois, essas métricas dependem do valor máximo depixel dos quadros.

PMIPFlow_FuzzyPMIPFlow

0,52

0,51

0,50

0,49

0,48

SSIM

SSIM (Intervalo dos dados) Vídeo 160x9095% de Confiança

Figura 8.22: Intervalo do dados de SSIM do vídeo 160x90 com e sem a proposta

96

Page 125: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

8.5. AVALIAÇÃO DA QUALIDADE DE EXPERIÊNCIA

A Figura 8.23 mostra o SSIM para resolução 320x180. As quedas apresentadasno gráfico são evidentes e ocorrem devido às perdas de pacotes quando a proposta deantecipação não é utilizada.

0 500 1000 1500 2000 2500 30000

0.5

1SSIM Video 320x180

Frames

SS

IM

PMIPFlowPMIPFlow(Fuzzy)

Figura 8.23: Comparação entre o SSIM do vídeo 320x180 com e sem a proposta

A Figura 8.24 exibe a comparação visual da intervalo da média das duas propostascom 95% de confiança. Neste caso, como não existem pontos em comum no intervalo deconfiança das duas propostas e podemos afirmar com certeza que a média do SSIM daproposta é superior da média sem a proposta.

PMIPFlow_FuzzyPMIPFlow

0,69

0,68

0,67

0,66

0,65

0,64

SSIM

SSIM (Intervalo dos dados) Vídeo 320x18095% de Confiança

Figura 8.24: Intervalo do dados de SSIM do vídeo 320x180 com e sem a proposta

Por fim, o último teste, com o vídeo de resolução 640x360. Neste caso, como a vazãoé maior, todas as perdas são potencializadas, de modo que é mais evidente a queda nosvalores de SSIM dos quadros do vídeo recebido.

Agora, o intervalo de confiança da média é nitidamente superior utilizando a proposta,na média é 0.694 contra 0.6537, o que representa uma superioridade de 6,16%. Esses

97

Page 126: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 8. AVALIAÇÃO

0 500 1000 1500 2000 2500 30000

0.5

1SSIM Video 640x360

Frames

SS

IM

PMIPFlowPMIPFlow(Fuzzy)

Figura 8.25: Comparação entre o SSIM do vídeo 640x360 com e sem a proposta

valores, em comparação com os testes com resoluções inferiores mostram que a propostade antecipação se mostra mais atrativa quando maior é a resolução do vídeo utilizado econsequentemente maior é a vazão necessário para o envio do mesmo.

PMIPFlow_FuzzyPMIPFlow

0,71

0,70

0,69

0,68

0,67

0,66

0,65

0,64

SSIM

SSIM (Intervalo dos dados) Vídeo 640x18095% de Confiança

Figura 8.26: Intervalo dos dados de SSIM do vídeo 640x360 com e sem a proposta

Para a métrica SSIM, resumiu-se todos os teste na Tabela 8.10, que mostra de formacomparativa os valores médios, desvio padrão, valor mínimo, primeiro quartil (25% dosdados), mediana (segundo quartil ou 50% dos dados), teceiro quartil (75% dos dados)e o valor máximo. Como dito anteriormente, a Tabela, mostra que quanto maior é aresolução do vídeo maior é o valor de SSIM, também de PSNR, do mesmo e maior sãoos benefícios de se utilizar uma proposta que preserve de forma inteligente os pacotes nomomento da troca de rede do usuário.

Para se visualizar de forma prática os benefícios da proposta, a Figura 8.27 mostra oframe 598 retirado do vídeo recebido durante o processo de handover. É possível perceber

98

Page 127: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

8.5. AVALIAÇÃO DA QUALIDADE DE EXPERIÊNCIA

Tabela 8.10: Resumo dos dados de SSIM para todas as resoluções de vídeo.

Proposta Média Desvio Mínimo Q1 Mediana Q3 Máximo

Resolução 190x90

PMIPFlow 0,493 0,27 0,00 0,25 0,44 0,70 1

PMIPFlow(Fuzzy)

0,501 0,26 0,001 0,279 0,465 0,716 1

Resolução 320x180

PMIPFlow 0,574 0,260 0,0 0,375 0,590 0,825 1

PMIPFlow(Fuzzy)

0,605 0,249 0,123 0,395 0,596 0,826 1

Resolução 640x360

PMIPFlow 0,653 0,246 0,0 0,469 0,684 0,855 1

PMIPFlow(Fuzzy)

0,704 0,216 0,0014 0,538 0,707 0,885 1

que as perdas de frames durante o processo de handover prejudicam a reconstrução edegradam a qualidade do vídeo. Quando o PMIPFlow(Fuzzy) é utilizado as perdas sãominimizadas e a reconstrução do vídeo é realizada de forma completa, com isso, o usuáriorecebe um vídeo com qualidade e não toma conhecimento da ocorrência do handover.

Original

PMIPFlow PMIPFlow (Fuzzy)

Figura 8.27: Frame 598 no instante do handover com o PMIPFlow e com o PMIP-Flow(Fuzzy)

99

Page 128: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 8. AVALIAÇÃO

8.6 Considerações Finais

Este Capítulo apresentou a avaliação da proposta de antecipação de handover para oPMIPFlow. Os resultados dos testes mostraram que a proposta é eficiente e evita a perdaexcessiva de pacote que normalmente ocorre durante o processo de handover. Em termosquantitativos, no teste de atraso de pacotes a proposta fuzzy foi 128,88 % melhor quesem a proposta. Em relação à vazão, no teste de 10Mbps a proposta foi 1,76% melhor.Por outro lado, para o teste de 20Mbps, a proposta foi cerca de 4% melhor. Em relação àporcentagem de perda de pacotes, o PMIPFlow(Fuzzy) é superior em 260%.

Levando-se em conta a avaliação da métrica QoE, na análise de vídeo, foram utilizadostrês resoluções diferentes, 160x90, 320x180 e 640x360. No teste da métrica PSNR, aproposta foi superior 2,65%, 4,36% e 5,85%, respectivamente. No caso da métrica SSIM,a superioridade foi de 1,6%, 5,40% e 7,8%.

Em todos os testes a utilização da proposta se mostrou vantajosa, e quanto maior aresolução dos vídeos maior sua vantagem, isso porque, um vídeo com uma resoluçãomaior requer mais pacotes para enviar um frame, o que significa um maior tráfego pelarede, e se mais pacotes trafegam maiores são as perdas devido às possíveis desconexão.No futuro, os dispositivos serão mais sofisticados, com mais memória, maior poder deprocessamento, de modo, que a resolução das aplicações de vídeo tendem a aumentar, oque antigamente era apenas voz e texto, no futuro, será vídeo de resolução ultra HD(4K).Por isso, garantir a continuidade de serviço é algo de suma importantes para as redesmóveis do futuro.

100

Page 129: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

9Conclusão

"Quando olho para trás e vejo o quanto caminhei e os

obstáculos que tive que superar e, ao olhar para frente,

vislumbro mais desafios nesta estrada que não termina,

concluo: Vencerei novamente, porque vencer é meu desiderato."

—BALTASAR AVELAR (Filosofias de Vida)

Este Capítulo resume os principais pontos discutidos neste trabalho, as consideraçõesfinais desta dissertação é apresentada na Seção 9.1. Na Seção 9.2, são descritas algumascontribuições obtidas, e em seguida, na Seção 9.3, serão discutidos alguns pontos quepodem ser explorados em trabalhos futuros.

9.1 Considerações Finais

Este trabalho apresentou o PMIPFlow, uma arquitetura para o gerenciamento de mobi-lidade em redes SDN. Discutiu-se a necessidade de uma nova arquitetura para as redestradicionais, foram introduzidos novos conceitos como: redes definidas por software,OpenFlow, programabilidade, virtualização de redes e mobilidade em redes virtuais. Fo-ram apresentados os conceitos relacionados ao gerenciamento de mobilidade, introduçãosobre as redes sem fio e handover, após isso, alguns protocolos de mobilidade, foramdiscutidos, em especial o MIPv6 e PMIPv6, onde este último serviu como inspiraçãopara o PMIPFlow. Em seguida foi apresentada a arquitetura do PMIPFlow, abordandodesde a sinalização, conexão e handover, até sua implementação no ambiente Linux.

Nesta dissertação, também foram discutidos a implementação do protótipo do PMIP-Flow e das entidade que compõem a arquitetura. No PMIPFlow, tal como nos proto-colos de mobilidade em geral, não foi especificada uma inteligência para auxiliar no

101

Page 130: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 9. CONCLUSÃO

processo de handover, com isso, além da arquitetura PMIPFlow, foi desenvolvido oPMIPFlow(Fuzzy), que é uma proposta de antecipação de handover na arquitetura PMIP-Flow utilizando lógica fuzzy. A avaliação da arquitetura e da proposta PMIPFlow(Fuzzy)foi realizada utilizando-se tanto métricas de QoS quanto de QoE, os resultados mostraramque a proposta possui um bom desempenho, e que a antecipação ajuda a melhorar asmétricas a qualidade do vídeo recebida pelo usuário.

A programabilidade de redes oferecida pelo paradigma SDN trás a possibilidade deinovação e transforma a ideia de redes engessadas e fechadas, para redes abertas, flexíveise de rápida evolução. Isso porque através de uma interfaces padronizada e um sistema decontrole externo, o SDN oferece um gerenciamento mais eficiente dos elementos da rede,separando o plano de controle do plano de dados. O PMIPFlow é uma tentativa de criarum framework, que forneça às redes SDN a capacidade de gerenciamento de dispositivosmóveis.

9.2 Contribuições

Esta Seção apresenta as principais contribuições obtidas nesta dissertação.

A primeira contribuição deste trabalho foi a implementação preliminar do protocoloPMIPv6 para redes tradicionais. Esse trabalho serviu como ponto de partida para odesenvolvimento da arquitetura PMIPFlow.

A segunda contribuição foi o desenvolvimento da arquitetura de gerenciamento demobilidade em redes definidas por software. Este é o primeiro trabalho, que se temconhecimento, a utilizar os princípios de um protocolo padronizado de gerenciamentode mobilidade em conjunto com o OpenFlow, para fornecer handover transparente aosusuários móveis em redes virtualizadas.

A terceira contribuição foi propor uma solução inteligente para otimização de hando-

ver. Essa solução é baseado em lógica fuzzy e utiliza métricas de QoS para servir comogatilho de handover.

Outra contribuição relevante deste trabalho, foi a revisão sistemática sobre gerencia-mento de mobilidade na camada IP e em redes definidas por software, bem como sobretécnicas de antecipação de handover.

102

Page 131: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

9.3. TRABALHOS FUTUROS

9.3 Trabalhos Futuros

Esta seção apresenta e discute possíveis extensões à pesquisa desenvolvida nesta disserta-ção.

• Testar outras tecnologias: o PMIPFlow foi avaliado utilizando redes IEEE 802.11(Wi-Fi), porém, assim como a maioria dos protocolos de gerenciamento de mobili-dade, o PMIPFlow não depende de tecnologia. Com isso, este trabalho pode serestendido para testes com outras tecnologias sem fio, como WiMAX e LTE.

• Gerenciamento de mobilidade energeticamente eficiente: o tráfego de aplica-ções de vídeo consome bastante banda e energia tanto dos dispositivos móveisquanto nos equipamentos da rede. Deste modo há a necessidade de estender otempo de vida das baterias, bem como, reduzir o consumo de energia no núcleo darede no contexto das então denominadas redes verdes (Green Networking), umatendência na pesquisa em TICs que visa, além do aspecto econômico, minimizar aemissão de CO2 na atmosfera. A extensão do PMIPFlow para contemplar variáveisrelacionadas ao consumo de energia tanto do dispositivo quanto da rede podem servislumbradas para um gerenciamento de mobilidade energeticamente eficiente.

• Mobilidade na computação em nuvem: uma nova tecnologia que se expande acada dia, é a computação na nuvem (Cloud Computing), nela os dados do usuário,que antes eram armazenados localmente, passam a ser guardados em data centers

virtualizados espalhados pela Internet (nuvem). Esta nuvem pode ser entendidacomo a própria Internet ou uma rede local, contanto que ela permita acesso externo.Deste modo, os dados dos usuário estão acessíveis onde quer que ele esteja. Umadas vantagens da computação em nuvem é a possibilidade de migração de máquinasvirtuais (Asghar et al., 2011), neste processo, o desafio é manter a conectividadedas máquinas nesse processo de transferência. O PMIPFlow poderia ser utilizadopara gerir essa mobilidade mantendo o IP da máquina virtual inalterada enquantoela é transferida para outra infraestrutura/servidor/máquina física.

• Mecanismo para seleção inteligente de canais: antes de conduzir os teste doPMIPFlow, foi necessário fazer uma varredura para descobrir quais canais sem fioestavam menos congestionados, com o objetivo de assegurar que as degradaçõesforam causadas exclusivamente pelo handover. Logo, percebeu-se que é de extrema

103

Page 132: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

CAPÍTULO 9. CONCLUSÃO

importância que o usuário esteja conectado no melhor canal, além da melhor rede.Portanto, uma possibilidade de extensão do PMIPFlow é integrar à arquitetura umesquema de seleção inteligente de canais.

• Elaborar métricas objetivas de QoE para redes sem fio virtualizadas: atéagora, as métricas objetivas de QoE foram elaboradas para redes cabeadas e quandomuito para redes sem fio, mas sem os componentes de virtualização. Mesmo osmodelos existentes para redes cabeadas e sem fio, não são completos. Desta forma,é possível vislumbrar a criação de métricas objetivas que levem em consideraçãocaracterísticas das redes sem fio virtuais.

• Modelo para decisão de handover baseado em QoE: a arquitetura PMIPFlow foidesenvolvida de tal modo que outras propostas de otimização de handover podemser facilmente implementadas. O PMIPFlow(Fuzzy) baseia-se em métricas de QoS(Vazão,RTT e RSS) para tomada de decisão de handover. Outra possibilidade, écriar um modelo matemático para predição de QoE que leve em consideração todoo cenário de redes móveis virtuais. Este modelo seria utilizado para tomar decisõesimportantes, baseadas em QoE, dentro de redes SDN com o objetivo de melhoraros serviços fornecidos ao usuário final.

• Handover vertical: é unânime que as redes do futuro serão compostas pela integra-ção de diversas outras redes fornecendo ao usuário uma gama de tecnologias, taxasde dados e serviços diferenciados. Com isso, um dos trabalhos futuros é estender oPMIPFlow para fornecer, também, gerenciamento de mobilidade vertical, ou seja,handover entre tecnologias diferentes. Desta forma, o usuário estará conectadosempre na melhor rede, não importando a tecnologia empregada nelas.

104

Page 133: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

Referências Bibliográficas

Akyildiz, I., McNair, J., Ho, J., Uzunalioglu, H., and Wang, W. (1999). Mobilitymanagement in next-generation wireless systems. Proceedings of the IEEE, 87(8),1347–1384.

Asghar, N., Frikha, M., and Tabbane, S. (2011). A virtual network solution for servicemobility. In Wireless and Mobile Networking Conference (WMNC), 2011 4th Joint

IFIP, pages 1 –6.

Atalah, K., Macías, E., and Suárez, A. (2008). A proactive horizontal handover algorithmbased on rssi supported by a new gradient predictor. Ubiquitous Computing and

Communication Journal, 3.

Avelar, E., Marques, L., Bemerguy, T., and Dias, K. (2011). Qoe provisioning andseamless mobility management based on pmipv6 protocol. Latin America Transactions,

IEEE (Revista IEEE America Latina), 9(2), 199 –205.

Big Switch Networks (2011). Big Switch Controller. http://www.bigswitch.

com/.

Chang, R.-S. and Leu, S.-J. (2004). Handoff ordering using signal strength for multimediacommunications in wireless networks. Wireless Communications, IEEE Transactions

on, 3(5), 1526–1532.

Choi, J., Jung, B., and il Kim, T. (2009). Lma initiated route optimization protocol forimproving pmip handover performance. Communications Letters, IEEE, 13(11), 871–873.

Chowdhury, N. M. K. and Boutaba, R. (2009). Network virtualization: state of the artand research challenges. Communications Magazine, IEEE, 47(7), 20–26.

Feldmann, A. (2007). Internet clean-slate design: what and why? ACM SIGCOMM

Computer Communication Review, 37(3), 59–64.

Firoiu, V., Le Boudec, J.-Y., Towsley, D., and Zhang, Z.-L. (2002). Theories and modelsfor internet quality of service. Proceedings of the IEEE, 90(9), 1565–1591.

Forman, G. and Zahorjan, J. (1994). The challenges of mobile computing. Computer,27(4), 38 –47.

105

Page 134: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

REFERÊNCIAS BIBLIOGRÁFICAS

Gohar, M., Koh, S. J., Um, T.-W., and Lee, H.-W. (2010). Seamless multicast handover inpmipv6-based wireless networks. In Advanced Communication Technology (ICACT),

2010 The 12th International Conference on, volume 1, pages 502 –507.

Gundavelli, S., Chowdhury, K., Devarapalli, V., Patil, B., Leung, K., et al. (2008a). Proxymobile ipv6.

Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K., and Patil, B. (2008b). Rfc5213, proxy mobile ipv6.

Hostapd (2013). IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authentica-tor. http://hostap.epitest.fi/hostapd/.

Hwang, H., Kim, J.-H., Lee, J., and Lee, K.-G. (2010). Fast handoff scheme usingmulticast group for intra-domain in pmipv6 networks. In Consumer Communications

and Networking Conference (CCNC), 2010 7th IEEE, pages 1 –2.

Internet Engineering Task Force (2007). IEEE 802.21/Media Independent Handover.http://www.ieee802.org/21/.

Internet Engineering Task Force (2010). Network-based Localized Mobility Management.http://datatracker.ietf.org/doc/charter-ietf-netlmm/.

Internet Engineering Task Force (2011). A Survey of Mobility Support in the Internet.http://tools.ietf.org/html/rfc6301.

Itoh, K.-I., Watanabe, S., Shih, J.-S., and Sato, T. (2002). Performance of handoffalgorithm based on distance and rssi measurements. Vehicular Technology, IEEE

Transactions on, 51(6), 1460–1468.

Johnson, D., Perkins, C., and Arkko, J. (2004). Rfc 3775: Mobility support in ipv6. IETF,

June.

Kempf, J. (2007). Problem statement for network-based localized mobility management(netlmm).

Kim, J.-I., Koh, S.-J., and Ko, N.-S. (2009). B-pmipv6: Pmipv6 with bicasting forsoft handover. In Advanced Communication Technology, 2009. ICACT 2009. 11th

International Conference on, volume 01, pages 218 –221.

106

Page 135: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

REFERÊNCIAS BIBLIOGRÁFICAS

Kim, J.-I., Jung, H., and Koh, S. J. (2011). Distributed mobility control for mobile-oriented future internet environments. In ICT Convergence (ICTC), 2011 International

Conference on, pages 342 –347.

Klir, G. J. and Yuan, B. (1995). Fuzzy sets and fuzzy logic. Prentice Hall New Jersey.

Kong, K.-S., Lee, W., Han, Y.-H., and Shin, M.-K. (2008). Handover latency analysis ofa network-based localized mobility management protocol. In Communications, 2008.

ICC’08. IEEE International Conference on, pages 5838–5843. IEEE.

Lee, H.-S. and Min, S.-W. (2009). A network-based fast handover scheme over ieee802.16e access networks. In Communications and Information Technology, 2009.

ISCIT 2009. 9th International Symposium on, pages 1084 –1089.

Li, L., Mao, Z., and Rexford, J. (2012). Toward software-defined cellular networks. InSoftware Defined Networking (EWSDN), 2012 European Workshop on, pages 7 –12.

Magagula, L., Falowo, O., and Chan, H. (2009). Pmipv6 and mih-enhanced pmipv6for mobility management in heterogeneous wireless networks. In AFRICON, 2009.

AFRICON ’09., pages 1 –5.

McKeown, N., Anderson, T., Balakrishnan, H., Parulkar, G., Peterson, L., Rexford, J.,Shenker, S., and Turner, J. (2008). Openflow: enabling innovation in campus networks.SIGCOMM Comput. Commun. Rev., 38(2), 69–74.

Mininet (2011). Rapid prototyping for software defined networks. http://yuba.

stanford.edu/foswiki/bin/view/OpenFlow/Mininet.

MSU Video Group (2013). Video Quality Measurement Tool. http://compression.ru/index_en.htm.

Mun-Yee Lim, J. and Chow, C.-O. (2012). Smart handover based on fuzzy logic trend inieee802. 11 mobile ipv6 networks.

Nakauchi, K., Ishizu, K., Murakami, H., Nakao, A., and Harada, H. (2011). Amphibia:A cognitive virtualization platform for end-to-end slicing. In Communications (ICC),

2011 IEEE International Conference on, pages 1–5. IEEE.

Nasser, N., Hasswa, A., and Hassanein, H. (2006). Handoffs in fourth generationheterogeneous networks. Communications Magazine, IEEE, 44(10), 96 –103.

107

Page 136: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

REFERÊNCIAS BIBLIOGRÁFICAS

NEC (2011a). Helios: An extensible C-based OpenFlow controller. http://www.

nec.com/.

NEC (2011b). Trema: Full-Stack OpenFlow Framework in Ruby and C. http://

trema.github.com/trema/.

Nicira Networks (2010). NOX: Network Operation System. http://noxrepo.org/wp.

Niebert, N., Baucke, S., El-Khayat, I., Johnsson, M., Ohlman, B., Abramowicz, H.,Wuenstel, K., Woesner, H., Quittek, J., and Correia, L. M. (2008). The way 4ward tothe creation of a future internet. In Personal, Indoor and Mobile Radio Communications,

2008. PIMRC 2008. IEEE 19th International Symposium on, pages 1–5. IEEE.

NLANR/DAST (2013). A modern Alternative for Measuring Maximum TCP and UDP .http://iperf.sourceforge.net/.

Nuorvala, V., Petander, H., and A. Tuominen (2001). Mobile IPv6 for Linux (MIPL).http://www.umip.org/.

Obele, B. and Kang, M. (2009). Mobility management: A proactive qos-aware proxymip with improved handover latency for end-to-end qos provisioning in a proxymip domain. In Advanced Communication Technology, 2009. ICACT 2009. 11th

International Conference on, volume 03, pages 1867 –1869.

OpenFlowHub.org (2012). Indigo Open Development System. http://www.

openflowhub.org/display/Indigo/.

Orbit-Lab (2005). Orbit: Open-Access Research Testbed for Next-Generation WirelessNetworks. http://www.orbit-lab.org/.

R. Sherwood, G. Gibb, K. Yap, G. Appenzeller, N. McKeown, and G. Parulkar(2009). Flowvisor: A network virtualization layer. https://github.com/

OPENNETWORKINGLAB/flowvisor/wiki.

Rice University (2011). Maestro: A System for Scalable OpenFlow Control. http://code.google.com/p/maestro-platform/.

Ryu, S., Kim, M., and Mun, Y. (2009). Enhanced fast handovers for proxy mobileipv6. In Computational Science and Its Applications, 2009. ICCSA ’09. International

Conference on, pages 39 –43.

108

Page 137: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

REFERÊNCIAS BIBLIOGRÁFICAS

Sharma, M. and Khola, R. (2012). Fuzzy logic based handover decision system. Interna-

tional Journal, 3.

Sherwood, R., Gibb, G., Yap, K., Appenzeller, G., Casado, M., McKeown, N., andParulkar, G. (2009). Flowvisor: A network virtualization layer. OpenFlow Switch

Consortium, Tech. Rep.

Stanford (2008). OpenFlow: Innovate in Your Network . http://www.openflow.org/.

Stanford (2012). OpenFlow 1.0/Openflow for Ubuntu. http://openflow.org/downloads/openflow-1.0.0.tar.gz.

Stanford University (2011). Beacon: A Java-based OpenFlow Controller. https:

//openflow.stanford.edu/display/Beacon/Home.

Taghizadeh, A., Wan, T.-C., and Budiarto, R. (2011). A comparative performanceevaluation of inter-domain network-based ip mobility solutions. In Proceedings of the

7th Asian Internet Engineering Conference, AINTEC ’11, pages 136–139, New York,NY, USA. ACM.

Tsukamoto, K., Yamaguchi, T., and Kashihara, S. (2007). Experimental evaluation ofdecision criteria for wlan handover: Signal strength and frame retransmission. IEICE

transactions on communications, 90(12), 3579–3590.

Tsung-Nan, L. and Po-Chiang, L. (2005). Hndoff ordering using link quality estimatorfor multimedia communications in wireless networks. In Global Telecommunications

Conference, 2005. GLOBECOM’05. IEEE, volume 2, pages 6–pp. IEEE.

Turner, J. S. (2006). A proposed architecture for the geni backbone platform. In Archi-

tecture for Networking and Communications systems, 2006. ANCS 2006. ACM/IEEE

Symposium on, pages 1–10. IEEE.

VMware (2012). VMware vSphere Hypervisor (ESXi) 5.0. http://www.vmware.com/products/vsphere-hypervisor/overview.html.

Wang, Y., Feng, Y., and Zhang, L. (2009). Coordinating fast handover and route optimi-zation in proxy mobile ipv6. In Wireless Communications, Networking and Mobile

Computing, 2009. WiCom ’09. 5th International Conference on, pages 1 –4.

109

Page 138: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

REFERÊNCIAS BIBLIOGRÁFICAS

Winkler, S. and Mohandas, P. (2008). The evolution of video quality measurement: frompsnr to hybrid metrics. Broadcasting, IEEE Transactions on, 54(3), 660–668.

Wu, S.-J. (2011). Fuzzy-based handover decision scheme for next-generation heterogene-ous wireless networks. Journal of Convergence Information Technology, 6(4).

Yamasaki, Y., Miyamoto, Y., Yamato, J., Goto, H., and Sone, H. (2011). Flexible accessmanagement system for campus vlan based on openflow. In Applications and the

Internet (SAINT), 2011 IEEE/IPSJ 11th International Symposium on, pages 347–351.IEEE.

Yap, K., Sherwood, R., Kobayashi, M., Huang, T., Chan, M., Handigol, N., McKeown,N., and Parulkar, G. (2010a). Blueprint for introducing innovation into wireless mobilenetworks. In Proceedings of the second ACM SIGCOMM workshop on Virtualized

infrastructure systems and architectures, pages 25–32. ACM.

Yap, K.-K., Kobayashi, M., Sherwood, R., Huang, T.-Y., Chan, M., Handigol, N., andMcKeown, N. (2010b). Openroads: Empowering research in mobile networks. ACM

SIGCOMM Computer Communication Review, 40(1), 125–126.

Yi, M.-K., Choi, J.-Y., Choi, J.-W., Park, S.-C., and Yang, Y.-K. (2010). A pointerforwarding scheme for minimizing signaling costs in proxy mobile ipv6 networks.In Consumer Communications and Networking Conference (CCNC), 2010 7th IEEE,pages 1 –5.

Yousaf, F. Z., Bauer, C., and Wietfeld, C. (2008). An accurate and extensible mobile ipv6(xmipv6) simulation model for omnet++. In Proceedings of the 1st international confe-

rence on Simulation tools and techniques for communications, networks and systems

& workshops, page 88. ICST (Institute for Computer Sciences, Social-Informatics andTelecommunications Engineering).

110

Page 139: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

Apêndices

111

Page 140: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade
Page 141: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

AScripts

A.1 Hostapd

Este script configura os OMAGs em modo AP. Para isso utiliza um arquivo especial deconfiguração chamado hostapd_omagX.conf.

1 #!/bin/bash

2 set -e

3 NUM_ARG=$#

4 VERSION=’1.0’

5

6 HOSTAPD=’/usr/sbin/hostapd’

7 HOSTAPD_OMAG1_CONF=’/etc/hostapd/hostapd_omag1.conf’

8 HOSTAPD_OMAG2_CONF=’/etc/hostapd/hostapd_omag2.conf’

9

10 function omag1(){

11 $HOSTAPD $HOSTAPD_OMAG1_CONF

12

13 function omag2(){

14 $HOSTAPD $HOSTAPD_OMAG2_CONF

15 }

16

17 function about(){

18 echo "******************************";

19 echo "$0 $VERSION"

20 echo "This program is used to configure";

113

Page 142: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

APÊNDICE A. SCRIPTS

21 echo " and initialize the PMIPFlow"

22 echo "Created by Edson Adriano M. Avelar ([email protected])"

23 echo "******************************";

24 }

25

26 function usage(){

27 echo "PMIPFlow Init Script. v$VERSION"

28 echo "Created by Adriano Avelar([email protected])"

29 echo "usage: $0 [OPTIONS] "

30 echo " -om1, --omag1 : Configure and initialized as OMAG 1"

31 echo " -om2, --omag2 : Configure and initialized as OMAG 2"

32 echo " -h, --help : Display this help and exit"

33 echo " -v, --version : Display version info and exit"

34

35 }

36

37 case $NUM_ARG in

38 0)

39 echo "No parameter, check usage out"

40 usage;;

41

42 1)

43 if [ "$1" == "--omag1" ] || [ "$1" == "-om1" ]; then

44 omag1

45 elif [ "$1" == "--omag2" ] || [ "$1" == "-om2" ]; then

46 omag2

47 elif [ "$1" == "--help" ] || [ "$1" == "-h" ]; then

48 usage

49 elif [ "$1" == "--version" ] || [ "$1" == "-v" ]; then

50 about

51 else

52 usage

53 fi

54 ;;

55 esac

114

Page 143: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

A.2. NTP.SH

A.2 NTP.sh

Cliente/Servidor NTP (Network Time Protocol) Para a utilização correta dos sistemasé necessário sincronizar os relógios dos OMAGs com o do NOX. Isso é realizado com oScript abaixo, que usa o protocolo NTP para tal fim. Esse script é executado no OMAGe outro no NOX existem um servidor NTP aguardando requisição de sincronização declientes.

1 #!/bin/bash

2

3 watch -n 60 ntpdate 2001::1

Este script executa a cada 60 segundos uma requisição ntpdate para o IP do NOX queé 2001::1, o NOX responde com o NTP Reply informando o seu relógio atual, o OMAGrecebe a resposta e sincroniza seu relógio automaticamente.

115

Page 144: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

APÊNDICE A. SCRIPTS

A.3 PMIPFlowSetup.sh

Este script configura o necessário para execução da máquina como OMAG1 ou OMAG2.Após as configurações, ele chama na linha 174 e 201 o script PMIPFlow_Init.shpara, de fato, inicializar a implementação em C++ do PMIPFlow.

1 #!/bin/bash

2 set -e

3 NUM_ARG=$#

4 VERSION=’1.0’

5 #Set some variables

6 WIFI_INTERFACE=’wlan0’

7 SCRIPTS_DIR=’/usr/local/pmipflow/scripts’

8

9 #oMAG1

10 ETH0_OMAG1_ADDRESS=’2001::10/64’

11 WIFI_OMAG1_ADDRESS=’fe80::a:b:c:d/64’

12

13 #OMAG2

14 ETH0_OMAG2_ADDRESS=’2001::20/64’

15 WIFI_OMAG2_ADDRESS=’fe80::a:b:c:d/64’

16

17 function sincronization(){

18 screen -A -d -m -S ntp $SCRIPTS_DIR/ntp.sh

19 }

20

21 function init(){

22 ntp=$(echo "‘service network-manager status | grep running‘")

23

24 #Stop ntp server

25 if [[ "$ntp" == "" ]]; then

26 echo "1. NTP is not running, so continue.."

27 else

28 echo "NTP is running, so kill it .."

29 service ntp stop

116

Page 145: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

A.3. PMIPFLOWSETUP.SH

30 sincronization

31 fi

32

33 net=$(echo "‘service network-manager status | grep running‘")

34 #Turns Network Manager down, to not brings troubles

35 if [[ "$net" == "" ]]; then

36 echo "1. Network Manager is not running, so continue.."

37 else

38 echo "Network Manager is running, so kill it .."

39 service network-manager stop

40 fi

41

42 $SCRIPTS_DIR/cons.sh set

43 }

44

45 function config_interface_omag1() {

46

47 ARP_PATH=’/usr/sbin’

48 ROUTE_PATH=’/sbin’

49

50 vconfig add eth0 20

51 vconfig set_ingress_map eth0.20 0 5

52 vconfig set_egress_map eth0.20 0 5

53 vconfig add eth0 21

54

55 ifconfig eth0 up

56 ifconfig eth0.20 up

57 ifconfig eth0.21 up

58

59 ifconfig eth0:1 192.168.254.99 netmask 255.255.255.0

60 ifconfig eth0.20 192.168.20.99 netmask 255.255.255.0

61 ifconfig eth0.21 192.168.21.99 netmask 255.255.255.0

62

63 #Set ipv6 to eth0

64 ifconfig eth0 inet6 add $ETH0_OMAG1_ADDRESS

117

Page 146: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

APÊNDICE A. SCRIPTS

65

66 #Routes to adequate OMAG to REVIR network,

67 #this routes are not used in PMIPFlow

68 #operation since it’s IPv6 oriented.

69

70 $ROUTE_PATH/route add -net 192.168.1.0 gw 192.168.20.150

71 $ROUTE_PATH/route add -net 192.168.3.0 gw 192.168.21.150

72 $ROUTE_PATH/route add -net 192.168.5.0 gw 192.168.20.151

73 $ROUTE_PATH/route add -net 192.168.7.0 gw 192.168.21.151

74 $ROUTE_PATH/route add -net 192.168.9.0 gw 192.168.20.152

75 $ROUTE_PATH/route add -net 192.168.11.0 gw 192.168.21.152

76

77 #Same of Routes, only for REVIR Network, not for PMIPFlow.

78 $ARP_PATH/arp -s 192.168.20.150 00:00:00:00:00:02

79 $ARP_PATH/arp -s 192.168.21.150 00:00:00:00:00:02

80 $ARP_PATH/arp -s 192.168.20.151 00:00:00:00:00:04

81 $ARP_PATH/arp -s 192.168.21.151 00:00:00:00:00:04

82 $ARP_PATH/arp -s 192.168.20.152 00:00:00:00:00:06

83 $ARP_PATH/arp -s 192.168.21.152 00:00:00:00:00:06

84

85 $ARP_PATH/arp -s 192.168.20.100 e0:69:95:19:aa:1b

86 $ARP_PATH/arp -s 192.168.21.100 e0:69:95:19:aa:1b

87 $ARP_PATH/arp -s 192.168.20.98 f0:4d:a2:e4:67:8b

88 $ARP_PATH/arp -s 192.168.21.98 f0:4d:a2:e4:67:8b

89

90 }

91

92 function config_interface_omag2() {

93 ARP_PATH=’/usr/sbin’

94 ROUTE_PATH=’/sbin’

95

96 vconfig add eth0 20

97 vconfig set_ingress_map eth0.20 0 5

98 vconfig set_egress_map eth0.20 0 5

99 vconfig add eth0 21

118

Page 147: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

A.3. PMIPFLOWSETUP.SH

100

101 ifconfig eth0 up

102 ifconfig eth0.20 up

103 ifconfig eth0.21 up

104

105 ifconfig eth0:1 192.168.254.100 netmask 255.255.255.0

106 ifconfig eth0.20 192.168.20.100 netmask 255.255.255.0

107 ifconfig eth0.21 192.168.21.100 netmask 255.255.255.0

108

109 #Set ipv6 to eth0

110 ifconfig eth0 inet6 add $ETH0_OMAG2_ADDRESS

111

112 #Routes to adequate OMAG to REVIR network,

113 #this routes are not used in PMIPFlow

114 #operation since it’s IPv6 oriented.

115

116 $ROUTE_PATH/route add -net 192.168.1.0 gw 192.168.20.150

117 $ROUTE_PATH/route add -net 192.168.3.0 gw 192.168.21.150

118 $ROUTE_PATH/route add -net 192.168.5.0 gw 192.168.20.151

119 $ROUTE_PATH/route add -net 192.168.7.0 gw 192.168.21.151

120 $ROUTE_PATH/route add -net 192.168.9.0 gw 192.168.20.152

121 $ROUTE_PATH/route add -net 192.168.11.0 gw 192.168.21.152

122

123 #Same of Routes, only for REVIR Network, not for PMIPFlow.

124 $ARP_PATH/arp -s 192.168.20.150 00:00:00:00:00:02

125 $ARP_PATH/arp -s 192.168.21.150 00:00:00:00:00:02

126 $ARP_PATH/arp -s 192.168.20.151 00:00:00:00:00:04

127 $ARP_PATH/arp -s 192.168.21.151 00:00:00:00:00:04

128 $ARP_PATH/arp -s 192.168.20.152 00:00:00:00:00:06

129 $ARP_PATH/arp -s 192.168.21.152 00:00:00:00:00:06

130

131 $ARP_PATH/arp -s 192.168.20.98 f0:4d:a2:e4:67:8b

132 $ARP_PATH/arp -s 192.168.21.98 f0:4d:a2:e4:67:8b

133

134 $ARP_PATH/arp -s 192.168.20.99 e0:69:95:19:aa:0b

119

Page 148: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

APÊNDICE A. SCRIPTS

135 $ARP_PATH/arp -s 192.168.21.99 e0:69:95:19:aa:0b

136 }

137

138 function line(){

139 echo "___________________________";

140 }

141

142 function about(){

143 echo "******************************";

144 echo "$0 $VERSION"

145 echo "This program is used to configure";

146 echo " and initialize the PMIPFlow Framework"

147 echo "Created by Edson Adriano M. Avelar ([email protected])"

148 echo "******************************";

149 }

150 function usage(){

151 echo "PMIPFlow Init Script. v$VERSION"

152 echo "Created by Adriano Avelar([email protected])"

153 echo -e "usage: $0 [OPTIONS] \n"

154 echo " -om1, --omag1 : Configure and initialized as OMAG 1"

155 echo " -om2, --omag2 : Configure and initialized as OMAG 2"

156 echo " -h, --help : Display this help and exit"

157 echo " -v, --version : Display verson info and exit"

158 }

159

160 function omag1(){

161 screen -A -d -m -S hostapd $SCRIPTS_DIR/hostapd.sh --omag1

162

163 echo "3. Configuration Done, show interface info"

164 line

165 ifconfig eth0

166 line

167

168 echo "4. Initializing pmipflow"

169 screen -A -d -m -S pmipflow $SCRIPTS_DIR/PMIPFlow_Init.sh --omag1

120

Page 149: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

A.3. PMIPFLOWSETUP.SH

170 #screen -ls

171

172 echo "5. Configuring $WIFI_INTERFACE"

173 ifconfig $WIFI_INTERFACE inet6 add $WIFI_OMAG1_ADDRESS

174 echo "ifconfig $WIFI_INTERFACE inet6 add $WIFI_OMAG1_ADDRESS"

175 line

176 ifconfig wlan0

177 line

178

179 echo "6. Show Screens"

180 screen -ls

181

182 echo -e "\n#-# OMAG Configured Successfully #-#\n"

183 }

184

185 function omag2(){

186

187 screen -A -d -m -S hostapd $SCRIPTS_DIR/hostapd.sh --omag2

188

189 echo "3. Configuration Done, show interface info"

190 line

191 ifconfig eth0

192 line

193

194 echo "4. Initializing pmipflow"

195 screen -A -d -m -S pmipflow $SCRIPTS_DIR/PMIPFlow_Init.sh --omag2

196

197 echo "5. Configuring $WIFI_INTERFACE"

198 ifconfig $WIFI_INTERFACE inet6 add $WIFI_OMAG2_ADDRESS

199 echo "ifconfig $WIFI_INTERFACE inet6 add $WIFI_OMAG2_ADDRESS"

200

201 line

202 ifconfig wlan0

203 line

204

121

Page 150: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

APÊNDICE A. SCRIPTS

205 echo "6. Show Screens"

206 screen -ls

207

208 echo -e "\n#-# OMAG Configured Successfully #-#\n"

209

210 }

211 case $NUM_ARG in

212 0)

213 usage

214 ;;

215 1)

216 init;

217 if [ "$1" == "--omag1" ] || [ "$1" == "-om1" ]; then

218 config_interface_omag1

219 omag1

220 elif [ "$1" == "--omag2" ] || [ "$1" == "-om2" ]; then

221 config_interface_omag2

222 omag2

223 elif [ "$1" == "--help" ] || [ "$1" == "-h" ]; then

224 usage

225 elif [ "$1" == "--version" ] || [ "$1" == "-v" ]; then

226 about

227 fi

228 ;;

229 2)

230 ;;

231 esac

122

Page 151: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

A.4. PMIPFLOWINIT.SH

A.4 PMIPFlowInit.sh

1 #!/bin/bash

2

3 NUM_ARG=$#

4 VERSION=’1.0’

5

6 PMIPFlow_PATH=’/usr/revir-mob/pmipflow_code/src’

7 OMAG1_CONF=’/usr/revir-mob/pmipflow_code/scripts/omag1.conf’

8 OMAG2_CONF=’/usr/revir-mob/pmipflow_code/scripts/omag2.conf’

9

10 function usage(){

11 echo "PMIPFlow Init Script. v$VERSION"

12 echo "Created by Adriano Avelar([email protected])"

13 echo -e "usage: $0 [OPTIONS] \n"

14 echo " -om1, --omag1 : Configure and initialized as OMAG 1"

15 echo " -om2, --omag2 : Configure and initialized as OMAG 2"

16 echo " -h, --help : Display this help and exit"

17 echo " -v, --version : Display version info and exit"

18 }

19

20 function omag1(){

21 echo "Host is running as OMAG1"

22

23 $PMIP_PATH/pmipflow6d -c /usr/local/pmipflow/scripts/omag1.conf

24 }

25

26 function omag2(){

27 echo "Host is running as OMAG2"

28 $PMIPFLow_PATH/pmipflow6d -c /usr/local/pmip/scripts/omag2.conf

29 }

30

31 function about(){

32 echo "******************************";

33 echo "$0 $VERSION"

123

Page 152: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

APÊNDICE A. SCRIPTS

34 echo "This program is used to configure";

35 echo " and initialize the PMIP-FLOW"

36 echo "Created by Edson Adriano M. Avelar ([email protected])"

37 echo "******************************";

38 }

39

40 case $NUM_ARG in

41 0)

42 echo "No parameter, check usage out"

43 usage;;

44

45 1)

46 if [ "$1" == "--omag1" ] || [ "$1" == "-om1" ]; then

47 omag1

48 elif [ "$1" == "--omag2" ] || [ "$1" == "-om2" ]; then

49 omag2

50 elif [ "$1" == "--help" ] || [ "$1" == "-h" ]; then

51 usage

52 elif [ "$1" == "--version" ] || [ "$1" == "-v" ]; then

53 about

54 else

55 usage

56 fi

57 ;;

58 esac

124

Page 153: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

A.5. OFDATAPATHX.SH

A.5 ofdatapathX.sh

Estes scripts(ofdatapath0.sh e ofdatapath1.sh) criam os switches no Gateway OpenFlow.Esse script roda o OpenFlow de referência disponível em (Stanford, 2012), ele usa asinterfaces "eth2.20"e "eth3.21"como portas do switch, além de criar interfaces virtuaisinternas chamadas tap0 e tap1. Outro detalhe é a alta prioridade que se dá ao processoque roda o OpenFlow, usa-se o comando $PRIO_PATH/nice -18 para fornecer talprioridade, fazendo com que está máquina se torne uma espécia de switch dedicado, destemodo, melhorando o desempenho de operações como entrada de pacotes, manipulaçaode tabelas e encaminhamento.

ofdatapath0.sh

1 #!/bin/bash

2

3 OPENFLOW_PATH=’/usr/local/bin’

4 PRIO_PATH=’/usr/bin’

5

6 $PRIO_PATH/nice -18 $OPENFLOW_PATH/ofdatapath -v |\

7 --detach punix:/var/run/dp1 ptcp:6363 -i eth2.20,eth3.21 |\

8 --local-port=tap:tap1 -d 000000000002 --no-slicing | \

9

10 $PRIO_PATH/nice -18 $OPENFLOW_PATH/ofprotocol |\

11 unix:/var/run/dp1 tcp:192.168.254.1:6635 --out-of-band

ofdatapath1.sh

1 #!/bin/bash

2

3 OPENFLOW_PATH=’/usr/local/bin’

4 PRIO_PATH=’/usr/bin’

5

6 $PRIO_PATH/nice -18 $OPENFLOW_PATH/ofdatapath -v |\

7 --detach punix:/var/run/dp1 ptcp:6363 -i eth2.20,eth3.21 |\

8 --local-port=tap:tap1 -d 000000000002 --no-slicing | \

9

125

Page 154: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

APÊNDICE A. SCRIPTS

10 $PRIO_PATH/nice -18 $OPENFLOW_PATH/ofprotocol |\

11 unix:/var/run/dp1 tcp:192.168.254.1:6635 --out-of-band

126

Page 155: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

A.6. PMIPFLOW-LMA

A.6 PMIPFlow-LMA

Esta Seção do apêndice apresenta o código fonte do componenete NOX implementadopara a aquietetura PMIPFLow, nomeado de PMIPFlow-LMA.

1#include <cstring>

2#include <netinet/in.h>

3#include <stdexcept>

4#include <stdint.h>

5#include <string>

6

7#include <boost/bind.hpp>

8#include <boost/foreach.hpp>

9

10#include <tbb/concurrent_hash_map.h>

11

12#include "assert.hh"

13#include "component.hh"

14#include "vlog.hh"

15

16#include "netinet++/datapathid.hh"

17#include "netinet++/ethernetaddr.hh"

18#include "netinet++/ethernet.hh"

19

20#include "openflow/openflow-event.hh"

21#include "openflow/openflow-datapath-join-event.hh"

22#include "openflow/openflow-datapath-leave-event.hh"

23

24#include "pmipv6_lma.h"

25

26using namespace vigil;

27using namespace openflow;

28

29namespace pmipflow_lma

30{

127

Page 156: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

APÊNDICE A. SCRIPTS

31

32Vlog_module lg("PMIPFlow-lma");

33

34class PMIPFlow : public Component

35{

36public:

37 PMIPFlow(const Component_context* c)

38 : Component(c)

39 {

40 setup_flows = true; // default value

41 }

42

43 void pmipflow-lma_callback(auto& dp, v1::ofp_match flow);

44

45 void configure();

46

47 void install() {}

48

49 Disposition handle_datapath_join(const Event&);

50 Disposition handle_datapath_leave(const Event&);

51 Disposition handle_packet_in(const Event&);

52

53private:

54

55 LMA *lma;

56

57 struct datapath_hasher {

58 static size_t hash(const datapathid& o) {

59 return boost::hash_value(o.as_host());

60 }

61 static bool equal(const datapathid& o1, const datapathid& o2)

62 {

63 return o1 == o2;

64 }

65 };

128

Page 157: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

A.6. PMIPFLOW-LMA

66typedef

67boost::unordered_map<ethernetaddr, int> mac_table;

68typedef

69tbb::concurrent_hash_map<datapathid, mac_table, datapath_hasher>

70 mac_table_map;

71

72 mac_table_map mac_tables;

73

74 bool setup_flows;

75};

76

77inline void

78PMIPFlow::configure()

79{

80

81 lma = new LMA(this);

82

83 if (ctxt->has("args")) {

84 BOOST_FOREACH (const std::string& arg,

85 ctxt->get_config_list("args"))

86 {

87 if (arg == "noflow")

88 {

89 setup_flows = false;

90 }

91 else

92 {

93 VLOG_WARN(lg,

94 "argument \"%s\" not supported", arg.c_str());

95 }

96 }

97 }

98 register_handler("Openflow_datapath_join_event",

99 (boost::bind(&Switch::handle_datapath_join, this, _1)));

100 register_handler("Openflow_datapath_leave_event",

129

Page 158: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

APÊNDICE A. SCRIPTS

101 (boost::bind(&Switch::handle_datapath_leave, this, _1)));

102 register_handler("ofp_packet_in",

103 (boost::bind(&Switch::handle_packet_in, this, _1)));

104}

105

106inline Disposition

107PMIPFlow::handle_datapath_join(const Event& e)

108{

109 auto& dpje = assert_cast<const Openflow_datapath_join_event&>(e);

110 mac_tables.insert(std::make_pair(dpje.dp->id(), mac_table()));

111 return CONTINUE;

112}

113

114inline Disposition

115PMIPFlow::handle_datapath_leave(const Event& e)

116{

117 auto& dple = assert_cast<const Openflow_datapath_leave_event&>(e);

118 mac_tables.erase(dple.dp->id());

119 return CONTINUE;

120}

121

122void

123PMIPFlow::pmipflow-lma_callback(auto& dp, v1::ofp_match flow){

124

125 mac_table_map::accessor accessor;

126 mac_tables.find(accessor, dp.id());

127 auto& mac_table = accessor->second;

128

129 // Learn the source MAC

130 if (!flow.dl_src().is_multicast())

131 {

132 mac_table[flow.dl_src()] = pi.in_port();

133 }

134

135 if (!flow.dl_dst().is_multicast())

130

Page 159: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

A.6. PMIPFLOW-LMA

136 {

137 auto it = mac_table.find(flow.dl_dst());

138 if (it != mac_table.end())

139 out_port = it->second;

140 }

141

142 // Set up a flow if the output port is known

143 if (setup_flows && out_port != -1)

144 {

145 auto& fm = v1::ofp_flow_mod()

146 .match(flow).buffer_id(pi.buffer_id())

147 .cookie(0).command(v1::ofp_flow_mod::OFPFC_ADD).idle_timeout(5)

148 .hard_timeout(v1::OFP_FLOW_PERMANENT)

149 .priority(v1::OFP_DEFAULT_PRIORITY);

150

151 auto& ao = v1::ofp_action_output().port(out_port);

152 fm.add_action(&ao);

153 dp.send(&fm);

154 }

155

156 // Send out packet if necessary

157 if (!setup_flows || out_port == -1 || pi.buffer_id() == UINT32_MAX)

158 {

159 if (out_port == -1)

160 out_port = v1::ofp_phy_port::OFPP_FLOOD;

161

162 auto& po = v1::ofp_packet_out().in_port(pi.in_port());

163 auto& ao = v1::ofp_action_output().port(out_port);

164 po.add_action(&ao);

165

166 if (pi.buffer_id() == UINT32_MAX)

167 {

168 if (pi.total_len() != boost::asio::buffer_size(pi.packet()))

169 {

170 pi.total_len(),

131

Page 160: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

APÊNDICE A. SCRIPTS

171 boost::asio::buffer_size(pi.packet()));

172 return CONTINUE;

173 }

174 po.packet(pi.packet());

175 }

176 else

177 {

178 po.buffer_id(pi.buffer_id());

179 }

180 dp.send(&po);

181 }

182

183}

184

185inline Disposition

186PMIPFlow::handle_packet_in(const Event& e)

187{

188 auto ofe = assert_cast<const Openflow_event&>(e);

189 auto& dp = ofe.dp;

190 auto pi = *(assert_cast<const v1::ofp_packet_in*>(ofe.msg));

191 int out_port = -1; // Flood by default

192

193 v1::ofp_match flow;

194 flow.from_packet(pi.in_port(), pi.packet());

195

196 // Drop all LLDP packets

197 if (flow.dl_type() == ethernet::LLDP)

198 {

199 return CONTINUE;

200 }

201

202 //This function made the connection of pmipflow-lma

203 function in "lma.cc"

204 lma.pmipflow-lma_connect( flow,dp, pmipflow-lma_callback);

205

132

Page 161: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

A.6. PMIPFLOW-LMA

206 return CONTINUE;

207}

208

209REGISTER_COMPONENT(Simple_component_factory<PMIPFlow>, PMIPFlow);

210

211} // pmipflow_lma namespace

133

Page 162: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade
Page 163: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

BInstalação

Nesta seção, serão abordados alguns processos de instalação importantes para a arquite-tura PMIPFlow.

B.1 FlowVisor

Para a criação de Slices ou Fatias na rede OpenFlow utiliza-se um Controlador especialchamado FlowVisor, os pacotes que chegam no FlowVisor são encaminhados para ocontrolador correspondente de acordo com determinadas políticas previamente instaladasno FlowVisor.

1 $Add deb http://updates.flowvisor.org/openflow/downloads/GENI/DEB \

2 unstable/binary-$(ARCH)/ to your /etc/apt/sources.list

3 $sudo apt-get update

4 $sudo apt-get install flowvisor

B.2 Recompilar o Kernel

Para rodar os OMAGs no ubuntu é necessário recompilar o kernel com algumas informa-ções adicionais referentes à mobilidade. Primeiramente, é necessário baixar os códigosfontes do novo kernel, para isso é necessário instalar os pacotes básicos.

No Ubuntu 12.04:

1. Instalando os pacotes necessários para recompilar o kernel

135

Page 164: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

APÊNDICE B. INSTALAÇÃO

1 $sudo apt-get update

2 $sudo apt-get install kernel-package \

3 libncurses5-dev fakeroot wget bzip2

2. Fazendo o download do código fonte do kernel

1 $cd /usr/src

2 $wget http://www.kernel.org/pub/linux/kernel/v3.0/ \

3 linux-3.0.43.tar.bz2

Verifique est baixamos uma versão estável do kernel 3.0, é possível baixar qualquerversão, porém apenas as estáveis são mais recomendadas pela certeza da ausência debugs graves.

Após o download descompacta-se e cria-se um link simbólico para facilitar a localiza-ção dos código fontes do kernel.

1 $tar xjf linux-3.3.7.tar.bz2

2 $ln -s linux-3.3.7 linux

3 $cd /usr/src/linux

O proximo passo é configura o novo kernel. Este é o ponto mais importante da pois énas configurações que vamos dizer ao kernel quais os parametros deverá habilitar parasuportar o PMIPv6.

3. Configurando o KernelPrimeiramente copia-se a configuração atual do kernel para termos um ponto de

partida.

1 $cp /boot/config-‘uname -r‘ ./.config

O código “uname -r” retorna a versão atual do kernel, mas na maioria das vezes sóexistirá um arquivo “config...” na pasta /boot.

Agora vamos a configuração do kernel.

1 $make menuconfig

136

Page 165: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

B.2. RECOMPILAR O KERNEL

O comando acima cria um menu de configurações do kernel, a figura abaixo mostracomo é a cara do menu. Para o pmip será necessário habilitar algumas configurações.make menuconfig imagem Abaixo, as variáveis que preciam ser setadas, a maioria delasestão em :

Networking Support->Networking options

CONFIG_XFRM_USER

Transformation user configuration interface

CONFIG_IPV6_MIP6

->The Ipv6 protocol

Ipv6: Mobility (EXPERIMENTAL)

CONFIG_XFRM_SUB_POLICY

Transformation sub policy support (EXPERIMENTAL)

CONFIG_INET_XFRM_MODE_ROUTEOPTIMIZATION

IPv6: MIPv6 route optimization mod (EXPERIMENTAL)

CONFIG_IPV6_SUBTREES

IPv6: Source address based routing

CONFIG_IPV6_TUNNEL

IPv6: IP-in-ipv6 tunnel (RFC 2473)

CONFIG_NET_KEY

PF_KEY_SOCKETs

CONFIG_NET_KEY_MIGRATE

PF_KEY MIGRATE (EXPERIMENTAL)

CONFIG_INET6_ESP

IPv6: ESP transformation

Para checar se tudo está como deveria, existe um script dentro da pasta do pmip6dchamado chkconf_kernel.

Vai na pasta do pmip6d e execute:

1 $./chconf_kernel.sh /usr/src/linux

Ao executar este script antes da configuração do kernel a saída da janela será seme-lhante à esta:

Imagem antes da configuraçãoE depois da configuração:

137

Page 166: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

APÊNDICE B. INSTALAÇÃO

Imagem depois da configuração4. Construindo o Kernel

1 $make kpkg clean

2 $fakeroot make-kpkg --initrd \

3 --append-to-version=-pmipflow kernel_image kernel_headers

“pmipflow” é o nome que será adicionado ao kernel para identificá-lo no grub.5. Instalando o novo KernelApós a compilação será possivel ver os dois arquivos DEBs criados.

1 $cd /usr/src

2 $ls -l

imagem dos DEBs criadosAgora é só instalar o debs como se fosse um pacote ubuntu convencional.

1 $dpkg -i linux-image-3.0.43-pmipflow_3.0.43-pmipflow- \

2 10.00.Custom_i386.deb

3 $dpkg -i linux-headers-3.0.43-pmipflow_3.0.43-pmipflow- \

4 10.00.Custom_i386.deb

Agora é reiniciar o sistema.

1 $shutdown -r now

Pronto, se tude der certo o poderar escolher, no grub, o novo kernel. Após a instalaçãodo novo Kernel alguns pacotes e aplicativos foram instalados

Software instaladosPrimeiramente atualizar as listas do repoditório

1 $apt-get update

1. Wireshark para o monitoramento de pacotes

1 $sudo apt-get install wireshark

138

Page 167: Edson Adriano Maravalho Avelar - repositorio.ufpe.br§ao... · para as redes, e permitindo extensão e inovação. No entanto, ainda não há uma solução consolidada para mobilidade

B.2. RECOMPILAR O KERNEL

2. Screen para criar terminais remotos e facilitar a visualização dos outputs dosscripts

1 $sudo apt-get install screen

Para listar os terminais virtuais basta digitar:

1 $screen -ls

Para acessá-los basta digitar

1 $screen -r <nome ou pid do terminal>

Para matar o terminal basta acessá-lo e digitar Ctrl+CPara descontectar do terminal Crtl + A e depois Ctrl+D

B.2.1 Linux em AP mode

Dar detalhes da placa wireless utilizada imagem e configuração da placaPara colocar o linux em modo AP precisamos instalar o hostapd

1 $apt-get install hostapd

[hostapd reference] http://wireless.kernel.org/en/users/Documentation/hostapdApós instalar o hostapd, criei o aquivo em /etc/hostapd/hostapd_mag.conf

nele foi inserido alguns comandos de sinalização:

1 "hostapd_mag.conf"

2 #AP Mode Configuration

3 interface=wlan0

4 driver=nl80211

5 ssid=mag1

6 channel=1

139