• Nenhum resultado encontrado

Prosseguindo com a prática SDN, foram realizados vários testes de alguns componentes que vem por padrão no controlador POX. Os componentes podem se combinar para fazer o controlador da rede trabalhar de forma mais robusta e/ou dedicado a algum serviço específico. O Wireshark utilizado para interceptar os pacotes da rede e identificar mudanças no comportamento, não obteve o resultado esperado, porém, trouxe análises satisfatórias para as conclusões. A justificativa encontrada foi que a maioria destes componentes são para agregar algum serviço que a rede possa oferecer e não mudar drasticamente sua estrutura, como, por exemplo, o funcionamento de um hub para um switch. Entende-se componente e modulo como a mesma coisa. Este último experimento foi realizado em cima de uma topologia de 64 hosts, 9 switches, Um controlador e 72 links distribuída conforme a Figura 17. Para criar a topologia digita-se o comando abaixo no terminal conectado a

Mininet via SSH:

Para adicionar os componentes openflow.spanning_tree e samples.spanning_tree ao controlador, faz-se necessário que a linha de comando

seja executada:

./pox.py forwarding.l2_learning openflow.spanning_tree samples.spanning_tree

Estes componentes necessitam de um módulo de descoberta, por exemplo o

forwading.l2_learning usado no teste.

Este componente, openflow.spannning_tree tem duas opções que alteram o comportamento de inicialização:

--no-floods desativa inundações em todas as portas assim que um switch se conecta

em uma destas portas em loop.

descoberta completa fosse concluída (e, portanto, todas as ligações tenham tido a oportunidade de ser descobertas).

Assim, a mais segura (e provavelmente o mais sensível) invocação é “openflow.spanning_tree --no-flood –hold-down”.

A Figura 18 mostra o resultado da inserção destes componentes no controlador. Por padrão o componente openflow.of_01 e openflow.discovery são carregados automaticamente.

O openflow.of_01 comunica com switches openflow 1.0 e pode-se iniciá-lo

manualmente para permitir que troque suas opções, por exemplo, para definir qual interface ou porta ele está escutando.

Já o openflow.discovery envia mensagens LLDP especialmente construídas para fora dos switches openflow, permitindo que este avalie a topologia da rede. Este gera eventos (os quais pode-se capturar) quando os links levantam ou caem.

Na Figura 19 nota-se o componente openflow.of_01 conectando os switches ao controlador e em seguida o módulo openflow.discovery detectando os links entre os switches. Ao detectar as ligações entre os switches, o componente openflow.spanning_tree reconhece alguns loops lógicos e muda algumas portas para que não haja inundações e a topologia entre em loop. Este é o componente principal desta análise. Parecido com o STP, este módulo evita loops lógicos na rede que poderiam causar mal funcionamento e possivelmente a perda de conexão daquela parte da rede em loop.

Para finalizar e demonstrar como mesmo em ambiente virtualizado a rede possui plena eficiência, o host identificado como h1, foi escolhido para acessar a

Internet através do navegador Mozilla Firefox. Para acessar a Internet de dentro da Mininet é necessário que o switch principal da rede s1 libere a interface de rede do switch intermediário s2, e posteriormente que este switch 2 faça o mesmo com o host 1. O host 2 é necessário para rodar o servidor web para que possam ser feitas

requisições HTTP em outro host.

Após toda topologia estar em funcionamento, através do terminal da Mininet, deve-se iniciar os terminais X dos hosts h1 e h2, e dos switches s1 e s2 conforme linha de comando a seguir:

mininet> xterm s1 s2 h1 h2

Digita-se no terminal s1:

ovs-vsctl add-port s1 s2-eth1

Para liberar a interface de rede eth1 do switch 2.

Para ativar a interface eth1 do switch 2.

Digita-se no terminal h2:

python -m simpleHTTPServer 80 &

Para inicializar o servidor web para receber requisições http.

Digita-se no terminal do h1:

dhclient h1-eth0 apt-get update apt-get install firefox firefox &

Digita-se os comandos anteriores para ativar a interface de saída eth0, atualizar a base de pacotes do sistema operacional, instalar o pacote firefox e iniciar uma instância do firefox no X Window.

Com o navegador aberto e sendo utilizado, a Figura 20 mostra uma parte do tráfego interceptados pelo Wireshark:

A Figura 19 é uma parte do tráfego relacionada ao host 1, de IP 10.0.0.1, com a página da Internet “http://www.google.com” , IP 216.58.222.3. É possível ver a troca de pacotes entre o host e a página do Google na linha 2767 da coluna No., onde a máquina 10.0.0.1 envia um pacote of_packet_in para o endereço 216.58.22.3 utilizando protocolo Openflow 1.0 (OF 1.0, coluna Protocol). Também é possível ver outras trocas de pacotes e mensagens nas linhas 2780 e 2805.

com a página da Internet “http://www.stanford.org”, IP 52.32.123.204. É possível ver a troca de pacotes entre o host e a página da Universidade de Stanford na linha 2580 da coluna No., onde a máquina 10.0.0.1 envia um pacote of_packet_in para o endereço 52.32.123.204 (stanford.org) utilizando protocolo Openflow 1.0 (OF 1.0, coluna Protocol). Também é possível ver outras trocas de pacotes e mensagens nas linhas e 2583, 2603, 2607 e 2614.

Com estes últimos testes de análise de tráfego através da ferramenta

Wireshark, pode-se concluir que houve tráfego efetivo de um host da rede

virtualizada pela Mininet e a internet, representada pelas páginas “htttp://www.google.com” e “http://www.stanford.org”.

CONCLUSÃO

As Redes Definidas por Software estão avançando através de pesquisa e trabalho, entre empresas e universidades. A Arquitetura e o Protocolo Openflow trazem essa ideia inovadora para a prática, estabelecendo mecanismos e ferramentas para uma implementação sólida e com real potencial.

Este trabalho apresentou as Redes Definidas por Software e os seus avanços em relação a rede tradicional. Através da Mininet pôde-se implementar uma topologia de rede virtualizada com tráfego real e em seguida o carregamento do componente forwarding.l2_learning no controlador da rede. Foi também em conjunto com a ferramenta Wireshark que pôde-se constatar um tráfego em produção e a mudança do comportamento da rede com o carregamento deste novo componente.

A ideia de retirar a parte programática das redes trouxe avanço da infraestrutura da Internet e uma independência para o gerenciamento da rede.

Ferramentas como NOX, POX, Virtual Machine (VM) Mininet, VirtualBox e outros facilitam as pesquisas daqueles que não tem a disponibilidade de um switch

Openflow físico.

As Redes Definidas por Software são uma grande oportunidade para aprimorar o funcionamento da internet em aspectos como qualidade de serviço, segurança da informação, escalabilidade e resiliência.

Conclui-se assim que para tratar os novos desafios que a Internet passará, a inovação da sua infraestrutura deverá ser repensada, uma grande mudança já começou, foram as Redes Definidas por Software.

REFERÊNCIAS

ALENCAR, Felipe. Mininet: Uma rede virtual instantânea no seu PC, 2013. Disponível em:

<http://www.felipealencar.net/2013/05/mininet-uma-rede-virtual-instantanea-no.html>. Acesso em: 15 Jul. 2015.

BEACON, 2011. Disponível em: <https://openflow.stanford.edu/display/Beacon/Home>. Acesso em: 29 Set. 2014.

BRITO, Samuel Henrique Bucke. Paradigma SDN de Redes Programáveis. LabCisco, 2013. Disponível em:

<http://labcisco.blogspot.com.br/2013/07/paradigma-sdn-de-redes-programaveis.html>. Acesso em: 20 Mar. 2015.

CISCO. Open Network Environment: Bring the Network Closer to Applications, 2014. Disponível em:

<http://www.cisco.com/c/en/us/products/collateral/switches/nexus-1000v-switch-vmware-vsphere/white_paper_c11-728045.html>. Acesso em: 07 Out. 2015.

COHESIVEFT. White Paper: Openflow is Software Defined Networking: Software Defined Networking is Not Only Openflow. 24 Set. 2012.

COUTO, Rodrigo de Souza. Openflow. UFRJ, 2010. Dinsponível em:

<http://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2010_2/rodrigo/nox.html>. Acesso em: 22 Set. 2015.

DUQUE, Diego Henrique; COUTO, Edimilson Joaquim; PINTO, Marcelo Henrique et al. "Redes Definidas por Software", 2012. Disponível em <http://br.monografias.com/trabalhos3/redes-definidas-software/redes-definidas-software2.shtml>. Acesso em: 20 Dez. 2016.

FEAMSTER et al. Nick Feamster, Jennifer Rexford e Ellen Zegura. The road to sdn: An intellectual history of programmable networks, 2014.

FLOODLIGHT, Project. Floodlight is an Open SDN Controller, 2016. Disponível em: <http://www.projectfloodlight.org/floodlight/>. Acesso em: 12 Fev. 2016.

FRIEDERICKA, Anna. “Departamento de Ciência da Computação Universidade Federal da Bahia;” Curso de Inclusão Digital, 2005. Disponível em:

<http://homes.dcc.ufba.br/~frieda/inclusaodigital/internet.htm>. Acesso em: 03 Mar. 2015.

GREENE, Kate. TR10: Software Defined Networking. MIT Technology Review, 2009. Disponível em: <http://www2.technologyreview.com/article/412194/tr10-software-defined-networking/> Acesso em: 02 Dez. 2014.

HELLER, Brandon. Openflow Switch Specification. Version 1.0.0, Open Networking Foundation, 31 Dez. 2009.

Hewlett-Packard. SDN: Programmable network aligned to business applications delivers agility, 2013. Disponível em: <http://h17007.www1.hpe.com/docs/networking/solutions/sdn/4AA4-8807ENW.pdf>. Acesso em: 07 Out. 2015

Hewlett-Packard. Realizing the power of SDN with HT Virtual Application Networks, 2012. Disponível em: <h17007.www1.hpe.com/docs/interopny/4AA4-3871ENW.pdf>. Acesso em: 03 Jul. 2016.

IZARD, Ryan. Floodlight Documentation, 2016. Disponível em:

<https://floodlight.atlassian.net/wiki/display/floodlightcontroller/>. Acesso em: 01 Abr. 2016. JAIN, Raj; PAUL, Subharthi. “Network Virtualization and Software Defined Networking for Cloud Computing:” A Survey, 2013.

JSON, 2016. Disponível em: <http://www.json.org/>. Acesso em: 22 Mai. 2016.

KLEIS, Elton Gastardelli. Redes Definidas por SW I: Aplicação para Diferenciação de Caminhos, 2015. Disponível em: <http://www.teleco.com.br/tutoriais/tutorialsw1/default.asp>. Acesso em: 16 Out. 2015.

LeClerc, Marc. The basics of SDN and the Openflow Network Architecture. Noviflow, 2013. Disponível em: <http://noviflow.com/the-basics-of-sdn-and-the-openflow-network-architecture/>. Acesso em: 20 Ago. 2015.

LINKLETTER, Brian. Using the POX SDN controller, 2015. Disponível em:

<http://www.brianlinkletter.com/using-the-pox-sdn-controller/>. Acesso em: 06 Jun. 2016. McCauley, Murphy. POX Wiki, 2014. Disponível em:

<https://openflow.stanford.edu/display/ONL/POX+Wiki>. Acesso em: 13 Mar. 2016.

MCKEOWN, Nick; ANDERSON, Tom; BALAKRISHNAN, Hari; et al. Openflow: Enabling Innovation in Campus Networks. ACM SIGCOMM Computer Communication Review, Volume 38, Issue 2, p. 69-74, 2008.

Mininet Team. An Instant Virtual Network on your Laptop (or other PC), 2016. Disponível em: <http://mininet.org/>. Acesso em: 25 Mar. 2016.

LANTZ, Bob. "Mininet Core Team". Emulator for rapid prototyping of Software Defined Networks, 2016. Disponível em: <https://github.com/mininet/mininet>. Acesso em: 10 Jan. 2017.

NetFPGA, 2011. Disponível em: <http://archive.openflow.org/wk/index.php/NetFPGA/>. Acesso em: 21 Set. 2015.

NOX. Disponível em: <https://sdn-wiki.fokus.fraunhofer.de/doku.php?id=nox>. Acesso em: 28 Set. 2014.

NUNES, Bruno A.; MENDONÇA, Marc; NGUYEN, Xuan-Nam et al. A survey of software-defined networking: Past, present and future of programmable networks, 2014.

OPEN NETWORK FOUNDATION: Our Mission. 2017. Disponível em: <https://www.opennetworking.org/mission/>. Acesso em: 02 Jul. 2017.

PICHINI, Paulo. SDN revoluciona mundo das redes. Baguete, 2013. Disponível em:

<http://www.baguete.com.br/artigos/1237/paulo-pichini/22/05/2013/sdn-software-defined-network-revoluciona-mundo-das-redes>. Acesso em: 01 Jul. 2015.

POX. Disponível em: <https://openflow.stanford.edu/display/ONL/POX+Wiki>. Acesso em: 22 Set. 2014.

POX Controller. Disponível em: <https://github.com/noxrepo/pox>. Acesso em: 20 Set. 2017. RKUO. ONS Tutorial - SDN Essential, 2015. Disponível em:

<https://github.com/rkuo/NetworkOS/blob/master/ONS%20Tutorial-SDN%20Essential.md>. Acesso em: 24 Fev. 2017.

ROJAS, Marco Antonio Torrez. “LARC”, Campus Party BR 6, 2013.

ROTHENBERG, Christian Esteve; NASCIMENTO, Marcelo Ribeiro; SALVADOR, Marcos Rogério et al. Openflow e redes definidas por software. CpqD, 2010. Disponível em:

<http://www.cpqd.com.br/cadernosdetecnologia/Vol7_N1_jul2010_jun2011/pdf/artigo6.pdf>. Acesso em: 22 Nov. 2014.

RTI: Redes, Telecomunicações e Instalações; Edição 173, Aranda Editora, p. 104-107, São Paulo, 2014.

<http://www.networkcomputing.com/networking/inside-googles-software-defined-network/a/d-id/1234201?>. Acesso em: 02 Jul. 2015.

SDXCentral. What is a Floodlight Controller?. 2015. Dinsponível em:

<https://www.sdxcentral.com/sdn/definitions/sdn-controllers/open-source-sdn-controllers/what-is-floodlight-controller/>. Acesso em: 10 Fev. 2016.

SDXCentral. What is OpenFlow? Definition and how it relates to SDN. 2014. Disponível em: <https://www.sdxcentral.com/sdn/definitions/what-is-openflow/>. Acesso em Mar. 2017.

Teletex. Redes Definidas por Software: A tecnologia que chegou para ficar, 2014. Disponível em: <http://blog.teletex.com.br/post/97578909487/redes-definidas-por-software-a-tecnologia-que/> Acesso em: 21 Jun 2016.

VANIAN, Jonathan. Facebook shows the promise of SDN with new networking tech. Gigaom, 2014. Disponível em: <https://gigaom.com/2014/11/14/facebook-shows-the-promise-of-sdn-with-new-networking-tech/>. Acesso em: 02 Mar. 2015.

Documentos relacionados