My second favorite area of interest is the route query system. I have actually coined the term, referring to a centralized routing system that works similar to how DNS works.
Distributed routing system, which is the current dominant way of routing, has many benefits as to some shortcomings;
It has to constantly update each of the nodes in the network of its state, and it’s not agile enough to make quick routing decisions based on the changes in the network.
The whole idea of SDN was born from the fact that the control plance and data plane don’t have to co-exist physically in a single box.
In a route query system, a single node, or a cluster of nodes, will be gathering states from each of the nodes in the network, and build a routing table and update the routing table based on the changes in the network. This node or group of nodes will play the role of the control plane.
The rest of the nodes in the network will only be acting as the data plane with the minimum resources reserved to store the routes that were fetched from the central routing node/s by sending a query for the routes.
For example, I will bring the diagram from the last article again to explain; Once gain, I got this picture from www.shmoop.com ( Let me know if I am violating any copyrights)
Node S is the central routing node that collects the state from every other node in the network. Based on the collected information, Node S will build a routing table for the whole network.
Node A wants to reach Node T. Node A sends a query to Node S asking for the next-hop address to reach Node T.
Node S receives the query from Node A and consults its routing table. It shows that the best path from Node A to Node T is A-K-E-T.
Node S sends the next-hop address to Node A. Simultaneously, Node S sends Node K, Node E, and Node T a routing entry to handle the traffic from Node A.
Upon receiving the next-hop address from Node S, Node A stores the route and forwards it out accordingly. Node K, Node E and Node T also stores the routing entry from Node S and forwards the traffic generated from Node A accordingly.
Once the session has run out, it is flushed from the nodes in the path.
The route query system has the following benefits that are unique;
1.No need for each node to build its own routing table. It frees up a lot of resources that could be instead used to forward traffic. It also means less money to build a router.
2.No need for a big memory to store routing entries. As PC’s don’t store all URL-to IP address mappings, routers no longer need to store a big chunk of routing entries on its memory. It can always query to the central routing node. Less memory means less money to build.
3.It can potentially open more doors to the white box makers. They would just need to hook up their white boxes to the company that only runs the central routing node/s. The central routing nodes owned by a few number of companies will be lending out a portion of their control plane to the white boxes. The white boxes will purely work as the data plane and retrieve the routes on-demand from one of the central routing nodes.
However, there are still some major issues to be addressed;
1.The amount of traffic generated for collecting the state from each node in the network will be huge. However, seeing DNS working stably over the internet, the route query system can potentialy scale.
2.Sending in the routing entries from the central routing node to all the nodes in the path from the source to the destination may not be done in a timely manner.
3. Need a new industry standard to completely redesign the networking industry to a few central routing nodes owning companies and innumerous white box makers.
Sounds like a new business plan?