Cisco 350-401: Automatisering, Programmeerbaarheid en APIs — Studiegids
Onderdeel van de Cisco CCNP Enterprise 350-401 ENCOR — Studiegids. Oefen met geverifieerde antwoorden in het Cisco-examencentrum, of doe getimede oefentests op ExamRoll.io.
Overzicht
Bedrijfsnetwerken stappen over van configuratie per apparaat naar controller-gebaseerde, intent-gedreven operaties met closed-loop automatisering. Programmeerbaarheid ontsluit de netwerkstatus en -controle via API’s en datamodellen, terwijl tools zoals Python, Ansible en Git herhaalbare, testbare workflows mogelijk maken. Het doel is om gewenste resultaten declaratief uit te drukken, controllers de intentie te laten vertalen naar beleid en configuratie, resultaten te meten via telemetrie en assurance, en afwijkingen automatisch of met menselijke goedkeuring te herstellen. Om dit te bereiken is inzicht nodig in de rollen van controllers, API’s en protocollen (REST, NETCONF/RESTCONF met YANG), dataformaten (JSON, XML, YAML), automatiseringsplatformen (Cisco DNA Center) en operationele disciplines (idempotentie, versiebeheer, testen, risicobeheer en rollback).
Controllers, Intentie en Closed-Loop Operaties
- Controller-gebaseerd netwerken en rollen:
- Cisco SD-WAN scheidt de planes: vManage levert de centrale management plane; vSmart beheert de control plane en distribueert beleid dat de data forwarding door de fabric stuurt; vBond orkestreert de onboarding en kan fungeren als een STUN-server om NAT te doorkruisen. SD‑WAN edge routers gebruiken OMP als het control-plane-protocol om met vSmart te communiceren.
- Cisco SD‑Access creëert een overlay-netwerk dat logische Layer 2- en Layer 3-scheiding biedt. Een fabric control-plane node onderhoudt een globale endpoint-naar-locatie-database, terwijl een fabric border node de fabric verbindt met externe netwerken. In draadloze netwerken draait Radio Resource Management op de wireless controller.
- Intentie en declaratieve configuratie:
- Intentie beschrijft het gewenste resultaat, niet hoe dit op elk afzonderlijk apparaat geïmplementeerd moet worden. Declaratieve systemen (bijvoorbeeld “segmenteer gasten overal met uitsluitend internettoegang”) stellen controllers in staat om beleid te compileren naar apparaatspecifieke configuraties.
- Afwegingen: Declaratieve modellen vereenvoudigen de operaties en verminderen ‘drift’, maar kunnen implementatiedetails verbergen. Operators hebben transparante tools nodig voor diff/preview en rollback om het vertrouwen te behouden.
- Closed-loop operaties:
- Meten: Verzamel status via streaming telemetrie en controller assurance.
- Analyseren: Detecteer afwijkingen van de intentie (bijvoorbeeld schendingen van segmentatie, dalingen in SLA).
- Handelen: Herstel via beleidsupdates, configuratiewijzigingen of traffic engineering.
- Foutscenario’s: ‘Event storms’ of ruis in telemetrie kunnen valse positieven veroorzaken; herstel-loops kunnen oscilleren. Veiligheidsmechanismen (rate limits, hysteresis, goedkeuringen door mensen) en robuuste correlatie voorkomen instabiel gedrag (’thrashing’).
API’s, Datamodellen en Protocollen
- REST API’s:
- Methoden: GET (lezen), POST (creëren/actie), PUT (vervangen), PATCH (gedeeltelijk bijwerken), DELETE (verwijderen), HEAD/OPTIONS (metadata).
- Statuscodes: 2xx succes (200 OK, 201 Created), 3xx redirects, 4xx clientfouten (400 bad input, 401 unauthorized, 403 forbidden, 404 not found, 409 conflict, 429 rate limit), 5xx serverfouten (500, 503).
- Authenticatie: Basic (over TLS), token/bearer-schema’s en OAuth 2.0. Gebruik altijd TLS; vermijd het opnemen van credentials in URI’s. Behandel het vernieuwen en verlopen van tokens.
- Rate limits: Servers kunnen throttelen met een 429-statuscode en Retry-After. Implementeer exponential backoff, jitter en het bijhouden van een ‘request budget’ in clients.
- Dataformaten en validatie:
- JSON is gebruikelijk voor REST; XML blijft veel voorkomen in NETCONF; YAML wordt gebruikt voor door mensen geschreven bestanden (inventories, playbooks, variabele-sets). Converteer YAML intern naar JSON wanneer nodig.
- Schemavalidatie: Gebruik JSON Schema voor JSON-payloads; XML Schema voor XML; YANG voor model-gebaseerd beheer (types, constraints, must/when-statements). Valideer aan de client-zijde vóór het verzenden om fouten vroegtijdig op te sporen.
- NETCONF, RESTCONF, YANG, RPC’s en datastores:
- YANG-modellen definiëren datastructuren en operaties voor configuratie en status.
- NETCONF gebruikt XML over SSH, met operaties zoals
, , , , , . Datastores omvatten doorgaans ‘running’ en ‘candidate’; ‘candidate’ maakt een ‘prepare-and-commit’-werkwijze met atomiciteit mogelijk. - RESTCONF mapt YANG-gemodelleerde resources naar een RESTful interface over HTTP(S), met gebruik van JSON of XML met gestandaardiseerde mediatypes. Methoden komen overeen met de semantiek van NETCONF (PATCH/PUT voor aanpassingen).
- Foutscenario’s en ontwerp:
- Lock-conflicten: Coördineer
om deadlocks te voorkomen; gebruik een beperkte scope en timeouts. - Gedeeltelijke mislukkingen: Geef de voorkeur aan de ‘candidate’ datastore +
voor transactionele wijzigingen. Als alleen ‘running’ beschikbaar is, gebruik dan gestructureerde wijzigingsgroepen en checkpoints. - Model-drift: Apparaten kunnen verschillende revisies van YANG-modules ondersteunen; onderhandel over ‘capabilities’ en test tijdens CI.
- Lock-conflicten: Coördineer
- Beknopte voorbeelden:
- RESTCONF gedeeltelijke update (HTTP-uitwisseling): PATCH /restconf/data/ietf-interfaces:interfaces/interface=GigabitEthernet1 Content-Type: application/yang-data+json { “ietf-interfaces:interface”: { “name”: “GigabitEthernet1”, “description”: “Uplink”, “enabled”: true } }
- NETCONF met Python (ncclient):
from ncclient import manager
cfg = """
""" with manager.connect(host=“r1”, port=830, username=“netops”, password="***", hostkey_verify=False) as m: m.edit_config(target=“candidate”, config=cfg) m.commit()GigabitEthernet1 Uplink true
Tools en Workflows: Python, Ansible, Git en Pipelines
- Cisco DNA Center-automatisering:
- Northbound REST API’s bieden toegang tot inventory, templates, provisioning en assurance. Southbound interfaces verbinden de controller met apparaten (CLI, SNMP, NETCONF/RESTCONF) om de intent uit te voeren.
- Discovery-workflows kunnen CDP, LLDP en IP-ranges gebruiken. Gebruik role-based access control, projectgebaseerde templates en variabelen per site. Assurance correleert telemetrie tot issues, health scores en voorgestelde oplossingen (remediations)—belangrijke input voor closed-loop automatisering.
- Python-fundamentals voor netwerkautomatisering:
- Kerntaal: types, functies, modules, virtual environments en logging.
- Libraries: requests/httpx (REST), ncclient (NETCONF), jinja2 (templating), pyyaml, json, pandas (data-wrangling), rich/logging voor observability.
- Praktijken: inputvalidatie, retries met backoff, gestructureerde exceptions, timeouts en unit tests. Serialiseer bedrijfslogica los van I/O om tests te vereenvoudigen.
- Ansible:
- Inventory definieert hosts en groepen; bewaar host_vars/group_vars in YAML.
- Playbooks declareren de gewenste staat (desired state); modules zoals ios_config, ios_facts, iosxe_config, restconf_config en uri voeren acties uit. Gebruik roles om herbruikbare logica in te kapselen.
- Idempotentie: Modules zorgen ervoor dat herhaalde uitvoeringen convergeren zonder onbedoelde wijzigingen. Gebruik check_mode en diff voor een preview; roep handlers aan via notify om alleen op te slaan bij een wijziging.
- Voorbeeld:
- hosts: edge
connection: network_cli
gather_facts: no
tasks:
- ios_config: parents: interface GigabitEthernet1 lines: - description Uplink notify: save handlers:
- name: save ios_config: save_when: changed
- hosts: edge
connection: network_cli
gather_facts: no
tasks:
- Change control: gebruik maintenance windows, een seriële of batched strategie en throttling per site om de ‘blast radius’ te beperken. Leg pre- en post-checks automatisch vast.
- Git, versioning, testen en pipelines:
- Sla network intent (YAML-variabelen, Jinja-templates, playbooks), gegenereerde configuraties en tests op in Git. Gebruik branches, pull requests en code review. Semantische commits en tags koppelen versies aan deployments.
- Testen: lint YAML en playbooks, valideer YANG/JSON-schema’s, voer unit tests en Ansible Molecule-scenariotests uit. Integreer synthetische prechecks (bijvoorbeeld bereikbaarheid) in CI.
- Pipelines: Dev → staging/lab → canary in productie → gefaseerde rollout. Gates omvatten statische analyse, dry-runs tegen simulatoren, goedkeuringen en automatische rollback bij een verslechtering van de health.
Telemetrie, Event-Driven Automatisering en Risicobeheer
- Telemetrie-streaming:
- Model-driven telemetrie (IOS XE, NX-OS) publiceert YANG-gemodelleerde statusinformatie op gedefinieerde intervallen via gRPC/gNMI of NETCONF, met dial-in of dial-out abonnementen. Voordelen zijn onder meer lage latency en gestructureerde data, wat beter presteert dan het periodiek scrapen van CLI-output of SNMP-polling.
- Voorbeeld (IOS XE, beknopt):
undefined
- Ontwerptips: Stem de samplingfrequentie af op de use case; zorg voor voldoende capaciteit op de message bus; ontwerp pipelines voor downsampling/aggregatie; bescherm tegen telemetrieverlies met buffering en acknowledgments.
- Event-driven automatisering:
- Trigger acties op basis van webhooks, syslog, SNMP-traps, DNA Center-events of Kafka-topics. Gebruik correlatie en rate limiting om ‘flaps’ door ‘storms’ te voorkomen. Onderhoud idempotente handlers die veilig opnieuw kunnen worden uitgevoerd.
- Closed-loop: Een controller detecteert een beleidsovertreding, valideert dit met secundaire signalen, opent een change ticket of start een beperkte herstelactie, meet vervolgens opnieuw en rondt af.
- Risicobeheer, rollback en credentials:
- Guardrails: gefaseerde rollouts, concurrency-limieten, ‘blast radius’-controles, dynamische backoff bij 429/5xx-responses en timeouts. Gebruik transacties waar beschikbaar (NETCONF candidate + commit), of device checkpoints en ‘configure replace’.
- Rollback: Beheer ‘golden configs’, diffs en checkpoints per apparaat. Geef de voorkeur aan ‘commit-confirmed’-semantiek waar ondersteund; implementeer anders een geautomatiseerde fallback met timers en bereikbaarheidscontroles.
- Bescherming van credentials: Dwing RBAC, kortlevende tokens en ‘just-in-time’-secrets per taak af. Gebruik secret stores (bijvoorbeeld Ansible Vault of een externe vault), en sla nooit secrets op in playbooks of Git. Roteer credentials volgens een schema en na personeelswisselingen. Beveilig de credentials tussen controller en apparaat en audit de toegang.
Praktisch Probleemscenario
Aurelius Logistics is van plan om campus- en branch-configuraties te standaardiseren, consistente segmentatie af te dwingen en closed-loop assurance te implementeren met Cisco DNA Center, terwijl veilige wijzigingen mogelijk worden gemaakt via Ansible en Git.
- Baseline en detecteer het netwerk
- Rationale: De discovery-functie van DNA Center, die IP-ranges plus CDP/LLDP gebruikt, inventariseert apparaten en topologie en creëert zo een gezaghebbende inventaris. Dit maakt het mogelijk om de ‘intent’ per site af te bakenen en variabelen over te erven. Het verzamelen van assurance-data stelt pre-change health-baselines vast voor vergelijking en als triggers voor rollbacks.
- Modelleer ‘intent’ en templates in DNA Center
- Rationale: Druk segmentatie (bijvoorbeeld medewerker, IoT, gast) en QoS-beleid declaratief uit. Gebruik geparametriseerde templates met site-variabelen voor interfaces, routing en ACL’s. Declaratief beleid stelt de controller in staat om apparaatspecifieke configuraties te compileren, wat menselijke fouten en ‘drift’ vermindert.
- Implementeer Git-gedreven configuratiebeheer
- Rationale: Sla templates, site-variabelen (YAML) en validatietests op in Git. Feature branches en pull requests dwingen peer review af. Tags koppelen implementaties aan versies, wat een precieze rollback mogelijk maakt. Dit zorgt voor een auditeerbare wijzigingsgeschiedenis en ondersteunt geautomatiseerde pipeline-triggers.
- Bouw een CI/CD-pipeline met validatie-gates
- Rationale: Pipeline-stadia voeren ’linting’ uit op YAML, valideren JSON/YANG-payloads, unit-testen Jinja-rendering en simuleren API-calls in een sandbox. ‘Dry runs’ in DNA Center en Ansible
check_mode/diffvalideren wijzigingen zonder impact. Alleen na het passeren van alle ‘gates’ staat de pipeline goedkeuring door een operator toe om door te gaan.
- Implementeer incrementeel met Ansible en DNA Center API’s
- Rationale: Gebruik de northbound API’s van DNA Center om templates eerst naar een ‘canary site’ te pushen, en rol ze vervolgens serieel per site uit met limieten voor de batchgrootte. Voor apparaten die NETCONF/RESTCONF ondersteunen, voeren Ansible-modules gerichte, idempotente updates uit. Deze dubbele aanpak benut de controller voor beleidsintensieve taken en directe apparaatautomatisering voor fijnmazige wijzigingen, terwijl de ‘blast radius’ wordt geminimaliseerd.
- Activeer streaming telemetrie en assurance-gedreven controles
- Rationale: Configureer model-driven telemetrie op edge-apparaten om data te leveren aan DNA Center Assurance en de observability-stack van het bedrijf. Definieer SLO’s (bijvoorbeeld succespercentage van onboarding, latency) en event-abonnementen die alerts genereren als de metrieken na een wijziging verslechteren. Dit maakt onmiddellijke detectie van negatieve resultaten mogelijk.
- Maak gecontroleerde closed-loop herstelacties mogelijk
- Rationale: Sta toe dat de pipeline voor goed begrepen afwijkingen (bijvoorbeeld een interface die down is met een bekende workaround) een beperkt playbook triggert om de laatste wijziging terug te draaien of een hotfix toe te passen. Vereis menselijke goedkeuring voor bredere herstelacties. Implementeer ’exponential backoff’ en een ‘cooldown’ om oscillaties te voorkomen.
- Bereid rollback-paden voor en test ze
- Rationale: Maak voor elke wijziging device checkpoints aan of gebruik NETCONF candidate + commit-confirmed indien beschikbaar. Archiveer pre-change configuraties en tag de Git-repository. Als de health scores dalen of telemetrie SLA-schendingen aantoont, voert de pipeline ‘configure replace’ of NETCONF discard/rollback uit, waardoor de vorige staat snel wordt hersteld.
- Bescherm credentials en dwing toegangscontrole af
- Rationale: Sla credentials van apparaten/controllers op in een vault; injecteer kortlevende tokens in jobs. Gebruik DNA Center RBAC om API-scopes te beperken. Log nooit secrets; schoon outputs op in CI. Roteer credentials en tokens regelmatig en na personeelswisselingen om risico’s te verminderen.
- Operationaliseer met documentatie en runbooks
- Rationale: Documenteer ‘intent’-definities, variabele-schema’s, faalscenario’s (rate limits, API-fouten, model-mismatches) en herstelstappen. Train het NOC om assurance-signalen en pipeline-statussen te interpreteren, wat zorgt voor consistente, snelle reacties op incidenten.
Deze aanpak creëert een veilig, testbaar pad van ‘intent’ naar implementatie, benut controllers voor beleidsdistributie (met vManage/vSmart in SD‑WAN en DNA Center in de campus), gebruikt idempotente tooling voor convergentie, en sluit de kringloop met door telemetrie ondersteunde validatie en gecontroleerde herstelacties.
← Enterprise Security en Identiteitsservices · Alle domeinen · Network Assurance →
Oefen deze vragen → · Getimede oefening op ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Slaag voor je examen →