Modern data centers power businesses through a new generation of applications and services. Organizations are quickly adopting cloud-based models in their data centers to address new business needs and to extract more value out of their data centers. Cloud-based models enable businesses to be agile by quickly translating changes in the business environments to changes in the data center: scaling up existing workloads, triggering new analyses of business information, etc.
Businesses want an infrastructure that provides a framework to harness the entire value of the intelligent network, by implementing openness, programmability, and abstraction at multiple layers. This framework can be achieved through a variety of mechanisms, including APIs, agents, and open shell access. Such a data center empowers businesses to be more responsive to their customers and gain a competitive advantage.
To meet the needs of the modern data center, a network device - or more particularly, the operating system that powers that device - must be:
• Resilient: To provide critical business-class availability
• Modular: To be capable of extension to evolve with business needs and provide an extended lifecycle
• Highly programmable: To allow rapid automation and orchestration through APIs
• Secure: To protect and preserve data and operations
• Flexible: To integrate and enable new technologies
• Scalable: To accommodate and grow with the business and its requirements
• Easy to use: To reduce the amount of learning required, simplify deployment, and ease manageability
® NX-OS Software is designed to meet all these criteria while running on the Cisco Nexus
® 9000 Series Switches. The Cisco Nexus 9000 Series consists of Cisco Nexus 9500 platform modular switches and Cisco Nexus 9300 platform fixed-configuration switches.
Equipped with an enhanced version of Cisco NX-OS as the operating system, Cisco Nexus 9000 Series Switches provide network connectivity through traditional means but with exceptional performance and enhanced network resiliency and programmable automation functions.
This document describes the new enhanced features of the Cisco NX-OS specifically on the Cisco Nexus 9000 that make it an outstanding advanced operating system for the next-generation data center.
Building on a Proven Foundation
The enhanced Cisco NX-OS is a modern modular operating system that builds on more than 15 years of Cisco NX-OS data center innovation and experience in high-performance switching and routing. It enhances the operating system by adding extensibility and programmability to its excellent performance, reliability, and resilience in the data center.
Cisco NX-OS, when running on Cisco Nexus 9000 series is built on the new Linux Version 3.4.10 64-bit kernel, an improved version of the Linux 2.6 kernel. This new kernel version currently provides the best balance of advanced features, maturity, and stability. These characteristics provide the solid foundation of resilience and robustness necessary for any network device OS powering the mission-critical environment of today's enterprise-class data centers.
It is a purpose-built operating system for a modern data center that the Cisco Nexus 9000 Series, with these features:
• Modern: Uses 64-bit Linux 3.4.10 kernel
• Comprehensive: Provides a purpose-built data center feature set, including Layer 2 and 3 and Virtual Extensible LAN (VXLAN) features
• Modular: Allows code to run in DRAM only when invoked
• Fault containment: Provides complete process isolation for both features and services
• Resiliency: Provides a re-startable user-space network stack and drivers
Cisco NX-OS for the Cisco Nexus 9000 series is built on the 64-bit Linux 3.4.10 kernel (whereas the earlier version of Cisco NX-OS is built on the Linux 2.6 kernel).
Programmability, Automation, and Orchestration
As enterprise IT departments move to private cloud offerings, development and operations (DevOps) approaches, and continuous integration capabilities, many segments of the data center market have a strong need for more open, programmable, and application-led networks. In these fully automated environments, network automation for infrastructure as a service (IaaS) or applications on demand is becoming essential. The Cisco NX-OS enhancements for Cisco Nexus 9000 series helps businesses increase agility, flexibility, and scalability and automate repetitive manual tasks, reducing the time to deployment and easing maintenance tasks.
The Cisco NX-OS enhancements for the Cisco Nexus 9000 Series supports numerous capabilities that aid automation (Figure 1). The platform incorporates comprehensive APIs that expose a comprehensive set of functions, providing investment protection through the capability to support new automation capabilities in the future. The main enhancements to Cisco NX-OS include:
• Open access and programmability: Support for XML, JSON, representational state transfer (REST), remote procedure call (RPC), NetConf, Python scripting, Bash and BCM shell access, and Linux containers for custom applications*
• Automation and orchestration: Support for the OpenStack network plug-in, Puppet and Chef tool integration, and Extensible Messaging and Presence Protocol (XMPP)*
* After First Customer Shipment (FCS)
Figure 1. Support for a Comprehensive Set of Orchestration and Automation Integration Tools
As businesses increasingly rely on applications and services to help ensure efficient business operations and processes, network administrators are responsible not only for troubleshooting performance problems issues but also for effectively making use of intelligent network capabilities to efficiently deliver services and applications. These responsibilities require greater network visibility and analysis to present meaningful and consistent performance information.
The main visibility enhancements incorporated into enhanced Cisco NX-OS are:
• Broader consistency checker support
• Dynamic buffer monitoring
• Flow monitoring
• Enhanced Wireshark
• Simple Message Transfer Protocol (SMTP) email pipe output
Cisco NX-OS supports hardware-based VXLAN on Cisco Nexus 9000 Series Switches. This capability extends Layer 2 connectivity across the Layer 3 transport network and provides a high-performance gateway between VXLAN and non-VXLAN infrastructure (Figure 2).
Figure 2. VXLAN Overview
VXLAN is designed to provide the same Ethernet Layer 2 network services as VLAN, but with greater extensibility and flexibility. In comparison to VLAN, VXLAN offers the following benefits:
• Flexible placement of multitenant segments throughout the data center: VXLAN provides a solution to stretch Layer 2 segments over the underlying shared network infrastructure, so that tenant workloads can be placed across physical pods in the data center.
• Greater scalability to address more Layer 2 segments: VLANs use a 12-bit VLAN ID to address Layer 2 segments, which limits scalability to 4094 VLANs. VXLAN uses a 24-bit segment ID known as the VXLAN network identifier (VNI). This identifier allows up to 16 million VXLAN segments to coexist in the same administrative domain.
• Better utilization of available network paths in the underlying infrastructure: VLAN uses Spanning-Tree Protocol for loop prevention, which can waste half the network links in a network by blocking redundant paths. In contrast, VXLAN packets are transferred through the underlying network based on a packet's Layer 3 header and can use Layer 3 routing, equal-cost multi-pathing (ECMP), and Link Aggregation Control (LAG) Protocol to use all available paths.
Continuous Operation Through Patching (Hot and Cold)
To further enhance OS resilience, enhanced Cisco NX-OS supports patching, which has been available in the Cisco IOS
® XR Software operating system as software maintenance upgrade (SMU). Patching provides fixes between regular maintenance releases or between the final maintenance release and the end of maintenance (EoM) for a feature release. This support allows customers to add patches without having to wait for the next maintenance release. Hot patching adds fixes in a non-disruptive manner to a running system, and cold patching adds the fixes in a disruptive manner. Enhanced Cisco NX-OS supports both hot and cold patches.
Figure 3. Benefits of Hot and Cold Patching
Cisco NX-OS Modular Code Base
Several categories of modular system code are built on top of the new Linux kernel (Figure 4):
• Platform-dependent hardware-related modules
• System-infrastructure modules
• Feature modules
Figure 4. Cisco NX-OS for the Cisco Nexus 9000 Series Employs a Detailed Modular Architecture
In addition to the resiliency gained from architectural improvements, enhanced Cisco NX-OS provides internal hierarchical and multilayered system fault-detection and recovery mechanisms (Figure 5). No software system is completely immune to problems, so an effective strategy for detecting and recovering from faults quickly and with as little disruption as possible is essential.
Figure 5. Multi-level Hierarchical Fault Detection and Recovery
Cisco NX-OS for Cisco Nexus 9000 series is designed to be the operating system for the new generation data centers. It uses the Cisco NX-OS foundation to advance technology in the data center to meet the requirements of current and future generations of applications and services.