Рішення проблем із з’єднаннями в мережах windows

Отже, я показав вам все хитрощі, які ви можете використовувати при роботі з командою ping для діагностики проблем підключення. У цій частині ми продовжимо розмову розглядом деяких варіацій цих прийомів.

втрата пакетів

Отже, поки ми використовували команду ping, вона була або успішною, або безуспішною. У цій ситуації не було третього варіанту. Як ви, можливо, пам'ятаєте, команда ping створена для повернення чотирьох різних відповідей. Іноді, один або більше відповідей можуть не дійти, в той час як інші залишаються успішними. Коли таке трапляється, цієї означає, що сталася втрата пакетів.

У такій ситуації локальний хост або віддалений хост (або обидва) функціонує правильно, однак існує умова, що викликає втрату пакетів під час передачі. Протокол TCP / IP створений так, що може повторювати спробу передачі, коли виникає втрата пакета, але втрата пакетів значно знижує продуктивність. Низькошвидкісне підключення без втрати пакетів буде перевершувати по продуктивності високошвидкісне підключення, в якому виникає втрата пакетів.

Підступним у втраті пакетів є те, що іноді її дуже важко виявити. Звичайно, ви знаєте, що була втрата пакетів, якщо один з відповідей ping виявився невдалим, але ICMP пакети, які використовуються в командах ping, настільки малі, що можуть успішно повертатися, навіть якщо в мережі існує умова, яке здатне викликати втрату пакетів в реальності.

Якщо ви підозрюєте, що втрата пакетів має місце, однак команда ping не вказує ніяких помилок, ви можете спробувати збільшити розмір ICMP пакетів. Пакети великих розмірів більш схильні до втрат, якщо в мережі є проблеми. Ви можете сказати команді ping використовувати пакети великих розмірів c допомогою перемикача 'L.

Ping 192.168.1.1 'L 1024

Реальний приклад використання цієї команди показаний на малюнку A.

Рішення проблем із з'єднаннями в мережах windows

Малюнок A. Додавання перемикача 'L до команди дозволяє збільшувати розмір ICMP пакета

Термін життя пакета (Time To Live)

Наступним поняттям, яке я хочу обговорити в зв'язку з командою ping, є термін життя пакета (Time To Live - TTL). Якщо ви подивіться на малюнок A, то зверніть увагу, що кожен ping відповідь закінчується на TTL = 64.

Як ви, мабуть, знаєте, Інтернет складається з величезної кількості маршрутизаторів, які з'єднані один з одним. Кожен маршрутизатор підключений як мінімум до двох інших маршрутизаторів. Суть такої архітектури полягає в тому, що якщо з'єднання дає збій, повинен бути ще як мінімум один шлях до місця призначення. Проблема такого типу архітектури полягає в тому, що при певних обставинах збої з'єднання можуть викликати ситуацію, в якій пакети будуть ходити по колу нескінченно, так і не досягаючи своєї мети призначення.

трасування маршруту

Ще одна причина, по якій значення TTL так корисно, полягає в тому, що інструмент діагностики під назвою tracert грунтується на ньому. Використання команди ping відмінно підходить для малих мереж, в яких віддалений вузол знаходиться в безпосередній близькості від вузла відправки, але коли мова заходить про глобальну мережу, віддалений вузол може розташовуватися в тисячах миль. В цьому випадку ICMP пакет, згенерований командою ping, повинен буде пройти через дюжину маршрутизаторів, щоб досягти віддаленого вузла. Іноді можна зіткнутися з ситуацією, в якій віддалений хост і локальний хост (або обидва) працює коректно, але один з маршрутизаторів на шляху має проблеми. На щастя, ви можете використовувати команду tracert для діагностики такого типу проблем.

Команда tracert, по суті, заснована на команді ping. Основна ідея команди tracert полягає в тому, що вона відправляє ICMP пакет на віддалений вузол, однак значення TTL встановлено в одиницю. Це змушує перший-ліпший на шляху маршрутизатор відправляти минулий термін TTL в транзитному сполученні. Це повідомлення містить інформацію, що ідентифікує маршрутизатор, який справив це повідомлення. Ідентифікація маршрутизатора документується, після чого ICMP знову відправляється, але на цей раз з TTL значенням, встановленим в два. На цей раз ICMP пакет досягає другого маршрутизатора, перш ніж термін значення TTL закінчується. Цей процес повторюється, щоразу збільшуючи значення TTL на одиницю, до тих пір, поки віддалений вузол не буде досягнутий. Це дозволяє переглядати звіт про всі маршрутизаторах між локальним і віддаленим вузлом. Іноді можна використовувати цю інформацію для виявлення проблем в маршруті, які можуть впливати на потік трафіку.

Рішення проблем із з'єднаннями в мережах windows

Малюнок B. Команду tracert можна використовувати для виявлення потоку трафіку.

Є пара моментів, які необхідно враховувати при використанні команди tracert. По-перше, на деяких вузлах використовуються брандмауери, що блокують ICMP пакети. У цьому випадку буде відображатися серія зірочок, яка вказує на те, що трасування маршруту не змогла отримати інформацію з певного вузла.

Рішення проблем із з'єднаннями в мережах windows

Малюнок C. Можна виконувати візуальну трасування tracert для визначення географічного розташування хоста