Load Splitting of Network Traffic Flows (Multipath Routing)

From Master Projects
Jump to: navigation, search

About Load Splitting of Network Traffic Flows (Multipath Routing)


Problem Description

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.

Project Plan

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.

This project is in collaboration with Benno Overeinder and Radia Perlman.