[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vnrg] way forward on VNRG definitions



Hi, all,

Speaking as an *individual* contributor (i.e., with my RG-chair hat "off"):

On 6/8/2010 9:57 AM, Joe Touch wrote:
-----------------------------------------------------

Starting questions:

1. how do you define VNs?

I define them as composed of virtual routers, virtual hosts, and virtual links.

A virtual link is the easiest to define - it is a tunnel over some existing network path, i.e., with an additional layer of encapsulation that is used solely for the VN, but which is otherwise not needed.

A virtual host is a source or sink of packets on a virtual link.

A virtual router forwards packets between virtual links.

Note that nothing about these definitions specifies a boundary, i.e., inside a single machine, etc. I don't think those boundaries are meaningful in the base Internet anyway.

I.e., IMO, virtual has nothing per se to do with "logical". I.e., a set of devices on a network that source/sink packets with a single network address act as a single logical host. That's not 'virtual' to me, though most 'virtual' things tend to be logical, not all logical things are virtual.

	1.a. what are the key components?

See above; virtual link, virtual router, and virtual host.

	1.b. what is the relationship between these components?

See above; hosts source/sink packets, and routers forward them. When a router sources/sinks packets, IMO it acts as a host on the network for those messages.

	1.c. what is the characteristic behavior/capability of the
	resulting system?

I think that the defining characteristic of a VN is that it allows an existing network to concurrently emulate another, distinct and separate network.

2. what are VNs used for?

Protection: keeping concurrent uses of a network from interfering with each other.

Abstraction: presenting the application (whether user layer, routing, etc.) with a simpler or desired topology that need not match the physical connections. E.g., as with DHTs, hypercubes, rings, etc. This also includes presenting a topology that is either much larger or smaller than the physical, i.e., that doesn't match in scale either.

Sharing: allowing a single set of resources to be concurrently used for multiple, separate purposes.

NB: these are identical to the reasons why virtual memory is useful

3. what are they key challenges?
> for each challenge:
> 	- define the challenge
> 	- explain why it is hard
> 	- provide some references to those working on solutions

Challenge: mapping logical components onto virtual ones - which I consider the 'provisioning' step of a conventional physical network.

Why it's hard: like any mapping, this is a distributed resource allocation problem, difficult to optimize fully, and challenging to coordinate without requiring global locks.

Who's working on this: this is known as "mapping" VNs, and many groups have worked on it over the years; it's also one of the least interesting problems, IMO, since it is not particularly new in the virtual domain (i.e., it exists in physical networks too)

--

Challenge: Clean, clear architecture supporting VNs.

Why it's hard: done wrong, VNs require users to reimplement some protocols at the user layer (e.g., as with DHTs, DTNs, etc. - usually transport protocols). done wrong, VNs also require extraordinary measures to restore existing capabilities, such as traceroute, ping, etc.

Who's working on this: our group (X-Bone), Violin, Akari (IMO)

--

Note Well: Messages sent to this mailing list are the opinions of the senders and do not imply endorsement by the IETF.