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
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
- 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â

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

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

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
- For example:
- 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)

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

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
đĄ 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