Border-Gateway-Protocol-Router / README.md
README.md
Raw

CS 3700 Project 3: BGP Router

Daniel Szyc and Michelle Zinger


High-Level Approach

With this being the first project for which we were given starter code, we first took the time to thoroughly understand the functionality of it, since we would be building off of it. Then, we decided to follow the recommended approach provided in the "Implementing Your Router" of the instructions. We found that following those steps and working through the tests incrementally set a good pace for the project.


Challenges

One thing that took a lot of time was fully understanding the premise behind the starter code, especially since it wasn't commented. This was definitely a significant step up in difficulty from the first two projects, and the starter code was useful, just poorly documented.

Another challenge was fully understanding how exactly certain situations should be handled, for example understanding the specific circumstances when disaggregation should be performed.

From a logistics standpoint, this project takes place during midterm season, and as a result of Dan's poor time management Michelle did a large portion of the milestone and subsequent tests.


Design

  • The design of our code is very modular, and we focused on keeping functions relateively short and readable.
  • We provided a lot of in depth documentation to help make the implementation easier to follow.
  • We implemented all of the logic needed for address manipulation ourselves without needing to rely on illegal libraries

Testing

We tested our code extensively against the provided test cases. We also relied on printing outputs and understanding them in order to test that our outputs were as expected.