Re: [vnrg] way forward on VNRG definitions

Joe Touch <touch@isi.edu> Thu, 15 July 2010 06:02 UTC

Return-Path: <touch@isi.edu>
X-Original-To: vnrg@core3.amsl.com
Delivered-To: vnrg@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 69BF23A684A for <vnrg@core3.amsl.com>; Wed, 14 Jul 2010 23:02:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.329
X-Spam-Level:
X-Spam-Status: No, score=0.329 tagged_above=-999 required=5 tests=[BAYES_20=-0.74, DATE_IN_PAST_06_12=1.069]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vIYQF--mVju1 for <vnrg@core3.amsl.com>; Wed, 14 Jul 2010 23:02:35 -0700 (PDT)
Received: from nitro.isi.edu (nitro.isi.edu [128.9.208.207]) by core3.amsl.com (Postfix) with ESMTP id 426793A6A0A for <vnrg@irtf.org>; Wed, 14 Jul 2010 23:02:35 -0700 (PDT)
Received: from [192.168.1.38] (pool-71-105-94-39.lsanca.dsl-w.verizon.net [71.105.94.39]) (authenticated bits=0) by nitro.isi.edu (8.13.8/8.13.8) with ESMTP id o6F61wnC006817 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 14 Jul 2010 23:02:08 -0700 (PDT)
Message-ID: <4C3E4D86.6090307@isi.edu>
Date: Wed, 14 Jul 2010 16:51:34 -0700
From: Joe Touch <touch@isi.edu>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.10) Gecko/20100512 Thunderbird/3.0.5
MIME-Version: 1.0
To: vnrg@irtf.org
References: <547F018265F92642B577B986577D671C014B9959@VENUS.office> <4C0E275D.3020604@intec.UGent.be> <9FA16888AD1BF64ABCE6C2532CCEB98A0A7A8C62@xmb-sjc-219.amer.cisco.com> <4C0E768F.3030703@isi.edu>
In-Reply-To: <4C0E768F.3030703@isi.edu>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-MailScanner-ID: o6F61wnC006817
X-ISI-4-69-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Subject: Re: [vnrg] way forward on VNRG definitions
X-BeenThere: vnrg@irtf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "Virtual Networks Research Group \(VNRG\) discussion list" <vnrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/listinfo/vnrg>, <mailto:vnrg-request@irtf.org?subject=unsubscribe>
List-Archive: <http://www.irtf.org/mail-archive/web/vnrg>
List-Post: <mailto:vnrg@irtf.org>
List-Help: <mailto:vnrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/vnrg>, <mailto:vnrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Jul 2010 06:02:38 -0000

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)

--