Buscar

TIAGO-PORTELA-DE-SOUZA

Prévia do material em texto

UNIVERSIDADE ESTADUAL DO CEARÁ
CENTRO DE CIÊNCIAS E TECNOLOGIA
PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
MESTRADO ACADÊMICO EM CIÊNCIA DA COMPUTAÇÃO
TIAGO PORTELA DE SOUZA
ARQUITETURA PARA FATIAMENTO DE REDES DE TRANSPORTE ÓPTICAS
UTILIZANDO O PARADIGMA DE REDES DEFINIDAS POR SOFTWARE
FORTALEZA – CEARÁ
2015
TIAGO PORTELA DE SOUZA
ARQUITETURA PARA FATIAMENTO DE REDES DE TRANSPORTE ÓPTICAS
UTILIZANDO O PARADIGMA DE REDES DEFINIDAS POR SOFTWARE
Dissertação apresentada ao Curso de Mestrado
Acadêmico em Ciência da Computação do
Programa de Pós-Graduação em Ciência da
Computação do Centro de Ciências e Tec-
nologia da Universidade Estadual do Ceará,
como requisito parcial à obtenção do título de
mestre em Ciência da Computação. Área de
Concentração: Ciência da Computação
Orientador: Prof Dr. Joaquim Celestino
Junior
Co-Orientador: Prof Dr. Maxwell Eduardo
Monteiro
FORTALEZA – CEARÁ
2015
Dados Internacionais de Catalogação na Publicação
 Universidade Estadual do Ceará
 Sistema de Bibliotecas
Souza, Tiago Portela de. 
 Arquitetura para fatiamento de redes de
transporte ópticas utilizando o paradigma de redes
definidas por software [recurso eletrônico] / Tiago
Portela de Souza. – 2015.
 1 CD-ROM: il.; 4 ¾ pol. 
 CD-ROM contendo o arquivo no formato PDF do
trabalho acadêmico com 78 folhas, acondicionado em
caixa de DVD Slim (19 x 14 cm x 7 mm).
 Dissertação (mestrado acadêmico) – Universidade
Estadual do Ceará, Centro de Ciências e Tecnologia,
Mestrado Acadêmico em Ciência da Computação,
Fortaleza, 2015.
 Área de concentração: Ciências da Computação.
 Orientação: Prof. Dr. Joaquim Celestino Júnior.
 Coorientação: Prof. Dr. Maxwell Eduardo Monteiro.
 1. Redes ópticas definidas por software. 2.
Fatiamento de redes ópticas. 3. Redes definidas por
sofware. 4. Redes ópticas. I. Título.
À minha família, por sua capacidade de acreditar
em mim e investir em mim. Mãe, seu cuidado
e dedicação foi que deram, em alguns momen-
tos, a esperança para seguir. Pai, sua presença
significou segurança e certeza de que não estou
sozinho nessa caminhada.
AGRADECIMENTOS
Primeiramente a Deus que permitiu que tudo isso acontecesse, ao me conceder saúde para
realizar meus objetivos.
Aos meus pais, Luciano e Vasconcelos de Souza e Lucia Portela de Souza, e minha irmã
Fernanda Portela de Souza, pelo amor, incentivo e apoio incondicional.
Aos irmãos que eu tive chance de escolher: Antônio Carlos e Vasconcelos Portela Junior,
Breno Furtado, David Bezerra, George Mayko, Hudson Freitas Mendes, José Machado Neto,
Leonan Vasconcelos Ribeiro, Ruan Rocha Américo de Souza e Yuri Praça.
Ao Professor Celestino, por permitir que eu entrasse no mestrado e trabalhasse em projetos de
alto nível em seu laboratório, mesmo sem me conhecer. Ao Professor Maxwell pela impres-
cindível ajuda no desenvolvimento da dissertação. Aos meus amigos Bruno Lopes, Jefferson
Alcântara e Jefferson Rodrigo, pela grande ajuda no entendimento, escrita e desenvolvimento
deste trabalho. Agradeço, também, todos meus companheiros de laboratório e de disciplinas que
me ajudaram no entendimento das matérias e a deixar os dias de trabalho mais divertidos.
Aos meus professores de graduação da Faculdade 7 de Setembro que foram os responsáveis
por toda a minha base em computação, podendo citar, dentre eles, os professores Ciro Carneiro
Coelho, Eduardo Mendes de Oliveira, Glauber Ferreira Cintra, Marum Simão Filho, Regis
Patrick Silva Simão, Roberio Gomes Patrício e Yuri Lenon Barbosa Nogueira.
“Stay hungry. Stay Foolish.”
(Steve Jobs)
RESUMO
As Redes Ópticas de Transporte (Optical Transport Networks - OTNs) são compostas por vários
dispositivos. A configuração desses dispositivos é feita de forma manual pelos operadores das
redes. Além de trabalhoso e suscetível a erros, essa forma de configuração limita também a
personalização e configuração da rede pelo cliente. Uma possível solução para esse problema
é a separação dos planos de controle e de dados desses dispositivos. As redes ópticas já
possuem essa separação proposta pelo Generalized Multi-protocol Label Switching (GMPLS),
porém, as aplicações responsáveis, por exemplo, pelo gerenciamento da topologia e roteamento,
ficavam embarcadas nos equipamentos. As redes definidas por software (Software Defined
Networks - SDNs) propõem a mesma separação de planos, mas com a flexibilidade para criação e
gerenciamento de aplicações pelos operadores de rede. Os possíveis benefícios de SDN para OTN
incluem a simplificação da virtualização da rede, a automação das operações da rede através de
interfaces programáveis e a implantação de novos serviços. O objetivo desta dissertação é propor
uma arquitetura que permita definir os componentes indispensáveis para atender as necessidades
de virtualização e fatiamento de redes OTNs; implementar um framework que será proposto
a partir da arquitetura, de tal forma que seja possível utilizar uma prova de conceito com o
intuito de atender as necessidades de criação de diversas redes virtuais fatiadas; a implementação
dos blocos necessários a partir da arquitetura levará em conta proposta de controladores SDN
atualmente disponíveis. Os controladores SDN atuais não possuem plugins responsáveis pela
virtualização e fatiamento dos elementos de redes ópticas, assim faz-se necessário a modelagem
dos elementos ópticos para criação de um plugin que permita o fatiamento das redes ópticas de
transporte.
Palavras-chave: SDN. OTN. Fatiamento de Redes Ópticas. Redes Ópticas Definidas por
Software. Virtualização de Redes Ópticas
ABSTRACT
The Optical Transport Networks (OTNs) are composed of multiple devices. The configuration
of these devices is done manually by system operators. Besides laborious and error-prone,
this configuration also limits the client customization and configuration of the network. One
way out of this lack of customization is the separation of control and data plans from these
devices. This separation is already in use by the Generalized Multi-protocol Label Switching
(GMPLS), however, the responsible applications, eg, for managing the topology and routing,
were embedded in the equipment. The Software Defined Networks (SDNs) propose the same
separation of plans, but with the flexibility to create and manage applications by network
operators. The possible benefits of SDN for OTN include simplification of network virtualization,
automation of network operation through programmable interfaces and the implementation of
new services. The objective of this dissertation is to propose an architecture that allows to
define the necessary components to meet the virtualization and slicing needs of OTN networks;
the implementation of a framework that will be proposed based on the architecture, so that it
can be used a proof of concept in order to meet the needs of creation of various sliced virtual
networks; to construct the building blocks needed for the architecture it will be considered the
currently available SDN controllers. Current SDN controllers do not have plugins responsible for
virtualization and slicing of network elements, so it is necessary to model the optical elements to
create a plugin that allows the slicing of optical virtual transport networks.
Keywords: OTN. SDN. Optical Network Slicing. Software Defined Optical Networks. Optical
Network Virtualization
LISTA DE ILUSTRAÇÕES
Figura 1 – Hierarquia OTN dividida em camadas . . . . . . . . . . . . . . . . . . . . 23
Figura 2 – Composição de um Optical Line Terminal . . . . . . . . . . . . . . . . . . 24
Figura 3 – Arquitetura do OTN Switch . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figura 4 – Diferença arquitetural das Redes Tradicionas e das Redes Definidas por
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figura 5 – Arquitetura de uma Rede Definida por Software: Planos de Gerência, Con-
trole e Dados . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . 28
Figura 6 – Arquitetura OpenFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figura 7 – Arquitetura OpenDaylight . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Figura 8 – Transceptor sintonizável e os possíveis parâmetros de configuração . . . . . 32
Figura 9 – Plano de Controle integrado OpenFlow-GMPLS . . . . . . . . . . . . . . . 33
Figura 10 – Tabela de Fluxo dos nós de ingresso e egresso da rede óptica após o estabele-
cimento do LSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figura 11 – Diagrama de sequência representando o funcionamento do plano de controle
integrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figura 12 – Arquitetura SDN para uma rede heterogêna . . . . . . . . . . . . . . . . . 36
Figura 13 – Arquitetura do agente responsável pela abstração dos elementos da rede . . 37
Figura 14 – Tabela de fluxos do comutador OpenFlow estendido . . . . . . . . . . . . . 37
Figura 15 – Arquitetura de um controlador SDN para Redes Opticas . . . . . . . . . . . 39
Figura 16 – Arquitetura proposta para possibilitar o fatiamento de uma rede óptica . . . 41
Figura 17 – Módulo de fatiamento de redes ópticas . . . . . . . . . . . . . . . . . . . . 42
Figura 18 – Diagrama de classes mostrando a estrutura básica de um dispositivo óptico . 43
Figura 19 – Exemplo de uma entrada para informar as capacidades de um elemento óptico,
seguindo o modelo mostrado na Figura 18 . . . . . . . . . . . . . . . . . . 43
Figura 20 – Diagrama de classes mostrando a estrutura básica de armazenamento de uma
topologia de rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Figura 21 – Exemplo de uma entrada para informar a topologia de uma rede óptica,
seguindo o modelo mostrado na Figura 20 . . . . . . . . . . . . . . . . . . 45
Figura 22 – Topologia de rede construída a partir das especificações exibidas na Figura 21 45
Figura 23 – Diagrama de classes representando as informações necessárias para armaze-
nar conexões em uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Figura 24 – Diagrama de classes representando as informações de uma fatia da rede . . 47
Figura 25 – Exemplo de uma entrada para solicitar a criação de uma nova fatia . . . . . 48
Figura 26 – Exemplo de uma fatia criada a partir do XML mostrado na Figura 25, utili-
zando como base a rede mostrada na Figura 27 . . . . . . . . . . . . . . . . 49
Figura 27 – Rede utilizada como base no exemplo de solicitação de criação de uma fatia 49
Figura 28 – Diagrama de sequência do fluxo básico da criação de uma fatia . . . . . . . 50
Figura 29 – Exemplo de uma entrada para solicitar o aprovisionamento de um caminho
em uma determinada fatia . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Figura 30 – Diagrama de sequência do fluxo básico do aprovisionamento de um caminho 52
Figura 31 – Arquitetura desenvolvida para fatiamento de uma rede óptica . . . . . . . . 53
Figura 32 – Implementação do módulo de fatiamento de redes ópticas . . . . . . . . . . 54
Figura 33 – Diagrama de classes representando a estrutura básica do plugin Optical Slicer
e sua conexão com o plugin Optical Provisioning . . . . . . . . . . . . . . 55
Figura 34 – Exemplo de uma mensagem enviada para reconfigurar uma matriz de cross-
conexão modelada em uma máquina virtual . . . . . . . . . . . . . . . . . 56
Figura 35 – Modelo YANG de cross-conexão . . . . . . . . . . . . . . . . . . . . . . . 57
Figura 36 – Topologia de uma rede com N nós, onde o nó origem possui o identificador 1
(um) e o nó destino possui o identificador N . . . . . . . . . . . . . . . . . 58
Figura 37 – Gráfico ilustrando o tempo médio necessário para criação de 3 (três) fatias
em diferentes topologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Figura 38 – Gráfico ilustrando a porcentagem de tempo, em média, necessário para
executar os subprocessos da criação de fatias . . . . . . . . . . . . . . . . . 61
Figura 39 – Gráfico ilustrando o crescimento exponencial do tempo médio necessário
para criação de 3 (três) fatias em diferentes topologias . . . . . . . . . . . . 61
Figura 40 – Gráfico ilustrando o tempo médio necessário para aprovisionar um caminho
válido nas 3 (três) fatias, utilizando topologias diferentes . . . . . . . . . . 63
Figura 41 – Gráfico ilustrando a porcentagem de tempo, em média, necessário para
executar os subprocessos do aprovisionamento de caminhos . . . . . . . . . 63
Figura 42 – Gráfico ilustrando o crescimento linear do tempo médio necessário para
aprovisionar um caminho válido nas 3 (três) fatias, utilizando topologias
diferentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
LISTA DE TABELAS
Tabela 1 – Tabela com o tempo necessário para o controlador criar as fatias requisitadas,
reiniciando o controlador para cada teste. A Topologia 1 é formada por 5
(cinco) nós. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Tabela 2 – Tabela com o tempo necessário para o controlador criar as fatias requisitadas,
sem reiniciar o controlador para cada teste. A Topologia 1 é formada por 5
(cinco) nós. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Tabela 3 – Tabela com o tempo necessário para o controlador aprovisionar um caminho
para cada uma das 3 (três) fatias, reiniciando o controlador para cada teste. A
Topologia 1 é formada por 5 (cinco) nós. . . . . . . . . . . . . . . . . . . . 62
Tabela 4 – Tabela com o tempo necessário para o controlador aprovisionar um caminho
para cada uma das 3 (três) fatias, sem reiniciar o controlador para cada teste.
A Topologia 1 é formada por 5 (cinco) nós. . . . . . . . . . . . . . . . . . . 62
Tabela 5 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 1 . 69
Tabela 6 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 2 . 69
Tabela 7 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 3 . 70
Tabela 8 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 4 . 70
Tabela 9 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 5 . 70
Tabela 10 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 6 . 70
Tabela 11 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 6 . 71
Tabela 12 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 1 . 72
Tabela 13 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 2 . 72
Tabela 14 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 3 . 72
Tabela 15 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 4 . 72
Tabela 16 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 5 . 73
Tabela 17 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 6 . 73
Tabela 18 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 6 . 73
Tabela 19 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 1 . 74
Tabela 20 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 2 . 74
Tabela 21 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 3 . 75
Tabela 22 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 4 . 75
Tabela 23 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 5 . 75
Tabela 24 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 6 . 75
Tabela 25 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 6 . 76
Tabela 26 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 1 . 77
Tabela 27 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 2 . 77
Tabela 28 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 3 . 77
Tabela 29 – Tabela com o tempo necessário para aprovisionar caminhosna Topologia 4 . 77
Tabela 30 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 5 . 78
Tabela 31 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 6 . 78
Tabela 32 – Tabela com o tempo necessário para aprovisionar caminhos na Topologia 6 . 78
LISTA DE ABREVIATURAS E SIGLAS
APS Automatic Protection Switching.
CIC Client Interface Card.
FDM Frequency Division Multiplexing.
JSON JavaScript Object Notation.
LLDP Link Layer Discovery Protocol.
NETCONF Network Configuration Protocol.
NIC Network Interface Card.
O-VPN Optical Virtual Private Network.
OCh Optical Channel Layer.
ODL OpenDaylight.
ODU Optical Channel Data Unit.
OIC Optical Interface Card.
OMS Optical Multiplex Section.
ONS Optical Network Slicer.
OPU Optical Channel Payload Unit.
OTN Optical Transport Network.
OTS Optical Transmission Section.
OTU Optical Channel Transport Unit.
PCE Path Computation Element.
REST Representational State Transfer.
SDN Software Defined Networks.
SDON Software Defined Optical Networks.
SNC SubNetwork Connection.
SNMP Simple Network Management Protocol.
TDM Time Division Multiplexing.
UNI User Network Interface.
VON Virtual Optical Network.
VPN Virtual Private Network.
WDM Wavelength Division Multiplexing.
WSS Wavelength Selective Switch.
XML Extensible Markup Language.
SUMÁRIO
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.1 MOTIVAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2 FUNDAMENTAÇÃO TEÓRICA . . . . . . . . . . . . . . . . . . . . . . 20
2.1 REDES ÓPTICAS DE TRANSPORTE . . . . . . . . . . . . . . . . . . . . 20
2.1.1 Recomendações sobre OTN . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.2 Camadas OTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.3 Arquitetura de uma rede OTN . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.3.1 OTN Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 REDES DEFINIDAS POR SOFTWARE . . . . . . . . . . . . . . . . . . . 27
2.2.1 Protocolo OpenFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.2 OpenDaylight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3 TRABALHOS RELACIONADOS . . . . . . . . . . . . . . . . . . . . . 31
3.1 EXTENDING SOFTWARE DEFINED NETWORK PRINCIPLES TO IN-
CLUDE OPTICAL TRANSPORT . . . . . . . . . . . . . . . . . . . . . . 31
3.2 INTEGRATED OPENFLOW–GMPLS CONTROL PLANE: AN OVER-
LAY MODEL FOR SOFTWARE DEFINED PACKET OVER OPTICAL
NETWORKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3 SOFTWARE-DEFINED OPTICAL NETWORKS TECHNOLOGY AND IN-
FRASTRUCTURE: ENABLING SOFTWARE-DEFINED OPTICAL NETWORK
OPERATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.4 AN OPTICAL SDN CONTROLLER FOR TRANSPORT NETWORK VIR-
TUALIZATION AND AUTONOMIC OPERATION . . . . . . . . . . . . . 38
4 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.1 ARQUITETURA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.1.1 Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1.2 Topology Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.3 Path Computation Element . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.4 Provisioner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.1.5 Slices Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 CASOS DE USO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.1 Criar Fatia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.2 Aprovisionar Caminho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5 IMPLEMENTAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1 ARQUITETURA IMPLEMENTADA . . . . . . . . . . . . . . . . . . . . . 53
5.1.1 Optical Network Topology . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.1.2 Optical Slicer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.1.3 Optical Provisioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.1.4 Máquinas Virtuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.1 CENÁRIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.1.1 Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.1.2 Topologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.2 CRIAÇÃO DE FATIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.3 APROVISIONAMENTO DE CAMINHOS . . . . . . . . . . . . . . . . . . 61
7 CONCLUSÕES E TRABALHOS FUTUROS . . . . . . . . . . . . . . . 65
7.1 CONTRIBUIÇÕES DO TRABALHO . . . . . . . . . . . . . . . . . . . . 65
7.2 LIMITAÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.3 TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
ANEXOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
ANEXO A – Resultado dos testes de desempenho na criação de fatias . . . 69
A.0.1 Resultado dos testes com a reinicialização do controlador . . . . . . . . 69
A.0.2 Resultado dos testes sem a reinicialização do controlador . . . . . . . . . 72
ANEXO B – Resultado dos testes de desempenho no aprovisionamento de
caminhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
B.0.3 Resultado dos testes com a reinicialização do controlador . . . . . . . . 74
B.0.4 Resultado dos testes sem a reinicialização do controlador . . . . . . . . . 77
16
1 INTRODUÇÃO
As redes de computadores são formadas por várias redes diferentes interconectadas,
compostas por inúmeros dispositivos de diferentes fabricantes, através de protocolos padroni-
zados. Como resultado estão se tornando extremamente complexas. Os operadores de rede
são responsáveis por configurar as políticas que respondem aos eventos e aplicações de rede,
toda essa configuração é feita manualmente. Roteadores e Comutadores possuem interfaces de
gerenciamento que permitem ao operador a configuração e gerência desses equipamentos, por
exemplo, interfaces de linha de comando, XML/NETCONF ou Protocolo Simples de Gerência
de Rede (SNMP). Assim o operador poderia ter acesso as capacidades dos equipamentos, porém,
os níveis mais baixos de detalhes ainda eram escondidos do operador. Além de dificultar o
gerenciamento da rede, sua otimização e customização, essa diversidade de equipamentos de
fabricantes distintos impedia o desenvolvimento de inovações, pois torna quase impossível que
pesquisadores testem e programem novas tecnologias. (NADEAU; GRAY, 2013) (JI, 2012).
As Redes Definidas por Software (SDN) fornecem uma abordagem para solucionar
esses problemas. SDN é basicamente uma abordagem arquitetural que aperfeiçoa e simplifica as
operações da rede por criar um vínculo maior entre as aplicações, serviços de rede e dispositivos
(reais ou virtualizados). Nessa abordagem um dispositivo de rede é constituído por um plano de
dados, que é muitas vezes uma matriz de comutação que liga as várias portas de um dispositivo,
e um plano de controle que é o cérebro do dispositivo. Este cérebro iria enviar comandos para
cada dispositivo, comandando-o, assim, a manipular sua comutação e roteamento de hardware
físico.
As redes de transporte ópticas já possuem um controle centralizado, porém muitas
tarefas de reconfiguração da rede ainda requerem operaçãomanual. Com a evolução das redes
ópticas, de um modelo estático para um mais configurável e dinâmico, vários desafios são
apresentados para o plano de controle, como equalização óptica, roteamento e alocação de
espectro, virtualização de serviços e outros. Os possíveis benefícios de SDN para OTN incluem
simplificação da rede, virtualização das capacidades da rede, automação das operações da rede
através de interfaces programáveis e implantação de novos serviços. O paradigma atual das redes
de transporte já emprega um controle centralizado, auxiliado por funcionalidades distribuídas
do GMPLS, como descobrimento da rede, atualização do estado da rede e outros. Assim, o
desenvolvimento das Redes Ópticas Definidas por Software (SDON) deve considerar estratégias
de migração e a melhor localização para implementação dessas funções (SIQUEIRA et al.,
17
2013).
1.1 MOTIVAÇÃO
Algumas empresas conectam grandes escritórios e data centers para computação e
armazenamento virtual baseado em nuvem, enfrentando demandas média e alta de largura de
banda entre sites, e exigem a realocação da capacidade rapidamente direcionada por aplicações
como sistemas de orquestração de nuvem. O controle logicamente centralizado do SDN fornece
uma perspectiva para otimizar o uso de todos os recursos da rede, assim as empresas podem
mudar rotas dinamicamente para alocar largura de banda entre os sites como necessário por
seus aplicativos. De tal forma SDN permite que os departamentos de tecnologia da informação
corporativos funcionem como seus próprios prestadores de serviços, tal capacidade interna lhes
permite gerir conectividade e alocar largura de banda entre os sites em minutos em vez de
esperar semanas ou meses para o provedor local cumprir seu pedido de alteração da linha fixa
(FOUNDATION, 2014).
Uma empresa gerindo uma rede óptica privada tem a flexibilidade para gerenciar
sua rede e orquestrar mudanças de capacidade entre os seus sites onde e quando eles são
necessários, porém isso demanda um alto preço pelos equipamentos dedicados e fibras alugadas
e a necessidade de expertise para gerenciar a rede por conta própria. As redes ópticas privadas
virtuais (O-VPN) tem como objetivo oferecer as mesmas vantagens das redes ópticas privadas,
porém sem o custo da expertise para gerenciamento e da dedicação dos equipamentos. Usando
redes de transporte SDN, o serviço de O-VPN é possível através de virtualização de rede que
permite a um operador de rede criar fatias virtuais da rede que oferecem capacidade dedicada e
fornecer ao cliente o controle de autogestão da sua rede virtual fim a fim.
Até o momento o conceito de redes definidas por software só é aplicado em redes IP,
com comutação de pacotes, e não estão disponíveis para redes de transporte com comutação de
circuitos. Os controladores SDN possuem plugins responsáveis pela virtualização dos elementos
de rede, porém, esse plugin virtualiza apenas redes ethernet, assim, existe um grande interesse no
desenvolvimento de um plugin para virtualização e fatiamento de redes que possua conhecimento
sobre as especificidades e restrições de equipamentos ópticos.
Nos últimos anos o conceito de cidades inteligentes vem ganhando força. Várias
cidades no mundo estão se adequando a este conceito, que visa de forma ampla utilizar a tecnolo-
gia para melhorar a infraestrutura e tornar os centros urbanos mais eficientes e autossustentáveis.
18
Para que isso aconteça é necessário que haja conectividade entre os vários elementos que com-
põem uma cidade. Os governos envolvidos nesse processo já adotaram o uso de novas tecnologias
como análise de dados, dispositivos móveis e aplicações web robustas, com o objetivo de obter
uma melhor administração e comunicação com o público. Dentre as possíveis aplicações das
cidades inteligentes estão: sistemas de relatórios intuitivos de crimes que destacam áreas proble-
máticas, análise de tráfego para redução dos congestionamentos, ambulâncias se comunicando
com sistemas de tráfego para encontrar a rota mais rápida ao hospital, aplicativos que encontram
vagas para estacionar, carros autônomos, dentre outros.
A cidade de Bristol na Inglaterra está desenvolvendo um projeto chamado "Bristol is
Open", a ideia é transformar a cidade em um ambiente de incentivo a inovação, para isso ela
conta com uma rede de fibra com capacidade de 30 Gb/s. Esse projeto transformará Bristol em
um laboratório gigante com grande quantidade de dados coletados para solucionar problemas
como tráfego, poluição do ar, etc. Um dos princípios desse projeto é tornar anônimos e públicos
todos os dados coletados na cidade. Para que seja possível gerenciar e manusear todos esses
dados coletados, seria interessante dividir a rede em fatias, onde cada aplicação receberia uma
porção da largura de banda disponível na cidade (HTTP://WWW.BRISTOLISOPEN.COM/,
2015).
1.2 OBJETIVOS
1.2.1 Objetivo Geral
Propor uma arquitetura que permita definir os componentes indispensáveis para
atender as necessidades de virtualização e fatiamento de redes OTNs e um framework que será
proposto a partir da arquitetura, como prova de conceito para criação de diversas fatias de redes
virtuais
1.2.2 Objetivos Específicos
a) Estudar redes ópticas para entender quais informações podem ser utilizadas na
virtualização
b) Definir o nível de granularidade da abstração dos elementos ópticos utilizados na
construção da topologia da rede virtualizada
c) Estudar o controlador OpenDaylight e seu módulo de virtualização para redes
19
ethernet
d) Estudar o módulo do OpenDaylight responsável pelo gerenciamento da topologia
da rede
e) Criar um módulo para fatiamento de redes ópticas
f) Criar uma aplicação que solicite o fatiamento da rede
20
2 FUNDAMENTAÇÃO TEÓRICA
O objetivo deste capítulo é apresentar uma visão geral de redes OTN, citando algumas
das principais recomendações de padronização desta tecnologia, descrevendo sua arquitetura
em camadas e citando os principais elementos que compõem esta rede, como o OTN switch,
utilizado como objeto de virtualização nesta dissertação.
2.1 REDES ÓPTICAS DE TRANSPORTE
O crescimento da demanda por banda, a necessidade da transmissão de dados a
velocidades cada vez maiores e aplicações com grande volume de informações sensíveis a
atrasos, foram alguns dos motivos que impulsionaram a pesquisa e desenvolvimento de uma rede
mais veloz. As primeiras redes de transporte eram analógicas e utilizavam cabos coaxiais para
transmissão.
Na década de 70, surgiram os sistemas de transmissão digital utilizando a técnica de
multiplexação por divisão de tempo (TDM), os quais proporcionaram uma melhoria na relação
sinal-ruído, aumentando de forma significativa as distâncias de transmissão. A técnica TDM foi
concebida para o transporte de voz nas redes telefônicas. A PDH é uma rede hierárquica de vários
níveis na qual o sinal agregado de cada ordem é formado pela junção outros sinais, denominados
tributários. A principal dificuldade do sistema PDH é a inserção/derivação dos tributários em
trechos intermediários da rede. Com isso, para inserir e/ou derivar canais tributários de um
sistema PDH, é necessário demultiplexar o feixe agregado, o que torna esse padrão pouco
flexível e de alto custo. Além disso, a PDH apresenta pouca capacidade de gerenciamento da
rede. (BERNARDO et al., 2011)
Segundo (RAMASWAMI et al., 2010), quando se fala sobre redes ópticas, normal-
mente se refere às duas gerações de redes ópticas tradicionais. Na primeira geração, as redes
eram essencialmente usadas para transmissão e aumento da capacidade. A fibra óptica é um
meio que provê baixa taxa de erro e alta capacidade de transmissão em comparação com outras
tecnologias. Todas as operações de comutação e outras funções inteligentes das redes dessa
geração são feitas eletronicamente, a partir de uma conversão O-E-O em cada elemento de rede.
Exemplos dessa primeira geração são o SONET, tecnologia usada principalmente na América doNorte, e o SDH, similar ao SONET e utilizado no Brasil, Europa e Ásia.
Na década de 90, iniciaram-se os estudos de um novo padrão, denominado Rede
21
Óptica de Transporte (OTN), para maximizar a eficiência dos sistemas de transmissão e propiciar
a sonhada integração IP/WDM. O orgão responsável por sua padronização é o International Tele-
communication Union (ITU-T), a primeira versão do padrão está descrita na norma G.709. Uma
das principais vantagens da utilização da OTN é possibilitar o uso eficiente dos comprimentos de
onda dos sistemas com a multiplexação por divisão de comprimento de onda (WDM), que é bem
similar a multiplexação por divisão de frequência (FDM). A OTN possibilita o transporte de
serviços de dados com granularidade bastante fina, como, por exemplo, VLANs Ethernet, Label
Switched Paths (LSPs) e MPLS. Com isso, é possível criar rotas fim a fim, que se originam na
rede de dados, passam pela rede óptica e terminam na rede de dados. (BERNARDO et al., 2011)
(RAMASWAMI et al., 2010)
Abaixo podemos ver os principais aprimoramentos trazidos com a OTN (ITU-T,
2010):
• Escalabilidade aprimorada: a OTN define um esquema de multiplexação similar
ao do SONET/SDH, porém transporta dados nativamente a taxas de 100 Gbps,
40 Gbps, 10 Gbps, 2,5 Gbps, 1,25 Gbps e inferiores, com uma quantidade menor
de overhead
• Transporte transparente do sinal cliente: alguns sinais clientes são encapsulados
diretamente dentro da OTN, enquanto outros tráfegos de dados utilizam, por
exemplo, o Generic Framing Procedure (GFP). Dessa forma, a OTN pode trans-
portar qualquer forma de sinal digital, e, por isso, é denominada “empacotador”
digital (digital wrapper). Essa transparência permite o transporte de uma grande
quantidade de tipos de sinais clientes, entre eles: SONET/SDH, Ethernet, Fibre
Channel, Asynchronous Transfer Mode (ATM), Frame Relay, e IP (Internet Pro-
tocol). Esses sinais são transportados sem que haja alterações nas características
intrínsecas do sinal original (formato, taxa de bits e clock)
• Mecanismo aprimorado de correção de erros (FEC – Forward Error Correction):
O SONET/SDH já possui um mecanismo de FEC, porém utiliza alguns bytes
do cabeçalho que não possuem uso definido para transportar a informação de
FEC. A OTN possui um campo maior, permitindo alcançar distâncias maiores de
transmissão sem regeneração, uma vez que o algoritmo é capaz de corrigir uma
quantidade maior de erros de bit
• Mais níveis de monitoramento TCM (Tandem Connection Monitoring): o ca-
22
beçalho OTN suporta até seis níveis de TCM independentes, tornando possível
o monitoramento de vários segmentos de caminhos em múltiplos e distintos
domínios administrativos.
• Operação, Administração, Manutenção e Aprovisionamento (OAMP): a OTN
provê funções de operação, administração, manutenção e aprovisionamento,
herdadas do SONET/SDH e expandidas para as camadas elétricas da rede OTN
Com o avanço da tecnologia, funções mais complexas foram atribuídas às redes
ópticas como comutação, roteamento na camada óptica da rede, funções de monitoramento
e gerenciamento foram adicionadas nos níveis ópticos da rede. Essas novas funcionalidades
caracterizam a segunda geração de redes ópticas.
2.1.1 Recomendações sobre OTN
Com o objetivo de difundir as redes OTN e criar uma padronização para os fa-
bricantes de elementos desta rede, a International Telecommunication Union no seu setor de
padronização de telecomunicações ITU-T, desenvolveu uma série de recomendações para especi-
ficar as funcionalidades, arquitetura, gerenciamento, etc, de redes OTN. Com tal padronização, é
possível a interoperabilidade de equipamentos entre diferentes fabricantes de maneira automática,
aumentando a usabilidade da OTN. Este trabalho utiliza as seguintes recomendações ITU-T:
ITU-T G.709, ITU-T G.798 descritas a seguir.
ITU-T G.709 (Interfaces for the Optical Transport Network (OTN)): essa recomen-
dação define as interfaces da OTN a serem usadas com as demais redes. Ela define, entre
outras coisas, os formatos de mapeamento dos sinais cliente, a hierarquia de transporte óptico,
a estrutura dos quadros, as funcionalidades do overhead, as taxas de bits, e a multiplexação de
sinais (ITU-T, 2012a).
ITU-T G.798 (Characteristics of Optical Transport Network Hierarchy Equipment
Functional Blocks): essa recomendação especifica, entre outras coisas, uma biblioteca de
blocos funcionais e um conjunto de regras que devem ser utilizadas a fim de se construir os
elementos de rede na OTN. Ela define as funções atômicas que representam as camadas da
OTN, sua interoperabilidade e o modo de como são tratadas as mensagens internamente à OTN,
especificando a correlação de defeitos, o tratamento de erros e ações consequentes (ITU-T,
2012b).
ITU-T G.874.1 (Optical transport network: Protocol-neutral management informa-
23
tion model for the network element view): essa recomendação aborda especificamente um
modelo de informação independente de protocolos, no qual é mostrado, de forma genérica, um
modelo de classes da camada de rede de transporte (ITU-T, 2012c).
2.1.2 Camadas OTN
Segundo (RAMASWAMI et al., 2010) as redes ópticas são divididas em duas
hierarquias: hierarquia óptica e hierarquia digital. Essas hierarquias são subdivididas em
camadas. A hierarquia óptica é formada pelas camadas: Optical Multiplex Section (OMS) e
Optical Transmission Section (OTS). Já na hierarquia digital temos a camada Optical Channel
Layer (OCh), que é subdividida nas camadas: Optical Channel Payload Unit (OPU), Optical
Channel Data Unit (ODU) e Optical Channel Transport Unit (OTU) (Figura 1).
Figura 1 – Hierarquia OTN dividida em camadas
Fonte: (RAMASWAMI et al., 2010)
A camada OCh e suas subcamadas são responsáveis pela criação e gerenciamento do
quadro OTN, também fornece um caminho óptico para transportar o sinal cliente pela rede OTN,
realizando conversão do sinal elétrico para óptico entre duas terminações ópticas. Na camada
OPU são realizadas adaptações necessárias para o transporte do sinal cliente pela rede OTN. A
camada ODU provê as funcionalidades de multiplexação TDM, proteção, supervisão fim-a-fim
do caminho, TCM (Tandem Conection Monitoring), entre outras funcionalidades de monitoração
da qualidade do sinal. A camada OMS é responsável por multiplexar/demultiplexar diversos
comprimentos de onda, cada um transportando um canal óptico, em uma fibra. A camada OTS
24
fornece um caminho óptico ponto-a-ponto entre dois elementos ópticos.
A transmissão nas redes OTN possui taxas pré-estabelecidas 1,25 Gbps; 2,5 Gbps;
10 Gbps; 40 Gbps e 100 Gbps, com o uso da técnica de multiplexação por divisão de tempo
(TDM), é possível transportar sinais clientes com taxas diferentes às taxas padrão de maneira
eficiente, incluindo sinais com taxas inferiores a 1,25 Gbps, sendo estes acomodados em ODUs
de baixa ordem e, após a multiplexação, acomodados em ODUs de alta ordem.
2.1.3 Arquitetura de uma rede OTN
Segundo (RAMASWAMI et al., 2010), a rede OTN é composta pelos seguintes
elementos:
• Optical line terminals (OLTs): usados no fim de um enlace ponto-a-ponto para
multiplexar e demultiplexar comprimentos de onda. Multiplexam vários compri-
mentos de onda em uma única fibra e demultiplexam um sinal WDM composto
em sinais individuais. São compostos por transponders, multiplexadores e ampli-
ficadores (Figura 2)
Figura 2 – Composição de um Optical Line Terminal
Fonte: (RAMASWAMI et al., 2010)
• Optical Add/Drop Multiplexers (ROADMs): Permite acessar sinais sem a neces-
sidade de voltar ao domínio eletrônico, além de prover a habilidade de adicionar
e derivar comprimentos de onda desejados dinamicamente sem planejamento
prévio dos equipamentos
• Optical Crossconnects (OXCs): são necessários em redes com topologias mais
complexas e com um grande número de comprimentos de onda. Comprimentos
de onda podem ser adicionados ou derivados quando necessários
• Amplificadores
25
• OTN Switch: possuiem um mesmo equipamento toda dinamicidade e flexibili-
dade proveniente das redes OTN, através da comutação e multiplexação de sinais
ópticos (OCh) e digitais (ODU)
2.1.3.1 OTN Switch
Em (DILEM et al., 2011) é apresenta uma proposta de arquitetura para o equipamento
OTN Switch, com enfoque nas funcionalidades apresentadas pelas Recomendações ITU-T,
especialmente a ITU-T G.798. Nele são exploradas as principais características do OTN Switch:
multiplexação e comutação de sinais nos domínios óptico e elétrico. Essas funcionalidades
tornam a OTN mais flexível e dinâmica, aproximando-a cada vez mais da próxima geração de
redes de transporte. Nessa proposta o equipamento é dividido em seis diferentes módulos, que
processam e/ou tratam os sinais nos domínios elétrico e óptico: CIC, ODU Switch, NIC, WSS,
OIC e Controller Card (Figura 3).
O CIC (CIC) é responsável por adaptar/recuperar um sinal cliente ingressando/saindo
na rede OTN. O módulo ODU Switch se encarrega da comutação elétrica dos sinais ODU internos
ao OTN Switch. Essa comutação é implementada por conexões de subrede (SNC) as quais
podem ser configuradas de forma automática por um plano de controle (OpenFlow, GMPLS,
etc.), ou por intervenção do operador da rede. Adicionalmente, o módulo ODU Switch é capaz
de proteger sinais ODU, fazendo uso do protocolo Automatic Protection Switching (APS). O
Network Interface Card (NIC) é responsável por prover um caminho fim-a-fim elétrico, inserir
informações de gerenciamento e correção de erros, além de fornecer a funcionalidade de, quando
necessário, um ou mais estágios de multiplexação ODU. É na NIC que acontece a conversão O-E-
O. No módulo Wavelength Selective Switch (WSS) um sinal óptico pode ser roteado, protegido,
adicionado/extraído em/de um agregado de sinais WDM. Por sua vez, o Optical Interface Card
(OIC) realiza o tratamento do sinal óptico, ou seja, a (de)multiplexação dos diferentes canais
ópticos em uma fibra, amplificação e compensação de dispersão. A Placa Controladora, ou
Controller Card realiza as funções de gerenciamento do equipamento (EMF) e comunicação
(MCF) com entidades do plano de gerência, plano de controle ou com a rede de comunicação de
dados (DCN) (DILEM et al., 2011).
A cross-conexão é responsável pela comutação entre sinais de entrada e saída,
definindo suas rotas. A comutação óptica torna-se possível utilizando uma matriz de conexão
presente na OCh_C. Utilizando essas funcionalidades, é possível realizar “roteamento” e proteção
26
Figura 3 – Arquitetura do OTN Switch
Fonte: (DILEM et al., 2011)
em faixas de comprimentos de onda ou a comprimentos de onda individuais, adicionando à rede,
importantes ferramentas de engenharia de tráfego. Semelhante à comutação óptica, a comutação
digital é realizada com a configuração da matriz de conexão da ODU_C, estabelecendo ligações
27
entre diferentes portas de um mesmo equipamento, ou entre equipamentos distintos. O sinal
ODUk é comutado entre uma porta de entrada e uma porta de saída de acordo com as conexões
estabelecidas pela matriz de conexão. (DILEM et al., 2011) descreve o ODU Switch com base
na recomendação ITU-T G.798, como sendo composto exclusivamente pela função de conexão
ODU_C, que é responsável por realizar as cross-conexões.
2.2 REDES DEFINIDAS POR SOFTWARE
As redes de computadores são compostas por inúmeros dispositivos, entre eles
temos roteadores e comutadores, que utilizam diferentes tipos de protocolos. Essas redes
possuem algumas limitações para atender a novos requisitos em segurança, qualidade de serviço,
configuração e evolução.
Os operadores de rede são responsáveis por configurar as políticas que respondem
aos eventos e aplicações de rede, toda essa configuração é feita manualmente, individualmente
para cada equipamento, e com ferramentas bastante limitadas e comandos de baixo nível e
específicos dos fabricantes de cada equipamento, dando margem a erros na configuração da rede.
As redes atuais são verticalmente integradas, ou seja, o Plano de Controle, que
decide como lidar com o tráfego da rede, e o Plano de Dados, que encaminha o tráfego de
acordo com as regras definidas pelo Plano de Controle, estão acoplados dentro dos equipamentos
de rede, limitando e reduzindo a flexibilidade e inovação (KREUTZ et al., 2014). A ideia
de redes programáveis foi proposta como uma maneira de facilitar a evolução das redes. Em
particular, redes definidas por software (SDN) são um novo paradigma no qual o hardware de
encaminhamento é desacoplado das decisões de controle (Figura 4) (ASTUTO et al., 2014).
Figura 4 – Diferença arquitetural das Redes Tradicionas e das Redes Definidas por Software
Fonte: (ASTUTO et al., 2014)
28
A arquitetura de uma rede SDN (Figura 5) é dividida em três planos: Plano de
Gerenciamento, Plano de Controle, Plano de Aplicação. O Plano de Gerenciamento é composto
por um conjunto de aplicações que implementam o controle da rede e suas operações lógicas,
como aplicações de roteamento, balanceamento de carga, monitoramento, etc.
O Plano de Controle é o cérebro da rede, cabe a ele programar e configurar os ele-
mentos do Plano de Dados. O Plano de Dados é composto pelos dispositivos de encaminhamento
interconectados. A comunicação entre os planos de Gerência e Controle é feita através de uma
Northbound API, já a comunicação entre os planos de Controle e Dados é feita através de uma
Southbound API.
Figura 5 – Arquitetura de uma Rede Definida por Software: Planos de Gerência, Controle e
Dados
Fonte: (KREUTZ et al., 2014)
2.2.1 Protocolo OpenFlow
Direcionado pelo princípio SDN de desacoplamento dos planos de Controle e Dados,
o protocolo mais conhecido e utilizado é o OpenFlow, que estabeleceu uma padronização na
informação trocada entre os dois planos. O comutador OpenFlow possui uma ou mais tabelas
de fluxo e um canal de comunicação seguro utilizado para comunicação com o controlador.
As tabelas de fluxos são formadas por entradas que determinam como os pacotes deverão ser
tratados. Essas entradas são compostas por regras, que utilizam campos dos cabeçalhos dos
pacotes recebidos para identificar o tipo de fluxo, contadores, utilizados para coletar estatísticas
do fluxo, e um conjunto de ações, que determinam como tratar os pacotes (Figura 6) (ASTUTO
29
et al., 2014) (MCKEOWN et al., 2008).
Ao iniciar a rede todos os comutadores OpenFlow possuem tabelas vazias, ao receber
o pacote o comutador retira informações dos cabeçalhos desse pacote tentando validar o pacote
em alguma de suas entradas, ao perceber que o pacote não se encaixa em nenhuma regra, o
comutador envia o mesmo ao controlador que decidirá como esse fluxo deve ser tratado e
atualizará as tabelas dos comutadores. Assim, na próxima vez que o comutador receber um
pacote pertencente a esse fluxo ele o tratará de acordo com as regras definidas pelo controlador,
precisando assim, definir tais regras apenas uma única vez para cada fluxo.
Figura 6 – Arquitetura OpenFlow
2.2.2 OpenDaylight
OpenDaylight é uma plataforma para programabilidade de redes que permite a
implantação dos conceitos SDN. Possui em seu núcleo um controlador modular e flexível. Esse
controlador é implementado estritamente como software e contém sua própria máquina virtual
Java (JVM), sendo assim irrestrita a hardwares e sistemas operacionais.
O controlador utiliza o framework Open Services Gateway Initiative (OSGi) para
comunicação das aplicações que rodam no mesmo endereço do controlador e utiliza o protocolo
REST (REST) para comunicação das aplicações com o controlador. As lógicas de negócio
e algoritmos encontram-se nas aplicações, que utilizam o controlador como forma de obter
informações sobre a rede, rodar algoritmos para analisar a rede e orquestrar as novas regras que
a rede deve seguir.
O controlador possui uma coleção de módulos dinamicamente plugáveis que exe-
cutam as tarefas necessárias pela rede, como entender quais os dispositivos estão contidos na
rede e quaissuas capacidades. Além disso, é possível a criação e adição de novos módulos
30
personalizados.
O controlador expõe uma API northbound utilizada pelas aplicações e uma API
southbound capaz de suportar múltiplos protocolos, como OpenFlow 1.0, OpenFlow 1.3, BGP-
LS, etc. Esses protocolos suportados pela API southbound são unificados em uma Camada de
Abstração de Serviços (SAL), que expõe os serviços dos dispositivos para os módulos contidos no
controlador. A SAL determina como atender ao serviços requisitados independente do protocolo
utilizado pelo controlador para se comunicar com os dispositivos de rede.
Figura 7 – Arquitetura OpenDaylight
Fonte: (KREUTZ et al., 2014)
31
3 TRABALHOS RELACIONADOS
Nesta seção será descrito trabalhos relacionados que utilizaram Redes Definidas por
Software em Redes Ópticas.
3.1 EXTENDING SOFTWARE DEFINED NETWORK PRINCIPLES TO INCLUDE OPTI-
CAL TRANSPORT
Em (GRINGERI et al., 2013), é apresentado uma revisão sobre os benefícios e
desafios de estender os conceitos das redes SDN para que esses possam ser utilizados em redes
ópticas. É explicado que a construção de um plano de controle para redes OTN é mais complexo
do que para redes Ethernet, visto que é necessário levar em conta restrições físicas, como
alcance do sinal óptico, controle da largura de banda e roteamento de caminhos de luz. Além
da complexidade do plano de controle, é apresentada uma revisão dos requerimentos de uma
aplicação e características dos serviços que poderiam se aproveitar do plano de controle SDN.
Tradicionalmente, transceptores tinham um desempenho fixo, baseado nos compo-
nentes ópticos selecionados, porém, novos transceptores de processamento digital de sinal foram
construídos e com eles é possível planejar hardwares flexíveis com parâmetros sintonizáveis
(Figura 8).
Esses parâmetros poderiam ser configurados por um controlador SDN, para determi-
nar o desempenho da rede de acordo com as necessidades das aplicações, maximizando assim a
utilização dos recursos da rede. As redes poderiam ser configuradas baseando-se na demanda de
tráfego.
A virtualização da rede em fatias é mencionada como uma das aplicações que poderia
tirar proveito dos conceitos SDN. Caminhos de luz poderiam ser configurados com base em
restrições de largura de banda e atraso, além de poderem ser dedicadas a um único cliente na
forma de uma rede virtual privada (VPN).
Ao utilizar uma camada óptica flexível, com a utilização de ROADMs e transceptores
sintonizáveis, as redes SDN podem evoluir de seu estado inicial de aplicações de pacote para
suportar aplicações de comutação e transporte, porém, ainda é necessária uma extensão dos
conceitos iniciais de SDN para sua utilização em redes OTN.
32
Figura 8 – Transceptor sintonizável e os possíveis parâmetros de configuração
Fonte: (GRINGERI et al., 2013)
3.2 INTEGRATED OPENFLOW–GMPLS CONTROL PLANE: AN OVERLAY MODEL
FOR SOFTWARE DEFINED PACKET OVER OPTICAL NETWORKS
Em (AZODOLMOLKY et al., 2011), é apresentado uma proposta de integração dos
planos de controle OpenFlow e GMPLS em um modelo de sobreposição de camadas, onde é
utilizado uma extensão do controlador OpenFlow (Figura 9).
O plano de controle GMPLS é dividido nos seguintes blocos:
• Controlador de Conexões da Rede (NCC): responsável por manusear e processar
as requisições de conexão
• Controlador de Sinalização (SC): implementa o protocolo RSVP-TE e é respon-
sável por fazer a sinalização GMPLS
• Controlador de Roteamento (RC): composto pelo protocolo OSPF-TE utilizado
33
para cálculo de rota e descoberta de topologia
• Gerenciador de Recursos do Enlace (LRM): responsável por monitorar e coletar
informações sobre o estado atual dos elementos de rede
• Controlador de Recursos da Rede de Transporte (TNRC): provê uma interface
entre o GMPLS e os elementos de rede para seu monitoramento e configuração
O controlador OpenFlow estendido é composto pelos seguintes blocos:
• Processador de Fluxo (FP): responsável pelo processamento de novos fluxos,
criação das regras e atualização das tabelas nos comutadores
• Elemento de Computação de Caminho (PCE): responsável pelo cálculo da rota
para cada fluxo no domínio de comutação de pacotes
• Agente de Descoberta (DA): tem como função descobrir a topologia e conectivi-
dade da rede incluindo os pontos finais em cada domínio de pacote
• OpenFlow Gateway (OFGW): fornece a interface entre o controlador OpenFlow
e o plano de controle GMPLS através de uma interface do usuário da rede (UNI)
• Controlador do Protocolo OpenFlow (OFPC): responsável por criar uma interface
entre o controlador e os comutadores OpenFlow para configuração das tabelas
de fluxo e monitoramento dos equipamentos
Figura 9 – Plano de Controle integrado OpenFlow-GMPLS
Fonte: (AZODOLMOLKY et al., 2011)
As tabelas de fluxos dos comutadores inicialmente estão vazias. O primeiro pacote
34
recebido será encapsulado e enviado ao controlador OpenFlow estendido. Baseado no destino
do pacote, o controlador OpenFlow identifica os pontos de ingresso e egresso da rede óptica e
requisita um caminho para o plano de controle GMPLS, utilizando a interface UNI citada acima.
O plano de controle GMPLS estabelece um LSP para aquele fluxo e informa ao controlador
OpenFlow, que atualiza as tabelas de fluxo nos nós de ingresso e egresso da rede de óptica
(Figura 10). O controlador OpenFlow mantém uma lista com os LSPs estabelecidos (Figura 11).
Figura 10 – Tabela de Fluxo dos nós de ingresso e egresso da rede óptica após o
estabelecimento do LSP
Fonte: (AZODOLMOLKY et al., 2011)
Figura 11 – Diagrama de sequência representando o funcionamento do plano de controle
integrado
Fonte: (AZODOLMOLKY et al., 2011)
Semelhante a esse trabalho, a presente dissertação utilizou-se de blocos, ou módulos,
para construir o plano de controle utilizando um controlador externo. Porém, em (AZODOL-
MOLKY et al., 2011), temos a dependência do GMPLS para cálculo e roteamento de caminhos
35
na rede óptica.
3.3 SOFTWARE-DEFINED OPTICAL NETWORKS TECHNOLOGY AND INFRASTRUC-
TURE: ENABLING SOFTWARE-DEFINED OPTICAL NETWORK OPERATIONS
(CHANNEGOWDA et al., 2013) aborda um plano de controle SDN-GMPLS in-
tegrado e um plano de controle somente com SDN. Ambos facilitaram aplicações para fatias
específicas da rede na camada óptica, provendo ainda uma plataforma unificada para o plano
de controle, possibilitando a integração de redes eletrônicas de pacotes e redes ópticas. No
contexto de computação nas nuvens SDN pode facilitar o desenvolvimento de engenharia de
tráfego programável e esquemas de balanceamento de carga em centros de dados, levando em
conta as diferentes necessidades das aplicações por largura de banda e latência.
Os desafios encontrados para a utilização de um plano de controle e gerência baseado
em SDN para redes ópticas são:
• Definição de uma granularidade para comutação e transporte ópticos (optical
flow)
• Generalização de tal granularidade para que possa ser usado por diferentes
tecnologias (fixed DWDM, flexi DWDM)
• Manter a compatibilidade com a tecnologia de comutação eletrônica de pacotes
• Planejar e implementar um mecanismo de abstração que possa esconder a hetero-
geneidade das tecnologias de redes ópticas
Com base nesses desafios, o trabalho aborda uma extensão do protocolo OpenFlow
e a definição de uma camada de abstração das rede subjacentes, permitindo a generalização
dos fluxos para tecnologias de transporte óptico heterogêneas e integração com domínios de
comutação de pacotes.
A arquitetura proposta (Figura 12) possibilita ao controlador conhecer cada domínio
utilizando tabelas de fluxos inter domínio, contendo um identificador e ações associadas para cada
NE, e intra domínio, para lidar com restrições tecnológicas para alocação de banda quando um
tráfego atravessa de um domínio para outro. As restrições dos domínios e os detalhes da topologia
são armazenados em um banco de dados, tais informações serão utilizadas pelasaplicações SDN
por uma API Northbound. Cada elemento de rede deverá implementar um agente, que visa
esconder os detalhes tecnológicos de recursos das redes de transporte heterogêneas subjacentes,
permitindo uma interface programável para a configuração do estado de hardware.
36
Figura 12 – Arquitetura SDN para uma rede heterogêna
Fonte: (CHANNEGOWDA et al., 2013)
O agente é dividido em três camadas (Figura 13):
• Camada de Apresentação do Hardware (HPL): Fornece todas as capacidades
disponíveis dos dispositivos, esconde as complexidades de hardware e exporta
os recursos e capacidades do dispositivo com base em um modelo unificado de
informação para o HIL
• Camada de Interface com Hardware (HIL): Expõem somente as características e
informações que possam ser utilizadas por uma rede baseada em fluxos, utiliza
as interfaces fornecidas pelo HPL para construir abstrações úteis que escondam
a complexidade associada aos recursos de hardware
• API OpenFlow: Mapeia informações fornecidas pelo HIL para o protocolo
OpenFlow e suas extensões
A versão atual do protocolo OpenFlow se concentra apenas no domínio de pacotes,
assim não suporta restrições de comutação e imparidades ópticas. A proposta de extensão
do OpenFlow propõe adicionar campos de identificação de fluxo pela porta, comprimento de
onda ou frequência central e tipo de sinal associado com um transporte óptico e tecnologia de
comutação específicos, atendendo assim as necessidades do domínio de pacotes, fixed-grid e
37
Figura 13 – Arquitetura do agente responsável pela abstração dos elementos da rede
Fonte: (CHANNEGOWDA et al., 2013)
flexi-grid (Figura 14).
Figura 14 – Tabela de fluxos do comutador OpenFlow estendido
Fonte: (CHANNEGOWDA et al., 2013)
Essa arquitetura foi utilizada desta forma e com a inclusão do plano de controle
GMPLS. As duas abordagens foram avaliadas em termos de tempo de configuração de caminho
utilizando uma aplicação SDN para fatias da rede. Os tempos de configuração de cada rede
foram categorizados baseados no hardware, na equalização de potência e no tempo de derivação
38
do caminho. A abordagem OF foi melhor, devido a sua habilidade de realizar cross-conexões e
equalização de potência concorrentemente nos NEs envolvidos.
A arquitetura proposta em (CHANNEGOWDA et al., 2013) é extremamente depen-
dente de um agente acoplado aos elementos de rede para que seja possível obter suas informações,
além disso, essa arquitetura é extremamente vinculada ao protocolo OpenFlow. A proposta
desta dissertação é muito mais genérica e não vincula a arquitetura a nenhum protocolo de
comunicação.
3.4 AN OPTICAL SDN CONTROLLER FOR TRANSPORT NETWORK VIRTUALIZA-
TION AND AUTONOMIC OPERATION
(SIQUEIRA et al., 2013) apresenta a arquitetura de um controlador SDN para redes
ópticas, que tem como aplicação a virtualização e fatiamento da rede. Na arquitetura proposta
(Figura 15), o Controlador SDN implementa uma camada de abstração que age como um sistema
operacional da rede que permite às aplicações tenham acesso a topologia e outras informações
necessárias para configurar e interagir com os elementos de rede. A camada abstrata implementa
o conceito de fatiamento de redes, permitindo a criação de redes ópticas virtuais (VON). Uma
virtualização da implementação do GMPLS foi adicionada ao controlador, pois algumas das
funcionalidades fornecidas pelo GMPLS como, descobrimento da rede e estabelecimento de
caminhos de luz, ainda não são suportadas pelo SDN. Para evitar configuração manual, foi
utilizado o protocolo de descoberta da camada de enlace (LLDP), que foi estendido para funcionar
no OSC, efetuando a descoberta da rede.
A arquitetura é dividida principalmente em:
• Elementos de Rede Óptico (O-NEs): possuem um agente para abstração e
controle via NETCONF e são modelados em YANG para prover uma camada de
abstração dos nós para o O-NOS
• Sistema Operacional de Redes Óptico (O-NOS): elabora um ponto de vista
simplificado concatenando os modelos YANG dos O-NEs em uma única árvore,
resultando em um modelo integrado da rede, ele é projetado para prover o
fatiamento dos recursos da rede óptica, via separação por comprimento de onda
ou por nó
• Controlador SDN para Redes Ópticas (O-SDNC): mira permitir controle autonô-
mico da rede óptica, o fatiamento da rede e fornecer interfaces GMPLS enquanto
39
Figura 15 – Arquitetura de um controlador SDN para Redes Opticas
Fonte: (SIQUEIRA et al., 2013)
simplifica os O-NEs
• Virtualização do Plano de Controle Estendido (XCP-V): virtualização do plano
de controle GMPLS
As instâncias do XCP-V foram virtualizadas utilizando containers Linux, permitindo
a utilização de vários nós na mesma máquina física, permitindo assim a instanciação de vários
agentes XCP-V, um por nó da rede por fatia, possibilitando a configuração de diferentes VPNs,
cada uma com um plano GMPLS independente.
(SIQUEIRA et al., 2013) teve grande influência na proposta de utilização de um
controlador SDN para fatiamento de redes ópticas. Vários aspectos da arquitetura proposta
nesse trabalho foram levados em consideração na criação da arquitetura proposta na dissertação.
Gerenciamento de inventário, topologia e fatias, além de um mecanismo responsável pelo cálculo
40
das rotas. Porém, tudo isso é fortemente dependente dos protocolos utilizados pelo GMPLS,
como o RSVP-TE e o OSPF-TE, o que não acontece na proposta de arquitetura dessa dissertação.
41
4 METODOLOGIA
Este capítulo descreve a arquitetura e os componentes necessários para criação de
um módulo capaz de fatiar redes ópticas de transporte.
4.1 ARQUITETURA
A arquitetura proposta (Figura 16) para possibilitar a virtualização e fatiamento da
rede, segue a metodologia das redes definidas por software, sendo composta por 3 (três) camadas.
A primeira camada contém os elementos de rede ópticos. A segunda camada é composta por um
ou mais controladores, responsáveis pela inteligência da rede. A terceira, e última camada é a de
Aplicação, responsável pelas interações do usuário com a rede. Essas camadas se comunicam
através de protocolos de comunicação.
Figura 16 – Arquitetura proposta para possibilitar o fatiamento de uma rede óptica
Fonte: Elaborado pelo autor
Essa arquitetura propõe um módulo chamado Optical Network Slicer (ONS) (Fi-
gura 17), responsável pelo fatiamento da rede óptica. Esse módulo é composto por 5 (cinco)
plugins essenciais, sendo eles: Slices Manager, Provisioner, Path Computation Element, To-
42
pology Manager e Inventory. A interface de entrada desses módulos pode ser feita utilizando
arquivos em formato Extensible Markup Language (XML), JavaScript Object Notation (JSON)
ou até mesmo através de objetos criados com a linguagem de implementação dos mesmos.
Além do módulo de fatiamento, é necessário um plugin para gerenciar as conexões
utilizadas na comunicação com os dispositivos da rede, esse plugin é chamado Sessions Manager.
Todos esses plugins devem utilizar uma base de dados para o armazenamento de informações.
Figura 17 – Módulo de fatiamento de redes ópticas
Fonte: Elaborado pelo autor
4.1.1 Inventory
Para que seja possível gerenciar uma rede, primeiramente é necessário obter as
informações dos dispositivos desta rede. O plugin Inventory é responsável por gerenciar e
armazenar informações dos dispositivos que compõem a rede óptica. Para isso ele deve ser
alimentado constantemente com informações sobre as capacidades de todos os dispositivos que
ingressarem na rede. Assim, é necessário modelar esses dispositivos em alguma linguagem de
armazenamento, definindo a granularidade necessária para seu gerenciamento.
A Figura 18 mostra um diagrama de classes com as informações mínimas e essenciais
para o fatiamento de dispositivos ópticos. Esse diagrama é composto por 3 (três) classes: Node,
Slot, Interface. Todas as classes possuem um identificador único, além dessas informações, a
classe Node possui uma lista de slots, representados pela classe Slot,que por sua vez possui
uma lista de interfaces. A classe Interface possui um campo para identificar qual camada
implementada por esta interface está sendo fatiada.
É possível incrementar esse modelo para aumentar o nível de granularidade dos
dispositivos ópticos, acrescentando por exemplo a taxa de transmissão da interface.
Um exemplo de entrada para alimentação da base de dados desse plugin, em formato
43
Figura 18 – Diagrama de classes mostrando a estrutura básica de um dispositivo óptico
Fonte: Elaborado pelo autor
XML, pode ser visto na Figura 19.
Figura 19 – Exemplo de uma entrada para informar as capacidades de um elemento óptico,
seguindo o modelo mostrado na Figura 18
Fonte: Elaborado pelo autor
4.1.2 Topology Manager
O plugin Topology Manager gerencia a topologia da rede, necessário para oferecer
a capacidade de roteamento. Essa topologia é obtida através de protocolos de descoberta de
vizinhança, como o LLDP, por exemplo. Esse plugin deve gerenciar tanto a topologia da rede
mestre, quanto as topologias das fatias criadas posteriormente, sendo responsável também por
validar se os dispositivos e conexões utilizados nas fatias, existem na topologia mestre.
44
Essa topologia pode ser representada de acordo com a Figura 20, na qual uma classe
Topology é identificada por um identificador único e possui uma lista de nós e uma lista de
conexões. Essas conexões são representadas pela classe Link, que possui um identificador, um
nó origem e um nó destino. Esses nós são representados pela classe Node, explicada na seção
anterior.
Figura 20 – Diagrama de classes mostrando a estrutura básica de armazenamento de uma
topologia de rede
Fonte: Elaborado pelo autor
Um exemplo de entrada para alimentação da base de dados desse plugin, em formato
XML, pode ser visto na Figura 21. Essa configuração resultaria em uma topologia com 3 (três)
nós, onde o nó com identificador 1 (um) está ligado ao nó com identificador 2 (dois), que por sua
vez possui uma conexão com o nó identificado como 3 (três), essas conexões são descritas no
atributo links e forma a rede exibida na Figura 22.
4.1.3 Path Computation Element
O Path Computation Element (PCE) tem como principal função calcular o caminho
entre um nó origem e um nó destino, se esse caminho existir. Esse cálculo pode ser feito
utilizando qualquer algoritmo de cálculo de rota, priorizando requisitos como: qualidade de
serviço (QoS), preço, política. Esse plugin só será ativado através de requisições de solicitação
de cálculo de rota feitas pelo plugin Provisioner. Para que o cálculo da rota seja executado,
é necessário que esse plugin receba como parâmetro o nó origem, nó destino, uma lista de
nós válidos, uma lista de conexões disponíveis e quaisquer outros parâmetros específicos do
algoritmo implementado.
45
Figura 21 – Exemplo de uma entrada para informar a topologia de uma rede óptica, seguindo o
modelo mostrado na Figura 20
Fonte: Elaborado pelo autor
Figura 22 – Topologia de rede construída a partir das especificações exibidas na Figura 21
Fonte: Elaborado pelo autor
4.1.4 Provisioner
Esse plugin é responsável pelo aprovisionamento de caminhos da rede, para isso ele
utiliza o caminho calculado pelo PCE, e com base nesse caminho, na modelagem dos elementos
ópticos e no protocolo utilizado para comunicação com esses elementos, cria as mensagens de
46
aprovisionamento que serão enviadas para configurar os dispositivos, modificando assim a rota
da transmissão.
É necessário informar ao PCE a topologia na qual este deve calcular a rota. Essa
topologia não pode conter conexões em uso, tornando necessário controlar a disponibilidade dos
recursos da rede, ou seja, armazenar tais conexões, para que os caminhos calculados pelo PCE e
aprovisionados aqui sejam válidos. As seguintes informações são necessárias para identificar
conexões em uso: identificador da conexão, dono da fatia, a qual área essa fatia pertence e o
identificador da topologia a qual a conexão pertence (Figura 23).
Figura 23 – Diagrama de classes representando as informações necessárias para armazenar
conexões em uso
Fonte: Elaborado pelo autor
4.1.5 Slices Manager
O gerenciamento das fatias da rede consiste basicamente nas operações de criação,
remoção e atualização das fatias. Essas operações devem ser realizadas pelo operador da
rede principal através deste plugin. Antes de realizar uma das operações, esse plugin deve se
comunicar com os plugins Inventory e Topology Manager, para que seja possível validar as
informações da fatia, por exemplo, verificar a existência e disponibilidade de nós e interfaces.
Além das operações citadas acima, este plugin também recebe requisições dos controladores dos
clientes, solicitando o aprovisionamento de um caminho.
As fatias devem ser modeladas levando em consideração o crescimento do conceito
de cidades inteligentes. Sendo assim, cada fatia da rede deve ser identificada por dois campos, o
primeiro campo informará quem é o dono dessa fatia e o segundo campo a qual área essa fatia
pertence: saúde, segurança, etc. O campo área pode ser utilizado para priorizar, por exemplo,
largura de banda para uma determinada área em determinado momento do dia. A representação
de uma fatia básica pode ser vista na Figura 24, onde uma fatia contém as informações de
47
identificação e uma lista de possíveis topologias.
Figura 24 – Diagrama de classes representando as informações de uma fatia da rede
Fonte: Elaborado pelo autor
4.2 CASOS DE USO
Os dois principais casos de uso do fatiamento de uma rede óptica são a criação
de uma fatia e a solicitação do aprovisionamento de um caminho em determinada fatia. Nas
subseções seguintes serão descritos tais casos de uso.
4.2.1 Criar Fatia
Este caso de uso especifica a ação de solicitar a criação de uma nova fatia no
controlador, com o objetivo de tornar possível o gerenciamento desta fatia através de um
controlador externo. Apenas o operador da rede principal terá acesso a esta função. Esse caso de
uso terá início, após o operador da rede enviar uma solicitação para criação de uma nova fatia ao
plugin Slices Manager.
O fluxo básico deste caso de uso tem início quando o operador decide criar uma nova
fatia da rede. Nesse momento ele deve solicitar a criação desta fatia ao plugin Slices Manager,
passando como argumento um arquivo XML, contendo as informações básicas para criação da
fatia, dentre as principais informações estão o dono da fatia, a qual área esta pertence, os nós,
slots, interfaces e conexões.
A Figura 25 exibe um arquivo XML, com as informações necessárias para criação
de uma fatia composta por 3 (três) nós, como mostrado na Figura 26. Esse arquivo utiliza como
base uma rede composta por 5 (cinco) elementos (Figura 27), com as seguintes conexões:
48
• Nó 1 (um) e Nó 3 (três): conectam-se aos nós 2 (dois), 4 (quatro) e 5 (cinco)
• Nó 2 (dois) e Nó 4 (quatro): conectam-se aos nós 1 (um), 3 (três) e 5 (cinco)
• Nó 5 (cinco): conecta-se a todos os nós
Figura 25 – Exemplo de uma entrada para solicitar a criação de uma nova fatia
Fonte: Elaborado pelo autor
49
Figura 26 – Exemplo de uma fatia criada a partir do XML mostrado na Figura 25, utilizando
como base a rede mostrada na Figura 27
Fonte: Elaborado pelo autor
Figura 27 – Rede utilizada como base no exemplo de solicitação de criação de uma fatia
Fonte: Elaborado pelo autor
Ao receber a requisição, o plugin Slices Manager irá validar os dados recebidos, para
isso, irá se comunicar com o plugin Inventory, para que este possa validar os dados relacionados
ao inventário dos dispositivos. Em seguida, solicitará ao plugin Topology Manager, que verifique
se existem conexões válidas entre os dispositivos informados na fatia. A última validação é feita
para verificar se os dispositivos informados na entrada estão disponíveis para um novo cliente,
ou seja, não foram alugados por nenhum cliente até o momento.
O processo termina quando as informações da fatia sãosalvas no banco de dados,
decretando assim a criação da fatia. Esse fluxo pode ser observado no diagrama de sequência
(Figura 28).
50
Figura 28 – Diagrama de sequência do fluxo básico da criação de uma fatia
Fonte: Elaborado pelo autor
4.2.2 Aprovisionar Caminho
Este caso de uso especifica a ação de solicitar ao controlador o aprovisionamento
de um caminho para determinada fatia, com o objetivo de possibilitar o aprovisionamento de
caminhos por fatia. Essa função é acessada a partir de uma aplicação cliente, visualizada como
um controlador cliente. Esse caso de uso terá início, após o controlador cliente enviar uma
solicitação para aprovisionamento de um caminho em uma determinada fatia ao plugin Slices
Manager.
O fluxo básico deste caso de uso tem início quando o controlador cliente decide
aprovisionar um caminho. Nesse momento ele deve solicitar o aprovisionamento do caminho
na fatia que ele é dono, passando como argumento um arquivo XML, contendo as informações
básicas para aprovisionamento de caminhos (Figura 29), dentre as principais informações, estão
o dono da fatia, a qual área esta pertence, os nós, slots, interfaces e conexões.
Ao receber a requisição, o plugin Slices Manager irá validar os dados recebidos,
passando pelo mesmo processo de validação descrito no caso de uso de criação de uma fatia. Após
a validação, o plugin Slices Manager irá requisitar ao plugin Provisioner o aprovisionamento de
um caminho. O Provisioner irá efetuar 3 (três) operações básicas para realizar o aprovisionamento.
Primeiro ele irá solicitar o plugin Path Computation Element uma rota válida entre os dispositivos
51
Figura 29 – Exemplo de uma entrada para solicitar o aprovisionamento de um caminho em uma
determinada fatia
Fonte: Elaborado pelo autor
de origem e o destino. Com a rota calculada, as mensagens de cross-conexão serão construídas e
enviadas aos dispositivos, através do plugin Sessions Manager.
O processo termina quando as mensagens de cross-conexão forem enviadas aos
elementos ópticos, decretando assim o aprovisionamento de um caminho. Esse fluxo pode ser
observado no diagrama de sequência (Figura 30).
52
Figura 30 – Diagrama de sequência do fluxo básico do aprovisionamento de um caminho
Fonte: Elaborado pelo autor
53
5 IMPLEMENTAÇÃO
Este capítulo descreve a implementação da arquitetura proposta, as modificações e
os componentes utilizados no desenvolvimento de uma prova de conceito.
5.1 ARQUITETURA IMPLEMENTADA
A arquitetura implementada (Figura 16) possui todas as funções da arquitetura
proposta na Seção 4.1, porém, para facilitar o desenvolvimento, alguns plugins concentram mais
de uma função. O desenvolvimento desta prova de conceito foi feito utilizando a linguagem Java
e a plataforma para programabilidade de redes ODL, facilitando a modularização da arquitetura.
Figura 31 – Arquitetura desenvolvida para fatiamento de uma rede óptica
Fonte: Elaborado pelo autor
Seguindo os princípios da arquitetura proposta, a arquitetura desenvolvida como
prova de conceito é composta por 3 (três) camadas. Devido a dificuldade de ter acesso a
elementos ópticos reais, a primeira camada foi adaptada para substituir tais elementos, sendo
composta por máquinas virtuais com modelos de informação que representam as características
54
de elementos ópticos. A terceira camada é formada por aplicações cliente, responsáveis pelas
interações do usuário com o controlador.
A segunda camada é composta pelo controlador ODL, e possui o módulo de fati-
amento de redes ópticas. O ODL foi utilizado por ser um controlador SDN de código aberto,
escrito em java, e com uma comunidade bastante ativa. Dentre seus principais plugins, é possível
destacar os seguintes:
• Topology Manager: responsável pelo controle da topologia da rede
• Inventory: responsável pelo controle das informações de inventário da rede
• VTN (Virtual Tenant Network) Manager e Coordinator: responsável pela virtua-
lização e fatiamente de redes Ethernet
• Flow Programming: responsável pela programação de fluxos em redes que
utilizam protocolo OpenFlow
Esses plugins possuem as mesmas responsabilidades de alguns plugins citados
na Seção 4.1, porém com capacidade de atender apenas as necessidades das redes Ethernet.
Assim, foi necessário criar plugins com as mesmas responsabilidades, porém, que atendessem as
necessidades de uma rede óptica. Esses plugins foram agrupados dentro do módulo ONS (ONS).
O módulo ONS (Figura 32) é composto por 3 (três) plugins, que representam os
5 (cinco) plugins da arquitetura geral proposta. Esses plugins são: Optical Slicer, Optical
Provisioning e Optical Network Topology. Todos eles recebem como parâmetro arquivos em
formato XML (XML) ou objetos Java. O plugin utilizado para gerenciar as conexões utilizadas na
comunicação com as máquinas virtuais é nativo ao ODL e é chamado Netconf Connector. Todos
esses plugins utilizam uma base de dados própria do ODL, essa base armazena informações
utilizando a linguagem YANG.
Figura 32 – Implementação do módulo de fatiamento de redes ópticas
Fonte: Elaborado pelo autor
O controlador se comunica com as máquinas virtuais utilizando o protocolo Network
55
Configuration Protocol (NETCONF). A comunicação do controlador com as aplicações é reali-
zada através do protocolo Representational State Transfer (REST).
5.1.1 Optical Network Topology
Esse plugin concentra as responsabilidades dos plugins Inventory e Topology Mana-
ger, explicados nas Seções 4.1.1 e 4.1.2 respectivamente. Esse agrupamento das responsabilida-
des deve-se ao fato do inventário possuir poucas informações, logo, seria desnecessário criar um
plugin específico para lidar apenas com informações de slot e interface.
5.1.2 Optical Slicer
Esse plugin representa fielmente o plugin descrito na Seção 4.1.5, porém, ao invés
de se comunicar com os plugins Inventory e Topology Manager, para validar as informações da
fatia, ele se comunica com o plugin Optical Network Topology. Este plugin é o ponto de acesso
para criação e configuração das fatias. A Figura 33 mostra um diagrama de classes resumido
deste plugin, ocultando as variáveis de instância, os parâmetros passados para os métodos e as
possíveis exceções lançadas durante a execução dos mesmos.
Figura 33 – Diagrama de classes representando a estrutura básica do plugin Optical Slicer e sua
conexão com o plugin Optical Provisioning
Fonte: Elaborado pelo autor
5.1.3 Optical Provisioning
Esse plugin concentra as responsabilidades dos plugins Path Computation Element e
Provisioner, explicados nas Seções 4.1.3 e 4.1.4 respectivamente.
O algoritmo de Dijkstra foi utilizado para o cálculo das rotas, assumindo assim as
responsabilidades do plugin Path Computation Element, com o intuito de acharmos o menor
caminho entre o nó origem e o nó destino. Não foram utilizados pesos pras conexões, pois
56
consideramos que todas as conexões possuem a mesma taxa de transmissão.
Após o cálculo do caminho pelo Dijkstra, esse plugin cria as mensagens que serão
enviadas às máquinas virtuais. Essas mensagens são criadas a partir do modelo de informação
base utilizado nas máquinas virtuais e seguem o padrão do protocolo NETCONF. A Figura 34
demonstra um exemplo de uma mensagem enviada para uma máquina virtual, onde o conteúdo
da mensagem representa uma reconfiguração dos slots de entrada e saída do sinal, que são
utilizados como uma abstração da matriz de cross-conexões da camada elétrica de um otn-switch,
com taxa de transmissão fixa de 10 Gbps.
Figura 34 – Exemplo de uma mensagem enviada para reconfigurar uma matriz de
cross-conexão modelada em uma máquina virtual
Fonte: Elaborado pelo autor
57
5.1.4 Máquinas Virtuais
Como explicado anteriormente, devido a dificuldade em ter acesso a elementos ópti-
cos reais, máquinas virtuais foram utilizadas para substituir esses elementos na implementação
de uma prova de conceito. As máquinas foram criadas utilizando o software OpenStack, capaz
de gerenciar

Continue navegando