[e2e] NDDI & OpenFlow
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.
>> 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