Upload
niko-konjuh
View
85
Download
1
Embed Size (px)
DESCRIPTION
mrežice
Citation preview
1
Tehniki fakultet u Rijeci
Preddiplomski sveuilini studij raunarstva
Izborni projekt Programsko inenjerstvo
2013./2014.
Softverski definirane mree
Student Niko Konjuh
Profesor mentor doc. dr. sc. Tihana Galinac Grbac
Rijeka, 19.2.2014.
2
Sadraj
1. Uvod - to su softverski definirane mree? ................................................................................. 3
2. Arhitektura softverski definiranih mrea..................................................................................... 4
3. Openflow kontroler....................................................................................................................... 7
4. Eksperiment i testiranje Openflow-a............................................................................................. 8
4.1 Postavljanje virtualne maine................................................................................................... 8
4.2/4.3 Pretvoriti vorite u Ethernet preklop/ Modificirati preklop da pusha tok podataka...... 9
4.4 Dodati podrku za vie prekidaa............................................................................................. 10
4.5/4.6 Pokrenuti prekida na pravoj mrei/Modifcirati prekida da obrauje IP proslijeivanje... 10
4.7 Postavljanje vatrozida na prekida............................................................................................. 11
5. Openstack networking Neutron ill Quantum................................................................................ 12
Zakljuak.......................................................................................................................................
Literatura.......................................................................................................................................
3
Slika 1.1
1. Uvod - to su softverski definirane mree?
Razvijene ne tako davne 2008. godine na amerikim univerzitetima Berkeley i Stanford, softverski
definirane mree danas su nezamjenjiva mrena arhitektura u mnogim softverskim poduzeima.
Najjednostavnije, softverski definirane mree moemo opisati kao pristup u umreavanju raunala
koji omoguuje mrenim administratorima da upravljaju mrenim uslugama kroz apstrakciju niih
nivoa funkcionalnosti.
Sama potreba za softverski definiranim mreama dolazi zbog nepodobnosti tradicionalnih mrenih
arhitektura da zadovolje zahtjeve dananjih poduzea, nositelja mrea te krajnjih korisnika.
Zahvaljujui irokom i upornom industrijskom nastojanju predvoenom Otvorenom mrenom
zakladom (Open Networking Foundation - ONF), softverski definirane mree (Software Defined
Networking ili krae SDN) su postale promjenjiva mrena arhitektura.
SDN radi na principu odvajanja sustava koji donosi odluke o tome gdje e promet podataka biti poslan
(the control plane - upravljaka povrina) iz podlonih sustava koji proslijeuju promet do odabrane
destinacije (data plane - podatkovna povrina) to na kraju pojednostavljuje umreavanje.
SDN je korak unaprijed u evoluciji programabilnog i aktivnog umreavanja. Omoguuje mrenim
administratorima da imaju glavnu kontrolu mrenog prometa preko kontrolera bez potrebe za fizikom
adresom na mrenim sklopkama.
4
2. Arhitektura softverski definiranih mrea
Tri kljuna elementa softverski definiranih mrea:
Sposobnost upravljanja prosljeivanjem paketa i politika primjene istih;
Sposobnost obavljanja gore navedenog u dinaminom okruenju;
Mogunost programiranja mrea
SDN arhitektura mora biti u mogunosti da manipulira tokom paketa i sklopovlja kroz mreu u
velikim razmjerima u programiranom modu.
Hardverski cijevovod SDN-a obino e biti dizajniran kao konvergirana (sposobana prenositi sve vrste
podataka ukljuujui eljene oblike skladitenja prometa) isprepletenost velikih cijevi niih vremena
ekanja (lower latency) uobiajenog naziva fabric (tkanina). Sama SDN arhitektura e zauzvrat
pruiti irokomreni pogled i mogunost centralnog upravljanja mrea i mrenih tokova.
Ova arhitektura je postignuta odvajanjem upravljake povrine od podatkovne povrine ureaja i prua
suelje koje se moe programirati za tu odvojenu upravljaku povrinu. Podatkovna povrina ureaja
prima pravila proslijeivanja od odvojene upravljake povrine i primjenjuje ta pravila u hardveru
ASIC-sa. Ti ASIC-i mogu biti ASIC-i za razmjenu dobara ili prilagoeni silikonski ovisno o
funkcionalnosti i preformansama potrebnih aspekata.
Sljedei dijagram prikazuje taj odnos:
Slika 2.1 U ovom modelu, SDN kontroler daje upravljaku
povrinu, a podatkovna povrina se sastoji od hardverski
sklopnih ureaja. Ti ureaji mogu biti potpuno novi
hardverski ureaji ili postojei ureaji sa specijaliziranim
ugraenim softverom (firmware-om)
5
Slika 2.2
Kako je tema softverski definiranih mrea jako popularna tema u mrenoj industriji, strunjaci su jo
uvijek podvojeni oko najboljeg naina implementacije te naina na koji e utjecati na ininjere i
administratore. No jedna je injenica neosporna: SDN je donio novu panju i inovaciju u umreavanju.
Kako bi dobili uvid u razliite pristupe SDN-a sljedee su nabrojene i opisane neke od
najveih/najvanijih SDN tehnologija od razliitih prodavaa.
I Big Switch Networks Open SDN
Big Switch Networks' Open SDN platforma nudi Openflow fabric prekida koji se
moe izvoditi na golim metalnim sklopkama i hipervizor virtualnim sklopkama, te
omoguuje irok izbor SDN mrenih aplikacija ukljuujui podatkovni centar za
mrenu virtualizaciju i nadzor mree.
II Cisco eXtensible Network Controller (XNC)
Cisco XNC je Java OSGi bazirana aplikacija izgraena za potporu nadogradivosti,
proirivosti i modularnosti potrebnih za brzi razvoj poduzetnih IT arhitektura.
III IBM SDN VE
6
IBM Software Defined Network for Virtual Environments stvara virtualnu mreu za
virtualne ureaje. Ova virtualna mrea je odvojena i izolirana od fizike mree slino
kao to je virtualni ureaj odvojen i izoliran od hardvera domaina posluitelja (host
server hardware).
IV Midokura MidoNet
Midokura's MidoNet je rasporeen decentraliziran mreno-virtualizacijski projekt koji
je osmiljen u svrhu Infrastructure-as-a-Service (IaaS) oblaka (cloud) kao na primjer
OpenStack i CloudStack. Midonet doputa krajnjim korisnicima da izgrauju
proizvoljne, kompleksne mrene topologije u svojim cloud okrujima, ne trebajui
nita vie od IP povezivosti od fizike mree.
V Juniper Networks Contrail
Juniper Networks Contrail je virtualni overlay sustav za mrene virtualizacije i
inteligencije. Kroz RESTful API-je Contrail radi sa CloudStack i OpenStack
arhitekturama kako bi zajedno osigurali zalihe mrenih,raunalnih i memorijskih
resursa. Contrail-ov SDN kontroler virtualizira mreu kako bi omoguila
automatizaciju i izvoenje hibridnih cloud okruenja, elastinih usluga ulanavanja
mrea i sigurnosnih usluga te BDI (Big Data for Infrastructure) analitikih maina
koje pruaju real-time pogled u cijelu mreu.
Slika 2.3
Slika 2.4
7
3. OpenFlow
Mnogi strunjaci smatraju da je Openflow kontroler kao protokol krucijalan za rast i irenje ukupnog
SDN-a.
OpenFlow je otvoreni standard koji omoguuje istraivaima da pokreu eksperimentalne protokole
na mreama koje se svakodnevno koriste. OpenFlow je dodan kao svojstvo komercijalnim Ethernet
preklopnicima, usmjerivaima i beinim pristupnim tokama i prua istraivaima mogunost
izvoenja eksperimenata, bez potrebe da prodavai otkrivaju unutarnje procese svojih mrenih
ureaja. Trenutano, OpenFlow se provodi od strane velikih proizvoaa.
U klasinim usmjerivaima (routerima) brzo proslijeivanje paketa (put podataka) i odluke
usmjerivaa visokog stupnja pojavljaju se na istom ureaju. Openflow razdvaja te dvije funkcije. Put
podataka je jo uvijek na prekidau, dok su odluke usmjerivaa prebaene na odvojeni kontroler,
obino server. Openflow i Kontroler komuniciraju preko Openflow protokola, koji definira poruke
tipa: prihvaeni podaci (packet-received), poslani paketi (sent-packet-out), mijenjaj proslijeivanja
(modify-forwarding-table) i get statistike.
Svrha samog Openflow-a jest jednostavno implementiranje inovativnog usmjeravanja i prebacivanja
protokola u mrei. Koristi se kod aplikacija kao to su virtualne maine, mreama visoke sigurnosti te
mobilnim IP mreama nove (sljedee generacije).
Openflow sadri mnoge prednosti u odnosu na ostale SDN standrade:
Centralizirana kontrola okruenja sa vie dobavljaa
Smanjena sloenost kroz automatizaciju
Via stopa inovacije
Poveana mrena sigurnost i pouzdanost
Preciznije kontrole mree
Bolje korisniko iskustvo
Naalost, jako je mala zainteresiranost velikih korporacija i sveuilita oko implemetnacije Openflow-
a u studentski i/ili poslovni program uenja. Glavni mreni arhitekt Sveuilita u Indiani (Indiana
University) i izvrni upravitelj InCNTRE-a Matt Davy je rekao: Trenutno je ogroman interes oko
Openflow-a, a jedino Sveuilite u Indiani (IU) ui svoje studente toj tehnologiji. Kao svjetski lider u
unapreenju SDN-a i Openflow-a, Sveuilite u Indiani je dobro opremljeno za pruanje obuke i
edukacijskih programa za ostale programere koji se ele u tome okuati.
8
Slika 4.1 Shema eksperimentalnog rada sa
Openflow-om
4. Eksperiment i testiranje Openflow-a
4.1 Postavljanje virtualne maine
Instalacija 3 potrebna besplatna software-a za pokretanje virtualne maine i u konanici Openflow-a:
VirtualBox virtualizacijski software
Putty ssh konzola/terminal
Xming X server
Te image za virtualnu mainu sa Openflow slubene stranice.
Postavljanje
virtualne maine
Pretvoriti vorite
u Ethernet preklop
Modificirati preklop
da pusha tok
podataka
Dodati podrku
za vie prekidaa
Modifcirati prekida
da obrauje IP
proslijeivanje
Pokrenuti prekida
na pravoj mrei
Postavljanje
vatrozida na
prekida
9
Nakon instalacije potrebnih software-a pokrenuo sam VirtualBox i prispojio odgovarajui image na
nj. Nakon toga sam provjerio rad mrea 'host' i NAT na virtualnoj maini Ubuntu. Host mrea eth0 je
pokazivala moju lokalnu IP adresu 192.168.XX.XXX dok je NAT mrea eth1 pokazivala adresu
10.0.2.15, to mi je bio dovoljan dokaz da su mree dobro prispojene. Nakon toga sam pokrenuo
Xming i putty. U putty sam unio eth0 adresu i omoguio sam X11 proslijeivanje za SSH.
Sada sam kreirao mreu sa tri virtualna hosta te jedan OpenFlow software sa 3 porta. Povezao sam
svakog vritualnog hosta sa virtualnim ethernet kablom i namjestio im MAC adrese na jednaku
vrijednost njihove IP adrese. Na kraju, konfigurirao sam OpenFlow da se spaja na udaljeni kontroler.
Poslije dosta vremena utroenog na metode pokuaja i pogreke, uspio sam iztestirati i promjeniti sve
krive podatke u virtualnoj mrei pomou komanda ping i dpctl.
Pomou pre-built software-a Wireshark unutar VM iztestirao sam rad kontrolera i to je izgledalo
ovako:
4.2/4.3 Pretvoriti vorite u Ethernet preklop / Modificirati preklop da pusha tok podataka
Koristio sam POX kontroler zbog osobne bliskosti sa Python programskim jezikom.
Nakon instalacije POX-a provjerio sam ponaanje vorita sa komandom tcpdump
Slika 4.2 Prikaz podataka unutar
Wireshark-a koristei filter of
Slika 4.3 Prikaz podataka unutar
Wireshark-a koristei filter of && (of.type
!= 3) && (of.type !=2) (kako bi Wireshark
ignorirao echo-zahtjeve i odgovor-
poruke)
10
Poslije toga, Kreirao sam referentnu toku vorita kontrolera sa komandom iperf.
Sa POX-om sam poslao par OpenFlow poruka preko python programskog jezika kako bih iztestirao
njegov rad (ofp_action_output class, ofp_match class, ofp_packet_out OpenFlow message).
Zakljuno, jo sam jednom pokrenuo komandu tcpdump na svakom virtualnom hostu kako bi
verficirao sve izmjene i dodavanja.
Kada preklopnik vie nije imao ponaanje vorita, trudio sam se sputati tok sa poznatim izvornim i
destinacijskim portovima.
4.4 Dodati podrku za vie prekidaa
Poto sam radio sa POX kontrolerom, nije bilo potrebe raditi dodatne testove za podrku vie
prekidaa jer kod kreira jednu instancu po prekidau a svaka instanca odrava svoju MAC tablu.
4.5/4.6 Pokrenuti prekida na pravoj mrei / Modifcirati prekida da obrauje IP proslijeivanje
Kako bi uope mogu pokrenuti prekida trebala mi je mrea koja se sastojala od 3 OpenFlow
prekidaa, posluitelja i wireless klijenta.
Cijela struktura:
1. 3 OpenFlow pristupne toke
2. FlowVisor (za virtualizirati mreu)
3. 1 kontroler
4. 1 Webserver
5. 1 beini ureaj (iPhone)
11
Da bi bio u mogunosti komunicirati sa FlowVisorom, koristio sam proslijeivanje portova od strane
putty-a.
Nakon konfiguracije lokalne maine, beinog ureaja i FlowVisor-a (te puno pinganja i ifconfig-a)
pokrenuo sam kontroler iz njegovog lokalnog direktorija.
Na kraju sam konfigurirao Webserver kako bi vidio itav tok poznatih podataka od mene kao klijenta
do posluitelja.
4.7 Postavljanje vatrozida na prekida
Postavljanje vatrozida je bio najjednostavniji zadatak u ovom eksperimentu. Koristio sam komandu
iperf p 10.0.0.2 i to na klijentu i na posluitelju kako bi se blokirao bilokakav pristup podacima na
ovom specifinom portu.
12
5. Openstack networking Neutron ili Quantum
Neutron predstavlja OpenStack projekt koji osigurava networking as a service izmeu suelja
ureaja kojima upravljaju drugi OpenStack servisi (npr. nova).
Neutron daje cloud stanarima (cloud tenants) API (Application Proggraming Interface) za izgradnju
bogatih mrenih topologija i konfiguriranje sloenijih mrea unutar cloud-a (npr kreiranje multi
rangirane web tehnoloke topologije).
Takoer, omoguuje inovativne dodatke (otvorenog i zatvorenog koda) koji nas upoznaju sa sloenim
mrenim mogunostima (npr. L2-u-L3 tuneliranje radi izbjegavanja VLAN ogranienja, daje kraj-na-
kraj QoS garancije, koritene u protokolima za nadgledanje kao NetFlow) te doputa svakome da
izgradi svoje sloene mrene servise koji se spajaju u Openstack stanarske mree (npr. : LB-aaS,
VPN-aaS, firewall-aaS, IDS-aaS, data-center-interconnect-aaS).
13
6. Zakljuak
Trendovi poput korisnike mobilnosti, server virtualizacije, IT-as-a-Service i potrebe da se brzo
odgovori na promjenjive uvjete poslovanja daju znaajne zahtjeve i teret mreama - zahtjeve koje
dananje konvencionalne mrene arhitekture nemogu podnijeti. Softverski definirane mree daju novu,
dinaminu mrenu arhitekturu koja transformira tradicionalne mrene okosnice u bogate service-
delivery platforme.
Moramo biti svjesni kako budunost umreavanja e se sve vie i vie oslanjati na software, koji e
ubrzati tempo novih inovacija za mree kao to je ubrzao tempo u raunarstvu i skladitenju domena.
SDN obeava promjeniti dananje statine mree u fleksibilne, programabilne platforme sa
inteligencijom da dinamino alocira resurse, veliinu da podrava ogromna sredita podataka i
virtualizaciju potrebnu da podrava dinamina, visokoautomatizrana i sigurna cloud okruenja.
Sa mnogim prednostima i nevjerojatnim industrijskim momentom, SDN je na putu da postane nova
norma za cijelokupnim mreni sustav.
14
7. Literatura
https://wiki.engr.illinois.edu/download/attachments/197298167/CloudFlow-
3rd.pdf?version=6&modificationDate=1336587605000
http://www.design-ers.net/eh-rjecnik.asp
https://wiki.openstack.org/wiki/Quantum
https://www.opennetworking.org/images/stories/downloads/sdn-resources/white-papers/wp-sdn-
newnorm.pdf
http://archive.openflow.org/wp/learnmore/
http://en.wikipedia.org/wiki/Software-defined_networking