Initial thoughts on custom network processing via waypoint services

Network operators want additional functionality from the networks they manage. The current approach to add functionality is to deploy middleboxes. Unfortunately middleboxes raise concerns regarding robustness, correctness, and efficiency due to their need to be deployed at chokepoints. This paper provides some initial thoughts for solving the middlebox problem in an architectural way. We believe that waypoint services are the correct way to add functionality to a network. Network processing can be modeled as classification followed by action. Additional functionality should be added to the network through a service model exposed as new actions. Services would be implemented at waypoints which reside off the normal packet path; routers can send traffic to those services for additional processing. The waypoint service model allows services to be hosted anywhere within the network, allows services to be shared by multiple routers, and is accessible via a simple action API. Abstracting custom packet processing as waypoint services provides a systematic way to bring new functionality to the network.