تسعى مجموعة الوثائق لهذا المنتج جاهدة لاستخدام لغة خالية من التحيز. لأغراض مجموعة الوثائق هذه، يتم تعريف "خالية من التحيز" على أنها لغة لا تعني التمييز على أساس العمر، والإعاقة، والجنس، والهوية العرقية، والهوية الإثنية، والتوجه الجنسي، والحالة الاجتماعية والاقتصادية، والتمييز متعدد الجوانب. قد تكون الاستثناءات موجودة في الوثائق بسبب اللغة التي يتم تشفيرها بشكل ثابت في واجهات المستخدم الخاصة ببرنامج المنتج، أو اللغة المستخدمة بناءً على وثائق RFP، أو اللغة التي يستخدمها منتج الجهة الخارجية المُشار إليه. تعرّف على المزيد حول كيفية استخدام Cisco للغة الشاملة.
ترجمت Cisco هذا المستند باستخدام مجموعة من التقنيات الآلية والبشرية لتقديم محتوى دعم للمستخدمين في جميع أنحاء العالم بلغتهم الخاصة. يُرجى ملاحظة أن أفضل ترجمة آلية لن تكون دقيقة كما هو الحال مع الترجمة الاحترافية التي يقدمها مترجم محترف. تخلي Cisco Systems مسئوليتها عن دقة هذه الترجمات وتُوصي بالرجوع دائمًا إلى المستند الإنجليزي الأصلي (الرابط متوفر).
يوضح هذا المستند كيفية تكوين NETconf/YANG على الأنظمة الأساسية المستندة إلى Cisco IOS® XE 16.x.
يتم دعم NetConf/YANG بدءا من برنامج Cisco IOS® XE 16.3.1.
ملاحظة: ليست هناك حاجة لخبرة سابقة في البرمجة النصية من NetConf أو Yang أو Python لاستخدام هذا المستند.
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
في هذا المثال، يتم إستخدام محول WS-C3850-12X48U المستقل الذي يشغل برنامج Cisco IOS XE 16.3.3 كخادم NetConf. هذا هو الجهاز الذي تم تكوينه والذي يتم من خلاله تجميع البيانات (إخراج الأمر show) عبر NETCONF/YANG.
يستخدم الكمبيوتر المحمول (Apple MacBook Pro الذي يشغل نظام التشغيل MacOS Sierra 10.12.2 ومتصفح Google Chrome) كعميل NetConf. ويعمل هذا الجهاز بمثابة منصة إدارة مركزية ويستخدم تطبيق Yang Explorer. هو الأداة أن يخلق ال يانغ يشكل طلب أن يكون أرسلت إلى المادة حفازة 3850 عن طريق NETCONF RPC (إجراء إستدعاء عن بعد) رسالة أن يشكل ويجمع معطيات من المادة حفازة 3850.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
يركز المثال الوارد في هذا المستند على الاختبارات المعملية باستخدام المحول Catalyst 3850، ومع ذلك، تنطبق المعلومات المقدمة أيضا على الأنظمة الأساسية الأخرى من Cisco IOS XE 16.x مثل موجهات سلسلة Cisco ASR 1000.
توفر نماذج البيانات طريقة بديلة ومركزية لتكوين أجهزة Cisco (بدلا من إستخدام واجهة سطر الأوامر (CLI) من Cisco أو بروتوكول إدارة الشبكة البسيط (SNMP)) وجمع بيانات التشغيل (عرض الأوامر) من أجهزة Cisco. ونظرا لأن نماذج البيانات هي معايير تستند إلى الإجراء نفسه ويمكن إستخدامها لتكوين البيانات أو تجميعها من أجهزة غير تابعة لشركة Cisco أيضا، فإنها تجعل هذه الأجهزة مثالية للعملاء الذين يدعمون موردين متعددين. يمكن إستخدام نظام إدارة مركزي (على سبيل المثال، جهاز كمبيوتر محمول) لتكوين البيانات أو تجميعها من أجهزة Cisco المتعددة، كما تتيح بنية طراز البيانات أتمتة هذه الإجراءات من خلال البرمجة النصية من Python (فئتان رئيسيتان إضافيتان).
YANG هي لغة نمذجة بيانات قائمة على المعايير تستخدم لإنشاء طلبات تكوين الأجهزة أو طلبات بيانات التشغيل (show command). له تنسيق مهيكل مشابه لبرنامج كمبيوتر يمكن قراءته من قبل الإنسان. تتوفر العديد من التطبيقات التي يمكن تشغيلها على نظام أساسي للإدارة المركزية (على سبيل المثال، كمبيوتر محمول) لإنشاء طلبات التهيئة وبيانات التشغيل هذه.
هناك كلا نماذج بيانات YANG القياسية (الشائعة) التي تنطبق على جميع الموردين (على سبيل المثال، يمكن أن يكون طلب تعطيل واجهة إيثرنت أو إغلاقها مطابقا لكل من الأجهزة من Cisco وغيرها من الأجهزة من Cisco) بالإضافة إلى نماذج بيانات الأجهزة (الأصلية والمورد المحدد) التي تسهل تكوين بيانات التشغيل المرتبطة بميزات المورد الخاص أو تجميعها.
NetConf هو بروتوكول ترميز بلغة الترميز القابلة للتوسع (XML) القياسية التي توفر النقل للاتصال بتكوين YANG المنسق أو طلب بيانات التشغيل من تطبيق يعمل على نظام إدارة مركزي (على سبيل المثال، كمبيوتر محمول) إلى جهاز Cisco الذي يرغب المستخدم في تكوين بيانات (عرض أمر) التشغيل أو طلبها منه. وهو يوفر خدمات قائمة على المعاملات مثل إجهاض طلب التكوين بالكامل عند فشل جزء من طلب التكوين هذا. يستخدم NetConf آلية قائمة على إستدعاء الإجراء البعيد البسيط (RPF) لتسهيل الاتصال بين عميل (برنامج نصي أو تطبيق نظام إدارة مركزي) وخادم (محول أو موجه Cisco). وهو يستخدم طبقة الأمان (SSH) كطبقة النقل عبر أجهزة الشبكة. تتضمن بعض عمليات NETconf الحصول على و get-config و edit-config و rpc.
3850-1# show running-config
netconf-yang -------------------------------------> Enable NETCONF/YANG globally. It may take up to 90 seconds to initialize
username cisco1 privilege 15 password 0 cisco1 ---> Username/password used for NETCONF-SSH access
ملاحظة: هذا هو التكوين الكامل المطلوب على المحول Catalyst 3850 لدعم نمذجة بيانات NetConf/YANG ولكنه يفترض عدم تكوين نموذج AAA جديد بشكل عام (الافتراضي) أيضا. إذا كان مطلوبا تمكين المصادقة والتفويض والمحاسبة (AAA) من خلال تكوين نموذج AAA جديد، فهذا التكوين مطلوب أيضا على الأقل. يمكنك أيضا توسيع هذا لاستخدام AAA باستخدام تكوين TACACS+ أو RADIUS، ولكن هذا خارج نطاق هذا المثال.
aaa new-model
aaa authorization exec default local -------------> Required for NETCONF-SSH connectivity and edit-config operations
يجب أن تكون تكوينات خادم Snmp هذه موجودة لتمكين إنشاء إعلامات NETconf (RFC 5277 - الأدوات 5277) لرسائل Syslog ولأي إختبارات SNMP تم تكوينها لإنشاء إعلامات NETconf أيضا.
ملاحظة: على الرغم من أن هذه الإدخالات هي الحد الأدنى المطلوب، إلا أنه يمكن وجود إدخالات تمكين إضافية لخادم snmp أيضا. يقوم العميل (نظام الإدارة المركزية) بالتسجيل لتلقي تدفق إعلام NETCONF من خادم (Catalyst 3850) وإرسال اشتراك محدد RPC (راجع القسم 3 من تكوين نظام الإدارة المركزية الأساسي (جهاز الكمبيوتر المحمول).
3850-1# show running-config
snmp-server community <string> RW ------------------------------> SNMP gateway in DMI requires community public prior to 16.5.1. A configurable community is supported on 16.5.1 and later.
netconf-yang cisco-ia snmp-community-string <string> -----------> Configure the same community string to enable SNMP MIB access for both NETCONF and RESTCONF.
snmp-server trap link ietf -------------------------------------> enable traps for IETF link up/down
snmp-server enable traps snmp authentication linkdown linkup ---> enable traps for link up/down
snmp-server enable traps syslog --------------------------------> enable traps for Syslog so notifications can be generated
snmp-server manager --------------------------------------------> enable snmp-server
ل syslog، هذا تشكيل ينبغي كنت حاضر ل ال معطيات نموذج قارن (DMI) على المادة حفازة 3850 أن يتلقى القدرة أن يخلق NETconf إخطارات يعين في RFC 5277 عندما syslog رسالة يكون ولدت بواسطة Cisco على المادة حفازة 3850.
logging history debugging -------> required for the generation of any NETCONF notification messages for Syslog
logging snmp-trap emergencies ---> configure 1 or more of the following to control which levels of Syslog messages are returned as notifications
logging snmp-trap alerts
logging snmp-trap critical
logging snmp-trap errors
logging snmp-trap warnings
logging snmp-trap notifications
logging snmp-trap informational
logging snmp-trap debugging
بالنسبة لوجهات SNMP، يلزم هذا التكوين لإنشاء إعلامات NETconf. في برنامج Cisco XE 16.3.1، يمكن تكوين 10 إختبارات SNMP كحد أقصى لإنشاء إعلامات NETconf، ولكن يمكن إزالة هذا التقييد في إصدار مستقبلي. يتم تمكين إنشاء الإعلامات لوجهات SNMP بشكل افتراضي. لتعطيل إنشاء إعلامات فخ SNMP، أستخدم واجهة سطر الأوامر هذه، no netconf-yang cisco-ia snmp-trap-control إعادة التوجيه العالمية.
netconf-yang cisco-ia snmp-trap-control trap-list 10.3.6.1.6.3.1.1.5.3 --------> LinkDown trap
netconf-yang cisco-ia snmp-trap-control trap-list 10.3.6.1.6.3.1.1.5.4 --------> LinkUp trap
netconf-yang cisco-ia snmp-trap-control trap-list 10.3.6.1.4.1.9.9.41.2.0.1 ---> Syslog generated notification trap
يتم إستخدام واجهة إدارة Catalyst 3850 GigabitEthernet0/0 للاتصال بالشبكة وبنظام الإدارة المركزية (يمكن إستخدام كمبيوتر محمول) في هذا المثال. تم إستخدام بروتوكول تكوين الاستضافة الديناميكية (DHCP) لتعيين عنوان IP 172.16.167.175 إلى هذه الواجهة. يمكن إستخدام التكوينات البديلة على المادة حفازة 3850 طالما أن الكمبيوتر المحمول يستطيع بلغت المادة حفازة 3850 على الشبكة.
3850-1# show running-config
vrf definition Mgmt-vrf
!
address-family ipv4
exit-address-family
!
address-family ipv6
exit-address-family
interface GigabitEthernet0/0
vrf forwarding Mgmt-vrf
ip address dhcp
negotiation auto
ip route vrf Mgmt-vrf 0.0.0.0 0.0.0.0 172.16.167.161
3850-1# show ip interface brief
Interface IP-Address OK? Method Status Protocol
Vlan1 10.1.1.1 YES NVRAM up up
Vlan10 10.10.10.1 YES NVRAM up up
Vlan20 10.20.20.1 YES NVRAM up up
GigabitEthernet0/0 172.16.167.175 YES DHCP up up
Fo1/1/1 unassigned YES unset down down
Fo1/1/2 unassigned YES unset down down
GigabitEthernet1/0/1 unassigned YES manual up up
GigabitEthernet1/0/2 unassigned YES unset up up
GigabitEthernet1/0/3 unassigned YES unset down down
GigabitEthernet1/0/4 unassigned YES unset down down
GigabitEthernet1/0/5 unassigned YES unset down down
1. من واجهة سطر الأوامر (CLI) من المادة حفازة 3850، يمكن إستخدام هذا الأمر لضمان تكوين عمليات البرامج المطلوبة لدعم واجهة نموذج البيانات (DMI) على المادة حفازة 3850 بمجرد تكوين netconf-yang.
3850-1# show platform software yang-management process
confd : Running
nesd : Running
syncfd : Running
ncsshd : Running
dmiauthd : Running
vtyserverutild : Running
opdatamgrd : Running
ngnix : Running
يتم تنفيذ الخطوات التالية من نظام الإدارة المركزية. في هذا مثال، استعملت حاسوب محمول (Apple MacBook Pro يشغل MacOS Sierra 10.12.2) أن يتلقى وصول شبكة إلى المادة حفازة 3850. يتم إصدار الأوامر من موجه أوامر طرفية على الكمبيوتر المحمول. لا يوجد تطبيق خاص محمل على الكمبيوتر المحمول في هذه المرحلة.
2. تأكد من أن منصة الإدارة المركزية (الكمبيوتر المحمول) يمكنها الوصول إلى Catalyst 3850 (172.16.167.175) على الشبكة.
USER1-M-902T:~ USER1$ ping 172.16.167.175
PING 172.16.167.175 (172.16.167.175): 56 data bytes
64 bytes from 172.16.167.175: icmp_seq=0 ttl=247 time=3.912 ms
64 bytes from 172.16.167.175: icmp_seq=1 ttl=247 time=6.917 ms
64 bytes from 172.16.167.175: icmp_seq=2 ttl=247 time=4.063 ms
64 bytes from 172.16.167.175: icmp_seq=3 ttl=247 time=4.371 ms
^C
3. تحقق من اتصال SSH بالمحول Catalyst 3850 (172.16.167.175 في هذا المثال) من منصة الإدارة المركزية (الكمبيوتر المحمول) باستخدام اسم المستخدم وكلمة المرور (Cisco1/Cisco1) من تكوين Catalyst 3850 هذا. يمكن أن تكون الاستجابة قائمة طويلة من إمكانيات NETconf من المادة حفازة 3850 متبوعة برسالة ترحيب. منفذ TCP 830 = netconf-ssh.
تلميح: إذا لم يعمل إختبار SSH هذا، فتأكد من أن أي جدار حماية بين الكمبيوتر المحمول ومادة حفازة 3850 يسمح بمنفذ TCP 830 (مرجع RFC 4742: الأدوات 4742).
USER1-M-902T:~ USER1$ ssh -s cisco1@172.16.167.175 -p 830 netconf
cisco1@172.16.167.175’s password: cisco1
<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.0</capability>
<capability>urn:ietf:params:netconf:base:1.1</capability>
<capability>urn:ietf:params:netconf:capability:writable-running:1.0</capability>
<capability>urn:ietf:params:netconf:capability:xpath:1.0</capability>
<capability>urn:ietf:params:netconf:capability:validate:1.0</capability>
<capability>urn:ietf:params:netconf:capability:validate:1.1</capability>
<capability>urn:ietf:params:netconf:capability:rollback-on-error:1.0</capability
--snip--
</capabilities>
<session-id>2870</session-id></ hello>]]>]]>
Use < ^C > to exit
في هذا المثال، يستخدم تطبيق Yang Explorer على جهاز كمبيوتر محمول (Apple MacBook Pro MacOS Sierra 10.12.2، مستعرض Google Chrome) ليكون بمثابة منصة الإدارة المركزية. يسمح Yang Explorer للمستخدم بالقيام بذلك:
· تحميل / تحويل نماذج بيانات YANG برمجيا من واجهة المستخدم أو سطر الأوامر
· إنشاء NetConf RPCs (مكالمات الإجراء عن بعد)
· تنفيذ RPC مقابل خادم NetConf حقيقي (Catalyst 3850)
· حفظ ملفات RPCs التي تم إنشاؤها في المجموعات لاستخدامها لاحقا
· تصفح أشجار نماذج البيانات وتفحص خصائص يانغ
ملاحظة: يتم أيضا دعم تطبيق Yang Explore على أنظمة لينوكس.
بدء تشغيل تطبيق Yang Explorer - من موجه أوامر المحطة الطرفية على الكمبيوتر المحمول الذي يشغل ./start.sh والأمر من دليل Yang-Explorer.
ملاحظة: إبقاء جلسة العمل الطرفية هذه مفتوحة، وإلا يمكن إيقاف تشغيل تطبيق Yang Explorer ويجب إعادة تشغيله. كما يمكن أن يكون بمثابة سجل وحدة تحكم لنشاط التطبيق.
USER1-M-902T:~ USER1$ cd yang-explorer
USER1-M-902T:yang-explorer USER1$ ./start.sh &
Starting YangExplorer server ..
Use http://localhost:8088/static/YangExplorer.html
Performing system checks...
System check identified no issues (0 silenced).
January 19, 2017 - 23:12:20
Django version 1.8.3, using settings 'server.settings'
Starting development server at http://localhost:8088/
Quit the server with CONTROL-C.
قم بإطلاق واجهة المستخدم الرسومية (GUI) الخاصة ب Yang Explorer - قم بإطلاق واجهة المستخدم الرسومية (GUI) لتطبيق Yang Explorer وادخل إلى واجهة المستخدم الرسومية (GUI) الخاصة بتطبيق Yang Explorer كضيف/ضيف في الركن العلوي الأيسر من القائمة الرئيسية لواجهة المستخدم الرسومية (ارجع إلى الشاشة).
استرد القدرات من المادة حفازة 3850. دخلت المادة حفازة 3850 تفصيل (عنوان، username/كلمة، TCP ميناء 830 ل SSH-netconf) وطقطقة قدرات أن يسترجع ال يانغ قدرات عملية قائمة من المادة حفازة 3850 برمجية.
تلميح: يعد هذا أيضا إختبارا جيدا للتأكد من أن اتصال NetConf يعمل بين تطبيق Yang Explorer على منصة الإدارة المركزية (الكمبيوتر المحمول) والمحول Catalyst 3850.
تحميل نماذج بيانات يانغ - يمكن الاشتراك في نماذج بيانات يانغ المختلفة تحت إدارة نماذج. بمجرد اشتراكها، تظهر في مربع Explorer الموجود على اليسار. تتيح نماذج YANG هذه لتطبيق Yang Explorer إنشاء رسائل إستدعاءات الإجراء البعيد (RPC) بتنسيق NETCONF (التي يتم إرسالها إلى Catalyst 3850 لتكوينها أو إسترداد البيانات منها) بدون الحاجة إلى الحصول على خبرة Yang العميقة. وترد أمثلة على كيفية القيام بذلك في القسم التالي من مشروع Basic NetConf/YANG
الأمثلة:
يقوم العميل (نظام الإدارة المركزية) بالتسجيل لتلقي دفقات إعلام NETconf من خادم (Catalyst 3850) عن طريق إرسال رسالة NCONF RPC هذه المنسقة من قبل YANG. يرسل المادة حفازة 3850 إعلامات NetConf بشكل غير متزامن إلى كل عميل مشترك. قبل اكتمال هذه المهمة، تأكد من أن التكوين الصحيح موجود على المادة حفازة 3850 لدعم إعلامات NETconf (راجع القسم 2) من تكوين NETconf/YANG على المادة حفازة 3850. يبدأ خادم NetConf (Catalyst 3850) في إرسال إعلامات الحدث إلى عميل NetConf (نظام الإدارة المركزية) حيث تحدث الأحداث داخل النظام. يمكن الاستمرار في إرسال إعلامات الحدث هذه حتى يتم إنهاء جلسة عمل NETCONF أو إنهاء الاشتراك لسبب آخر. راجع RFC 5277 للحصول على مزيد من التفاصيل المتعلقة بخيارات الاشتراك أدوات 5277.
<?xml version="1.0" encoding="utf-8"?>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="">
<create-subscription xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
<stream>snmpevents</stream>
</create-subscription>
</rpc>
للقيام بذلك، تحتاج إلى قص هذه الميزة ولصقها في واجهة المستخدم الرسومية (GUI) الخاصة بتطبيق Yang Explorer كجهاز RPC مخصص.
بعد ذلك، يتم تحديد التشغيل لإرسال رسالة RPC المخصصة إلى Catalyst 3850 عبر NETconf. يرد المحول Catalyst 3850 برسالة OK للسماح للمستخدم بمعرفة نجاح العملية.
ملاحظة: لا يوجد لدى الإصدار الحالي من Yang Explorer المستخدم في هذا المثال خيار للنظر في إعلامات NETconf المستلمة. ويتم تخزينها عادة في سجل "الإعلام القابل للنقر" في القائمة الرئيسية للتطبيق.
الآن بعد أن تم تكوين Catalyst 3850 و Central Management Platform وبدأت في الاتصال، يسمح لنا بالنظر إلى بعض الأمثلة التشغيلية الأساسية.
يمكن أن توضح الأمثلة أن رسائل NETconf RPC المنسقة من قبل YANG المرسلة عبر NETconf من تطبيق Yang Explorer الخاص بنظام الإدارة المركزية (الكمبيوتر المحمول) إلى Catalyst 3850 يتم تحويلها إلى واجهة سطر الأوامر (CLI) القياسية من Cisco IOS بواسطة عملية برنامج التكوين على Catalyst 3850. كما يتم تحويل بيانات واجهة سطر الأوامر (CLI) من Cisco IOS (بيانات الأمر show) إلى بيانات بتنسيق YANG بواسطة عملية برنامج التكوين على Catalyst 3850 قبل إرسالها كرسالة RPC ل NetConf إلى تطبيق Yang Explorer الخاص بنظام الإدارة المركزية (الكمبيوتر المحمول). هذا يعني أن ال CLI عادي يستطيع بعد كنت استعملت على المادة حفازة 3850 أن يشكل المفتاح وتجمع عرض أمر معطيات بالإضافة إلى أن يستعمل NETCONF/YANG أن يفعل ال نفسه.
يمكن تحديد العملية المطلوبة من قسم "مستكشف الجانب الأيسر" في واجهة المستخدم الرسومية لتطبيق Yang Explorer. في هذه الحالة، قارن إسم معطيات أن يكون إستردت من المادة حفازة 3850 وهكذا انتقيت oper (ل عملية) يتبع ب get-config تحت القارن إسم يسقط. يتم تحديد RPC بعد ذلك لإنشاء RPC ل NETconf (يمكن قراءته من قبل الإنسان) الذي تم تنسيقه من قبل YANG والمطلوب إرساله إلى المحول Catalyst 3850 عبر NETconf لاسترداد هذه البيانات من المحول Catalyst 3850.
بعد إنشاء رسالة NETconf RPC المنسقة من Yang، يتم تحديد التشغيل لإرسالها إلى المحول Catalyst 3850. ترد المادة حفازة 3850 مع يانغ مهيأ (مقروء بشري) قائمة من المادة حفازة 3850 قارن أسماء (GigabitEthernet1/1/1، GigabitEthernet1/1/2، إلى آخره).
تم تحديد العملية المطلوبة من الجانب الأيسر من قسم "مستكشف" في واجهة المستخدم الرسومية لتطبيق Yang Explorer. في هذه الحالة، أن يشكل قارن (يعطل قارن) مطلوب على المادة حفازة 3850 لذلك config (لتشكيل) انتقيت، يتبع ب ال يتطلب عملية معلم تحت القارن يسقط قائمة. يتم تحديد RPC بعد ذلك لإنشاء RPC ل NETconf (يمكن قراءته من قبل الإنسان) الذي تم تنسيقه من قبل YANG والمطلوب إرساله إلى المحول Catalyst 3850 عبر NETconf لتنفيذ مهمة التكوين.
بعد إنشاء رسالة NETconf RPC المنسقة من Yang، يتم تحديد التشغيل لإرسالها إلى المحول Catalyst 3850. المادة حفازة 3850 رد مع يانغ منسق (بشري مقروء) رسالة أن يفيد أن التشكيل عملية كان ناجح (ok).
لتأكيد حدوث التغيير، يمكن التحقق من التكوين. يمكن إستخدام عملية get-config (oper) حيث ترد المادة حفازة 3850 مرة أخرى على أن الواجهة GigabitEthernet 1/0/16 configuration قد مكنت = false الآن وهو ما يعني أن الواجهة قد تم إغلاقها.
تلميح: بشكل عام، عندما يكون من غير الواضح أي تنسيق يمكن أن تكون القيم في قسم Explorer من تطبيق Yang Explorer، يعد إلغاء تكوين Catalyst 3850 المنسق من قبل YANG، كما هو موضح، طريقة جيدة لتحديد ما هي قبل إجراء محاولة لتعديلها. يوفر الجانب الأيمن من الشاشات التالية بعض الأوصاف والتبعيات لهذه القيم كذلك في أعمدة الخاصية والقيمة.
بعد إنشاء رسالة NETconf RPC المنسقة من قبل YANG، يتم تحديد التشغيل لإرسالها إلى المحول Catalyst 3850. يرد المحول Catalyst 3850 باستخدام رسالة بتنسيق YANG تنص على أن تكوين الواجهة GigabitEthernet 1/0/16 قد تم تمكينه = false الآن مما يعني أن الواجهة تم إيقاف تشغيلها.
في الوقت من السابق يانغ مستكشف عملية تغيير تشكيل، هذا إنتاج من ال CLI من المادة حفازة 3850. كانت الواجهة GigabitEthernet 1/0/16 في حالة عدم إيقاف التشغيل الافتراضية حتى يتم تلقي رسالة NetConf RPC كما هو موضح في رسالة السجل على المادة حفازة 3850. بعد تلقي رسالة RPC NETconf التي تحتوي على طلب YANG المنسق لإيقاف تشغيل الواجهة، يتم إكمال العملية، ويتم إيقاف تشغيل الواجهة، ويتم تعديل التكوين الجاري تشغيله ليعكس هذا الأمر. وهذا يوضح أيضا كيفية قيام عملية البرنامج المضمنة على Catalyst 3850 بتحويل رسالة RPC بتنسيق NETCONF إلى واجهة سطر الأوامر (CLI) القياسية من Cisco IOS. وهذا يعني أنه لا يزال بإمكان المستخدم إستخدام واجهة سطر الأوامر (CLI) من Cisco IOS العادية لتعديل التكوين وتنفيذ أوامر show بالإضافة إلى إستخدام NETconf/YANG لتنفيذ الأمر نفسه.
3850-1# show running-config interface gigabitEthernet 1/0/16
Building configuration...
Current configuration : 39 bytes
!
interface GigabitEthernet1/0/16
end
3850-1# show startup-config | begin 1/0/16
interface GigabitEthernet1/0/16
!
*Jan 5 17:05:55.345: %DMI-5-CONFIG_I:Switch 1 R0/0: nesd: Configured from NETCONF/RESTCONF by cisco1, transaction-id 31332
*Jan 5 17:05:57.335: %LINK-5-CHANGED: Interface GigabitEthernet1/0/16, changed state to administratively down
3850-1# show running-config interface gigabitEthernet 1/0/16
Building configuration...
Current configuration : 49 bytes
!
interface GigabitEthernet1/0/16
shutdown -------------------------> the interface is shutdown now
end
3850-1#
ملاحظة: لم يتم حفظ التكوين (تم نسخه من تشغيل التكوين إلى تكوين بدء التشغيل) على المحول Catalyst 3850 حتى الآن.
3850-1# show startup-config | begin 1/0/16
interface GigabitEthernet1/0/16
!
يمكن حفظ التكوين الجاري تشغيله في تكوين بدء التشغيل على Catalyst 3850 عن طريق إرسال رسالة NETconf RPC هذه المنسقة من YANG إلى Catalyst 3850 عبر NETconf.
<?xml version="1.0" encoding="utf-8"?>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="">
<cisco-ia:save-config xmlns:cisco-ia="cisco/yang/cisco-ia"
</rpc>
يتم القيام بذلك عند قص هذا ولصقه في تطبيق Yang Explorer كجهاز RPC مخصص.
تم تحديد التشغيل لإرسال رسالة RPC المخصصة إلى Catalyst 3850 عبر NETconf. يرد المادة حفازة 3850 مع رسالة ناجح.
يتطابق تكوين بدء التشغيل الآن مع التكوين الجاري تشغيله:
3850-1# show running-config interface gigabitEthernet 1/0/16
Building configuration...
Current configuration : 49 bytes
!
interface GigabitEthernet1/0/16
shutdown
end
3850-1# show startup-config | begin 1/0/16
interface GigabitEthernet1/0/16
shutdown
!
وكما تمت الإشارة مسبقا، لا يزال يمكن إستخدام واجهة سطر الأوامر (CLI) الخاصة بالمحول Catalyst 3850 لتكوين المحول وتجميع بيانات الأمر show بالإضافة إلى إستخدام NETconf/YANG للقيام بنفس الإجراء. عندما المادة حفازة 3850 CLI استعملت بدلا من NETconf/YANG أن يشكل المفتاح، الجديد running-config تزامن مع المعطيات نموذج قارن (DMI) على المادة حفازة 3850 عن طريق ال syncCFD برمجية عملية.
3850-1# show running-config interface gigabitEthernet 1/0/16
Building configuration...
Current configuration : 49 bytes
!
interface GigabitEthernet1/0/16
shutdown
end
3850-1# config t
Enter configuration commands, one per line. End with CNTL/Z.
3850-1(config)# interface gigabitEthernet 1/0/16
3850-1(config-if)#no shutdown
3850-1(config-if)# exit
3850-1(config)# exit
3850-1#
*Jan 24 16:39:09.968: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/16, changed state to down
*Jan 24 16:39:13.479: %SYS-5-CONFIG_I: Configured from console by console
*Jan 24 16:39:15.208: %DMI-5-SYNC_START:Switch 1 R0/0: syncfd: External change to running configuration detected. The running configuration can be synchronized to the DMI data store.
*Jan 24 16:39:43.290: %DMI-5-SYNC_COMPLETE:Switch 1 R0/0: syncfd: The running configuration has been synchronized to the DMI data store.
3850-1#
في المرة التالية التي يطلب فيها تطبيق Yang Explorer نسخة من تكوين الواجهة بعد تغيير واجهة سطر الأوامر، يتم عرض التغيير بشكل صحيح في إخراج YANG.
تم تحديد التشغيل لإرسال رسالة RPC get-config ل GigabitEthernet1/0/16 إلى Catalyst 3850 عبر NETconf. يرد المحول Catalyst 3850 مرة أخرى باستخدام تكوين واجهة GigabitEthernet1/0/16 الذي يظهر التمكين = true.
بيانات قاعدة معلومات الإدارة (MIB) ل SNMP التي يمكن إرجاعها باستخدام عمليات GET ل NetConf ليست قابلة للتكوين من قبل المستخدم. تعد جميع قواعد معلومات الإدارة (MIB) المدعومة ل SNMP التي يتم تحويلها إلى بيانات مهيكلة معرفة بواسطة نماذج بيانات YANG جزءا من برنامج Cisco XE على المحول Catalyst 3850. لاكتشاف بيانات قاعدة معلومات الإدارة (MIB) المتوفرة في طلبات GET، هناك ثلاثة خيارات موضحة. يمكن أن تتضمن جميع قواعد معلومات الإدارة (MIB) المدعومة الإصدار الثاني من بروتوكول بنية معلومات الإدارة (SMIV) في إستجابة القدرة.
الخيار 1. يمكن تحديد زر القدرات في واجهة المستخدم الرسومية (GUI) لتطبيق Yang Explorer. يرد المادة حفازة 3850 مع قائمة ميلان إلى جانب الإمكانية الخاصة به أن يحتوي SMIV2 قاعدة معلومات الإدارة.
الخيار 2. يمكن إرسال رسالة NETconf RPC هذه التي قام يانغ بتهيئتها إلى المحول Catalyst 3850 عبر NETconf من أجل إسترداد قائمة القدرات التي تتضمن نماذج قاعدة معلومات الإدارة (MIB) الخاصة بالطراز SMIV2 المتوفر.
<?xml version="1.0" encoding="utf-8"?>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="">
<get>
<filter type="subtree">
<ncm:netconf-state xmlns:ncm="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring">
<ncm:capabilities/>
</ncm:netconf-state>
</filter>
</get>
</rpc>
يتم القيام بذلك عند قص ولصق تطبيق Yang Explorer كجهاز RPC مخصص.
تم تحديد التشغيل لإرسال رسالة RPC المخصصة إلى Catalyst 3850 عبر NETconf. يرد المادة حفازة 3850 مع قدرة قائمة أن يتضمن ال smiv2 قاعدة معلومات الإدارة مدعومة.
الخيار 3. يمكن عرض قائمة بنماذج قاعدة معلومات الإدارة المتاحة في إمكانيات NETconf ورسالة الترحيب التي أرجعها المحول Catalyst 3850 إستجابة لاتصال SSH من نظام الإدارة المركزية (الكمبيوتر المحمول).
USER1-M-902T:~ USER1$ ssh -s cisco1@172.16.167.175 -p 830 netconf
cisco1@172.16.167.175’s password: cisco1
<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.0</capability>
<capability>urn:ietf:params:netconf:base:1.1</capability>
<capability>urn:ietf:params:netconf:capability:writable-running:1.0</capability>
<capability>urn:ietf:params:netconf:capability:xpath:1.0</capability>
<capability>urn:ietf:params:netconf:capability:validate:1.0</capability>
<capability>urn:ietf:params:netconf:capability:validate:1.1</capability>
<capability>urn:ietf:params:netconf:capability:rollback-on-error:1.0</capability
--snip--
<capability>urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONFIG-MAN-MIB?module=CISCO-CONFIG-MAN-MIB&revision=2007-04-27</capability>
<capability>urn:ietf:params:xml:ns:yang:smiv2:CISCO-CONTEXT-MAPPING-MIB?module=CISCO-CONTEXT-MAPPING-MIB&revision=2008-11-22</capability>
<capability>urn:ietf:params:xml:ns:yang:smiv2:CISCO-DATA-COLLECTION-MIB?module=CISCO-DATA-COLLECTION-MIB&revision=2002-10-30</capability>
--snip--
</capabilities>
<session-id>2870</session-id></ hello >]]>]]>
Use < ^C > to exit
يحتوي هذا الارتباط على ملفات نماذج بيانات YANG إضافية. تتيح هذه الملفات تنفيذ عمليات إضافية عبر NETconf/YANG التي تتعلق بميزات Catalyst 3850 الأخرى مثل تكوين التوجيه أحادي البث ل IPv4، جودة الخدمة، وما إلى ذلك.
يمكن العثور على النماذج القياسية (الشائعة، فريق العمل الهندسي عبر الإنترنت (IETF)) التي تنطبق على جميع الموردين من خلال إختيار الطرز standard و ietf و rfc. وهذا يوفر نماذج بيانات يانغ المستندة إلى المعايير والمأخوذة من منشورات RFC بواسطة هيئة معايير IETF.
نموذج GitHub Yang لمعيار شجرة Master
يمكن العثور على الطرز الأصلية (الجهاز، خاص بالمورد) من Cisco من خلال تحديد المورد، Cisco، XE، 1632. هذا يزود المالك يانغ معطيات نموذج ل cisco ios XE برمجية صيغة 16.3.2 ل المادة حفازة 3850.
نموذج GitHub Yang لمورد شجرة يانغ الرئيسي
يمكن تنزيل هذه الملفات إلى "نظام الإدارة المركزية" (الكمبيوتر المحمول) ثم تحميلها بعد ذلك إلى تطبيق Yang Explorer. هناك طريقتان للقيام بذلك. الاول هو تحميل مختلف ملفات نماذج بيانات يانغ كل على حدة ، الثانى هو تحميل مجمع لكافة الملفات.
تلميح: يمكن طلب Rawgit لتنزيل الملفات من Github. لتنزيل الملفات من github حدد زر خام المرتبط بملف Yang. إذا تم توفير عنوان URL بدلا من خيار تنزيل ملف، يمكن لصق عنوان URL في غير منتظم والذي يمكن أن يوفر بدوره عنوان URL للإنتاج. الصق عنوان URL للإنتاج الجديد هذا في مستعرض ويمكنه توفير خيار تنزيل الملف.
في هذا المثال، تم تنزيل Cisco-ethernet.yang بالفعل من Github إلى نظام الإدارة المركزية (كمبيوتر محمول). فيما يلي الخطوات لتحميل الملف في واجهة المستخدم الرسومية لتطبيق Yang Explorer ثم الاشتراك فيه حتى يتم تحميله في قسم Explorer من الأداة.
تلميح: يمكن إستخدام وظيفة قدرات NETconf لتحديد نماذج البيانات التي يدعمها برنامج Catalyst 3850. انظر القسم 2. من تكوين نظام الإدارة المركزية (الحاسب المحمول).
وهذا الإجراء مذكور أيضا في الفرع 5-2-2 هنا: Github.
من رسالة حث طرفية على منصة الإدارة المركزية (كمبيوتر محمول - Apple MacBook Pro يشغل نظام التشغيل MacOS Sierra 10. 12. 2):
USER1-M-902T:~ USER1$ cd yang-explorer
USER1-M-902T:yang-explorer USER1$ cd server
USER1-M-902T:server USER1$ python manage.py bulkupload --user guest --git https://github.com/YangModels/yang.git --dir vendor/cisco/xe/1632
Git upload ..
Cloning into '/Users/USER1/yang-explorer/server/data/session/tmpk7V4O6'...
remote: Counting objects: 5610, done.
remote: Total 5610 (delta 0), reused 0 (delta 0), pack-reused 5610
Receiving objects: 100% (5610/5610), 11.80 MiB | 2.34 MiB/s, done.
Resolving deltas: 100% (3159/3159), done.
Checking out files: 100% (3529/3529), done.
Cleaning up /Users/USER1/yang-explorer/server/data/session/tmpk7V4O6
Compiling : user: guest, file: /Users/USER1/yang-explorer/server/data/session/tmpHTAEP3/cisco-acl-oper.yang
DEBUG:root:Compiling session dependency ...
//anaconda/bin/pyang
DEBUG:root:Rebuilding dependencies for user guest
--snip--
ويمكن الاطلاع الآن على جميع نماذج بيانات يانغ في واجهة المستخدم الرسومية (GUI) لتطبيق Yang Explorer. يمكن تحديد الملفات المرتبطة بميزات الاهتمامات عند النقر فوق اشتراك، والذي يقوم بعد ذلك بإضافتهم إلى قسم "مستكشف" في الأداة.
تلميح: يمكن إستخدام وظيفة قدرات NETCONF لتحديد نماذج البيانات التي يدعمها برنامج Catalyst. انظر القسم 2. من تكوين نظام الإدارة المركزية (الحاسب المحمول).
يمكن الآن إكمال مهام أخرى مثل إنشاء RPC ل NETCONF/Yang المطلوب لحفظ التكوين على المادة حفازة 3850. ويتم القيام بذلك عند تحديد الأمر save-conf rpc في قسم المستكشف على الجانب الأيسر من تطبيق مستكشف يانغ. بعد ذلك، RPC انتقيت أن يخلق ال يانغ تنسيق NETconf RPC أن يستطيع كنت أرسلت إلى المادة حفازة 3850 عن طريق NETconf أن ينقذ التشكيل على المادة حفازة 3850.
تم تحديد التشغيل لإرسال رسالة RPC المخصصة إلى Catalyst 3850 عبر NETconf. يرد المادة حفازة 3850 مع رسالة ناجح.
وفيما يلي بعض أمثلة RPC لنموذج بيانات Cisco-ia.yang. هم ملحوظ بما أن هم يتضمن عمليات مثل أن ينقذ المادة حفازة 3850 تشكيل، أن يتزامن المادة حفازة 3850 running-config إلى المحلي معطيات قارن (DMI) تخزين، ويعيد ضبط ال DMI قارن على المادة حفازة 3850.
تتمثل الخطوة الأولى في الاشتراك في نموذج بيانات Cisco-ia.yang بحيث يظهر في قسم Explorer الموجود على يسار واجهة المستخدم الرسومية لتطبيق Yang Explorer.
بمجرد توسيع نموذج بيانات Cisco-ia في قسم Explorer على يسار واجهة المستخدم الرسومية (GUI) لتطبيق Yang Explorer، تظهر خيارات التشغيل المختلفة. على سبيل المثال، لاستخدام أحد خيارات نموذج بيانات Cisco-ia.yang المتاحة، يتم تحديد عملية حفظ-config ويتم إنشاء RPC المرتبط عند تحديد زر RPC.
بعد ذلك، تم تحديد التشغيل لإرسال رسالة RPC إلى Catalyst 3850 عبر NETconf. يرد المحول Catalyst 3850 برسالة ناجحة لإبلاغ المستخدم بنجاح العملية.
يتم وصف جميع عمليات نماذج البيانات المختلفة من Cisco-ia.yang هنا:
sync-from - يتسبب RPC هذا في قيام واجهة NETconf على المحول Catalyst 3850 بمزامنة تمثيل NetConf Datastore للجهاز الذي يشغل التكوين مع التكوين الجاري على الجهاز. كلا هذين موجودين على المادة حفازة 3850 نفسها.
<?xml version="1.0" encoding="utf-8"?>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="">
<cisco-ia:sync-from xmlns:cisco-ia
</rpc>
السلوك الافتراضي ل RPC هذا هو إجراء مزامنة دون إعدادات افتراضية مما يتسبب في مزامنة إخراج الأمر show running-config الذي تم إرساله إلى الجهاز مع DataStore ل NETconf. إذا كانت إعدادات المزامنة الافتراضية موجودة، فإن واجهة NETconf تقرأ أيضا معلومات التكوين الافتراضية المقدمة بواسطة رمز الميزة. في معظم الحالات لا يتم إستخدام هذا الخيار. وبشكل نموذجي، لن يتم إستخدام هذا إلا إذا أراد مستخدم واجهة NETconf إستخدام أوامر NETconf replace لاستبدال الأقسام الكاملة من تكوين الجهاز.
<?xml version="1.0" encoding="utf-8"?>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="">
<cisco-ia:sync-from xmlns:cisco-ia/>
<cisco-ia:sync-defaults/>
</cisco-ia:sync-from>
</rpc>
save-config - يقوم RPC هذا بتنفيذ الأمر write memory (copy running-config startup-config) لحفظ الجهاز الجاري تشغيل التكوين في الجهاز startup-configuration.
<?xml version="1.0" encoding="utf-8"?>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="">
<cisco-ia:save-config xmlns:cisco-ia
</rpc>
نقطة الوصول - يتسبب RPC هذا في قيام واجهة NETconf بحفظ التكوين الجاري تشغيله على التخزين غير المتطاير باستخدام ميزة أرشيف التكوين المدمج Cisco IOS D.
<?xml version="1.0" encoding="utf-8"?>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="">
<cisco-ia:checkpoint xmlns:cisco-ia
</rpc>
التراجع - يتسبب RPC هذا في إرجاع واجهة NETconf إلى عملية تكوين تشغيل الجهاز إلى تكوين جار تم حفظه مع RPC لنقطة التحكم أو أي تكوين جار آخر صالح يتم حفظه على الجهاز.
target-url string (name of the saved checkpoint file)
verbose? Boolean (show detail during rollback process)
nolock? Boolean (lock configuration)
revert-on-error? Empty (if error occurs during rollback, leave running unchanged)
revert-timer? int16 (time in seconds before revets to the original configuration)
<?xml version="1.0" encoding="utf-8"?>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="">
<cisco-ia:rollback xmlns:cisco-ia=
<cisco-ia:target-url>saved-config</cisco-ia:target-url>
<cisco-ia:verbose>true</cisco-ia:verbose>
<cisco-ia:nolock>true</cisco-ia:nolock>
<cisco-ia:revert-on-error></cisco-ia:revert-on-error>
<cisco-ia:revert-timer>10</cisco-ia:revert-timer>
</cisco-ia:rollback>
</rpc>
revert - يتسبب RPC هذا في قيام واجهة NETCONF بتغيير Revert-timer من RPC الخاص بالرجوع إلى الحالة السابقة. يؤدي هذا إلى إلغاء عملية التراجع الموقوتة وبدء عملية التراجع على الفور، أو إعادة تعيين المعلمات للرجوع إلى الحالة المحددة زمنيا.
now? empty
timer? int16
idle? int16
<?xml version="1.0" encoding="utf-8"?>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="">
<cisco-ia:revert xmlns:cisco-ia
<cisco-ia:now/>
<cisco-ia:timer>10</cisco-ia:timer>
<cisco-ia:idle>60</cisco-ia:idle>
</cisco-ia:revert>
</rpc>
إعادة التعيين - يمكن إعادة تشغيل واجهة NETCONF باستخدام RPC هذا. إذا كانت عملية إعادة التهيئة صحيحة، فإن واجهة NETconf تقوم بمسح جميع معلومات الحالة الموجودة في مخزن البيانات الذي يتم تشغيله ويمكن الكتابة عليه. إذا كانت القيمة خاطئة (الافتراضية)، فسيتم الاحتفاظ بمعلومات حالة مخطط بيانات تكوين NETCONF.
<?xml version="1.0" encoding="utf-8"?>
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="">
<cisco-ia:reset xmlns:cisco-ia
<cisco-ia:reinitialize>true</cisco-ia:reinitialize>
</cisco-ia:reset>
</rpc>
ملاحظة: يتعذر على بعض الأنظمة الأساسية من Cisco أو إصدارات برنامج Cisco IOS دعم جميع الوظائف المحددة في الوقت الحالي. على سبيل المثال، عند إرسال إعادة الضبط السابقة إلى برنامج Catalyst 3850 الذي يشغل IOS 16.3.3، يتم إرجاع خطأ "إعادة ضبط غير مدعوم" بواسطة المحول Catalyst 3850 إلى نظام الإدارة المركزية (الكمبيوتر المحمول) كرد على RPC.
<nc:rpc-error xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
<nc:error-type>application</nc:error-type>
<nc:error-tag>operation-failed</nc:error-tag>
<nc:error-severity>error</nc:error-severity>
<nc:error-path xmlns:cisco-ia
<nc:error-message lang="en" xmlns="https://www.w3.org/XML/1998/namespace">Reset not supported</nc:error-message>
<nc:error-info>
<nc:bad-element>reset</nc:bad-element>
</nc:error-info>
</nc:rpc-error>
توفر نماذج بيانات برنامج تشغيل عناصر الشبكة (NED) مثل ned.yang الطاقة الأكبر من حيث تكوين جهاز Cisco (Catalyst 3850). هنا بعض التصويبات التي توضح هذا.
تتمثل الخطوة الأولى في الاشتراك في نموذج بيانات NED.Yang حتى تظهر في قسم Explorer الموجود على يسار واجهة المستخدم الرسومية لتطبيق Yang Explorer.
عند التمرير عبر الخيارات المتاحة في قسم Explorer الموجود على الجانب الأيسر من تطبيق Yang Explorer، تظهر واجهة المستخدم الرسومية (GUI) قائمة طويلة بميزات Catalyst 3850 القابلة للتكوين في نموذج بيانات Ned.yang.
على سبيل المثال، توضح هذه اللقطات كيفية عرض تكوين توجيه OSPF الخاص بالمحول Catalyst 3850 بعد التمرير الأول أسفل قائمة خيارات تكوين نموذج البيانات NED.yang المتوفرة في قسم Explorer الموجود على الجانب الأيسر من واجهة المستخدم الرسومية (GUI) لتطبيق Yang Explorer. يقع الخيار OSPF الفرعي داخل خيار الموجه. يتم إنشاء RPC المقترن ب get-config عند تحديد زر RPC.
بعد ذلك، تم تحديد التشغيل لإرسال رسالة RPC إلى Catalyst 3850 عبر NETconf. يرد المحول Catalyst 3850 مرة أخرى بتكوين توجيه OSPF الخاص به.
هنا توسيع لتكوين توجيه OSPF الذي تم إرجاعه بواسطة Catalyst 3850 إستجابة لعملية get-config RPC.
<rpc-reply message-id="urn:uuid:0e2c04cf-9119-4e6a-8c05-238ee7f25208" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
<data>
<native xmlns>
<router>
<ospf>
<id>100</id>
<redistribute>
<connected>
<redist-options>
<subnets/>
</redist-options>
</connected>
</redistribute>
<network>
<ip>10.10.0.0</ip>
<mask>0.0.255.255</mask>
<area>0</area>
</network>
<network>
<ip>10.20.0.0</ip>
<mask>0.0.255.255</mask>
<area>0</area>
</network>
<network>
<ip>10.100.0.0</ip>
<mask>0.0.255.255</mask>
<area>0</area>
</network>
</ospf>
</router>
</native>
</data>
</rpc-reply>
ال يانغ شكل OSPF تحشد تشكيل أن يكون إستردت من المادة حفازة 3850 عن طريق NETconf إنسان مقروء ويطابق ما يرى عندما ينظر أنت إلى المادة حفازة 3850 تشكيل عن طريق المادة حفازة 3850 ال CLI.
3850-1# show running-config | section ospf
router ospf 100
redistribute connected subnets
network 10.10.0.0 0.0.255.255 area 0
network 10.20.0.0 0.0.255.255 area 0
network 10.100.0.0 0.0.255.255 area 0
3850-1#
إذا كان ذلك مطلوبا، يمكن أيضا إستخدام نموذج بيانات ned.yang لتعديل تكوين توجيه OSPF. في هذا المثال، تتم إضافة معلمات شبكة جديدة إلى تكوين توجيه OSPF الموجود على Catalyst 3850 عن طريق إدخال المعلمات المطلوبة أولا في قسم Explorer من واجهة المستخدم الرسومية (GUI) الخاصة بتطبيق Yang Explorer على اليسار (تم إدخال معرف موجه OSPF 100 أيضا ولكن لم يتم رؤيته بسبب تمرير شاشة Explorer) ثم إنشاء RPC المنسق الخاص ب Yang ثم النقر على زر RPC.
بعد ذلك، تم تحديد التشغيل لإرسال رسالة RPC إلى Catalyst 3850 عبر NETconf. يرد المحول Catalyst 3850 برسالة OK لإبلاغ المستخدم بنجاح العملية.
تنعكس عملية RPC هذه ل NetConf/Yang لتعديل تكوين توجيه OSPF من خلال نموذج بيانات NED.yang في تكوين Catalyst 3850 كما هو موضح عبر واجهة سطر الأوامر (CLI) الخاصة ب Catalyst 3850. هناك أيضا رسالة syslog على المادة حفازة 3850 أن يشير أن تشكيل تغير كان أنجزت عبر NETconf.
3850-1#
*Jan 30 14:13:41.659: %DMI-5-CONFIG_I:Switch 1 R0/0: nesd: Configured from NETCONF/RESTCONF by cisco1, transaction-id 23143
3850-1# show running-config | section ospf
router ospf 100
redistribute connected subnets
network 10.10.0.0 0.0.255.255 area 0
network 10.20.0.0 0.0.255.255 area 0
network 10.30.0.0 0.0.255.255 area 0 ------> new line added to OSPF configuration
network 10.100.0.0 0.0.255.255 area 0
3850-1#
ارجع إلى عملية save-config المشار إليها في القسم السابق من Cisco-ia.yang نموذج البيانات للحصول على تفاصيل حول كيفية حفظ running-config في startup-config على Catalyst 3850 عبر NETconf/YANG.
كما يمكن إستخدام واجهة المستخدم الرسومية (GUI) لتطبيقات Yang Explore لإنشاء برنامج نصي بلغة بايثون من أجل عملية معينة خاصة ب NETCONF/YANG. ومن بين الفوائد الرئيسية المترتبة على البرمجة النصية من قبل "بايثون" أنها تسمح بتنسيق وأتمتة عمليات الشبكة الوطنية لتركيبات الشركات الوطنية ("NETCONF")/"يانغ".
في هذا المثال، يتم تحديد عملية save-config في نافذة Explorer على الجانب الأيسر من واجهة المستخدم الرسومية (GUI) لتطبيق Yang Explorer على نظام الإدارة المركزية (الكمبيوتر المحمول). بعد ذلك، يتم تحديد زر البرنامج النصي لتوليد البرنامج النصي Python. يمكن بعد ذلك تحديد زر نسخ لنسخ النص التنفيذي بحيث يمكن لصقه في ملف يمكن حفظه في نظام الإدارة المركزية (كمبيوتر محمول) مع تمديد ملف Python .py. على سبيل المثال، (غير معروض) تم تسمية هذا الملف باسم example.py.
ملاحظة: في المثال التالي الذي يستخدم نوع النظام الأساسي الآخر في واجهة المستخدم الرسومية (GUI) نتج عنه خطأ عند تشغيل البرنامج النصي Python. ونتيجة لذلك، تم تغيير "نوع النظام الأساسي" إلى CSR نظرا لأن موجه Cisco CSR يشغل أيضا برنامج Cisco IOS XE كما هو الحال مع Catalyst 3850. وقد تجنب ذلك الخطأ.
فيما يلي توسيع لنص Python النصي الذي تم إنشاؤه ثم انسخه ولصقه في ملف يسمى Example.PY على نظام الإدارة المركزية (كمبيوتر محمول).
ملاحظة: التعليقات في بداية المثال.py مبرد أن يكون ولدت ب Yang Explorer تطبيق gui يتضمن الخطوات المطلوبة لتشغيل Python نصي. تتضمن الحمولة عملية NETCONF/YANG التي يمكن أن ينفذها البرنامج النصي. في هذا المثال، تكون عملية save-config.
"""
Netconf python example by yang-explorer (https://github.com/CiscoDevNet/yang-explorer)
Installing python dependencies:
> pip install lxml ncclient
Running script: (save as example.py)
> python example.py -a 172.16.167.174 -u cisco1 -p cisco1 --port 830
"""
import lxml.etree as ET
from argparse import ArgumentParser
from ncclient import manager
from ncclient.operations import RPCError
payload = """ <save-config xmlns
"""
if __name__ == '__main__':
parser = ArgumentParser(description='Usage:')
# script arguments
parser.add_argument('-a', '--host', type=str, required=True,
help="Device IP address or Hostname")
parser.add_argument('-u', '--username', type=str, required=True,
help="Device Username (netconf agent username)")
parser.add_argument('-p', '--password', type=str, required=True,
help="Device Password (netconf agent password)")
parser.add_argument('--port', type=int, default=830,
help="Netconf agent port")
args = parser.parse_args()
# connect to netconf agent
with manager.connect(host=args.host,
port=args.port,
username=args.username,
password=args.password,
timeout=90,
hostkey_verify=False,
device_params={'name': 'csr'}) as m:
# execute netconf operation
try:
response = m.dispatch(ET.fromstring(payload)).xml
data = ET.fromstring(response)
except RPCError as e:
data = e._raw
# beautify output
print(ET.tostring(data, pretty_print=True))
هنا ال catalyst 3850 CLI تدقيق قبل أن يركض أنت ال python نصي مثال.py أن يستطيع أنقذت ال running-config إلى startup-config. عند هذه النقطة، يكون الأمر shutdown في running-config ولكن ليس في startup-config للواجهة GigabitEthernet1/0/10.
3850-1# show running-config interface gigabitEthernet 1/0/10
Building configuration...
Current configuration : 49 bytes
!
interface GigabitEthernet1/0/10
shutdown
end
3850-1# show startup-config | begin 1/0/10
interface GigabitEthernet1/0/10
!
interface GigabitEthernet1/0/11
!
interface GigabitEthernet1/0/12
!
interface GigabitEthernet1/0/13
!
من موجه خدمات المحطة الطرفية العادية الموجود على منصة الإدارة المركزية (الكمبيوتر المحمول)، يتم نسخ ملف Python كمثال.py الذي تم إنشاؤه بواسطة واجهة المستخدم الرسومية (GUI) لتطبيق Yang Explorer إلى دليل Yang-Explore الموجود على الكمبيوتر المحمول.
USER1-M-902T:~ USER1$ pwd
/Users/USER1
USER1-M-902T:~ USER1$ cp /Users/USER1/Desktop/example.py /Users/USER1/yang-explorer
USER1-M-902T:~ USER1$ cd yang-explorer
USER1-M-902T:yang-explorer USER1$ ls -l
total 112
-rw-r--r-- 1 USER1 staff 11358 Jan 4 17:59 LICENSE
-rw-r--r-- 1 USER1 staff 13635 Jan 4 17:59 README.md
drwxr-xr-x 12 USER1 staff 408 Jan 4 17:59 YangExplorer
drwxr-xr-x 7 USER1 staff 238 Jan 4 17:59 default-models
drwxr-xr-x 3 USER1 staff 102 Jan 4 17:59 docs
-rw-r--r-- 1 USER1 staff 72 Jan 4 17:59 env.sh
-rw-r--r--@ 1 USER1 staff 1990 Jan 30 17:50 example.py
-rw-r--r-- 1 USER1 staff 207 Jan 4 17:59 requirements.txt
drwxr-xr-x 11 USER1 staff 374 Jan 5 14:37 server
-rwxr-xr-x 1 USER1 staff 4038 Jan 4 17:59 setup.sh
-rwxr-xr-x 1 USER1 staff 640 Jan 4 17:59 start.sh
drwxr-xr-x 5 USER1 staff 170 Jan 4 18:00 v
USER1-M-902T:yang-explorer USER1$
بعد ذلك، من موجه أوامر طرفية عادية على منصة الإدارة المركزية (كمبيوتر محمول)، يتم تنفيذ هذين الأمرين اللذين تم توفيرهما في قسم التعليقات في بداية Example.py file الذي تم إنشاؤه بواسطة واجهة المستخدم الرسومية (GUI) لتطبيق Yang Explorer (ارجع إلى القسم السابق، إنشاء برنامج نصي من Python من واجهة المستخدم الرسومية (GUI) لتطبيق Yang Explorer).
USER1-M-902T:yang-explorer USER1$ pip install lxml ncclient
Collecting lxml
Downloading lxml-3.7.2.tar.gz (3.8MB)
100% |████████████████████████████████| 3.8MB 328kB/s
Collecting ncclient
Downloading ncclient-0.5.3.tar.gz (63kB)
100% |████████████████████████████████| 71kB 3.5MB/s
Requirement already satisfied: setuptools>0.6 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (from ncclient)
Collecting paramiko>=1.15.0 (from ncclient)
Downloading paramiko-2.1.1-py2.py3-none-any.whl (172kB)
100% |████████████████████████████████| 174kB 3.1MB/s
Collecting six (from ncclient)
Using cached six-1.10.0-py2.py3-none-any.whl
Collecting cryptography>=1.1 (from paramiko>=1.15.0->ncclient)
Using cached cryptography-1.7.2-cp27-cp27m-macosx_10_6_intel.whl
Collecting pyasn1>=0.1.7 (from paramiko>=1.15.0->ncclient)
Using cached pyasn1-0.1.9-py2.py3-none-any.whl
Collecting cffi>=1.4.1 (from cryptography>=1.1->paramiko>=1.15.0->ncclient)
Using cached cffi-1.9.1-cp27-cp27m-macosx_10_10_intel.whl
Collecting enum34 (from cryptography>=1.1->paramiko>=1.15.0->ncclient)
Using cached enum34-1.1.6-py2-none-any.whl
Collecting ipaddress (from cryptography>=1.1->paramiko>=1.15.0->ncclient)
Using cached ipaddress-1.0.18-py2-none-any.whl
Collecting idna>=2.0 (from cryptography>=1.1->paramiko>=1.15.0->ncclient)
Using cached idna-2.2-py2.py3-none-any.whl
Collecting pycparser (from cffi>=1.4.1->cryptography>=1.1->paramiko>=1.15.0->ncclient)
Downloading pycparser-2.17.tar.gz (231kB)
100% |████████████████████████████████| 235kB 2.6MB/s
Installing collected packages: lxml, six, pycparser, cffi, pyasn1, enum34, ipaddress, idna, cryptography, paramiko, ncclient
Running setup.py install for lxml ... -
done
Running setup.py install for pycparser ... done
Running setup.py install for ncclient ... done
Successfully installed cffi-1.9.1 cryptography-1.7.2 enum34-1.1.6 idna-2.2 ipaddress-1.0.18 lxml-3.7.2 ncclient-0.5.3 paramiko-2.1.1 pyasn1-0.1.9 pycparser-2.17 six-1.10.0
USER1-M-902T:yang-explorer USER1$
يركض الأمر الثاني ال Python نصي مثال.py ضد المادة حفازة 3850 في عنوان 172.16.167.174 مع ال username/كلمة cisco1/cisco1 عن طريق TCP ميناء 830 (netconf-ssh). يرسل المحول Catalyst 3850 ردا على RPC مرة أخرى إلى نظام الإدارة المركزية (الكمبيوتر المحمول) بأن عملية save-config كانت ناجحة.
USER1-M-902T:yang-explorer USER1$ python example.py -a 172.16.167.174 -u cisco1 -p cisco1 --port 830
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:31e0fdee-b72f-4695-9e03-91ec771b37f5"><result xmlns>Save running-config successful
</result>
</rpc-reply>
USER1-M-902T:yang-explorer USER1
هنا التحقق من واجهة سطر الأوامر (CLI) الخاصة ب Catalyst 3850 بعد تشغيل مثال برنامج Python النصي.py الذي حفظ running-config إلى config startup. يتوفر الأمر shutdown الآن في كل من running-config و startup-config للواجهة GigabitEthernet1/0/10 بسبب عملية save-config NETconf/YANG الناجحة.
3850-1# show running-config interface gigabitEthernet 1/0/10
Building configuration...
Current configuration : 49 bytes
!
interface GigabitEthernet1/0/10
shutdown
end
3850-1# show startup-config | begin 1/0/10
interface GigabitEthernet1/0/10
shutdown
!
interface GigabitEthernet1/0/11
!
interface GigabitEthernet1/0/12
!
interface GigabitEthernet1/0/13
!
يوفر هذا القسم معلومات يمكنك استخدامها لاستكشاف أخطاء التكوين وإصلاحها.
يحدد بروتوكول NETconf مجموعة من العمليات والرسائل التي يتم تبادلها بين عميل NETCONF (منصة الإدارة المركزية (كمبيوتر محمول) وتنفيذ NETconf على جهاز الخادم (Catalyst 3850). عمليات NETconf شائعة الاستخدام تتضمن:
<get>، <get-config>، <edit-config>، و<rpc>
ويتم تعريف التنسيق والقيود الأخرى على محتوى رسائل NETCONF بواسطة نماذج بيانات YANG. يتفاعل عميل NetConf والخادم من خلال إرسال أجهزة RPCs.
إذا كان هناك خطأ في تنسيق رسالة NETconf، أو أن محتوى الرسالة لا يتطابق مع التعريفات الموجودة في نماذج بيانات YANG التي يتم تنفيذها بواسطة الجهاز، فيمكن لخادم NETconf الموجود على الجهاز إرجاع خطأ RPC.
<error-type>application</error-type>
لا تشير أخطاء RPC هذه إلى أن واجهة NETconf لا تعمل، حيث تشير هذه الأخطاء إلى أن العميل يحاول إجراء عملية غير معتمدة بواسطة نماذج بيانات YANG التي يتم تنفيذها على جهاز الخادم. يجب على المستخدمين مراجعة نماذج بيانات YANG التي يتم تنفيذها على جهاز الخادم لتحديد أسباب هذه الأخطاء وحلها.
في هذا المثال، يتم إستخدام نوع واجهة غير صحيح ianaift:fastEtherFX لإنشاء رسالة YANG المنسقة <edit-config> NETconf RPC لإرسالها عبر NETconf إلى المادة حفازة 3850.
ما إن يركض انتقيت أن يرسل ال RPC رسالة إلى المادة حفازة 3850، المادة حفازة 3850 رد مع خطأ رسالة.
هنا الخطأ أن كان أرجع بالمادة حفازة 3850. لاحظ أنه يحتوي على علامة خطأ "فشلت العملية" وتفاصيل إضافية تتعلق بالخطأ حيث يقول "Unsupported - القيمة يجب أن تكون ethernetCsmacd أو softwareLoopback"</nc:error-message>.
<nc:rpc-error xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
<nc:error-type>application</nc:error-type>
<nc:error-tag>operation-failed</nc:error-tag>
<nc:error-severity>error</nc:error-severity>
<nc:error-path xmlns:if="urn:ietf:params:xml:ns:yang:ietf-interfaces">/rpc/edit-config/config/if:interfaces/if:interface[if:name='GigabitEthernet1/0/16']/if:type</nc:error-path>
<nc:error-message lang="en" xmlns="https://www.w3.org/XML/1998/namespace">/interfaces/interface[name='GigabitEthernet1/0/16']/type: "Unsupported - value must be ethernetCsmacd or softwareLoopback"</nc:error-message>
<nc:error-info>
<nc:bad-element>type</nc:bad-element>
</nc:error-info>
</nc:rpc-error>
بعد ذلك، دعنا نصلح الخطأ ونعين نوع الواجهة الصحيح ianaift:ethernetCsmacd في رسالة RPC التي تم إرسالها إلى Catalyst 3850 بحيث يرد المادة حفازة 3850 برسالة ok بدلا من خطأ.
هذه المرة، ما إن يتم تحديد تشغيل أن يرسل ال RPC رسالة إلى المادة حفازة 3850، المادة حفازة 3850 رد مع ok رسالة أن يشير أن العملية نجحت.
تلميح: عند عدم التأكد مما يمكن أن يكون عليه تنسيق قيم Explorer الصحيح، يمكن النظر إلى التكوين الموجود قبل محاولة إجراء تغيير على معلمات Explorer. يمكن القيام بذلك باستخدام عملية get-config (oper) كما هو موضح.
بمجرد تحديد تشغيل لإرسال رسالة RPC إلى المحول Catalyst 3850، يرد المحول Catalyst 3850 باستخدام تكوين الواجهة المنسق YANG الذي يظهر أن نوع الواجهة هو ianaift:ethernetCsmacd.
1. رسالة الرد على خطأ RPC "قيد الاستخدام" (مؤمن config)
هذه هي إستجابة خطأ NETCONF لطلب <edit-config>. يشير <error-tag> إلى "قيد الاستخدام". تشير الاستجابة إلى أن جهاز الخادم (Catalyst 3850) NETconf الذي يشغل datastore مؤمن حاليا وتعذر إجراء عملية <edit-config> NETconf في هذا الوقت. لا يشير ذلك إلى وجود خطأ في تنفيذ واجهة NETCONF. إذا حاول عميل NetConf الكتابة إلى NetConf الذي يقوم بتشغيل DataStore عندما يكون DataStore قيد الاستخدام، فسيتلقى العميل إستجابة RPC هذه. يمكن لعميل NETCONF إعادة محاولة رسالة NetConf Edit-config. يمكن تلقي هذه الاستجابة عندما يقوم الجهاز بتنفيذ عملية داخلية للمزامنة من الجهاز لمزامنة مخطط بيانات NETconf الذي يعمل باستخدام تكوين IOSd للجهاز.
إستجابة NetConf من الخادم (Catalyst 3850) إلى العميل (نظام الإدارة المركزية (كمبيوتر محمول).
<?xml version="1.0" encoding="utf-8"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="3">
<rpc-error>
<error-type>application</error-type>
<error-tag>in-use</error-tag>
<error-severity>error</error-severity>
<error-app-tag>config-locked</error-app-tag>
<error-info>
<session-id>0</session-id>
</error-info>
</rpc-error>
</rpc-reply>
2. رسالة الرد على خطأ RPC "Data-missing"
في هذا المثال، تم إرسال <edit-config> RPC إلى Catalyst 3850 لواجهة إسترجاع لم يتم تكوينها. رجعت خطأ بما أن أنت يستطيع لا يشكل قارن أن لا يتواجد على المادة حفازة 3850.
<?xml version="1.0" encoding="utf-8"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="3">
<rpc-error>
<error-type>application</error-type>
<error-tag>data-missing</error-tag>
<error-severity>error</error-severity>
<error-path xmlns:if="urn:ietf:params:xml:ns:yang:ietf-interfaces">/rpc/edit-config/config/if:interfaces/if:interface[if:name='Loopback1111']/if:type</error-path>
<error-message xml:lang="en">/interfaces/interface[name='Loopback1111']/type is not configured</error-message>
<error-info>
<bad-element>type</bad-element>
</error-info>
</rpc-error>
</rpc-reply>
3. رسالة الرد على خطأ RPC "نموذج بيانات مفقود"
إذا تم تقديم طلب لنموذج بيانات غير موجود على المادة حفازة 3850 أو تم تقديم طلب لورقة طرفية لم يتم تنفيذها في نموذج بيانات، فإن الخادم (Catalyst 3850) يستجيب مع إستجابة بيانات فارغة. وهذا هو السلوك المتوقع.
تلميح: أستخدم وظيفة قدرات NetConf لتحديد نماذج البيانات التي يدعمها برنامج Catalyst. انظر القسم 2. من تكوين نظام الإدارة المركزية (الحاسب المحمول).
<?xml version="1.0" encoding="utf-8"?>
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"/>
4. رسالة الرد على خطأ RPC "Invalid-value"
في بعض الحالات يمكن أن تحتوي رسالة NETconf على محتوى صالح بناء على نماذج بيانات YANG، ومع ذلك، فإن الجهاز (Catalyst 3850) غير قادر على تنفيذ ما هو مطلوب. عندما ترسل واجهة NETconf على Catalyst 3850 التكوينات إلى IOS الذي لا يمكن ل IOS تطبيقه بنجاح، يتم إرجاع إستجابة خطأ RPC معينة إلى عميل NETconf.
في هذا المثال، يتم إرسال قيمة غير صالحة للتسجيل المخزن مؤقتا للزيف في رسالة RPC إلى المحول Catalyst 3850. يشير علامة الخطأ في الرد من المادة حفازة 3850 إلى قيمة غير صحيحة. تشير رسالة الخطأ إلى أن محلل Catalyst 3850 IOS لم يتمكن من تكوين مستوى خطورة التسجيل المخزن مؤقتا إلى زيف نظرا لأن هذه القيمة ليست قيمة صالحة.
<?xml version="1.0" encoding="utf-8"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="6">
<rpc-error>
<error-type>application</error-type>
<error-tag>invalid-value</error-tag>
<error-severity>error</error-severity>
<error-message xml:lang="en">inconsistent value: Device refused command "logging buffered bogus" at column 20 </error-message>
</rpc-error>
</rpc-reply>
المراجعة | تاريخ النشر | التعليقات |
---|---|---|
3.0 |
21-Dec-2023 |
تحديث متطلبات العلامة التجارية، والتهجية والتنسيق. |
2.0 |
01-Dec-2022 |
إزالة PII.
نص بديل مضاف.
تم تصحيح معلومات RPC المرجعة.
العنوان والمقدمة والترجمة الآلية والمتغيرات ومتطلبات النمط والتنسيق المحدث. |
1.0 |
17-Sep-2021 |
الإصدار الأولي |