

Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry
Network Programmability เปลี่ยน network management จาก CLI-based เป็น API-driven YANG Models กำหนด data structure ของ network devices, NETCONF ใช้ XML/SSH สำหรับ configuration, RESTCONF ใช้ HTTP/JSON สำหรับ RESTful access, gNMI ใช้ gRPC สำหรับ streaming telemetry, gRPC เป็น high-performance RPC framework และ Model-Driven Telemetry push real-time data จาก devices
CLI (Command Line Interface) ถูกออกแบบ สำหรับคน ไม่ใช่สำหรับ automation: output เป็น unstructured text → ต้อง screen-scrape + regex → fragile, breaks เมื่อ vendor เปลี่ยน format YANG + NETCONF/RESTCONF/gNMI แก้ปัญหานี้: structured data (XML/JSON), well-defined models, transactional operations (commit/rollback), vendor-neutral standards ทุก major vendor รองรับ (Cisco, Juniper, Arista, Nokia) → future ของ network management
YANG Models
| Feature | รายละเอียด |
|---|---|
| คืออะไร | Data modeling language (RFC 7950) — define structure of network device data (config + state) |
| Modules | Each module defines a feature area: ietf-interfaces, openconfig-bgp, cisco-ios-xe-native |
| Standard Models | IETF (ietf-*): vendor-neutral standards | OpenConfig: operator-driven multi-vendor models |
| Native Models | Vendor-specific: cisco-ios-xe-*, junos-*, arista-* — full device feature coverage |
| Containers | Grouping nodes: container interfaces { list interface { leaf name; leaf enabled; } } |
| Leaf | Single data element: leaf name { type string; } — the actual config/state values |
| List | Collection of entries: list interface { key name; } — multiple instances (eth0, eth1) |
| Tools | pyang (validate/view YANG), YANG Explorer, YANG Suite (Cisco) |
NETCONF
| Feature | รายละเอียด |
|---|---|
| Protocol | RFC 6241 — SSH transport (port 830), XML encoding, RPC-based operations |
| Operations | get (state), get-config (config), edit-config (modify), copy-config, delete-config, lock/unlock |
| Datastores | running (active config), candidate (staging), startup (boot config) |
| Candidate Config | Edit candidate → validate → commit to running → rollback if error — transactional! |
| Subtree Filtering | XPath or subtree filter → request only specific data (not entire config) |
| Python Library | ncclient: connect → get_config → edit_config → commit → close_session |
| Advantage | Transactional (commit/rollback), structured data (XML), well-defined operations |
RESTCONF
| Feature | รายละเอียด |
|---|---|
| Protocol | RFC 8040 — HTTP/HTTPS transport, JSON or XML encoding, RESTful API |
| Methods | GET (read), POST (create), PUT (replace), PATCH (update), DELETE (remove) |
| URL Structure | https://device/restconf/data/ietf-interfaces:interfaces/interface=GigabitEthernet1 |
| JSON Support | Accept: application/yang-data+json — JSON response (easier than XML for developers) |
| vs NETCONF | RESTCONF = simpler (HTTP/JSON, stateless) | NETCONF = more powerful (candidate config, lock, transactions) |
| Use Case | Quick read/write operations, integration with web apps, Postman-friendly testing |
| Python | Standard requests library: requests.get/put/patch with headers and auth |
gNMI / gRPC
| Feature | รายละเอียด |
|---|---|
| gRPC | Google’s high-performance RPC framework — HTTP/2, Protocol Buffers, bidirectional streaming |
| gNMI | gRPC Network Management Interface — YANG-based, designed for telemetry and config |
| Operations | Get (read config/state), Set (update/replace/delete config), Subscribe (streaming telemetry) |
| Subscribe | STREAM: continuous updates | ONCE: one-time snapshot | POLL: on-demand |
| Performance | Much faster than NETCONF/RESTCONF — binary encoding (protobuf), HTTP/2 multiplexing |
| Telemetry | Primary protocol for model-driven telemetry — push data at high frequency (100ms+) |
| Adoption | Arista, Nokia, Juniper (native) | Cisco (growing support) — becoming the standard |
Model-Driven Telemetry
| Feature | Traditional (SNMP Poll) | Model-Driven Telemetry |
|---|---|---|
| Direction | Pull: NMS polls device every 5 min | Push: device streams data to collector continuously |
| Frequency | Minutes (5-15 min typical) | Sub-second possible (100ms-10s) |
| Data Format | OIDs (cryptic numbers) | YANG models (human-readable paths) |
| Encoding | BER (binary, complex) | JSON, protobuf, KVGPB |
| Transport | UDP (unreliable) | gRPC (reliable, HTTP/2), TCP |
| Scale | Polling overhead increases with devices | Device does the work — collector just receives |
| Collectors | SNMP NMS (LibreNMS, PRTG) | Telegraf → InfluxDB → Grafana, Pipeline (Cisco), gNMIc |
Protocol Comparison
| Feature | NETCONF | RESTCONF | gNMI |
|---|---|---|---|
| Transport | SSH (port 830) | HTTPS (port 443) | gRPC/HTTP2 (port 50051+) |
| Encoding | XML | JSON or XML | Protobuf (binary) |
| Connection | Stateful (persistent SSH) | Stateless (HTTP) | Stateful (gRPC stream) |
| Transactions | Yes (candidate, commit, rollback) | Limited (no candidate) | Set (atomic replace/update) |
| Telemetry | Not designed for it | Not designed for it | Native subscribe (streaming) |
| Performance | Moderate | Moderate | Highest (binary, HTTP/2) |
| Best For | Config management, transactions | Quick reads, web integration | Telemetry, high-frequency data, config |
ทิ้งท้าย: Programmability = Future of Network Management
Network Programmability YANG: data modeling language — standard (IETF, OpenConfig) + vendor-native models define all config/state NETCONF: SSH/XML, transactional (candidate config + commit/rollback), ncclient Python library RESTCONF: HTTP/JSON, RESTful (GET/POST/PUT/PATCH/DELETE), simple, Postman-friendly gNMI: gRPC/protobuf, fastest, streaming telemetry (subscribe), becoming the standard Model-Driven Telemetry: push (not poll), sub-second, YANG-based, Telegraf+InfluxDB+Grafana stack Comparison: NETCONF = transactions, RESTCONF = simplicity, gNMI = performance + telemetry Key: CLI → API transition is happening — YANG + NETCONF/RESTCONF/gNMI = vendor-neutral, structured, automatable
อ่านเพิ่มเติมเกี่ยวกับ Network Automation Ansible Python Netmiko NAPALM และ Network Monitoring SNMP NetFlow Prometheus Grafana ที่ siamlancard.com หรือจาก icafeforex.com และ siam2r.com
อ่านเพิ่มเติม: กราฟทอง TradingView | Panel SMC MT5
อ่านเพิ่มเติม: TradingView ใช้ฟรี | กลยุทธ์เทรดทอง
อ่านเพิ่มเติม: TradingView ใช้ฟรี | EA Semi-Auto ฟรี
อ่านเพิ่มเติม: เทรดทองคำ XAU/USD | XM Signal EA
อ่านเพิ่มเติม: ปฏิทินข่าว Forex | Panel SMC MT5
อ่านเพิ่มเติม: EA Forex ฟรี | Panel SMC MT5
อ่านเพิ่มเติม: กราฟทอง TradingView | XM Signal EA
อ่านเพิ่มเติม: ปฏิทินข่าว Forex | Smart Money Concept
อ่านเพิ่มเติม: โค้ด EA Forex ฟรี | ดาวน์โหลด EA ฟรี
อ่านเพิ่มเติม: โค้ด EA Forex ฟรี | EA Semi-Auto ฟรี
อ่านเพิ่มเติม: วิเคราะห์ทองคำ | Smart Money Concept
FAQ
Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry คืออะไร?
Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry เป็นหัวข้อสำคัญในวงการเทคโนโลยีที่ช่วยให้การทำงานมีประสิทธิภาพมากขึ้น ไม่ว่าจะเป็นด้าน IT, Network หรือ Server Management
ทำไมต้องเรียนรู้เรื่อง Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry?
เพราะ Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry เป็นทักษะที่ตลาดต้องการสูง และช่วยให้คุณแก้ปัญหาในงานจริงได้อย่างมืออาชีพ การเรียนรู้ตั้งแต่วันนี้จะเป็นประโยชน์ในระยะยาว
Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry เหมาะกับผู้เริ่มต้นไหม?
ได้แน่นอนครับ บทความนี้เขียนให้เข้าใจง่าย เหมาะทั้งผู้เริ่มต้นและผู้มีประสบการณ์ มี step-by-step guide พร้อมตัวอย่างให้ทำตามได้ทันที
Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry — ทำไมถึงสำคัญ?
Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry เป็นหัวข้อสำคัญในวงการ IT ที่ System Admin, Network Engineer และ DevOps Engineer ควรเข้าใจเป็นอย่างดี การรู้เรื่องนี้จะช่วยให้ทำงานได้มีประสิทธิภาพมากขึ้น แก้ปัญหาได้เร็วขึ้น และเป็นทักษะที่ตลาดแรงงานต้องการสูง
เริ่มต้นเรียนรู้ Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry
แนะนำ path การเรียนรู้:
- อ่านเอกสาร official — เริ่มจาก documentation ของเครื่องมือ/เทคโนโลยีนั้นๆ
- ทำ lab จริง — ตั้ง VM หรือ Docker container แล้วลองทำตาม tutorial
- ทำ project จริง — ใช้กับงานจริงหรือ side project เรียนรู้จากปัญหาที่เจอ
- อ่าน best practices — ศึกษาว่าคนอื่นใช้งานจริงยังไง มี pitfall อะไร
- เข้า community — Reddit, Stack Overflow, Thai IT groups เรียนรู้จากคนอื่น
เครื่องมือที่แนะนำสำหรับ Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry
| เครื่องมือ | ใช้สำหรับ | ราคา |
|---|---|---|
| VS Code | Code editor หลัก | ฟรี |
| Docker | Container + Lab environment | ฟรี |
| Git/GitHub | Version control | ฟรี |
| VirtualBox/Proxmox | Virtualization สำหรับ lab | ฟรี |
FAQ — Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry
Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry คืออะไร?
Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry เป็นเทคโนโลยี/ความรู้ด้าน IT ที่ช่วยให้การทำงานมีประสิทธิภาพมากขึ้น อ่านรายละเอียดทั้งหมดในบทความนี้
Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry เหมาะกับผู้เริ่มต้นไหม?
เหมาะครับ บทความนี้อธิบายตั้งแต่พื้นฐาน มี step-by-step guide พร้อมตัวอย่างให้ทำตาม
เรียนรู้ Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry ใช้เวลานานไหม?
พื้นฐานใช้เวลา 1-2 สัปดาห์ ขั้นกลาง 1-3 เดือน ขั้นสูงต้องใช้ประสบการณ์จริง 6 เดือน+
อ่านเพิ่มเติม: SiamLanCard.com | iCafeForex.com | Siam2R.com
Best Practices สำหรับ Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry
Network Programmability: YANG Models, NETCONF, RESTCONF, gNMI, gRPC และ Model-Driven Telemetry มี best practices ที่ผู้เชี่ยวชาญแนะนำ:
- Documentation — จด document ทุกอย่างที่ทำ เพื่อให้คนอื่น (หรือตัวเอง 6 เดือนหลัง) เข้าใจ
- Version Control — ใช้ Git สำหรับทุก config/code เก็บ history ย้อนกลับได้
- Automation — automate task ที่ทำซ้ำๆ ด้วย script/Ansible/Terraform
- Monitoring — ตั้ง monitoring + alerting ให้รู้ปัญหาก่อน user
- Backup — กฎ 3-2-1 เสมอ 3 copies, 2 media, 1 offsite
ทรัพยากรเรียนรู้เพิ่มเติม
- Official Documentation — แหล่งเรียนรู้ที่ดีที่สุด อ่าน docs ก่อนเสมอ
- YouTube Tutorials — ดู video walkthrough เข้าใจเร็วกว่าอ่าน
- GitHub Examples — ดู code ของคนอื่น เรียนรู้จาก real projects
- Lab Practice — ตั้ง VM/Docker ฝึกจริง ไม่มีอะไรดีกว่าลงมือทำ
อ่านเพิ่มเติม: iCafeForex | XM Signal EA ฟรี | SiamLanCard | Siam2R