CCNA Notes

200-301 Exam Prep

Progress0/67

0% complete

Practice TestsNew
1Networking Devices2Interfaces And Cables3OSI Model and TCP/IP Suite4Intro to the CLI5Ethernet LAN Switching - Part 16Ethernet LAN Switching - Part 27IPv4 Addressing - Part 18IPv4 Addressing - Part 29Switch Interfaces10The IPv4 Header11Routing Fundamentals - Part 111Static Routing - Part 212Life of a Packet13Subnetting - Part 114Subnetting - Part 215Subnetting (VLSM) - Part 316VLANs - Part 117VLANs - Part 218VLANs - Part 319DTP / VTP20Spanning Tree Protocol - Part 121Spanning Tree Protocol - Part 222Rapid Spanning Tree Protocol23Etherchannel24Dynamic Routing25RIP / EIGRP26OSPF - Part 127OSPF - Part 228OSPF - Part 329First Hop Redundancy Protocol30TCP and UDP31IPv6 - Part 132IPv6 - Part 233IPv6 - Part 334Standard Access Control List35Extended Access Control List36CDP and LLDP37NTP - Network Time Protocol38DNS - Domain Name System39DHCP - Dynamic Host Configuration Protocol40SNMP - Simple Network Management Protocol41SYSLOG42SSH - Secure Shell43FTP and TFTP44NAT (Static) - Part 145NAT (Dynamic) - Part 246QoS (Voice VLAN) - Part 147QoS (Quality of Service) - Part 248Security Fundamentals49Port Security50DHCP Snooping51Dynamic ARP Inspection52LAN Architectures53WAN Architectures54Virtualization and Cloud - Part 154Virtualization (Containers) - Part 254Virtualization (VRF) - Part 355Wireless Fundamentals56Wireless Architectures57Wireless Security58Wireless Configuration59Introduction to Network Automation60JSON, XML, and YAML61REST APIs62Software Defined Networking63Ansible, Puppet, and Chef67CCNA Complete Cheatsheet
/Introduction to Network Automation
Topic 598 min read

Introduction to Network Automation

/
Tip: Select text to highlight or pin your reading position

59. INTRODUCTION TO NETWORK AUTOMATION

WHY NETWORK AUTOMATION

  • Previous versions of the CCNA focused on the traditional model of managing / controlling networks
  • The current version focuses on the traditional model as well, but CCNA candidates are expected to have a basic understanding of various topics related to network automation
  • In the traditional model, engineers manage devices one at a time by connecting to their CLI via SSH

DOWNSIDES OF CONFIGURING DEVICES ONE-BY-ONE

  • Typos and other small mistakes are common
  • It is time-consuming and very inefficient in large-scale networks
  • It is difficult to ensure that all devices ADHERE to the organization’s STANDARD CONFIGURATION

BENEFITS OF NETWORK AUTOMATION

  • Human Error (Typos, etc) is reduced

  • Networks become much more scalable and implemented in a fraction of the time

    • New deployments
    • Network-wide changes
    • Troubleshooting
  • Network-wide policy compliance can be assured

    • Standard configurations
    • Software versioning
  • The improved efficiency of network operations reduces the OP-EX (operating expenses) of the network. Each task requires fewer man-hours

Code
There are various tools / methods that can be used to automate tasks in the network

- SDN (Software-Defined Networking)
- Ansible
- Puppet
- Python scripts
- etc…

LOGICAL “PLANES” OF NETWORK FUNCTIONS

What does a ROUTER do?

  • It forwards messages between networks by examining information in the Layer 3 header
  • It uses a routing protocol like OSPF to share route information with other routers and build a routing table
  • It uses ARP to build an ARP table, mapping IP Addresses to MAC Addresses
  • It uses Syslog to keep logs of events that occur
  • and MUCH more…

What does a SWITCH do?

  • It forwards messages within a LAN by examining information in the Layer 2 header
  • It uses STP to ensure there are no Layer 2 loops in the network
  • It builds a MAC address table by examining the Source MAC address of frames
  • It uses Syslog to keep logs of events that occur
  • It allows a user to connect to it via SSH and manage it

The various functions of network devices can be logically divided up (categorized) into PLANES

Code
- DATA PLANE
- CONTROL PLANE
- MANAGEMENT PLANE
  • The operations of the MANAGEMENT PLANE and the CONTROL PLANE are usually managed by the CPU
  • However, this is not desirable for DATA PLANE operations because CPU processing is slow (relatively speaking)
  • Instead, a specialized hardware ASIC (Application-Specific Integrated Circuit) is used.
    • ASICs are chips built for a specific purpose
  • Using a SWITCH, as an example:
    • When a FRAME is received, the ASIC (not the CPU) is responsible for the switching logic
    • The MAC Address table is stored in a kind of memory called TCAM (Ternary Content-Addressable Memory)
      • Another common name for the MAC Address table is CAM TABLE
    • The ASIC feeds the DESTINATION MAC address of the FRAME into the TCAM which returns the matching MAC Address table entry
    • The FRAME is then forwarded out of the appropriate DEVICE
  • Modern ROUTERS also use a similar hardware DATA PLANE: An ASIC designed for forwarding logic, and tables store in TCAM

A SIMPLE SUMMARY:

  • When a DEVICE receives CONTROL / MANAGEMENT traffic (destined for itself), it will be processed in the CPU
  • When a DEVICE receives DATA traffic which should pass through the DEVICE, it is processed by the ASIC for maximum speed

DATA PLANE

  • All tasks involved in forwarding USER DATA / TRAFFIC from one INTERFACE to another are part of the DATA PLANE
  • A ROUTER receives a message, looks for the most specific matching ROUTER in its ROUTING TABLE, and forwards it out of the appropriate INTERFACE to the next hop
    • It also de-encapsulates the original LAYER 2 header, and re-encapsulates with a new header destined for the next hop’s MAC address
  • A SWITCH receives a message, looks at the DESTINATION MAC Address, and forwards it out of the appropriate INTERFACE (or FLOODS it)
    • This includes functions like adding / removing 802.1q VLAN tags
  • NAT (changing the SRC / DST addresses before forwarding) is part of the DATA PLANE
  • Deciding to forward / discard messages due to ACL’s, port-security, etc. is part of the DATA PLANE
  • The DATA PLANE is also called the ‘FORWARDING PLANE’

imageClick to enlarge


CONTROL PLANE

  • How does a DEVICE’s DATA PLANE make its forwarding decisions?

    • ROUTING TABLE
    • MAC ADDRESS table
    • ARP table
    • STP
    • etc…
  • Functions that build THESE tables (and other functions that influence the DATA PLANE) are part of the CONTROL PLANE

  • The CONTROL PLANE controls what the DATA PLANE does, for example by building the ROUTER’s ROUTING TABLE

  • The CONTROL PLANE performs overhead work

    • OSPF itself doesn’t forward user data packets, but it informs the DATA PLANE about HOW packets should be forwarded
    • STP itself isn’t directly involved in the process of forwarding FRAMES, but it informs the DATA PLANE about which INTERFACES should and shouldn’t be used to forward FRAMES
    • ARP messages aren’t user data but they are used to build an ARP TABLE which is used in the process of forwarding data

imageClick to enlarge


MANAGEMENT PLANE

  • Like the CONTROL PLANE, the MANAGEMENT PLANE performs overhead work
    • However, the MANAGEMENT PLANE doesn’t directly affect the forwarding of messages in the DATA PLANE
  • The MANAGMENT PLANE consists of PROTOCOLS that are used to manage devices
    • SSH / TELNET : Used to connect to the CLI of a DEVICE to configure / manage it
    • SYSLOG : Used to keep logs of events that occur on the device
    • SNMP : Used to monitor the operations of the device
    • NTP : Used to maintain accurate time on the device

imageClick to enlarge


SOFTWARE-DEFINED NETWORKING (SDN)

  • SOFTWARE-DEFINED NETWORKING (SDN) is an approach to networking that centralizes the CONTROL PLANE into an application called a CONTROLLER
  • SDN is also called SOFTWARE-DEFINED-ARCHITECTURE (SDA) or CONTROLLER-BASED NETWORKING
  • Traditional CONTROL PLANES use a distributed architecture
    • For example:
      • Each ROUTER in the NETWORK runs OSPF and the ROUTERS share routing information and then calculate their preferred routes to each destination
  • An SDN CONTROLLER centralized CONTROL PLANE functions like calculation routes
    • That is just an example and how much of the CONTROL PLANE is centralized varies greatly
  • The CONTROLLER can interact programmatically with the NETWORK DEVICE using APIs (Application Programming Interface)

imageClick to enlarge


SOUTHBOUND INTERFACE (SBI)

  • The SBI is used for communications between the CONTROLLER and the NETWORK DEVICES it controls

  • It typically consists of a COMMUNICATION PROTOCOL and API (Application Programming Interface)

  • APIs facilitate data exchanges between programs

    • DATA is exchanged between the CONTROLLER and the NETWORK DEVICES
    • An API on the NETWORK DEVICES allows the CONTROLLER to access information on the DEVICES, control their DATA PLANE TABLES, etc.
  • Some examples of SBIs :

    • OpenFlow
    • Cisco OpFlex
    • Cisco OnePK (Open Network Environment Platform Kit)
    • NETCONF

NORTHBOUND INTERFACE (NBI)

  • Using the SBI, the CONTROLLER communicates with the managed DEVICES and gathers information about them:

    • The DEVICES in the NETWORK
    • The TOPOLOGY (how the DEVICES are connected together)
    • The available INTERFACES on each DEVICE
    • Their CONFIGURATIONS
  • The NORTHBOUND INTERFACE (NBI) is what allows us to:

    • Interact with the CONTROLLER
    • Access the DATA it gathers about the NETWORK
    • Program the NETWORK
    • Make changes to the NETWORK via the SBI
  • A REST API (Representational State Transfer) is used on the controller as an interface for APPS to interact with it

  • OSGi (Java Open Services Gateway Initiative) - Java based NBI API

  • DATA is sent in a structured (serialized) format such as JSON or XML

    • This makes it easier for programs to use the DATA

imageClick to enlarge


AUTOMATION IN TRADITIONAL NETWORKS VS SDN

  • Networking tasks can be automated in traditional NETWORK architectures too:

    • SCRIPTS can be written (ie: using Python) to push commands to many DEVICES at once
    • Python with good use of REGULAR EXPRESSIONS can parse through “show” commands to gather information about network devices
  • However, the robust and centralized DATA collected by SDN CONTROLLERS greatly facilitates these functions

    • The CONTROLLER collects information about all DEVICES in the NETWORK
    • NORTHBOUND APIs allow APPS to access information in a format that is easy for programs to understand (ie: JSON and XML)
    • The centralized DATA facilitates network-wide analytics
  • SDN Tools can provide the benefits of automation without the requirement of third-party scripts and apps.

    • You don’t need expertise in automation to make use of SDN Tools
    • However, APIs allow third-party applications to interact with the CONTROLLER, which can be very powerful

Tip

💡 Although SDN and automation aren’t the same thing, the SDN architecture greatly facilitates the automation of various tasks in the network via the SDN CONTROLLER and APIs

PreviousWireless Configuration
NextJSON, XML, and YAML