This paper is primarily concerned with detailing advancements to software-based routers, as it was written at a time in which there were cheap routers that were relatively dumb compared to todays standards, and expensive PC based routers that handles resource intensive tasks such as firewall, port forwarding and the like. The primary points of this paper were:
1. The development of a hierarchical scheme in which some operations were performed at the lowest level in order to maximize throughput, some were passed up to the specialized network board that could handle moderate sized operations with good speed, and finally, the most intensive tasks were passed up to the general purpose CPU in order to perform those operations as quickly as possible. This took advantage of the strengths of each stage and ensured that the router was operating as quickly as possible.
2. The authors of this paper made extensibility one of their primary design considerations, a view that was a wise choice in retrospect. They recognized that the proliferations of services that inspired them to build this router would likely continue increase and that their design would need to be able to implement them cheaply and easily in order to stay competitive. Their design is somewhat modular in that the forwarding and scheduling mechanism of the different layers is somewhat removed from the modular services that they can incorporate. This would make it easier to add a service and then change the forwarding algorithm slightly so that it would recognize where to send the packets.
3. The forwarding mechanism mentioned above is also static, allowing for an extremely robust system, even under an extremely heavy load. By decoupling the services and the forwarding mechanisms, the authors were able to optimize each component to its specific strength. The three design considerations: performance, extensibility, and robustness were well thought out and addressed for each component.
The primary weakness of this paper that I saw was that they did not try to implement any of the services that were much less common at the time, but rather stuck with the basic ones common to many routers. While they did show that they could do it better, being able to demonstrate increased functionality would have improved this already excellent paper and added something that was missing. The other thing that I thought would have improved the paper would have been a simple graph detailing performance compared to other common router configurations.
Future research in this area has been ongoing as routers have been forced to do more and more over the years. The authors mentioned moving a lot of this functionality to FPGA’s which I see as something that might merit a considerable amount of research. Also, improving upon th system and even adding more layers or duplicates of each layer might significantly improve performance. These were all mentioned by the authors but I also believe that these are the most likely paths for future research.