You are on page 1of 8

OPENFLOW

1)Introduo
A tecnologia OpenFlow, desenvolvida pela euipe da !niversidade de "tan#ord, te$ co$o principal
o%&etivo esta%elecer u$a rede de co$putadores progra$'vel, #uncional, ue possi%ilite aos
pesuisadores utili(are$ de in#raestrutura e)istente para #a(er o deploy de seus e)peri$entos
%aseados e$ a$%iente reais*
Este docu$ento discorrer' so%re os co$ponentes principais e)istentes e$ u$a rede OpenFlow e o
passo+a+passo para esta%elecer u$ a$%iente virtual de testes*
,)-aracter.sticas OpenFlow
/endo co$o o%&etivo desenvolver u$a rede e)peri$ental a partir da in#raestrutura e)istente e
propriet'ria, tornou+se necess'rio ela%orar u$ con&unto de co$ponentes ue ao $es$o te$po
per$itisse$ o controle re$oto dos euipa$entos de rede, se$ e)istir pre&u.(o para o $undo
corporativo, sendo necess'rio disponi%ili(ar segredos industriais, por e)e$plo*
Estes co$ponentes so0
+-ontrolador0 Parte integrante ue se co$unica co$ os euipa$entos inter$edi'rios atrav1s
do protocolo OpenFlow e reali(a opera2es de con#igurao, gerencia$ento so%re as ta%elas de
#lu)o dos $es$os*
+Protocolo OpenFlow0 Inter#ace utili(ada para esta%elecer a co$unicao entre o
controlador e o euipa$ento OpenFlow* 3esta #or$a, per$itisse utili(ar diversos euipa$entos
independente do propriet'rio, u$a ve( i$ple$entado os pr1+reuisitos para reali(ar a co$unicao*
+Euipa$ento OpenFlow0 Os euipa$entos OpenFlow i$ple$enta$ $4dulos ue
per$ite$ a co$unicao co$ o controlador de #or$a independente e segura, separada do #lu)o real
da rede*
5)Pr1+reuisitos
Para dar prossegui$ento 6 docu$entao, 1 necess'rio a utili(ao de u$ co$putador co$ no
$.ni$o 1 7% de $e$4ria 8A9 e : 7% de espao livre no disco r.gido*
O "iste$a Operacional utili(ado co$o re#er;ncia ser' o Windows <* Atrav1s do lin= >
?ttp0@@www*open#low*org@w=@inde)*p?p@OpenFlowA/utorialBInstallA8euiredA"o#tware ) 1 poss.vel
encontrar o detal?a$ento para seguir o passo+a+passo a partir de outras plata#or$as*
Os so#twares utili(ados sero0
+CirtualDo)0 Per$ite a virtuali(ao de u$a $'uina rodando OpenFlow*
+E$ing0 Progra$a E+"erver, ue per$ite a visuali(ao de progra$as co$ inter#ace gr'#ica*
+PuttF0 8eali(a cone)2es ""G co$ a $'uina virtual e per$ite a visuali(ao das $'uinas
ao utili(ar o E$ing*
A i$age$ utili(ada para virtuali(ar a $'uina no CirtualDo) pode ser encontrada no lin= 0
?ttp0@@open#lowswitc?*org@downloads@cs,HH+C9+I1I<*(ip
H)-on#igurao do a$%iente
!$a ve( instalado correta$ente todos os progra$as necess'rios, o pr4)i$o passo ser' a
desco$pactao da i$age$ da $'uina virtual*
No Windows <, ao clicar so%re o aruivo co$ o %oto direito do $ouse, pode+se escol?er a%rir co$
o Windows E)plorer ou desco$pactador de sua pre#er;ncia*
Para a con#igurao da $'uina virtual no CirtualDo), #a(+se necess'rio seguir os seguintes passos0
1* "elecione New*
,* Pressione Continue.
5* No$eie sua $'uina virtual, selecione o "iste$a Operacional Linu) e verso
!%untu* -liue e$ Continue*
H* A&uste para :1, 9% de $e$4ria 8A9*
:* Neste passo, o CirtualDo) ir' perguntar se voc; dese&a criar u$ novo disco virtual ou
utili(ar u$ e)iste* "elecione "Use existing hard disk" *
J* -liue no %oto para selecionar o 3isco 8.gido* Ir' a%rir a tela Virtual Media
Manager*
<* -liue no %oto Add e locali(e o disco virtual no diret4rio e$ ue #oi desco$pactado
a i$age$ da $'uina virtual* -liue e$ Open e por Klti$o e$ "elect* Avance para a
pr4)i$a etapa selecionando Continue*
L* A instalao de sua $'uina virtual est' co$pleta* -liue e$ Done*
M* Para #inali(ar a con#igurao da sua $'uina virtual, selecione+a e cliue e$
Settings* Ir' a%rir u$a &anela de gerencia$ento da sua C9* "elecione a categoria
Network, seguido da a%a Adapter 2*
1I* -liue e$ na!le Network Adapter, na opo "Atta#hed to$ selecione "%ost&Only
Adapter$*
11* No esuea de no$ear o seu NI- co$o NVirtual'ox %ost&Only thernet AdapterO*
A partir daui voc; est' apto a rodar a sua $'uina virtual* O usu'rio e sen?a utili(ados so o
$es$o0 open#low >$inKsculo)*
Para acessar a $'uina virtual con#igurada a partir da $'uina GO"/, #a(+se necess'rio reali(ar
algu$as con#igura2es no progra$a PuttF*
A) A%ra o PuttF*
D) Na pri$eira p'gina especi#iue o Endereo IP da $'uina virtual* P poss.vel
desco%rir o endereo IP da placa de rede Gost+OnlF, reali(ando o seguinte co$ando
no pro$pt da $es$a0
Q i#con#ig
Esta placa estar' no$eada co$o et?1*

-) "iga para a categoria -onnection R ""G R E11 e cliue na opo na!le ())
*orwarding*-liue e$ Open*
3) A%rir' o ter$inal ""G co$ a $'uina virtual*
Pronto* Coc; est' apto a rodar a sua $'uina virtual OpenFlow e reali(ar as cone)2es ""G co$ a
$es$a a partir do seu Gost*
Ateno0
Os co$andos sero de$onstrados &unta$ente co$ o #o++and pro+pt para identi#icar o a$%iente
utili(ado e$ cada $o$ento*
Q ls R indica ue o co$ando est' sendo utili(ado por u$ usu'rio nor$al no Linu)*
B ls R indica ue o co$ando est' sendo utili(ado por u$ usu'rio root no Linu)*
$ininetS R indica ue o co$ando est' sendo utili(ado no a$%iente de virtuali(ao de
redes $ininet*
/odos os a$%ientes sero so%re as cone)2es ""G*
:)9ininet
O 9ininet possi%ilita a criao de prot4tipos de redes virtuais escal'veis %aseados e$ so#tware
co$o OpenFlow*
Para u$ %reve entendi$ento das $ensagens de controle do OpenFlow, criare$os u$a topologia do
seguinte tipo0
E$ u$ ter$inal ""G, digite os seguintes co$andos0
$ sudo mn --topo single,3 --mac --switch ovsk --controller remote
Isto ir' instruir ao 9ininet >$n) a construir u$a topologia si$ples, co$posta de u$ Knico switc? e
5 >tr;s) ?osts* O switc? ser' do tipo kernel&!ased OpenFlow v"witc? e estar' ligado a u$
controlador re$oto*
O controlador poder' ser iniciado e$ u$ outro ter$inal ""G atrav1s do co$ando0
Qcontroller ptcp0
O%s0 E)peri$ente rodar o controlador ap4s rodar a topologia no 9ininet e iniciar a an'lise de
tr'#ego da porta de co$unicao do switc? co$ o controlador atrav1s do Wires?ar=, ue ser'
e)plicitada na pr4)i$a sesso, para ter a oportunidade de con#erir as $ensagens de esta%eleci$ento
de cone)o entre os dois*
J)Wires?ar=
O Wires?ar= 1 o sni##er utili(ado para analisar o tr'#ego de pacotes entre o "witc? e o controlador* A
porta JJ55 1 utili(ada, por de#ault, pelo controlador*
Para iniciar o Wires?ar=, deve+se e)ecutar o seguintes co$ando e$ u$ ter$inal ""G*
Qsudo wires?ar= T
O%s0 a) P necess'rio ter privil1gio para e)ecutar o Wires?ar=, portanto o uso do co$ando sudo*
%) O parU$etro T 1 utili(ado para rodar o sni,,er e$ !a#kground*
c) O E$ing deve estar rodando e$ sua $'uina ?ost*

Poder' aparecer u$a $ensage$ si$ilar a esta, logo a%ai)o, caso voc; tente a%rir o Wires?ar=
antes de rodar o E$ing e$ sua $'uina ?ost*
-wireshark./0)12. 3tk&4A5N6N3 77. #annot open display. lo#alhost.)).
!$a ve( a%erto o Wires?ar=, cliue na opo -apture R Inter#aces no Menu 'ar* -liue no "tart
associado 6 Inter#ace ue voc; dese&a analisar* Neste pri$eiro $o$ento analisare$os a inter#ace de
loop%ac=*
Para #iltrar pacotes OpenFlow, digite no %o) de #iltro0 o# *
A seguir, ta%ela de $ensagens trocadas pelo -ontrolador e "witc?0
0
9ensage$ /ipo 3escrio
Hello
-ontroller+
S"witc?
em seguida ao handshake TCP, o controlador
envia o seu nmero de verso
para o switch.
Hello
"witc?+
S-ontroller
o switch responde dizendo o seu nmero
de verso.
Features
Request
-ontroller+
S"witc?
o controlador pede para ver quais portas
esto disponveis.
Set Config
-ontroller+
S"witc?
neste caso, o controlador pede ao switch
para enviar fluos que epirarem.
Features
Reply
"witc?+
S-ontroller
o switch responde com uma lista de portas,
velocidades de portas, e ta!elas e
a"#es suportadas.
Port Status
"witc?+
S-ontroller
permite ao switch informar ao controlador
so!re mudan"as em velocidades
das portas e conectividade. $gnore
essa mensagem por agora, e um recurso
inst%vel.
Para identi#icar ual a orige$ ou destino das $ensagens, %asta analisar a porta utili(ada por cada
u$* Cisto ue a virtuali(ao roda so%re a inter#ace de loop!a#k, usa+se a porta para discernir cada
u$* O controlador utili(a a JJ55 e o swit#h u$a porta randV$ica e$ n.vel de usu'rio ualuer*
Este docu$ento 1 %aseado nos seguintes $ateriais0
?ttp0@@www*open#low*org@w=@inde)*p?p@OpenFlowA/utorial
Pd# do pro#essor -esar 9arcondes*

You might also like