5.2 Configure and verify infrastructure security features
5.2.a ACLs
| Standard | Source IPv4 address only |
| Extended | Source + destination + protocol + ports |
ACLs are processed top-down
ACL effectively ends with:
deny ip any any
even though you don’t see it.
Can use wildcard masks
eq = equalneq = not equallt = less thangt = greater thanrange = range of ports
5.2.b CoPP
ACL - identifies specific traffic ↓class-map - matches that traffic into a QoS class ↓policy-map - define what to do with matching traffic ↓control-plane - enter control-plane config ↓service-policy input - apply this QoS policy to traffic entering the router’s control plane/CPU
ip access-list extended SSH-TRAFFIC permit tcp any any eq 22class-map match-all SSH-CLASS match access-group name SSH-TRAFFICpolicy-map COPP-POLICY class SSH-CLASS police 64000 conform-action transmit exceed-action dropcontrol-plane service-policy input COPP-POLICY
Verification of CoPP commands
R1# show policy-map control-plane input
APIs
Northbound vs Southbound
Controller is in the middle
Northbound – lives on the controller, information is conveyed to the network management applications “north-bound”
Southbound- also lives on the controller, when management configuration is pushed from the Controller to the devices, that is Southbound traffic

RESTful APIs
An API that uses REST is often referred to a RESTful API. RESTful APIs use HTTP methods to gather and manipulate data.
| HTTP Function | Action | Use case |
| GET | Requests data from destination | Viewing website |
| POST | Submits data | Submit creds |
| PUT | Replaces entire resource | Updating an existing NTP server to change one IP |
| PATCH | Appends/overwrites data | changing only the IP variable of the NTP server |
| DELETE | Removes data | Removing an NTP server |
| Function | Action | Use case |
| CREATE | Inserts data in a database or application | |
| READ | Retrieves data from a database or application | |
| UPDATE | Modifies or replaces data in a database or application | |
| DELETE | Removes data from a database or application |
6.3 Describe the high-level principles and benefits of a data modeling language, such as YANG
Yet Another Next Generation (YANG)= Data models are used
to describe whatever can be configured on a device, everything that can be monitored on a device, and all the administrative actions that can be executed on a device, such as resetting counters or rebooting the device. This includes all the notifications that the device is capable of generating. All these variables can be represented within a YANG model.
- list = the name of something with multiple instances/items
- key = uniquely name of the item in the list
- leaf = single data field of the item in list
- type = allowed data type
- enumeration = value must come from predefined choices
- config false = read-only/state data, not configurable
6.5 Interpret REST API response codes and results in payload using Cisco Catalyst Center and RESTCONF
HTTP Status Codes
| Code | Meaning | Interpretation | Family |
| 200 | OK | successful GET / finished processing | 2xx |
| 201 | CREATED | successful POST | 2xx |
| 202 | ACCEPTED | successful GET but still processing | 2xx |
| 204 | NO CONTENT | Success but no content | 2xx |
| 400 | BAD REQUEST | malformed request – bad syntax/JSON parameters | 4xx |
| 401 | UNAUTHORIZED | incorrect/missing credentials/token | 4xx |
| 403 | FORBIDDEN | authenticated but not permitted – not authorized | 4xx |
| 404 | NOT FOUND | resource/URI mistyped/doesn’t exist | 4xx |
| 405 | METHOD NOT ALLOWED | POST against read-only resource | 4xx |
| 500 | INTERNAL SERVER FAILURE | Generic catch-all msg for server broke | 5xx |
| 503 | SERVICE NOT AVAILABLE | Server down/overloaded | 5xx |
2xx = okay
4xx = client messed up
5xx = server messed up
Leave a comment