Cisco 350-401: Otomasyon, Programlanabilirlik ve API'ler — Çalışma kılavuzu
Şunun bir parçası: Cisco CCNP Enterprise 350-401 ENCOR — Çalışma kılavuzu. Doğrulanmış cevaplarla şurada pratik yapın: Cisco sınav merkezi, veya şurada süreli deneme sınavları çözün: ExamRoll.io.
Genel Bakış
Kurumsal ağlar, cihaz bazında yapılandırmadan denetleyici tabanlı, amaca yönelik operasyonlara ve kapalı döngü otomasyonuna doğru ilerliyor. Programlanabilirlik, API’ler ve veri modelleri aracılığıyla ağ durumunu ve kontrolünü ortaya çıkarırken, Python, Ansible ve Git gibi araçlar tekrarlanabilir, test edilebilir iş akışları sağlar. Amaç, istenen sonuçları bildirimsel olarak ifade etmek, denetleyicilerin bu amacı politika ve yapılandırmaya dönüştürmesini sağlamak, sonuçları telemetri ve güvence yoluyla ölçmek ve sapmaları otomatik olarak veya insan onayıyla düzeltmektir. Bunu başarmak; denetleyici rollerini, API’leri ve protokolleri (YANG ile REST, NETCONF/RESTCONF), veri formatlarını (JSON, XML, YAML), otomasyon platformlarını (Cisco DNA Center) ve operasyonel disiplinleri (idempotency, sürüm kontrolü, test, risk yönetimi ve geri alma) anlamayı gerektirir.
Denetleyiciler, Amaç ve Kapalı Döngü Operasyonları
- Denetleyici tabanlı ağ ve roller:
- Cisco SD-WAN düzlemleri ayırır: vManage tek bir yönetim düzlemi sağlar; vSmart kontrol düzlemini yönetir ve fabric genelinde veri iletimini yönlendiren politikaları dağıtır; vBond katılım sürecini düzenler ve NAT’ı aşmak için bir STUN sunucusu olarak hareket edebilir. SD‑WAN edge router’lar, vSmart ile iletişim kurmak için kontrol düzlemi protokolü olarak OMP’yi kullanır.
- Cisco SD‑Access, mantıksal Katman 2 ve Katman 3 ayrımı sağlayan bir overlay ağı oluşturur. Bir fabric kontrol düzlemi düğümü, küresel bir uç noktadan konuma veritabanını tutarken, bir fabric sınır düğümü fabric’i harici ağlara bağlar. Kablosuz ağlarda, Radyo Kaynak Yönetimi (Radio Resource Management) kablosuz denetleyici üzerinde çalışır.
- Amaç ve bildirimsel yapılandırma:
- Amaç, her bir cihazda nasıl uygulanacağını değil, istenen sonucu tanımlar. Bildirimsel sistemler (örneğin, “misafirleri her yerde yalnızca İnternet erişimiyle segmentlere ayır”), denetleyicilerin politikayı cihaza özgü yapılandırmalara derlemesine olanak tanır.
- Artıları ve eksileri: Bildirimsel modeller operasyonları basitleştirir ve yapılandırma kaymasını azaltır, ancak uygulama ayrıntılarını gizleyebilir. Operatörlerin güveni sürdürmek için fark/önizleme (diff/preview) ve geri alma (rollback) için şeffaf araçlara ihtiyacı vardır.
- Kapalı döngü operasyonları:
- Ölç: Akış telemetrisi (streaming telemetry) ve denetleyici güvencesi (controller assurance) aracılığıyla durumu topla.
- Analiz et: Amaçtan sapmaları tespit et (örneğin, segmentasyon ihlalleri, SLA düşüşleri).
- Harekete geç: Politika güncellemeleri, yapılandırma değişiklikleri veya trafik mühendisliği yoluyla düzelt.
- Hata modları: Olay fırtınaları (event storms) veya gürültülü telemetri yanlış pozitifleri tetikleyebilir; düzeltme döngüleri salınım yapabilir. Korumalar (hız limitleri, histerezis, insan müdahalesiyle onaylar) ve sağlam korelasyon, sistemin aşırı yüklenmesini (thrashing) önler.
API’ler, Veri Modelleri ve Protokoller
- REST API’leri:
- Metotlar: GET (oku), POST (oluştur/eylem), PUT (değiştir), PATCH (kısmi güncelleme), DELETE (sil), HEAD/OPTIONS (meta veri).
- Durum kodları: 2xx başarı (200 OK, 201 Created), 3xx yönlendirmeler, 4xx istemci hataları (400 hatalı girdi, 401 yetkisiz, 403 yasak, 404 bulunamadı, 409 çakışma, 429 hız limiti), 5xx sunucu hataları (500, 503).
- Kimlik doğrulama: Temel (TLS üzerinden), token/bearer şemaları ve OAuth 2.0. Her zaman TLS kullanın; kimlik bilgilerini URI’lere gömmekten kaçının. Token yenileme ve sona erme süreçlerini yönetin.
- Hız limitleri: Sunucular 429 ve Retry-After ile istekleri yavaşlatabilir. İstemcilerde üstel geri çekilme (exponential backoff), jitter ve istek bütçesi takibi uygulayın.
- Veri formatları ve doğrulama:
- JSON, REST için yaygındır; XML, NETCONF’ta yaygınlığını korur; YAML, insan tarafından yazılan dosyalar (envanterler, playbook’lar, değişken setleri) için kullanılır. Gerektiğinde YAML’ı dahili olarak JSON’a dönüştürün.
- Şema doğrulaması: JSON payload’ları için JSON Schema; XML için XML Schema; model tabanlı yönetim için YANG (türler, kısıtlamalar, must/when ifadeleri) kullanın. Hataları erken yakalamak için göndermeden önce istemci tarafında doğrulama yapın.
- NETCONF, RESTCONF, YANG, RPC’ler ve veri depoları:
- YANG modelleri, yapılandırma ve durum için veri yapılarını ve operasyonları tanımlar.
- NETCONF, SSH üzerinden XML kullanır;
, , , , , gibi operasyonları vardır. Veri depoları (datastores) genellikle running ve candidate‘i içerir; candidate, atomiklikle hazırla-ve-onayla (prepare-and-commit) imkanı sağlar. - RESTCONF, YANG ile modellenmiş kaynakları HTTP(S) üzerinden RESTful bir arayüze eşler ve standartlaştırılmış medya türleriyle JSON veya XML kullanır. Metotlar, NETCONF semantiğiyle eşleşir (düzenlemeler için PATCH/PUT).
- Hata modları ve tasarım:
- Kilit çekişmesi (Lock contention): Kilitlenmeleri (deadlocks) önlemek için
operasyonunu koordine edin; dar kapsam ve zaman aşımları kullanın. - Kısmi hatalar: İşlemsel (transactional) değişiklikler için candidate veri deposu +
tercih edin. Yalnızca running mevcutsa, yapılandırılmış değişiklik grupları ve kontrol noktaları (checkpoints) kullanın. - Model kayması (Model drift): Cihazlar farklı YANG modül revizyonlarını destekleyebilir; CI sırasında yetenekler üzerinde anlaşın ve test edin.
- Kilit çekişmesi (Lock contention): Kilitlenmeleri (deadlocks) önlemek için
- Kısa örnekler:
- RESTCONF kısmi güncelleme (HTTP alışverişi):
undefined
- Python ile NETCONF (ncclient):
undefined
Araçlar ve İş Akışları: Python, Ansible, Git ve Pipeline’lar
- Cisco DNA Center otomasyonu:
- Northbound REST API’leri envanter, şablon, provizyon ve güvence (assurance) erişimi sağlar. Southbound arayüzleri, denetleyiciyi niyetin (intent) uygulanması için cihazlara (CLI, SNMP, NETCONF/RESTCONF) bağlar.
- Keşif iş akışları CDP, LLDP ve IP aralıklarını kullanabilir. Rol tabanlı erişim kontrolü, proje tabanlı şablonlar ve site başına değişkenler kullanın. Assurance, telemetri verilerini sorunlar, sağlık puanları ve önerilen düzeltmelerle ilişkilendirir—bunlar kapalı döngü otomasyonu için kilit girdilerdir.
- Ağ otomasyonu için temel Python bilgileri:
- Temel dil özellikleri: tipler, fonksiyonlar, modüller, sanal ortamlar ve loglama.
- Kütüphaneler: requests/httpx (REST), ncclient (NETCONF), jinja2 (şablonlama), pyyaml, json, pandas (veri işleme), gözlemlenebilirlik için rich/logging.
- Uygulamalar: girdi doğrulama, geri çekilmeli yeniden denemeler (retries with backoff), yapılandırılmış istisnalar (structured exceptions), zaman aşımları ve birim testleri. Testleri basitleştirmek için iş mantığını G/Ç’den (I/O) ayırarak serileştirin.
- Ansible:
- Inventory, ana bilgisayarları (hosts) ve grupları tanımlar; host_vars/group_vars’ı YAML formatında tutun.
- Playbook’lar istenen durumu bildirir; ios_config, ios_facts, iosxe_config, restconf_config ve uri gibi modüller eylemleri gerçekleştirir. Yeniden kullanılabilir mantığı kapsüllemek için roller (roles) kullanın.
- Idempotency: Modüller, tekrarlanan çalıştırmaların istenmeyen değişiklikler olmadan aynı sonuca ulaşmasını sağlar. Önizleme için check_mode ve diff kullanın; yalnızca değişiklik olduğunda kaydetmek için handler’ları haberdar edin (notify).
- Örnek:
- 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:
- Değişiklik kontrolü: etki alanını (blast radius) sınırlamak için bakım pencereleri, seri veya toplu (batched) strateji ve site başına kısıtlama (throttling) kullanın. Ön ve son kontrolleri otomatik olarak kaydedin.
- Git, sürüm kontrolü, test ve pipeline’lar:
- Ağ niyetini (YAML değişkenleri, Jinja şablonları, playbook’lar), oluşturulan yapılandırmaları ve testleri Git’te saklayın. Branch’ler, pull request’ler ve kod incelemesi (code review) kullanın. Anlamsal commit’ler (semantic commits) ve etiketler (tags), sürümleri dağıtımlarla hizalar.
- Test: YAML ve playbook’ları lint edin, YANG/JSON şemalarını doğrulayın, birim testleri ve Ansible Molecule senaryo testlerini çalıştırın. CI’a sentetik ön kontrolleri (örneğin, erişilebilirlik) entegre edin.
- Pipeline’lar: Geliştirme (Dev) → hazırlık/laboratuvar (staging/lab) → üretimde kanarya (canary) → aşamalı dağıtım (phased rollout). Geçiş kapıları (gates); statik analiz, simülatörlere karşı deneme çalıştırmaları (dry-runs), onaylar ve sağlık durumunda gerileme olduğunda otomatik geri almayı (rollback) içerir.
Telemetri, Olay Odaklı Otomasyon ve Risk Yönetimi
- Telemetri akışı:
- Model güdümlü telemetri (IOS XE, NX-OS), gRPC/gNMI veya NETCONF üzerinden, ‘dial-in’ veya ‘dial-out’ abonelikleriyle, tanımlanmış aralıklarla YANG modelli durumu yayınlar. Faydaları arasında düşük gecikme süresi ve yapılandırılmış veri bulunur; periyodik CLI ‘scraping’ veya SNMP ‘polling’ işlemlerinden daha iyi performans gösterir.
- Örnek (IOS XE, kısa): telemetry ietf subscription 100 encoding gpbid filter xpath /interfaces-state/interface receiver ip 10.0.0.50 port 57500 protocol grpc-tcp
- Tasarım ipuçları: Örnekleme frekansını kullanım senaryosuyla uyumlu hale getirin; mesajlaşma kuyruğu (message bus) kapasitesini sağlayın; alt örnekleme (downsampling)/toplama (aggregation) işlem hatları tasarlayın; arabelleğe alma (buffering) ve onay mekanizmaları (acknowledgments) ile telemetri kaybına karşı koruma sağlayın.
- Olay odaklı otomasyon:
- Webhook’lar, syslog, SNMP ’trap’leri, DNA Center olayları veya Kafka ’topic’leri üzerinden eylemleri tetikleyin. Fırtına kaynaklı ‘flap’leri (dalgalanmaları) önlemek için korelasyon ve hız sınırlama (rate limiting) kullanın. Güvenle yeniden çalıştırılabilen ‘idempotent’ (sonucu değiştirmeyen) işleyiciler (handler) kullanın.
- Kapalı döngü (Closed-loop): Bir denetleyici (controller) bir ilke ihlalini tespit eder, ikincil sinyallerle doğrular, bir değişiklik kaydı (change ticket) açar veya sınırlı bir düzeltmeyi tetikler, ardından yeniden ölçüm yapar ve işlemi sonlandırır.
- Risk yönetimi, geri alma (rollback) ve kimlik bilgileri:
- Koruma mekanizmaları (Guardrails): aşamalı dağıtımlar (staged rollouts), eşzamanlılık limitleri (concurrency limits), etki alanı kontrolleri (blast-radius controls), 429/5xx yanıtlarında dinamik geri çekilme (dynamic backoff) ve zaman aşımları (timeouts). Mümkün olan yerlerde işlemleri (transactions) (NETCONF ‘candidate’ + ‘commit’), veya cihaz ‘checkpoint’leri ve ‘configure replace’ komutunu kullanın.
- Geri alma (Rollback): ‘Golden config’ (altın standart) yapılandırmaları, farkları (‘diffs’) ve cihaz başına ‘checkpoint’leri saklayın. Desteklendiği yerlerde ‘commit-confirmed’ semantiğini tercih edin; aksi takdirde zamanlayıcılar ve erişilebilirlik kontrolleri kullanarak otomatik geri dönüş (fallback) uygulayın.
- Kimlik bilgisi koruması: RBAC (Rol Tabanlı Erişim Kontrolü), kısa ömürlü ’token’lar ve iş başına anlık (‘just-in-time’) ‘secret’lar (gizli bilgiler) kullanımını zorunlu kılın. ‘Secret’ deposu (örneğin, Ansible Vault veya harici bir ‘vault’) kullanın, ‘secret’ları asla ‘playbook’lara veya Git’e gömmeyin. Kimlik bilgilerini planlı olarak ve personel değişikliklerinden sonra döndürün (rotate). Denetleyiciden cihaza (controller-to-device) kimlik bilgilerini güvence altına alın ve erişimi denetleyin.
Pratik Problem Senaryosu
Aurelius Logistics, Cisco DNA Center kullanarak kampüs ve şube yapılandırmalarını standartlaştırmayı, tutarlı segmentasyon uygulamayı ve kapalı döngü güvencesi (closed-loop assurance) sağlamayı planlarken, Ansible ve Git aracılığıyla güvenli değişiklikler yapmayı hedeflemektedir.
- Ağın temel durumunu belirleyin ve keşfedin
- Gerekçe: DNA Center’ın IP aralıkları ile CDP/LLDP kullanarak yaptığı keşif, cihazları ve topolojiyi listeler ve yetkili bir envanter oluşturur. Bu, amaca yönelik kapsam belirlemeyi (intent scoping) ve saha bazında değişken kalıtımını (variable inheritance) mümkün kılar. Güvence (assurance) verilerinin toplanması, karşılaştırma ve geri alma (rollback) tetikleyicileri için değişiklik öncesi sağlık temel çizgileri (health baselines) oluşturur.
- DNA Center’da amacı (intent) ve şablonları modelleyin
- Gerekçe: Segmentasyonu (örneğin, çalışan, IoT, misafir) ve QoS ilkelerini bildirimsel (declarative) olarak ifade edin. Arayüzler, yönlendirme ve ACL’ler için saha değişkenleriyle parametreli şablonlar kullanın. Bildirimsel ilke, denetleyicinin (controller) cihaza özgü yapılandırmaları derlemesine olanak tanır, bu da insan hatasını ve yapılandırma sapmasını (drift) azaltır.
- Git tabanlı yapılandırma yönetimini uygulayın
- Gerekçe: Şablonları, saha değişkenlerini (YAML) ve doğrulama testlerini Git’te saklayın. ‘Feature branch’ler ve ‘pull request’ler, akran denetimini (peer review) zorunlu kılar. ‘Tag’ler, dağıtımları sürümlerle hizalayarak hassas geri alma (rollback) işlemlerini mümkün kılar. Bu, denetlenebilir bir değişiklik geçmişi sağlar ve otomatik ‘pipeline’ tetikleyicilerini destekler.
- Doğrulama kapıları (validation gates) içeren CI/CD ‘pipeline’ı oluşturun
- Gerekçe: ‘Pipeline’ aşamaları YAML’ı ’lint’ eder, JSON/YANG ‘payload’larını doğrular, Jinja ‘rendering’ işlemini birim testine (unit-test) tabi tutar ve bir ‘sandbox’ ortamında API çağrılarını simüle eder. DNA Center ‘dry run’ları ve Ansible ‘check_mode’/‘diff’ komutları, değişiklikleri etki yaratmadan doğrular. ‘Pipeline’, yalnızca tüm kapılardan geçildiğinde operatörün devam etme onayına izin verir.
- Ansible ve DNA Center API’leri ile artımlı olarak dağıtım yapın
- Gerekçe: Şablonları önce bir ‘canary’ (test) sahasına göndermek için DNA Center ’northbound’ API’lerini kullanın, ardından toplu iş boyutu (batch size) limitleriyle saha bazında seri olarak dağıtın. NETCONF/RESTCONF destekleyen cihazlar için Ansible modülleri, hedeflenmiş ve ‘idempotent’ güncellemeler gerçekleştirir. Bu ikili yaklaşım, ilke ağırlıklı görevler için denetleyiciden (controller) ve ince ayarlı değişiklikler için doğrudan cihaz otomasyonundan yararlanırken, etki alanını (blast radius) en aza indirir.
- Telemetri akışını ve güvence (assurance) odaklı kontrolleri etkinleştirin
- Gerekçe: DNA Center Assurance’ı ve şirketin gözlemlenebilirlik (observability) yığınını beslemek için uç cihazlarda model güdümlü telemetriyi yapılandırın. Değişiklik sonrası metriklerde gerileme olursa uyarı veren SLO’lar (örneğin, ‘onboarding’ başarı oranı, gecikme süresi) ve olay abonelikleri tanımlayın. Bu, olumsuz sonuçların anında tespit edilmesini sağlar.
- Kontrollü kapalı döngü düzeltmeyi (closed-loop remediation) etkinleştirin
- Gerekçe: İyi anlaşılan sapmalar için (örneğin, bilinen bir geçici çözümü olan arayüzün ‘down’ olması), ‘pipeline’ın son değişikliği geri almak veya bir ‘hotfix’ uygulamak üzere kısıtlı bir ‘playbook’u tetiklemesine izin verin. Daha geniş kapsamlı düzeltmeler için insan onayı isteyin. Salınımları (oscillations) önlemek için ’exponential backoff’ (üssel geri çekilme) ve ‘cooldown’ (bekleme süresi) uygulayın.
- Geri alma (rollback) yollarını hazırlayın ve test edin
- Gerekçe: Her değişiklikten önce, cihaz ‘checkpoint’leri oluşturun veya mevcutsa NETCONF ‘candidate’ + ‘commit-confirmed’ kullanın. Değişiklik öncesi yapılandırmaları arşivleyin ve Git deposunu ’tag’leyin. Sağlık puanları düşerse veya telemetri SLA ihlallerini gösterirse, ‘pipeline’ ‘configure replace’ veya NETCONF ‘discard’/‘rollback’ komutlarını çalıştırarak önceki durumu hızla geri yükler.
- Kimlik bilgilerini koruyun ve erişim kontrolünü uygulayın
- Gerekçe: Cihaz/denetleyici kimlik bilgilerini bir ‘vault’ta saklayın; işlere kısa ömürlü ’token’lar enjekte edin. API kapsamlarını kısıtlamak için DNA Center RBAC kullanın. ‘Secret’ları asla loglamayın; CI’da çıktıları temizleyin (‘scrub’). Riski azaltmak için kimlik bilgilerini ve ’token’ları düzenli olarak ve personel değişikliklerinden sonra döndürün.
- Dokümantasyon ve ‘runbook’lar ile operasyonel hale getirin
- Gerekçe: Amaç (intent) tanımlarını, değişken şemalarını, hata modlarını (hız limitleri, API hataları, model uyuşmazlıkları) ve kurtarma adımlarını belgeleyin. NOC’yi (Ağ Operasyon Merkezi), güvence (assurance) sinyallerini ve ‘pipeline’ durumlarını yorumlaması için eğitin, böylece olaylara tutarlı ve hızlı yanıtlar verilmesini sağlayın.
Bu yaklaşım, amaçtan uygulamaya kadar güvenli, test edilebilir bir yol oluşturur, ilke dağıtımı için denetleyicilerden (SD-WAN’da vManage/vSmart ve kampüste DNA Center ile) yararlanır, yakınsama (convergence) için ‘idempotent’ araçlar kullanır ve telemetri destekli doğrulama ve kontrollü düzeltme ile döngüyü kapatır.
← Kurumsal Güvenlik ve Kimlik Servisleri · Tüm alanlar · Ağ Güvencesi →
Bu soruları çözün → · ExamRoll.io’da süreli pratik →
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.
Sınavınızı geçin →