IP-verkon suorituskyvyn mittaamisjärjestelmä
Niskanen, Ville (2020)
Niskanen, Ville
2020
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202005108138
https://urn.fi/URN:NBN:fi:amk-202005108138
Tiivistelmä
Opinnäytetyö tehtiin toimeksiantona Bittium Wireless Oy:lle, jonka tuotteisiin lukeutuvat taktisen tiedonsiirron tuotteet, kuten taktinen runkoverkko. Työn tavoitteena oli kehittää kyseisen verkon suorituskykyä mittaava järjestelmä. Suorituskykyä oli kyettävä mittaamaan sekä kertaluontoisilla mittauksilla että toistuvilla mittauksilla. Mittaamisjärjestelmä sulautuisi osaksi taktisen runkoverkon valmiita ohjelmistokomponentteja.
Toimeksiantajan vaatimusten mukaisten mittaustyyppien perusteella valittiin järjestelmän käyttämät mittaustyökalut. Mittaustyökaluja ohjataan mittausparametrien avulla, jotka ovat luonteeltaan joko välttämättömiä tai vapaaehtoisia. Mittaustyökalujen palauttamat tulokset palautetaan kertaluontoisessa mittauksessa suoraan käyttäjälle, toistuvan mittauksen tulokset tallennetaan puolestaan erilliseen tulostiedostoon, josta ne ovat luettavissa käyttäjärajapinnan kautta. Koko mittaamisjärjestelmän hallinta tapahtuu kyseisen rajapinnan kautta.
Mittaamisjärjestelmä on toteutettu Python-ohjelmointikielellä. Koska järjestelmän oli tuettava useita yhtäaikaisia mittauksia, on järjestelmän toteutuksessa hyödynnetty säikeistystä ja aliprosesseja. Järjestelmässä toimii socket-palvelin, joka kommunikoi käyttäjärajapinnan kanssa. Kertaluontoiset mittaukset käynnistetään socket-palvelimen kautta. Toistuvat mittaukset määritetään mittaamisjärjestelmän konfiguraatiotiedostoon taktisen runkoverkon erillisen konfiguraationhallinnan kautta. Järjestelmä vastaanottaa muun muassa mittausparametrit JSON-tiedostomuodossa, jonka sisältö varmennetaan konfiguraationhallinnan toimesta.
Opinnäytetyön tuloksena syntynyt mittaamisjärjestelmä vastasi suurimmilta osin toimeksiantajan vaatimuksia. Järjestelmä mahdollistaa suorituskykymittaukset kertaluontoisina ja toistuvina. Toistuvat mittaukset voi ajastaa ja niiden tuloksia voi lukea ja myös poistaa reaaliaikaisesti. The commissioner of this thesis, Bittium Wireless Ltd, provides products for tactical communication purposes. The aim of the thesis was to develop a performance measurement system for one of their products, Bittium Tactical Wireless IP Network (TAC WIN). The performance of the network should be able to be measured with one-time “ad hoc” measurements as well as recurring measurements. The measurement system would be integrated as part of the existing software components of TAC WIN system.
The measurement tools used by the measurement system were selected on the basis of the measurement types required by the commissioner. The tools are controlled with measurement parameters, which are either obligatory or optional. Results of the ad hoc measurement given by the tools are instantly returned back to the user. Recurring measurement results are saved in a separate result file, which can be read via user interface. Management of the whole measurement system is performed using the user interface.
The measurement system is written with Python programming language. Due to a required support for multiple simultaneous measurements, implementation of the system utilizes threading and sub-processing. The measurement system contains a socket server communicating with the user interface. Ad hoc measurements are launched via the socket server. Recurring measurements are written as part of the measurement system’s configuration file via separate TAC WIN configuration management. The JSON-formatted measurement parameters are validated by the configuration management.
The measurement system created as a result of the thesis met most of the requirements of the commissioner. The system enables both one-time and recurring performance measurements, which can be preset. The results of the recurring measurements are possible to be read and deleted in real time.
Toimeksiantajan vaatimusten mukaisten mittaustyyppien perusteella valittiin järjestelmän käyttämät mittaustyökalut. Mittaustyökaluja ohjataan mittausparametrien avulla, jotka ovat luonteeltaan joko välttämättömiä tai vapaaehtoisia. Mittaustyökalujen palauttamat tulokset palautetaan kertaluontoisessa mittauksessa suoraan käyttäjälle, toistuvan mittauksen tulokset tallennetaan puolestaan erilliseen tulostiedostoon, josta ne ovat luettavissa käyttäjärajapinnan kautta. Koko mittaamisjärjestelmän hallinta tapahtuu kyseisen rajapinnan kautta.
Mittaamisjärjestelmä on toteutettu Python-ohjelmointikielellä. Koska järjestelmän oli tuettava useita yhtäaikaisia mittauksia, on järjestelmän toteutuksessa hyödynnetty säikeistystä ja aliprosesseja. Järjestelmässä toimii socket-palvelin, joka kommunikoi käyttäjärajapinnan kanssa. Kertaluontoiset mittaukset käynnistetään socket-palvelimen kautta. Toistuvat mittaukset määritetään mittaamisjärjestelmän konfiguraatiotiedostoon taktisen runkoverkon erillisen konfiguraationhallinnan kautta. Järjestelmä vastaanottaa muun muassa mittausparametrit JSON-tiedostomuodossa, jonka sisältö varmennetaan konfiguraationhallinnan toimesta.
Opinnäytetyön tuloksena syntynyt mittaamisjärjestelmä vastasi suurimmilta osin toimeksiantajan vaatimuksia. Järjestelmä mahdollistaa suorituskykymittaukset kertaluontoisina ja toistuvina. Toistuvat mittaukset voi ajastaa ja niiden tuloksia voi lukea ja myös poistaa reaaliaikaisesti.
The measurement tools used by the measurement system were selected on the basis of the measurement types required by the commissioner. The tools are controlled with measurement parameters, which are either obligatory or optional. Results of the ad hoc measurement given by the tools are instantly returned back to the user. Recurring measurement results are saved in a separate result file, which can be read via user interface. Management of the whole measurement system is performed using the user interface.
The measurement system is written with Python programming language. Due to a required support for multiple simultaneous measurements, implementation of the system utilizes threading and sub-processing. The measurement system contains a socket server communicating with the user interface. Ad hoc measurements are launched via the socket server. Recurring measurements are written as part of the measurement system’s configuration file via separate TAC WIN configuration management. The JSON-formatted measurement parameters are validated by the configuration management.
The measurement system created as a result of the thesis met most of the requirements of the commissioner. The system enables both one-time and recurring performance measurements, which can be preset. The results of the recurring measurements are possible to be read and deleted in real time.