المقدمة
يوضح هذا المستند كيفية إنشاء مخطط نظام إلى نظام وسيط (IS-IS) من إخراج واجهة سطر الأوامر (CLI) من موجه مثبت عليه برنامج IOS-XR.
تمت المساهمة من قبل أجونج سيماراجايا، مهندس مركز المساعدة الفنية من Cisco.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة سليمة بالمواضيع التالية:
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
- ASR 9001 مع IOS-XR، الإصدار 6.3.2
- Lenovo P50 مع نظام تشغيل Windows 10 Enterprise إصدار 64 بت
- Graphviz، الإصدار 2.38
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
لاستكشاف أخطاء شبكة IS-IS وإصلاحها، فمن المهم فهم كيفية اتصال الموجهات لأغراض مختلفة. يمكنك الحصول على معلومات الطوبولوجيا، على أي حال، الطوبولوجيا قديمة.
من IOS-XR الإصدار 6.3.2، يتم إدخال الأمر show isis database verbose لإنتاج مخطط شبكة في تنسيق DOT والذي يمكن إستخدامه كإدخال لأدوات التكوين.
التكوين
تأكد من وجود عمليات تجاور IS-IS مبنية وموجه واحد على الأقل مع IOS-XR الإصدار 6.3.2 أو أعلى مثبت. أستخدم هذه الخطوات لإنشاء مخطط IS-IS المحدث من إخراج واجهة سطر الأوامر.
الخطوة 1. قم بتشغيل الأمر show isis database verbose على جهاز IOS-XR.
الخطوة 2. انسخ محتوى الأمر من الخطوة 1 إلى ملف نصي ثم احفظ الملف بتنسيق .txt.
الخطوة 3. قم بتنزيل حزمة برنامج محول DOT وتثبيتها على الكمبيوتر، على سبيل المثال Graphviz - برنامج Graph Visual Software.
الخطوة 4. بمجرد تثبيتها، افتح موجه الأمر (ينطبق هذا على Windows) وانتقل إلى الدليل حيث توجد ملفات Graphviz CLI القابلة للتنفيذ. هذا مثال على التنقل.
C:\Users\user>cd "C:\Program Files (x86)\Graphviz2.38"\bin
الخطوة 5. أستخدم CLI لتحويل الملف المحفوظ في الخطوة 1 إلى تنسيقات أخرى، مثل .png.
يوضح هذا المثال كيفية إستخدام واجهة سطر الأوامر (CLI) النقطة.
C:\Program Files (x86)\Graphviz2.38\bin>dot.exe -Tpng C:\Users\user\Desktop\isis_graph_verbose.txt -o C:\Users\user\Desktop\isis_graph_verbose.png
يوضح هذا المثال كيفية إستخدام واجهة سطر الأوامر (CLI) من Circo.
C:\Program Files (x86)\Graphviz2.38\bin>circo.exe -Tpng :\Users\user\Desktop\isis_graph_verbose.txt -o C:\Users\user\Desktop\isis_graph_verbose.png
يمكنك العثور على مزيد من التفاصيل حول واجهة سطر الأوامر (CLI) من خلال Graphviz - وثائق برامج عرض الرسم البياني.
ملاحظة: في الخطوة 5، يمكنك ببساطة تعيين متغير المسار إلى الدليل حيث توجد ملفات CLI التنفيذية الخاصة ب Graphviz.
حدود معروفة
1. إذا قمت بتشغيل المستوى 1 والمستوى 2 في IS-IS وكلاهما حاضران، عندئذ يظهر المستوى 1 فقط في إخراج Show isis Database Graph verbose (الرسم البياني الأول). لإصلاح هذه المشكلة، يمكنك تحرير ملف الإدخال وإزالة الرسم البياني للمستوى 1 أو المستوى 2، أو يمكنك أخذ الإدخال واستخدام هذه الأوامر مع الكلمة الأساسية المستوى 1 أو المستوى 2.
إظهار الرسم البياني لقاعدة بيانات Isis المستوى 1
إظهار الرسم البياني لقاعدة بيانات Isis من المستوى 2
2. تميل النقطة إلى التعطل عندما يحتوي الملف على [label=0] عناصر. أحد الأساليب هو تحرير هذه المعلومات ببساطة ثم تنفيذ واجهة سطر الأوامر.
ملاحظة: لا توجد هذه المشكلة في أدوات أخرى مثل شركة Circo.
مثال
- قم بتشغيل الأمر show isis database verbose.
RP/0/RSP0/CPU0:ASR10_9001-A#show isis database graph verbose
Wed Sep 12 11:23:38.651 AEST
/*
* Network topology in DOT format. For information on using this to
* generate graphical representations see http://www.graphviz.org
*/
digraph "level-2" {
graph [rankdir=LR];
node [fontsize=9];
edge [fontsize=6];
"ASR1" [label="\N\n172.16.0.1"];
"ASR1" -> "AASR6--9904.05" [constraint=false];
"ASR2" [label="\N\n172.16.0.2"];
"ASR2" -> "ASR2.01" [constraint=false];
"ASR2" -> "ASR2.03" [constraint=false];
"ASR2" -> "ASR3-9010";
"ASR2.01" -> "ASR2" [label=0] [constraint=false];
"ASR2.01" -> "AASR6--9904" [label=0] [constraint=false];
"ASR2.03" -> "ASR2" [label=0] [constraint=false];
"ASR2.03" -> "ASR7-9912" [label=0] [constraint=false];
"ASR3-9010" [label="\N\n172.16.0.3"];
"ASR3-9010" -> "ASR2";
"ASR3-9010" -> "AASR6--9904.09" [constraint=false];
"ASR3-9010" -> "ASR7-9912.03" [label=20] [constraint=false];
"ASR4-9006" [label="\N\n172.16.0.4"];
"ASR4-9006" -> "ASR4-9006.01" [constraint=false];
"ASR4-9006.01" -> "ASR4-9006" [label=0] [constraint=false];
"ASR4-9006.01" -> "ASR7-9912" [label=0] [constraint=false];
"AASR6--9904" [label="\N\n172.16.0.6"];
"AASR6--9904" -> "AASR6--9904.05" [constraint=false];
"AASR6--9904" -> "AASR6--9904.09" [constraint=false];
"AASR6--9904" -> "AASR6--9904.01" [constraint=false];
"AASR6--9904" -> "ASR2.01" [constraint=false];
"AASR6--9904" -> "ASR10_9001-A.01" [constraint=false];
"AASR6--9904.01" -> "AASR6--9904" [label=0] [constraint=false];
"AASR6--9904.01" -> "ASR7-9912" [label=0] [constraint=false];
"AASR6--9904.05" -> "AASR6--9904" [label=0] [constraint=false];
"AASR6--9904.05" -> "ASR1" [label=0] [constraint=false];
"AASR6--9904.09" -> "AASR6--9904" [label=0] [constraint=false];
"AASR6--9904.09" -> "ASR3-9010" [label=0] [constraint=false];
"ASR7-9912" [label="\N\n172.16.0.7"];
"ASR7-9912" -> "ASR7-9912.03" [label=20] [constraint=false];
"ASR7-9912" -> "ASR2.03" [constraint=false];
"ASR7-9912" -> "ASR4-9006.01" [constraint=false];
"ASR7-9912" -> "AASR6--9904.01" [constraint=false];
"ASR7-9912" -> "ASR10_9001-A.03" [constraint=false];
"ASR7-9912" -> "ASR11_9001-B.03" [constraint=false];
"ASR7-9912.03" -> "ASR7-9912" [label=0] [constraint=false];
"ASR7-9912.03" -> "ASR3-9010" [label=0] [constraint=false];
"ASR10_9001-A" [label="\N\n172.16.0.10"];
"ASR10_9001-A" -> "ASR10_9001-A.01" [constraint=false];
"ASR10_9001-A" -> "ASR10_9001-A.03" [constraint=false];
"ASR10_9001-A" -> "ASR10_9001-A.05" [constraint=false];
"ASR10_9001-A.01" -> "ASR10_9001-A" [label=0] [constraint=false];
"ASR10_9001-A.01" -> "AASR6--9904" [label=0] [constraint=false];
"ASR10_9001-A.03" -> "ASR10_9001-A" [label=0] [constraint=false];
"ASR10_9001-A.03" -> "ASR7-9912" [label=0] [constraint=false];
"ASR10_9001-A.05" -> "ASR10_9001-A" [label=0] [constraint=false];
"ASR10_9001-A.05" -> "ASR11_9001-B" [label=0] [constraint=false];
"ASR11_9001-B" [label="\N\n172.16.0.11"];
"ASR11_9001-B" -> "ASR11_9001-B.03" [constraint=false];
"ASR11_9001-B" -> "ASR11_9001-B.01" [constraint=false];
"ASR11_9001-B" -> "ASR10_9001-A.05" [constraint=false];
"ASR11_9001-B.01" -> "ASR11_9001-B" [label=0] [constraint=false];
"ASR11_9001-B.01" -> "WAN02" [label=0] [constraint=false];
"ASR11_9001-B.01" -> "ASR11_9001-B" [label=0] [constraint=false];
"ASR11_9001-B.01" -> "WAN02" [label=0] [constraint=false];
"ASR11_9001-B.03" -> "ASR11_9001-B" [label=0] [constraint=false];
"ASR11_9001-B.03" -> "ASR7-9912" [label=0] [constraint=false];
"ASR11_9001-B.03" -> "ASR11_9001-B" [label=0] [constraint=false];
"ASR11_9001-B.03" -> "ASR7-9912" [label=0] [constraint=false];
"WAN02" [label="\N\n172.16.151.2"];
"WAN02" -> "ASR11_9001-B.01" [constraint=false];
}
- قم بتحويل المخرجات باستخدام CLI. هذه النتيجة تعرض المخرجات من خلال أداة Circo.