Національний університет «Львівська політехніка»
Інститут комп’ютерних технологій, автоматики та метрології
ІКТА
Кафедра БІТ
Звіт
Лабораторна робота №7
«Протоколи мережного рівня - IP і ICMP»
Мета роботи
У цій лабораторній роботі ми вивчимо протокол IP, зосередивши свою увагу на форматі IP дейтаграми. Будемо робити це на основі аналізу послідовності IP дейтаграм, відправлених та отриманих під час виконання програми traceroute. Також проведемо дослідження різних полів IP дейтаграми.
ТЕОРЕТИЧНІ ВІДОМОСТІ
З метою формування послідовності IP дейтаграм будемо використовувати програму traceroute для відправки дейтаграм різних розмірів у певний пункт призначення.
Нагадаємо, що traceroute працює таким чином: спочатку відправляється одна або декілька дейтаграм з встановленим в 1 полем заголовку IP "час життя" (time-to-live - TTL). Потім надсилається серія з однієї або декількох дейтаграм з тією ж адресою призначення, але зі значенням TTL 2, далі - серія дейтаграм зі значенням TTL 3, і так далі. Кожний маршрутизатор повинен зменшувати на 1 TTL кожної отриманої дейтаграми. Коли TTL досягне 0, маршрутизатор повинен знищити дейтаграму і повернути повідомлення ICMP TTL-exceeded (типу 11) на хост-відправник. У результаті, дейтаграма з TTL 1 знайде адресу першого маршрутизатора, дейтаграма з TTL 2 викличе відправку ICMP відповіді маршрутизатора 2, і т.д. Таким чином, програма traceroute допоможе виявити маршрут від вашого комп'ютера до шуканої адреси.
Запустимо traceroute і змусимо відправляти дейтаграми різної довжини. Послідовність дій відрізняється в залежності від того, на якій платформі виконується Комп'ютерний практикум - Unix/Linux чи Windows.
Завдання
1. Виконати трасування за допомогою програми pingplotter.
2. Виконати дослідження перехоплених пакетів ІР.
3. Виконати ICMP та ping.
4. Виконати ICMP та tracert.
Хід роботи
Перехоплення пакетів ІР програми traceroute(pingplotter)
1. Запустив pingplotter і ввів адресу www.gogle.com.
/
2. Вибрав пункт меню Edit – Options - Engine і ввів значення 56 в полі Packet Size.
/
3.Отримав результат.
/
4. Далі відправив набір дейтаграм більшої довжини, для чого вибрав Edit – Options - Engine і ввів значення 2000 в полі Packet Size.
/
5. Далі відправив набір дейтаграм більшої довжини, для чого вибрав Edit – Options - Engine і ввів значення 3000 в полі Packet Size.
/
6. Зупинив Wireshark трасування.
/
Дослідження перехоплених пакетів ІР
1.Відкрив командний рядок і відправив ping 8.8.8.8.
/
2. Вибрав перший ІСМР ехо-запит.
/
3. Розкрив деталі протоколу.
/
4. Виконав фрагментацію.
/
ICMP та ping
1. Запустив командне вікно і ввів команду ping –n 10 ukr.net.
/
2. Запустив Wireshark і почяв перехоплення пакетів.
/
3-4. Результат роботи програми ping у вікні Wireshark - інформація протоколу ICMP.
/
/
ICMP та tracert
1. Запустив командне вікно і ввів команду tracert ukr.net.
/
2. Результат роботи програми tracert у вікні Wireshark.
/
Відповіді на контрольні питання
Якою є Ваша ІР адреса? Якою є ІР адреса хоста призначення?
Якщо вам потрібно знати, хто в даний момент підключається до сайту, і за яким IP-адресою, спочатку зайдіть на нього. Після цього сверните вікно і через «Пуск» знову зверніться до командного рядка. Впишіть: netstat і натисніть «Enter». В вікні командного рядка будуть відображатися всі активні на даний момент об'єднання та порти. Наприклад: 198.168 .11.1: 55901, де 198.168 .11.1 - це IP-адреса хоста, а 55901 - активний порт.
Чому ІСМР пакети не мають порта відправника та порта призначення?
Під час виконання процедури Ping луну-запит з часовою позначкою надсилають адресатові. Якщо адресат активний, він приймає IP-пакет, змінює адреси відправника та одержувача місцями та надсилає пакет назад.
Якщо маршрутизатор не може доставити дейтаграму за місцем призначення, він надсилає відправнику ІСМР-повідомлення Адресат недосяжний.
Якщо приймач не в стані прийняти потік вхідних повідомлень, він надсилає відправнику спеціальний запит (quench-запит) з вимогою зменшити інформаційний потік.
Якщо маршрутизатор виявляє, що комп'ютер використовує неоптимальний маршрут, він надсилає ІСМР-повідомлення з його корекцією. Крім того, маршрутизатори мережі періодично (через 500-600 с) циркулярно повідомляють про свої маршрути, що дає змогу іншим маршрутизаторам скоректувати таблиці.
Для системних завдань синхронізації таймерів використовують ІСМР-повідомлення Запит часової позначки.
Яким є тип і код ІСМР пакету?
Тип (Type) [8 біт] – тип повідомлення; Код (Code) [8 біт] – причина проблем з доставкою дейтаграми. Для решти типів в полі Код записується нульове значення. Приклади різних значень цих полів.
Тип
Код
Опис повідомлення
0
Луна-відповідь ping
3
Адресат недосяжний
0
Мережа недосяжна
1
Комп’ютер недосяжний
2
Протокол недоступний
3
Порт недоступний
8
0
Луна-запит ping
13
Запит часової позначки
14
Часова позначка-відповідь
Якщо ІСМР надсилає UDP пакети, чи буде для даних пакетів номер протоколу ІР 01? Якщо ні, то яким він буде?
User Datagram Protocol, UDP (укр. Протокол датаграм користувача) — один із протоколів в стеку TCP/IP. Від протоколу TCP він відрізняється тим, що працює без встановлення з'єднання. UDP — це один з найпростіших протоколів транспортного рівня моделі OSI, котрий виконує обмін повідомленнями (датаграмами — англ. datagram) без підтвердження та гарантії доставки. При використанні протоколу UDP відповідальність за обробку помилок і повторну передачу даних покладена на протокол рівнем вище. Але попри всі недоліки, протокол UDP є ефективним для серверів, що надсилають невеликі відповіді великій кількості клієнтів.
Яка різниця між ICMP пакетами, що були отримані в першій частині лабораторної роботи і в другій?
Це є однакові пакети.
Дослідіть ІСМР пакети помилок. Які є відмінності між ними і пакетами ICMP echo?
Протокол ІСМР - це протокол повідомленнь про помилки, а не корекції помилок. Кінцевий вузол може зробити якісь конкретні дії задля того, щоб помилка більше не виникала, але ці дії протоколом ІСМР не регламентуються.
Кожне повідомлення протоколу ІСМР передається мережею всередині пакету ІР. Пакети ІР з повідомленнями ІСМР маршрутизуються так, як і інші пакети, без будь-яких пріоритетів, тому вони можуть навіть губитися. Крім цього, в завантаженій мережі вони можуть викликати додаткове завантаження маршрутизаторів. Для того, щоб не викликати лавини повідомлень про різноманітні помилки, втрати пакетів ІР, які переносять повідомлення ІСМР про помилки, не можуть породжувати нові повідомлення ІСМР.
Чи з виведених даних tracert можна дізнатися, який з каналів маршруту мав затримку з відповіддю значно довшу, аніж інші?
Tracert - команда, яка дуже важлива при діагностиці мережевих проблем. Проте варто враховувати, що помилитися, розглядаючи висновок команди tracert, досить просто. Тому не треба використовувати трасування маршрутів як єдиний засіб пошуку неполадок.
Затримки проходження пакетів, присутні у виводі утиліти tracert або traceroute, не мають нічого спільного із затримками для транзитних пакетів. Це пов'язано зі специфікою їх обробки на маршрутизаторі. Тому для орієнтування на них необхідно вміти правильно читати висновок команди, що досить складно.
Так, можна визначити, яка довша затримка від інших.
Висновок
У цій лабораторній роботі я вивчив протокол IP, зосередивши свою увагу на форматі IP дейтаграми. Робив це на основі аналізу послідовності IP дейтаграм, відправлених та отриманих під час виконання програми traceroute. Також провів дослідження різних полів IP дейтаграми.