Automation Flashcards
In this network type, network flow decisions are made by multiple routers in a decentralized fashion
traditional network
In this network type, flow decisions are made by a central controller
controller based network
A network can be logically divided by function, into layers known as planes. On which plane are network decisions made?
control plane
On which plane do network access devices operate?
the data plane
On which plane are configuration and maintenance tasks performed?
the management plane
What are the main differences between a traditional network vs. controller based network?
Traditional network: the control plane is distributed among many devices.
Controller-based network: the decision making is moved to either a centralized single device, or the decision making logic is monitored by a central controller, instead of being distributed among many devices
What is the primary difference between the data plane in a traditional network vs a controller based network?
The primary difference is how the control plane communicates with the data plane.
Traditional network: end devices transmit data to switches; switches will forward that data to the control plane.
Controller based network: the controller communicates with devices in the data plane via an API
While both traditional and controller based networks use a management plane, what additional plane is used in a controller based network?
application plane
Applications in this plane are designed to improve network management efficacy through network automation
the application plane
This plane is considered a component of the management plane
the application plane is a component of the management plane
Which plane can completely replace the management plane
the application plane can completely replace the management plane
How does a controller communicate with applications in the application plane?
northbound API
Why is the northbound APIs named as such?
northbound APIs are named as such because the application plane is typically depicted above the control plane
How is device management on a controller-based network different from device management on a traditional network?
Traditional Network: configuration/maintenance is performed by an admin. either by physically connecting via console to a single device, or remotely connecting to a mgmt application in order to issue commands and verify or troubleshoot a configuration
Controller-based network: a central component (controller) is responsible for all network decision making. it communicates with devices via APIs, or interfaces into software applications
Cisco Software-Defined Access (SDA)
is the Cisco-developed SDN that can build local area networks by using policies and automation
Controller-based networks are also known as
SDNs
Name the three architectural components that make up SDNs and therefore Cisco Software-Defined Access (SDA)
the underlay network, the overlay network, and the fabric
The underlay network is comprised of
switches, or the physical composition of the network, devices, interfaces, and media that comprises the IP network that connects each fabric node
Which routing protocols are used to support SDN underlay networks?
IS-IS, OSPF, EIGRP
Why does Cisco recommend using IS-IS over OSPF and EIGRP routing protocols in SDN networks?
IS-IS performs better than OSPF or EIGRP and forms neighbor relationships without dependence on IP protocol configuration or operation
An SDN or SDA overlay network is a logical or virtualized network that is formed
on top of the underlay network
The data plane and control plane communication takes place in the ___ network
overlay
Multiple overlay networks can be constructed over a
single underlay network
The overlay network creates ___ tunnels between SDN or Cisco SDA switches
Virtual Extensible LAN or VXLAN
VXLAN tunnels send and receive traffic between
fabric endpoints
When an endpoint in a Cisco SDA network sends traffic to another endpoint, the traffic flows from the endpoint through the
overlay network’s VXLAN tunnels
What are the two APIs on which controller networks rely:
northbound APIs and southbound APIs
Northbound APIs or northbound interfaces provide:
an interface for an SDN or Cisco SDA controller to communication with the application plane
Southbound APIs, or southbound interfaces enable:
an SDN to communicate with devices in the data plane
Applications use northbound APIs to:
send requests or instructions to a controller, which uses that information to modify and manage network flow.
What are some examples of Southbound APIs
NETCONF, RESTCONF, OnePK, OpenFlow, and OpFlex are all examples of southbound APIs.
APIs create a universal way for:
applications to communicate with data models
Hypertext Transfer Protocol (HTTP) verbs are also known as:
HTTP methods
The REST API is a:
stateless method of creating, updating, modifying, and deleting information.
What are the four primary actions that are performed by a REST API application?
The four primary actions that are performed by a REST API application are create, read, update, and delete (CRUD).
The HTTP verb GET retrieves, but does not:
modify data
{
“id”: 99999,
“action”: “delete”,
“message”: “Success”
}
The HTTP verb delete
{
“id”: 99901,
“action”: “read”,
“fname”: “Jill”,
“mname”: “Anne”,
“lname”: “Doe”,
“group”: {
“role”: “Sales Assistant”,
“read-only”: [
“Marketing Folder”,
“Editorial Folder”
]
},
“admuser”: false,
“message”: “Success”
}
The HTTP verb GET
{
“id”: 99901,
“action”: “replace”,
“fname”: “Jill”,
“mname”: “Doe”,
“lname”: “Reed”,
“group”: {
“role”: “Senior Sales Assistant”,
“read-write”: [
“Marketing Folder”,
“Editorial Folder”,
],
“read-only”: [
“Accounting Folder”
]
},
“admuser”: false,
“message”: “Success”
}
The HTTP verb PUT
Configuration management tools are used to
automate the installation, configuration, and maintenance of multiple computer systems, including the software that runs on those systems
What type of architecture does Puppet rely on for device management?
client/server architecture
Chef operates on ___, ___, and ___ distros
Linux, UNIX, Windows
Chef can use a client/server architecture or a:
standalone client configuration
What Transmission Control Protocol (TCP) port does Chef use to transmit and receive data?
HTTPS port, which is TCP port 443
Managed nodes that are running the Chef Client can pull ___ from the server
cookbooks
Ansible is often referred to as an agentless automation tool because:
it does not use agent software on managed nodes
What code is this an example of:
<output>
file { '/tmp/testfile':
ensure => 'present ',
content => 'Only a test. Please delete.'
}
<output>
</output></output>
a Puppet resource declaration
What code is this an example of:
<output>
file 'testfile.html'
content "Only a test. Please delete."
end
cookbook_file '/tmp/testfile.html' do
source "testfile.html"
action :create
end
<output>
</output></output>
a Chef recipe
JavaScript Object Notation (JSON) is a data encoding format that is commonly used by:
Representational State Transfer (REST) Application Programming Interfaces (APIs) as an alternative to Extensible Markup Language (XML
JSON returns data in the form of an ___ that contains key and value pair
object
What type of server is typically queried in order to obtain JSON output?
HTTP server
In order to obtain JSON output REST APIs rely on:
HTTP verbs to communicate with backend applications
A REST API can be implemented by deploying a:
standard HTTP server
JSON is considered to be more human-readable than
XML
Name the six different types of JSON-encoded output:
Array
Boolean
Text
Null
Numeric
Object
What do the left curly brackets ({) and right curly brackets (}) in the JSON output indicate?
Left curly brackets and right curly brackets indicate the start and end of JSON objects
What are the roles of left and right square brackets in JSON output?
A left square bracket ([) indicates the beginning of the array. A right square bracket (]) indicates the end of the array. Values are separated from the others by a comma.
What is the difference between an empty string of text and a null value:
An empty string of text gives a value of zero (no quotation marks).
A null value has no value at all.
A null value can be assigned by using the term null without quotation marks.
Administrative overhead
time/effort required to administer/implement/maintain systems.
OSPF running on a series of routers is an example of
a traditional network
This plane contains the devices that access and provide access to the network
data plane
This plane includes the L2 and L3 switches that form the LAN
data plane
This plane includes end devices that are connected to the switches
data plane
This plane enables communication with controllers by using southbound APIs
data plane
Which plane includes management protocols, such as Telnet, SSH, SNMP, Syslog
management plane
This plane includes the tools administrators use to manage devices
management plane
Controller based networks contain this plane, while traditional networks do not
application plane
This plane is considered to be part of the management plane
the application plane
This plane consists of software applications that are used to manage network devices
application plane
This plane enables communication with controllers by using northbound APIs
application plane
This plane can completely replace the management plane
application plane
A controller communicates with the application plane using ___ bound APIs
northbound
___ is an intelligent network architecture in which a software controller assumes the control plane functionality for all network service
SDN
Southbound APIs enable an SDN controller to communicate with devices on the
data plane
Northbound APIs enable an SDN controller to communicate with devices on the
application plane
The ___ lay network includes the devices and protocols that comprise the physical network and establish IP connectivity
under
The ___ lay network includes protocols such as IS-IS, OSPF, EIGRP
under
The ___lay network is the logical/virtualized network that is formed on top of the underlay network
over
Common ___lay protocols: VXLAN, VRF, NVGRE, GRE, OTV, and mVPN
over
Fabric
is the combination of an underlay network and an overlay network
The SDA fabric is managed through a controller and is implemented by a collection of
hardware devices, such as routers, switches, or wireless LAN controllers (WLCs)
Northbound APIs are sometimes referred to as
NBIs
Northbound APIs enable a controller to
communicate with the management and application planes
Java Open Services Gateway initiative (OSGi) and REST are examples of
northbound APIs
This Northbound API is stateless
REST
This Northbound API relies on HTTP verbs to implement CRUD functions
REST
This Northbound API encodes data in either XML or JSON
REST
A REST API can be implemented by deploying a
standard HTTP server
REST APIs return data in one of two formats
XML or JSON
CRUD
Create, Read, Update, Delete
CRUD is implemented by using ___ verbs in the REST API
HTTP
HTTP verbs are ___ used by HTTP clients to manipulate data that is stored on or delivered by an HTTP server
methods
GET
equivalent to the read action that is defined by CRUD.
It does not modify data.
POST
is equivalent to the **create ** action that is defined by CRUD. It does not modify existing data.
PATCH
is equivalent to the** update** action that is defined by CRUD. However, the PATCH verb is used to make only partial changes to data in the API.
PUT
is also equivalent to the update action that is defined by CRUD.
The PUT verb completely replaces existing data in the API.
DELETE
is equivalent to the delete action that is defined by CRUD.
It modifies data by erasing it from the data structure, thereby destroying it in the API.
xml
XML is a more structured language than HTML that is used to format data in a way that can be easily transmitted over the Internet and parsed by a variety of applications.
___ uses tags to define blocks of data
XML
___ structured language design allows easy transportation over the internet and easy parsing by applications
XML’s
JSON
is a data encoding format that is commonly used by REST APIs as an alternative to XML
JSON returns data in the form of an
object, that contains keys and pairs
A JSON object can be identified by
the curly brackets that mark the beginning and the end of the object
A left curly bracket ({) marks the ___ of a JSON object
beginning
A right curly bracket ({) marks the ___ of a JSON object
end
A single JSON object can contain multiple
key and value pairs
Each key and value pair inside a JSON object is separated from the others by a
comma (,)
Each JSON key and value pair is separated from its value by a
colon (:)
JSON: The element in quotation marks on the left side of each colon is the
key
The element on the right side of each colon is the ___, which might or might not be enclosed in quotation marks.
value
There are several data value types that can be returned in JSON output:
array, boolean, null, numeric, object, text
Southbound APIs
enable a controller to communicate with devices on the data plane
NETCONF, RESTCONF, OnePK, OpenFlow, and OpFlex are examples of
southbound APIs
NETCONF communicates
by using either SSH or TLS
___ relies on YANG data models to communicate with network management applications
NETCONF
encodes output in either XML or JSON
NETCONF
is a southbound API that is intended to replace SNMP
RESTCONF
Like NETCONF, ___ relies on YANG data modeling to communicate with network application
RESTCONF
RESTCONF verbs
GET, POST, PUT, DELETE, OPTIONS
RESTCONF can encode output in either ___ or ___ format
XML or JSON
Configuration Management Mechanisms
are used to automate device management and configuration on a network
Common configuration mechanisms
Puppet, Chef, Ansible
is the most mature and widely used of the configuration management mechanisms
Puppet
___ relies on a client/server architecture that involves a server and agent software
Puppet
___ uses HTTPS on TCP port 8140
Puppet
___ supports modules written in Ruby DSL or Puppet DSL
Puppet
___ can use a client/server architecture or can operate as a standalone installation
Chef
___ uses HTTPS on TCP port 443
Chef
___ stores configurations in cookbooks written Ruby DSL
Chef
___ is an agentless configuration management mechanism
Ansible
___ uses SSH and TCP port 22 by default to connect to remote nodes
Ansible
___ configurations are stored in playbooks that are written in YAML
Ansible
nodes can download ___ modules from the server using SSH
Ansible
HTTP GET
is a read action does not modify data
HTTP POST
is a create action does not modify existing data
HTTP PATCH
makes partial changes to data
HTTP PUT
is an update action, it completely replaces data
HTTP DELETE
deletes data by erasing it from the data structure