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

Sevil Mehraghdam <sevil.mehraghdam@uni-paderborn.de> Fri, 06 June 2014 07:48 UTC

Return-Path: <sevil.mehraghdam@uni-paderborn.de>
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 55A771A03D8 for <sfc@ietfa.amsl.com>; Fri, 6 Jun 2014 00:48:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.5
X-Spam-Level:
X-Spam-Status: No, score=-4.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, 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 HEANbPT7iZ57 for <sfc@ietfa.amsl.com>; Fri, 6 Jun 2014 00:48:49 -0700 (PDT)
Received: from mail.uni-paderborn.de (mail.uni-paderborn.de [131.234.142.9]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7D0B31A0376 for <sfc@ietf.org>; Fri, 6 Jun 2014 00:48:48 -0700 (PDT)
Received: from eeyore.cs.uni-paderborn.de ([131.234.40.154]) by mail.uni-paderborn.de with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80 spheron) id 1WsotD-0001vP-HZ; Fri, 06 Jun 2014 09:48:39 +0200
Message-ID: <53917257.9000305@uni-paderborn.de>
Date: Fri, 06 Jun 2014 09:48:39 +0200
From: Sevil Mehraghdam <sevil.mehraghdam@uni-paderborn.de>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: Dave Dolson <ddolson@sandvine.com>, "sfc@ietf.org" <sfc@ietf.org>
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> <E8355113905631478EFF04F5AA706E9830A0F891@wtl-exchp-2.sandvine.com>
In-Reply-To: <E8355113905631478EFF04F5AA706E9830A0F891@wtl-exchp-2.sandvine.com>
Content-Type: multipart/alternative; boundary="------------080903080400090402000806"
X-IMT-Spam-Score: 0.0 ()
X-PMX-Version: 6.0.3.2322014, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2014.6.6.73920
X-IMT-Authenticated-Sender: uid=sevilmeh,ou=People,o=upb,c=de
Archived-At: http://mailarchive.ietf.org/arch/msg/sfc/g4b64S0XuUElS-nk1bF2y-Ojymg
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: Fri, 06 Jun 2014 07:48:55 -0000

David,

you are right, currently our model does not make any assumptions about 
the implementation of the chains. What we provide is a context-free 
language for compact representation of different ways a set of functions 
can be chained together and letting the network operator decide about 
the most desirable chaining based on requests for using a set of chained 
functions, and eventually deploying these chains in the network.

We assume the operator maintains some information about the network 
functions that it "offers", e.g., how many licenses it has to implement 
different instances of a certain function, and computational 
requirements of the functions. We also need the chaining/deployment 
request to include some information like the desired order of traversing 
the requested functions.

The documents you pointed to are good examples of what we are trying to 
integrate in our work: how the chains can actually be implemented and 
what assumptions about the available information is realistic and so on. 
We are trying to keep track of the work in SFC working group and keep 
our work in line with the approaches that are likely to be standardized. 
Therefore, in the current state it doesn't make too much sense for me to 
say which approach does or does not work with our model.

Best regards,
Sevil



On 06/05/2014 03:49 PM, Dave Dolson wrote:
>
> 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. J
>
>     *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. J
>
>                     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

-- 
Sevil Mehraghdam
University of Paderborn
Computer Networks group -- http://wwwcs.upb.de/cs/ag-karl
Tel.: +49 5251 / 601755
Room: O3.161