Transcript Document
Evolution of Path Computation Towards Generalized Resource Computation Adrian Farrel Old Dog Consulting [email protected] History of PCE • We know where PCE comes from – Simple CSPF computation of paths for MPLS-TE • But RFC 4655 was not quite so limited in its definition an entity that is capable of computing a network path or route based on a network graph, and of applying computational constraints during the computation Evolution • In keeping with that definition PCE has evolved • The complexity of path computation that PCE was asked to perform extended rapidly – Multiple paths (global concurrent optimization, SVEC list) – Point to multipoint – More complex constraints and objectives • DiffServ, exclude route, vendor constraints Images probably copyright Nintendo or someone, but no charge is made for advertising Taking Other Things into Account • Paths and networks have all sorts of attributes and characteristics • A PCE can specialise – Optical networks • Wavelength continuity • Limited switching capabilities • Optical impairments – Multi-layer networks Beyond a Passive Server • Original implementations were passive servers – They respond to queries, but do nothing else • Two additional functions wanted by operators – Tell us changes we could make to existing paths • Stateful – Tell us about new LSPs we could set up • “Advisory” • Quickly evolves to active control of the network • Still with primary function of computing paths Paths for Different Purposes • A path is a path is a path – It is just a route through a network • But what travels on the path? – Packets and frames • MPLS, Ethernet, Segment Routing – Optical signals • TDM, ASON, WSON – Utilities • Cars, trains, electricity, water, sewerage PCE in SDN • We all love shiny things – Today’s sparkle is called SDN – So we need to see where PCE fits • Recall that the essence of SDN is programmatic control of the network – – – – Centralised decision-making Decouple control and data planes Application-aware network usage Smart software is in charge • That sounds a lot like PCE – And see the Application-Based Network Operation (ABNO) architecture [RFC 7491]… Active PCE with a Control Plane • Compute how to provide a connection – Instruct the head end to signal the connection Orchestrator / ABNO Controller TED PCE PCE as the SDN Controller • Compute how to provide a connection – Instruct the network Orchestrator / ABNO Controller TED PCE PCE as the SDN Orchestrator • Determine what connections are needed • Compute how to provide the connections – Instruct the network Applications ABNO Controller TED PCE Placing / Enabling Resources • A PCE can see what connections cannot be set up – Hence, what services cannot be delivered • This is a pre-emptive path computation function • So a PCE can help the operator – Enable out-of-service resources to be turned on “just in time” – Work out where to add links and nodes to support future traffic demands • This makes PCE a network planning tool • It can also be used to coordinate resources to build virtual networks – Network slicing – Setting up paths through server networks • See Abstraction and Control of Transport Networks (ACTN) • draft-ceccarelli-actn-framework – TE abstraction • draft-ietf-teas-interconnected-te-info-exchange What is a Resource? • Are we clear what a network resource is? – Node (switch, router) – Link (fiber, copper, channel, virtual link, tunnel) – Buffers, bandwidth, timeslot, optical channel … • resource [ree-sawrs, -sohrs, -zawrs, -zohrs, ri-sawrs, -sohrs, -zawrs, -zohrs] noun a source of supply, support, or aid, especially one that can be readily drawn upon when needed* • So what about other resources? – Servers, CPU, rack space, power consumption, radio channels, mobile cells … – Can PCE make informed decisions related to these resources? *www.dictionary.com PCE in SFC • A service function chain is a path – Nodes are service functions on their specific service function nodes – Links are the tunnels between those nodes • Path computation is about selecting – Which functions and in which order according to the needs of the traffic – Which service function node to use to realize the function – Which tunnels to use to link the service function nodes • Additional constraints will include an understanding of – The size of the traffic flow – The bandwidth available for the various tunnels – The processing load and capabilities of the service function nodes PCE in NFV • In Network Function Virtualization the service functions are instantiated as software instances on servers in data centers (the cloud) • The Service Function Chains still need to be built based on knowledge of loads and capabilities • However, new service functions can be instantiated to handle current or predicted loads • Who makes the decisions? – What are the predicted demands? – What new service function instantiations are needed? – Where should they be placed? • These decisions are like the decisions used to create a virtual network utilising resources in a server network by building connections and presenting them as links Generalized Resource Computation • We see that there are many decisions in networking about the consumption and placement of resources • These decisions are related to path computation – But they are not pure path computation issues • There is a set of computation problems that select resources for use, activation, or placement in support of network services • What engine performs these computations? – Is it a new server? – Is it PCE with new capabilities? – Is it new function but bundled with a PCE, and if so, what will be call it? What Defines a PCE? • Where do we go for an authoritative definition? – Perhaps RFC 4655 – Perhaps defined by the use of PCEP • How do we know who is authoritative? – Perhaps the IETF • But if I write some software that does generalized resource computation and I call it “OldDogCrop PCE” is it a PCE? If We Change What a PCE Does is it Still a PCE? • I really don’t want to invoke Wittgenstein, but… • We can cause a lot of confusion by calling things by the wrong name – But we might be saved by the abbreviation, PCE – Provisioning Computation Element ? Where Does that Leave Us? • • • • • • I have two unicorns Do I know what they are doing when I’m not watching? Do I know what they are for? Do I know their limits and capabilities? Can I teach them new tricks? Or should I invest in a griffon? Percy the PCE Unicorn Sidney the SDN Unicorn The Griffon of Pisa Questions?