Deploying SDN on ASR 9000d2zmdbbm9feqrf.cloudfront.net/2015/eur/pdf/BRKSPG-2722.pdf192.4/31 192.6/31 128.2/31 128.0/31 192.0/31 AG04-4 10.99.8.8/32 AG04-2 10.99.2.2/32 AG06-3 10.99.5.5
Post on 30-May-2018
213 Views
Preview:
Transcript
Deploying SDN on ASR 9000
BRKSPG-2722
Joel Roberts, Technical Leader, Advanced Services joerober@cisco.com
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Agenda
• SDN Drivers, Concepts, & Definitions
• ASR9000 SDN Enabled Platform
– BGP-LS
– Stateful PCEP
– OpenFlow
– NETCONF/YANG
• Summary
3
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
There Are Many Reasons to Change
Industry Realignment
Significant Traffic Growth
0.0
20.0
40.0
60.0
80.0
100.0
120.0
140.0
2012 2013 2014 2015 2016 2017
Ex
ab
yte
s p
er
Mo
nth
Web/Data (24.2%, 18.9%)
File Sharing (15.7%, 8.1%)
Managed IP Video (21.8%, 21.0%)
Internet Video (38.3%, 52.0%)
50 Billion Connected Things
by 2020
Connected Things Growing 5X Faster than
Mobile Devices
More than 22% of all
networked events will be
Machine Driven by 2017
Emergence of Internet of Everything
Acquires 45%
of Verizon
Wireless from
+
+
+
+
+
+
5
Evolution & Intersections of Technology
Video
CloudMobility
M2M
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
There Are Many Key Challenges
Traffic GrowthComplexity
Competition
Total Cost Ownership Speed of Innovation
6
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Video
M2M
Cloud
MobilityEPN
Evolved Programmable Network (EPN)
NCS NCS
APIs
APIs
EDGECORE
UA
VM VM
Edge
Core
VM
Orchestration
VM / Storage Control
Service CatalogService Orchestration Apps
VM
Application
CDN
AGILITY
OPTIMIZE
MONETIZE ¥£€$
Always “ON”
On-DemandServices Anywhere
Dynamic Scale
ApplicationInteraction
SeamlessExperience
Policy
Real-Time Analytics
Services Orchestration
Fully Virtualized
IntelligentConvergence
Automated
Open and Programmable
Unified Access
7
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
SDN: Means Many Things to Many People
Practical Attributes:
• Centralized platform with global view of the network (Definitely NOT NEW)
• Offers northbound APIs for Application interaction with the network
• Employs many different methods to collect and program information from/to network
8
Optical
IP/MPLS
NB API
Centralized Platform with
Global View
Apps
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Today’s Infrastructure: Many Silos, Complex…
Data
Center
Customers
9
Wide Area Network Cloud
Optical
IP/MPLS
Software Engineering (Applications)
System Engineering
(Compute, Storage, Virtual
Machines)
Network Engineering
(WAN Services, NfV)Enterprise
Virtual
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Evolved Programmable Network
Data
Center
Customers
10
Wide Area Network Cloud
Optical
IP/MPLS
Software Engineering (Applications)
System Engineering
(Compute, Storage, Virtual
Machines)
Network Engineering
(WAN Services, NfV)Enterprise
Virtual
Physical and Virtual
API’s
Orchestration
API’s
Applications
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
SDN: Place In Network
Data
Center
Access/Customers
11
Wide Area Network Cloud
Optical
IP/MPLS
DC/Cloud
SDN
Enterprise
SDN
Applications DC-WAN X-Domain OrchEnt-SP WAN X-Domain Orch
SP SDN
(e.g WAN Orchestration)
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Scope
12
Applications
Orchestration
API’s + Protocols
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Service Provider “Hybrid” Control Plane
• Distributed Components –Functions tightly coupled to data plane
• Centralized Components –Functions where a holistic/abstracted view is required
• Existing distributed control plane ->Augmented by centralized control plane function
Traditional Control Plane
Architecture
(Distributed)
SDN Control Plane Architecture
(Centralized)
Collaborative Control Plane
Architecture
Application
Distributed Control Plane
Data Plane
Centralized Control Plane
APIs
13
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Choice of Programmable Layer
Network
Orchestration Management
Device
Device Plug-Ins
Controller
Service ManagementBusiness
ApplicationsIT Software Infra
Infrastructure S/WAnalytics
BI Collaboration ERM
Policy & Compliance
abstract
detail
14
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
There are Many Options for Programmability
• PCEP
• BGP-LS
• OpenFlow
• Netconf
• Yang
• BGP-FlowSpec
• ReST
• Puppet
• Chef
• SNMP
• NetFlow
• CLI
• Syslog
• Others...
15
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Programmability Interfaces - Segmentation
Configure
Operate
Device
Extension
DevOps
Integration
NETCONF
YANG
BGP-LS
PCEPOpFlex
Cisco
Python API
BGP
Flowspec
Cisco
Python API
16
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Examples of Use-Cases“Leveraging APIs and logically centralized control plane components”
Automation of
Network Control
and Configuration(Fulfillment and Assurance)
Virtual & Physical
Custom Routing (based on business logic)
Online Traffic Engineering
Consistent Policy for Network,
Security, & Threat Mitigation
Custom Traffic Processing
(Analytics, Security)
Virtualization and Customer Domain Isolation
(Device/Appliance/Network)
17
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OrchestrationRESTful APIs
ProgrammingCollection
Use-Case: Bandwidth Scheduling (On-Demand)
WAN
R1
R2
R3Data Center #1 Data Center #2
5
1
2 3
4
Congested!!
Challenge/Opportunity:
Customer has “on demand”
need for a DC backup
Network conditions reported
to collector (continuous)1
Customer requests DC1 to
DC2 bandwidth NOW2
Demand admission request:
<R1-R3, B/W, NOW>3
Orchestration returns option
and customer confirms4
R1-R3 LSP tunnel
programmed 5
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OrchestrationRESTful APIs
ProgrammingCollection
Use-Case: Bandwidth Calendaring
WAN
R1
R2
R3Data Center #1 Data Center #2
5
1
2 3
4
Congested!!
Customer uses self-service portal to request and schedule bandwidth between DC’s
Network conditions reported
to collector (continuous)1
Customer requests DC1 to
DC2 bandwidth at future date2
Demand admission request:
<R1-R3, B/W, Future Date>3
Orchestration returns
confirmation of date/time4
R1-R3 LSP tunnel
programmed 5
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR 9001 ASR9904 ASR 9006 ASR 9010 ASR9912 ASR 9922
Size 2RU 6RU 10RU 21RU 30RU 44RU
# of I/O Slots 2 MPAs 2 4 8 10 20
Air Flow Side to side Side to side Side to back Front to back Front to back Front to back
Fabric BW/slot N/A 770G/385G 440G/220G 440G/220G 770G/660G 770G/660G
Chassis
scalability/slot120Gbps 2Tbps 880Gbps 880Gbps 2Tbps 2Tbps
Total Chassis BW 120Gbps 8Gbps 3.5 Tbps 7.0 Tbps 20Tbps 40Tbps
Cisco ASR 9000 Portfolio EvolutionNew
New
ASR 9001-S
New
21
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9K SDN Enabled Platform & Strategy
Controller
OpenFlow
OpenFlow Agent
Applications
Policy Servers OSS/BSS User AppAnalytics
Orchestration
Control PlaneManagement
Plane
Controller
Controllers3
Program Policies for Optimized Experience
BGP-LSAPIs and Protocols
OpenFlow Agent ,
BGP-LS, PCEP,
NETCONF
2
SDN Enabled Data
Plane
1
E-PBR Data Plane
Policy Fwd Flows
ASR 9000
SDN Platforms
Orchestration,
Analytics, Services, etc
4
VSM
Harvest
Network
Intelligence
22
Controller
PCEP
Applications5
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Various Tools for Testing & Evaluation
OpenDaylight (ODL)
https://wiki.opendaylight.org/view/Getting_started
http://www.opendaylight.org/software/downloads
REST Client:
Chrome: Postman REST Client
Firefox: REST Client
Wireshark: https://www.wireshark.org/
IOS XR 5.2.2 with physical routers and
Virtual Internet Routing Lab (VIRL): virl.cisco.com
23
For YourReference
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Network Discovery & Data Collection
• Traditional
– Methods: SNMP, SNMPCollect (polling), Netflow, CLI Parsing
– Platforms: Network Management Systems (NMS)
– Are and will continue to be used…
• Some Challenges:
– Delay in topology changes to NMS • E.g. delay based on polling intervals
– Unreliable transport• e.g. missed SNMP traps
• Must Augment with (near) real-time information about the state of the network
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Overview BGP Link-State (BGP-LS)
• Use BGP to advertise LSDB and TED of a network
– New link-state address family
• Support for OSPF and ISIS LSDB
• Advantages
– Single upstream topology feed (BGP)
– IGP isolated from external entities
– Leverage well-known BGP security,transport and policy knobs
– Enables operator control
• Support introduced in IOS XR 5.1.1
• Implementations: WAN Automation Engine (WAE), ODL
26
Domain 1 Domain 2
Domain 0
BGP-LS
BGP-LS BGP-LS
RR
PCE
TED
LSP DB
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Reference Diagram: BGP-LS
27
OpenDaylight
192.168.96.0/29
.1
.2
192.168.x.x/3164.4/31
64.0/31
192.4/31 192.6/31
128.2/31
128.0/31
192.0/31
AG04-4
10.99.8.8/32
AG04-2
10.99.2.2/32
AG06-3
10.99.5.5
AG06-1
10.99.3.3
AG06-2
10.99.4.4
AG06-4
10.99.6.6
AG04-1
10.99.1.1
172.18.152.3/24
For YourReference
BGP-LS
REST
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
router ospf 1distribute bgp-ls instance-id 1router-id 10.99.8.8area 0
router bgp 65000bgp router-id 10.99.8.8address-family link-state link-state!neighbor 192.168.96.2remote-as 65000update-source Loopback0address-family link-state link-state!!
ASR9000 BGP Link State Configuration
Distribute link state
database into BGP-LS
Specify BGP-LS peer
28
Enable address-family
link-state
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
BGP Link State Prefixes
• BGP-LS prefix string has the following general format
[NLRI-Type][Area][Protocol-ID][Local node descriptor][Remote node descriptor][Attributes]/prefix-length
• Node descriptors and attributes consists of potentially multiple TLVs
• Node descriptors and attributes are shown as
[X[TLV1][TLV2]…]
– Where X identifies object (e.g. local node, remote node, link, etc.)
• TLVs are shown in the format
[yVALUE]
– Where y identifies field type (e.g. AS number, interface address, etc.)
29
For YourReference
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
RP/0/RSP0/CPU0:ASR9K-4#sh bgp link-state link-state Tue May 6 00:09:45.523 UTCBGP router identifier 10.99.8.8, local AS number 100Status codes: s suppressed, d damped, h history, * valid, > best
i - internal, r RIB-failure, S stale, N Nexthop-discardOrigin codes: i - IGP, e - EGP, ? - incompletePrefix codes: E link, V node, T IP reacheable route, u/U unknown
I Identifier, N local node, R remote node, L link, P prefixL1/L2 ISIS level-1/level-2, O OSPF, D direct, S statica area-ID, l link-ID, t topology-ID, s ISO-ID,c confed-ID/ASN, b bgp-identifier, r router-ID,i if-address, n nbr-address, o OSPF Route-type, p IP-prefixd designated router address
Network Next Hop Metric LocPrf Weight Path*> [V][O][I0x1][N[c100][b10.99.8.8][a0.0.0.0][r10.99.1.1]]/376
0.0.0.0 0 i *> [E][O][I0x1][N[c100][b10.99.8.8][a0.0.0.0][r10.99.1.1]][R[c100][b10.99.8.8][a0.0.0.0][r10.99.2.2]][L[i192.168.192.2][n192.168.192.3]]/792
0.0.0.0 0 i
ASR9000 BGP Link State Verification
Prefix codes
Node
Link
30
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
BGP-LS *OpenDaylight Sample Configuration
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:rib:impl">prefix:rib-impl</type>
<name>example-bgp-rib</name>
<rib-id>example-bgp-rib</rib-id>
<local-as>65000</local-as>
<bgp-id>192.168.96.2</bgp-id>
<bgp>
<type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:bgp:listener">prefix:listener</type>
<name>example-bgp-peer</name>
<host>10.99.8.8</host>
</bgp>
31
* Approximately Lines 55 to 67 of <install-path>/etc/opendaylight/karaf/41-bgp-sample.xml
BGP-LS peer (ASR9000)
OpenDaylight Controller
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
RESTCONF* Sample OpenDaylight BGP LS Topology
32
{ "topology": [{ "link": [
{ "link-id": "bgpls://Ospf:1/type=link&local-as=100&local-domain=174262280&local-area=0&local-router=174261509&remote-as=100&remote-domain=174262280&remote-area=0&remote-router=174261766&ipv4-iface=192.168.128.0&ipv4-neigh=192.168.128.1",
"l3-unicast-igp-topology:igp-link-attributes": {"ospf-topology:ospf-link-attributes": {
"ospf-topology:ted": {} },"l3-unicast-igp-topology:metric": 10 },
"destination": {"dest-node":
"bgpls://Ospf:1/type=node&as=100&domain=174262280&area=0&router=174261766","dest-tp": "bgpls://Ospf:1/type=tp&ipv4=192.168.128.1”},
"source": {"source-tp": "bgpls://Ospf:1/type=tp&ipv4=192.168.128.0","source-node":
"bgpls://Ospf:1/type=node&as=100&domain=174262280&area=0&router=174261509”}
* http://localhost:8080/restconf/operational/network-topology:network-topology/topology/example-linkstate-topology
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
BGP-LS Sample* Topology Visualization
33
*Visit DevNet for Sample BGP-LS Application
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Path Computational Element (PCE)
• Path computation in large, multi-domain, and multi-layer networks
• Can reside inside router or on an external server platform
• Setup intra-, inter-area (or domain) and inter-layer paths
• Computed Path might be:
– Explicit route identifying a contiguous set of strict hops between the source and destination
– Combination of strict/loose hops between the source and destination
Basic function is to compute paths (e.g. MPLS TE LSPs)
in MPLS/GMPLS Networks
35
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
PCE Definitions
• Traffic Engineering Database (TED)
– Contains topology and resource information
– Inputs from IGP LSDB
• PCE Server (PCE)
• Path Computation Client (PCC)
– Agent on router(s) that interact withPCE Server
• PCE Protocol (PCEP)
– Protocol that runs between PCC on router and PCE server
36
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Stateless and Stateful PCE
• Stateless
– PCE has no knowledge of previously established paths
• Stateful
– Synchronization between PCCs and PCEs
– PCC maintains state synchronization with PCE
– PCC may delegate LSP control to PCE
• Either PCE or PCC can initiate LSP setup
• PCC always owns LSP state
PCEP
Stateful PCE
TED
LSP DB
PCC
PCE-initiated
LSP
37
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Stateful PCE
• LSP Database
– Contains info/status on active LSPscommunicated by PCCs in LSP state report messages
• Active Stateful PCE
– References LSP DB for path computations
– Programs LSP state in network
• PCC reports LSP status to PCE
• PCE may reprogram an existing LSP
• LSP Delegation
– PCC delegates LSP control responsibility to PCE
38
LSP=Label Switch Path
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 PCE-Initiated Tunnels
• Treated as dynamically created tunnels (auto-tunnel)
• Router does NOT verify or compute path that PCE provides
– treated as verbatim path
• PCE responsible for LSP re-optimization
• PCE sends an PCEP Update when a better path exists
• Tunnels may be inter-area
• *PCE Initiated tunnel does not appear in configuration
– “show mpls traffic-eng tunnels”
39
PCEP
Initiate /
Create
Stateful PCE
TED
LSP DB
PCC
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Reference Diagram: PCE Initiated LSP
40
OpenDaylight
192.168.96.0/29
.1
.2
192.168.x.x/3164.4/31
64.0/31
192.4/31 192.6/31
128.2/31
128.0/31
192.0/31
AG04-4
10.99.8.8/32
AG04-2
10.99.2.2/32
AG06-3
10.99.5.5
AG06-1
10.99.3.3
AG06-2
10.99.4.4
AG06-4
10.99.6.6
AG04-1
10.99.1.1
172.18.152.3/24
For YourReference
PCEP
REST
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 PCC Configuration
hostname ASR9K-AG04-4!ipv4 unnumbered mpls traffic-eng Loopback0!mpls traffic-engpcepeer ipv4 192.168.96.2stateful-clientinstantiation
!auto-tunnel pcctunnel-id min 7000 max 9999
!
Allow PCE-
initiated LSP
User defined
tunnel number
range.
Required for
auto-tunnel
PCE server
41
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 Verification PCE Peer
RP/0/RSP0/CPU0:ASR9K-4#show mpls traffic-eng pce peer Tue May 6 03:21:17.216 UTC
Address State Learned From--------------- ------------ --------------------
192.168.96.2 Up Static config
42
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
PCE Add-LSP (OpenDaylight) Sample
43
• REST URL: http://localhost:8080/restconf/operations/network-topology-pcep:add-lsp
• Method: POST Content-Type:application/xml
<input>
<node>pcc://10.99.8.8</node>
<name>test-tunnel</name>
<arguments>
<endpoints-obj><ipv4>
<source-ipv4-address>10.99.8.8</source-ipv4-address>
<destination-ipv4-address>10.99.6.6</destination-ipv4-address>
</ipv4></endpoints-obj>
</arguments>
<network-topology-ref xmlns:topo="urn:TBD:params:xml:ns:yang:network-topology">/topo:network-topology/topo:topology[topo:topology-id="pcep-topology"]</network-topology-ref>
</input>
PCC
Source
Destination
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 Verification PCE Tunnel
RP/0/RSP0/CPU0:ASR9K-AG04-4#show mpls traffic-eng pce tunnels Mon May 19 17:36:20.237 UTCTunnel : tunnel-te7004
Destination : 10.99.6.6State : down
44
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
PCE Update LSP (OpenDaylight) Sample
45
• URL: http://localhost:8080/restconf/operations/network-topology-pcep:update-lsp
• Method: POST Content-Type:application/xml<input>
<node>pcc://10.99.8.8</node> <name>test-tunnel</name>
<network-topology-ref xmlns:topo="urn:TBD:params:xml:ns:yang:network-topology">/topo:network-topology/topo:topology[topo:topology-id="pcep-topology"]</network-topology-ref>
<arguments>
<operational xmlns:stateful02="urn:opendaylight:params:xml:ns:yang:pcep:crabbe:stateful:02">true</operational>
<ero>
<subobject><loose>false</loose><ip-prefix><ip-prefix>192.168.64.4/32</ip-prefix></ip-prefix></subobject>
<subobject><loose>false</loose><ip-prefix><ip-prefix>192.168.192.4/32</ip-prefix></ip-prefix></subobject>
<subobject><loose>false</loose><ip-prefix><ip-prefix>192.168.192.7/32</ip-prefix></ip-prefix></subobject>
<subobject><loose>false</loose><ip-prefix><ip-prefix>192.168.128.3/32</ip-prefix></ip-prefix></subobject>
</ero>
</arguments>
</input> Explicit-Route Object (ERO)
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 Verification PCE Tunnel
RP/0/RSP0/CPU0:ASR9K-AG04-4#show mpls traffic-eng pce tunnels Mon May 19 17:39:38.550 UTCTunnel : tunnel-te7004
Destination : 10.99.6.6State : upCurrent path option : 10
46
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
PCE Remove LSP (OpenDaylight) Sample
47
• URL: http://localhost:8080/restconf/operations/network-topology-pcep:remove-lsp
• Method: POST Content-Type:application/xml
<input>
<node>pcc://10.99.8.8</node>
<name>test-tunnel</name>
<network-topology-ref xmlns:topo="urn:TBD:params:xml:ns:yang:network-topology">/topo:network-topology/topo:topology[topo:topology-id="pcep-topology"]</network-topology-ref>
</input>
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 Verification PCE Tunnel
RP/0/RSP0/CPU0:ASR9K-AG04-4#sh mpls traffic-eng pce tunnels Mon May 19 17:43:35.610 UTCNo PCE tunnels.
48
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 Show Commands
• New commands
– show mpls traffic-eng auto-tunnel pcc […]
• Modified Commands
– show mpls traffic-eng pce peer [ all|ipv4 <addr>|node-id <id>|stateful|stateless]
• Other useful commands
– show mpls traffic-eng pce tunnels <id>
– show mpls traffic-eng pce trace […]
– show mpls traffic-eng tunnels tabular
49
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Traffic Steering into PCE-Initiated Tunnels
• Example approaches:
• Autoroute announce
• Policy-based tunnel selection (forwarding class id)
50
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Policy Based Tunnel Selection
• Local mechanism at head-end
• PBR policy sets forwarding class for incoming traffic
• Traffic switched to tunnel with matching forwarding class
• Seven forwarding classes supported (1-7)
• One forwarding class reserved as default (0)
51
PE1
PE2
Tunnel-te1000
Forwarding class 1
Tunnel-te2000
Forwarding class 0
(default)
Input policy matches
traffic based on ACL
and sets forwarding
class
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Traffic Steering PCE Initiated Tunnel
Tunnel-te1000
Forwarding
class 1
Tunnel-te2000
Forwarding
class 0 (default)
52
Tunnel-te7000
PCE Initiated LSP
Forwarding class 2
ASR9K-1
CETenGigE0/1/0/1
10.201.7.43
ASR9K-2
ASR9K-3
Set Forward ClassID 2
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OrchestrationRESTful APIs
PCEPProgramming
Use-Case: PCE Initiated LSP
WAN
R1
R2
R3Data Center #1 Data Center #2
4
3
Service Request1
Analytic to determine LSP2
PCCreate LSP3
Traffic steering onto LSP6
10.201.7.43
2
6
TE LSP Signaling4
Delegate & LSP State Report5
5
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OpenFlow (OF)
• Open Network Foundation (ONF)
• Layer 2 Communication Protocol:
– Access to forwarding plane
– Switch or Router
• OF Controller: Control Plane
• OF Agent (device): Forwarding Plane
55
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OpenFlow Agent/Plugin
• Implements standard OpenFlowswitch model.
• Speaks ‘standard’ OpenFlow protocol
• Native dedicated CLI for troubleshooting
56
Availability: Universal
User Experience: Consistent
Deployment:
End-to-end
• Available* IOS-XR, IOS and IOS-XE, NX-OS
• Common code, base features and CLI across platforms
• Across SP, Data Center, Campus…
* Please check roadmap for details on supported platforms & timelines
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OpenFlow
Sends instructions…
OpenFlow Controller
57
Table
Match Action
Table:
– Consists of a set of flows (each row is a flow)
– Each flow contains a set of matches and actions.
– Applied only in ingress direction
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OpenFlow Table
Match:
• Ingress port
• Priority: Highest priority flow entry that matches packet gets selected
– Lowest priority is zero and highest is 32768
Action:
• Packet forwarding actions
• Packet modification actions
• Actions are immediately applied to the packet
58
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OpenFlow: ASR9000
• Support starting IOS XR 5.1.2
– OpenFlow Switch Version 1.3
• IOS XR Images
– asr9k-mini-px.vm
– asr9k-mpls-px.pie (required for L3VPN, L2VPN)
– asr9k-k9sec-px.pie (required for TLS)
• Default port TCP 6653
• Any physical interface for OF controller
59
OpenFlow Agent
OpenFlow Controller
Control PlaneManagement
Plane
E-PBR Data Plane
Policy Fwd Flows
ASR9K
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000: OpenFlow Hybrid Mode
• Recommended
• OpenFlow and XR forwarding
• OpenFlow as a policy based routing (PBR) type of feature.• Can provide ‘fine-tuning’ on incoming traffic based on OpenFlow rule matching and rule actions
• Ability to take advantages of both XR features and OpenFlow flexibility
60
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 OpenFlow Layer 2 Table Options
Sends instructions…
OpenFlow Controller
61
L2 Only Table
Match- L2 Header Action: L2 Only
L2_L3 Table
Match: L2 & L3 Hdr Action: L2 Only
Supported L2 Matches & Actions are detailed in
ASR9000 System Management Configuration Guide, Release 5.2.x
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 OpenFlow Layer 3 Table Options
Sends instructions…
OpenFlow Controller
62
L3_V4 Table
Match: L3 IPv4 Hdr Action: L3 Only
L3_DS Table
Match:L3 v4 & v6 Action: L3 Only
Supported L3 Matches & Actions are detailed in
ASR9000 System Management Configuration Guide, Release 5.2.x
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 OpenFlow Tables
63
Layer Table Type Pipeline Supported
Interfaces
Description
Layer 2
L2 129 Bridge-domain, Gigabit ethernet, Bundle,
Bundle-subinterfaces, PWHE-
subinterfaces
• Supports L2 header matches
• Supports L2 actions.
• Can be applied to ingress L2 interface
L2_L3 130 L2Bridge-domain, Gigabit ethernet,
Bundle, Bundle-subinterfaces, PWHE-
subinterfaces
• Supports L2 & L3 (IPv4/IPv6) header
matches
• Supports L2 actions
• Can be applied ingress L2 interface
Layer 3
L3_V4 131 VRF and global interfaces, BVI (IPv4
only), Bridge-domain, Gigabit ethernet,
Bundle, Bundle-subinterfaces
• Supports L3 (IPv4) header matches
• Supports L3 (IPv4) actions
• Can be applied to ingress L3
interfaces
L3_DS 132 VRF and global interfaces, BVI (IPv4
only), Bridge-domain, Gigabit ethernet,
Bundle, Bundle-subinterfaces
• Supports L2 & L3 (IPv4/IPv6) header
matches
• Supports L3 (IPv4/IPv6) actions
• Can be applied to ingress L3
interfaces
For YourReference
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OpenFlow Cisco Extension Actions
• Additional OpenFlow features on ASR9000
64
Cisco Added Actions
OpenFlow Switch Types
supported on ASR9000
Applied L2 Bridge
Domain
Applied L3 or L3 VRF
Interface
Action Description L2
Only
L2_L3 L3_V4 L3_DS
Set IPv4 Next Hop Set IPv4 Nexthop
Address
No No Yes Yes
Set IPv6 Next Hop Set IPv6 Nexthop
Address
No No No Yes
Set Forward Class ID Set Forward Class ID No No Yes Yes
Netflow Enable/Disable Enable/Disable Netflow No No Yes Yes
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Openflow for Traffic Steering
• Use Openflow to program classifiers/actions on WAN Edge
• Flow entries would be something like:
– MATCH/Set_IPv4_Next_Hop
– MATCH/Set_IPv6_Next_Hop
– MATCH/Set_FCID (tunnel identifier)
• Useful for services and applications requiring steering of specific flows into a programmed WAN resource
65
Head-End
PCEP
Create LSP Tunnel
WANEdge Routers
Flow Entries
<MATCH/”Forward to
Tunnel”>
Tunnel
Traffic Steering
App
SDN WAN Orchestration
OF PCEP
OF
Flows
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OrchestrationRESTful APIs
ProgrammingOpenFlow
Use-Case: OpenFlow for Traffic Steering
WAN
R1
R2
R3Data Center #1 Data Center #2
3
3
Service Request1 Analytic to determine LSP
2
Create LSP Tunnel with
FCID 23
Use OpenFlow to program
match/action on WAN edge4
L3_DS Table
Match: SRC 10.201.7.43 Action: Set FCID=2
10.201.7.43
2
4
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
interface TenGigE0/0/0/3l2transport!l2vpnbridge group SDN-1bridge-domain OF-1interface TenGigE0/0/0/3
!openflowswitch 7 pipeline 129tls trust-point local openfCA remote openfCAbridge-group SDN-1 bridge-domain OF-1controller ipv4 172.16.1.45 port 6653 security tls!!
ASR9000 OpenFlow L2 Switch Configuration
Openflow Switch attached to
bridge-domain
OpenFlow Controller
67
L2 Only Switch
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
interface TenGigE0/0/0/3l2transport!l2vpnbridge group SDN-2bridge-domain OF-2interface TenGigE0/0/0/4
!openflowswitch 9 pipeline 130tls trust-point local openfCA remote openfCAbridge-group SDN-1 bridge-domain OF-1controller ipv4 172.16.1.45 port 6653 security tls!!
ASR9000 OpenFlow L2 + L3 Switch Configuration
Openflow Switch attached to
bridge-domain
OpenFlow Controller
L2 + L3 Switch
68
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
openflow switch 11 pipeline 131interface Bundle-Ether2.1interface GigabitEthernet0/1/0/7interface GigabitEthernet0/0/0/0/4.1301controller ipv4 172.16.1.45 port 6653 security tls
openflowswitch 10 pipeline 131vrf ONEcontroller ipv4 172.16.1.45 port 6653 security tls
ASR9000 OpenFlow L3_V4 Switch Configuration
All interfaces in VRF become
part of OpenFlow Switch
Specify L3
Interfaces
69
L3_V4 Switch
L3_V4 Switch
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
openflow switch 100 netflowflow monitor mmap sample smapinterface Bundle-Ether3interface GigabitEthernet0/0/0/0/4.1201controller ipv4 172.16.1.45 port 6653 security tls
ASR9000 OpenFlow Netflow Configuration
• Cisco extension to OpenFlow
• Used to enable/disable NETFLOW on Layer 3 Interfaces
70
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Sample ASR9000 OpenFlow Show Commands
71
RP/0/RSP0/CPU0:ASR9K-AG06-4#show openflow switch 102 controllerLogical Switch Id: 102
Controller: 1 Address : 192.168.96.3:6653Protocol : tcpVRF : defaultLocal Trustpoint: : Not availableRemote Trustpoint: : Not availableConnected : YesRole : Masterlast_error : Invalid argumentstate : ACTIVEsec_since_connect : 431579
RP/0/RSP0/CPU0:ASR9K-AG06-4#show tcp briefPCB VRF-ID Recv-Q Send-Q Local Address Foreign Address State
0x501e3690 0x60000000 0 0 10.99.6.6:58633 192.168.96.3:6653 ESTAB0x501c8720 0x60000000 0 0 10.99.6.6:38212 10.99.8.8:179 ESTAB
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Sample ASR9000 OpenFlow Show Commands
72
RP/0/RSP0/CPU0:ASR9K-AG06-4#show openflow switch 102 flows Logical Switch Id: 102Total flows: 1Flow: 1
Match: ipv6,ipv6_dst=192:1::2 Actions: output_nh(ipv6=2001:20::2)Priority: 0Table: 0Cookie: 0x1Duration: 196.353sNumber of packets: 0Number of bytes: 0
RP/0/RSP0/CPU0:ASR9K-AG06-4#show openflow switch 102 portsTue Jan 27 14:07:21.025 UTCLogical Switch Id: 102Port Interface Name Config-State Link-State Features
1 Te0/1/0/1 PORT_UP LINK_UP 0
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OpenDaylight Controller
73
Visit DevNet for OpenDaylight and Cisco Open SDN Controller
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OpenFlow Show Commands
• show openflow switch <>
• show openflow switch <> controllers | stats
• show openflow switch <> ports
• show openflow switch stats
• show openflow switch flows | brief/summary
• show openflow interface switch <>
• show openflow hardware capabilities pipeline <>
• show table-cap table-type <>
74
For YourReference
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OpenFlow Show Commands
• Show policy-map commands:
• show policy-map transient list type pbr
• show policy-map transient type pbr pmap-name <>
• show policy-map transient targets summary
• PBR platform show commands
• show pbr-pal ipolicy [<policy_name> | all ] location <loc>
• show pbr-pal ipolicy <policy_name> iclass [<iclass_handle> | all ] vmr-info location <loc>
• show pbr-pal ipolicy <policy_name> iclass [<iclass_handle> | all] stats [clear-on-read] location <loc>
• show prm server tcam entries <table> vmr-id <> 100 np0 loc <>
• show prm server tcam summary <table> PBR all loc <>
75
For YourReference
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OpenFlow Debug
• Debug for OpenFlow Agent:
• debug openflow switch ovs module ofproto level debug
• debug openflow switch ovs module ofproto-plif level debug
• debug openflow switch ovs module plif-onep level debug
• debug openflow switch ovs module plif-onep-util level debug
• debug openflow switch ovs module plif-onep-wt level debug
• Debug for Policy Manager
• debug policymgr all
• debug policymgr trace
• debug policymgr lib all
• debug policymgr lib trace
• Debug for PBR: debug pbr-pal all loc
76
For YourReference
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 OpenFlow References
ASR9000 and OpenFlow Whitepaper:
https://supportforums.cisco.com/document/12402506/asr-9000-sdn-openflow-whitepaper
ASR9000 System Management Configuration Guide, Release 5.2.x
http://www.cisco.com/c/en/us/support/routers/asr-9000-series-aggregation-services-routers/products-installation-and-configuration-guides-list.html
77
For YourReference
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Traditional: Command Line Interface (CLI)
• Generally a majority of today’s configuration
• Device Specific
• Human Friendly
• Manual (challenging to automate)
• Developer un-friendly
– Such parsing CLI screen scrape
• No Common Data Model
• No Built-In Error Reporting
79
[joerober@rtp-odl ~]$ ssh lab@10.99.1.1lab@10.99.1.1's password: RP/0/RSP0/CPU0:ASR9K-AG04-1#configure terminal Tue Jan 6 17:18:58.350 ESTRP/0/RSP0/CPU0:ASR9K-AG04-1(config)#
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
NETCONF
• Network Configuration Protocol (NETCONF)
– XML based interface between network device and NMS
– Mechanism to manage, configure, and monitor network device
• Published RFC 4741 (Dec 2006)
• Updated RFC 6241 (Jun 2011)
• Overcome SNMP Limitations
– 2003 IAB Network Management Workshop (RFC3535)
80
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Comparing SNMP and NETCONF
81
SNMP NETCONF
Data Models Defined in MIBs Defined in YANG modules (or
XML schema documents)
Data Modeling Language Structure of Management
Information (SMI)
YANG (and XML schema)
Management Operations SNMP NETCONF
RPC Encapsulation Basic Encoding Rules (BER) XML
Transport Protocol UDP TCP (reliable transport)
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
NETCONF Layers
• Content
– Configuration and Operational Data
• Operations
– Defines base operations
– What clients do to servers
• Messages/Remote Procedure Call (RPC)
– Transport-independent mechanism for encoding messages
– RPC, RPC-Reply
• Transport
– Reliable communication between client and server
82
Content
Operations
Messages
Transport
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 NETCONF Transport & Messages
• TTY NETCONF session:
– Logon through telnet and then enter netconf command
• SSH NETCONF session:
– Logon through SSH and then enter netconf command
– *IANA-assigned TCP port 830 for NETCONF SSH support starts in 5.3.0
83
Transport
RPC
Operations
Content
Client Server
<rpc>
<rpc-reply>
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 NETCONF Configuration (XR 5.2.2)
• NETCONF TTY:
netconf agent tty
• NETCONF SSH:
ssh server v2
netconf agent tty
• Session verification:
show netconf session
84
! IOS XR 5.2.2
hostname ASR9K-R1
domain name cisco.com
!
netconf agent tty
!
ssh client vrf default
ssh server v2
ssh server vrf default
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 NETCONF Data Stores
• Target of NETCONF Operations
• Data stores are named containers that may hold an entire copy of the configuration
• IOS XR Supported Datastores:
– <running>
– <candidate>
– *XR two stage commit (no startup datastore)
Running Candidate
85
Transport
RPC
Operations
Content
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
<edit-config>
<PBR> <ServicePolicy>
<Input>PBTS</Input>
</ServicePolicy>
</PBR>
OrchestrationRESTful APIs
Programming
Use-Case:NETCONF Detailed Policy/Traffic Steering
WAN
R1
R2
R3Data Center #1 Data Center #2
3
3
Service Request1Analytic to determine LSP
2
Create LSP Tunnel FCID 23
NETCONF to program:
-detailed policy*
-apply policy inbound
4
10.201.7.43
2
4
*example policy in reference slides
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Starting SSH NETCONF Session nms$ ssh –l lab 10.99.8.8 netconf echo format
cisco@10.99.8.8's password:
Tue Apr 1 03:00:24.199 UTC
<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.0</capability>
<capability>urn:ietf:params:netconf:capability:candidate:1.0</capability>
<capability>urn:ietf:params:netconf:capability:notification:1.0</capability>
</capabilities>
<session-id>285212672</session-id>
</hello>
87
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
NETCONF Operation <hello>
• Used to exchange capabilities
• Initiated by the NETCONF Server
• Must be acknowledged by client before client can send any other messages
IOS XR (5.2.2):
<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.0</capability>
<capability>urn:ietf:params:netconf:capability:candidate:1.0</capability>
<capability>urn:ietf:params:netconf:capability:notification:1.0</capability>
</capabilities>
<session-id>285212672</session-id>
</hello>
88
Transport
RPC
Operations
Content
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
NETCONF Operations - <edit-config>
• Modify configuration of particular data store
• Can only be used on writable data store
• Support on IOS XR:
– Candidate Configuration Capability
urn:ietf:params:netconf:capability:candidate:1.0
89
Transport
RPC
Operations
Content
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Example <edit-config><?xml version="1.0" encoding="UTF-8" ?>
<rpc message-id="106" xmlns="urn:ietf:params:netconf:capability:candidate:1.0">
<edit-config>
<target><candidate/></target>
<config>
<Configuration><InterfaceConfigurationTable><InterfaceConfiguration><Naming>
<Active>act</Active>
<InterfaceName>TenGigE0/3/0/0</InterfaceName>
</Naming>
<Description>NETCONF CONFIG</Description>
<IPV4Network><Addresses><Primary>
<Address>10.223.1.1</Address>
<Netmask>255.255.255.0</Netmask>
</Primary></Addresses></IPV4Network>
</InterfaceConfiguration></InterfaceConfigurationTable>
</Configuration></config>
</edit-config> </rpc> ]]>]]>
Datastore
Interface
Add interface
description
IPv4 Address
Netmask
interface TenGigE0/3/0/0
description NETCONF CONFIG
ipv4 address 10.223.1.1 255.255.255.0
90
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Example <edit-config> (cont)<?xml version="1.0" encoding="UTF-8"?>
<rpc-reply message-id="106" xmlns="urn:ietf:params:netconf:capability:candidate:1.0">
<ok/>
</rpc-reply>
]]>]]>
<?xml version="1.0" encoding="UTF-8" ?>
<rpc message-id="101" xmlns="urn:ietf:params:netconf:capability:candidate:1.0">
<commit/>
</rpc>
]]>]]>
<?xml version="1.0" encoding="UTF-8"?>
<rpc-reply message-id="101" xmlns="urn:ietf:params:netconf:capability:candidate:1.0">
<ok/>
</rpc-reply>
]]>]]>
rpc-reply
Commit
Configuration
rpc-reply
91
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
NETCONF Operations - <get-config>
• Used to retrieve all or portions of configuration
• Subtree filtering support:
– Attribute Match Expression• Can only be specified in Table classes (e.g. <InterfaceName Match=“TenGig.*”/> )
– Containment Nodes: • Filtering is by specifying container classes (e.g. <InterfaceConfigurationTable/> )
– Selection Node: • Filtering by specific selection (e.g. <InterfaceName>Loopback0</InterfaceName>
92
Transport
RPC
Operations
Content
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Example <get-config>(Attribute match)<?xml version="1.0" encoding="UTF-8" ?>
<rpc message-id="106" xmlns="urn:ietf:params:netconf:capability:candidate:1.0">
<get-config>
<source><running/></source>
<filter>
<Configuration>
<InterfaceConfigurationTable>
<InterfaceConfiguration>
<Naming>
<Active>act</Active>
<InterfaceName Match=“TenGigE.*”/>
</Naming>
</InterfaceConfiguration>
</InterfaceConfigurationTable>
</Configuration>
</filter>
</get-config>
</rpc> ]]>]]>
Attribute match: all TenGigE interfaces
Datastore
93
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Example <get-config>(Containment node)<?xml version="1.0" encoding="UTF-8" ?>
<rpc message-id="106" xmlns="urn:ietf:params:netconf:capability:candidate:1.0">
<get-config>
<source><running/></source>
<filter>
<Configuration>
<InterfaceConfigurationTable/>
</Configuration>
</filter>
</get-config>
</rpc> ]]>]]>
Containment: all interfaces
Datastore
94
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Example <get-config> (selection node)<?xml version="1.0" encoding="UTF-8" ?>
<rpc message-id="106" xmlns="urn:ietf:params:netconf:capability:candidate:1.0">
<get-config>
<source><running/></source>
<filter>
<Configuration>
<InterfaceConfigurationTable>
<InterfaceConfiguration>
<Naming>
<Active>act</Active>
<InterfaceName>Loopback0</InterfaceName>
</Naming>
</InterfaceConfiguration>
</InterfaceConfigurationTable>
</Configuration>
</filter>
</get-config>
</rpc> ]]>]]>
Datastore
Selection: Loopback0 only…
95
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Example <get-config> ASR9000 <rpc-reply><?x<?xml version="1.0" encoding="UTF-8"?>
<rpc-reply message-id="106" xmlns="urn:ietf:params:netconf:capability:candidate:1.0">
<data><Configuration>
<InterfaceConfigurationTable MajorVersion="5" MinorVersion="3">
<InterfaceConfiguration> <Naming><Active>act</Active>
<InterfaceName>Loopback0</InterfaceName>
</Naming>
<InterfaceVirtual>true</InterfaceVirtual>
<IPV4Network MajorVersion="6" MinorVersion="3">
<Addresses><Primary>
<Address>10.99.8.8</Address>
<Netmask>255.255.255.255</Netmask>
</Primary></Addresses></IPV4Network>
</InterfaceConfiguration></InterfaceConfigurationTable>
</Configuration></data>
</rpc-reply> ]]>]]>
Tagged Configuration
96
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Closing SSH NETCONF Session <?xml version="1.0" encoding="UTF-8" ?>
<rpc message-id="106" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<close-session>
</close-session>
</rpc> ]]>]]>
<?xml version="1.0" encoding="UTF-8"?>
<rpc-reply message-id="106" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<ok/>
</rpc-reply>
]]>]]>
Connection to 10.99.8.8 closed by remote host.
odl-1$
RPC close-session
RPC-Reply
97
Connection Closed
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
YANG
• Modeling language defined in RFC 6020
• Used by NETCONF to define objects and data in requests and replies
• Models configuration, operational, and RPC data
• Provides semantics to better define NETCONF data
• Provides common data model:
– In order for NETCONF to be useful as network-wide protocol
– To consume NETCONF data from any network device
• YANG modules are for NETCONF what MIBs are for SNMP
98
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
YANG XR / ASR9000 Support
• YANG data modules still being developed with standards drafts being proposed and under review
• IOS XR Support for YANG being taken in phased approach based on YANG modules being developed by Cisco and industry standardization
• First phase for general release being targeted for XR 5.3.1*
• First phase targeting management, core, access, and services based functions
• YANG models available as SMU for ASR9K in controlled availability. Contact your account team for further details.
99
* DISCLAIMER: Many of the products and features described herein remain in varying stages of development and will be offered on a when-and-if-available basis. This roadmap is subject to
change at the sole discretion of Cisco, and Cisco will have no liability for delay in the delivery or failure to deliver any of the products or features set forth in this document.
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Traditional Infrastructure
Data
Center
Customers
101
Wide Area Network Cloud
Optical
IP/MPLS
Software Engineering (Applications)
System Engineering
(Compute, Storage, Virtual
Machines)
Network Engineering
(WAN Services, NfV)Enterprise
Virtual
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Evolved Programmable Network
Data
Center
Customers
102
Wide Area Network Cloud
Optical
IP/MPLS
Software Engineering (Applications)
System Engineering
(Compute, Storage, Virtual
Machines)
Network Engineering
(WAN Services, NfV)Enterprise
Virtual
Physical and Virtual
API’s
Orchestration
API’s
Applications
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OrchestrationRESTful APIs
ProgrammingCollection
Use-Case: Bandwidth Scheduling (On-Demand)
WAN
R1
R2
R3Data Center #1 Data Center #2
5
1
2
3
4Congested!!
Challenge/Opportunity:
Customer has “on demand”
need for a DC backup
Network conditions reported
to collector1
Customer requests DC1 to
DC2 bandwidth NOW2
Analytic and confirmation to
determine LSP3
R1-R3 LSP Tunnel
programmed4
Traffic Steering onto
R1-R3 LSP5
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
OrchestrationRESTful APIs
ProgrammingCollection
Use-Case: Bandwidth Scheduling (On-Demand)
WAN
R1
R2
R3Data Center #1 Data Center #2
5
1
2
3
4Congested!!
Challenge/Opportunity:
Customer has “on demand”
need for a DC backup
Augment Collection: BGP-LS1
Service Request2
Analytic, Orchestration
e.g. WAE3
LSP: PCEP, NETCONF, etc
Controller-ODL, Tail-f, etc4
Traffic Steering:
OpenFlow, NETCONF, etc5
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Summary-ASR9000 APIs & Protocols
Key Function Protocol/API Comments
IGP Topology BGP Link-State Wraps up LSDB in BGP transport and pushes to BGP speaker
on SDN WAN Orch Platform
Create, Modify and Delete TE
or SR Tunnels
Stateful Extensions to
PCEP
Introduced as part of Stateful PCE effort
Classification and Action Openflow Extensions Leveraging per-flow MATCH/Action semantics
Read/Write of Persistent
Configuration Data on
Network Devices
Netconf/Yang Finally gaining traction with vendor implementations and now on
OpenDaylight Platform
105
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Call to Action
• Visit the World of Solutions for
– Service Provider Section
• ASR9000
• WAN Automation Engine
• Tail-f
• DevNet Zone
– Related labs and sessions
– Cisco Open SDN Controller
– WAN Automation Engine (WAE)-Hands-On Labs
• Cisco Live/DevNet SDN Sessions: http://cs.co/CLEU15-ACI
106
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
DevNet: Getting Started with WAE
• DevNet – WAE Tutorials and API Documentation https://developer.cisco.com/site/wae/index.gsp
• Learning Labs – Hands on with the WAE APIs over in the DevNet zone https://learninglabs.cisco.com/#/home
• dCloud – demos of WAEhttp://dcloud.cisco.com/
• WAE home page on cisco.com: http://www.cisco.com/go/wae
WAE Learning labs
For YourReference
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
World of Solutions: Tail-f NCS Overview
• Logically centralized network services
• Data models for data structures
• Structure representations of:
– Service instances
– Network configuration and state
• Mapping service operations to network configuration changes
• Transactional integrity
• Multiprotocol support
• Multivendor support
108
Device Models Network Element Drivers
Device Manager
Service Manager
Tail-f NCS Service Models
Networkwide CLI and Web UI REST, NETCONF, Java, etc.
Network Engineer
Management Applications
NETCONF, CLI, SNMP, REST, etc.
• Execution management systems (EMSs)
• Applications • Controllers
For YourReference
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
DevNet: Open SDN Controller (OSC)
• Cisco Distribution of OpenDaylight platform
• Enhancements
– Simplified install
– Admin/Monitoring tools
– Embedded Apps
– Plug-in Clustering
– Technical Support
• developer.cisco.com/site/openSDN/
109
Community Support Cisco Supported
“HELIUM”
Open SDN Controller
Common Content Incremental
Cisco
Value
Precluded
OpenDaylight
Content
SDNi
Defense4all
PacketCable
PCMM
VTN Project
OpenContrail
Plugin
SNMP4SDN
AAA
BGP-LS
Controller
DLUX
Group Policy
L2 Switch
LISP Flow
Mapping
Openflow
Plugin
OVSDB
Secure Network
Bootstrap Infra
Service Function
Chaining
Yang Tools
MD-SAL
AD-SAL
Log
Aggregation
Metrics
Aggregation
Monitoring
Basic
Clustering
Central Admin
OVA Distribution
Sample Apps
One Click Install PCEP
Plug-in Clustering
To be contributed back
to the “open community”
For YourReference
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
• Devloper Network: http://developer.cisco.com
• OpenDaylight: http://www.opendaylight.org/
• SDLC - https://developer.cisco.com/site/networking/one/sdlc/overview/
• EEM - https://supportforums.cisco.com/community/netpro/network-infrastructure/eem
• ONE Forums -https://developer.cisco.com/site/devnet/forums/index.gsp#L2CiscoONE
• APIC-EM - https://developer.cisco.com/site/networking/one/apic/enterprise-module/
• APIC-DC
– APIs https://developer.cisco.com/site/networking/routers-switches/nexus9000/documents/
– GitHub - https://github.com/datacenter/nexus9000
Cisco Developer Resources
110
For YourReference
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
Complete Your Online Session Evaluation
• Please complete your online sessionevaluations after each session.Complete 4 session evaluations& the Overall Conference Evaluation(available from Thursday)to receive your Cisco Live T-shirt.
• All surveys can be completed viathe Cisco Live Mobile App or theCommunication Stations
111
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
PCE-Initiated LSP (Multiple PCEs)
• PCC synchronizes LSP state over all open stateful PCEP sessions
• When a PCE creates / initiates an LSP
– PCC will report LSP state to all stateful PCEs
– PCC will only delegate LSP to originating PCE
• LSP may be re-delegated if originating PCE disconnects or renounces delegation
• LSPs may be re-delegated to a stateful PCE sending a matching LSP creation / initiation before LSP cleanup timeout
PCEP
Stateful
PCC
Stateful PCE B
TED
LSP DB
Stateful PCE A
TED
LSP DB
PCEP
115
For YourReference
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 PBTS Configurationipv4 access-list IPV4_SRC10 permit ipv4 host 10.201.7.43 any!class-map type traffic match-any IPV4_SRCmatch access-group ipv4 IPV4_SRC end-class-map!policy-map type pbr PBTSclass type traffic IPV4_SRC set forward-class 2!end-policy-map!interface TenGigE0/1/0/1ipv4 address 172.16.0.5 255.255.255.254service-policy type pbr input PBTS!
Use PBR policy to
set forwarding class
Apply PBR policy to
set forwarding class
116
For YourReference
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
ASR9000 NETCONF Operation <edit-config><?xml version="1.0" encoding="UTF-8" ?>
<rpc message-id="106" xmlns="urn:ietf:params:netconf:capability:candidate:1.0">
<edit-config>
<target><candidate/></target>
<config>
<Configuration><InterfaceConfigurationTable><InterfaceConfiguration><Naming>
<Active>act</Active>
<InterfaceName>TenGigE0/3/0/1</InterfaceName>
</Naming>
<PBR>
<ServicePolicy>
<Input>PBTS</Input>
</ServicePolicy>
</PBR>
</InterfaceConfiguration></InterfaceConfigurationTable>
</Configuration></config>
</edit-config> </rpc> ]]>]]>
Datastore
Interface
Apply PBR Input Policy “PBTS”
117
For YourReference
© 2014 Cisco and/or its affiliates. All rights reserved.BRKSPG-2722 Cisco Public
openflow switch 11 pipeline 132interface Bundle-Ether2.1interface GigabitEthernet0/1/0/7interface GigabitEthernet0/0/0/0/4.1301controller ipv4 172.16.1.45 port 6653 security tls
openflowswitch 10 pipeline 132vrf ONEcontroller ipv4 172.16.1.45 port 6653 security tls
OpenFlow L3_DS SwitchUsing VRF:
All interfaces in VRF become part of
OpenFlow Switch
Using L3 Interfaces
118
For YourReference
top related