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?