🔍 Hiểu về YANG Data Model trong tự động hóa mạng
Trong ảnh là một kiến trúc rất phổ biến khi làm scripting hoặc automation cho thiết bị mạng, đặc biệt là với các thiết bị chạy Cisco IOS XE – một nền tảng có khả năng lập trình mạnh mẽ.
🎯 Vậy YANG model là gì?
YANG (Yet Another Next Generation) là một ngôn ngữ định nghĩa dữ liệu (data modeling language), được sử dụng để mô tả cấu hình và trạng thái của thiết bị mạng theo một cấu trúc rõ ràng, nhất quán. YANG là phần cốt lõi cho các giao thức như NETCONF, RESTCONF, và gần đây là gNMI, gRPC – cho phép bạn quản lý cấu hình thiết bị bằng API.
💡 Ví dụ dễ hiểu:
Giả sử bạn muốn cấu hình một interface trên router:
🧱 Kiến trúc YANG trong ảnh:
✅ Lợi ích của YANG Model:
🚀 Ứng dụng thực tế:
👉 Nếu bạn đang làm về DevNet, NetDevOps, hoặc đơn giản là đang quản lý nhiều thiết bị mạng, thì YANG là thứ bạn buộc phải hiểu và dùng thành thạo!
Trong ảnh là một kiến trúc rất phổ biến khi làm scripting hoặc automation cho thiết bị mạng, đặc biệt là với các thiết bị chạy Cisco IOS XE – một nền tảng có khả năng lập trình mạnh mẽ.
🎯 Vậy YANG model là gì?
YANG (Yet Another Next Generation) là một ngôn ngữ định nghĩa dữ liệu (data modeling language), được sử dụng để mô tả cấu hình và trạng thái của thiết bị mạng theo một cấu trúc rõ ràng, nhất quán. YANG là phần cốt lõi cho các giao thức như NETCONF, RESTCONF, và gần đây là gNMI, gRPC – cho phép bạn quản lý cấu hình thiết bị bằng API.
💡 Ví dụ dễ hiểu:
Giả sử bạn muốn cấu hình một interface trên router:
- Nếu bạn dùng CLI: interface GigabitEthernet0/1
- Nếu bạn dùng API qua YANG model: bạn sẽ định nghĩa thông tin này bằng một cấu trúc XML hoặc JSON, theo một mô hình đã chuẩn hóa.
🧱 Kiến trúc YANG trong ảnh:
- Giao diện phía trên:
Các giao thức API như:- NETCONF
- RESTCONF
- gNMI
- gRPC
Cho phép các hệ thống tự động hóa giao tiếp với thiết bị thông qua các lệnh cấu hình/truy vấn.
- Lớp YANG Models:
- Bao gồm các mô hình mở (Open) hoặc mô hình riêng (Native).
- Dùng để mô tả: Cấu hình (Configuration) và Hoạt động (Operational state).
- Lớp tính năng thiết bị (Device Features):
- Từ các tính năng như Interface, BGP, QoS, ACL, SNMP...
- Mỗi tính năng sẽ được ánh xạ thành các mô hình YANG tương ứng để cấu hình qua API.
✅ Lợi ích của YANG Model:
- Chuẩn hóa: Dễ dùng với automation tools như Ansible, pyATS, Terraform.
- Tương thích đa nền tảng: Không chỉ Cisco mà cả Juniper, Nokia, Huawei...
- Hỗ trợ cả cấu hình lẫn giám sát trạng thái (Telemetry).
- Đồng bộ hoá trạng thái mạng theo thời gian thực.
🚀 Ứng dụng thực tế:
- DevNet dùng YANG để tự động tạo các cấu hình template cho IOS XE.
- Trong mạng của doanh nghiệp, bạn có thể dùng Python + NETCONF để bật/tắt interface hàng loạt chỉ bằng một script.
- Tích hợp với các hệ thống như NSO (Network Services Orchestrator) hoặc Cisco DNAC để quản trị mạng cấp cao.
👉 Nếu bạn đang làm về DevNet, NetDevOps, hoặc đơn giản là đang quản lý nhiều thiết bị mạng, thì YANG là thứ bạn buộc phải hiểu và dùng thành thạo!