Spanning Tree Protocol
Distributed Design
Tackling this project with a distributed solution allows for a robust approach to eliminating topological loops various network topologies. Each node will eventually obtain a view of the entire network through the information that is propagated through each neighbor node.
Algorithm Development
Network switches generally will have Spanning Tree Protocol features embedded and only require proper configuration to check for topological loops. However, this project involved building an STP algorithm from scratch which involved parsing message data from nodes and ensuring that my solution was handling edge cases. It took many attempts to build a solution that was able to perform given various network topologies.
Loop Prevention
In this project my task was to develop a distributed algorithm in Python that would be able to identify an appropriate root node and then designate logical paths in the topology to prevent loops. Spanning Tree Protocol is important because looped topologies could result in packets being lost within the network as they are constantly following a looped path that never reaches their destination.
Python
Networking
Distributed Systems
Switching
*Due to Georgia Tech class policies, I cannot share code or any other materials that would reveal project solutions.