Arhitektura Interneta, FPGA i FPGArduino, Sigurnost u Internetu

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