[e2e] NDDI & OpenFlow

Martin Casado casado at cs.stanford.edu
Sat Apr 30 10:13:50 PDT 2011

On 4/30/11 9:26 AM, Stiliadis, Dimitrios (Dimitri) wrote:
>> On 4/29/11 3:00 PM, Randy Bush wrote:
>>> the internet is a reliable network made from unreliable components.
>>> centralization of control is an enemy of this.
>>> randy
>> It's probably worth pointing out that any OpenFlow controller worth its
>> salt is fully distributed.  The primary difference with that and the
>> traditional architecture is that the distribution model is not fixed to
>> the physical topology.  Which one could argue, given the innate
>> difficulty in building distributed systems, makes development and
>> deployment of new stuff easier.
> Well, if it is distributed, in one instantiation it can be running
> in every node. Right? Then we are back at square one.
Exactly right (to the first part).  But I don't quite agree with the 
second statement.  My point is that the choice of distribution model 
lies with the system developer, and isn't fixed in the architecture.  
You may choose to have a control element with each forwarding element.  
I may choose to have a relatively small number of control nodes manage a 
single-function network (say, for example, a data center).  And Ken may 
choose to use a single control node to manage a home network.

Why does this matter?  Ken can trade off scalability and resilience for 
a simplified programming mode.  I can employ modern distributed systems 
tools that are in wide use today (e.g. Cassandra, Zookeeper, whatever) 
which are unlikely to operate well if an instance is required to run on 
every node (yes, that is an understatement).  And you're welcome to do 
whatever you please.

Controller platforms have been developed that support multiple 
distribution models.  They take care of a bunch of the low-level details 
of managing switch state, provide a common toolkit of distribution 
primitives, and allow the system designer to choose between, say, scale 
and a stronger consistency model.

Some very cool production systems have been built on OpenFlow using 
tightly coupled clusters of compute nodes and modern scale-out systems 
practices.  Unfortunately those who build them tend not to like to talk 
about them.  I hope that changes soon.


More information about the end2end-interest mailing list