0% found this document useful (0 votes)
147 views16 pages

Chapter7 Automation and Programmabiliy

The document discusses automation and programmability in networking. It describes how automation reduces manual tasks through scripts, tools, and standardized procedures. Automation is achieved through software-defined networking (SDN) using a controller to program network devices. SDN implements either an imperative or declarative approach to control traffic forwarding. The controller communicates with devices and applications using northbound and southbound APIs, with REST APIs being common. Configuration of devices can be automated using tools like Puppet, Chef, and Ansible.

Uploaded by

Saad Amer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
147 views16 pages

Chapter7 Automation and Programmabiliy

The document discusses automation and programmability in networking. It describes how automation reduces manual tasks through scripts, tools, and standardized procedures. Automation is achieved through software-defined networking (SDN) using a controller to program network devices. SDN implements either an imperative or declarative approach to control traffic forwarding. The controller communicates with devices and applications using northbound and southbound APIs, with REST APIs being common. Configuration of devices can be automated using tools like Puppet, Chef, and Ansible.

Uploaded by

Saad Amer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Cisco Certified Network Associate (200-301 CCNA)

CHAPTER 7: AUTOMATION & PROGRAMMABILITY

7.1 Automation
- Traditionally, Network Management is about
- Installation and initial config
- modifying and updating the existing config
- upgrading software
- all of those were achieved by
- Console, Telnet, SSH, applying scripts or by copying config
- and, Monitoring
- which was achieved through
- SNMP, and Netflow
- AND, it was always “Box-by-Box”

1
Cisco Certified Network Associate (200-301 CCNA)

- With Automation
- new devices automatically finds an initial configuration
- automated QoS profiles/config
- automated AAA profiles/config
- utilizes scripts/tools
- standardize some procedures
- software image per device model
- and, the upgrade procedure
- schedule operations
- sometimes, automated troubleshooting (WoW)
- which are done through (CLI, SSH, SNMP, NETCONF, RESTCONF)
- topology visualization and monitoring
- which are done by using (SNMP Manager, and Netflow Collector)
- So, all of that led to reduce or even eliminate the Box-by-Box,
Smaller staff is needed, time saving, and config consistency
2
Cisco Certified Network Associate (200-301 CCNA)

7.2 Software-Defined Networking (SDN)


- Automation is achieved by SDN
- where you have a “software” that runs your network
- so, through a “software” you be able to run and administrate
An entire network, with its different types of devices
- that will definitely need either a “Controller”!!!
Or, a built-in scripting (Cisco TCL, or Python)
- SDN Controller
- the big guy that does almost everything in this chapter
- controls and implement the automation and administration
- can either be
- A “software” installed in a server
- An appliance with a controller inside (Cisco APIC, DNA Center)
- Or, a remote controller through the cloud
- and, it uses some tools/apps like (puppet, chef, and ansible)
3
Cisco Certified Network Associate (200-301 CCNA)

7.3 SDN Implementation


- Imperative Approach
- the control plane logic resides completely in the controller
- the controller has a complete control over programing the
The forwarding decisions of the networking devices
- devices then will ask the controllers before any forwarding
Or routing action

- Declarative Approach
- the control plane resides within the network device (just like before)
- the controller will declare the requirements of the all the
Forwarding/routing decisions to the networking devices
- the network devices will then decide how to translate the
Controller instructions into actions

4
Cisco Certified Network Associate (200-301 CCNA)

7.4 SDN Architecture


- Underlay Network
- the protocols & features to get reachability
- all the links must be L3 and P2P
- open standard protocols (OSPF and IS-IS)

- Overlay Network
- Virtual Network created on top of the Underlay
- now the underlay is like a “physical connectivity”
- some protocols use (VRF, MPLS-VPN, VXLAN)

- SDN Fabric
- the physical devices used to build the underlay
- those devices can be controlled by a “Controller”

5
Cisco Certified Network Associate (200-301 CCNA)

7.5 SDN Effect upon Planes


- First of all, there are 3 planes in the network devices
- Control Plane
- learn information from the protocols
- downloads them to the Data planes (as Tables)
- protocols resides here (routing protocols, MAC learning,
DHCP, AAA, etc…)
- Data Plane
- also known as Forwarding Plane
- any logical/physical component that controls the frame/packet
Forwarding (action)
- like Tables (MAC Table, Routing Table)
- Management Plane
- responsible for AAA (remotely)
- also, the console port resides in here
6
Cisco Certified Network Associate (200-301 CCNA)

- so, the SDN effect upon the Control and the Data plane
- depends on the implementation approach
- if it was an Imperative approach
- also called a “Stateful SDN”
- the controller will be responsible for learning information
- and downloading them to the data plane
- if the devices lost connectivity to the controllers, they
Will be powerless

- if it was a Declarative approach


- also called a “Stateless SDN”
- the controller will only declare how it wishes things
To go on in the network

7
Cisco Certified Network Associate (200-301 CCNA)

- Cisco DNA Center


- the Digital Network Architecture
- it is an Appliance (comes in various models)
- A Central Management, Automation, and Analysis Point
- gives Intent-Based Networking
- and that is, controlling a network by a software
- allows to design and create topology maps
- design WLAN SSIDs
- managed through a GUI
- has a built-in APIC
- the Application Policy Infrastructure Controller
- it’s controller
- also has a built-in NDP
- Network Data Platform
- analyzes problems, show them, and suggest solutions
8
Cisco Certified Network Associate (200-301 CCNA)

7.6 Application Programming Interface


- the transformers that are transforming everything from
The Application to the controllers, and vice-versa
- those will be called “Northbound API”
- also transforms everything from the controller to the network
Devices, and vice-versa
- the “Southbound API”
- and, transforms data between different controllers of different devices
- so, it’s a code
- written by a language
- that language encodes data into an API
- it uses the Server/Client relation
- in the Northbound (Controller = Server, Application = Client)
- in the Southbound (Network Device = Server, Controller = Client)

9
Cisco Certified Network Associate (200-301 CCNA)

- API types
- Internal API
- between applications
- like transferring data from HTML to PDF

- Web-Service API
- exchanging data between remote devices
- Uses IP address
- like REST-Based API

*some Southbound APIs (Openflow, Cisco OpFlex, CLI,


SNMP, NETCONF)

10
Cisco Certified Network Associate (200-301 CCNA)

- Representational State Transfer APIs (REST-Based APIs)


- the most common type of web-service API
- mostly found in the Northbound (like a Polar Bear!)
- utilizes HTTP verbs (GET, PUT, POST, DELETE)
- while a REST API is in developing, a developer would use
A CRUD to develop the API’s HTTP verbs
- CRUD = Create, Read, Update, and Delete
- most common languages used to encode data in a REST-Based API
Are (XML, and JSON)
- encoding means standardizing a data structure between the app,
Controller, and nodes

*Cisco Intent: is a Northbound REST-Based API

11
Cisco Certified Network Associate (200-301 CCNA)

7.7 Configuration Management Mechanisms


- the applications that you use to automate
- all of them requires CLI/Scripting
- includes a GUI
- schedule a task
- manually instantiate events
- so, a CLI script will give a GUI result
- like (Puppet, Chef, and Ansible)

12
Cisco Certified Network Associate (200-301 CCNA)

- Puppet & Chef


- uses the Master/Agent relation
- 2 codes
- one in the server, other in the node
- uses the Pull Model
- an agent will periodically ask a master for event and actions,
And Pulls the script from it
- uses the RUBY language

- Ansible
- Agentless
- uses the Push Model
- Master pushes a config to the agent
- uses the YAML language
13
Cisco Certified Network Associate (200-301 CCNA)

7.8 Java-Script Object Notation (JSON)


- a programming language used to create APIs
- used by REST-Based APIs
- human-readable
- lightweight
- the “Object” is about
- a container that encloses “one-or-more” {name:value} pairs
- also called a “key-value pairs”

- JSON Values
- always surrounded by a curly bracket { }
- name:value pairs
- a string must be enclosed with double quotes “ ”
- like = {“name”:”III”, “job”:”channel”, “location”:”YouTube”}

14
Cisco Certified Network Associate (200-301 CCNA)
- the pairs values types
- String:String
- the name is a string, also the value is a string
- {“name”:”III”}
- String:Number
- the value won’t need a double quote
- {“Count”:10}
- String:Arrays
- for a range of values
- {“Class”:[A, B, C, D]}
- String:Booleans
- True/False case
- the value won’t need a double quote
- {“Direct”:False}
- Null

- {“Route”:Null}
*Spaces don’t matter

15
Cisco Certified Network Associate (200-301 CCNA)

- Thanks a lot for reaching here so far


- Chapter 7 is the final chapter
- CCNA 200-301 Complete Course
- Free and available on YouTube
- Available in 2 Languages (English and Arabic)
- more Courses are coming!
https://www.youtube.com/channel/UCbXctm6VW2ZZrksHBWAg_tw

16

You might also like