МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
ІНСТИТУТ ПІСЛЯДИПЛОМНОЇ ОСВІТИ
КАФЕДРА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
/
ЗВІТ ДО ЛАБОРАТОРНОЇ РОБОТИ №2 на тему:
"Дослідження роботи протоколів ІР та ІСМР"
ЛЬВІВ-2014
Тема: Дослідження роботи протоколів ІР та ІСМР.
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Internet Protocol (англ. IP — Internet protocol) - маршрутизований протокол мережевого рівня стека TCP/IP. Саме IP став тим протоколом, який об'єднав окремі комп'ютерні мережі у всесвітню мережу Інтернет. Невід'ємною частиною протоколу є адресація мережі.
Властивості
IP об'єднує сегменти мережі в єдину мережу, забезпечуючи доставку пакетів даних між будь-якими вузлами мережі через довільне число проміжних вузлів (маршрутизаторів). Він класифікується як протокол третього рівня з мережевої моделі OSI. IP не гарантує надійної доставки пакета до адресата - зокрема , пакети можуть прийти не в тому порядку , в якому були відправлені , продублювати ( приходять дві копії одного пакета) , опинитися пошкодженими (зазвичай пошкоджені пакети знищуються ) або не прийти зовсім. Гарантію безпомилкової доставки пакетів дають деякі протоколи більш високого рівня - транспортного рівня мережевої моделі OSI , - наприклад , TCP , які використовують IP як транспорту.
Версія 4 (IPv4)
У сучасній мережі Інтернет використовується IP четвертої версії , також відомий як IPv4. У протоколі IP цієї версії кожному вузлу мережі ставиться у відповідність IP -адреса довжиною 4 октету ( 4 байти). При цьому комп'ютери в подсетях об'єднуються загальними початковими бітами адреси. Кількість цих біт , загальне для даної підмережі , називається маскою підмережі (раніше використовувалося розподіл простору адрес по класах - A , B , C; клас мережі визначався діапазоном значень старшого октету і визначав число адресованих вузлів в даній мережі , зараз використовується безкласова адресація ).
Версія 6 (IPv6)
В даний час вводиться в експлуатацію шоста версія протоколу - IPv6, яка дозволяє адресувати значно більшу кількість вузлів, ніж IPv4. Ця версія відрізняється підвищеною розрядністю адреси, вбудованою можливістю шифрування і деякими іншими особливостями. Перехід з IPv4 на IPv6 пов'язаний з трудомісткою роботою операторів зв'язку і виробників програмного забезпечення і не може бути виконаний одномоментно. На середину 2010 року в Інтернеті були присутні більше 3000 мереж, що працюють по протоколу IPv6. Для порівняння , на той же час в адресному просторі IPv4 були присутні більше 320 тисяч мереж, але в IPv6 мережі набагато більші, ніж в IPv4.
ICMP (англ. Internet Control Message Protocol — міжмережевий протокол керуючих повідомлень) — мережевий протокол, що входить в стек протоколів TCP/IP. В основному ICMP використовується для передачі повідомлень про помилки й інші виняткові ситуації, що виникли при передачі даних. Також на ICMP покладають деякі сервісні функції, зокрема на основі цього протоколу заснована дія таких загальновідомих утиліт як ping та traceroute.
Виконання роботи:
Умова завдання:
Ознайомитись з інструкцією та завданням до виконання роботи;
За допомогою аналізатора протоколів дослідити заголовок ІР пакетів та фрагментацію ІР пакетів при використанні утиліти ping;
За допомогою аналізатора протоколів Wireshark дослідити заголовок та основні типи повідомлень ІСМР при використанні утиліт ping та tracert;
У звіті відобразити протокол виконання лабораторної роботи та зробити висновки.
Хід дослідження заголовків ІР-пакетів на прикладі ping google.com.
ping - один з інструментів , що виступають практично в кожній операційній системі , яка обслуговує протокол TCP/IP. З його допомогою пакети ICMP ECHO_REQUEST відправляються в цільової комп'ютер. Дистанційна машина, після отримання такого повідомлення повинна відповісти за допомогою ECHO_REPLY. Тому можна визначити наступне: Конфігурація мережі робить можливою зв'язок з дистанційною машиною, і оцінку її навантаження на підставі інформацій, що стосуються кількості втрачених пакетів і часу відповіді.
/
Рис.1. ping хоста ukr.net
tracert - інструмент , який робить можливим визначення, через які маршрутизатори проходить пакет по дорозі до дистанційного комп'ютера. З початку, локальний комп'ютер посилає пакет ECHO_REQUEST в дистанційне пристрій, за параметром ТТЛ (TTL - час життя), встановленими на: 1. Перший роутер зменшує ТТЛ на один, значить до нуля, видаляє пакет і відсилає адресату повідомлення ICMP TIME_EXCEEDED. Цільовий комп'ютер, після отримання такої інформації, відновлює висилку ECHO_REQUEST, але з ТТЛ встановленим на 2. Перший роутер зменшує ТТЛ на 1, другий зробить те ж саме, встановлюючи 0, і знову видалить пакет, і відішле повідомлення TIME_EXCEEDED. Така ситуація повторюється так довго, поки пакет дістанеться до дистанційного комп'ютера, який тоді відішле відправнику повідомлення ECHO_REPLY . /
Рис.2. traceroute хоста ukr.net
/
Рис.3. Дослідження заголовків IP-пакета.
Версия/Version: 4 — для IPv4 значення поля рівне 4.
IHL — (Internet Header Length) довжина заголовка IP-пакета в 32-бітних словах (dword).
Це поле вказує на початок блоку даних (англ. payload — цінний вантаж) в пакеті. Значення цього поля рівне 5.
Довжина пакета/Total Length — довжина пакета в октеках, включаючи заголовок та дані.
Минимальное корректное значение для этого поля равно 20, максимальное — 65 535.
Значення поля рівне 60.
Ідентификатор — значення, назначене відправником пакету і призначене для визначення коректної послідовності фрагментів при збірці пакету. Для фрагментованого пакету всі фрагменти мають одинаковий ідентификатор.
Значення поля рівне 21823.
3 біта прапорів. Перший біт завжди повинен бути рівний нулю, другий біт DF (don’t fragment) оприділяє можливість фрагментації пакету і третій біт MF (more fragments) показує, чи є цей пакет останнім у ланцюзі пакетів.
Значення полів рівне 000
Зміщення фрагменту — значення, що оприділяє позицію фрагмента в потоці данних. Зміщення задається кількістю вісьмибайтових блоків, тому це значення потребує множення на 8 для переводу в байти.
Значення поля рівне 0.
Час життя (TTL) — кількість маршрутизаторів, які може пройти даний пакет. При прохождені маршрутизатора це число зменшується на одиницю. Якщо значення цього поля рівне нулю то це пакет повинен бути відкинутий і відправнику пакету може бути відправлене повідомлення Time Exceeded (ICMP тип 11 код 0).
Значення поля рівне 128.
Протокол — ідентифікатор интернет-протокола наступного рівня показує, дані якого протокола містить пакет, наприклад, TCP чи ICMP.
Значення поля рівне 01.
Контрольна сума заголовка — вираховується у відповідності з RFC 1071
Значення поля рівне ox4d6c.
IP-адреса відправника — унікальний числовий номер мережевого рівня, відправника пакета
Значення поля рівне 192.168.2.100.
IP-адреса отримувача - унікальний числовий номер мережевого рівня, отримувача пакета.
Значення поля рівне 173.194.39.71.
Октет
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
Версія
IHL
Тип обслуговування
Довжина пакета
4
Ідентификатор
Прапори
Зміщення фрагмента
8
Час життя(TTL)
Протокол
Контрольная сумма заголовка
12
IP-адрес Відправника
16
IP-адрес Отримувача
20
Параметри(від 0 до 10-и 32-х бітнихслів)
Дані
Табл.1.Загальний вигляд ІР пакета Версія 4 (IPv4)
Використання ICMP-повідомлень.
Утиліта Ping, що служить для перевірки можливості доставки IP-пакетів, використовують ICMP-повідомлення і типом 8 (эхо-запит) и 0 (эхо-відповідь).
Утиліта Traceroute, що відображає шлях слідування IP-пакетів, використовують ICMP-повідомлення з типом 11.
Октет
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0—3
Тип
Код
Контрольна сума
…
Данні(формат залежитьвідзначеньполів«Код» і«Тип»)
Табл.2. Формат пакету ICMP.
/
Рис.4. Дослідження заголовків ICMP-пакета, echo request 8.
8 Echo Request (вимагання еха):
Тип / Type — Байт що оприділяє тип пакета.
Значення поля рівне 8.
Код / Code — Байт що оприділяє код операції.
Значення поля рівне 0.
Контрольна сума заголовка/ Checksum — вираховується у відповідності з RFC 1071
Значення поля рівне 0x4d5a.
Ідентифікатор / Identifier
Значення поля рівне 0x0001.
Послідовність / Sequence number.
Значення поля рівне 0x0001.
/Рис.5. Дослідження заголовків ICMP-пакета, echo replay 0.
0 Echo Replay (відповідь ехо):
Тип / Type — Байт що оприділяє тип пакета.
Значення поля рівне 0.
Код / Code — Байт що оприділяє код операції.
Значення поля рівне 0.
Контрольна сума заголовка/ Checksum — вираховується у відповідності з RFC 1071
Значення поля рівне 0x555a.
Ідентифікатор / Identifier
Значення поля рівне 0x0001.
Послідовність / Sequence number.
Значення поля рівне 0x0001.
/
Рис.6. Дослідження заголовків ICMP-пакета, time to live exceeded 11.
11 Time to live exeeded:
Тип / Type — Байт що оприділяє тип пакета.
Значення поля рівне 11.
Код / Code — Байт що оприділяє код операції.
Значення поля рівне 0.
Контрольна сума заголовка/ Checksum — вираховується у відповідності з RFC 1071
Значення поля рівне 0xf4ff.
Висновки: Під час виконання цієї лабораторної роботи я на практиці дослідив роботу протоколів IP та ICMP, дізнався про роботу улитіт ping та tracert. З допомогою з програми wireshark перехопив та відфільтрував потік даних що містив запити по протоколу ICMP, та дослідив структуру заголовків пакетів IP та ICMP.