Open Student Projects / Internships
NLnet Labs offers internships for master (MSc.) and bachelor (BSc.) students. Enthusiast students are invited to contact us at firstname.lastname@example.org.
Master projects typically have a duration of 6 months (36 ECTS) and bachelor projects run for 4-5 months (18 ECTS). Interested students can apply for one of the projects below, or propose interesting project topics related with Internet technology and open standards.
In a paper by Radia Perlman and Charlie Kaufman , a hierarchical model for networks with Byzantine robustness is presented. This model extends previous work on network protocols resilient to Byzantine failures, that guarantee that nodes A and B can communicate, provided that at least one honest path connects them. The hierarchical model scales to large networks and additionally to guaranteed delivery of packets with some fair bandwidth, it also has the ability to limit the number of simultaneous sources it is receiving from and limit receipt of traffic to the rate at which the destination is capable to process.
In the hierarchical network model with Byzantine robustness, management of the switch/router resources is required to provide the guarantees of packet delivery and traffic rate limit on a per-flow basis. This flow resource management is important to achieve both the above defined guarantees and the scalability of the model to large networks.
To assess the scalability behavior, and the packet delivery and rate limiting guarantees, a simulation model of the hierarchical network with Byzantine robustness (HNBR) can be developed. With this simulation model different strategies can be evaluated, for example using metrics like efficiency and effectiveness, the scalability of the approach for different network sizes and topologies (network hierarchies), etc.
In the project we aim for a conference/journal publication in collaboration with Radia Perlman. This of course, given the obtained project results and analysis.
 Radia Perlman and Charlie Kaufman, "Hierarchical Networks with Byzantine Robustness", COMSNETS 2011.
Currently, we are in a situation where the network tries to keep packets in order. Although out-of-order packet receipt shouldn't be a problem for IP layer 3 protocols, e.g., TCP could handle this, bad performance or actually failure (?) can be a result. Still for performance, we want to spread traffic among lots of paths. There are various strategies for keeping packets in order over parallel paths. One of the more successful approaches identifies (TCP) flows and switches forward packets within a flow to the same port interface.
Flow-based forwarding in switches/routers is based on (destination, source, protocol type, TCP ports) tuples in the forwarding table. There is a claim that for better spreading of traffic load, a central entity knows what all the flows are, such that it can carefully place them. However, given the highly dynamic behavior of traffic volumes, it seems that switches are in a better position to load-split traffic than a central fabric manager. The switch can split path based on local queues and congestion, and can rehash the flows to spread the load.
To evaluate, compare, and understand the traffic utilization for different load split strategies, a simulation model and implementation has to be realized. With the simulation, the alternatives of the perfect knowledge central entity, and the various (more) distributed flow load splitting strategies can be evaluated and analyzed. Interesting question is whether local queue information is sufficient, or do we need 1 hop or n hop congestion information? There are costs incurred to find out congestion information n hops away.