Onilliklər ərzində korporativ şəbəkələrin idarə olunması əmr xətti interfeysi (CLI) ilə əl ilə qarşılıqlı əlaqəyə əsaslanırdı. Şəbəkə mühəndisi hər bir kommutatora və marşrutlayıcıya Telnet və ya SSH protokolları vasitəsilə qoşulur, konfiqurasiya rejimində əmrləri daxil edir və nəticəni show əmrləri ilə vizual yoxlayırdı. Lakin rəqəmsal infrastrukturun miqyasının artması, paylanmış çoxbuludlu fabriklərə keçid və xidmətlərin əlçatanlığına olan tələblərin kəskin sərtləşməsi nəticəsində cihazların tək-tək əl ilə sazlanması (Box-by-Box modeli) qəzaların, dayanmaların və texnoloji geriləmənin əsas mənbəyinə çevrildi. Müasir şəbəkə mühəndisliyi təməl tektonik dəyişiklik yaşayır: dağınıq ekran təhlili skriptlərindən (Screen Scraping) ciddi tipləşdirilmiş YANG modellərinə əsaslanan proqramlaşdırılan şəbəkələrə, kontroller arxitekturasına, «Kod kimi infrastruktur» (Infrastructure as Code, IaC) paradiqmasına, NetDevOps təcrübələrinə və Model Context Protocol (FastMCP) əsaslı muxtar İİ agentlərinə keçid baş verir. Məhz bu texnoloji stek Cisco 300-435 ENAUTO v2.0 (Automating Cisco Enterprise Solutions) sertifikasiya imtahanının nüvəsini təşkil edir.

Məqsəd və nə bilmək lazımdır

Dərsdən sonra siz bunları bacaracaqsınız:

  • şəbəkənin əl ilə Box-by-Box idarə edilməsinin fundamental risklərini (konfiqurasiya dreyfi, insan faktoru, əmək xərclərinin eksponensial artımı) izah etmək;
  • şəbəkə avtomatlaşdırılmasının 4 təkamül mərhələsini fərqləndirmək: əl ilə CLI, Screen Scraping, modellərə əsaslanan proqramlaşdırılma (Model-Driven APIs) və İİ agentləri ilə NetDevOps;
  • 300-435 ENAUTO v2.0 imtahan platformaları ekosistemində bələdləşmək: Cisco IOS XE cihazları, Catalyst Center, Catalyst SD-WAN Manager, Cisco Meraki, Cisco ISE kontrollerləri, ThousandEyes xidməti və FastMCP serverləri;
  • avtomatlaşdırmanın iqtisadi səmərəliliyini (ROI) və xidmətin bərpasının orta vaxtının (MTTR) azalmasını hesablamaq;
  • vahid həqiqət mənbəyinin (Source of Truth) prinsiplərini və şəbəkə dəyişikliklərinin fasiləsiz inteqrasiyası və çatdırılması (CI/CD) konveyerinin qurulmasını tərtib etmək.

Əvvəlcədən nəyi bilmək lazımdır: CCNA səviyyəsində baza şəbəkə texnologiyaları bilikləri (OSI/TCP-IP modeli, IPv4/IPv6 ünvanlaşması, Cisco IOS XE baza sintaksisi, VLAN kommutasiyası, OSPF/BGP marşrutlaşdırması).

Həyatdan tapşırıq

Beynəlxalq logistika şirkətində 85 regional anbar və paylama mərkəzi üzrə paylanmış 450 marşrutlayıcı və kommutatordan (Cisco Catalyst 9300, Catalyst 8300 və ISR 4000) ibarət korporativ şəbəkə istismar olunur. Şəbəkənin idarə edilməsi tarixən altı növbətçi şəbəkə mühəndisi tərəfindən SSH terminalları vasitəsilə əl ilə həyata keçirilirdi.

Təcrid olunmuş yoluxmuş seqment üzrə növbədənkənar gecə işləri zamanı bütün filiallarda magistral kommutatorların trunk portlarında girişə nəzarət siyahılarını (ACL) və Native VLAN nömrələrini təcili tənzimləmək tələb olunurdu. Növbətçi mühəndis mətn redaktorundan nümunə əmrlər blokunu kopyaladı və onu mərkəzi qovşaqlardan birinin terminalına yapışdırdı. Lakin mübadilə buferindəki nəzərdən qaçan formatlama xətası səbəbindən trunk sazlama əmri idarəetmə VLAN-ını kəsdi: port uyğunsuz vəziyyətə keçdi, SSH sessiyası qırıldı və marşrutlayıcı bütün paylama mərkəzini təcrid etdi.

Əlaqənin bərpasına 4.5 saat vaxt getdi: filialın mühəndisi konsol kabeli ilə obyektə getməli oldu. Dayanma müddətində konveyer çeşidləməsi dayandı, kommersiya yüklərinin gecikməsi $180,000-dan çox cərimə sanksiyalarına səbəb oldu. Sonrakı audit zamanı məlum oldu ki, avadanlığın 42%-də konfiqurasiyalar təsdiqlənmiş etalondan fərqlənirdi (konfiqurasiya dreyfi), interfeys təsvirləri sxemə uyğun gəlmirdi və ehtiyat nüsxələmə qeyri-müntəzəm işləyirdi.

Rəqəmsal transformasiya rəhbərliyi Cisco ENAUTO avtomatlaşdırma arxitekturasına keçidi təsdiqlədi: əl ilə CLI-dan imtina, deklarativ şablonlar, Git vahid həqiqət mənbəyi, mərkəzləşdirilmiş kontrollerlər və avtomatlaşdırılmış ilkin yoxlama testləri tətbiq edildi.

Əl ilə CLI idarəetməsinin böhranı: Box-by-Box və konfiqurasiya dreyfi

Hər bir avadanlıq vahidinin insan tərəfindən konsol vasitəsilə təcrid olunmuş şəkildə sazlandığı ənənəvi yanaşma avtomatlaşdırma olmadan aradan qaldırılması mümkün olmayan dörd sistemli problem yaradır:

  1. Konfiqurasiya dreyfi (Configuration Drift): Qəza vəziyyətlərində lokal dəyişikliklər edərkən mühəndislər tez-tez mərkəzi sənədləri və ya repozitoriyanı yeniləməyi unudurlar. Zaman keçdikcə istismarda olan cihazların konfiqurasiyası layihə sənədlərindən və qonşu filiallardakı oxşar qovşaqların konfiqurasiyalarından əhəmiyyətli dərəcədə fərqlənməyə başlayır.
  2. İnsan faktoru (Human Error): Analitik agentliklərin araşdırmalarına görə, irimiqyaslı şəbəkə dayanmalarının 70%-dən 80%-ə qədəri tənzimləmələrin əl ilə dəyişdirilməsi zamanı operatorların səhvlərindən qaynaqlanır (IP ünvanında mexaniki səhv, ACL-də buraxılmış wildcard maska, BGP avtonom sistem nömrələrində səhv).
  3. Atomarlığın və ilkin yoxlamanın olmaması: Klassik CLI əmrləri sətirbəsətir icra edir. Əgər 30 əmrlik paketdə 20-ci sətirdə sintaktik səhv baş verərsə, ilk 19 sətir tətbiq edilmiş olaraq qalır və cihazı yarımçıq sazlanmış qeyri-işlək vəziyyətdə qoyur.
  4. Miqyaslanmanın qeyri-mümkünlüyü: 500 kommutatorda yeni xidmətin əl ilə tətbiqi xətti şəkildə miqyaslanır (O(N)): bir qovşağın sazlanması 20 dəqiqə çəkirsə, bütün şəbəkəyə əl ilə daxiletmə 160 mühəndis saatından çox vaxt tələb edəcək.

Şəbəkə avtomatlaşdırılmasının təkamülü: 4 texnoloji mərhələ

Şəbəkə sənayesinin klassik idarəetmədən müasir muxtar şəbəkələrə qədər olan yolunu dörd ardıcıl mərhələyə bölmək olar.

Şəbəkə avtomatlaşdırılmasının 4 təkamül mərhələsi: CLI-dan NetDevOps və İİ-yə
Şəbəkə avtomatlaşdırılmasının 4 təkamül mərhələsi: CLI-dan NetDevOps və İİ-yə
Müqayisə parametriMərhələ 1: Əl ilə CLIMərhələ 2: Screen ScrapingMərhələ 3: Model-Driven APIsMərhələ 4: NetDevOps və İİ
Qarşılıqlı əlaqə interfeysiKonsol / SSH terminalıSSH + Python (Netmiko, Expect)NETCONF / RESTCONF / REST APIGit CI/CD + FastMCP İİ agentləri
Məlumat formatıStruktursuz mətnMətn + müntəzəm ifadələrStrukturlaşdırılmış JSON / XMLYANG məlumat sxemləri + YAML
Həqiqət mənbəyi (SoT)Marşrutlayıcının NVRAM yaddaşıSkriptlərin mətn fayllarıKontrollerlərin verilənlər bazasıGit repozitoriyası (IaC)
Düzgünlüyün yoxlanılmasıMühəndisin gözləri iləMinimal (CLI kodları üzrə)YANG məlumat sxemləri (RFC 7950)pyATS / Genie + Digital Twin
Dəyişikliklərin edilmə sürətiSaatlar / günlərDəqiqələr / saatlarSaniyələr / dəqiqələrSaniyələr (avtomatlaşdırılmış)
Orta bərpa vaxtı (MTTR)4–8 saat1–2 saat15–30 dəqiqə< 3 dəqiqə (avto-geri qayıtma)

İkinci mərhələdə şəbəkə mühəndisləri SSH avtomatlaşdırma kitabxanalarından istifadə edərək məlumatların toplanmasını avtomatlaşdırmağa çalışdılar. Lakin CLI-ın struktursuz mətni insan gözü üçün nəzərdə tutulmuşdu. Cisco IOS XE əməliyyat sisteminin istənilən yenilənməsi nəticəsində sütunların eni dəyişdikdə tənzimləyici ifadələr (regex) sıradan çıxır.

Həll yolu üçüncü mərhələyə — məlumat modellərinə əsaslanan proqramlaşdırılmaya (Model-Driven Programmability) keçid oldu. NETCONF və RESTCONF protokolları standartlaşdırılmış YANG sxemlərindən (RFC 6020 / RFC 7950) istifadə edərək məlumatların tipləşdirilməsini, tətbiqdən əvvəl yoxlanılmasını və atomar tranzaksiyaları təmin edir. Dördüncü mərhələdə DevOps prinsipləri şəbəkə infrastrukturu ilə birləşir (NetDevOps): konfiqurasiyalar Git-də saxlanılır, pyATS avtotestləri ilə yoxlanılır və muxtar agentlər tərəfindən tətbiq edilir.

Cisco 300-435 ENAUTO v2.0 ekosisteminin arxitekturası

Cisco 300-435 ENAUTO v2.0 imtahanı korporativ səviyyəli bütöv proqramlaşdırılma ekosistemini əhatə edir. İdarəetmə iki səviyyəyə bölünür: şəbəkə elementlərinin birbaşa proqramlaşdırılması (Device-Level) və kontrollerlər vasitəsilə orkestrasiya (Controller-Level).

Cisco 300-435 ENAUTO v2.0 imtahan ekosisteminin arxitekturası
Cisco 300-435 ENAUTO v2.0 imtahan ekosisteminin arxitekturası

Ekosistem aşağıdakı əsas komponentləri əhatə edir:

  1. Şəbəkə cihazları səviyyəsi (Cisco IOS XE): Catalyst 9000 kommutatorlarının və Catalyst 8000V marşrutlayıcılarının NETCONF (TCP port 830) və RESTCONF (TCP port 443) protokolları, lokal Embedded Event Manager (EEM) appletləri və daxili Python Guest Shell icra mühiti vasitəsilə birbaşa proqram idarəetməsi.
  2. Kampus kontrolleri (Cisco Catalyst Center): Kampusun lokal şəbəkəsinin mərkəzləşdirilmiş idarəetmə sistemi. Intent API (REST) təqdim edir, Plug-and-Play (PnP) avtomatik qoşulmanı, proqram təminatı obrazlarının idarə edilməsini (SWIM), Command Runner diaqnostikasını və cisco.dnac Ansible kolleksiyasını dəstəkləyir.
  3. Təhlükəsizlik və girişə nəzarət (Cisco ISE): TrustSec seqmentasiya siyasətlərinin avtomatlaşdırılması, SGT təhlükəsizlik qruplarının proqramla yaradılması və ERS REST API və pxGrid şini vasitəsilə yoluxmuş qovşaqların təcrid edilməsi.
  4. Qlobal SD-WAN şəbəkəsi (Cisco Catalyst SD-WAN Manager): Paylanmış fabrikin vManage REST API, JSESSIONID kukisi və X-XSRF-TOKEN başlığı ilə ikimərhələli autentifikasiyası və catalystwan kitabxanası vasitəsilə idarə edilməsi.
  5. Bulud idarəetməsi (Cisco Meraki Dashboard): Giriş nöqtələrinin, kommutatorların və firewall-ların Dashboard API v1 vasitəsilə proqram nəzarəti; Rate Limiting (saniyədə 10 sorğu) və HTTP 429 cavabında Retry-After başlığının emalı məcburidir.
  6. Müşahidəolunma və testlənmə (ThousandEyes, pyATS, FastMCP): Şəbəkə yollarının keyfiyyətinin monitorinqi, dəyişikliklərdən əvvəl və sonra vəziyyətin avtomatlaşdırılmış testlənməsi (Pre/Post Change Testing), Model-Driven Telemetry (MDT) axın telemetriyası və FastMCP serverləri vasitəsilə böyük dil modellərinin (LLM) inteqrasiyası.

Nümunənin təhlili: kövrək CLI skripti ilə Model-Driven API çağırışının müqayisəsi

GigabitEthernet1 interfeysinin əlçatanlığının yoxlanılması nümunəsini nəzərdən keçirək. Ənənəvi yanaşmada mühəndis Python kitabxanasından və müntəzəm ifadələrdən istifadə edir:

python
# Kövrək Screen Scraping yanaşması (CLI mətn çıxarışının təhlili)
import re
from netmiko import ConnectHandler

device_params = {
    "device_type": "cisco_ios",
    "host": "192.168.10.1",
    "username": "admin",
    "password": "SecretPassword123!",
}

with ConnectHandler(**device_params) as net_connect:
    output = net_connect.send_command("show ip interface brief")

# Müntəzəm ifadə boşluqların mövqeyinə və sətir formatına sərt bağlıdır
match = re.search(r"^GigabitEthernet1\s+(\S+)\s+\w+\s+\w+\s+(up|down)", output, re.M)
if match:
    ip_address, status = match.groups()
    print(f"İnterfeys Gi1: IP={ip_address}, Status={status}")
else:
    # Yeni IOS XE versiyasında sütun eni dəyişdikdə skript burada dayanacaq
    raise ValueError("Çıxarış təhlil edilə bilmədi: sxem dəyişib!")

Proqramlaşdırılan şəbəkədə həmin sorğu ietf-interfaces modeli üzrə RESTCONF və zəmanətli JSON sxemi vasitəsilə həyata keçirilir:

python
# Etibarlı Model-Driven Programmability yanaşması (RESTCONF + YANG)
import requests
from requests.auth import HTTPBasicAuth

url = "https://192.168.10.1/restconf/data/ietf-interfaces:interfaces/interface=GigabitEthernet1"
headers = {
    "Accept": "application/yang-data+json",
}

response = requests.get(
    url,
    auth=HTTPBasicAuth("admin", "SecretPassword123!"),
    headers=headers,
    verify=False,
    timeout=5,
)

if response.status_code == 200:
    data = response.json()
    interface_data = data["ietf-interfaces:interface"]
    name = interface_data["name"]
    enabled = interface_data["enabled"]
    print(f"İnterfeys {name}: İnzibati aktivdir = {enabled}")

İkinci yanaşma Cisco IOS XE versiyasından, terminal növündən və dil ayarlarından asılı olmayaraq data lüğətinin strukturunun dəyişməz qalmasına zəmanət verir.

Nümunənin təhlili: NetDevOps bəyannaməli yoxlama konveyeri

NetDevOps arxitekturasında mühəndis interfeysləri əl ilə sazlamır. Sazlama Git repozitoriyasına yüklənən deklarativ YAML dəyişənlər faylı şəklində təsvir olunur:

yaml
# hosts_vars/core-rtr-01.yml - Hədəf vəziyyətin deklarativ təsviri
hostname: "core-rtr-01"
interfaces:
  - name: "GigabitEthernet1"
    description: "Uplink to ISP-1 Primary"
    ipv4_address: "198.51.100.2"
    ipv4_mask: "255.255.255.252"
    enabled: true
  - name: "GigabitEthernet2"
    description: "Trunk to Distribution Switch SW-01"
    ipv4_address: "10.100.1.1"
    ipv4_mask: "255.255.255.0"
    enabled: true

CI/CD konveyeri sintaksisi yoxlayır, Cisco Modeling Labs (CML) test topologiyasında simulyasiya aparır, Cisco pyATS çərçivəsi ilə əlaqəni təsdiqləyir və dəyişiklikləri yalnız 100% uğurlu nəticədən sonra tətbiq edir.

Avtomatlaşdırmanın iqtisadiyyatı: ROI və MTTR azalmasının hesablanması

Şəbəkə avtomatlaşdırılmasının tətbiqi mühəndislərin təliminə, serverlərin qurulmasına və sistemlərin inteqrasiyasına investisiya tələb edir. Layihəni rəhbərlik qarşısında əsaslandırmaq üçün arxitektor investisiyaların gəlirliyini (Return on Investment, ROI) və bərpanın orta vaxtının (Mean Time to Recovery, MTTR) azalmasını hesablayır.

Korporativ şəbəkənin ilkin parametrləri («Verilir»):

  • İdarə olunan şəbəkə cihazlarının sayı: 450 ədəd (marşrutlayıcılar və kommutatorlar);
  • Şəbəkə mühəndislərinin sayı: 6 mütəxəssis;
  • Mühəndisin bir saatlıq iş dəyəri (vergilər və əlavə xərclərlə): $50/saat;
  • İldə planlaşdırılan reqlament dəyişikliklərinin sayı: 1 200 prosedur;
  • 1 əl ilə dəyişikliyə sərf olunan əmək xərci (hazırlıq, razılaşdırma, CLI, yoxlama): 2.5 saat;
  • 1 avtomatlaşdırılmış dəyişikliyə sərf olunan əmək xərci (Git commit + avtotest): 0.2 saat (12 dəqiqə);
  • Əl ilə daxiletmə zamanı insan faktoru səbəbindən illik orta qəza sayı: 18 insident;
  • Şirkətin biznes xidmətlərinin 1 saatlıq dayanma dəyəri: $25 000/saat;
  • CLI xətasının əl ilə axtarışı və aradan qaldırılması zamanı orta MTTR: 3.5 saat;
  • Git revert / CI/CD vasitəsilə avtomatik geri qayıtma zamanı orta MTTR: 0.1 saat (6 dəqiqə);
  • Avtomatlaşdırma platformasının tətbiqi xərcləri (lisenziyalar, serverlər, skriptlər): $95 000.

İllik iqtisadi səmərənin addım-addım hesablanması aşağıda təqdim olunub:

yaml
# NetDevOps-a keçidin iqtisadi səmərəliliyinin hesablanması (illik göstəricilər)
labor_cost_reduction:
  manual_hours_total: 1200 * 2.5           # İldə 3000 mühəndis saatı
  automated_hours_total: 1200 * 0.2        # İldə 240 mühəndis saatı
  hours_saved: 3000 - 240                  # 2760 saat əmək qənaəti
  financial_savings_labor: 2760 * 50       # $138,000 birbaşa əməkhaqqı qənaəti

downtime_cost_reduction:
  manual_annual_downtime_hours: 18 * 3.5   # İldə 63 saat biznes dayanması
  automated_annual_downtime_hours: 18 * 0.1 # İldə 1.8 saat biznes dayanması
  downtime_hours_saved: 63.0 - 1.8         # 61.2 saat qarşısı alınmış dayanma
  prevented_downtime_losses: 61.2 * 25000  # $1,530,000 qarşısı alınmış biznes itkisi

total_economic_benefit:
  direct_annual_savings: 138000 + 1530000  # İlk ildə $1,668,000 ümumi fayda
  initial_investment: 95000                # $95,000 layihənin başlanğıc xərci
  net_present_value_year1: 1668000 - 95000 # $1,573,000 xalis gəlir
  roi_percentage: (1573000 / 95000) * 100  # 12 ayda 1655.8% gəlirlik
  payback_period_months: (95000 / (1668000 / 12)) # 0.68 ay (3 həftədən az)

💡 Mühəndis qərarı: NetDevOps-un tətbiqi və əl ilə CLI-dan proqram interfeyslərinə keçid avtomatlaşdırma infrastrukturuna qoyulan investisiyaları 3 həftədən az müddətdə doğruldur. Əsas maliyyə effekti mühəndislərin iş saatlarına qənaətdə deyil, biznesin dayanmalarının köklü şəkildə qarşısının alınmasındadır (MTTR-in 97% azalması və insan səhvlərinin aradan qaldırılması).

Nə xarab ola bilər və bunu necə tapmaq olar

Əl ilə sazlamadan proqram interfeyslərinə keçərkən mühəndislər yeni problemlərlə qarşılaşırlar:

Simptom / Xəta koduEhtimal olunan səbəbLokallaşdırma və aradan qaldırma metodu
Netmiko skriptini işə salarkən SSH Timeout / ConnectionRefusedCihazda VTY girişi sazlanmayıb, TCP 22 portu bağlıdır və ya ACL bloklayırİdarəetmə interfeysində show ip access-lists, line vty 0 4 və transport input ssh parametrini yoxlamaq
RESTCONF və ya Catalyst Center sorğusu zamanı HTTP 401 UnauthorizedX-Auth-Token tokeninin müddəti bitib və ya etibarnamə səhvdirMarşrutlayıcıda AAA xidmətinin statusunu yoxlamaq; Python kodunda 401 alındıqda tokenin avtomatik yenilənməsini təmin etmək
Retry-After: 30 başlığı ilə HTTP 429 Too Many RequestsMeraki Dashboard API çağırış kvotası aşılıb (limit 10 req/s)Məcburi time.sleep(int(response.headers['Retry-After'])) fasiləsi ilə eksponensial geri çəkilmə alqoritmi qurmaq
NETCONF cavabında <rpc-error> <error-tag>data-missing</error-tag>Valideyn konteyneri yaratmadan daxili qovşağı dəyişdirmə cəhdipyang -f tree ilə RFC 8340 üzrə model ağacını yoxlamaq; məcburi açar [name] yarpaqlarının mövcudluğuna əmin olmaq
Vəziyyətin sinxronizasiyasının pozulması: skript Success verdi, lakin trafik keçmirSkript konfiqurasiyanı candidate datastore-da dəyişdi, lakin <commit> əməliyyatını icra etmədishow netconf-yang sessions ilə sessiya qeydlərini yoxlamaq; ncclient skriptində m.commit() çağırışının olmasına əmin olmaq

⚠️ Tipik səhv: Sintaksis ilkin yoxlanışı və avtomatik geri qayıtma olmadan Python skriptləri vasitəsilə CLI əmrlərini göndərməklə şəbəkəni avtomatlaşdırmağa cəhd etmək. Əgər skript 200 cihazdan 50-cisində əlaqəni kəsərsə, şəbəkə qeyri-sabit vəziyyətdə qalacaq və əl müdaxiləsi tələb olunacaq.

Təcrübə

  1. Qabaqcadan xəbər verin: Hər bir cihaz SSH üzərindən 2.5 saniyəyə cavab verirsə, 450 şəbəkə cihazının ardıcıl olaraq bir axında (Single Thread) sorğulanması skriptini işə salsaq nə baş verər? Skriptin icrası nə qədər vaxt aparacaq?
  2. Yoxlayın: ThreadPoolExecutor(max_workers=50) axın hovuzu və HTTPX ilə asyncio asinxron çərçivəsindən istifadə etdikdə (şəbəkə gecikməsi 50 ms olduqda) həmin sorğunun nəzəri icra müddətini hesablayın.
  3. İzah edin: Niyə Git-in vahid həqiqət mənbəyi (Source of Truth) kimi istifadə edilməsi paylanmış cihazlar arasında konfiqurasiya dreyfinin yaranmasının qarşısını alır?
  4. Dəyişin: Yuxarıdakı RESTCONF skriptində sorğu URI-sini elə dəyişin ki, tək GigabitEthernet1 interfeysi əvəzinə marşrutlayıcının bütün interfeyslərinin siyahısı JSON massivi kimi sorğulansın.
  5. Özünüz qurun ⭐: Cisco IOS XE üçün eyni zamanda təhlükəsiz HTTPS serverini, RESTCONF xidmətini və TCP 830 portu üzrə NETCONF sessiyalarını aktivləşdirən konfiqurasiya blokunu formalaşdırın.

Özünüyoxlama

Sual 1: Modellərə əsaslanan idarəetmə protokollarının (NETCONF və RESTCONF) əmr xətti interfeysi vasitəsilə avtomatlaşdırmadan (Screen Scraping) fundamental fərqi nədən ibarətdir?

Cavabın təhlili: CLI insan tərəfindən qavranılmaq üçün nəzərdə tutulmuş, məlumatların sərt tipləşdirilməsi və maşın tərəfindən oxunan sxem yoxlanışı olmayan struktursuz mətn çıxarışı formalaşdırır. Əməliyyat sisteminin istənilən yenilənməsi zamanı mətn formatı dəyişə bilər ki, bu da müntəzəm ifadələr təhlilçisini sıradan çıxarır. YANG məlumat modelləri (RFC 6020 / RFC 7950) tiplərin yoxlanılması (integer, string, boolean), məcburi açarlar və API müqaviləsi ilə sərt iyerarxik sxem müəyyən edir ki, bu da proqram təminatının versiyasından asılı olmayaraq XML və JSON formatlarında məlumatların determinik ötürülməsini təmin edir.

Sual 2: Niyə NetDevOps paradiqmasında təcili qəzanın aradan qaldırılması zamanı belə avadanlığın konfiqurasiyasına birbaşa CLI terminalı (configure terminal) vasitəsilə dəyişiklik etmək yolverilməzdir?

Cavabın təhlili: Git repozitoriyasından kənar parametrlərin əl ilə dəyişdirilməsi vahid həqiqət mənbəyi (Single Source of Truth) prinsipini pozur və konfiqurasiya dreyfi yaradır. Avtomatlaşdırılmış CI/CD konveyerinin növbəti işə salınması zamanı sistem əl ilə edilən düzəlişləri Git-dəki etalon vəziyyətlə əvəz edəcək ki, bu da təkrar qəzaya səbəb ola bilər. İstənilən təcili dəyişiklik hotfix budağına commit edilməli və avtotestlərdən keçirilməlidir.

Təcrübə tapşırıqlarının cavabları

  1. 1-ci bəndin cavabı: Ardıcıl sinxron sorğulama 450 * 2.5 = 1125 saniyə (18 dəqiqə 45 saniyə) vaxt aparacaq ki, bu da real vaxt monitorinq sistemləri üçün qəbuledilməzdir.
  2. 2-ci bəndin cavabı: 50 paralel axın olduqda vaxt təxminən (450 / 50) * 2.5 ≈ 22.5 saniyə-yə qədər azalacaq. asyncio istifadə etdikdə RESTCONF üzərindən sorğulama müddəti cəmi 1.5–3 saniyə təşkil edəcək.
  3. 3-cü bəndin cavabı: Git SoT modelində cihaz öz konfiqurasiyasını yaratmır, onu kodun törəməsi kimi qəbul edir. İstənilən kənaraçıxma avtomatik auditlə (pyATS diff) aşkar edilir və main budağının vəziyyətinə gətirilməklə aradan qaldırılır.
  4. 4-cü bəndin cavabı: Yeni URL: "https://192.168.10.1/restconf/data/ietf-interfaces:interfaces". Cavab interfeyslər massivi olan konteyneri qaytaracaq: data["ietf-interfaces:interfaces"]["interface"].
  5. 5-ci bəndin cavabı:
Cisco IOS
! Cisco IOS XE-də proqram idarəetmə interfeyslərinin aktivləşdirilməsi
ip http secure-server
restconf
netconf-yang

Təkrar və növbəti dərsə keçid meyarı

Kömək olmadan siz bunları bacarırsınız:

  • həmkarınıza Screen Scraping, RESTCONF və NetDevOps arxitekturası arasındakı fərqi izah etmək;
  • Cisco 300-435 ENAUTO v2.0 imtahan proqramından 5 kontroller platformasını sadalamaq;
  • MTTR-in hesablanması və qarşısı alınmış dayanmalar vasitəsilə şəbəkə avtomatlaşdırılmasının maliyyə gəlirliyini əsaslandırmaq;
  • Cisco IOS XE marşrutlayıcısında netconf-yang və restconf xidmətlərini yandırmaq.

Yoxlama sualı: Mühəndis şəbəkə xəritəsini qurmaq üçün Python-da show cdp neighbors detail əmrinin çıxarışını müntəzəm ifadə ilə təhlil etmək istəyir. ENAUTO v2.0 stekindən hansı müasir alternativi təklif etmək lazımdır və nə üçün?
(Hazırlıq meyarı: Cisco Native və ya IETF/OpenConfig modeli ilə RESTCONF/NETCONF istifadəsini, yaxud hazır Python lüğəti qaytaran device.parse('show cdp neighbors detail') Cisco Genie/pyATS təhlilçisini təklif etmək).

Standartlar və mənbələr

  • RFC 6020 / RFC 7950: YANG — A Data Modeling Language for the Network Configuration Protocol (NETCONF).
  • RFC 6241: Network Configuration Protocol (NETCONF).
  • RFC 8040: RESTCONF Protocol.
  • RFC 8340: YANG Tree Diagrams.
  • Cisco Certified DevNet Professional / CCNP Enterprise: Official Cert Guide 300-435 ENAUTO (Cisco Press).
  • Cisco DevNet Learning Labs: Network Programmability Basics & Model-Driven Programmability.