Network Debugging for the Average Joe

Debugging a network is not something that everyone can do; there is a reason network engineers exist after all. But network issues still arise very often in everyday situations, such as a website not loading or even having no internet connectivity at all. Sadly, there isn’t always a network engineer or a tech-savvy relative around. In those cases, it would be really handy if there was some way for the average person to debug issues and maybe even fix them without having to understand the network at all.

In this thesis, we aim to investigate what is required for this vision to become a reality. Especially with the recent push of LLMs, we believe them to be a good fit to translate user complaints like, “this website doesn’t load” or “I have issues doing x and y”, into action items that allow the problem to be debugged and ideally even be fixed, like for example changing a DNS server manually since the one from your ISP is not working properly right now.

Since network connectivity might not be working at all, we cannot rely on services from companies like OpenAI or Anthropic; instead, we would run a small local model. We believe that this should be fine, since we don’t expect the LLM to necessarily solve the most complex tasks, but it is something to investigate during the thesis. A main component of the thesis is to also determine what kind of visibility the LLM or the overall system needs and what actions it should be able to execute without compromising security or other concerns.

Milestones

  • Researching and coming up with a list of the most common issues being faced in home networks
  • Creating a test environment to emulate a home network, that allows one the evaluate the system’s performance by applying network issues and letting it fix them
  • Deploying a small LLM as part of a system to help debug the users’ issues
  • Evaluating how well this works and then continue with further optimization, like fine-tuning, adding capabilities or going to cloud-based models whenever possible

Requirements

  • Good coding and networking skills, at the very least on the level of the communication networks lecture or equivalent
  • Basic knowledge about ML/LLMs and previous experience with frameworks like TensorFlow, PyTorch, etc.

Supervisors

Lukas Röllin
PhD student
Benjamin Hoffman
PhD student