Chapter7 Automation and Programmabiliy
Chapter7 Automation and Programmabiliy
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)
- 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)
- 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)
- 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
7
Cisco Certified Network Associate (200-301 CCNA)
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
10
Cisco Certified Network Associate (200-301 CCNA)
11
Cisco Certified Network Associate (200-301 CCNA)
12
Cisco Certified Network Associate (200-301 CCNA)
- 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)
- 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)
16