content. Sitting right below that waist is what we call a
strategy layer. The world today has lots of different ways of
communicating, from dumping stuff into the USB memory in your phone and walking across the world—that’s
a perfectly viable way of communicating—to using all of
the different wired and wireless connections we’ve got. At
runtime you should be actively figuring out the best way
to communicate.
Going forward, it looks like there’s going to continue
to be a multiplicity of ways to communicate because
there’s no one right answer for communication. You
really want a networking infrastructure that deals with
what it’s got and is smart about it and has that pretty
much built into the stack.
CP Let’s talk a little more about that narrow waist—that
is, the point of unification between the range of choices
above it and the range of choices below it. I want to talk a
little more about the choices below it because it sounded
to me that you were saying something that I’ve been
hearing from an entirely different perspective from folks
like Jon Turner, who were looking at building connection
devices in a world in which you have a large number of
available processors and a lot of processing power, and
the ability to virtualize middle boxes and allow people to
run completely different protocol suites.
It’s not just TCP/IP, but whatever makes sense for their
particular applications and problems concurrently in the
same infrastructure. It sounds to me like you’re saying
at some level we’re headed that way already just in the
multiplicity of technologies, and this is a technology
completely consistent with that perspective.
VJ I think we’re actually going in different directions.
It’s going toward a good end, but to my mind Jon is
trying to pull the waist down. The waist in the protocol
stack is something that [Internet pioneer] Vinton Cerf
talked about many years ago, and I think Vint was the
first to point out that in the ISO OSI stack, which is just
a cylinder with layers that more or less look the same,
most of the layers have a bilateral relationship with their
peers—for example, in the link layer both ends of the link
have to be using the same way of framing packets and
making bits.
There’s some agreement there, but it’s only between
the two ends of a link. The applications at both ends of
the communication have to agree on the transport layer
that they’re using and the session layer and the things
going above them, but it’s an agreement that’s happening
between two applications on two hosts in two parts of the
world—purely bilateral.
The network layer is the only one that touches everybody—it’s the only multilateral agreement. Vint said you
can have lots of innovation above and below it, but it has
to be the same everywhere. You want to make it as simple
as you possibly can so that it can be universal and not
constrain what’s above and below it. He expressed all this
visually by drawing the protocol stack not as a cylinder but
as an hourglass with the network layer as its narrow waist.
For those of us who bought heavily into the Internet
religion, exactly what and where the waist is, is a really
crucial thing; it’s the linchpin of the architecture.
I see the work that Jon is doing as pulling the waist
down toward Layer 2 and saying we want to be able to
virtualize and specialize it, making it much more universal than Layer 2 is today.
I want to push the waist way up and hope to generalize the context of what a network is. In Jon’s model—and
I hate putting words in somebody else’s mouth—the
networks have wires. For content networking, a guy on
a bicycle with a phone in his pocket is a networking element. He’s doing a great job of moving bits.
In the late 1980s there was a post being forwarded
around about never underestimating the bandwidth of
a 747 filled with tapes, and at the time that was just an
unobtainable bandwidth for our communication technology. I tried to redo the calculation recently for a 747 filled
with Blu-ray disks and got 100-terabits-per-second transcontinental bandwidth, which is still better than you can
do from any carrier infrastructure.
We should have a very broad definition of things that
move bits, and all of them should be able to come into
our networking tent. Particularly because of the decreasing cost of storage, bits today get moved a lot of ways that
aren’t on wires, and it’s really unfortunate that we see the
world split into these two camps—operating system and
storage people deal with bits that are on memories or on
disks or on tapes; and communications people deal with
bits that are on wires—and we don’t talk except when
we’re forced to.
These are two utterly disjoint communities with different views of the world, but the bits are the same. The bits
don’t know whether they’re on a wire or a disk. And we
shouldn’t care. I would like to move us to a world where
that distinction is simply not relevant anymore. The bits
are bits. You give a name, you get the bits. Q
LOVE IT, HATE IT? LET US KNOW
feedback@acmqueue.com or
www.acmqueue.com/forums
© 2009 ACM 1542-7730 /09/0100 $5.00