مدیریت تعداد زیادی سوئیچ سیسکو و روتر Cisco از طریق دستورات CLI، بهخصوص هنگام بررسی وضعیت تجهیزات و اعمال تنظیمات تکراری، فرایندی زمانبر و مستعد خطاست. RESTCONF با فراهمکردن امکان دسترسی برنامهنویسیشده به اطلاعات و تنظیمات تجهیزات شبکه، راهکاری استاندارد برای سادهسازی و خودکارسازی این فرایندها ارائه میدهد. این پروتکل با بهرهگیری از HTTP/HTTPS، مدلهای داده YANG و قالبهایی مانند JSON، ارتباط میان نرمافزارهای مدیریتی و تجهیزات سازگار با Cisco IOS XE را امکانپذیر میکند. در ادامه، با مفهوم RESTCONF چیست، نحوه عملکرد، مراحل فعالسازی و مدیریت تجهیزات Cisco از طریق REST API آشنا میشویم.
RESTCONF چیست و چه کاربردی در شبکههای Cisco دارد؟
RESTCONF یک پروتکل استاندارد مبتنی بر HTTP است که امکان دسترسی برنامهنویسیشده به اطلاعات و تنظیمات تجهیزات شبکه را فراهم میکند. این پروتکل با استفاده از مدلهای داده YANG، به ابزارهای مدیریتی اجازه میدهد اطلاعات پیکربندی (Configuration Data)، وضعیت عملیاتی (Operational Data) و عملیات پشتیبانیشده دستگاه را از طریق API دریافت یا مدیریت کنند.

RESTCONF بر اساس استاندارد RFC 8040 تعریف شده و یکی از راهکارهای مدیریت مبتنی بر مدل (Model-Driven Programmability) محسوب میشود. در تجهیزات سازگار با Cisco IOS XE، این پروتکل امکان ارتباط میان نرمافزارهای مدیریتی و دستگاههای شبکه را از طریق درخواستهای HTTP فراهم میسازد.
به کمک RESTCONF میتوان بدون اجرای مستقیم دستورات CLI، اطلاعات مشخصی از دستگاه دریافت کرد یا تغییراتی را در تنظیمات پشتیبانیشده اعمال کرد. این قابلیت بهویژه در شبکههایی با تعداد زیاد تجهیزات، امکان توسعه فرایندهای مدیریتی خودکار و قابل تکرار را فراهم میکند.
چرا استفاده از RESTCONF در مدیریت تجهیزات شبکه اهمیت دارد؟
در روش سنتی مدیریت شبکه، مدیران برای بررسی وضعیت یا تغییر تنظیمات تجهیزات Cisco معمولاً از طریق CLI به هر دستگاه متصل میشوند. اگرچه این روش کنترل دقیقی روی تجهیزات فراهم میکند، اما اجرای دستی دستورات روی تعداد زیادی سوئیچ و روتر میتواند زمانبر باشد و احتمال خطای انسانی را افزایش دهد.
RESTCONF با ارائه دادههای ساختاریافته و امکان اجرای درخواستهای خودکار، مدیریت تجهیزات را سادهتر میکند. برخی از کاربردهای مهم آن عبارتاند از:
- دریافت وضعیت Interfaceها: جمعآوری اطلاعات پورتها و وضعیت عملیاتی آنها از طریق درخواستهای API، بدون نیاز به اجرای جداگانه دستورات روی هر دستگاه.
- بررسی تنظیمات تجهیزات: استخراج اطلاعات پیکربندی سوئیچها و روترها در قالب دادههای ساختاریافته برای بررسی، مقایسه یا مستندسازی تنظیمات شبکه.
- اجرای تغییرات تکراری: استفاده از اسکریپتهای مدیریتی برای اعمال تغییرات مشخص روی چندین دستگاه سازگار، با امکان بررسی نتیجه هر درخواست.
مزیت مهم RESTCONF تنها کاهش تعداد دستورات دستی نیست؛ بلکه فراهمکردن روشی استاندارد برای ارتباط نرمافزارها با تجهیزات شبکه است. به این ترتیب، میتوان اطلاعات دستگاهها را در سامانههای مدیریتی پردازش کرد و فرایندهای تکراری را با کنترل و دقت بیشتری انجام داد.
RESTCONF چه تفاوتی با REST API معمولی دارد؟
REST API یک مفهوم عمومی برای طراحی رابطهای برنامهنویسی مبتنی بر اصول REST است؛ اما RESTCONF پروتکلی استاندارد و تخصصی برای مدیریت تجهیزات شبکه محسوب میشود. تفاوت اصلی آنها در این است که RESTCONF از مدلهای داده YANG و قواعد مشخصی برای شناسایی، خواندن و تغییر منابع شبکه استفاده میکند.
در یک REST API عمومی، ساختار منابع و قالب دادهها معمولاً بر اساس طراحی همان سرویس تعیین میشود. در مقابل، RESTCONF از مدلهای YANG برای تعریف ساختار، نوع و محدودیت دادهها بهره میگیرد. همچنین متدهای استاندارد HTTP مانند GET، POST، PUT، PATCH و DELETE را برای تعامل با منابع پشتیبانیشده به کار میبرد.
بنابراین، RESTCONF را نباید مترادف تمام REST APIها دانست؛ بلکه باید آن را یک پروتکل استاندارد مبتنی بر HTTP برای مدیریت مدلمحور تجهیزات شبکه در نظر گرفت.
معماری RESTCONF چگونه کار میکند؟
معماری RESTCONF بر پایه ارتباط میان ابزارهای مدیریتی و تجهیزات شبکه از طریق HTTP/HTTPS طراحی شده است. در این معماری، ابزارهایی مانند Postman، cURL یا اسکریپتهای Python در نقش Client قرار میگیرند و درخواستهای خود را به سرویس RESTCONF دستگاه ارسال میکنند.

پس از دریافت درخواست، سرویس RESTCONF با استفاده از مدلهای داده YANG، منبع موردنظر را شناسایی کرده و متناسب با نوع درخواست و مجوزهای کاربر، اطلاعات پیکربندی یا وضعیت عملیاتی دستگاه را بازیابی میکند یا تغییر میدهد. نتیجه نیز در قالب یک پاسخ HTTP به Client بازگردانده میشود.
جریان ارتباط در معماری RESTCONF:
Client (Postman / Python / cURL) ←→ HTTPS ←→ RESTCONF (Cisco IOS XE) ←→ YANG Data Models ←→ Configuration / Operational Data
نقش YANG Data Model در RESTCONF چیست؟
YANG یک زبان مدلسازی داده است که ساختار، نوع و محدودیتهای اطلاعات قابل مدیریت در تجهیزات شبکه را تعریف میکند. برخلاف HTTP که وظیفه انتقال درخواست و پاسخ را بر عهده دارد، YANG مشخص میکند دادهها چگونه سازماندهی شوند و چه مقادیری برای آنها معتبر است.
در تجهیزات Cisco IOS XE، مدلهای مختلفی برای دسترسی به اطلاعات شبکه وجود دارد که از مهمترین آنها میتوان به موارد زیر اشاره کرد:
- ietf-interfaces: مدل استاندارد برای نمایش و مدیریت اطلاعات Interfaceهای شبکه.
- Cisco-IOS-XE-native: مدل اختصاصی Cisco برای دسترسی به بخشهایی از پیکربندی بومی IOS XE.
- OpenConfig: مجموعهای از مدلهای مستقل از تولیدکننده برای مدیریت ساختاریافته تجهیزات شبکه.
پشتیبانی از این مدلها و قابلیتهای هرکدام به مدل دستگاه و نسخه Cisco IOS XE بستگی دارد.
ارتباط HTTP ،HTTPS ،JSON و XML با RESTCONF
در معماری RESTCONF، هرکدام از این فناوریها وظیفه مشخصی دارند. HTTP سازوکار ارسال درخواست و دریافت پاسخ را فراهم میکند و HTTPS با استفاده از TLS، ارتباط میان Client و دستگاه را رمزنگاری و ایمن میسازد.
در مقابل، JSON و XML قالبهای نمایش داده هستند که RESTCONF میتواند برای تبادل اطلاعات از آنها استفاده کند. ساختار این دادهها نیز بر اساس مدلهای YANG تعیین میشود.
بنابراین، RESTCONF صرفاً یک API مبتنی بر JSON نیست؛ بلکه پروتکلی استاندارد است که با ترکیب ارتباط امن، مدلسازی داده و قالبهای ساختاریافته، مدیریت برنامهنویسیشده تجهیزات شبکه را امکانپذیر میکند.
پیشنیازهای استفاده از RESTCONF در Cisco IOS XE چیست؟
پیش از فعالسازی RESTCONF در تجهیزات Cisco، باید از سازگاری دستگاه، دسترسی مدیریتی و فراهمبودن زیرساخت ارتباطی مطمئن شوید. استفاده از این پروتکل به نسخه سیستمعامل، پشتیبانی از مدلهای YANG و تنظیمات امنیتی دستگاه بستگی دارد. همچنین برای ارسال درخواستهای REST API، به آدرس IP مدیریتی، حساب کاربری دارای مجوز و ابزار مناسب نیاز خواهید داشت.

بررسی نسخه IOS XE و سازگاری تجهیزات Cisco
تمام سوئیچها و روترهای Cisco از RESTCONF پشتیبانی نمیکنند. این قابلیت در تجهیزات سازگار با Cisco IOS XE، از جمله مدلهای پشتیبانیشده خانواده Catalyst 9000، قابل استفاده است؛ اما امکانات آن ممکن است در نسخههای مختلف سیستمعامل متفاوت باشد.
برای مشاهده نسخه سیستمعامل دستگاه میتوان از دستور زیر در محیط CLI استفاده کرد:
show version
پس از شناسایی مدل دستگاه و نسخه IOS XE، باید پشتیبانی از RESTCONF و مدلهای YANG موردنیاز را در مستندات رسمی همان Release بررسی کنید. برای تمرین نیز میتوان از محیطهای آزمایشگاهی Cisco DevNet Sandbox استفاده کرد.
ابزارهای لازم برای اجرای درخواست REST API
برای برقراری ارتباط با سرویس RESTCONF، ابتدا باید دسترسی IP به دستگاه و امکان اتصال امن از طریق HTTPS فراهم باشد. همچنین استفاده از یک حساب کاربری با مجوز مناسب برای احراز هویت و اجرای عملیات ضروری است.
ابزارهای اصلی برای کار با RESTCONF عبارتاند از:
- Postman: ساخت، ارسال و بررسی درخواستهای HTTP و مشاهده پاسخهای API در یک محیط گرافیکی.
- cURL: اجرای سریع درخواستهای RESTCONF از طریق خط فرمان و بررسی پاسخ سرور.
- Python Requests: توسعه اسکریپتهای مدیریتی برای دریافت اطلاعات و خودکارسازی عملیات روی تجهیزات شبکه.
برای شروع آموزش عملی، Postman گزینه مناسبی است؛ زیرا امکان مشاهده اجزای درخواست و پاسخ را فراهم میکند. در مراحل پیشرفتهتر نیز میتوان از Python برای مدیریت خودکار چندین دستگاه استفاده کرد.
آموزش فعالسازی RESTCONF در Cisco IOS XE
برای استفاده از RESTCONF در تجهیزات Cisco IOS XE، ابتدا باید دسترسی مدیریتی و احراز هویت دستگاه را آماده کرده و سپس سرویس HTTPS و قابلیت RESTCONF را فعال کنید. این فرایند از طریق دستورات CLI انجام میشود و پس از پیکربندی، میتوان با ارسال یک درخواست HTTP GET از صحت عملکرد سرویس اطمینان حاصل کرد.

مرحله اول؛ آمادهسازی دسترسی مدیریتی و AAA
پیش از فعالسازی RESTCONF، دستگاه باید دارای حساب کاربری معتبر با مجوزهای لازم باشد. سرویس RESTCONF برای احراز هویت (Authentication) و کنترل سطح دسترسی (Authorization) از سازوکارهای امنیتی پشتیبانیشده در Cisco IOS XE استفاده میکند.
در محیط آزمایشگاهی (Lab)، میتوان از یک حساب کاربری محلی با سطح دسترسی مناسب استفاده کرد. بااینحال، در شبکههای عملیاتی (Production)، تنظیمات باید مطابق سیاستهای AAA سازمان و با استفاده از روشهای احراز هویت مجاز انجام شوند.
همچنین باید از دسترسی IP به دستگاه و مجازبودن ارتباط مدیریتی اطمینان حاصل کنید. برای جلوگیری از افشای اطلاعات حساس، رمزهای عبور واقعی نباید در مستندات یا نمونهکدها نمایش داده شوند.
مرحله دوم؛ فعالسازی HTTPS و RESTCONF
پس از آمادهسازی دسترسی مدیریتی، با اتصال به CLI دستگاه، دستورات زیر را اجرا کنید:
enableconfigure terminalip http secure-serverrestconfendکاربرد هر دستور به شرح زیر است:
- enable: ورود به حالت Privileged EXEC برای اجرای دستورات مدیریتی.
- configure terminal: ورود به محیط Global Configuration برای تغییر تنظیمات دستگاه.
- ip http secure-server: فعالسازی سرویس HTTPS برای برقراری ارتباط امن با دستگاه.
- restconf: فعالسازی سرویس RESTCONF و امکان دسترسی به APIهای پشتیبانیشده.
- end: خروج از محیط پیکربندی و بازگشت به حالت Privileged EXEC.
اجرای این دستورات بهتنهایی تضمینکننده دسترسی موفق نیست و باید پیشنیازهای احراز هویت، مجوزدهی و سازگاری پلتفرم نیز برقرار باشند.
چرا برای RESTCONF باید HTTPS فعال باشد؟
RESTCONF در Cisco IOS XE از HTTPS برای برقراری ارتباط امن میان Client و دستگاه استفاده میکند. این ارتباط با استفاده از پروتکل TLS رمزنگاری میشود تا اطلاعات احراز هویت و دادههای مدیریتی هنگام انتقال محافظت شوند.
پورت پیشفرض HTTPS معمولاً 443 است؛ مگر اینکه تنظیمات دستگاه تغییر کرده باشد.
مرحله سوم؛ بررسی وضعیت سرویس RESTCONF
پس از فعالسازی، برای بررسی وضعیت فرایندهای مرتبط با مدیریت مبتنی بر YANG، دستور زیر را اجرا کنید:
show platform software yang-management process
این دستور در نسخهها و پلتفرمهای پشتیبانیشده، وضعیت فرایندهای مدیریتی دستگاه را نمایش میدهد. یکی از فرایندهای مهم، nginx است که در پردازش ارتباطات HTTPS نقش دارد.
بااینحال، فعالبودن nginx بهتنهایی به معنای عملکرد صحیح RESTCONF نیست و باید ارتباط API نیز آزمایش شود.
چگونه مطمئن شویم RESTCONF بهدرستی فعال شده است؟
برای بررسی نهایی، یک درخواست GET از طریق Postman یا cURL به آدرس زیر ارسال کنید:
GET https://192.0.2.10/restconf/Accept: application/yang-data+jsonآدرس IP نمایشدادهشده صرفاً نمونه است و باید با IP مدیریتی دستگاه جایگزین شود. درخواست نیز باید با اطلاعات احراز هویت معتبر ارسال شود.
در صورت موفقیت درخواست، معمولاً پاسخ 200 OK همراه با اطلاعات منبع RESTCONF دریافت میشود. خطای 401 Unauthorized میتواند نشاندهنده مشکل احراز هویت باشد و خطای 403 Forbidden معمولاً به محدودیت مجوز دسترسی اشاره دارد.
در مقابل، Timeout یا خطاهای اتصال ممکن است به مشکلات شبکه، پورت HTTPS، گواهی TLS یا وضعیت سرویس مربوط باشند. بنابراین، بررسی کد وضعیت HTTP و محتوای پاسخ برای تشخیص دقیق مشکل ضروری است.
ساختار RESTCONF API و نحوه ارسال درخواست چگونه است؟
برای برقراری ارتباط با تجهیزات Cisco از طریق RESTCONF، هر درخواست باید شامل آدرس منبع (Endpoint)، متد HTTP، اطلاعات احراز هویت و Headerهای موردنیاز باشد. در عملیاتهایی که هدف آنها تغییر تنظیمات دستگاه است، بدنه درخواست (Payload) نیز باید مطابق ساختار تعریفشده در مدل YANG ارسال شود.
برای مثال، آدرس زیر امکان دسترسی به منبع پیکربندی Native در دستگاه سازگار با Cisco IOS XE را فراهم میکند:
https://192.0.2.10/restconf/data/Cisco-IOS-XE-native:native
ساختار URL و Endpoint در RESTCONF
هر بخش از آدرس RESTCONF وظیفه مشخصی دارد:
https://192.0.2.10: پروتکل ارتباط امن و آدرس IP مدیریتی دستگاه.
- /restconf: مسیر اصلی دسترسی به سرویس RESTCONF.
- /data: مسیر دسترسی به منابع داده مدلسازیشده با YANG.
- Cisco-IOS-XE-native:native: نام ماژول YANG و منبع اصلی پیکربندی بومی Cisco IOS XE.
علاوه بر مسیر /data، مسیر /restconf/operations برای دسترسی به عملیات RPC پشتیبانیشده استفاده میشود. Endpointهای قابل استفاده به مدلهای YANG و قابلیتهای نسخه IOS XE دستگاه بستگی دارند.
نقش HTTP Headers در RESTCONF
Headerها اطلاعات ضروری درباره قالب دادههای ارسالی و دریافتی را مشخص میکنند. هنگام کار با RESTCONF و قالب JSON، دو Header زیر کاربرد زیادی دارند:
Accept: application/yang-data+jsonContent-Type: application/yang-data+jsonAccept مشخص میکند Client انتظار دارد پاسخ را در چه قالبی دریافت کند؛ درحالیکه Content-Type نوع داده موجود در بدنه درخواست را تعیین میکند.
در درخواستهای GET که بدنه ندارند، معمولاً نیازی به ارسال Content-Type نیست. اما هنگام استفاده از متدهایی مانند POST، PUT یا PATCH، باید این Header متناسب با قالب Payload تنظیم شود.
متدهای RESTCONF چیست و هرکدام چه کاربردی دارند؟
پروتکل RESTCONF از متدهای استاندارد HTTP برای خواندن، ایجاد، ویرایش و حذف منابع شبکه استفاده میکند. این متدها امکان اجرای عملیات CRUD را روی دادههای مدلسازیشده با YANG فراهم میکنند. انتخاب متد مناسب به نوع عملیات، ساختار منبع و قابلیتهای پشتیبانیشده دستگاه Cisco بستگی دارد.
متد GET برای دریافت اطلاعات دستگاه
متد GET برای خواندن اطلاعات پیکربندی و وضعیت عملیاتی تجهیزات شبکه استفاده میشود، بدون اینکه تغییری مستقیم در تنظیمات ایجاد کند. برای مثال، مدیر شبکه میتواند از طریق GET، اطلاعات Interfaceها، نام دستگاه (Hostname) یا سایر دادههای پشتیبانیشده در مدل YANG را دریافت کند.
متدهای POST و PUT برای ایجاد یا جایگزینی منابع
متد POST معمولاً برای ایجاد یک منبع جدید در مجموعهای از منابع یا فراخوانی عملیات پشتیبانیشده استفاده میشود. در مقابل، PUT امکان ایجاد یا جایگزینی یک منبع مشخص را فراهم میکند.
تفاوت مهم این دو متد در نحوه مدیریت منابع موجود است. استفاده از PUT ممکن است باعث جایگزینی اطلاعات قبلی منبع شود؛ بنابراین باید پیش از ارسال درخواست، ساختار داده و تأثیر تغییرات بررسی شود.
متدهای PATCH و DELETE برای اصلاح و حذف تنظیمات
متد PATCH برای اعمال تغییرات هدفمند روی منابع موجود کاربرد دارد. برای مثال، میتوان از آن برای تغییر Description یک Interface یا Hostname دستگاه استفاده کرد، مشروط بر اینکه مدل YANG و نسخه دستگاه از این عملیات پشتیبانی کنند.
متد DELETE نیز برای حذف منابع قابل حذف، مانند برخی Interfaceهای منطقی، استفاده میشود. اجرای این عملیات باید با بررسی وابستگیهای منبع انجام شود تا اختلالی در عملکرد شبکه ایجاد نکند.
جدول مقایسه متدهای HTTP در RESTCONF
| متد | عملکرد | مثال کاربردی |
|---|---|---|
| GET | دریافت اطلاعات | خواندن تنظیمات Interface |
| POST | ایجاد منبع یا فراخوانی عملیات | ایجاد یک ورودی جدید |
| PUT | ایجاد یا جایگزینی منبع | جایگزینی پیکربندی یک منبع |
| PATCH | اصلاح بخشی از دادهها | تغییر Hostname یا Description |
| DELETE | حذف منبع | حذف یک Interface منطقی |
| HEAD | دریافت Headerهای پاسخ | بررسی فراداده منبع |
| OPTIONS | بررسی قابلیتهای HTTP | شناسایی متدهای مجاز |
نکته: پشتیبانی از متدهای HTTP، از جمله HEAD و OPTIONS، ممکن است بسته به نوع منبع، مدل YANG و نسخه Cisco IOS XE متفاوت باشد. همچنین برخی عملیات تغییر پیکربندی به مجوزهای مدیریتی مشخص نیاز دارند.
آموزش عملی RESTCONF در Cisco IOS XE با Postman و Python
پس از فعالسازی RESTCONF در تجهیزات Cisco IOS XE، میتوان با ابزارهایی مانند Postman، cURL و Python اطلاعات دستگاه را دریافت کرد و تنظیمات پشتیبانیشده را تغییر داد. این ابزارها با استفاده از درخواستهای HTTP، امکان مدیریت تجهیزات شبکه را بدون نیاز به اجرای مداوم دستورات CLI فراهم میکنند. در ادامه، مراحل اتصال به دستگاه، دریافت اطلاعات، اعمال تغییرات و بررسی پاسخ RESTCONF را مرور میکنیم.

مرحله اول؛ اتصال به RESTCONF با Postman
Postman ابزاری گرافیکی برای ساخت، ارسال و بررسی درخواستهای REST API است. این نرمافزار امکان آزمایش ارتباط با تجهیزات Cisco را بدون نیاز به برنامهنویسی فراهم میکند.
برای اتصال به RESTCONF، مراحل زیر را انجام دهید:
- در Postman یک درخواست HTTP جدید ایجاد کرده و متد GET را انتخاب کنید.
- آدرس IP مدیریتی دستگاه و مسیر Endpoint موردنظر را وارد کنید.
- در بخش Authorization، روش Basic Auth را انتخاب کرده و اطلاعات حساب کاربری مجاز را ثبت کنید.
- در بخش Headers، قالب پاسخ را با مقدار application/yang-data+json برای Accept مشخص کنید.
- درخواست را ارسال کرده و کد وضعیت HTTP و محتوای Response Body را بررسی کنید.
در صورت موفقیت ارتباط، دستگاه اطلاعات درخواستشده را در قالب JSON بازمیگرداند. برای اتصال امن، گواهی TLS دستگاه نیز باید معتبر و مورد اعتماد باشد.
مرحله دوم؛ دریافت اطلاعات سوئیچ با درخواست GETFV,
متد GET برای خواندن اطلاعات پیکربندی و وضعیت عملیاتی تجهیزات Cisco استفاده میشود و تغییری مستقیم در تنظیمات ایجاد نمیکند.
برای مثال، میتوان با ارسال درخواست GET به منبع Hostname در مدل Cisco-IOS-XE-native، نام تنظیمشده برای سوئیچ را دریافت کرد. این اطلاعات در قالب پاسخ JSON نمایش داده میشوند.
ابزار cURL نیز همین عملیات را از طریق خط فرمان انجام میدهد و برای آزمایش سریع درخواستهای RESTCONF کاربرد دارد.
چگونه اطلاعات پورتهای Cisco را با RESTCONF بخوانیم؟
برای دریافت اطلاعات پورتها، باید Endpoint مربوط به Interface در مدل YANG دستگاه شناسایی شود. سپس میتوان اطلاعات پیکربندی یک پورت مشخص، مانند GigabitEthernet1/0/1، را درخواست کرد.
در ساختار URL، کاراکترهای خاص شناسه Interface باید بهدرستی کدگذاری شوند. همچنین دسترسی به اطلاعات هر پورت به مدل YANG و نسخه IOS XE دستگاه بستگی دارد.
مرحله سوم؛ تغییر تنظیمات با PATCH
متد PATCH برای اصلاح هدفمند تنظیمات تجهیزات شبکه کاربرد دارد. برای مثال، مدیر شبکه میتواند از آن برای تغییر Hostname یک سوئیچ آزمایشگاهی استفاده کند.
در Postman، ابتدا متد PATCH و Endpoint مربوط به Hostname انتخاب میشود. سپس مقدار جدید در بدنه درخواست و مطابق ساختار مدل YANG قرار میگیرد.
پس از ارسال درخواست، دستگاه اعتبار اطلاعات و مجوز کاربر را بررسی میکند. در صورت موفقیت عملیات، میتوان با ارسال مجدد درخواست GET از اعمال تغییر اطمینان حاصل کرد.
توجه داشته باشید که Plain PATCH و YANG Patch یکسان نیستند و پشتیبانی از آنها به قابلیتهای دستگاه بستگی دارد.
مرحله چهارم؛ مدیریت RESTCONF با Python
Python یکی از ابزارهای کاربردی برای خودکارسازی مدیریت تجهیزات Cisco است. کتابخانه Requests امکان ارسال درخواستهای HTTP، انجام احراز هویت و پردازش پاسخهای JSON را فراهم میکند.
در یک سناریوی مدیریتی، Python میتواند اطلاعات چندین سوئیچ را از طریق RESTCONF دریافت کرده و در گزارشی متمرکز ثبت کند. این فرایند علاوه بر کاهش فعالیتهای دستی، امکان بررسی و مقایسه تنظیمات تجهیزات را فراهم میسازد.
مزیت استفاده از Python بهجای اجرای دستی درخواستها
فرض کنید مدیریت ۲۰ سوئیچ Cisco بر عهده یک کارشناس شبکه است. بهجای اتصال جداگانه به هر دستگاه، میتوان با Python اطلاعات موردنیاز را بهصورت خودکار جمعآوری کرد.
در این روش باید اطلاعات ورود بهصورت امن نگهداری شوند، محدودیت زمانی درخواستها مشخص باشد و اعتبار گواهی TLS بررسی شود.
مرحله پنجم؛ بررسی پاسخ API و کدهای وضعیت HTTP
پس از ارسال درخواست RESTCONF، بررسی کد وضعیت HTTP برای تشخیص نتیجه عملیات ضروری است.
| کد وضعیت | مفهوم | کاربرد |
|---|---|---|
| 200 OK | درخواست موفق | دریافت اطلاعات دستگاه |
| 201 Created | ایجاد موفق منبع | ثبت منبع جدید |
| 204 No Content | عملیات موفق بدون بدنه پاسخ | تأیید تغییر یا حذف |
در Postman، کد وضعیت و محتوای پاسخ در بخش Response نمایش داده میشوند. بااینحال، دریافت پاسخ موفق همیشه به معنای اعمال صحیح تغییر موردنظر نیست؛ بنابراین بهتر است نتیجه عملیات با درخواست GET مستقل تأیید شود.
در صورت بروز خطا نیز بررسی پیام پاسخ، اطلاعات احراز هویت، ساختار Endpoint و سازگاری مدل YANG به شناسایی مشکل کمک میکند.
تفاوت RESTCONF و NETCONF در مدیریت شبکه Cisco چیست؟
RESTCONF و NETCONF هر دو پروتکل استاندارد مدیریت تجهیزات شبکه هستند که از مدلهای YANG استفاده میکنند. تفاوت اصلی آنها در روش ارتباط است؛ RESTCONF از HTTP/HTTPS و متدهای HTTP استفاده میکند، اما NETCONF معمولاً بر RPCهای مبتنی بر XML روی SSH متکی است و قابلیتهای پیشرفتهتری برای مدیریت تراکنشهای پیکربندی دارد.

مقایسه RESTCONF و NETCONF از نظر عملکرد و ساختار
| معیار | RESTCONF | NETCONF |
|---|---|---|
| ارتباط رایج | HTTPS | SSH |
| پورت رایج | 443 | 830 |
| قالب داده | JSON و XML | XML |
| مدل داده | YANG | YANG |
| عملیات | HTTP Methods | RPC |
| مدیریت تراکنش | محدودتر | پیشرفتهتر |
| ابزارها | Postman، Python | ncclient |
RESTCONF بهتر است یا NETCONF؟
انتخاب به نیاز شبکه بستگی دارد. RESTCONF برای توسعهدهندگان آشنا با REST API و خودکارسازی فعالیتهای روزمره مناسب است. در مقابل، NETCONF برای مدیریت پیشرفته پیکربندی و سناریوهای نیازمند کنترل Datastore و Lock گزینه بهتری محسوب میشود. البته امکانات هر دو به پلتفرم و نسخه سیستمعامل وابسته است.
کاربردهای RESTCONF در اتوماسیون و مدیریت شبکه Cisco
RESTCONF امکان دریافت اطلاعات ساختاریافته و اجرای تغییرات پشتیبانیشده را فراهم میکند. این قابلیت در مدیریت متمرکز تجهیزات و کاهش فعالیتهای دستی کاربرد دارد.

مدیریت تنظیمات Interfaceها و تجهیزات شبکه
با RESTCONF میتوان اطلاعات پیکربندی و وضعیت عملیاتی پورتهای سوئیچ را دریافت کرد. همچنین تغییر تنظیماتی مانند Description در Interfaceهای پشتیبانیشده از طریق درخواستهای API امکانپذیر است.
خودکارسازی تنظیمات در تعداد زیادی سوئیچ Cisco
فرض کنید مدیر شبکه مسئول ۲۰ سوئیچ Cisco است. بهجای اجرای دستی تنظیمات روی هر دستگاه، میتواند با ترکیب RESTCONF و اسکریپتهای مدیریتی، عملیات تکراری را اجرا کرده و نتیجه هر درخواست را بررسی کند.
یکپارچهسازی RESTCONF با سیستمهای مانیتورینگ و مدیریتی
دادههای ساختاریافته RESTCONF میتوانند در سامانههای مانیتورینگ و داشبوردهای مدیریتی استفاده شوند. البته دریافت دورهای اطلاعات از طریق RESTCONF با Streaming Telemetry تفاوت دارد و نباید این دو روش را یکسان دانست.
امنیت RESTCONF در Cisco IOS XE چگونه تأمین میشود؟
ازآنجاکه RESTCONF امکان دسترسی به تنظیمات تجهیزات شبکه را فراهم میکند، حفاظت از ارتباطات، اطلاعات ورود و مجوزهای مدیریتی ضروری است.
استفاده از HTTPS و احراز هویت AAA
RESTCONF در Cisco IOS XE از HTTPS و TLS برای محافظت از ارتباطات استفاده میکند. همچنین سازوکار AAA وظیفه احراز هویت کاربران و کنترل مجوزهای دسترسی را بر اساس پیکربندی دستگاه بر عهده دارد.
محدودسازی دسترسی به RESTCONF API
دسترسی به RESTCONF بهتر است به شبکه مدیریتی محدود شود. استفاده از ACLهای سازگار با پلتفرم، حسابهای دارای حداقل مجوز و محدودسازی دسترسی به پورت HTTPS، خطر دسترسی غیرمجاز را کاهش میدهد.
نکات امنیتی هنگام استفاده از Postman و Python
اطلاعات ورود نباید در کدها یا فایلهای اشتراکی ذخیره شوند. استفاده از گواهی معتبر TLS ضروری است و غیرفعالکردن اعتبارسنجی گواهی، مانند verify=False، نباید راهکار محیط عملیاتی باشد.
خطاهای رایج RESTCONF در Cisco IOS XE و روش رفع آنها
هنگام ارسال درخواستهای RESTCONF ممکن است خطاهایی مرتبط با احراز هویت، ساختار Endpoint یا قالب داده رخ دهد. بررسی کد HTTP و محتوای پاسخ، اولین مرحله عیبیابی است.

خطای 401 و 403 هنگام اتصال به RESTCONF
خطای 401 معمولاً به مشکل احراز هویت اشاره دارد؛ بنابراین باید نام کاربری، رمز عبور و تنظیمات AAA بررسی شوند. خطای 403 اغلب نشاندهنده محدودیت مجوز دسترسی به منبع درخواستشده است.
خطاهای 404 و 405 در درخواست REST API
خطای 404 ممکن است به مسیر نامعتبر، منبع ناموجود یا مدل YANG پشتیبانینشده مربوط باشد. خطای 405 نیز نشان میدهد متد HTTP استفادهشده برای منبع موردنظر مجاز نیست.
خطاهای مربوط به JSON، XML و HTTP Headers
ساختار نامعتبر Payload، قالب داده نادرست یا تعارض عملیات میتواند باعث بروز خطا شود. جدول زیر رایجترین وضعیتها را نشان میدهد.
| کد خطا | علت احتمالی | راهکار |
|---|---|---|
| 400 | داده نامعتبر | بررسی JSON و YANG |
| 401 | احراز هویت ناموفق | بررسی اطلاعات ورود |
| 403 | مجوز ناکافی | بررسی Authorization |
| 404 | منبع ناموجود | بررسی Endpoint |
| 405 | متد غیرمجاز | بررسی متد HTTP |
| 409 | تعارض عملیات | بررسی پیام خطا |
| 415 | قالب داده اشتباه | اصلاح Content-Type |
| 500 | خطای داخلی سرویس | بررسی وضعیت سرویس و Logs |
رفع مشکل اتصال HTTPS و غیرفعال بودن RESTCONF
در صورت Timeout یا برقرارنشدن ارتباط، ابتدا آدرس IP، پورت HTTPS و محدودیتهای ACL را بررسی کنید. سپس از فعالبودن سرویس RESTCONF، معتبر بودن حساب کاربری و صحت گواهی TLS اطمینان حاصل کنید.
سؤالات متداول RESTCONF در Cisco IOS XE
RESTCONF چیست و چه کاربردی در سوئیچ Cisco دارد؟
RESTCONF پروتکلی استاندارد مبتنی بر HTTP و مدلهای YANG است که امکان دریافت اطلاعات و تغییر تنظیمات پشتیبانیشده تجهیزات Cisco را از طریق API فراهم میکند.
آیا RESTCONF در تمام سوئیچهای Cisco پشتیبانی میشود؟
خیر. پشتیبانی از RESTCONF به مدل دستگاه، سیستمعامل، نسخه IOS XE و مدلهای YANG موجود بستگی دارد. سازگاری باید از طریق مستندات Cisco بررسی شود.
تفاوت RESTCONF و NETCONF چیست؟
RESTCONF از متدهای HTTP و معمولاً HTTPS استفاده میکند، اما NETCONF اغلب از SSH و RPCهای مبتنی بر XML بهره میبرد. NETCONF قابلیتهای تراکنشی تخصصیتری دارد.
برای فعالسازی RESTCONF در Cisco IOS XE چه دستوراتی لازم است؟
دستورات اصلی ip http secure-server و restconf هستند. البته پیش از فعالسازی باید سازگاری تجهیزات، تنظیمات AAA و دسترسی مدیریتی بررسی شوند.
آیا میتوان با Python تنظیمات Cisco را از طریق RESTCONF تغییر داد؟
بله. کتابخانه Requests امکان ارسال درخواستهای HTTP را فراهم میکند. تغییر تنظیمات با استفاده از متد و Payload سازگار با مدل YANG دستگاه انجام میشود.
RESTCONF از چه پورتی استفاده میکند؟
در Cisco IOS XE، ارتباط RESTCONF معمولاً از طریق HTTPS و پورت 443 برقرار میشود؛ مگر اینکه پیکربندی HTTPS دستگاه تغییر کرده باشد.
آیا RESTCONF جایگزین CLI در تجهیزات Cisco میشود؟
خیر. RESTCONF مکمل CLI است و برای مدیریت خودکار و ساختاریافته کاربرد دارد. برخی فعالیتهای پیکربندی و عیبیابی همچنان به CLI نیاز دارند.
کلام آخر
در این مقاله بررسی کردیم RESTCONF چیست و چگونه امکان مدیریت ساختاریافته تجهیزات Cisco IOS XE را از طریق API فراهم میکند. این پروتکل با استفاده از YANG و HTTPS، اجرای عملیات خودکار و دریافت اطلاعات شبکه را سادهتر میسازد. بااینحال، انتخاب میان RESTCONF، NETCONF و CLI باید بر اساس نیازهای عملیاتی و قابلیتهای دستگاه انجام شود. برای انتخاب سوئیچ سیسکو متناسب با زیرساخت شبکه، میتوانید مدلها و تجهیزات سازگار را در ماهان شبکه ایرانیان بررسی کنید.
انتخاب تجهیزات مناسب، تنها به خرید یک مدل خاص محدود نمیشود؛ بلکه به انتخاب کانفیگی متناسب با نیاز واقعی سازمان بستگی دارد. در ماهان شبکه ایرانیان، کارشناسان فنی با بررسی تعداد کاربران، نوع نرمافزارهای سازمانی، نیازهای پردازشی و بودجه شما، مناسبترین مدل و کانفیگ را پیشنهاد میدهند. اگر برای خرید سرور اچ پی یا سایر تجهیزات شبکه جهت ارتقاء زیرساخت خود به راهنمایی نیاز دارید، پیش از تصمیمگیری با کارشناسان ما مشورت کنید تا با اطمینان، راهکاری متناسب با نیاز امروز و توسعه آینده کسبوکار خود انتخاب کنید.





