Mentor: izv. prof. dr. sc. Miljenko Mikuc
Suradnici: dr.sc. Marko Zec i Denis Salopek, mag. ing.
Iza "generičkog" naziva "Arhitektura Interneta" krije se nekoliko područja koja predstavljaju znanstveno-istraživačke interese mentora i asistenata okupljenih u NXlab, a koji se odnose na komunikacijske protokole, infrastrukturne protokole u Internetu, obradu mrežnog prometa u sofveru i hardveru, programirljive logičke sklopove FPGA te probleme sigurnosti u Internetu.
IMUNES – Integrated Multiprotocol Network Emulator / Simulator
IMUNES omogućava emulaciju/simulaciju stvarnih brzih mreža temeljenih na protokolu IP, sa stotinama ili tisućama virtualnih čvorova na jednom fizičkom računalu. U svakom virtualnom čvoru izvode se nemodificirane UNIX aplikacije (FreeBSD / Linux). IMUNES se temelji na korištenju tehnologije virtualizacije mrežnog složaja izvedene u jezgri operacijskog sustava FreeBSD (razvijeno u NXlab) ili na korištenju Dockera i OpenvSwitcha na operacijskom sustavu Linux. Sustav omogućava jednostavno, lagano i brzo kreiranje eksperimenata te njihovo prenošenje i pokretanje na drugom računalu. Osim za edukacijske svrhe, IMUNES se intenzivno koristi kao zamjena za skupe testne mreže.
Svaki virtualni čvor posjeduje vlastiti adresni prostor (IPv4 i IPv6), sockete, firewall. Na linkovima koji povezuju čvorove moguće je definirati propusnost (bandwith), kašnjenje, gubitak paketa. Sustav efikasno koristi hardverske resurse (RAM, CPU, cache), a prosljeđivanje paketa između čvorova obavlja se bez kopiranja. Obrada IP prometa obavlja se standardnim BSD mrežnim funkcijama (bez pojednostavljene apstrakcije). Emulirana mreža može se povezati sa stvarnom mrežom. U potpunosti je očuvano aplikacijsko programsko sučelje, binarni programi se izvode bez ikakvih izmjena na FreeBSD-u ili Linuxu. Instanciranje kompleksnih topologija obavlja se u nekoliko sekundi. Pored grafičkog sučelja koje omogućava jednostavno kreiranje topologija, pokretanje, zaustavljanje i upravljanje eksperimentima u potpunosti se može izvoditi i s naredbenog retka.
Sklopovi Field Programmable Gate Array (FPGA), poput svojevrsnih digitalnih LEGO kocki, omogućuju konstruiranje proizvoljnih digitalnih modula i sustava širokog spektra složenosti, od elementarnih kombinacijskih mreža prikladnih za upoznavanje s temeljima Booleove logike do složenih system-on-a-chip mikroprocesorskih sustava sa specijaliziranim kriptografskim ili DSP modulima. Zbog visokih cijena primjena FPGA sklopova nekad je bila ograničena uglavnom na zdravstvo (CT, MR, ultrazvuk), telekomunikacije (usmjernici u jezgri Interneta) i vojne sustave (radar, sonar, raketno oružje).
Platforma FPGArduino (razvijena u NXlab-u) pretvara sklopove FPGA u mikroprocesorske sustave programirljive kroz intuitivno Arduino razvojno sučelje, čime se zaobilazi kompleksnost tradicionalnih FPGA razvojnih alata. Iako je primarno razvijena za omogućavanje korištenja razvojne okoline Arduino na našoj pločici FER-ULX2S (razvijenoj u NXlab-u), FPGArduino radi i može se koristiti na gotovo svim popularnim FPGA razvojnim pločicama.
Primjeri tema studentskih završnih radova iz prošlih godina:
IMUNES:
- Mjerenje performansi protokola IPsec na sustavu IMUNES
- Implementacija virtualnog čvora s funkcijama vatrozida u sustavu IMUNES
- Praćenje stanja poveznica i čvorova u sustavu IMUNES
FPGA:
- Povezivanje analogno-digitalnog pretvornika putem sučelja I2C s mikroprocesorskim sustavom sintetiziranim na FPGA sklopu
- Povezivanje LCD zaslona putem sučelja SPI s mikroprocesorskim sustavom sintetiziranim na FPGA sklopu
- Sklop za generiranje ispitnog VGA signala
Mreža:
- Primjena sučelja NetMAP u programskim alatima za ispitivanje propusnosti mrežnih usmjeritelja
- Programski alat za ispitivanje propusnosti IP mreža
- Ispitivanje performansi usmjeravanja IPv4 prometa na operacijskim sustavima opće namjene
Sigurnost:
- Kriptografske funkcije za Arduino platformu