Student Projects

September 5th, 2016

This page lists some student projects that can be worked on as part of a BSc/MSc project or as student jobs. Please get in touch with us should you be interested working on any of the topics.

Network Flow Query Language (NFQL)

Information about network traffic passing through an observation point (typically a network interface) is exported in the form of so called network flow records. A network flow is a unidirectional sequence of packets that all share a number of common attributes (typically IP addresses, port numbers, transport protocol type et al.). Backbone networks easily generate 10s of GBs of compressed flow records per day. The Network Flow Query Language (NFQL) is a query language that can be used to search in large collections of network flow records for certain patterns. For example, several applications (e.g., different web browsers) can be identified by looking for specific flow patterns that they generate. A new implementation of an NFQL, called nfql has been created but more evaluation is needed and a number of rough ends still can be improved. Some of this work is related to the European project Flamingo that started on November 1st 2012.

  • Performance Evaluation of nfql(BSc) [Bajpai]
    tags: python, gnuplot, statistics
    nfql can read network flow records in two formats: NetFlow v5 and IPFIX. NetFlow is a proprietary protocol designed by CISCO, while IPFIX is the evolution of NetFlow v9 into a protocol that is standardized by the IETF. The performance of nfql has previously been benchmarked against contemporary NetFlow v5 flow processing tools. Recently we added IPFIX support in nfql, however the performance of the IPFIX codebase has not been benchmarked. The goal of this project is to extend our current benchmark suite to cover IPFIX and perform evaluation on IPFIX flows to see how nfql performs against other IPFIX flow processing tools.
  • nfql frontends (BSc) [Bajpai]
    tags: any high-level scripting language, lexers, parsers
    nfql is composed of an execution engine and a query parser. The execution engine is the brain where the flows are processed by reading a flow‐query in an intermediate JSON format. The query parser can be used to read a custom query domain specific language (DSL) and generate this JSON intermediate representation. As such, nfql can support multiple front-ends. The goal of this project is to specify and implement additional front-ends that mimic the syntax of other existing tools in order to make it easier for people already familiar with other tools to use NFQL.
  • NFQL usage to discover applications (BSc) [Bajpai]
    tags: technology-agnostic
    For some applications, specific network flow patterns have been identified and expressed as NFQL queries. The goal of this project is to use the current NFQL execution engine to search for application specific patterns in larger real-world traces. This is largely experimental work but most likely this work will also identify bugs or shortcomings of the current execution engine, which should be clearly described and ideally be fixed as well.
  • Distributed processing of NFQL queries (BSc) [Bajpai]
    tags: C, Java, Big Data Frameworks
    NFQL queries can often be executed concurrently by slicing the data over time (e.g., creating hourly or daily slices). However, care must be taken that the slicing does not change the results produced. The goal of this project is to develop and implement ideas how NFQL queries can be processed concurrently. Ideally, existing Big Data Frameworks should as Hadoop or Spark can be reused to execute queries on larger compute clusters efficiently.

Internet Measurements

Our group is interested in Internet measurements, partially supported by two EU funded research projects (FP7 Leone and FP7 Flamingo).

  • RIPE Atlas measurements (BSc) [Bajpai]
    tags: python, gnuplot, statistics, network-protocols
    The RIPE Atlas Internet measurement system operated by the RIPE NCC is collecting data from more than 8000 probes distributed worldwide. The data is easily accessible via a REST API. We are interested to analyze some of the collected data in order to derive insights how for example access networks perform in different parts of the world.
  • Domain name system measurement data analysis (BSc) [Schönwälder]
    python, REST, domain name system
    The University of Twente (located in Enschede, the Netherlands) is collecting an archive of DNS data that allows to analyze the evolution of the data stored in the DNS over time. The data collection is driven by active measurements. The goal of this project is to develop techniques and tools that can analyze the data set for aspects of relevance to IPv6 deployment. The work will be done in collaboration with the research group at the University of Twente.
  • IPv6 Geolocation Precision (BSc) [Schönwälder, Bajpai]
    tags: python, data analysisIP addresses are often mapped to geographic locations in order to offer location-based services or to enforce certain access restrictions. While transitioning from IPv4 towards IPv6, it becomes important to understand the precision of geolocation services for IPv6 addresses and how IPv6 geolocation services compare to similar IPv4 services.
  • IPv6 Caching Infrastructures (BSc) [Schönwälder, Bajpai]
    python, data analysis
    Large Internet content and services providers use caching infrastructures in order to provide fast access to content and services and to improve robustness in the light of attacks and failures. While transitioning from IPv4 towards IPv6, it becomes to investigate how IPv6 caching infrastructures compare to IPv4 caching infrastructures.
  • LMAP Deployment and Evaluation (BSc) [Schönwälder]
    tags: C
    The Internet Engineering Task Force (IETF) is defining a standard for controlling network measurements and for reporting measurement results to data collectors. The work is carried out by the LMAP working group. We have implemented the core of an execution engine that can run measurement tasks. The goal of this project is to deploy the engine on a distributed measurement testbed and to evaluate it by running a number of real-world measurement trials.
  • LMAP Integration into a Home Router Platform (BSc) [Schönwälder]
    CThe Internet Engineering Task Force (IETF) is defining a standard for controlling network measurements and for reporting measurement results to data collectors. The work is carried out by the LMAP working group. We have implemented the core of an execution engine that can run measurement tasks. The goal of this project is to integrate the execution engine into an open
    home router platform.
  • Measurement of QUIC Performance (BSc) [Schönwälder]
    tags: C, Python, data analysis
    QUIC is a new transport protocol originally designed by Google and deployed for a number of Google services and supported by Google’s Chrome web browser. We have collected some QUIC flow traces and we are interested to analyze these traces and we are interested in the development of measurement tests that can be distributed to measure the performance and impact of the QUIC transport protocol.
  • Measurement Data Analysis using Hadoop, Spark, Logstash, ElasticSearch, etc. (BSc) [Schönwälder]
    tags: Java, Big Data Frameworks
    The goal of this project is to evaluate big data technologies such as Hadoop, Spark, Logstash, or ElasticSearch for the analysis of larger sets of Internet measurement data. The basic idea is to implement a number of data analysis algorithms using different frameworks in order to study their  performance and their scalability to handle large data sets.

Protocols for the Internet of Things

Constrained networks have devices that are constrained by computing, memory, and energy resources. For such devices, it is often not possible to run several protocols concurrently and it is often necessary to restrict things to a core set of protocol features. Furthermore, devices may not always be online, due to the need to make economic use of the often limited energy resources.

  • CoAP Management Interface (BSc) [Schönwälder]
    tags: C, REST, RESTCONF, OpenWRT
    CoAP is an HTTP like application layer protocol for the Internet of Things. The CoAP Management Interface (CoMI) is an adaptation of the RESTCONF protocol for use in constrained devices and networks. It is designed to reduce the message sizes, server code size, and application development complexity. The goal of this project is to evaluate CoMI relative to a direct adaptation of RESTCONF to CoAP via a CoAP/HTTP proxy.

Network Management Technologies

The CNDS group is involved in the design of new protocols (NETCONF and RESTCONF), data modeling languages (YANG), and data models supporting the configuration and management of networked systems. In this context, we are interested in prototyping specifications developed by the IETF in order to provide implementation feedback to standardization efforts.

  • RESTCONF on rPIs (MSc/BSc) [Schönwälder]
    tags: C, rPIs, OpenWRT
    The goal of this project is to implement a REST interface to access (configuration) data models defined in the YANG data modeling language currently defined in an Internet-Draft. The target platform are embedded Linux systems such as Raspberry Pis (rPIs) or systems running openWrt. The work might be based on libnetconf developed by CESNET, the organization operating the Czech national research network.
Comments are closed.