Feel free to email me: tavisJohnson861@gmail.com
Internet data traffic goes through a series of devices called routers on the way to your favorite website and back to your phone or laptop. Routers are high-speed devices, meant to move lots of data traffic very quickly from one place to another. In this project, I will learn how to program a real high-speed router (capable of processing 6 Terabits/s), including making the router move traffic to the right place, and ensuring that the network paths, i.e., the "highways" that data moves through, does not get congested. I will work as part of a larger research effort intended to define mechanisms and policies that carve out University network resources to various users by programming routers appropriately.
Here are the weekly progress entries for my research project.
This week I met with the my peers in DIMACs and experienced orientation. I enjoyed meeting all the new people and listening to their interests. For research I practiced learned about all the different protocols in my research and basic Router problems. For the following week I will meet more with my mentor and learn about the schedule for research and the steps to accomplish it. I am extremely excited to complete this project and fully understand networking and routers in a whole.
This week I prepared with my peer Delta and worked together to design a presentation on our research. I learned more about networking and protocols on the internet. I learned about cookies and caches and html as well as DNS tables. I worked with a software called mininet and learned how to use a virtual box to create a network to practice working with mininet commands and testing how it works. I am excited to trasition to a physical router.
For this week I focused on reading papers and learning about the early design of the router. We focused on a paper that discussed the design and layout of the Multi Gigabit Router or MGR for short. Alongside my peers Delta, and sebastion we read and discussed key design concepts and worked on a slide deck to present our understanding and ask any questions that we had in understanding the topic.
Learning about the MGR design was very interesting and I enjoyed understanding how people worked and tried to optimize router designs at the time and next week we will be moving on to learning the about the RMT router design or Reconfigurable Match Tables.
-Here listed is the paper on MGR
This week we focused on RMT router design this is known as ronfigurable match action tables and was the router design that replaced the MGR router design moving forward. I worked alongside my peers Delta and sebastion to breakdown and understand the improvements made in router design moving forward. We then worked to create slides on our understanding of the paper along with any questions we may have moving forward.
I enjoyed learning about the changes made to router design and next week we should be working on learning and reading about the openflow and P4 papers. These will touch on the protocol and programming language used to alow for communication to the forwarding plane.
-Here listed is the paper on RMT design
Openflow and P4
For this week we learned about the software for protocol openflow and the programming language p4 we read papers on both topics and used it to comprehend the design of the protocol and language and how it was used to communicate with the forwarding plane. This was very interesting because my group and I were able to combine our knowledge learned over the weeks to understand this paper and even the syntax of the language. The next upcoming week we will be using practice exercises to better grasp the language so that we can learn to program in P4 so we can transition to the physical router as we are using a virtual machine to run our practice exercises.
-Here listed is the paper on Openflow design
-Here listed is the paper on P4 design
Cont. P4 work and practice exercises For this week we continued learning the P4 programming language. The exercises that I focused on was the L2 Packet Forwarding exercise. This exercise is strengthening my understanding of how the hardware and software go hand. This is also improving my understanding of how routing works as a whole I hope to be able to carry this understanding into a variety of networking fields.
ECMP Routing This week I focused on learning the ECMP routing algorithm and implementing the exercises found on github I also met this week in a group with Delta and Sebastion to talk about some of the exercises we had worked on and to discuss problems that we had faced. This was very helpful in breaking down the material and I was able to gain the understanding of what it was like to learn the material from a different perspective. In addition to this Delta and I have begun the outline for our final DIMACS presentation.
For this week I began to focus on the Count-Min Sketch algorithm and am working on its implementation. I hope to finish implementing it by the end of this week. I am also working on ensuring that I have a good understanding of all the material we have learned. My teammate Delta and I are also planning on using the paper as a strong guide to building the presentation. In addition, I have been working on the final paper and final presentation along with Delta.
For this final week we began to test the tofino but I prioritized the completion of the paper and presentation for the presentation on thursday. I met with my mentor Dr. Srinivas to go over their thoughts. I used these suggestions to improve the parts of the report I was in charge of. I really enjoyed the entire DIMACS program it was an amazing opportunity and I am really gratefult to be a part of it I look forward to staying in touch with the program and the team and to continue research with the group.