Creation of a User Interface for Network Analysis02... · Technical University of Munich Creation...

34
Chair of Network Architectures and Services Department of Informatics Technical University of Munich Creation of a User Interface for Network Analysis Florian Wiedner February 1, 2017 Chair of Network Architectures and Services Department of Informatics Technical University of Munich

Transcript of Creation of a User Interface for Network Analysis02... · Technical University of Munich Creation...

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Creation of a User Interface for Network Analysis

Florian Wiedner

February 1, 2017

Chair of Network Architectures and ServicesDepartment of Informatics

Technical University of Munich

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Contents

Background and Motivation

Related Work

External Resources

Architecture

Results

Conclusion

Bibliography

F.Wiedner – MoonGUI 2

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

MoonGen [4]

• Fast and flexible packet generator• Configured by a simple Lua Script• Uses DPDK as backend

F.Wiedner – MoonGUI 3

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

MoonGen GUI Motivation

configuration and starting

live data

CSVoutput

• GUI is intuitive• Charts are efficient

F.Wiedner – MoonGUI 4

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

MoonGen GUI Motivation

configuration and starting

live data

CSVoutput

• GUI is intuitive• Charts are efficient

F.Wiedner – MoonGUI 4

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

MoonGen GUI Motivation

configuration and starting

live data

CSVoutput

• GUI is intuitive• Charts are efficient

F.Wiedner – MoonGUI 4

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

MoonGen GUI Motivation

configuration and starting

live data

CSVoutput

• GUI is intuitive• Charts are efficient

F.Wiedner – MoonGUI 4

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

MoonGen GUI Motivation

configuration and starting

live data

CSVoutput

• GUI is intuitive• Charts are efficient

F.Wiedner – MoonGUI 4

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

MoonGen GUI Motivation

configuration and starting

live data

CSVoutput

• GUI is intuitive

• Charts are efficient

F.Wiedner – MoonGUI 4

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

MoonGen GUI Motivation

configuration and starting

live data

CSVoutput

• GUI is intuitive• Charts are efficient

F.Wiedner – MoonGUI 4

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Approach

• Browser-based graphical user interface for MoonGen• Real-time charts• Initial and running configuration• Handle various Lua scripts• REST API• LuaJIT on server side

F.Wiedner – MoonGUI 5

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Related Work

Ostinato T-Rex Grafana MoonGUIConfiguration

√ √ √

Latency Graph√ √ √

Custom Graphs√ √

Distributed System√ √ √

Web application√ √

Traffic generation√ √ √

F.Wiedner – MoonGUI 6

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Resources on Client Side - Framework [2]

F.Wiedner – MoonGUI 7

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Resources on Client Side - Graphing Library [3]

plotly.js

• Declarative Charting Library on D3• Including histogram and line graph• in-built actions and export• high-performance updating

F.Wiedner – MoonGUI 8

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Resources on Server Side [1]

• Webserver framework Turbo• Using LuaJIT• HTTP methods handled with Lua functions

F.Wiedner – MoonGUI 9

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

ArchitectureBrowser

Netw

ork

Requ

ests

Load

Side

Angular2

HTTPService

Moo

nGUI

App

MoonGUI Services

Test System

Server

LuaJITREST

API

MoonGen

DATA API

Operating/File System

Request

/Receive

Request/Receive

Collect Data

Application

start

Collect

Get FilesStart

Start Process

I/O

F.Wiedner – MoonGUI 10

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Architecture: Client SideComponents

AppHeader

...

Main

Sidebar

Services

DataModel

MoonGen

MoonConfig

MoonHistory

MoonConnect

F.Wiedner – MoonGUI 11

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Architecture: Server Side

Operating System File System

MoonGenMoonGUI.lua

DATA

API

Slow Pipe

Config Object

Server

RES

TAP

I

LuaS

ocke

tCollect Data

Collect Data

Start Prozess MoonGen/ Store Output

Start MoonGenSave/Load (Config,Log,PID)

Load Config

F.Wiedner – MoonGUI 12

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Result: Server

standardized REST API

standardized DATA API

less performance impact

F.Wiedner – MoonGUI 13

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Result: Server

standardized REST API

standardized DATA API

less performance impact

F.Wiedner – MoonGUI 13

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Result: Configuration

standardized con-figuration file foruser interfacescript selection

MoonGen control

server control

F.Wiedner – MoonGUI 14

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Result: Configuration

standardized con-figuration file foruser interfacescript selection

MoonGen control

server control

F.Wiedner – MoonGUI 14

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Result: Configuration

standardized con-figuration file foruser interfacescript selection

MoonGen control

server control

F.Wiedner – MoonGUI 14

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Result: Configuration

standardized con-figuration file foruser interfacescript selection

MoonGen control

server control

F.Wiedner – MoonGUI 14

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Result: Configuration

interface selection

script specificconfiguration

F.Wiedner – MoonGUI 15

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Result: Configuration

interface selection

script specificconfiguration

F.Wiedner – MoonGUI 15

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Result: Log and Graph

live loging output

2 types of graphs

histogram line graph

charts are configurable

F.Wiedner – MoonGUI 16

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Result: Log and Graph

live loging output

2 types of graphs

histogram line graph

charts are configurable

F.Wiedner – MoonGUI 16

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Result: Log and Graph

live loging output

2 types of graphs

histogram line graph

charts are configurable

F.Wiedner – MoonGUI 16

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Result: Log and Graph

live loging output

2 types of graphs

histogram line graph

charts are configurable

F.Wiedner – MoonGUI 16

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Result: Log and Graph

live loging output

2 types of graphs

histogram line graph

charts are configurable

F.Wiedner – MoonGUI 16

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Result: Log and Graph

live loging output

2 types of graphs

histogram line graph

charts are configurable

F.Wiedner – MoonGUI 16

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

Conclusion

• MoonGUI is high-performance, flexible GUI for MoonGen• Includes more features then the related work• Customizable charts• Customizable scripts• Useful for different scenarios• Intiutive and efficient in design

F.Wiedner – MoonGUI 17

Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich

[1] Introduction — Turbo.lua 2.0.0 documentation, 2016.Available online at https://turbo.readthedocs.io/en/latest/; last accessed on2016/11/27.

[2] One framework. - Angular, 2016.Available online at https://angular.io/; last accessed on 2016/11/19.

[3] plotly | JavaScript Graphing Library, 2016.Available online at https://plot.ly/javascript/; last accessed on 2016/11/23.

[4] P. Emmerich, S. Gallenmüller, D. Raumer, F. Wohlfart, and G. Carle.MoonGen: A Scriptable High-Speed Packet Generator.In Proceedings of the 2015 ACM Conference on Internet Measurement Confer-ence, pages 275–287, Tokyo, Japan, 2015. ACM.

F.Wiedner – MoonGUI 18