Subject: Re: [nvrg-bof] What is Network Virtualization?
From: JFC Morfin <[email-masked]>
To: Joe Touch <[email-masked]>,Joe Touch <[email-masked]>
Cc: [email-masked]
Date: Sun, 22 Jun 2008 16:16:11 +0200
List-Id: Discussion list for the proposal of a Network Virtualization RG <nvrg.listserv.gwdg.de>

Dear Joe,
- why is the router to be a virtual one? I understand a virtual 
router as a virtual machine which certainly can manage a real 
network. Since the router does not change anything, that the 
additional indirection information must initially be understood in 
some real manner, why would the routers have to different?

I suppose this may result from a vision of a network map like in a 
NIMROD with the information attached to the nodes. But if you 
consider that the information are attached to the virtual adjencies 
you do not need any node related information. You can compute 
presence, throughput and delays at related adjencies ends. This is 
more accurate as they may depend on the machine dynamic allocation to 
the VN resources for that node. The interest is that the difference 
between the I/O of one way of a virtual adjency gives the line 
entropy which may be more important to VN path optimization than node load?

- Interested to understand what difference you make between the added 
indirection information and presentation layer? My first guess is 
that they are the same except that you push a little more on what 
presentation is used to be considered in IETF ?

- any objection to have this indirection information made conditional 
in order to build dynamic VN? Depending on the router I come through 
I can select one routing or another one, or multiplicate (for example 
for security reasons or to support multicast or multihoming) ?

- can this indirection information also be virtual in your mind ? So 
I may use an addressing which is dedicated to the VN ? Or that can be dynamic.

- would you have an idea for a place where to locate that indirection 
information in packet headers ?

- one of the point I rose about multi-level addressing can also be 
discussed here.

You call a VH a place where the indirection information can be 
changed. What about "changed or should have been adequately changed". 
Let suppose the indirection information encapsulate a second level 
indirection. Now you have an OPES attached to the adjency (a shim at 
one of the I/O). If the indirection value the packet carries is the 
VH virtual address, the OPES can remove it, so the VH can directly 
act as a gateway using the new indirection?.

jfc

At 14:55 22/06/2008, Joe Touch wrote:
Based on exchanges with a few people on the list, I'll revisit my
>initial proposal.
>
>>Some acid tests for a definition:
>>     - it should support VPN, PPVPN, and overlays as VNs
>>     - it should not define the native Internet as a VN
>>         i.e., it must distinguish layering from
>>         "overlayering"
>
>Additional notes:
>        - network virtualization describes the process of
>        creating virtual networks, i.e.,
>                 NV is the process
>                 VNs are the artifact
>
>I define NV and VNs via the artifact created, because NV is then most
>generally defined:
>         NV is *any* process or mechanism that creates (enables the
>         creation) of VNs
>
>A _VN_ is a network composed of virtual links, virtual hosts, and
>virtual routers. Virtualization of links, hosts, and routers is
>accomplished by adding a layer of indirection in the names and/or
>addresses associated with each. A VL encodes this indirection sufficient
>for use by VHs and VRs; VHs and VRs uses this indirection information to
>associate with a VL. Additionally, a VH is a network node that adds or
>removes indirection information, and is associated with at least one VL
>in a given VN. A VR is a network node that does not add or remove
>indirection information, and is associated with at least two VLs in a
>given VN.
>
>The rest, I beleive, remains a reasonable summary of the capabilities of
>VNs:
>
>>---
>>Virtual networks have three primary uses:
>>     - protection
>>         allow new services/protocols to be deployed on a subset
>>             e.g., testbeds, incremental deployment
>>         keep experiments from leaking out
>>             e.g., testbeds
>>         keep others' uses from affecting a given use
>>             e.g., emergency services, guaranteed capacity,
>>             privacy/authentication
>>     - concurrency
>>         shared use of common infrastructure
>>     - abstraction
>>         simplify the topology (e.g., LISP/NERD)
>>         support application-specific topology (e.g., P2P)
>
>I have not listed mechanisms that support VNs, i.e., NV mechanisms yet.
>These might be summarized as:
>
>NV mechanisms:
>
>         - partitioning (as in Clonable Stacks in hosts/routers, and VPN
>         IDs, VLAN IDs, and tunneling in links, etc.)
>
>         - aggregation (channel bonding in links, NAT-like services
>         at the edge of server farms and cluster computers, etc.)
>
>         - combinations of the above
>
>Joe
>
>
>
>
>

Date: Sun, 22 Jun 2008 05:55:50 -0700
From: Joe Touch <[email-masked]>
To: Joe Touch <[email-masked]>
Cc: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig5847A7AF0FB5E2AD44C6DF6D
Content-Type: multipart/mixed;
 boundary="------------060500000206080201010702"

This is a multi-part message in MIME format.
--------------060500000206080201010702
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

Based on exchanges with a few people on the list, I'll revisit my
initial proposal.

> Some acid tests for a definition:
>     - it should support VPN, PPVPN, and overlays as VNs
>     - it should not define the native Internet as a VN
>         i.e., it must distinguish layering from
>         "overlayering"

Additional notes:
        - network virtualization describes the process of
        creating virtual networks, i.e.,
		NV is the process
		VNs are the artifact

I define NV and VNs via the artifact created, because NV is then most
generally defined:
	NV is *any* process or mechanism that creates (enables the
	creation) of VNs

A _VN_ is a network composed of virtual links, virtual hosts, and
virtual routers. Virtualization of links, hosts, and routers is
accomplished by adding a layer of indirection in the names and/or
addresses associated with each. A VL encodes this indirection sufficient
for use by VHs and VRs; VHs and VRs uses this indirection information to
associate with a VL. Additionally, a VH is a network node that adds or
removes indirection information, and is associated with at least one VL
in a given VN. A VR is a network node that does not add or remove
indirection information, and is associated with at least two VLs in a
given VN.

The rest, I beleive, remains a reasonable summary of the capabilities of
VNs:

> ---
>=20
> Virtual networks have three primary uses:
>     - protection
>         allow new services/protocols to be deployed on a subset
>             e.g., testbeds, incremental deployment
>         keep experiments from leaking out
>             e.g., testbeds
>         keep others' uses from affecting a given use
>             e.g., emergency services, guaranteed capacity,
>             privacy/authentication
>     - concurrency
>         shared use of common infrastructure
>     - abstraction
>         simplify the topology (e.g., LISP/NERD)
>         support application-specific topology (e.g., P2P)

I have not listed mechanisms that support VNs, i.e., NV mechanisms yet.
These might be summarized as:

NV mechanisms:

	- partitioning (as in Clonable Stacks in hosts/routers, and VPN
	IDs, VLAN IDs, and tunneling in links, etc.)

	- aggregation (channel bonding in links, NAT-like services
	at the edge of server farms and cluster computers, etc.)

	- combinations of the above

Joe

--------------060500000206080201010702
Content-Type: application/pgp-signature;
 name="signature.asc"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="signature.asc"

LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0NClZlcnNpb246IEdudVBHIHYxLjQuNyAo
TWluZ1czMikNCkNvbW1lbnQ6IFVzaW5nIEdudVBHIHdpdGggTW96aWxsYSAtIGh0dHA6Ly9l
bmlnbWFpbC5tb3pkZXYub3JnDQoNCmlEOERCUUZJWGtsZ0U1ZjVjSW1uWnJzUkFwaFVBSjlB
dHVMbWI4d2QvQXZ0WXIzUWhsblRRYkptUlFDZldPOWUNCm1rTHFBaHZWU2NIQmpkWTBkaFJn
dWUwPQ0KPW9YaXMNCi0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLQ0KDQo=
--------------060500000206080201010702--

--------------enig5847A7AF0FB5E2AD44C6DF6D
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

--------------enig5847A7AF0FB5E2AD44C6DF6D--

Date: Sun, 22 Jun 2008 08:22:13 -0400
From: Jennifer Rexford <[email-masked]>
To: Joe Touch <[email-masked]>
Cc: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

Joe,
>> In that sense, I'd view the Internet as supporting overlay networks, 
>> in the generic sense that an overlay network running (say) on end 
>> hosts could have packets traversing an overlay link be delivered via 
>> the Internet. 
>
> I'm asking whether you then consider TCP and UDP overlays on IP.

No, first, I consider TCP and UDP as protocols, rather than overlays.  
Also, I don't consider them protocols running on an overlay network 
because they are aware that they are running on IP and do not themselves 
provide (say) a network layer.  That is, in layering, the focus is on 
protocols and their relationship with the layer above and below, whereas 
an overlay (and a virtual network) provide more transparency and can 
themselves run their own suite of protocols.  That said, a TCP socket or 
UDP socket might be used as a building block for an overlay link in some 
virtual network (just like a GRE tunnel could be), but that's different 
than saying TCP or UDP themselves are overlays.

> Ethernet supports Appletalk, Decnet, etc. - does that mean that 
> ethernet supports network layer virtualization? that (as above) IP 
> supports transport layer virtualization?

Nope, not to me, because that's really about layering.  Appletalk and 
Decnet here are running on top of Ethernet.

>
> IMO, it's useful to distinguish virtualization from layering; the 
> former ought to add a layer of indirection.

Yup, I agree.

> That's what tunnels provide; perhaps that focuses too much on the 
> mechanism

Yup, but I agree it focuses too much on mechanism, and on the virtual 
links rather than including the nodes.

> (I say "network" here because VLANs don't support network indirection; 
> they support only link indirection; endpoints are not abstracted)

Yes, exactly.

-- Jen

Date: Sun, 22 Jun 2008 00:39:10 -0400
From: "Mosharaf Chowdhury" <[email-masked]>
To: "Nick Feamster" <[email-masked]>
Cc: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

------=_Part_13237_21424241.1214109550402
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

>
> But I don't think network virtualization scheme implies certain
> mechanisms (e.g., tunneling, manipulation of headers, etc.).
> Mosharaf's definition looks about right.  We could probably factor out
> the mention of "providers", since network virtualization doesn't
> necessarily imply a distinction between the providers of physical
> infrastructure are distinct from those creating the virtual networks.
>
> To me, the keys are (1) Sharing and (2) Exposing abstractions that
> provide the appearance of running on the physical network itself.
>
> -Nick
>
>
I would say that if you think of service providers (SPs) and infrastructure
providers (InPs) as roles instead of entities then it gets simpler. In this
case, any entity can assume the role of either an SP or an InP or both. When
a particular entity wants to create a VN, requiring certain characteristics,
it will contact other entities that have InP roles and can provide required
guarantees.

In the beginning, the entities that actually own the physical networks can
only have InP roles and all others entities must be SPs. Once some SPs
create some VNs, they can assume the role of (virtual) InPs for other SPs,
resulting in a hierarchy of roles. This will also ensure the much needed
abstraction i.e. all the interactions are between SP interfaces of entities
and InP interfaces of some other entities and each SP will be under the
impression that the InP who is leasing resources is the real deal, which in
reality may or may not be true.

Moreover, at every step of the hierarchy each entity can add some value to
the product (!), which will eventually drive the NV economy.

In addition, having two major roles should also be helpful for management
purposes. Once we have lines drawn between the management domains for each
of the roles, I believe, it might get easier to manage them; or may be not.
But having a monolithic management structure is never a good idea.

I would like to add that any better terms for SPs and InPs or any other ways
to express the very idea would be great. I just got used to using these
terms and now I am stuck with them, even though they seem a bit crass for
most people's taste.

And thanks everyone for such a lively debate. :)

-Mosharaf

*"To V or not to V that is the question."*

------=_Part_13237_21424241.1214109550402
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
But I don&#39;t think network virtualization scheme implies certain<br>
mechanisms (e.g., tunneling, manipulation of headers, etc.).<br>
Mosharaf&#39;s definition looks about right. &nbsp;We could probably factor out<br>
the mention of &quot;providers&quot;, since network virtualization doesn&#39;t<br>
necessarily imply a distinction between the providers of physical<br>
infrastructure are distinct from those creating the virtual networks.<br>
<br>
To me, the keys are (1) Sharing and (2) Exposing abstractions that<br>
provide the appearance of running on the physical network itself.<br>
<font color="#888888"><br>
-Nick<br>
</font><div><div></div><div class="Wj3C7c"><br></div></div></blockquote><div><br>I would say that if you think of service providers (SPs) and infrastructure providers (InPs) as roles instead of entities then it gets simpler. In this case, any entity can assume the role of either an SP or an InP or both. When a particular entity wants to create a VN, requiring certain characteristics, it will contact other entities that have InP roles and can provide required guarantees. <br>
<br>In the beginning, the entities that actually own the physical networks can only have InP roles and all others entities must be SPs. Once some SPs create some VNs, they can assume the role of (virtual) InPs for other SPs, resulting in a hierarchy of roles. This will also ensure the much needed abstraction i.e. all the interactions are between SP interfaces of entities and InP interfaces of some other entities and each SP will be under the impression that the InP who is leasing resources is the real deal, which in reality may or may not be true. <br>
<br>Moreover, at every step of the hierarchy each entity can add some value to the product (!), which will eventually drive the NV economy. <br><br>In addition, having two major roles should also be helpful for management purposes. Once we have lines drawn between the management domains for each of the roles, I believe, it might get easier to manage them; or may be not. But having a monolithic management structure is never a good idea. <br>
<br>I would like to add that any better terms for SPs and InPs or any other ways to express the very idea would be great. I just got used to using these terms and now I am stuck with them, even though they seem a bit crass for most people&#39;s taste. <br>
<br>And thanks everyone for such a lively debate. :)<br><br>-Mosharaf<br><br><i>&quot;To V or not to V that is the question.&quot;</i><br></div></div><br>

------=_Part_13237_21424241.1214109550402--

Date: Sat, 21 Jun 2008 19:27:47 -0700
From: Joe Touch <[email-masked]>
To: Jennifer Rexford <[email-masked]>
Cc: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig9E41209A9A40887512FD2272
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

Jennifer Rexford wrote:
> Joe,
>=20
>> If that's true, then why is the Internet not already a virtual net,=20
>> e.g., supporting different transport protocols over IP? IP is shared=20
>> by different transports. Similarly, ethernet supports different=20
>> network protocols.
 >
> In that sense, I'd view the Internet as supporting overlay networks, in=
=20
> the generic sense that an overlay network running (say) on end hosts=20
> could have packets traversing an overlay link be delivered via the=20
> Internet.=20

I'm asking whether you then consider TCP and UDP overlays on IP.

 > But, the Internet does not support network virtualization in
> that you cannot instantiate a virtual network *inside* the Internet,=20
> running *in parallel to* (as opposed to *on top of*) IP.

Ethernet supports Appletalk, Decnet, etc. - does that mean that ethernet =

supports network layer virtualization? that (as above) IP supports=20
transport layer virtualization?

IMO, it's useful to distinguish virtualization from layering; the former =

ought to add a layer of indirection. That's what tunnels provide;=20
perhaps that focuses too much on the mechanism, and we need to say "a=20
network that supports address indirection"?

(I say "network" here because VLANs don't support network indirection;=20
they support only link indirection; endpoints are not abstracted)

Joe

--------------enig9E41209A9A40887512FD2272
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

--------------enig9E41209A9A40887512FD2272--

Date: Sat, 21 Jun 2008 09:43:01 -0700
From: Joe Touch <[email-masked]>
To: Andreas Wundsam <[email-masked]>
Cc: Nick Feamster <[email-masked]>, [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigFF1A5F40433B7CA90345BA1A
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

Andreas Wundsam wrote:
> Hi,
>=20
>=20
> Joe Touch schrieb:
>> Nick Feamster wrote:
>>> I agree. unneling is a *mechanism* by which links can be instantiated=

>>> over a shared physical infrastructure, but the question "What is
>>> network virtualization?" is really a what question (tunneling answers=

>>> "How?", not "What?")=20
>>
>> If that's true, then why is the Internet not already a virtual net,=20
>> e.g., supporting different transport protocols over IP? IP is shared=20
>> by different transports. Similarly, ethernet supports different=20
>> network protocols.
>=20
> I would think think that the key difference is the level of transparenc=
y=20
> and information hiding offered. Virtualization generally is transparent=
=20
> to the user, layering is not. TCP knows it is running on top of IP. A=20
> network stack running in a virtualized network would believe itself to =

> be running alone on a dedicated physical infrastructure, when in fact i=
t=20
> could coexist with other networks on the same hardware. The analogy wit=
h=20
> Virtual Memory holds here - a program running on virtual memory does no=
t=20
> have to know other processes are existing on the system -- all it sees =

> is a flat address space starting at 0. Hence, I would consider VLANs,=20
> Tunnels etc. all proper mechanisms for virtualizing links, but only in =

> combination with a mechanism that hides their existence and specifics=20
> from the user.

VLANs don't qualify by your requirements above; VLANs don't own a=20
particular fraction of a link, so they could detect other VLANs on the=20
same link. Further, VLANs virtualize the link, but not the endpoints -=20
e.g., to have two segments with the same destination address and=20
different VLANs still go to the same physical destination.

As to layering, TCP knows it's running on IP, but not that IP is running =

on ethernet (or, in fact, what it's running on). Ignorance of=20
non-adjacent layers is a already a property of layering.

Support for separate stacks would include virtual hosts alone as=20
sufficient to make a virtual network (e.g., running two OS's on the same =

hardware, which I don't think makes sense.

I still think VNs need a layer of indirection; there are plenty of=20
interesting things that don't, and things that support VNs that don't,=20
but they're not key to the concept. It's that layer of indirection that=20
I describe as a tunnel - there are many ways to accomplish that,=20
including shim headers (HIP, SHIM6) as well as encapsulation.

Joe

--------------enigFF1A5F40433B7CA90345BA1A
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

--------------enigFF1A5F40433B7CA90345BA1A--

Date: Sat, 21 Jun 2008 11:20:13 -0400
From: Jennifer Rexford <[email-masked]>
To: Joe Touch <[email-masked]>
Cc: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

Joe,

> If that's true, then why is the Internet not already a virtual net, 
> e.g., supporting different transport protocols over IP? IP is shared 
> by different transports. Similarly, ethernet supports different 
> network protocols.
In that sense, I'd view the Internet as supporting overlay networks, in 
the generic sense that an overlay network running (say) on end hosts 
could have packets traversing an overlay link be delivered via the 
Internet.  But, the Internet does not support network virtualization in 
that you cannot instantiate a virtual network *inside* the Internet, 
running *in parallel to* (as opposed to *on top of*) IP.

-- Jen

Date: Sat, 21 Jun 2008 07:58:15 +0200
From: Andreas Wundsam <[email-masked]>
To: Joe Touch <[email-masked]>
Cc: Nick Feamster <[email-masked]>, [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

Hi,

Joe Touch schrieb:
> Nick Feamster wrote:
>> I agree. unneling is a *mechanism* by which links can be instantiated
>> over a shared physical infrastructure, but the question "What is
>> network virtualization?" is really a what question (tunneling answers
>> "How?", not "What?") 
> 
> If that's true, then why is the Internet not already a virtual net, 
> e.g., supporting different transport protocols over IP? IP is shared by 
> different transports. Similarly, ethernet supports different network 
> protocols.

I would think think that the key difference is the level of transparency 
and information hiding offered. Virtualization generally is transparent 
to the user, layering is not. TCP knows it is running on top of IP. A 
network stack running in a virtualized network would believe itself to 
be running alone on a dedicated physical infrastructure, when in fact it 
could coexist with other networks on the same hardware. The analogy with 
Virtual Memory holds here - a program running on virtual memory does not 
have to know other processes are existing on the system -- all it sees 
is a flat address space starting at 0. Hence, I would consider VLANs, 
Tunnels etc. all proper mechanisms for virtualizing links, but only in 
combination with a mechanism that hides their existence and specifics 
from the user.

Best regards,

Andi Wundsam
TU Berlin

-- 
Andreas Wundsam
Technische Universität Berlin, Deutsche Telekom Laboratories

address: Sekr. TEL 4, FG INET, Ernst-Reuter-Platz 7, 10587 Berlin
e-mail: [email-masked]
web: http://www.net.t-labs.tu-berlin.de/people/andi.shtml

Date: Fri, 20 Jun 2008 16:50:48 -0700
From: Joe Touch <[email-masked]>
To: Nick Feamster <[email-masked]>
Cc: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigB0FC5FD6417F75ED297BA24C
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

Nick Feamster wrote:
> I agree. unneling is a *mechanism* by which links can be instantiated
> over a shared physical infrastructure, but the question "What is
> network virtualization?" is really a what question (tunneling answers
> "How?", not "What?")=20

If that's true, then why is the Internet not already a virtual net,=20
e.g., supporting different transport protocols over IP? IP is shared by=20
different transports. Similarly, ethernet supports different network=20
protocols.

I'd like to see a test that explains how existing stacks aren't=20
considered virtual.

Joe

--------------enigB0FC5FD6417F75ED297BA24C
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

--------------enigB0FC5FD6417F75ED297BA24C--

Date: Fri, 20 Jun 2008 17:09:37 -0400
From: "Nick Feamster" <[email-masked]>
To: "Vytautas Valancius" <[email-masked]>
Cc: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

I agree. unneling is a *mechanism* by which links can be instantiated
over a shared physical infrastructure, but the question "What is
network virtualization?" is really a what question (tunneling answers
"How?", not "What?")

I believe a key aspect to network virtualization is the generic aspect
of sharing: VN allows multiple networks that conceivably could be
implemented on the physical infrastructure itself to be run on a
common physical infrastructure.

Beyond that, we can ask questions about mechanism, including:
* How are links and nodes virtualized?
* How is isolation enforced?
* How are headers manipulated?
* Should the VN expose different kinds of abstraction/interfaces (to
simplify designs at higher layers)?

But I don't think network virtualization scheme implies certain
mechanisms (e.g., tunneling, manipulation of headers, etc.).
Mosharaf's definition looks about right.  We could probably factor out
the mention of "providers", since network virtualization doesn't
necessarily imply a distinction between the providers of physical
infrastructure are distinct from those creating the virtual networks.

To me, the keys are (1) Sharing and (2) Exposing abstractions that
provide the appearance of running on the physical network itself.

-Nick

On Fri, Jun 20, 2008 at 12:59 PM, Vytautas Valancius <[email-masked]> wrote:
> Hi folks,
>
>> I agree in the sense that NV is a means to create a VM. I disagree about the
>> "shared substrate" part - it's the tunnels that define the virtualization in
>> my definition; how devices are shared is not directly relevant (that's
>> mechanism; see the end of this post).
>
> Tunnels is just one of the ways to use shared substrate. 'Shared
> substrate' is generic term and I don't think it implies how devices
> are shared.
>
> I thought the goal is to come up with the definition for the term
> 'network virtualization'. Mosharaf's definition seems pretty accurate,
> but probably too specific for some tastes. Very generic variant of the
> same definition, that supports anything is is:
>
> ---
> Networking environment supports network virtualization if it allows
> multiple virtual networks to co-exist together.
> ---
>
> IMHO that's a bare minimum. Sharing is mandatory, otherwise we would
> call it emulation. Based on our preferences one can drop in phrases
> like 'heterogeneous' to imply different guest network technologies,
> dynamic set-up, to highlight ease of use, providers, end users,
> gateways, etc. to indicate some usage scenario.
>
> Sincerely,
> Vytautas Valancius
> Georgia Tech
>

Date: Fri, 20 Jun 2008 23:00:08 +0200
To: "Vytautas Valancius" <[email-masked]>,[email-masked]
From: JFC Morfin <[email-masked]>
Subject: Re: [nvrg-bof] What is Network Virtualization?

At 18:59 20/06/2008, Vytautas Valancius wrote:
>---
>Networking environment supports network virtualization if it allows
>multiple virtual networks to co-exist together.
>---

Due to what virtuality is (i.e. the frontier between real and 
imaginary governed by an agreed axiology) network virtualization is a 
process whereby groups of users are delivered what they will accept 
as virtual networks by their own definition.

Virtuality does not exist as such, but as the result of a common 
agreement to consider something which is not real as if it was real.
jfc

Date: Fri, 20 Jun 2008 18:59:05 +0200
From: "Vytautas Valancius" <[email-masked]>
Sender: [email-masked]
To: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

Hi folks,

> I agree in the sense that NV is a means to create a VM. I disagree about the
> "shared substrate" part - it's the tunnels that define the virtualization in
> my definition; how devices are shared is not directly relevant (that's
> mechanism; see the end of this post).

Tunnels is just one of the ways to use shared substrate. 'Shared
substrate' is generic term and I don't think it implies how devices
are shared.

I thought the goal is to come up with the definition for the term
'network virtualization'. Mosharaf's definition seems pretty accurate,
but probably too specific for some tastes. Very generic variant of the
same definition, that supports anything is is:

---
Networking environment supports network virtualization if it allows
multiple virtual networks to co-exist together.
---

IMHO that's a bare minimum. Sharing is mandatory, otherwise we would
call it emulation. Based on our preferences one can drop in phrases
like 'heterogeneous' to imply different guest network technologies,
dynamic set-up, to highlight ease of use, providers, end users,
gateways, etc. to indicate some usage scenario.

Sincerely,
Vytautas Valancius
Georgia Tech

Date: Fri, 20 Jun 2008 08:36:05 -0700
From: Joe Touch <[email-masked]>
To: Martin Stiemerling <[email-masked]>
Cc: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig74D65A44DA0AD0EC007E02EA
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

Martin Stiemerling wrote:
=2E..
>> IMO:
>> - ---
>> A _virtual network_ is a network composed of tunnels, virtual=20
>> hosts, and/or virtual gateways. A tunnel is a link that=20
>> encapsulates for control purposes, but reaches only the=20
>> existing endpoints (this distinguishes it from how a native=20
>> L3 uses a native L2). A virtual host is a network node that=20
>> adds or removes headers, and has at least one tunnel endpoint=20
>> in a given virtual network. A virtual gateway is a network=20
>> node that does not add or remove headers, and has at least=20
>> two tunnel endpoints in a given virtual network.
>=20
> I believe that this is the definition of a virtual network but not
> necessarily network virtualisation. The first sentence is already rulin=
g
> out VLANs on ethernet (which could be one technique for network
> virtualization on that link layer). However, for virtual networks the
> defintion fits perfectly.

VLANs virtualize links, but not the endpoints. That makes them useful=20
for their intended purpose, but defeats using just that mechanism to=20
create a true virtual network. In particular, a VLAN cannot have a=20
topology that doesn't match the underlying ethernet topology in certain=20
ways - it cannot group endpoints to act as a single virtual endpoint, or =

fraction an endpoint to make it look like multiples, e.g.

Joe

--------------enig74D65A44DA0AD0EC007E02EA
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

--------------enig74D65A44DA0AD0EC007E02EA--

Content-class: urn:content-classes:message
Date: Fri, 20 Jun 2008 09:32:40 +0200
From: "Martin Stiemerling" <[email-masked]>
To: <[email-masked]>
Subject: [nvrg-bof] NVRG was out of service

Hi,

Please check if your email has made it to the nvrg list, if you have =
sent something to the NVRG list in the last 48 hours.

The list got stuck and should be back to normal operation by now.

  Martin

[email-masked]

NEC Laboratories Europe - Network Research Division
NEC Europe Limited | Registered Office: NEC House, 1 Victoria Road, =
London W3 6BL | Registered in England 2832014=20

Content-class: urn:content-classes:message
Date: Thu, 19 Jun 2008 16:48:32 +0200
From: "Martin Stiemerling" <[email-masked]>
To: <[email-masked]>
Subject: Re: [nvrg-bof] What is Network Virtualization?

Joe, all,

> -----Original Message-----
> From: [email-masked]=20
> [mailto:[email-masked]] On Behalf Of Joe Touch
> Sent: Tuesday, June 17, 2008 7:11 PM
> To: Martin Stiemerling
> Cc: [email-masked]
> Subject: Re: [nvrg-bof] What is Network Virtualization?
>=20
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>=20
> Martin (et al.),
>=20
> Martin Stiemerling wrote:
> | Hi all,
> |
> | It has been quite silent on the NVRG list for a while.=20
> Sorry for that.
> |
> | I have been stepping back a bit and considered what network
> virtualization actually might be.
> |
> | So is there the first attempt to get some discussions started.
> |
> | Apparently there are different camps in the area of network
> virtualization (at least from my recent experience):
> | a) network virtualization in test beds (GENI, parts of=20
> 4WARD, Akari,=20
> | etc)
> 	while interesting, this seems an application of (b) below,
> 	and decidedly uninteresting architecturally; testbeds have no
> 	unique requirements in this area, IMO

I also see that a) is an application of b) but time wise (at least right =
now) a) is hot. Even though I personally tend also to b) for the =
architectural aspects.=20

> 	I'd include rbridges/trill and L2VPNs here.

Ok.

>=20
> | b) network virtualization for the Internet (parts of 4WARD, my own
> idea, etc)
> 	including X-Bone, FWIW ;-)

Yep, forgot that when writing. Thanks for reminding! :)

>=20
> | c) existing parts, for instance, l*vpn in the IETF and=20
> virtual router
> support in existing devices.
> 	this includes LISP and NERD, but I would not include L2VPNs
> 	or L3VPNs here.
>=20
> (a) arguably includes virtualization at any layer
> (c) arguably are components of (b)

Agreed.=20

>=20
> IMO, the IRTF/IETF ought to focus on (b) and the components=20
> of (c) that support (b).

I do not want to rule out a) if people on the list feel that this is the =
right place to discuss issues related to this. However, there can be =
other venues better suitable for discussing this, e.g., GENI.=20

Personally, I also see the focus on b) and components of c) that support =
b). But as you've said a) might be special case of b).

Thanks,

  Martin=20

[email-masked]

NEC Laboratories Europe - Network Research Division
NEC Europe Limited | Registered Office: NEC House, 1 Victoria Road, =
London W3 6BL | Registered in England 2832014 =20

Content-class: urn:content-classes:message
Date: Thu, 19 Jun 2008 16:30:41 +0200
From: "Martin Stiemerling" <[email-masked]>
To: <[email-masked]>
Subject: Re: [nvrg-bof] What is Network Virtualization?

Hi Joe, all,

> -----Original Message-----
> From: [email-masked]=20
> [mailto:[email-masked]] On Behalf Of Joe Touch
> Sent: Tuesday, June 17, 2008 7:02 PM
> To: [email-masked]
> Subject: Re: [nvrg-bof] What is Network Virtualization?
>=20
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>=20
>=20
>=20
> Mosharaf Chowdhury wrote:
> | Thanks Martin for bringing up this matter. I had the following=20
> | definition for network virtualization in my mind for quite=20
> a while. To=20
> | my understanding most of the aspects are covered. I was=20
> looking for a=20
> | one-liner, but now it seems a bit too long for one line :)
> |
> |
> |     Network virtualization is a _networking environment_ that allows
> |     _multiple service providers_ to _dynamically compose_ _multiple
> |     heterogeneous virtual networks_ that _co-exist together_ in
> |     _isolation_ from each other, and to deploy _customized=20
> end-to-end
> |     services_ _on-the-fly_ as well as _manage_ them on those virtual
> |     networks for the _end-users_ by _effectively sharing_=20
> and _utilizing
> |     underlying network resources_ _leased_ from _multiple=20
> infrastructure
> |     providers_.
>=20
> This focuses on providers; that's not necessarily relevant at all.

+1. I consider this as some business plan but not part of the defintion

>=20
> Resource sharing alone isn't sufficient either, since that's=20
> already accomplished by provisioning, e.g., different sonet=20
> paths supporting different ISPs on the same infrastructure.
>=20
> Some acid tests for a definition:
> 	- it should support VPN, PPVPN, and overlays as VNs
> 	- it should not define the native Internet as a VN
> 		i.e., it must distinguish layering from
> 		"overlayering"
>=20
> IMO:
> - ---
> A _virtual network_ is a network composed of tunnels, virtual=20
> hosts, and/or virtual gateways. A tunnel is a link that=20
> encapsulates for control purposes, but reaches only the=20
> existing endpoints (this distinguishes it from how a native=20
> L3 uses a native L2). A virtual host is a network node that=20
> adds or removes headers, and has at least one tunnel endpoint=20
> in a given virtual network. A virtual gateway is a network=20
> node that does not add or remove headers, and has at least=20
> two tunnel endpoints in a given virtual network.

I believe that this is the definition of a virtual network but not =
necessarily network virtualisation. The first sentence is already ruling =
out VLANs on ethernet (which could be one technique for network =
virtualization on that link layer). However, for virtual networks the =
defintion fits perfectly.=20

> - ---
>=20
> Virtual networks have three primary uses:
> 	- protection
> 		allow new services/protocols to be deployed on a subset
> 			e.g., testbeds, incremental deployment
> 		keep experiments from leaking out
> 			e.g., testbeds
> 		keep others' uses from affecting a given use
> 			e.g., emergency services, guaranteed capacity,
> 			privacy/authentication
> 	- concurrency
> 		shared use of common infrastructure
> 	- abstraction
> 		simplify the topology (e.g., LISP/NERD)
> 		support application-specific topology (e.g., P2P)
>=20
> I don't think these uses have anything to do with the=20
> definition, though; they come out of the definition, rather=20
> than drive it.

Sure and they also apply IMHO to network virtualization (e.g. VINI has =
as far as I understand the same uses).

  Martin

Date: Thu, 19 Jun 2008 00:56:33 -0400
From: Jennifer Rexford <[email-masked]>
To: Joe Touch <[email-masked]>
Cc: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

Joe,
> | Well, terms like "overlay" and "virtual network" are admittedly used
> | by many people with different meanings.
>
> It would be useful to clarify; they are the same to me.

To me, the distinction relates to whether the topology is 
supported/hosted directly in the infrastructure or not.  In any case, 
whatever the terms, I think there is an interesting distinction to make 
about whether the underlying infrastructure (or substrate or whatever) 
supports the virtual networks, as it creates additional requirements for 
the network elements.

> VM is the result; MV is the process by which VM is supported. I don't
> see how either requires sharing of physical memory, as per the example I
> gave previously. The key aspect is the additional layer of indirection
> of the address space.

That's indeed the key aspect of virtual memory.  That said, I think it's 
useful to think about the notion of a shared physical memory supporting 
the abstraction of multiple virtual memories.  To me, that's what a term 
like "memory virtualization" connotes.  I agree that virtual memory 
doesn't necessarily require the sharing of physical memory but that, 
when such sharing does occur, it does imply some set of mechanisms and 
policies to enable such sharing.
> Mechanisms that support network virtualization can be interesting, but I
> wouldn't either explain or motivate VNs by their supporting mechanisms;
I wouldn't either, but I thought the question was to define what 
"network virtualization" means, not what a "virtual network" is.  The 
underlying substrate that enables the sharing of the physical network 
is, to me at least, what the term "network virtualization" means.

-- Jen

Date: Wed, 18 Jun 2008 08:10:53 -0700
From: Joe Touch <[email-masked]>
To: Jennifer Rexford <[email-masked]>
Cc: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

Jennifer Rexford wrote:
| Joe,
|>
|> I agree in the sense that NV is a means to create a VM. I disagree
|> about the "shared substrate" part - it's the tunnels that define
|> the virtualization in my definition; how devices are shared is not
|> directly relevant (that's mechanism; see the end of this post).
|
| Well, terms like "overlay" and "virtual network" are admittedly used
| by many people with different meanings.

It would be useful to clarify; they are the same to me.

| In my mind, a tunnel itself is also a sort of mechanism, and the
| notion of a tunnel alone doesn't help draw a meaningful distinction
| for me between (say) a virtual network and an overlay network

As above, that isn't necessarily needed. Tunnels are the distinction
between the stacks used by conventional networks and those used by
virtual nets. Granted, they are just a mechanism, so maybe it's cleaner
to say:

VNs add a layer of indirection in the handling of messages.

There are various ways to do that; some encapsulate explicitly, some add
a "shim" header (as with 802 VLANs), etc.

|> The analogy to VM is useful here. There are many ways to achieve
|> VM, but they do not all involve sharing physical memory
|
| Yup, agreed.  That gets at the distinction I would make between
| "memory virtualization" and "virtual memory".  Memory virtualization
| would, to me, refer to the sharing of the physical memory (i.e., on a
| platform that supports virtualizing the physical memory so multiple
| virtual memories can share it), whereas virtual memory is the concept
| or abstraction or architecture as seen by a single process.

VM is the result; MV is the process by which VM is supported. I don't
see how either requires sharing of physical memory, as per the example I
gave previously. The key aspect is the additional layer of indirection
of the address space.

|> Asking what it means for "a substrate to support NV" is a different
|>  question than asking what VN or NV is, IMO.
|
| Yup, I understood your viewpoint, and was intending to offer a
| different view that draws a distinction between the abstraction (of a
| virtual network) and an underlying system that can support or host
| multiple instances of that abstraction (i.e., network
| virtualization).

Mechanisms that support network virtualization can be interesting, but I
wouldn't either explain or motivate VNs by their supporting mechanisms;
they change. Some old versions of VM mechanisms that (nearly always) no
longer apply:
	- swapping to disk
	- segmentation
	- overlays

Joe

Date: Wed, 18 Jun 2008 01:06:44 -0400
From: Jennifer Rexford <[email-masked]>
To: Joe Touch <[email-masked]>
Cc: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

Joe,
>
> I agree in the sense that NV is a means to create a VM. I disagree 
> about the "shared substrate" part - it's the tunnels that define the 
> virtualization in my definition; how devices are shared is not 
> directly relevant (that's mechanism; see the end of this post).

Well, terms like "overlay" and "virtual network" are admittedly used by 
many people with different meanings.  In my mind, a tunnel itself is 
also a sort of mechanism, and the notion of a tunnel alone doesn't help 
draw a meaningful distinction for me between (say) a virtual network and 
an overlay network.

>
> The analogy to VM is useful here. There are many ways to achieve VM, 
> but they do not all involve sharing physical memory

Yup, agreed.  That gets at the distinction I would make between "memory 
virtualization" and "virtual memory".  Memory virtualization would, to 
me, refer to the sharing of the physical memory (i.e., on a platform 
that supports virtualizing the physical memory so multiple virtual 
memories can share it), whereas virtual memory is the concept or 
abstraction or architecture as seen by a single process.

> Asking what it means for "a substrate to support NV" is a different 
> question than asking what VN or NV is, IMO.

Yup, I understood your viewpoint, and was intending to offer a different 
view that draws a distinction between the abstraction (of a virtual 
network) and an underlying system that can support or host multiple 
instances of that abstraction (i.e., network virtualization). 

-- Jen

Date: Tue, 17 Jun 2008 21:27:20 -0700
From: Joe Touch <[email-masked]>
To: Jennifer Rexford <[email-masked]>
Cc: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigDC9D3F5CEAC030BB7A49275A
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable

Jennifer Rexford wrote:
> Joe,
>> A _virtual network_ is a network composed of tunnels, virtual hosts,
>> and/or virtual gateways. A tunnel is a link that encapsulates for
>> control purposes, but reaches only the existing endpoints (this
>> distinguishes it from how a native L3 uses a native L2). A virtual hos=
t
>> is a network node that adds or removes headers, and has at least one
>> tunnel endpoint in a given virtual network. A virtual gateway is a
>> network node that does not add or remove headers, and has at least two=

>> tunnel endpoints in a given virtual network.
>=20
> That strikes me as a definition of a virtual network, rather than a=20
> definition of network virtualization. =20

That seems like saying that memory virtualization is different from=20
virtual memory.

> You could view network=20
> virtualization as a *platform* for supporting multiple virtual network =

> topologies on a shared substrate=20

I agree in the sense that NV is a means to create a VM. I disagree about =

the "shared substrate" part - it's the tunnels that define the=20
virtualization in my definition; how devices are shared is not directly=20
relevant (that's mechanism; see the end of this post).

The analogy to VM is useful here. There are many ways to achieve VM, but =

they do not all involve sharing physical memory - they involve=20
_decoupling_ the network architecture from the components that support=20
that architecture - whether real or emulated. E.g., VM still has value=20
when there is a very large (essentially unbounded) amount of RAM -- it=20
lets each process start at address 0, avoids needing to know how much=20
memory each process will consume a priori but still allows the addresses =

to be contiguous, and keeps processes from accessing each others'=20
memory. There is no sharing, and yet the abstraction of virtualization=20
is still important.

> -- that is, a platform that has the=20
> ability to support or "host" (multiple) virtual topologies (each=20
> consisting of multiple virtual nodes and virtual links) running directl=
y=20
> in the underlying substrate.  For example, while an (IP) network like=20
> the Internet can carry packets on behalf of overlay links (i.e.,=20
> tunnels) between end hosts that span multiple underlying router hops,=20
> that does not necessarily mean that the Internet substrate itself=20
> supports network virtualization, because the overlay links might run=20
> over (rather than in) the underlying substrate, and the virtual nodes=20
> run outside of the substrate (e.g., on end hosts).

Asking what it means for "a substrate to support NV" is a different=20
question than asking what VN or NV is, IMO.

Joe

--------------enigDC9D3F5CEAC030BB7A49275A
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

--------------enigDC9D3F5CEAC030BB7A49275A--

Date: Tue, 17 Jun 2008 23:38:57 -0400
From: Jennifer Rexford <[email-masked]>
To: Joe Touch <[email-masked]>
Cc: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

Joe,
> A _virtual network_ is a network composed of tunnels, virtual hosts,
> and/or virtual gateways. A tunnel is a link that encapsulates for
> control purposes, but reaches only the existing endpoints (this
> distinguishes it from how a native L3 uses a native L2). A virtual host
> is a network node that adds or removes headers, and has at least one
> tunnel endpoint in a given virtual network. A virtual gateway is a
> network node that does not add or remove headers, and has at least two
> tunnel endpoints in a given virtual network.

That strikes me as a definition of a virtual network, rather than a 
definition of network virtualization.  You could view network 
virtualization as a *platform* for supporting multiple virtual network 
topologies on a shared substrate -- that is, a platform that has the 
ability to support or "host" (multiple) virtual topologies (each 
consisting of multiple virtual nodes and virtual links) running directly 
in the underlying substrate.  For example, while an (IP) network like 
the Internet can carry packets on behalf of overlay links (i.e., 
tunnels) between end hosts that span multiple underlying router hops, 
that does not necessarily mean that the Internet substrate itself 
supports network virtualization, because the overlay links might run 
over (rather than in) the underlying substrate, and the virtual nodes 
run outside of the substrate (e.g., on end hosts).

-- Jen
> - ---
>
> Virtual networks have three primary uses:
>     - protection
>         allow new services/protocols to be deployed on a subset
>             e.g., testbeds, incremental deployment
>         keep experiments from leaking out
>             e.g., testbeds
>         keep others' uses from affecting a given use
>             e.g., emergency services, guaranteed capacity,
>             privacy/authentication
>     - concurrency
>         shared use of common infrastructure
>     - abstraction
>         simplify the topology (e.g., LISP/NERD)
>         support application-specific topology (e.g., P2P)
>
> I don't think these uses have anything to do with the definition,
> though; they come out of the definition, rather than drive it.
>
> Joe
>
>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.3 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iD8DBQFIV+4dE5f5cImnZrsRAuN2AKCVC1I884uvINCpU13ndCd1Uq/QwgCdEyyV
> rCiBz73xSSHsDHs5Lxz3Doo=
> =KpJV
> -----END PGP SIGNATURE-----

Date: Tue, 17 Jun 2008 10:10:43 -0700
From: Joe Touch <[email-masked]>
To: Martin Stiemerling <[email-masked]>
Cc: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

Martin (et al.),

Martin Stiemerling wrote:
| Hi all,
|
| It has been quite silent on the NVRG list for a while. Sorry for that.
|
| I have been stepping back a bit and considered what network
virtualization actually might be.
|
| So is there the first attempt to get some discussions started.
|
| Apparently there are different camps in the area of network
virtualization (at least from my recent experience):
| a) network virtualization in test beds (GENI, parts of 4WARD, Akari, etc)
	while interesting, this seems an application of (b) below,
	and decidedly uninteresting architecturally; testbeds have no
	unique requirements in this area, IMO
	I'd include rbridges/trill and L2VPNs here.

| b) network virtualization for the Internet (parts of 4WARD, my own
idea, etc)
	including X-Bone, FWIW ;-)

| c) existing parts, for instance, l*vpn in the IETF and virtual router
support in existing devices.
	this includes LISP and NERD, but I would not include L2VPNs
	or L3VPNs here.

(a) arguably includes virtualization at any layer
(c) arguably are components of (b)

IMO, the IRTF/IETF ought to focus on (b) and the components of (c) that
support (b).

| For each of the above, different meanings of what network
| virtualization is, might apply. The least common dominator between all
| of them is, that they want to reuse an existing resouce (e.g., host,
| router, link, switch, virtual network) for multiple "usages". For a) the
| usage is running multiple experiements on the same infrastructure while
| b) envisions running multiple Internet-technologies on the same global
| infrastructure. c) is, at least to my understanding, not aiming at a
| complete set of infrastructure, but targeting specific virtualization
| needs (e.g., VLAN on ethernet).

Usage is irrelevant and ephemeral. (perhaps irrelevant because it's
ephemeral, if you prefer...

Joe

Date: Tue, 17 Jun 2008 10:02:21 -0700
From: Joe Touch <[email-masked]>
To: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

Mosharaf Chowdhury wrote:
| Thanks Martin for bringing up this matter. I had the following
| definition for network virtualization in my mind for quite a while. To
| my understanding most of the aspects are covered. I was looking for a
| one-liner, but now it seems a bit too long for one line :)
|
|
|     Network virtualization is a _networking environment_ that allows
|     _multiple service providers_ to _dynamically compose_ _multiple
|     heterogeneous virtual networks_ that _co-exist together_ in
|     _isolation_ from each other, and to deploy _customized end-to-end
|     services_ _on-the-fly_ as well as _manage_ them on those virtual
|     networks for the _end-users_ by _effectively sharing_ and _utilizing
|     underlying network resources_ _leased_ from _multiple infrastructure
|     providers_.

This focuses on providers; that's not necessarily relevant at all.

Resource sharing alone isn't sufficient either, since that's already
accomplished by provisioning, e.g., different sonet paths supporting
different ISPs on the same infrastructure.

Some acid tests for a definition:
	- it should support VPN, PPVPN, and overlays as VNs
	- it should not define the native Internet as a VN
		i.e., it must distinguish layering from
		"overlayering"

IMO:
- ---
A _virtual network_ is a network composed of tunnels, virtual hosts,
and/or virtual gateways. A tunnel is a link that encapsulates for
control purposes, but reaches only the existing endpoints (this
distinguishes it from how a native L3 uses a native L2). A virtual host
is a network node that adds or removes headers, and has at least one
tunnel endpoint in a given virtual network. A virtual gateway is a
network node that does not add or remove headers, and has at least two
tunnel endpoints in a given virtual network.
- ---

Virtual networks have three primary uses:
	- protection
		allow new services/protocols to be deployed on a subset
			e.g., testbeds, incremental deployment
		keep experiments from leaking out
			e.g., testbeds
		keep others' uses from affecting a given use
			e.g., emergency services, guaranteed capacity,
			privacy/authentication
	- concurrency
		shared use of common infrastructure
	- abstraction
		simplify the topology (e.g., LISP/NERD)
		support application-specific topology (e.g., P2P)

I don't think these uses have anything to do with the definition,
though; they come out of the definition, rather than drive it.

Joe

Date: Tue, 17 Jun 2008 11:15:32 -0400
From: "Mosharaf Chowdhury" <[email-masked]>
To: [email-masked]
Subject: Re: [nvrg-bof] What is Network Virtualization?

------=_Part_6002_702289.1213715732282
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Thanks Martin for bringing up this matter. I had the following definition
for network virtualization in my mind for quite a while. To my understanding
most of the aspects are covered. I was looking for a one-liner, but now it
seems a bit too long for one line :)

> Network virtualization is a *networking environment* that allows *multiple
> service providers* to *dynamically compose* *multiple heterogeneous
> virtual networks* that *co-exist together* in *isolation* from each other,
> and to deploy *customized end-to-end services* *on-the-fly* as well as *
> manage* them on those virtual networks for the *end-users* by *effectively
> sharing* and *utilizing underlying network resources* *leased* from *multiple
> infrastructure providers*.
>

I have underlined the main points in the definition, and some of them needs
slight tweaking. But thats what a discussion is for, no?

Looking forward to everyone's feedback.

--
Mosharaf K Chowdhury
Graduate Student
David R. Cheriton School of Computer Science
University of Waterloo
http://www.mosharaf.com/

On Tue, Jun 17, 2008 at 8:15 AM, Martin Stiemerling
<[email-masked]> wrote:

> Hi all,
>
> It has been quite silent on the NVRG list for a while. Sorry for that.
>
> I have been stepping back a bit and considered what network virtualization
> actually might be.
>
> So is there the first attempt to get some discussions started.
>
> Apparently there are different camps in the area of network virtualization
> (at least from my recent experience):
> a) network virtualization in test beds (GENI, parts of 4WARD, Akari, etc)
> b) network virtualization for the Internet (parts of 4WARD, my own idea,
> etc)
> c) existing parts, for instance, l*vpn in the IETF and virtual router
> support in existing devices.
>
> For each of the above, different meanings of what network virtualization
> is, might apply. The least common dominator between all of them is, that
> they want to reuse an existing resouce (e.g., host, router, link, switch,
> virtual network) for multiple "usages". For a) the usage is running multiple
> experiements on the same infrastructure while b) envisions running multiple
> Internet-technologies on the same global infrastructure. c) is, at least to
> my understanding, not aiming at a complete set of infrastructure, but
> targeting specific virtualization needs (e.g., VLAN on ethernet).
>
> Ok, I could keep on writing here, but I would like to hear other people's
> opinions first.
>
> Cheers,
>
>  Martin
>
> Any thoughts?
>
> Regards,
>
>  Martin
>
> [email-masked]
>
> NEC Laboratories Europe - Network Research Division
> NEC Europe Limited | Registered Office: NEC House, 1 Victoria Road, London
> W3 6BL | Registered in England 2832014
>

------=_Part_6002_702289.1213715732282
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

<div>Thanks Martin for bringing up this matter. I had the following
definition for network virtualization in my mind for quite a while. To
my understanding most of the aspects are covered. I was looking for a
one-liner, but now it seems a bit too long for one line :)<br>
&nbsp;<br></div><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">Network virtualization is a <u>networking environment</u> that allows <u>multiple
service providers</u> to <u>dynamically compose</u> <u>multiple heterogeneous virtual
networks</u> that <u>co-exist together</u> in <u>isolation</u> from each other, and to
deploy <u>customized end-to-end services</u> <u>on-the-fly</u> as well as <u>manage</u> them
on those virtual networks for the <u>end-users</u> by <u>effectively sharing</u> and
<u>utilizing underlying network resources</u> <u>leased</u> from <u>multiple
infrastructure providers</u>.<br clear="all"></blockquote><br>I
have underlined the main points in the definition, and some of them
needs slight tweaking. But thats what a discussion is for, no?<br><br>Looking forward to everyone&#39;s feedback.<br clear="all"><br>--<br>Mosharaf K Chowdhury<br>Graduate Student<br>David R. Cheriton School of Computer Science<br>
University of Waterloo<br><a href="http://www.mosharaf.com/">http://www.mosharaf.com/</a><br>
<br><br><div class="gmail_quote">On Tue, Jun 17, 2008 at 8:15 AM, Martin Stiemerling &lt;[email-masked]&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi all,<br>
<br>
It has been quite silent on the NVRG list for a while. Sorry for that.<br>
<br>
I have been stepping back a bit and considered what network virtualization actually might be.<br>
<br>
So is there the first attempt to get some discussions started.<br>
<br>
Apparently there are different camps in the area of network virtualization (at least from my recent experience):<br>
a) network virtualization in test beds (GENI, parts of 4WARD, Akari, etc)<br>
b) network virtualization for the Internet (parts of 4WARD, my own idea, etc)<br>
c) existing parts, for instance, l*vpn in the IETF and virtual router support in existing devices.<br>
<br>
For each of the above, different meanings of what network virtualization is, might apply. The least common dominator between all of them is, that they want to reuse an existing resouce (e.g., host, router, link, switch, virtual network) for multiple &quot;usages&quot;. For a) the usage is running multiple experiements on the same infrastructure while b) envisions running multiple Internet-technologies on the same global infrastructure. c) is, at least to my understanding, not aiming at a complete set of infrastructure, but targeting specific virtualization needs (e.g., VLAN on ethernet).<br>

<br>
Ok, I could keep on writing here, but I would like to hear other people&#39;s opinions first.<br>
<br>
Cheers,<br>
<br>
 &nbsp;Martin<br>
<br>
Any thoughts?<br>
<br>
Regards,<br>
<br>
 &nbsp;Martin<br>
<br>
[email-masked]<br>
<br>
NEC Laboratories Europe - Network Research Division<br>
NEC Europe Limited | Registered Office: NEC House, 1 Victoria Road, London W3 6BL | Registered in England 2832014<br>
</blockquote></div><br>

------=_Part_6002_702289.1213715732282--

Content-class: urn:content-classes:message
Date: Tue, 17 Jun 2008 14:15:44 +0200
From: "Martin Stiemerling" <[email-masked]>
To: <[email-masked]>
Subject: [nvrg-bof] What is Network Virtualization?

Hi all,

It has been quite silent on the NVRG list for a while. Sorry for that.=20

I have been stepping back a bit and considered what network =
virtualization actually might be.=20

So is there the first attempt to get some discussions started.=20

Apparently there are different camps in the area of network =
virtualization (at least from my recent experience):
a) network virtualization in test beds (GENI, parts of 4WARD, Akari, =
etc)
b) network virtualization for the Internet (parts of 4WARD, my own idea, =
etc)
c) existing parts, for instance, l*vpn in the IETF and virtual router =
support in existing devices.

For each of the above, different meanings of what network virtualization =
is, might apply. The least common dominator between all of them is, that =
they want to reuse an existing resouce (e.g., host, router, link, =
switch, virtual network) for multiple "usages". For a) the usage is =
running multiple experiements on the same infrastructure while b) =
envisions running multiple Internet-technologies on the same global =
infrastructure. c) is, at least to my understanding, not aiming at a =
complete set of infrastructure, but targeting specific virtualization =
needs (e.g., VLAN on ethernet).=20

Ok, I could keep on writing here, but I would like to hear other =
people's opinions first.

Cheers,

  Martin

Any thoughts?

Regards,

  Martin

[email-masked]

NEC Laboratories Europe - Network Research Division
NEC Europe Limited | Registered Office: NEC House, 1 Victoria Road, =
London W3 6BL | Registered in England 2832014=20