🧠 A RETENIR — DATA MODELS & YANG
🎯 Pourquoi les data models ?
- CLI = ❌ manuel, répétitif, source d’erreurs
- Data models = ✅ automatisation fiable et cohérente
👉 On passe de :
configuration ligne par ligne → modèle structuré
💡 Définition essentielle
👉 Data models (data-dictionaries)
= structure standard pour décrire la config réseau
✔️ multi-vendor
✔️ automation-friendly
✔️ cohérent
🔥 Unmodeled vs Modeled data
- ❌ Unmodeled data = CLI (ex :
show ip route)
→ non structuré, difficile à automatiser - ✅ Modeled data = JSON / XML
→ structuré, validé, exploitable
🧩 YANG (TRÈS IMPORTANT)
👉 YANG = langage de modélisation
✔️ définit :
- configuration
- état (operational data)
✔️ caractéristiques :
- structure en arbre 🌳
- validation
- modularité
- extensible
⚠️ YANG ne stocke pas les données → il les décrit
👉 = schema / blueprint
🔗 Mapping à connaître PAR CŒUR
- YANG → modèle (structure)
- JSON / XML → format (serialization)
- NETCONF / RESTCONF → transport
🌍 Types de modèles
1. Industry Standard
- IETF
- OpenConfig
✔️ multi-vendor
✔️ standardisé
2. Vendor-specific
- Cisco IOS XE (YANG natif)
✔️ très complet
❌ non portable
⚔️ Comparaison EXAM (ULTRA IMPORTANT)
🔹 Native (Cisco)
- ✔️ 100% CLI
- ✔️ features avancées (CDP, MOP, etc.)
- ❌ pas d’operational data
👉 précision maximale (vendor lock)
🔹 IETF
- ✔️ standard
- ✔️ simple
- ❌ pas de features avancées
👉 minimum commun
🔹 OpenConfig
- ✔️ multi-vendor
- ✔️ operational data (state, counters)
⚠️ IP dans subinterfaces (piège examen)
🧠 Points clés examen
- OpenConfig = state + counters
- IETF = pas de vendor features
- Native = mapping exact CLI
- EIGRP → vendor-specific obligatoire
🧱 Architecture model-driven
- YANG → modèle
- JSON/XML → données
- NETCONF/RESTCONF → API
- Transport → SSH / HTTPS
🔁 Types de modèles
- Configuration models → config (remplace CLI)
- Operational models → état (équivalent show)
⚠️ Piège important
👉 Une erreur CLI =
violation du data model (pas juste syntaxe)
🧠 Résumé final
👉 Les data models permettent d’automatiser un réseau multi-vendor
👉 YANG définit la structure
👉 JSON/XML transportent les données
👉 NETCONF/RESTCONF appliquent la config
👉 Le réseau devient :
model-driven (déclaratif) et non plus ligne par ligne
