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

"zhangyali (D)" <zhangyali369@huawei.com> Fri, 13 November 2015 07:48 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 7FA071B41C3 for <ibnemo@ietfa.amsl.com>; Thu, 12 Nov 2015 23:48:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.711
X-Spam-Level:
X-Spam-Status: No, score=-2.711 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_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 bHCM1_r7BwGs for <ibnemo@ietfa.amsl.com>; Thu, 12 Nov 2015 23:48:23 -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 EAE111B41C1 for <ibnemo@ietf.org>; Thu, 12 Nov 2015 23:48:22 -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 CAG81776; Fri, 13 Nov 2015 07:48:20 +0000 (GMT)
Received: from SZXEML428-HUB.china.huawei.com (10.82.67.183) by lhreml404-hub.china.huawei.com (10.201.5.218) with Microsoft SMTP Server (TLS) id 14.3.235.1; Fri, 13 Nov 2015 07:48:18 +0000
Received: from SZXEML513-MBX.china.huawei.com ([169.254.7.219]) by szxeml428-hub.china.huawei.com ([10.82.67.183]) with mapi id 14.03.0235.001; Fri, 13 Nov 2015 15:48:05 +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: AQHRF64y5xGlf990SUG23+lmjXj8XJ6Sz+6AgAGCXQCABUa14A==
Date: Fri, 13 Nov 2015 07:48:05 +0000
Message-ID: <A747A0713F56294D8FBE33E5C6B8F58135E5F145@szxeml513-mbx.china.huawei.com>
References: <563B2449.6040802@bwijnen.net> <BBA82579FD347748BEADC4C445EA0F2183167D60@nkgeml512-mbx.china.huawei.com> <B0C01F5A-9B41-4EA9-A922-949AA7980502@telefonica.com>
In-Reply-To: <B0C01F5A-9B41-4EA9-A922-949AA7980502@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: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090204.564595C4.005B, 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: 86631a1ceb82f9b24835fe90e5488768
Archived-At: <http://mailarchive.ietf.org/arch/msg/ibnemo/rdWNDCBI9m_X9rWf4eFSuPQ_SZg>
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 07:48:27 -0000

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;

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