100 likes | 329 Views
Комп'ютерні мережі. Лекція 1 2 Додаткові можливості IP. План лекції. Повідомлення про помилки в IP – протокол ICMP Групові розсилки в IP – протокол IGMP. Протокол ICMP.
E N D
Комп'ютерні мережі Лекція 12 Додаткові можливості IP
План лекції • Повідомлення про помилки в IP – протокол ICMP • Групові розсилки в IP – протокол IGMP Лекція 12
Протокол ICMP • ICMP (Internet Control Message Protocol – протокол керівних повідомлень Інтернету) був задуманий і розроблений як простий та безпечний засіб для повідомлень про помилки і для обміну повідомленнями типу запит-відповідь • Для простого запиту, наприклад для перевірки активності деякого вузла мережі, не потрібна наявність вільних портів, а надійність доставки даних не обов’язкова • Саме для відсилання подібних нескладних запитів і отримання відповідей на них і призначений протокол ICMP • Крім того, ICMP використовується для обміну інформацією між двома хостами або хостом і маршрутизатором у разі виникнення помилок • ICMP належить до стека протоколів TCP/IP • Незважаючи на те, що пакет ICMP інкапсулюється в пакет IP, протокол ICMP відносять до мережного рівня, оскільки він не має рис, властивих протоколам транспортного рівня стека TCP/IP • Цей протокол позиціонують так само, як і протоколи маршрутизації • Спочатку протокол ICMP взагалі розглядався як невід'ємна частина протоколу IP • Протокол описаний у RFC 792, деякі доповнення зроблені у RFC-4884 Лекція 12
Основні властивості ICMP • У протоколі ICMP, на відміну від TCP або UDP, не використовуються номери портів • Для того, щоби розрізняти служби, в ICMP вказується лише тип повідомлення і код, що міститься в перших двох байтах заголовка ICMP-пакета • За цими байтами можна визначити призначення конкретного ICMP-повідомлення • Для ICMP практично не існує понять “клієнт” або “сервер” • У разі отримання ICMP-повідомлень про помилки хост-одержувач може враховувати цю інформацію, але нічого не повідомляти про це відправнику • ICMP не надає жодних гарантій доставки повідомлень • ICMP підтримує широкомовний трафік, тобто дозволяє відправляти дані одразу кільком адресатам • Ця можливість є потенційно небезпечною, зокрема, з міркувань організації атак на відмову в обслуговуванні Лекція 12
Інформація ICMP-повідомлень про помилки • У дейтаграмі з ICMP-повідомленням про помилку наводиться додаткова інформація • Після самого ICMP-повідомлення повертається заголовок IP-дейтаграми, яка викликала помилку, і 8 байтів пакета, що був вкладений в IP-пакет • Ця інформація призначена для того, щоби хост-відправник зміг ідентифікувати дейтаграму і внести корективи в процес її відправлення • Згідно з документом RFC 1122, відповідати на ICMP-повідомлення про помилку не потрібно • Формат ICMP-повідомлення про помилку: Лекція 12
Стандартні ICMP-повідомлення (1) • Хост недосяжний – host unreachable • Повідомлення надходить від маршрутизатора хосту, який відправив пакет, що не був доставлений через деяку (як правило, невідому) причину • Можливо, хост з указаною IP-адресою взагалі не існує • Або він в цей момент не в змозі відповісти на запит • Або ж цей хост не відповідає через неправильне налаштовування • У будь-якому випадку хост не здатний самостійно відправити повідомлення про помилку, тому це робить маршрутизатор • Порт недосяжний – port unreachable • Повідомлення надходить від хоста-одержувача відправнику та інформує останнього про те, що на вказаний UDP-порт запитів не очікується • Заборонено адміністратором – unreachable - admin prohibited • Таке ICMP-повідомлення про помилку може видавати маршрутизатор, який працює як шлюз для деякої мережі • У списку керування доступом маршрутизатора можуть бути встановлені обмеження на передачу в локальну мережу деяких видів трафіка • У разі спроби передати заборонений пакет маршрутизатор може відповісти таким ICMP-повідомленням • У цьому повідомленні не вказують об’єкт блокування (наприклад, порт одержувача або IP-адресу відправника) Лекція 12
Стандартні ICMP-повідомлення (2) • Необхідна фрагментація – fragmentation needed • Це ICMP-повідомлення дозволяє проінформувати відправника про неможливість доставки дейтаграми за вказаною адресою без її фрагментації • Це ICMP-повідомлення містить значення MTU мережі, в якій необхідна фрагментація пакета • Переспрямувати – redirect • За допомогою такого повідомлення хост-відправник інформується про вибір для доставки пакета неоптимального маршрутизатора та про необхідність додати адресу оптимального маршрутизатора в таблицю маршрутизації • Фактично, це повідомлення призначене для здійснення віддаленого керування таблицями маршрутизації на хостах • На маршрутизаторах для цього ефективно використовуються протоколи маршрутизації • Певний час ICMP-повідомлення redirect підтримувались багатьма операційними системами • Існують різновиди таких повідомлень, як, наприклад, redirect datagrams for the network і redirect datagrams for the host • Перевищення ліміту часу – time exceeded in-transit • Коли значення поля TTL у заголовку ІР пакета стає рівним 0, маршрутизатор повинен відкинути таку дейтаграму і повернути відправнику таке ICMP-повідомлення • Повідомлення містить IP-адресу вузла мережі, який був змушений знищити дейтаграму Лекція 12
Групові розсилки в IP • Типи адрес: • unicast – лише одному • broadcast – усім • multicast – групі • anycast – будь-кому з групи (IPv6) • Концепція групових розсилок: • Відправники знають лише групову адресу • Відправники не повинні знати членів групи • Відправники не зобов’язані бути членами тієї групи, якій вони надсилають дані • Група може бути утворена вузлами, що належать до різних IP мереж і підмереж • Вузли можуть приєднуватись до груп і виходити з груп без реєстрації або перемовин з централізованим керівництвом Лекція 12
Протоколи групових розсилок • IGMP – Internet Group Messaging Protocol • За цим протоколом маршрутизатор дізнається про приналежність хостів, що беспосередньо підключені до нього, до певних груп • Версія 1 – 1989 рік, RFC 1112 • Групові адреси IGMP • 224.0.0.0 – 224.0.0.255 – зарезервовані • 224.0.0.1 – усі кінцеві вузли • 224.0.0.2 – усі маршрутизатори • 224.0.1.0 – 238.255.255.255 – групи в Інтернеті • 224.0.1.7 – група одержувачів аудіоновин • 239.0.0.0 – 239.255.255.255 – групи в локальних мережах • Протоколи групової маршрутизації • DVMRP – Distance Vector Multicast Routing Protocol • MOSPF – Multicast OSPF • PIM – Protocol Independent Multicast Лекція 12
Повідомлення IGMP • Маршрутизатор розсилає повідомлення HMQ (Host Membership Query) за адресою 224.0.0.1 (тобто, усім кінцевим вузлам) з TTL=1 (тобто, його отримають лише вузли, що підключені безпосередньо) • Кінцеві вузли передають відповідь HMR (Host Membership Reply) для кожної групи, до якої вони належать • Формат повідомлень: версія:1 = RFC 1112 2 і більше – сумісні з 1 тип: 1 = HMQ 2 = HMR адреса: для HMQ = 0.0.0.0 для HMR – адреса групи Лекція 12