PLNOG16: IOS XR – 12 lat innowacji, Krzysztof Mazepa
IOS XR – 12 lat innowacji !
1. Rok 2004 – działo się
2. Co innowacyjnego oferował IOS XR w roku 2004 ?
3. IOS XR 32 bits -> IOS XR 64 bits
- architektura systemu
- nowe możliwości wprowadzone przez IOS XR 6.0
4. „Smaczki konfiguracyjne” wprowadzone w ostatnich kilku
wersjach systemu IOS XR.
4 luty 2004 – założenie firmy Facebook
1 maja 2004 – Polska zostaje przyjęta do Uni Europejskiej
Rook 2004 – wprowadzenie pierwszej generacji routerów ISR
(Integrated Services Router – Cisco ISR 1800/2800/3800)
Inne produkty z tego okresu
(Cisco 12000 series router, Cisco 7600 router, Cisco 7200 series
25 maja 2004 – Cisco ogłasza router CRS-1, pierwszy router pracujący
z systemem operacyjnym IOS XR
Krótkie spojrzenie w przeszłość
Innowacje wprowadzone przez IOS XR
Dawno, dawno temu ... w 2013 roku
NCS Delivers Breakthrough Internet Capabilities for Leading Global
Service Providers BSkyB, KDDI, Telstra and Others
SEPTEMBER 24, 2013
SAN JOSE, Calif., September 24, 2013 – With Internet traffic rapidly growing amid new
waves of cloud, mobile, video and machine-to-machine applications, Cisco today
introduced the Cisco® Network Convergence System (NCS), a network fabric family
designed to serve as the foundation of a massively scalable, smarter and more adaptable
Internet. Several leading global service providers – including BSkyB (Sky), KDDI and
Telstra – are deploying the Cisco NCS to create new revenue streams, simplify
operations and deliver exciting personalized experiences to their customers. The
system's programmability and virtualization capabilities enable service providers to
accelerate the transition to software defined networking (SDN) and network function
… ability to run multiple operating systems on top
of a single physical platform by providing an
abstract view to each.
The software layer providing virtualization is
called a “virtual machine monitor” or
The operating system instances are called
“virtual machines (VM)” or “guest OS”
• Effective resource utilization by splitting across multiple Operating Systems
• Hypervisor is the Virtualization abstraction layer
• Hypervisor runs on bare metal or inside Host OS
CPU Memory I/O Disk
CPU Memory I/O Disk
NCS 6008 – Software Concepts
Virtualized IOS XRv Evaluation
Linux (Host OS)
Linux (Host OS)
• Independent Admin/XR
• Fault isolation
• XR Scalability for multiple tenants
• Admin VM:
• System management and monitoring
• XR VM:
• Routing application and management
• Consistent IOS-XR user interface
Benefits of Virtualization
Benefits of Virtualized Cisco® IOS-XR
• Multiple, highly secure
and isolated app
• Co-existence of
multiple XR versions
• Zero topology and
packet loss upgrade
• Improved system
and application virtual
• Flexible XR/service
VM placement on
Cisco Advances Industry's Most Comprehensive Portfolio of Service Provider Solutions with Unmatched Levels of
Programmability, Virtualization and Scalability
MARCH 17, 2015
SAN JOSE – March 17, 2015 – Today, Cisco announced three significant enhancements to the Cisco® Evolved Programmable
Network (EPN) portfolio, an open, elastic, and application-centric network infrastructure framework that enables service providers
to accelerate time to revenue while reducing the costs of deploying new services. The new technologies include:
- Cisco Application Engineered Routing
- Cisco IOS XRv 9000 Virtual Router
- High-density 100GE line cards for the Cisco ASR 9000 Series
With this announcement, Cisco is integrating its industry-leading programmability, virtualization and orchestration capabilities into
its best-of-breed core and edge networking portfolio. These latest EPN innovations will help service providers increase overall
profitability and service agility in delivering new revenue-generating services to customers.
Virtual Router Enables Delivery of On-Demand Services
To rapidly respond to customer demands and trial on-demand solutions, service providers must deploy advanced virtualization
capabilities. Adding to Cisco’s nearly 50 virtual network functions, the most in the industry, which span security, managed services,
broadband, policy and mobility applications, Cisco has packaged the scale and carrier-class performance of Cisco IOS XR as a
virtualized router. The IOS XRv 9000 Virtual Router, to be available in the second quarter of 2015, further increases service
agility and provides a low cost entry point for the IOS XR family. Additionally, IOS XRv operates on x86-based hardware for on
demand, cost optimized service deployment and complements the existing Cisco Cloud Services Routers (CSR1000v) targeted at
the enterprise and managed services markets.
IOS XRv Vision Statement
Common SP Operating System across physical and virtual Data planes
Abstracted Network Services & Automation
SDN Network APIs – NetConf / YANG, etc
Virtual XR DataplanePhysical High touch Dataplanes
Physical cost-optimized Dataplanes / merchant
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.
Lightweight and optimized admin plane
Lifecycle Management for CP and DP
Liveness (Heartbeat monitoring)
Data Plane Referred to as
Virtual Forwarder (VF)
XR Combined RP+
• Data Plane Controller – DPC
• Data Plane Agent – DPA
• Virtual Forwarder – UVF
• LXC – Linux Container
XR based Virtual Router
64-bit IOS XR
… coming to a platform closer to you
Q4 CY15 Q2 CY16 Q4 CY16
More in CLUS 2016
* On ASR9k, 32-bit QNX images and 64-bit linux images will be supported24
Fixed 1 RU
Fixed 2 RU
Modular 8 Slot
2Tbps DWDM capacity
2Tbps client capacity
8 CFP2 trunks and 20 QSFP clients
Guiding Principles for IOS-XR operational enhancements
Bring Your own Application
• Provide a platform on which customers can host their apps
• Customer apps, Third party apps, Cisco apps
• Provide visibility into the device through machine friendly interfaces
Open architecture Decrease tool chain variance
• Fit into customer’s operational workflow
IOS XR 6.0 Fully automated initial installation
- Bootable ISO
Visibility for smarter control, simpler monitoring,
and faster troubleshooting
- Streaming telemetry
- Machine-to-machine (M2M) interfaces
Flexible design for agile maintenance and updates
- Application hosting
- Flexible packaging and provisioning
- Linux-based OS
- Lightweight containers:
XR Boot Process
• XR 6.0 image will be released in the form of bootable self-extracting ISOs
• Similar to any Linux distribution.
• NCS 5000 and 5500 possess a BIOS that offers NetBooting using iPXE.
• iPXE is an open-source network boot firmware that supports:
1. Booting from HTTP/HTTPS.
2. Controlling the boot process via scripts.
3. Performing image validation.
• XR 6.0 comes with an Auto-Provision process
• Executed at the end of the control-plane boot sequence.
• Executed inside the Shell.
• Can execute Scripts or apply Static Configuration.
IOS-XR Boot Process with iPXE
GET script-SN.sh or config-SN.txt4
GET addon scripts/packages/configuration
Visibility for smarter
monitoring, and faster
Streaming Telemetry: Introduction
Where Data Is Created Where Data Is Useful
• Get as much data off the box as quickly
• Grant full access to all operational data
on the box*Coverage
• Serialize the data in a flexible, efficient
way that fits customers automated toolsAutomation
33*User needs to have the correct privileges
• Common modeling language
• Describes monitoring data structure and attributes
• Goal is YANG (experimental SysDB name space in IOS-XR 6.0)
• Push Model
• Stream data continuously with incremental updates based on subscriptions
• Data delivery
• JSON (compressed) inside TCP
• Google Protocol Buffer inside UDP
• Google Protocol Buffer inside gRPC
• Observe network state through a time-series data stream
Streaming Telemetry Model
XR Control Plane
• Telemetry Configuration
• Described in JSON.
• Define one or multiple collection
• Each group contains a rate and a pointer
to one or multiple objects in the
experimental SysDB path (6.0 only)
• Telemetry Policy
• Define the encoder, transport and the
receiver(s) for each policy.
• Telemetry Agent
• XR process that runs automatically and
looks for registered policies to act on.
Flexible design for agile
maintenance and updates
• 64-bit OpenEmbedded Linux support.
Brings in standard Linux toolchain.
Third-Party applications support.
• NCS5500, NCS5000 and NCS1002
will support only 64-bit Linux
• ASR 9000 will still have 32-bit QNX
64 bit Linux
Classic XR XR 6.0
32 bit QNX
IOS-XR 6.0: A New Software Infrastructure
Introduction to Containers
• LXC (LinuX Containers) let you run a Linux
system within another Linux system.
• A container is a group of processes on a Linux
• These processes form an isolated environment.
• Inside the container, it looks like a Virtual
• Outside the container, it looks like normal
processes running on the system.
• Containers look like Virtual Machines, but are
• They are Fast Deploy and Boot in less than one Second vs Minutes for Virtual Machines
• They are Lightweight Only a few MB of Disk Space per Container vs several hundred
MB for traditional Virtual Machines.
• They provide Similar Services as VMs Each container has:
• Its own network interfaces
- Can be bridged, routed... just like with KVM.
• Its own filesystem
- e.g.: RedHat host can run Debian container.
• Isolation (security)
- Two containers can't harm (or even see) each other.
• Isolation (resource usage)
- Soft & Hard quotas for RAM, CPU, I/O. X86 Hardware
IOS-XR Container Roles: The Host
• Runs Yocto based 64-bit Open
Embedded Linux kernel.
• Built using Windriver 7
• The main functions of the host are:
• Interact directly with the underlying
• Provide kernel services for the
• Provide libraries, tools, and utilities to
help launch, monitor, and maintain
• Provide the network infrastructure to
allow containers to communicate.
64-bit Host OS
IOS-XR Container Roles: The Control Plane
• The heart of IOS-XR 6.0
• Runs a Yocto based 64-bit OELinux
composed of 2 types of packages:
1. Cisco developed packages for core
network functions (BGP, MPLS, etc.)
2. Yocto packages for standard Linux
tools and libraries (bash, python,
64-bit Host OS
IOS-XR Container Roles: The Admin Plane
• Runs a Yocto based 64-bit Linux.
• Provides services that were originally
provided by the admin mode of XR.
• Runs processes responsible to
perform system diagnostics, monitor
environmental variables, and manage
• First container to be booted by the
host, and is responsible for the start
and maintenance of all the other
containers in the system.
64-bit Host OS
IOS-XR Container Roles: Third Party
• Runs any 64-bit Linux distribution.
• Launched from the XR container
using virsh and libvirtd.
• Access Network Interface through the
Third Party Network Name Space
64-bit Host OS
• Server-like Workflows
• Modular Disaggregated
• Update, Upgrade, Remove
• Dependency management
• Repository Support
• Third Party Applications
• New Install Commands
Networking Software Delivery Direction
RPM: XR New Package Format
• RPM Package Manager is the new Package format starting with IOS-XR 6.0.
• Packages are placed in a reachable repository and accessed via
FTP/SFTP/SCP/TFTP or HTTP or pre-staged on the box
• Third Party packages are installed with RPM or YUM inside the Shell.
• IOS-XR packages are installed with “install update/upgrade”.
• Install commands are a wrapper around YUM to provide multi-arch support.
• Both YUM and install commands provide dependency verification/resolution.
PIE Install RPM Install
• No dependency management
• Offline process required to copy packages
• Require multiple operations
• install add
• install activate
• install commit
• CSM for package content
• Dependency management
• Online process over secure transport
• Single operation
• install update or install upgrade
• On-box / Off-box package inspection
using rpm tool
Installing and Updating Third Party Packages
• Third Party Packages are traditional Linux tools available from the Shell
• Communication: lighttpd ,openssh, wget, curl, etc.
• Programing: python, ruby, perl, etc.
• Utilities: sed, gawk, tar, gzip, vi, etc.
• Additional packages provided by vendors (No Cisco Support)
• Installed using yum or rpm
yum install chef –y
Czasem trzeba czekać na
pewne funkcjonalności ...
Few usability highlights
- Global Configuration Replace – Ever wanted to quickly move interface configuration from one port
to another? This new feature allows for quick customization of router configuration by match and
replace based on interface names and / or regular expressions (see presentation below for details)
- Non-interactive EXEC commands – Ever wanted to initiate a router reload without being asked for
confirmation? A new global knob has been introduced to remove user interaction with the parser
- BGP advertised prefix count statistics – A new knob provides access to advertised count stats
(something you could do easily in IOS but not in IOS XR)
- OSPF post-reload protocol shutdown – A new knob that would keep OSPF in shutdown state after
a node reload
- Interactive Rollback operations – Ever issued the wrong rollback ID by mistake? –a new knob
would ask for user confirmation before committing
- CLI / XML serviceability enhancements to several platform dependent commands such as “show
controllers” and “show hw-module fpd” commands
- And many more …
• No Change in traditional CLI Operation with IOS-XR 6.0
• 6.0 is available on NCS5500, NCS5000 and NCS1000 Platforms
• 6.1.1 is available on ASR9k (traditional 32-bit QNX offering will still be
• Operational enhancement for Automated Operations
• Operating System change for Open Source tooling