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

"zhangyali (D)" <zhangyali369@huawei.com> Fri, 13 November 2015 10:02 UTC

Return-Path: <zhangyali369@huawei.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 725AE1A88EF for <ibnemo@ietfa.amsl.com>; Fri, 13 Nov 2015 02:02:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.45
X-Spam-Level:
X-Spam-Status: No, score=-2.45 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTML_OBFUSCATE_05_10=0.26, J_CHICKENPOX_31=0.6, J_CHICKENPOX_65=0.6, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 zKetgiKWA2sP for <ibnemo@ietfa.amsl.com>; Fri, 13 Nov 2015 02:02:12 -0800 (PST)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3C6F01A88DF for <ibnemo@ietf.org>; Fri, 13 Nov 2015 02:02:11 -0800 (PST)
Received: from 172.18.7.190 (EHLO lhreml404-hub.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id CAG97200; Fri, 13 Nov 2015 10:02:08 +0000 (GMT)
Received: from SZXEML425-HUB.china.huawei.com (10.82.67.180) by lhreml404-hub.china.huawei.com (10.201.5.218) with Microsoft SMTP Server (TLS) id 14.3.235.1; Fri, 13 Nov 2015 10:01:13 +0000
Received: from SZXEML513-MBX.china.huawei.com ([169.254.7.219]) by szxeml425-hub.china.huawei.com ([10.82.67.180]) with mapi id 14.03.0235.001; Fri, 13 Nov 2015 17:59:43 +0800
From: "zhangyali (D)" <zhangyali369@huawei.com>
To: PEDRO ANDRES ARANDA GUTIERREZ <pedroa.aranda@telefonica.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+p3pV5phkGNIY9yJr4TXp6ZsO5Q
Date: Fri, 13 Nov 2015 09:59:42 +0000
Message-ID: <A747A0713F56294D8FBE33E5C6B8F58135E5F1C2@szxeml513-mbx.china.huawei.com>
References: <49093102-DFC6-401D-8E83-5B8D8104E274@telefonica.com>
In-Reply-To: <49093102-DFC6-401D-8E83-5B8D8104E274@telefonica.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.111.104.182]
Content-Type: multipart/alternative; boundary="_000_A747A0713F56294D8FBE33E5C6B8F58135E5F1C2szxeml513mbxchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090204.5645B521.0073, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=169.254.7.219, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: d11ebc3e4a7800843949d5a15c2e2092
Archived-At: <http://mailarchive.ietf.org/arch/msg/ibnemo/EysalHZzzF9-hsyvDRiWSTLHBuA>
Subject: [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 10:02:18 -0000

Hi Pedro,



Thanks for your examples to explain the construction rule of recursion function/template. Answers in line.



Best Regards,

Yali



-----邮件原件-----

发件人: PEDRO ANDRES ARANDA GUTIERREZ [mailto:pedroa.aranda@telefonica.com]

发送时间: 2015年11月13日 16:12

收件人: zhangyali (D); Zhoutianran; Bert Wijnen (IETF); ibnemo@ietf.org

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



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;



[Yali] Our expressions of new DMZ are similar, except you omit parameter lists. And firewall and l2-group(L2Switch in your expression, I think) are predefined node types, so I omit them.

    A key point/difference is how to express the connection/connectivity between the two nodes. I think resource is a essential element to allow the communication between nodes no matter where it is, that is, if there is not "real" connection between nodes, they will not be connected.

    And what if user wants to assign a bandwidth in this connection? So I am not sure if the "Connect" includes enough information.



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;



[Yali] Another perfect example to use Template/function.

         So I think the key point is that the meaning of connection and how to use it. Look forwarding to your opinion.

>

>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