Tiếp nối series tìm hiểu về các ngôn ngữ mô hình hóa và cấu trúc dữ liệu. Hôm nay chúng ta sẽ tìm hiểu về YANG.

YANG là gì?
Đặc điểm của YANG.
Các thành phần của YANG.

YANG cấu trúc dữ liệu theo cấu trúc cây, gồm 5 thành phần cơ bản: container, list, key, leaf và data type.
Ví dụ về YANG đơn giản trong networking.
Xét ví dụ sau:
Phân tích:
Ví dụ trên mô tả thông tin về một interface của một router và được trình bày theo quy chuẩn của mô hình hóa dữ liệu YANG theo cú pháp của XML. Cụ thể, nó trình bày về thông tin như name, discription, type, enabled, ipv4, ipv6 và đó cũng là các tagname chính. Theo mô hình dữ liệu YANG, ta thấy:
Và đó là những khái niệm cơ bản về YANG. Ở bài viết tiếp theo chúng ta sẽ bắt đầu đi vào tìm hiểu về Ansible và thực hành một số bài LAB cơ bản về Ansible. Mong các bạn chú ý theo dõi ở các bài viết sau.
Thank you.

YANG là gì?
- YANG là một ngôn ngữ mô hình hóa dữ liệu, được sử dụng để mô hình hóa cấu hình và hình thái dữ liệu, được điều khiển bởi giao thức cấu hình mạng (Network Configuration Protocol – NETCONF).
Đặc điểm của YANG.
- YANG định hình dữ liệu theo cấu trúc cây và có phân cấp.
- Cú pháp trong YANG dễ đọc hiểu.
- Mỗi Module con có thể tự bản thân chứa cấu trúc YANG cho dữ liệu mà nó quản lí.
Các thành phần của YANG.

YANG cấu trúc dữ liệu theo cấu trúc cây, gồm 5 thành phần cơ bản: container, list, key, leaf và data type.
- Container: đây là một nhóm các thông tin dữ liệu được xếp theo một trình tự logic nhất định, ví dụ như một chuỗi các thông tin về việc cấu hình thiết bị hoặc thông tin về tình trạng của một thiết bị tại một thời điểm cần quan tâm.
- List: trong một container, dữ liệu tiếp tục được phần chia thành một hoặc nhiều list, đó có thể là một danh sách gồm các interface của thiết bị.
- Key: mỗi mục nhỏ trong list được xem là một key.
- Leaf: trong các list chúng ta có các leaf, là nơi chứa thông tin dữ liệu.
- Data type: mỗi leaf sẽ được định hình gắn liền với một data type.
Ví dụ về YANG đơn giản trong networking.
Xét ví dụ sau:
HTML Code:
<interfaces xmlns=”urn:ietf:params:xml:ns:yang:ietf-interfaces”> <interfaces> <name>GigabitEnthernet2</name> <description>WAN Interface</description> <type> xmlns:ianaift=”url:ietf:params:xml:ns:yang:iana-if-type”>ianaift:ethernetCsmacd</type> <enabled>true</enabled> <ipv4> xmlns=urn:ietf:params:xml:ns:yang:ietf-ip”> <address> <ip>172.16.12.1</ip> <netmask>255.255.255.0</netmask> </address> </ipv4> <ipv6 xmlns=”urn:ietf:params:xml:ns:yang:ietf-ip”/> </interface> </interfaces>
Ví dụ trên mô tả thông tin về một interface của một router và được trình bày theo quy chuẩn của mô hình hóa dữ liệu YANG theo cú pháp của XML. Cụ thể, nó trình bày về thông tin như name, discription, type, enabled, ipv4, ipv6 và đó cũng là các tagname chính. Theo mô hình dữ liệu YANG, ta thấy:
- Container: <<interfaces xmlns=”urn:ietf:params:xml:ns:yang:ietf-interfaces”>…</interfaces>. Để bổ sung cho element trong tagname interface, đoạn mã có bổ sung thêm thuộc tính (attribute) xmlns=”urn:ietf:params:xml:ns:yang:ietf-interfaces”> để xác định mô hình YANG.
- List: <interface>…</interface>
- Thuộc tính của leaf:
- <name>…</name>
- <type>…</type>
- <anabled>…</enabled>
Và đó là những khái niệm cơ bản về YANG. Ở bài viết tiếp theo chúng ta sẽ bắt đầu đi vào tìm hiểu về Ansible và thực hành một số bài LAB cơ bản về Ansible. Mong các bạn chú ý theo dõi ở các bài viết sau.
Thank you.
Nguồn : VNPRO