Сторінка керівництва
Сторінки керівництва -PING (8)
pingвикористовує обов'язкові датаграми ECHO_REQUEST протоколу ICMP для отримання протоколу відповідей ECHO_RESPONSE від вузла або шлюзу. Датаграми ECHO_REQUEST (“пінги”) складаються із заголовків IP та ICMP, структури даних часу та довільного числа нерозумних байтів для “заповнення” пакета.
Якщо пакети у відповідь не будуть отримані, то програма завершить роботу з кодом виходу 1. Якщо вказанокількість пакетівтаобмеження на час роботи, але після закінчення цього часу прийнято менше запитаної кількості пакетів, то програма також завершить роботу з кодом виходу 1. При інших помилках вихід буде зроблено з кодом 2. Інакше програма завершує роботу з кодом 0. Ці значення дозволяють використовувати коди виходу визначення доступності серверів і комп'ютерів у мережі.
Ця програма призначена для тестування мереж, управління мережами та вимірювання продуктивності. Через навантаження, які вона створює в мережі, нерозумно використовуватиpingу робочий час або автоматичні сценарії.
ОПИС ПАКЕТІВ ICMP
Заголовок IP без параметрів має розмір 20 байтів. Пакет ICMP ECHO_REQUEST містить додаткові 8 байтів, призначені для заголовка ICMP, і довільна кількість байтів, що заповнюють (для забезпечення необхідного розміру пакета), що визначається аргументомрозмір пакетаданих (за замовчуванням 56). Тому кількість отриманих даних із пакета IP типу ICMP ECHO_REPLY завжди буде на 8 байтів (заголовок ICMP) більше, ніж задається.
Якщо заданий розмір даних не менше розміру структури даних часу, то програма включає тимчасову мітку, яка використовується для вимірювання часу проходу сигналу в обидвісторони. В іншому випадку такий час не буде вимірюватися.
ПОВЕРШАЮЧІ І ПОШКОДЖЕНІ ПАКЕТИ
Програма виводить повідомлення про дубльовані та пошкоджені пакети. Дубльовані пакети свідчать про ненадійний зв'язок на рівні каналу. Вони можуть з'являтися у різних ситуаціях і якщо це відбувається з невеликою частотою, то на це можна не звертати уваги.
Ушкоджені пакети є прямим свідченням неполадок в апаратній частині на одній із ділянок мережі, через яку проходили пакети (у мережі або на її вузлах).
ТЕСТУВАННЯ НА РІЗНИХ ДАНИХ
(Між) мережна частина механізму передачі даних не повинна обробляти пакети по-різному, залежно від даних, що містяться в них. На жаль, такі проблеми часто зустрічаються в мережах і залишаються невиявленими досить довго. У багатьох випадках виявляється, що некоректно обробляється деякий вироджений шаблон, наприклад, що складається з одних нулів або одиниць або близький до нього. Простий перевірки за виродженими шаблонами даних недостатньо, тому що йдеться про дані на рівні каналу даних, які можуть співвідноситися з вказаними вами найскладнішим чином.
У будь-якому випадку, такі проблеми означають, що вам належить дуже багато робіт з тестування і виявлення елементу, що вийшов з ладу. Якщо вам пощастить, то ви знайдете файл, який взагалі не передаватиметься по мережі, або буде передаватися дуже довго (у порівнянні з файлами такого ж розміру), і потім зможете дослідити його на предмет можливих проблемних шаблонів, перевірити які можна за допомогою ключа-pпрограмиping.
ЧАС АКТУАЛЬНОСТІ (TTL)
Значення TTL для пакетів IP визначає максимальну кількість IP-маршрутизаторів, через яку пакет ще буде доставлятися, а невважатися загубленим. Зараз кожен маршрутизатор в Інтернеті зменшує поле TTL під час обробки пакета на одиницю.
Відповідно до специфікації TCP/IP значення поля TTL для пакетів TCP має дорівнювати 60, але багато систем використовують менші значення (4.3 BSD використовує 30, 4.2 використовує 15).
Максимальне значення даного поля дорівнює 255, і багато Unix-систем встановлюють поле TTL для пакетів ICMP ECHO_REQUEST в 255. Тому іноді виходить, що ви можете перевірити зв'язок командою "ping" до деяких комп'ютерів, але не можете зв'язатися з ними програмамиtelnet(1) абоftp(1).
У звичному режиміpingвиводить значення часу актуальності прийнятих (повернутих) пакетів. При прийомі пакета віддаленою системою вона може виконати одну з трьох можливих дій з полем TTL у відповідь: