Designing A Routing Protocol
Requirements
A routing protocol communicates global topological information to each
router, allowing it to make local decisions.
Due to frequent changes and occasional failures of network elements,
the routing protocol asynchronously updates routing tables at every
router or switch controller. The updates are done through periodic
exchange of routing table information between routers. This ensures
that they have a consistent "view" of the network's topology.
The main requirements on any routing protocol are:
-
Ensuring that tables at different routers are
consistent. Routing tables must be consistent so that
routes can be found via a concatenation of local forwarding decisions.
-
Minimizing the size of the routing table.
The size of the table affects the cost and efficiency of the routers.
It is expected that the size of the routing tables will grow more slowly
than the size of the network.
-
Minimizing control messages. Routing protocols
require the use of control messages. Passing control
messages is an overhead of routing operations, and must be minimized
(providing that their functionality is not reduced).
-
Robustness. Misrouting messages, so that they do
not reach their destinations (entering a black hole), or
causing loops and oscillations, must be kept
to a minimum.
|