Cisco Certified Internetwork Expert (CCIE) - Enterprise Infrastructure
1 Network Architecture and Design
1-1 Enterprise Network Design Principles
1-2 Network Segmentation and Micro-Segmentation
1-3 High Availability and Redundancy
1-4 Scalability and Performance Optimization
1-5 Network Automation and Programmability
1-6 Network Security Design
1-7 Network Management and Monitoring
2 IP Routing
2-1 IPv4 and IPv6 Addressing
2-2 Static Routing
2-3 Dynamic Routing Protocols (RIP, EIGRP, OSPF, IS-IS, BGP)
2-4 Route Redistribution and Filtering
2-5 Route Summarization and Aggregation
2-6 Policy-Based Routing (PBR)
2-7 Multi-Protocol Label Switching (MPLS)
2-8 IPv6 Routing Protocols (RIPng, EIGRP for IPv6, OSPFv3, IS-IS for IPv6, BGP4+)
2-9 IPv6 Transition Mechanisms (Dual Stack, Tunneling, NAT64DNS64)
3 LAN Switching
3-1 Ethernet Technologies
3-2 VLANs and Trunking
3-3 Spanning Tree Protocol (STP) and Variants (RSTP, MSTP)
3-4 EtherChannelLink Aggregation
3-5 Quality of Service (QoS) in LANs
3-6 Multicast in LANs
3-7 Wireless LANs (WLAN)
3-8 Network Access Control (NAC)
4 WAN Technologies
4-1 WAN Protocols and Technologies (PPP, HDLC, Frame Relay, ATM)
4-2 MPLS VPNs
4-3 VPN Technologies (IPsec, SSLTLS, DMVPN, FlexVPN)
4-4 WAN Optimization and Compression
4-5 WAN Security
4-6 Software-Defined WAN (SD-WAN)
5 Network Services
5-1 DNS and DHCP
5-2 Network Time Protocol (NTP)
5-3 Network File System (NFS) and Common Internet File System (CIFS)
5-4 Network Address Translation (NAT)
5-5 IP Multicast
5-6 Quality of Service (QoS)
5-7 Network Management Protocols (SNMP, NetFlow, sFlow)
5-8 Network Virtualization (VXLAN, NVGRE)
6 Security
6-1 Network Security Concepts
6-2 Firewall Technologies
6-3 Intrusion Detection and Prevention Systems (IDSIPS)
6-4 VPN Technologies (IPsec, SSLTLS)
6-5 Access Control Lists (ACLs)
6-6 Network Address Translation (NAT) and Port Address Translation (PAT)
6-7 Secure Shell (SSH) and Secure Copy (SCP)
6-8 Public Key Infrastructure (PKI)
6-9 Network Access Control (NAC)
6-10 Security Monitoring and Logging
7 Automation and Programmability
7-1 Network Programmability Concepts
7-2 RESTful APIs and NETCONFYANG
7-3 Python Scripting for Network Automation
7-4 Ansible for Network Automation
7-5 Cisco Model Driven Programmability (CLI, NETCONF, RESTCONF, gRPC)
7-6 Network Configuration Management (NCM)
7-7 Network Automation Tools (Cisco NSO, Ansible, Puppet, Chef)
7-8 Network Telemetry and Streaming Telemetry
8 Troubleshooting and Optimization
8-1 Network Troubleshooting Methodologies
8-2 Troubleshooting IP Routing Issues
8-3 Troubleshooting LAN Switching Issues
8-4 Troubleshooting WAN Connectivity Issues
8-5 Troubleshooting Network Services (DNS, DHCP, NTP)
8-6 Troubleshooting Network Security Issues
8-7 Performance Monitoring and Optimization
8-8 Network Traffic Analysis (Wireshark, tcpdump)
8-9 Network Change Management
9 Emerging Technologies
9-1 Software-Defined Networking (SDN)
9-2 Network Function Virtualization (NFV)
9-3 Intent-Based Networking (IBN)
9-4 5G Core Network
9-5 IoT Network Design and Management
9-6 Cloud Networking (AWS, Azure, Google Cloud)
9-7 Edge Computing
9-8 AI and Machine Learning in Networking
7 Automation and Programmability Explained

7 Automation and Programmability Explained

Key Concepts

Network Automation

Network Automation refers to the use of software to automate network management tasks, such as configuration, monitoring, and troubleshooting. It reduces manual intervention, minimizes human error, and increases operational efficiency. For example, a network automation tool might automatically apply configurations to multiple devices based on predefined templates.

Programmability

Programmability in networking involves the ability to control and manage network devices using software interfaces and APIs. It allows network engineers to write scripts and applications to automate and customize network operations. For instance, a network engineer can use Python scripts to automate the deployment of new network services.

Software-Defined Networking (SDN)

SDN is an approach to network management that separates the control plane from the data plane, allowing centralized control of network devices. SDN controllers manage network policies and configurations, enabling dynamic and flexible network operations. For example, an SDN controller can automatically reroute traffic in response to network congestion.

Network Functions Virtualization (NFV)

NFV is a network architecture concept that virtualizes network functions, such as firewalls, load balancers, and routers, onto standard hardware. NFV allows for more flexible and scalable network services by decoupling these functions from proprietary hardware. For instance, a virtual firewall can be deployed on a standard server instead of a dedicated appliance.

RESTful APIs

RESTful APIs (Representational State Transfer Application Programming Interfaces) are interfaces that allow different software systems to communicate over the internet. In networking, RESTful APIs enable programmatic access to network devices and services, facilitating automation and integration. For example, a network management application might use RESTful APIs to retrieve device status information.

Configuration Management Tools

Configuration Management Tools are software solutions that automate the deployment, management, and monitoring of network configurations. These tools ensure consistency and compliance across network devices, reducing configuration drift and improving reliability. For example, tools like Ansible, Puppet, and Chef can automate the configuration of network devices based on predefined policies.

Network Programmability Models

Network Programmability Models describe different approaches to implementing programmability in networks. These models include Model-Driven Programmability, which uses standardized data models to represent network configurations, and Intent-Based Networking, which translates business policies into network configurations. For example, an Intent-Based Network might automatically configure Quality of Service (QoS) settings based on business priorities.

Examples and Analogies

Consider a large office building where Network Automation is like a smart system that automatically adjusts lighting, temperature, and security based on predefined rules. Programmability is like giving the building manager the ability to write custom scripts to control these systems.

Software-Defined Networking (SDN) is like a central control room that manages all the building's systems, allowing for dynamic adjustments based on real-time conditions. Network Functions Virtualization (NFV) is like converting dedicated rooms for specific functions (e.g., a gym) into flexible spaces that can be used for multiple purposes.

RESTful APIs are like intercom systems that allow different parts of the building to communicate with each other. Configuration Management Tools are like automated maintenance systems that ensure all parts of the building are consistently configured and maintained.

Network Programmability Models are like different strategies for managing the building, such as using standardized blueprints (Model-Driven Programmability) or setting high-level goals (Intent-Based Networking) that the system then implements.