چرا عیبیابی تصادفی زمان هدر میدهد
مواجه با یک مسئله شبکه، یک رویکرد بیتجربه بهطور تصادفی بین علل ممکن میپرد — بررسی یک کابل اینجا، راهاندازی مجدد یک سرویس آنجا، بدون هیچ برنامه ساختاریافتهای. این زمان هدر میدهد و، بدتر، میتواند تصادفاً مسائل جدیدی معرفی کند در حالی که یک سرنخ اشتباه را دنبال میکند. یک Systematic Troubleshooting Methodology (روششناسی عیبیابی سیستماتیک) این تصادف را با یک فرآیند ساختاریافته جایگزین میکند که علت واقعی را بهطور کارآمد محدود میکند، و مستقیماً بر تفکر لایهای معرفیشده در همان ابتدای این مجموعه تکیه میکند.
بازبینی روش عیبیابی OSI
مدل OSI، که در ابتدای این مجموعه بحث شد، صرفاً یک چارچوب آکادمیک نیست — ساختار طبیعی برای عیبیابی فراهم میکند. دو رویکرد معمولاً استفاده میشوند، هرکدام مناسب موقعیتهای مختلف.
رویکرد Bottom-Up: از لایه ۱ (فیزیکی) شروع
کن و به بالا کار کن -- مناسب وقتی مسئله
میتواند در هرجایی باشد و هیچ اشاره اولیه
قویای درباره اینکه کدام لایه مقصر است وجود ندارد
رویکرد Top-Down: از لایه ۷ (اپلیکیشن) شروع
کن و به پایین کار کن -- مناسب وقتی علامت
خاص یک اپلیکیشن است در حالی که سایرین خوب
کار میکنند، که نشان میدهد لایههای پایینتر
احتمالاً بهدرستی عمل میکنند
Divide-and-Conquer: از وسط شروع کن (معمولاً
لایه ۳) و بر اساس نتیجه به بالا یا پایین
ادامه بده -- اغلب سریعترین رویکرد برای یک
مهندس باتجربه با یک فرضیه اولیه معقول درباره
اینکه خطا احتمالاً کجاستمرور یک سناریوی واقعبینانه
یک مسئله گزارششده را در نظر بگیرید: "کاربران در VLAN فروش نمیتوانند به سرور فایل برسند." اعمال divide-and-conquer، شروع از لایه ۳، دستورات تأیید معرفیشده در سراسر این کل مجموعه را به هم پیوند میدهد.
گام اول: تأیید اتصال لایه ۳
PC# ping 192.168.20.10
Request timed out.
-- تأیید میکند یک مسئله در یا زیر لایه ۳ در
-- جایی وجود دارد -- جستجو را محدود میکند،
-- اما هنوز لایه خاص را شناسایی نمیکندگام دوم: بررسی لایه ۱/۲ در پورت Access
Switch# show interfaces gigabitethernet 1/0/5 status
Port Status Vlan Duplex Speed
Gi1/0/5 notconnect 10 auto auto
-- کشفشده: پورت "notconnect" را نشان میدهد --
-- این مستقیماً به یک مسئله فیزیکی لایه ۱
-- (کابل، پورت، یا NIC)، که پیشتر در این مجموعه
-- درباره اصول اترنت بحث شد، اشاره میکند، نه
-- چیزی در لایه ۳ یا بالاترحتی اگر علامت اصلی (شکست ping لایه ۳) بررسی مسیریابی اول را پیشنهاد میداد، علت اصلی واقعی در نهایت در لایه ۱ بود — که نشان میدهد چرا divide-and-conquer، بهجای فرض اینکه مسئله در همان لایه علامت است، ارزشمند است: یک علامت لایه ۳ لزوماً بهمعنای یک علت لایه ۳ نیست.
گام سوم: اگر لایه ۱/۲ خوب بود، به بالا ادامه بده
-- اگر پورت بهجای آن "connected" نشان میداد،
-- بررسی بعدی به لایه ۲ حرکت میکرد:
Switch# show mac address-table interface gigabitethernet 1/0/5
-- تأیید میکند آیا سوئیچ آدرس MAC درست را
-- روی این پورت یاد گرفته، که پیشتر در این
-- مجموعه درباره رفتار فورواردکردن سوئیچ بحث شد
-- اگر لایه ۲ هم درست بود، به لایه ۳ حرکت کن:
Router# show ip route 192.168.20.0
Router# show ip arp
-- تأیید میکند جدول مسیریابی مسیر معتبری
-- دارد، و اینکه تفکیک ARP، که پیشتر در این
-- مجموعه بحث شد، برای مقصد بهدرستی کار میکندیک چکلیست ساختاریافته در سراسر هر لایه
لایه ۱ (فیزیکی):
show interfaces status
بررسی: کابل متصل، پورت err-disabled نشده،
SFP/transceiver درست اگر مربوط باشد
لایه ۲ (Data Link):
show mac address-table
show vlan brief
show interfaces trunk
show spanning-tree
بررسی: اختصاص VLAN درست، هیچ STP که یک
مسیر مورد انتظار را مسدود کند، MAC یادگرفتهشده
روی پورت مورد انتظار
لایه ۳ (شبکه):
show ip interface brief
show ip route
show ip arp
ping / traceroute
بررسی: آدرسدهی IP درست، یک مسیر معتبر
وجود دارد، ARP بهدرستی تفکیک میشود
لایه ۴+ (انتقال و بالاتر):
show access-lists (بررسی شمارندههای تطبیق)
show ip nat translations
telnet (آزمایش دسترسپذیری
پورت خاص)
بررسی: هیچ ACL که ترافیک خاص را مسدود کند،
NAT بهدرستی ترجمه میکند اگر مربوط باشد،
پورت اپلیکیشن خاص قابلدسترسی است ارزش برقراری یک خطمبنا
یک روششناسی سیستماتیک بسیار بهتر کار میکند وقتی یک خطمبنای شناختهشده-خوب برای مقایسه وجود دارد — مستندسازی اینکه "معمولی" برای یک شبکه خاص چهشکلی است، شامل محتوای معمول جدول مسیریابی، اختصاصهای VLAN مورد انتظار، و وضعیت اینترفیس استاندارد. بدون این خطمبنا، تشخیص یک ناهنجاری واقعی از تغییر معمولی بهطور قابلتوجهی سختتر میشود، چون چیزی برای مقایسه وضعیت فعلی و مسئلهساز با آن وجود ندارد.
مستندسازی و تأیید تعمیر
پس از شناسایی مسئله پورت notconnect و
جاگذاری مجدد فیزیکی کابل:
Switch# show interfaces gigabitethernet 1/0/5 status
Gi1/0/5 connected 10 full 1000
PC# ping 192.168.20.10
Reply from 192.168.20.10: bytes=32 time=1msتأیید تعمیر با همان دستورات تأییدی که در طول تشخیص استفاده شدند — بهجای فرض اینکه یک تعمیر کار کرد صرفاً چون علامت فوری ناپدید شد — حلقه عیبیابی را بهدرستی میبندد و شواهد ملموسی فراهم میکند که علت زیربنایی، نه فقط علامت قابلمشاهده، واقعاً حل شده است.
چرا این روششناسی روی هر فناوری در این مجموعه اعمال میشود
چه تشخیص یک پیکربندی نادرست پروتکل Spanning Tree، یک همسایه OSPF گیرکرده در EXSTART، یک جلسه BGP که هرگز به Established نمیرسد، یا یک تونل IPsec که در Phase 1 شکست میخورد — هر تک سناریوی عیبیابی که در سراسر این مجموعه پوشش داده شد از همین الگوی بنیادین پیروی میکند: شناسایی اینکه علامت واقعاً به کدام لایه یا مؤلفه اشاره میکند، تأیید سیستماتیک بهجای حدسزدن، و تأیید تعمیر با استفاده از همان ابزارهایی که مسئله را شناسایی کردند. این نظم ساختاریافته، اعمالشده بهطور سازگار صرفنظر از اینکه کدام پروتکل یا فناوری خاص درگیر است، چیزی است که در نهایت عیبیابی کارآمد و مطمئن را از حدسزدن وقتگیر جدا میکند — و رشتهای است که هر فناوری منفردی که در سراسر این کل مجموعه پوشش داده شد را به یک مهارت عملی منسجم واحد متصل میکند.