Network Troubleshooting Methodology - The Systematic Approach
Методологія усунення несправностей мережі: Системний підхід
Чому методологія матриць
Проблема: Додаток бази даних «повільно». Команда мережі відмовляється від команди сервера. Команда сервера відправляє мережу. Тим не менш, користувачі розчаровані, і години були відведені в круговому відбілювання.
Рішення: Системний, науковий підхід до усунення неполадок, що використовує докази, не припущення, для виявлення причин кореня.
Вартість усунення несправностей Haphazard: Відпрацьований час, невірно фіксує, що маскує реальні проблеми, пальцем-точування між командами та деградованим досвідом користувача.
Вступ: Науковий метод, що застосовується до мереж
Усунення мережевих неполадок є фундаментально вправою в науковому методі:
- Опитування симптоми і збирати дані
- Форма гіпотези про першопричину
- Тест гіпотези з діагностичними інструментами
- Аналіз результатів і підтвердити або відхилити гіпотезу
- Впровадження виправлення на основі підтвердженої першопричини
- Видання проблема вирішується
У статті передбачено структуровані рамки для усунення неполадок мережі, що запобігає поширенню підводних каменів:
- Підтвердження біас (що тільки для доказів, які підтримують вашу початкову здогадку)
- Випадкові зміни без діагнозу (підхід "спрей і променя")
- Фіксація симптомів замість кореневих причин
- Циркулярне відключення без документів, які спробували
П'ять ключових питань
Перед тим як дайвінг в технічну діагностику, відповідь на ці п'ять критичних питань для звуження сфери дослідження:
Зміни конфігурації? Новий апарат? Оновлення програмного забезпечення? Топологічні модифікації?
- Перевірка журналів управління змінами
- Огляд останніх рішень в системах управління конфігурацією
- Запитайте: "Чи він працює вчора?"
Один користувач? Один будинок? Хто? Особливе застосування тільки?
- Один пристрій: Як і локальний номер (NIC, кабель, конфігурація)
- Один субнет: Шлюз, DHCP або випуск перемикача
- Всі: Основна інфраструктура, ISP або поширена проблема
- Технічний додаток: Сервер додатків, правило брандмауера або DNS
Весь час Тільки протягом певних годин? Випадкові причини?
- Постійний: Жорсткий збій (знімний крій, неправильне налаштування, вниз обслуговування)
- На основі часу: Витрата під час робочих годин, планові процеси
- Інтермітент/Рандом: Duplex mismatch, не вдається обладнання, інтермітент посилання
Чи можна викликати проблему на вимогу?
- Так: Чим простіше діагностувати (повідомити гіпотези)
- Ні: Налаштуйте моніторинг / запис та чекайте на повторення
Перевірити обидва кінці з'єднання
- Перспектива клієнта проти серверу
- Захоплення Packet на джерело проти призначення
- Асиметрична маршрутизація? Різні шляхи відправки проти отримання?
Модельний підхід OSI
Модель OSI забезпечує структуровану раму для усунення несправностей. Робота від шару 1 (Фізична) вгору, або від шару 7 (додаток) вниз, в залежності від симптомів.
Підхід знизу (Layer 1 → Шар 7)
При використанні: Повна втрата зв'язку, відсутність зв'язку світла, або симптоми фізичного шару
- Перевірити: Кабель підключений? Посилання вогнів на? Чистий волокна?
- Команди:
show interfacesйethtool eth0 - Дивитися: CRC помилки, зіткнення, пізні зіткнення, бігти, гіганти
- Перевірте: Правильний VLAN? Порт ввімкнено? Блокування STP?
- Команди:
show mac address-tableйshow spanning-tree - Дивитися: MAC муфта, STP топологічні зміни, VLAN mismatches
- Перевірте: Чи можна ping за замовчуванням шлюзу? Маршрутний столик правильно?
- Команди:
pingйtracerouteйshow ip route - Шукаємо: Місячні маршрути, некоректний наступний хміль, вирощувальні петлі
- Перевірте: Чи можна встановити підключення TCP? Порт блокування брандмауера?
- Команди:
telnet host portйnetstat -an, захоплення пакета - Дивитися: TCP ретрансмісії, нульові вікна, RST пакети
- Перевірити: DNS розв'язання? Відповідаючи заявку? Ауттентична робота?
- Команди:
nslookupйdigйcurl -v - Дивитися: DNS несправності, помилки додатків, часові питання
Кращий підхід (Layer 7 → Шар 1)
При використанні: Застосування-специфічні проблеми, де існує базова сумісність
Старт на Layer 7 (Is SharePoint працює? Вирішити DNS виправити IP?) і працювати лише за потреби.
Рішення Дерево: Чи є це шар 1, 2, або 3?
Використовуйте це швидке діагностичне дерево, щоб визначити, який шар не вдається:
TCP/IP не функціонує. Перевірте служби OS, перевстановити мережеві драйвери.
NIC відключений, неправильний драйвер, кабель не розгорнув. Зареєструватися ip link show або диспетчер пристроїв
Перевірити: Фізичний кабель, переключення статусу порту, VLAN призначення, ARP стіл
Перевірити: Таблиця маршрутизації, правила брандмауера, ACL. Зареєструватися traceroute щоб знайти де зупинитись у пачці
Перевірити: Налаштування сервера DNS, доступність сервера DNS, порт блокування брандмауера 53
Перевірити: Правила брандмауера, групи безпеки, послуги прослуховування на порту
Проблема - це сама програма, автентифікація або налаштування додатків
Техніка ізоляції
Якщо у вас є гіпотеза про першопричину, скористайтеся цими методами ізоляції, щоб підтвердити або відхилити її:
1. Замінити компоненти Системно
- Заміна патч-кабелю з відомим
- Тест на різні порти перемикання
- Спробуйте різні NIC (або USB адаптер)
- Тест з різних пристроїв клієнта
- Перемістити в інший VLAN/subnet
2. Захоплення Packet на декількох точках
Захоплення трафіку на джерело, проміжні точки та призначення для визначення, де пачки падають або модифіковані:
# Capture on client
tcpdump -i eth0 -w client.pcap host server.example.com
# Capture on server
tcpdump -i eth0 -w server.pcap host client.example.com
# Compare:
# - Do packets leave client? (check client.pcap)
# - Do packets arrive at server? (check server.pcap)
# - If yes/no: problem is in the path between
# - If yes/yes but server doesn't respond: server-side issue
3. Тестування помилок
Використовуються зовнішні змінні шляхом тестування підключення до одного пристрою:
# Test TCP stack without network
ping 127.0.0.1
# Test application listening locally
telnet localhost 80
# Test loopback on network interface (if supported)
# Some NICs support physical loopback for Layer 1 testing
4. Знайте доброї базиліки Порівняння
Порівняти конфігурацію та поведінку від робочої системи:
# Compare interface settings
diff <(ssh working-switch "show run int gi1/0/1") \
<(ssh broken-switch "show run int gi1/0/1")
# Compare routing tables
diff <(ssh router1 "show ip route") \
<(ssh router2 "show ip route")
Документація Під час усунення несправностей
Правильна документація запобігає прискоренню кругових відкладень, де ви намагаєте те ж саме кілька разів без її реалізації.
Шаблон усунення несправностей
Issue ID: TICKET-12345
Date/Time: 2026-02-02 14:30 UTC
Reported By: Jane Smith (jane.smith@company.com)
Affected Users: ~50 users in Building A, 3rd floor
Symptom: Cannot access file server \\fileserver01
Initial Observations:
- Issue started around 14:00 UTC
- Only affects Building A, 3rd floor
- Other buildings can access fileserver01
- Ping to fileserver01 (10.1.50.10) times out from affected users
- Ping to default gateway (10.1.30.1) succeeds
Tests Performed:
1. [14:35] Checked switch port status: gi1/0/15 is UP/UP
2. [14:38] Checked VLAN assignment: Port is in VLAN 30 (correct)
3. [14:42] Checked interface errors: 1,234 CRC errors on gi1/0/15
4. [14:45] Replaced patch cable - still seeing CRC errors
5. [14:50] Moved uplink to different port (gi1/0/16) - errors persist
6. [14:55] Checked fiber cleanliness - dirty connector found
Root Cause:
Dirty fiber connector on uplink between Building A floor switch
and distribution switch causing CRC errors and packet loss
Resolution:
Cleaned fiber connector with proper cleaning kit. CRC errors
dropped to zero. File server access restored.
Verification:
Users confirmed file server accessible. Monitored for 15 minutes
with no errors.
Time to Resolution: 25 minutes
Real-World Case Дослідження
Case Study 1: "The Network is Slow" (Важливо: Витяг вікна TCP)
Симптом
Терміни відповіді на використання бази даних від <100ms до 5+ секунд. Заявка на участь у тендері "мережі."
Початкові припущення (Wrong)
- Мережеві заклади
- WAN посилання насичений
- Пляшка брандмауера
Діагностичний процес
- Тестування Ping: RTT = 2ms (випробувано, виконайте виконання шарів 3)
- Тест пропускної здатності (iperf): 950 Мбіт/с на 1 Гбіт/с посилання (без застібки)
- захоплення пакета: Перевірені TCP Zero Window пакети з сервера бази даних
- Перевірка сервера: Сервер бази даних отримує буфери = 64KB (ціна!)
Коричневий
Сервер бази даних OS Buffers були занадто малими для високої пропускної здатності / затримки продукту. Вікно TCP заповнить, зачепивши відправника на очікування.
Рішення
# Increased TCP receive buffers on Linux database server
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.core.rmem_max=16777216
Уроки
Не припустимо: "Повільний" не завжди означає "мережу". Завжди збирають докази (підтримка затримки, захоплення пакета для поведінки) перед стрибком до висновків.
Case Study 2: Міжвідомча роз'єм (актуально: Duplex Mismatch)
Symptom
З'єднання сервера буде випадковим чином, особливо під навантаженням. Часом працював дрібний, іноді повністю невідповідний.
Initial Assumptions (Wrong)
- В’язання NIC
- Поганий кабель
- Перемикач обладнання
Diagnostic Process
- Перевірка інтерфейсу: Сервер NIC = 1000/Повний, перемикачовий порт = 1000/Half (mismatch!)
- Помилка лічильників: Масивний облік зіткнення на перемикачовому порту
- Зіткнення: Індикатор дуплексної невідповідності
Root Cause
Автопоїзд не вдалося. Сервер веде переговори з повним дуплексом, перемикач знизився на півдуплекс. У зв’язку з тим, що обидві сторони намагалися одночасно передавати.
Resolution
! Cisco switch - force full duplex
interface GigabitEthernet1/0/10
speed 1000
duplex full
Lesson Learned
Перевірити обидва кінці: Статус на сервери Нездійснено неправильне з’єднання. Завжди швидкість жорсткого коду/duplex для серверів.
Випадкові дослідження 3: "Чи нема певних веб-сайтів" (включно: MTU/PMTUD Black Hole)
Symptom
Користувачі можуть переглядати деякі веб-сайти (Google, Yahoo), але не інші (банківський сайт, портал компанії). Потрібні HTTP-запити працювали, великі сторінки, що закінчилися.
Initial Assumptions (Wrong)
- Питання DNS
- Блокування брандмауера специфічних сайтів
- ISP проблеми маршрутизації
Diagnostic Process
- Розширення DNS: Працює відмінно для всіх сайтів
- Тестування Ping: Чи можна пінгувати сайти «необхідні»
- Невеликий запит HTTP (керівник): Роботи для невеликих сторінок
- Велике завантаження: Парти після TCP
-
Тест МТУ:
ping -M do -s 1472успіхи,ping -M do -s 1473з - Моніторинг ICMP: No "Fragmentation Needed" (Тип 3 Код 4) повідомлення отримали
Root Cause
VPN тунель зменшено MTU до 1400, але брандмауер був блокуючий ICMP "Фрагментація потрібних" повідомлень. Шлях MTU Discovery (PMTUD) не може працювати, створюючи чорний отвір MTU. Невеликі пакети підходять, великі пакети з набором DF були безглуздими.
Resolution
! Implemented TCP MSS clamping on router
interface Tunnel0
ip tcp adjust-mss 1360
! Alternative: Allow ICMP Type 3 Code 4 through firewall
access-list 101 permit icmp any any packet-too-big
Lesson Learned
Розміри: Якщо невеликі запити працюють, але великі перекази не можуть, підозрюють у питаннях МТУ/фрагментації. Використовуйте пінг з бітом DF, щоб перевірити шлях MTU.
Case Study 4: Проблеми якості VoIP (актуально: QoS Misconfiguration)
Symptom
Голосові дзвінки мали хоппірний аудіо, переривчасті краплі. За час роботи (9am-5pm).
Initial Assumptions (Wrong)
- Недостатня пропускна здатність
- Перевантаження сервера VoIP
- Якість підключення ISP
Diagnostic Process
- Тест пропускної здатності: Посилання тільки 40%, що використовуються під час зайнятості
- Огляд QoS: Голосовий трафік, позначений DSCP EF (46) правильно
- Перевірка запитів: Голосова черга мала лише на 5% перебігу (до 33%)
- захоплення пакета: Голосові пакети падають під час застібки
Root Cause
Політика QoS існувала, але розподіл пропускної здатності була заново: найкраща пам'ятка отримала 60%, голос отримав 5%. За час роботи, коли збільшився трафік даних, розпущені голосові пакети через перекриття черги.
Resolution
! Corrected QoS policy
policy-map WAN-QOS
class VOICE
priority percent 33
class VIDEO
bandwidth percent 25
class CRITICAL-DATA
bandwidth percent 20
class class-default
bandwidth percent 22
Lesson Learned
Термінові питання = потужність: Якщо виникають проблеми під час зайнятих годин, це не тверда відмова, але й питання ємності/QoS. Перевірити статистику черги, не тільки загальна пропускна здатність.
Симптом
| Симптом | Р | Команди для запуску | Що дивитися |
|---|---|---|---|
| Немає посилання світла | Шар 1 | show interfaces |
Статус: вниз, немає перевізника, кабель не розгорнув |
| Збиток пакета | Шар 1/2 | show interfaces |
CRC помилки, рункі, гіганти, зіткнення, пізні зіткнення |
| Чи не пінг шлюз | Шар 2 | arp -a |
No ARP запис, MAC не навчався, блокування STP |
| Не досягнете віддаленої підмережі | Шар 3 | traceroute |
Місячний маршрут, виворітний наступний хміль, петлі маршрутизації |
| З'єднання відмовлено | Шар 4 | telnet host port |
Сервіс не слухайте, блок брандмауера, TCP RST |
| Повільна продуктивність | Шар 4+ | ping (RTT) |
Висока надійність, обмеження пропускної здатності, ретрансмісії TCP, нульові вікна |
| Чи не вирішувати ім'я хоста | Шар 7 | nslookup |
DNS сервер ненадійне, неправильне налаштування DNS, NXDOMAIN |
| Міжмітентні краплі | Layer 1/2 | ping -f (flood) |
Duplex mismatch, не вдається кабель, STP-відновлення |
| Працює іноді, не інші | Кілька | Extended ping |
Видача балансування навантаження, ЕКМП асиметрія, переповнення таблиці |
Коли Escalate
Знайте, коли продавець TAC або старших інженерів. Ескорт при:
- Вимкнено всі етапи усунення неполадок у Вашій базі знань
- Ви не маєте
- Problem передбачає наявність дефекту програмного забезпечення або дефекту обладнання
- Бізнес-ефект є критичним і трудомістким
- Кілька команд необхідно співпрацювати (додаток + мережа + сервер)
- Повний опис симптомів
- Почати час
- Діагностичне виконання команд та їх виведення
- Налаштування резервних копій
- Пакет захоплює (за наявності)
- Що ви вже пробували
Створення бази знань
Кожна сесія з усунення неполадок - це можливість навчання. Створення бази знань:
1. Створити журнал усунення несправностей
# Example structure
~/troubleshooting-journal/
├── 2026-01-15-duplex-mismatch.md
├── 2026-01-22-mtu-black-hole.md
├── 2026-02-02-tcp-window-exhaustion.md
└── README.md # Index of all issues
# Each file contains:
# - Symptom
# - Diagnostic steps
# - Root cause
# - Resolution
# - Lessons learned
# - Related tickets/documentation
2. Побудувати командний знак
Організувати часто використовувані команди за сценарієм швидкого посилання під час усунення несправностей.
3. Документація вашої мережі
- Топологічні діаграми (Layer 2 і Layer 3)
- Документація схеми IP-адреси
- ВЛАСТИВОСТІ
- Стандартні конфігурації (шаблони)
- Відомі базові лінії (інтерфейс статистика перед проблемами)
Загальні протипухлинні матеріали, щоб уникнути
浜у 涓 蹇
Зміна конфігурацій без розуміння проблеми часто робить речі гіршими або масками реального питання.
浜у 涓 蹇
Нерідко "мережеві питання" - це додаток, сервер або проблеми з клієнтами. Зберіть докази перед прийняттям полум'я.
❌ DON'T: Пропустити документування ваших кроків усунення несправностей
Ви вже зробили, або не зможете пояснити колегам, які ви спробували.
浜у 涓 蹇
Проблемні задачі часто є ранніми ознаками непередбачуваності. До того, як вони стали критичними.
❌ DON'T: Виправлення симптомів замість кореневих причин
Перезавантаження пристрою може відновити сервіс, але якщо ви не з`ясуєте, що це потрібно перезавантаження, проблема буде повторюватися.
Резюме: Системний контроль усунення несправностей
✓ До початку
- Відповідь на п'ять ключових питань (Що змінено? Хто постраждалий? Постійні або міжмітентні? Відповідність? Що таке інше?)
- Знайдіть початкові симптоми та звіти користувачів
- Перевірка останніх змін або технічного обслуговування
✓ Під час усунення несправностей
- Спосіб роботи через шари OSI (знизу або зверху вниз)
- Зміна ONE змінної в часі при тестуванні
- Документ кожного тесту і його результат
- Використовуйте палети для перегляду фактичної поведінки трафіку
- Порівняти з відомими базовими лініями
✓ Після постанови
- Перевірити виправлення дійсно вирішити проблему
- Причина кореня документів і роздільна здатність
- Оновлення бази знань
- У разі зміни конфігурації, оновлення документації
- Розглянемо: Чи можна контролювати це раніше?
Висновок
Усунення мережевих проблем – це наука і мистецтво. Наука має наступні систематичні методики, використовуючи діагностичні інструменти правильно, а також протоколи розуміння. Мистецтво знає, які тести для запуску перших за ознаками, розпізнаючи візерунки від досвіду, і знаючи, коли ескалувати.
Після того, як системний підхід, описаний в цій статті, — випробуєте правильні питання, працюючий методично через модель OSI, документуючи ваші кроки, і дізнаючись з кожного питання — ви станете більш ефективним при усунення несправностей і не допускати поширених підводних каменів, які призводять до часу і неправильних фіксацій.
Пам'яті: Ціль не просто відновити службу, але щоб зрозуміти, що вона не вдалося, тому ви можете запобігти його знову.
Останнє оновлення: 2 лютого 2026 Автор: Baud9600 Технічна команда