CENTRALIZATION OF THE CONTROL PLANE
The U.S. Department of Defense funded
Advanced Research Project Agency Network (ARPAnet) research in the early 1960s to
counter the threat that the entire nationwide
communication system could be disrupted if the
telecommunication centers, which were highly
centralized and owned by a single company at
that time, were to be attacked. ARPAnet
researchers therefore came up with a totally distributed
architecture in which the communication
continues and packets find the path (if one
exists) even if many of the routers become nonoperational.
Both the data and control planes
were totally distributed. For example, each
router participates in helping prepare the routing
tables. Routers exchange reachability information
with their neighbors and neighbors’
neighbors, and so on. This distributed control
paradigm was one of the pillars of Internet
design and unquestionable up until a few years
ago.
Centralization, which was considered a bad
thing until a few years ago, is now considered
good, and for good reason. Most organizations
and teams are run using centralized control. If
an employee falls sick, he/she simply calls the
boss, and the boss makes arrangements for the
work to continue in his/her absence. Now consider
what would happen in an organization that
is totally distributed. The sick employee, say
John, will have to call all his co-employees and
tell them that he/she is sick. They will tell other
employees that John is sick. This will take quite
a bit of time before everyone will know about
John’s sickness, and then everyone will decide
what, if anything, to do to alleviate the problem
until John recovers. This is quite inefficient, but
is how current Internet control protocols work.
Centralization of control makes sensing the state
and adjusting the control dynamically based on
state changes much faster than with distributed
protocols.
Of course, centralization has scaling issues
but so do distributed methods. For both cases,
we need to divide the network into subsets or
areas that are small enough to have a common
control strategy. A clear advantage of centralized
control is that the state changes or policy
changes propagate much faster than in a totally
distributed system. Also, standby controllers can
be used to take over in case of failures of the
main controller. Note that the data plane is still
fully distributed.