Re: [sfc] Specifying chains of network functions [Re: Figures in draft-quinn-sfc-arch-05]

Dave Dolson <ddolson@sandvine.com> Thu, 05 June 2014 13:49 UTC

Return-Path: <ddolson@sandvine.com>
X-Original-To: sfc@ietfa.amsl.com
Delivered-To: sfc@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B7E961A017E for <sfc@ietfa.amsl.com>; Thu, 5 Jun 2014 06:49:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.55
X-Spam-Level:
X-Spam-Status: No, score=-2.55 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-0.651] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Rn_J_ewKFOus for <sfc@ietfa.amsl.com>; Thu, 5 Jun 2014 06:49:11 -0700 (PDT)
Received: from mail1.sandvine.com (Mail1.sandvine.com [64.7.137.134]) by ietfa.amsl.com (Postfix) with ESMTP id CB08E1A0179 for <sfc@ietf.org>; Thu, 5 Jun 2014 06:49:10 -0700 (PDT)
Received: from WTL-EXCHP-2.sandvine.com ([fe80::68ac:f071:19ff:3455]) by blr-exchp-2.sandvine.com ([fe80::c8c4:1c2a:2ea3:e874%14]) with mapi id 14.01.0438.000; Thu, 5 Jun 2014 09:49:04 -0400
From: Dave Dolson <ddolson@sandvine.com>
To: Sevil Mehraghdam <sevil.mehraghdam@uni-paderborn.de>, "sfc@ietf.org" <sfc@ietf.org>
Thread-Topic: [sfc] Specifying chains of network functions [Re: Figures in draft-quinn-sfc-arch-05]
Thread-Index: AQHPgI2oT4IwXzeGhUysDZihsLuYJptigcug
Date: Thu, 05 Jun 2014 13:49:03 +0000
Message-ID: <E8355113905631478EFF04F5AA706E9830A0F891@wtl-exchp-2.sandvine.com>
References: <48E1A67CB9CA044EADFEAB87D814BFF632AD0443@eusaamb107.ericsson.se> <075DE01702BBC249BE1357EFD20DCFE556E2EC@xmb-aln-x02.cisco.com> <48E1A67CB9CA044EADFEAB87D814BFF632AD07D6@eusaamb107.ericsson.se> <2691CE0099834E4A9C5044EEC662BB9D45389B2C@dfweml701-chm.china.huawei.com> <4A95BA014132FF49AE685FAB4B9F17F645D290DA@dfweml701-chm.china.huawei.com> <48E1A67CB9CA044EADFEAB87D814BFF632AD0B1B@eusaamb107.ericsson.se> <4A95BA014132FF49AE685FAB4B9F17F645D29193@dfweml701-chm.china.huawei.com> <48E1A67CB9CA044EADFEAB87D814BFF632AD1504@eusaamb107.ericsson.se> <5390188A.8030000@uni-paderborn.de>
In-Reply-To: <5390188A.8030000@uni-paderborn.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [192.168.200.40]
Content-Type: multipart/alternative; boundary="_000_E8355113905631478EFF04F5AA706E9830A0F891wtlexchp2sandvi_"
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/sfc/d2ALWs01NnIoE7SPH-wYl-5C1CE
Subject: Re: [sfc] Specifying chains of network functions [Re: Figures in draft-quinn-sfc-arch-05]
X-BeenThere: sfc@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Network Service Chaining <sfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sfc>, <mailto:sfc-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sfc/>
List-Post: <mailto:sfc@ietf.org>
List-Help: <mailto:sfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sfc>, <mailto:sfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jun 2014 13:49:17 -0000

Sevil,
I only skimmed your work, so apologies if I've missed the point. I believe you are providing algorithms for converting high-level service requests into concrete service chains, without using any specific implementation.

It seems to me this work is favorably complementary to the IETF's SFC work of determining the protocols of service chaining.
(IETF determines implementation of services chains, and your work decides which chains *should* be created.)

My question to you is, what assumptions do you need to make about the implementation of the chains that the SFC working group needs to consider in forming requirements?

For example, it looks like your algorithm requires some inputs about maximum numbers of functions and chains supported by each VNF.
Therefore we might see a need for a VNF to be able to expose that information in the protocol.

Looked at another way, which of the proposals (e.g., in http://tools.ietf.org/html/draft-boucadair-sfc-design-analysis-02) work with your approach and which do not?

Something else you could look at, is the orchestration template proposal of http://tools.ietf.org/html/draft-cao-sfc-control-orchestration-00 rigorous enough to be solved?


David Dolson
Senior Software Architect, Sandvine Inc.




From: sfc [mailto:sfc-bounces@ietf.org] On Behalf Of Sevil Mehraghdam
Sent: Thursday, June 05, 2014 3:13 AM
To: sfc@ietf.org
Subject: [sfc] Specifying chains of network functions [Re: Figures in draft-quinn-sfc-arch-05]

Hello,

I am new to this mailing list, and regarding the discussion about representing the chained functions, I would like to draw your attention to our work:

"Specifying and Placing Chains of Virtual Network Functions" (http://arxiv.org/abs/1406.1058)

We have defined a language for specifying the chaining among network functions. We use it for describing an optimization problem for placement of chained functions in a geographically distributed network based on given deployment requests. The paper is currently under review, and we are working on extending our model and language as new requirements and details about virtual network functions and the chains become available. Comments and suggestions are welcome!

Best regards,
Sevil Mehraghdam


On 05/30/2014 05:03 PM, Eric Gray wrote:
Linda,

                It may be a mathematically correct expression (depending on interpretation
of the notation used), but networking is not necessarily (possibly even usually) a
mathematical operation.

                There is nothing "intuitively obvious" in this expression that makes it clear
that "load sharing" is taking place between the sets of sf2 and sf4 instances, or how
the "or" operation takes place.

                One literal way to interpret this notation (as a mathematical expression) is
that each the functions sf2, sf2' and sf2" are "visited" sequentially and passed on
to sf3 as soon as it succeeds in any of the functions.  With this interpretation, since
the service function performed at each sf2 instance is presumed to be identical,
what the expression means is that either the service function will succeed at sf2
(and always skip sf2' and sf2"), or that it will fail at each sf2 instance.

                An equally legitimate "parallel computing" (not exactly mathematical, but
possibly viewed as more closely analogous to networking) interpretation would
be that processing passes (on success at sf1) to each of sf2, sf2' and sf2" in parallel
and then proceeds to sf3 on success at any of the sf2 instances.

                None of these interpretations corresponds to  "load sharing" - yet all are
perfectly legitimate interpretation of your suggested expression/notation.

                And yet, these are actually more common interpretation of the usage of
an "or" operation to computing folks (which many of us are), depending on their
specific background in computing.

                As I said before, I have no objection to the suggested notation you and
Lucy proposed - provided that the notation is explained.  I am unclear as to what
value this usage - and included explanation may have - but this is largely a style
issue, and best left up to the draft editors at this point.

                And, as I also said, there may be others who would prefer not to have too
much textual explanation necessary in order to understand a figure.

                Finally, you must realize that there are a fairly large number of folks who
read-over mathematical expressions as if they were written in a foreign language.
For this reason, even if it were a perfectly useful/correct mathematical expression,
a number of folks would still need a picture.

--
Eric

From: Linda Dunbar [mailto:linda.dunbar@huawei.com]
Sent: Thursday, May 29, 2014 5:42 PM
To: Eric Gray; Lucy yong; Jakob Heitz (jheitz); Joel Halpern; Paul Quinn (paulq)
Cc: sfc@ietf.org<mailto:sfc@ietf.org>
Subject: RE: Figures in draft-quinn-sfc-arch-05
Importance: High

Eric,

How about this shorter one?

->{sf1}->{sf2|sf2'|sf2''}->{sf3}->{sf4|sf4'|sf4''}->{sf5}->

The intent is pretty simple: If a service function on a chain has multiple instances, one of the service function's instances is selected to treat packets belonging to the service chain.

This is a correct mathematics expression.
There is really no need draw all those boxes.

Linda

From: Eric Gray [mailto:eric.gray@ericsson.com]
Sent: Thursday, May 29, 2014 4:23 PM
To: Linda Dunbar; Lucy yong; Jakob Heitz (jheitz); Joel Halpern; Paul Quinn (paulq)
Cc: sfc@ietf.org<mailto:sfc@ietf.org>
Subject: RE: Figures in draft-quinn-sfc-arch-05

Linda,

By the way, your proposal for Figure 5 would require a column width of at least 80
characters (more than you are supposed to have in an ID), and the situation would
be worse if it were applied to figure 6.

For figure 5, you can improve the width slightly by fixing up a few of your arrows,
and even more by wrapping the figure.  Wrapping  might detract from simplicity,
however.

--
Eric

From: Linda Dunbar [mailto:linda.dunbar@huawei.com]
Sent: Thursday, May 29, 2014 4:49 PM
To: Lucy yong; Eric Gray; Jakob Heitz (jheitz); Joel Halpern; Paul Quinn (paulq)
Cc: sfc@ietf.org<mailto:sfc@ietf.org>
Subject: RE: Figures in draft-quinn-sfc-arch-05
Importance: High

I like the Figures drawn by Lucy.

Actually why can't Figure 5 be simplified as

    enter -->{sf1}-->-{sf2|sf2'|sf2''}->--{sf3}-->-{sf4|sf4'|sf4''}->--{sf5}--> exit

??

Linda

From: sfc [mailto:sfc-bounces@ietf.org] On Behalf Of Lucy yong
Sent: Thursday, May 29, 2014 1:12 PM
To: Eric Gray; Jakob Heitz (jheitz); Joel Halpern; Paul Quinn (paulq)
Cc: sfc@ietf.org<mailto:sfc@ietf.org>
Subject: Re: [sfc] Figures in draft-quinn-sfc-arch-05

For readability on these figures, propose:

Figure 5:
                     +-sf2-+       +-sf4-+
                     |     |       |     |
       enter -->sf1-->-sf2->--sf3-->-sf4->--sf5--> exit
                     |     |       |     |
                     +-sf2-+       +-sf4-+
Figure 6:

                         +-sf2-+              +-sf4-+
                         |     |              |     |
    enter -->{sf1|sf1'}-->-sf2->--{sf3|sf3'}-->-sf4->--{sf5}--> exit
                         |     |              |     |
                         +-sf2-+              +-sf4-+

lucy
From: sfc [mailto:sfc-bounces@ietf.org] On Behalf Of Eric Gray
Sent: Thursday, May 29, 2014 12:54 PM
To: Jakob Heitz (jheitz); Joel Halpern; Paul Quinn (paulq)
Cc: sfc@ietf.org<mailto:sfc@ietf.org>
Subject: Re: [sfc] Figures in draft-quinn-sfc-arch-05

HaHa, funny man.  :)

From: Jakob Heitz (jheitz) [mailto:jheitz@cisco.com]
Sent: Thursday, May 29, 2014 1:43 PM
To: Eric Gray; Joel Halpern; Paul Quinn (paulq)
Cc: sfc@ietf.org<mailto:sfc@ietf.org>
Subject: RE: Figures in draft-quinn-sfc-arch-05
Importance: High

You could turn the whole picture right by 90 degrees.
If you don't like top to bottom instead of left to right, make a note that it's in landscape.

--Jakob

From: sfc [mailto:sfc-bounces@ietf.org] On Behalf Of Eric Gray
Sent: Thursday, May 29, 2014 8:31 AM
To: Joel Halpern; Paul Quinn (paulq)
Cc: sfc@ietf.org<mailto:sfc@ietf.org>
Subject: [sfc] Figures in draft-quinn-sfc-arch-05

Paul/Joel,

                Pretty sure that Figures 5 and 6 don't actually fit the width expected for an
Internet Draft (Figure 5 is more than 80 characters wide and Figure 6 is wider still).

                Depending on how a reader tries to read the draft, this can turn complicated
illustrations into a _real_ fun time.  :)

                Also, I am unsure what the figures are trying to convey with some of "dotted
lines" crossing the service functions.  If the intent is to show that a service function is
a virtual instance hosted by some network device, perhaps this will be better shown
in a separate figure and this aspect of Figures 5 and 6 can be eliminated?

I would suggest replacing Figure 5 with a figure along the lines of:

source             +-----+                   +-----+
  |            +-->| sf2 +--+            +-->| sf4 +--+
  |            |   |     |  |            |   |     |  |
  |  +------+--+   +-----+  +-->+-----+--+   +-----+  +->+-----+
  |  | sf1  |      +-----+      | sf3 |      +-----+     | sf5 |
  +->|      +----->| sf2 +----->|     |----->| sf4 +---->|     |-+
     |      |      |     |      |     |      |     |     |     | |
     +------+--+   +-----+  +-->+-----+--+   +-----+  +->+-----+ |
               |   +-----+  |            |   +-----+  |          |
               +-->| sf2 +--+            +-->| sf4 +--+     +----+
                   |     |                   |     |        |
                   +-----+                   +-----+        V
                                                          destination

                   Figure 5: Load Balancing

(67 characters?)

                Similarly, I would suggest replacing Figure 6 with a figure along the
lines of:


   source

     |               +-----+-+                   +-----+-+

 +---+           +-->| sf2 |-|+              +-->| sf4 |-|+

 |           +---|-->|     | ||          +------>|     | ||

 |   +------+|---+   +-----+ |+-->+-----+|---+   +-----+ |+-->+-----+

 |   | sf1  ||       +-----+ +--->| sf3 ||       +-----+ +--->| sf5 |

 +-->|      +|------>| sf2 |+---->|     ||------>| sf4 |+---->|     |--+

 |   |      || +---->|     |-+    |     || +---->|     |-+    |     |  |

 |   +------+|-|-+   +-----+ |+-->+-----+|-|-+   +-----+ |+-->+-----+  |

 |           | | |   +-----+ ||          | | |   +-----+ ||            |

 |   +------++ | +-->| sf2 |-|+   +-----++ | +-->| sf4 |-|+   +-----+  |

 |   | sf1' |  | +-->|     | +--->| sf3'|  | +-->|     | +--->| sf5'|  |

 +-->|      +--+ |   +-----+----->|     |--+ |   +-----+----->|     |--+

     |      |    |                |     |    |                |     |  |

     +------+----+                +-----+----+                +-----+  |

                                                                       |

                                                              +--------+

                                                              |

                                                              V

                                                         destination



                    Figure 6: Load Balancing and HA

(72 characters?)

                In both cases, the figure has all the same connection complexity (fixed up in a few
places), but seems to be less busy.

--
Eric




_______________________________________________

sfc mailing list

sfc@ietf.org<mailto:sfc@ietf.org>

https://www.ietf.org/mailman/listinfo/sfc



--

Sevil Mehraghdam

University of Paderborn

Computer Networks group - http://wwwcs.upb.de/cs/ag-karl

Tel.: +49 5251 / 601755

Room: O3.161