Re: [Ibnemo] 答复: How to group/reuse definitions

PEDRO ANDRES ARANDA GUTIERREZ <pedroa.aranda@telefonica.com> Fri, 13 November 2015 08:12 UTC

Return-Path: <pedroa.aranda@telefonica.com>
X-Original-To: ibnemo@ietfa.amsl.com
Delivered-To: ibnemo@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D1B681A0389 for <ibnemo@ietfa.amsl.com>; Fri, 13 Nov 2015 00:12:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.111
X-Spam-Level:
X-Spam-Status: No, score=-1.111 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_31=0.6, J_CHICKENPOX_65=0.6, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=no
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 Ur_RiEiri2fw for <ibnemo@ietfa.amsl.com>; Fri, 13 Nov 2015 00:12:26 -0800 (PST)
Received: from smtpjc.telefonica.com (smtpjc.telefonica.com [81.47.204.76]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2CF421A016B for <ibnemo@ietf.org>; Fri, 13 Nov 2015 00:12:25 -0800 (PST)
Received: from smtpjc.telefonica.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 391B51B8341; Fri, 13 Nov 2015 09:12:22 +0100 (CET)
Received: from ESTGVMSP103.EUROPE.telefonica.corp (unknown [10.92.4.9]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtpjc.telefonica.com (Postfix) with ESMTPS id 1344B1B830F; Fri, 13 Nov 2015 09:12:22 +0100 (CET)
Received: from emea01-db3-obe.outbound.protection.outlook.com (10.92.5.139) by tls.telefonica.com (10.92.6.50) with Microsoft SMTP Server (TLS) id 14.3.235.1; Fri, 13 Nov 2015 09:12:21 +0100
Received: from DB4PR06MB0639.eurprd06.prod.outlook.com (10.161.13.145) by DB4PR06MB0637.eurprd06.prod.outlook.com (10.161.13.143) with Microsoft SMTP Server (TLS) id 15.1.318.15; Fri, 13 Nov 2015 08:12:18 +0000
Received: from DB4PR06MB0639.eurprd06.prod.outlook.com ([10.161.13.145]) by DB4PR06MB0639.eurprd06.prod.outlook.com ([10.161.13.145]) with mapi id 15.01.0318.003; Fri, 13 Nov 2015 08:12:17 +0000
From: PEDRO ANDRES ARANDA GUTIERREZ <pedroa.aranda@telefonica.com>
To: "zhangyali (D)" <zhangyali369@huawei.com>, Zhoutianran <zhoutianran@huawei.com>, "Bert Wijnen (IETF)" <bwietf@bwijnen.net>, "ibnemo@ietf.org" <ibnemo@ietf.org>
Thread-Topic: 答复: [Ibnemo] How to group/reuse definitions
Thread-Index: AQHRHesCu+p3pV5phkGNIY9yJr4TXg==
Date: Fri, 13 Nov 2015 08:12:17 +0000
Message-ID: <49093102-DFC6-401D-8E83-5B8D8104E274@telefonica.com>
Accept-Language: es-ES, en-US
Content-Language: es-ES
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/0.0.0.151008
authentication-results: spf=none (sender IP is ) smtp.mailfrom=pedroa.aranda@telefonica.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [195.235.92.36]
x-microsoft-exchange-diagnostics: 1; DB4PR06MB0637; 5:WnMjL5SUgb5O68W1EAlLOwKBWqS77tjZW8qilHvnjXYQz9i4wD6vF0/0rJx2LPGEPmnlfLFvwpB8yYl+Vq+wCeOI1Lyohen6dY/eVDdnDle+1alhGJW3g14OdlxUne9Y6DF8tu83sd/0pjde2ZiDlw==; 24:Xki8n9g2lc5BsqP9Enq5jl4nQ3k5TvkGjTXsjjL+t1TrwoUGSYbF20iZ1XnbssU2t0Z1q8PVeMrZyyD63MNVISDlKuvujylRYRnkU6kkH8s=; 20:YaOdvW0O0eyO7xDmDMVMmdI94cs3eMCvn5AxWlsXX1Tdju6I3zYdcwgZ+9S+Mrb2HnZObHhrbnN54GSQ8yYiIg==
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB4PR06MB0637;
x-microsoft-antispam-prvs: <DB4PR06MB063722031903B5AA06F0AB969B110@DB4PR06MB0637.eurprd06.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(40392960112811);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001)(10201501046); SRVR:DB4PR06MB0637; BCL:0; PCL:0; RULEID:; SRVR:DB4PR06MB0637;
x-forefront-prvs: 0759F7A50A
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(25724002)(59124003)(13464003)(199003)(40134004)(189002)(377454003)(51444003)(82746002)(87936001)(33656002)(83506001)(106116001)(83716003)(106356001)(2501003)(224303003)(92566002)(5002640100001)(66066001)(105586002)(189998001)(575784001)(86362001)(561944003)(54356999)(107886002)(97736004)(122556002)(50986999)(5008740100001)(5004730100002)(5007970100001)(5001960100002)(5001770100001)(81156007)(77096005)(36756003)(19580395003)(101416001)(10400500002)(15975445007)(5001920100001)(2900100001)(4001350100001)(19580405001)(102836002)(40100003)(104396002); DIR:OUT; SFP:1102; SCL:1; SRVR:DB4PR06MB0637; H:DB4PR06MB0639.eurprd06.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (protection.outlook.com: telefonica.com does not designate permitted sender hosts)
spamdiagnosticoutput: 1:23
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <AC4C2680F439A84A8B22A003DD877B1C@eurprd06.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Nov 2015 08:12:17.5329 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 9744600e-3e04-492e-baa1-25ec245c6f10
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR06MB0637
X-OriginatorOrg: telefonica.com
X-TM-AS-MML: No
Archived-At: <http://mailarchive.ietf.org/arch/msg/ibnemo/AEi6EPBUm6rUXhmTczv4dt1EYM0>
Subject: Re: [Ibnemo] 答复: How to group/reuse definitions
X-BeenThere: ibnemo@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion of Nemo, an intent-based North Bound \(NB\) interface consisting of an application protocol running over HTTP \(RESTful interfaces\) to exchange intent-based primitives between applications and meta-controllers controlling virtual network resources \(networks, storage, CPU\)." <ibnemo.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ibnemo>, <mailto:ibnemo-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ibnemo/>
List-Help: <mailto:ibnemo-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ibnemo>, <mailto:ibnemo-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 13 Nov 2015 08:12:30 -0000

Hi Yali,

Recursion is indeed critical for the vDC use case I’m pursuing from the very beginning.

Answers inline,
BR,/PA
---
Dr. Pedro A. Aranda Gutiérrez

Technology Exploration -
Network Innovation & Virtualisation
email: pedroa d0t aranda At telefonica d0t com
Telefónica, Investigación y Desarrollo
C/ Zurbarán,12
28010 Madrid, Spain

Fragen sind nicht da, um beantwortet zu werden.
Fragen sind da, um gestellt zu werden.
Georg Kreisler





-----Mensaje original-----
De: "zhangyali (D)" <zhangyali369@huawei.com>
Fecha: viernes, 13 de noviembre de 2015, 8:48
Para: paag <pedroa.aranda@telefonica.com>, Zhoutianran <zhoutianran@huawei.com>, "Bert Wijnen (IETF)" <bwietf@bwijnen.net>, "ibnemo@ietf.org" <ibnemo@ietf.org>
Asunto: 答复: [Ibnemo] How to group/reuse definitions

>Hi Pedro,
>
>Thanks for your reflections about recursion in NEMO, and I think it's an important feature will be implemented in the next stage.
>
>As you have said, operators may reuse the services zone many times, we need a simple solution to satisfy this requirement. Learning from the traditional programming language, just as, C, C++, function seems a perfect solution to solve recursion problem.
>
>Take DMZ as an example:
>
>NodeModel DMZ(x,y,z,I,j):
>       Node n1 Type fw Property x;
>       Node n2 Type nat Property y;
>       Node n3 Type host Property z;
>       Connection c1 Type p2p Endnodes n1,n2 Property I;
>       Connection c2 Type p2p Endnodes n2,n3 Property j;

This may be an overkill. Especially in the case of the connections. Remember that these have a logical meaning rather than a physical implementation. So, in most cases, they will have no properties and will not be connections as such.

So I think that

NodeModel FW
        Property IPPrefix: exterior, IPPrefix: interior;

NodeModel L2Switch
        Property integer: ports;

NodeModel DMZ
        Node fw1 Type FW
        Node l2sw1 Type L2Switch
        Connect fw1.interior, l2sw1.ports.0;

Create Node dmz1 Type DMZ
        Property fw1.exterior: 10.0.0.1/32, fw1.interior: 10.0.1.0/28, l2sw1.ports:4;

should suffice. I would rather explicitly leave the ConnectionModel and ‘Create Connection’ for connections between sites. With my proposal, we hide the logical relationship between the components of a building block from the end user _and_ we allow to include ‘real’ connections in higher levels of recursion. An example:

Imagine I define a NodeModel for an ExteriorZone and I create a link model for a WAN connection between 2 Exterior Zones

I could create a node model for an Enterprise with two sites like

ModeModel Enterprise
        Node office1 Type ExteriorZone
        Node office2 Type ExteriorZone
        Connection wan Type WAN EndNodes office1, office2;


>
>With this expression, we create a new node type named DMZ, and its properties can be adjusted according to users' requirement. It can be called whenever you want to create a DMZ node, just like a function in C. For example:
>
>CREATE Node dmz1 Type DMZ(property(dmz1-n1), property(dmz1-n2), property(dmz1-n3), property(dmz1-c1), property(dmz1-c2));
>CREATE Node dmz2 Type DMZ(property(dmz2-n1), property(dmz2-n2), property(dmz2-n3), property(dmz2-c1), property(dmz2-c2));
>...
>
>In this way, users could create many DMZ zones with very refined scripts, and we don't need to express internal details again and again.
>
>Do you think this way is a good solution to the recursion problem, and could work in many use cases? Looking forward to your suggestions.
>
>Best Regards,
>Yali
>-----邮件原件-----
>发件人: Ibnemo [mailto:ibnemo-bounces@ietf.org] 代表 PEDRO ANDRES ARANDA GUTIERREZ
>发送时间: 2015年11月10日 14:49
>收件人: Zhoutianran; Bert Wijnen (IETF); ibnemo@ietf.org
>主题: Re: [Ibnemo] How to group/reuse definitions
>
>Hi,
>
>Answers inline… line of thought:
>1. Recursion needs to be supported in a generalised way 2. there are use cases where connectivity matters
>
>
>BR,/PA
>---
>Dr. Pedro A. Aranda Gutiérrez
>
>Technology Exploration -
>Network Innovation & Virtualisation
>email: pedroa d0t aranda At telefonica d0t com Telefónica, Investigación y Desarrollo C/ Zurbarán,12
>28010 Madrid, Spain
>
>Fragen sind nicht da, um beantwortet zu werden.
>Fragen sind da, um gestellt zu werden.
>Georg Kreisler
>
>
>
>
>
>
>
>
>
>-----Mensaje original-----
>De: Ibnemo <ibnemo-bounces@ietf.org> en nombre de Zhoutianran <zhoutianran@huawei.com>
>Fecha: lunes, 9 de noviembre de 2015, 8:46
>Para: "Bert Wijnen (IETF)" <bwietf@bwijnen.net>, "ibnemo@ietf.org" <ibnemo@ietf.org>
>Asunto: Re: [Ibnemo] How to group/reuse definitions
>
>>It's really useful to group a set of atomic components and provide the whole as a micro/template, just like the DMZ example. The hierarchy enables the reusability.
>
>OK with that from the very beginning of all this discussion
>
>>To describe a DMZ, I can see two ways.
>>1. One is to describe the exact connectivity among those atomic components.
>
>>
>We need that as we climb in the hierarchy.
>
>>I think the switch and router are what we want to eliminate. It seems too detail with the intent concept. I hope they can be auto generated by the intent engine.
>
>It may seem too detailed if you are looking at routers, switches, etc. But once you have building blocks like DMZ, interior, exterior, etc. then suddenly you start needing expressing the connectivity. In our use case, how else would you be expressing that you have an exterior zone connected to the Internet and two DMZs, one of which serves 3 interior zones while the other serves just one interior zone. I know, I have been using _simple_ examples up until now, but believe me, things can get pretty complex out there.
>
>>2. The other way I would prefer is to define DMZ as a layer 2 group, in which by default all the components are connected by a logic switch(which do not need to explicitly describe again). Or we can define DMZ as a layer 3 group with a  router. In this way, we can put any number of components in easily with fully flexibility.
>
>Again, that depends a lot on the use case. I think the ‘connectivity paradigm’ may be helpful for people doing networking. Saying that I have a connection between two elements may have a different implementation depending on the elements and their location. However, the logical interpretation of the connection (i.e. its intent) is always going to be that packets treated by one block should be sent to another.
>
>>That's my 2 cents.
>>
>>Best,
>>Tianran
>>
>>> -----Original Message-----
>>> From: Ibnemo [mailto:ibnemo-bounces@ietf.org] On Behalf Of Bert
>>> Wijnen
>>> (IETF)
>>> Sent: Thursday, November 05, 2015 5:41 PM
>>> To: ibnemo@ietf.org
>>> Subject: [Ibnemo] How to group/reuse definitions
>>>
>>> During the IETF94 Hackaton, we got some discussion on how much detail
>>> we want to allow or need in the Intent Language when reusing
>>> definitions. For example, let us assume that you
>>>
>>> - define a router
>>> - define a firewall
>>> - define a loadbalancer
>>> - define a l2 switch
>>> - etc
>>>
>>> And that later on you want to define something like a DMZ and inside
>>> that DMZ you want to use the defined router, firewall, l2 switch, etc.
>>>
>>> The end-user/customer would want to just express his/her intent to
>>> have an internet connection with a DMZ I guess.
>>>
>>> The network administrator of the ISP (operator) needs to then express
>>> that the DMZ consists of let us say a router, a firewall, a l2switch etc.
>>> Do we want/need the network administrator to have to (or to be able
>>> to) specify the details on how these nodes get connected? Or would we
>>> rather see that the Intent Engine generates the proper connections?
>>>
>>> I suggest that those who have proto-type implementations express
>>> their approach and that network operators express their wants/needs
>>> for such a scenario.
>>>
>>> Bert
>>>
>>> _______________________________________________
>>> Ibnemo mailing list
>>> Ibnemo@ietf.org
>>> https://www.ietf.org/mailman/listinfo/ibnemo
>>
>>_______________________________________________
>>Ibnemo mailing list
>>Ibnemo@ietf.org
>>https://www.ietf.org/mailman/listinfo/ibnemo
>
>________________________________
>
>Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted. el destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.
>
>The information contained in this transmission is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it.
>
>Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, pode conter informação privilegiada ou confidencial e é para uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário indicado, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique imediatamente por esta mesma via e proceda a sua destruição _______________________________________________
>Ibnemo mailing list
>Ibnemo@ietf.org
>https://www.ietf.org/mailman/listinfo/ibnemo

________________________________

Este mensaje y sus adjuntos se dirigen exclusivamente a su destinatario, puede contener información privilegiada o confidencial y es para uso exclusivo de la persona o entidad de destino. Si no es usted. el destinatario indicado, queda notificado de que la lectura, utilización, divulgación y/o copia sin autorización puede estar prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.

The information contained in this transmission is privileged and confidential information intended only for the use of the individual or entity named above. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this transmission in error, do not read it. Please immediately reply to the sender that you have received this communication in error and then delete it.

Esta mensagem e seus anexos se dirigem exclusivamente ao seu destinatário, pode conter informação privilegiada ou confidencial e é para uso exclusivo da pessoa ou entidade de destino. Se não é vossa senhoria o destinatário indicado, fica notificado de que a leitura, utilização, divulgação e/ou cópia sem autorização pode estar proibida em virtude da legislação vigente. Se recebeu esta mensagem por erro, rogamos-lhe que nos o comunique imediatamente por esta mesma via e proceda a sua destruição