Re: [Sdn] Call for review of draft-farrkingel-pce-abno-architecture
"Adrian Farrel" <adrian@olddog.co.uk> Fri, 15 August 2014 19:28 UTC
Return-Path: <adrian@olddog.co.uk>
X-Original-To: sdn@ietfa.amsl.com
Delivered-To: sdn@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EA7631A0334 for <sdn@ietfa.amsl.com>; Fri, 15 Aug 2014 12:28:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.2
X-Spam-Level:
X-Spam-Status: No, score=-99.2 tagged_above=-999 required=5 tests=[BAYES_50=0.8, RCVD_IN_DNSWL_NONE=-0.0001, USER_IN_WHITELIST=-100] 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 E4eVbu5VIoKq for <sdn@ietfa.amsl.com>; Fri, 15 Aug 2014 12:28:25 -0700 (PDT)
Received: from asmtp2.iomartmail.com (asmtp2.iomartmail.com [62.128.201.249]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7C11E1A0329 for <sdn@irtf.org>; Fri, 15 Aug 2014 12:28:24 -0700 (PDT)
Received: from asmtp2.iomartmail.com (localhost.localdomain [127.0.0.1]) by asmtp2.iomartmail.com (8.13.8/8.13.8) with ESMTP id s7FJSMe6005111; Fri, 15 Aug 2014 20:28:22 +0100
Received: from 950129200 (dsl-sp-81-140-15-32.in-addr.broadbandscope.com [81.140.15.32]) (authenticated bits=0) by asmtp2.iomartmail.com (8.13.8/8.13.8) with ESMTP id s7FJSJa5005101 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Fri, 15 Aug 2014 20:28:20 +0100
From: Adrian Farrel <adrian@olddog.co.uk>
To: 'LUIS MIGUEL CONTRERAS MURILLO' <luismiguel.contrerasmurillo@telefonica.com>
References: <65174429B5AF4C45BD0798810EC48E0A3235AFEA@EX-0-MB2.lancs.local> <1cf055dc943f4a1398274b351344a655@DB4PR06MB576.eurprd06.prod.outlook.com>
In-Reply-To: <1cf055dc943f4a1398274b351344a655@DB4PR06MB576.eurprd06.prod.outlook.com>
Date: Fri, 15 Aug 2014 20:28:17 +0100
Message-ID: <057601cfb8bf$123bffa0$36b3fee0$@olddog.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQGXTe9K7jPxpgE5IvDuDAc/fe8iRwI98pZrnDBjIdA=
Content-Language: en-gb
X-TM-AS-MML: disable
X-TM-AS-Product-Ver: IMSS-7.1.0.1576-7.5.0.1018-20882.001
X-TM-AS-Result: No--20.257-10.0-31-10
X-imss-scan-details: No--20.257-10.0-31-10
X-TMASE-MatchedRID: 8HTFlOrbAtFfsB4HYR80Zn7siEtWY367nophrTcsI7aiUP5F9sCEMDVC HPJmvwzPJL8mkbIkZkehytvxIKsnHFtoL3mbtsuEo65WJt1k1O/omPrNi98UBPgnJH5vm2+ghIL j1WsdJh1EC+Jo3tdOmyLjYb+EpkLlrPo38HhFKcFK2kj7j4ouAAiBYiT9V2dS82GrliQly0vLhQ EsYF8B/Bj+hNE6L9w9icCBKNeRil8PquTweLs4F+w8wbnnSw8blnrMq7Sriu2gfNZxkECQ6Wlys 1PDhWLoEyCkxlrpZJZold3pRjntHehRubJazHK+q1ZJZ2z+SbYpWss5kPUFdCJ8zskw0dbrNf1z 7gmEy8X5Dyt2Bypj4S+CBo3doE0jEK2QongmqLK628cXbnOhT5lhiS3ydre3ki4gjoJwH3NDl4Z dgFuvG0kZTrliLI1hCBaYMqMvhUL93AFKImnqn/2AMpMTuGQQKpBqUyGzhQFQvOmOsSGiOuq1OW Ira/Gz+buG68KG7aBG7o6i6QXZtO9d1beeNFr0bMGKOuLn5FXk9tYQF35fgTsyZ/vGp8aU6TAcY s0S+5yOZeCFEeL54V4peeHUfywbq87gT7hcKkJjoaO27r+3fRdEegv9bhjqKAzGd8VeOIgCJL79 +GI8VjiPo48abNxM120+fK/IrmvooBznyyubUkbKkLkJUU4fyeUl7aCTy8hN0lGvjC8xBchANvR Zikq1Oi/42e6Tu62i4phDigIRc8IkeKFs1qVhTkSuJnIpkEu94JvJnfFrHifO9H6Y/dy+Jn7OWu OBHWeX9RW0BYuQEgFjnZyRyQbkJec95GGNSEGeAiCmPx4NwLTrdaH1ZWqCpvI8UZOf47jUZxEAl FPo846HM5rqDwqtlExlQIQeRG0=
Archived-At: http://mailarchive.ietf.org/arch/msg/sdn/ZwJn0SD4prq-TXqBoJwudOcnZho
Cc: "'King, Daniel'" <d.king@lancaster.ac.uk>, sdn@irtf.org
Subject: Re: [Sdn] Call for review of draft-farrkingel-pce-abno-architecture
X-BeenThere: sdn@irtf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: adrian@olddog.co.uk
List-Id: List to Discuss SDN Research Group in the IRTF <sdn.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/sdn>, <mailto:sdn-request@irtf.org?subject=unsubscribe>
List-Archive: <http://www.irtf.org/mail-archive/web/sdn/>
List-Post: <mailto:sdn@irtf.org>
List-Help: <mailto:sdn-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/sdn>, <mailto:sdn-request@irtf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Aug 2014 19:28:29 -0000
Hi Luis, Many thanks. Discussions in line. > Generic > ======= > > .- service -awareness. The ABNO architecture does not present an specific > module or component responsible to maintain the status of the connectivity > service requested by the NMS/OSS/Application on top. By status I refer to the > following information: administrative and operational status of the connectivity > service; user and/or application which has requested the service; some > identifiers (interchanged with the application/NMS/OSS to index the service); > accountability of the resources in use for that service; associated QoS and > policies/priorities to be applied; etc. I see that statefull PCE could cover this in > part. But I think the draft should explicitly describe how all of this information is > maintained during the service lifecycle. I think I see what you are asking about, and I believe this is the role of the ABNO Controller. That is the component that receives service requests from the Application Service Coordinator and is responsible for working out how the service can be realised and for reporting back about the status of the service. On the other hand, in some circumstances it may be the Application Service Coordinator that has this responsibility. That is, if the service is particularly complicated or if the "application" is very unaware of what a "service" is. Now, you specifically mention "connectivity service requests." These are, I suppose, pretty much the simplest services and I would expect that the ABNO Controller to have the responsibility both for enabling the services and for reporting their status. Although there are some "fast paths" in our model. Thus, an application could control the network directly, and can receive notifications direct from the OAM Handler. > Along different parts of the text it is clear that this service-awareness is required > in ABNO. For instance: > + the first bullet of the introduction mentions the possibility of optimizing traffic > flows between applications. For optimizing / re-optimizing it is needed to know in > advance the resources associated to any of the applications in place, as well as > their privileges, QoS, SLAs, etc, and also it is needed to differentiate one service > from the others (through some kind of identifiers e.g., service-id or circuit-id) I think that what would happen in this case is that the Application Service Coordinator would present a package of information to the ABNO Controller. If the services had already been established by the ABNO Controller, this could be just the service identifiers, but other information (such as modifiers of the service expressed as likely traffic demands and so forth) would make the operation more fruitful. The ABNO Controller would then have the job of achieving the optimization. Of course, the action would be under the influence of policies that had already been installed... > + the policy agent propagates policies in ABNO, as indicated in 2.3.1.4. However, if > there are policies per application or even per user of the application, then ABNO > should keep / handle the status of each connectivity service. Agreed. > + a similar need arise when considering OAM., as in 2.3.1.6. If the problems in the > network should be correlated or risen to the affected application, then it is > needed to keep information of the resources per application, as well as SLA, end > points to be tested, kind of data to be reported, etc. Furthermore, if this > information can be used for triggering further actions like service recovery (as in > section 2.3.2.13) then it is necessary to check the status and information > (priorities, privileges, SLAs, etc) of each service before performing any recovery > action I think I agree as well. It is somewhat hard to draw all interactions between all components in the architecture. The OAM Handler will need to understand which services have been affected by faults that it learns of. In some cases (CC or CV) this is pretty simple. In other cases (link down) more active correlation is required. I think there is a trade of work between the OAM Handler and the ABNO Controller for a lot of this work. > + same comment applies to the reoptimization case in 3.5.2 > This service-awareness module or component could come in the form of an > additional DB to the ABNO architecture feed with the information mentioned > before, plus some logic capable of handling and retrieving that (for instance part > of the information can be retrieved from the statefull PCE). If you agree with this > comment, I can provide some contribution on this if you want. I think you are saying that, in order to achieve its function, the ABNO controller will need a database that maps services to underlying network resources. I agree that the ABNO controller would need to keep this state information, and that the information would need to be "persistent". I am wondering whether this database is internal or external to the ABNO Controller. If it is internal, then it is just an implementation choice for the ABNO Controller - it may be a necessary function of the Controller, but it is not an externally visible feature. If it is external then it needs to be described (probably in 2.3.1.8 with a reference from 2.3.1.3), but I would like to understand which other components or external agents examine this database - perhaps your point is that the OAM Handler may look at it, and that it could be exposed to the applications so that they can 'know' what is happening in the network. If you have thoughts on that, I'd be happy to see some text. Or, if I have basically captured it in the previous paragraph, I can make the edits myself without any pain. > .- interaction with SDN controllers: the ABNO architecture supports the SDN > concepts. In fact, it is stated in section 2.3.1.11 that the Provisioning Manager > itself may act as an OpenFlow Controller, and also OpenFlow is mentioned in the > text as one of the potential protocols for controlling network resources. (I don't > intend to relate SDN only to OpenFlow here, it is just for reference). In the > insight over provisioning manager control of networks, in section 2.3.2.6, a > number of protocols are listed, and also some ideas about potential triggering of > actions are provided. What I miss from the information before is the capability of > ABNO for directly interacting with SDN controllers. That is, that the provisioning > manager interacts with an SDN controller (e.g., through a REST API interface) > instead of directly interact with network devices. So I'm a bit confused. Having said that the Provisioning Manager may act as an SDN controller, what does it mean for "ABNO to interact with an SDN controller"? The point, I think of the ABNO architecture is to pull together all of the components that may operate and manage a network. Thus the SDN controller is within the ABNO architecture not external to it. On the other hand, we did not want to tie this architecture to the SDN architecture or "buzz". It is what it is. SDN is a profile/application of ABNO, or SDN is something on its own. This is neither competition for SDN nor an attempt to subsume it. > Then, considering it as an > option, the usage of REST API interfaces should be included in the list for > program/configuring devices, and the fact of triggering actions with SDN > controllers should be included in the list of triggered actions through control > plane. To illustrate the concept I have attached slightly modified versions of > Figure 5 and 15, as examples. This way of positioning ABNO is something we are > proposing in the FP7 XIFI project (see for instance [1]). In this case ABNO acts as > an orchestrator of separated SDN domains, and ABNO is able of interacting with > each of those domains through a REST API with the local controllers. As an > additional interaction, besides of controlling network elements, the ABNO can > obtain topology information from the SDN controller directly (the topology > information obtained from running LLDP in the SDN/OpenFlow environment). So, I think, consistent with my previous comment, the REST API (such as the Floodlight API) would sit between the ABN Controller and the Provisioning Manager. This is also consistent with the Floodlight Controller having the job of determining the network path before programming the network elements. In other words, the controller (Provisioning Manager) needs to consult a component (that may be coded as internal, but which is functionally distinct) that computes paths (PCE). So I'm adding 2.3.2.12 ABNO Provisioning Requests Under some circumstances the ABNO Controller may make requests direct to the Provisioning Manager. For example, if the Provisioning Manager is acting as an SDN Controller then the ABNO Controller may use one of the APIs defined to allow requests to me made to the SDN Controller (such as the Floodlight REST API [Flood]). Alternatively, since the Provisioning Manager may also receive instructions from a stateful PCE, the use of PCEP extensions might be appropriate in some cases [I-D.crabbe-pce-pce-initiated-lsp]. > .- reporting of resources usage / billing: one missing piece in current ABNO > architecture is the inclusion of reporting capabilities with respect the usage of the > resources in one provisioned service. Such usage reports could be lately > processed for billing purposes, for instance. Something similar to the existing > CDRs in current networks. It is of special interest when external applications > demand services to a network provider. I guess this capability should be present > in the ABNO control interface (section 2.3.2.11) to inform the applications or the > NMS/OSS about this usage. Right. We struggle to show every possible interface or use case, but you're right about how this would be done. > .- resiliency and scalability. Chapter 4 presents some text about survivability and > resiliency in ABNO. In my understanding there is a mix of resiliency and scalability > in such text. I would suggest to separate both concepts. For instance, second > paragraph is more related to scalability, in my opinion. When talking about the > scalability it can be assumed that multiple instances of the different components > can be in place, each of them taking over some workload of the total workload > offered to ABNO. The workload split can be implemented e.g. by technology. The > workflows in the ABNO controller could be the glue of such split workload to > compose a complete connectivity service. However, when talking about > resiliency additional functionality has to be in place to ensure consistency and to > keep the status of the provisioned resources among the different instances that > provide reliability. The scalability and resiliency features are different and have > different needs, even if they are supported in the same way, i.e., through > several instances of the same component. If you share also this vision I can > prepare some text on that, if you wish. That would be interesting. I think I agree that resilience may need additional functionality and state synchronisation in some cases. On the other hand, in some cases, especially when seamless resiliency is not needed, it is enough to switch to another instance and repeat the request (consider issuing a request to a PCE that fails - you would just re-issue the request to a new PCE). I don't believe that this document has to describe every possible interaction between all components, but I will add a sentence to the penultimate paragraph of Section 4... In some circumstances state synchronization between instances of components may be needed in order to facilitate seamless resiliency. > Specific > ====== > > .- In the abstract some services are presented as the main drivers for ABNO by > placing new connectivity requirements. Being that true, however the draft > presents a number of other conventional services that are also benefitted from > the introduction of ABNO. IN fact the list of those conventional services is longer > than the new ones. I can identify services/applications in sections 3.1, 3.3, 3.4, 3.5 > and 3.6 as conventional services that can take advantage of ABNO. Considering > that, I would suggest to include a new sentence (before the last one in the first > paragraph) in the abstract remarking also the benefits for these other cases, for > instance: "Additionally, existing services or capabilities like pseudowire > connectivity or global concurrent optimization can be benefitted from a more > comprehensive operation considering the application needs and the network > status". Yes. Edited a little. > .- in section 2.3.1.6 it is mentioned that the OAM handler interacts with the > devices to perform OAM actions. This implies some access to the control plane of > the devices to trigger that actions. What kind of interface is used to that? I2RS, > other? The reference loop is a bit squiggly... 2.3.1.6 describes the OAM Handler, but 2.3.2.14 describes interfaces to the OAM Handler. 2.3.2.14 includes a back-pointer to 2.3.2.1 for the mechanisms that might be used. You're right that I2RS (but what is that?) might also be used, or maybe Netconf/YANG is used for I2RS and for this purpose? > .- section 2.3.1.8.1: when talking about the TED it is mentioned that the TED may > provide information to application services like ALTO. It is not clear to me if you > refer to the ALTO Server included in the ABNO architecture of Figure 1, or to > external ALTO clients. In the second case, then it would be needed to clarify this > by including some sentence in the sense that the TED can act as an ALTO server > itself. I don't think that external ALTO clients would be interested in the content of the TED in its raw form. I think it needs to pass through an ALTO server. > .- section 2.3.1.9. When talking about ALTO Server it seems that its role in the > ABNO architecture is to offer information to the applications on top. However, it > can also be used internally by the ABNO components to perform their > corresponding functions e.g. at provisioning time. To that respect, I wonder if the > ALTO module in ABNO could also act as ALTO client of external ALTO Servers if > available. This for instance could be useful in multi administrative domains > (somehow similar to the case described in 3.1 but when each AS is part of a > different administrative domain). If so I would suggest to include a sentence > pointing out such possibility, e.g.: "The ALTO component in the ABNO > architecture could behave also as ALTO client to retrieve information from > external ALTO Servers either for providing a complete network view to the > Application Service Coordinator, or for allowing the other modules in ABNO to > perform their corresponding tasks". Right. But (again) we can't possibly show or discuss every interaction between every pair of components or every possible use case. I am slightly dubious, however, about where such an "external ALTO server would reside." Note that this is an architecture, not an implementation guide, so I think that the situation you describe is really that one ALTO server may act as a client for another ALTO server to enable them to serve different but cooperating networks. > .- section 2.3.2.4. When talking about the protocols for exporting the TED, the > first bullet refers to the ALTO protocol. It is not clear to me if the interaction with > the TED in this case is indirect, i.e. passing through the ALTO Server in ABNO > architecture, or if it means that the TED actually implements the ALTO protocol as > NBI. I would suggest to make this clear. I personally believe that if the topology is being exported for ALTO uses, it should pass through an ALTO server. However, the ALTO protocol is a potential mechanisms for exporting topologies, and the TED contains topology. So the point here is that the *protocol* could be ALTO without the use case being ALTO. > .- section 2.3.2.7. The auditing process is referred to the provisioning process, but > for completeness, it has to be extended to the other two possible workflows: > decommissioning or deletion of connectivity services, and the modification of > existing connectivity services. Yes. Good point. Change made to text. > .- section 2.3.2.12. In the second list of bullets, I would include QoS classification. Yup. > .- section 3.1. Despite multiple AS are involved in this use case, it seems that all > the AS pertain to the same administrative domain. Is that correct? If so, probably > it would be nice to include such clarification in the text. I don't see what brings you to this conclusion. There are several approaches shown in the section and the choice may depend on the relationship between ASes. For example, cooperating H-PCEs require that the PCEs can, erm, cooperate. Yet the referenced 5520 allows "secrecy" in this mode of operation. Alternatively, Figure 7 shows a different way to cut the cake. > .- section 3.7. I bring to your attention the following reference for cross-stratum > optimization with PCE (draft-dhody-pce-cso-enabled-path-computation-06) just > in case you consider relevant and worthy refer to that possibility in the text. The > architecture presented there fits totally, in my opinion, with ABNO, where the > NCG + PCE module presented in that draft can be seen as the ABNO. A shameless advertisement :-) Actually, I am embarrassed to see that the figure in Section 3.7.2 is very strikingly similar to Figure 1 in your draft that has been there since your -00 revision. No doubt this is because Young was the contributing author of Section 3.7 and is also a co-author on your draft. Nevertheless, I will add in the cross-reference to make this clear and to show some relationship between the work. > .- section 6. I would modify a bit the third bullet in the following sense: "- > Management and monitoring of ABNO components" Yeah, OK. > Typos > ===== > > .- just before section 1.1: ". Network Management Station (NMS) ans Operations > Support System (OSS) ." -> ". Network Management Station (NMS) and > Operations Support System (OSS) ." yes > .- idem: ". recent developments programmatic ." -> ". recent developments of > programmatic ." s/of/in/ > .- section 2.3.1.1: For NMS you span the acronym as Network Management > Station, but it seems to be more proper to talk about Network Management > System. Yes, http://www.rfc-editor.org/rfc-style-guide/abbrev.expansion.txt has "System" > .- section 3.2.1. End of second paragraph. ". remote DCs an be operated ." -> ". > remote DCs can be operated ." yes > .- section 3.2.1. Bullet 1. ". two end points. the actual ." -> ". two end points. The > actual ." yes > .- sentence above Figure 24. ". network such such that ." -> ". network such that > ." yes > .- section 3.7. 1st paragraph. ". application and network stratums." -> ". > application and network strata." Yeah. Once again, many thanks. You forgot... Section 7, add "Luis Contreras" Cheers, Adrian
- [Sdn] Call for review of draft-farrkingel-pce-abn… King, Daniel
- Re: [Sdn] Call for review of draft-farrkingel-pce… karagian
- Re: [Sdn] Call for review of draft-farrkingel-pce… LUIS MIGUEL CONTRERAS MURILLO
- Re: [Sdn] Call for review of draft-farrkingel-pce… King, Daniel
- Re: [Sdn] Call for review of draft-farrkingel-pce… Adrian Farrel
- Re: [Sdn] Call for review of draft-farrkingel-pce… LUIS MIGUEL CONTRERAS MURILLO
- Re: [Sdn] Call for review of draft-farrkingel-pce… Adrian Farrel
- Re: [Sdn] Call for review of draft-farrkingel-pce… LUIS MIGUEL CONTRERAS MURILLO
- Re: [Sdn] Call for review of draft-farrkingel-pce… karagian