Practical Analysis of a Scalable Network Topology Discovery Mechanism

  • chair:Autonomic Network Management
  • type:Bachelorarbeit
  • time:ongoing
  • advisor:

    Paul Seehofer

  • person in charge:topic assigned
  • Introduction

    As networks become more and more dynamic and larger, their management becomes more and more complex. Since the management of such networks can no longer be done "by hand", current research is concerned with solutions for more autonomous network management. Scalable, efficient topology discovery that provides topological information to control and management applications is an essential component. This information is important, for example, for the autonomous placement of instances of other control and management applications.

    As part of current research at the Institute of Telematics, the topology discovery mechanism KeLLy was developed, which is based on the autonomous routing architecture KIRA, also developed at the Institute of Telematics. KeLLy is especially tailored to the use case of large autonomous networks: It does not require any human intervention and is also scalable and efficient. So far, the approach has been investigated statically as well as simulatively, but a practical implementation that can be used in a real network is missing.

    Further information on KIRA and KeLLy can be found here: KIRA project page

    Task

    Within the scope of the bachelor thesis, the topology discovery mechanism KeLLy shall be transferred into a practical implementation. For this purpose, an existing implementation of the routing protocol KIRA is to be used and/or extended. First of all, it has to be investigated which aspects of a real computer network require adaptations or extensions of the method. For example, the influence of packet loss and bandwidth limitations has to be considered. Then, appropriate solutions have to be developed and the topology discovery mechanism itself has to be integrated into the design and implementation of the routing architecture KIRA. This will also require developing appropriate interfaces with the existing routing daemon. Subsequently, the resulting implementation needs to be examined with respect to function and performance in a container-based emulation.

    Requirements

    • Good programming skills in at least one programming language. Ideally first experiences with the programming language Rust.
    • Experience with standard Linux tools (e.g. ssh) is an advantage.
    • Contents of the lecture Introduction to Computer Networks

    Technologies & Environment

    • Implementation in the programming language Rust
    • Container based emulation
    • Access to testbed infrastructure