Відкритий лекційний курс "Промислові мережі та інтеграційні технології" 4.2.2.Протоколи IP (Частина 3)
Обговорення http://asu.in.ua/viewtopic.php?f=194&t=1052
1. Промислові мережі та інтеграційні
технології
Протоколи IP
(для спеціаліста АСУТП)
Частина 3
реєстрація fieldbus_book@ukr.net
автор і лектор: Олександр Пупена (pupena_san@ukr.net)
зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua)
18.05.2015 NET - IP pupena_san@ukr.net 1
2. Резервування шлюзів за замовченням (Windows)
18.05.2015 NET - IP pupena_san@ukr.net 2
Несколько шлюзов по умолчанию может вызывать проблемы связи
Настройка нескольких шлюзов в сети
* HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces{ID}
EnableDeadGWDetec=1 – активація розпізнання непрацюючих шлюзів
- можливо декілька шлюзів за
замовченням:
- для резервування*
- вибираються по метриці
3. Ключі реєстру Windows для налаштування TCP/IP
18.05.2015 NET - IP pupena_san@ukr.net 3
Параметры конфигурации TCP/IP и NBT для Windows XP
4. Алгоритм роботи маршрутизації з використанням масок
18.05.2015 NET - IP pupena_san@ukr.net 4
вилучення з пакета
адреси призначення (IPD)
пошук специфічного маршруту
по всій таблиці: для записів з
маскою 255.255.255.255
шукається відповідність
адреса
маршрутизатора =
адресі, вибір
інтерфейсу
визначення адреси
мережі в записі
IPNET = IPD AND NetMask
специф.
маршрут
знайдено?
так
ні
IPNET
в табл.
знайдено?
для кожного запису
так
запам'ятовуван
ня запису ні
хоч один IPNET
знайдено?
пакет
відкидається
вибір самого
специфічного
такні
адреса
маршрутизатора =
адресі, вибір
інтерфейсу
з найдовшою маскою,
найменш специфічний –
маршрутизатор за
замовченням
5. Приклад таблиці маршрутизації на хості Windows XP з
двома маршрутизаторами
18.05.2015 NET - IP pupena_san@ukr.net 5
192.168.100.102
192.168.100.0/24
192.168.100.150
192.168.9.0/24
192.168.9.100
192.168.9.50
192.168.101.0/24
інші мережі
6. Деякі поля заголовку IP
18.05.2015 NET - IP pupena_san@ukr.net 6
Version – 4 для IPv4, 6 – для IPv6
IHL – довжина заголовку (вказує на кількість 32-бітних слів)
DSCP або ToS (тип сервісу - type-of-service) – прапорці характеризують особливість сервісу:
пріоритет, мінімальна затримка, максимальна пропускна здатність, максимальна надійність і
мінімальна вартість.
TTL – (час життя - time-to-live) вміщує максимальну кількість пересилань (маршрутизаторів),
через які може пройти датаграма; обмежує час життя датаграми:
• значення TTL зменшується на 1 кожним маршрутизатором
• коли досягає 0, датаграма знищується
• при знищенні відправнику може бути відправлено ICMP-повідомлення про помилку
• запобігає зациклюванню пакетів
Protocol - протоколу верхнього рівня
Flags – опції фрагментації (фрагментувати /не фрагментувати)
Header Checksum – контрольна сума заголовку, перераховується на кожному маршрутизаторі
7. Протокол ICMP (ICMPv4)
18.05.2015 NET - IP pupena_san@ukr.net 7
ICMP (Internet Control Message Protocol ) :
• входить в стек TCP/IP (обов'язковий в
реалізації)
• для передачі повідомлень про помилки та
інші нештатні ситуації
• для додаткових сервісних функцій
• ICMP-пакети інкапсулюються в IP-пакети
• дві версії: для IPv4 - ICMPv4, для IPv6 -
ICMPv6.
8. Типи ICMP повідомлень
18.05.2015 NET - IP pupena_san@ukr.net 8
Дві групи повідомлень:
• повідомлення про помилки
• запит-відповідь
9. Утиліта PING
18.05.2015 NET - IP pupena_san@ukr.net 9
ping [-t] [-a] [-n кількість] [-l розмір] [-f] [-i TTL] [-v TOS] [-r кількість] [-s кількість] [[-j списокВузлів] | [-
k списокВузлів]] [-w таймаут] кінцевийВузол
Параметр Призначення параметру
/? виводить довідку по використанню
-t Періодична відправка на вказану адресу до команди переривання. Для виводу статистики та продовження необхідно нажати
<Ctrl>+<Break>, для закінчення <Ctrl>+<C>.
-a Визначення імені (DNS) по адресі вузлу. У випадку успішного виконання виводиться ім’я відповідного вузлу.
-n кількість Кількість запитів для відправлення. По замовченню дорівнює 4.
-l розмір Довжина (в байтах) поля даних у відправлених повідомленнях з ехо-запитом. По замовченню – 32 байти. Максимальний розмір -
65527
-f Виставляє в IP-заголовку пакету відправки прапорець, який забороняє фрагментацію пакету.
-i TTL Задає значення поля TTL (тривалість життя пакету) в IP-заголовку. По замовченню – 128, максимум - 255
-v TOS Вказівка на тип служби (TOS "Type Of Service") в IP-заголовку. Задається від 0 до 255. По замовченню дорівнює 0.
-r кількість Задає значення запису шляху (Record Route) в IP-заголовку – максимальна кількість переходів між джерелом та місцем
призначення (від 1 до 9).
-s кількість Вказує на штамп часу для кожного переходу (Internet Timestamp) в IP-заголовку. Від 1 до 4.
-j списокВузлів Вказується набір IP-адрес або імен (розділених пробілами) проміжних вузлів-маршрутизаторів, через які повинні йти ехо-запити.
Вказується до 9-ти вузлів
-k списокВузлів Вказує необхідність строгої маршрутизації в IP-заголовку та перелік вузлів, через які повинен проходити ехо-запит. На відміну від
попереднього параметру, при строгій маршрутизації наступна проміжна точка призначення повинна бути досяжна напряму (вона
повинна бути сусідньою в інтерфейсі маршрутизатору). Вказується до 9-ти вузлів.
-w таймаут Визначає час очікування повідомлення з ехо-відповіддю. Якщо час виходить, то видається повідомлення про помилку "Request
timed out". По замовченню дорівнює 4000 (4 секунди)
кінцевийВузол задає IP-адресу або ім’я вузла-призначення
• Базується на протоколі ICMP
• Перевіряє досяжність вузла на рівні протоколу IP.
• Фіксує час затримки і отримання відповіді – оцінка завантаження лінії.
• ім'я DNS <->IP адреса
10. Утиліта PING: принципи функціонування
18.05.2015 NET - IP pupena_san@ukr.net 10
- вузол відправляє ехо-запит (ICMP тип=8)
зі вказаним IP, ідентифікатором, номером
та довільними даними
- вузол, отримавший ехо-запит, відправляє
ехо-відповідь (ICMP тип=0), поле даних
копіюється з ехо-запиту
Політики фільтрування пакетів для
маршрутизаторів, брандмауерів та інших
шлюзів безпеки можуть запобігати
перенаправленню ICMP-пакетів.
11. Утиліта PING: приклади
18.05.2015 NET - IP pupena_san@ukr.net 11
r – виставляє опцію запису шляху, вказується максимальна кількість
переходів між джерелом та місцем призначення (від 1 до 9)
- не всі маршрутизатори підтримують запис шляху
максимум 9 записів
12. Утиліта TRACERT
18.05.2015 NET - IP pupena_san@ukr.net 12
tracert [-d] [-h максимальна_кількість_переходів]
[-j список_вузлів] [-w інтервал] [ім’я_кінцевого_комп’ютера]
Параметр Призначення параметру
/? виводить довідку по використанню
-d Запобігає намагання команди tracert отримувати імена проміжних маршрутизаторів
по їх адресі. Збільшує швидкість виводу результатів
-h
максимальна_кількіс
ть_переходів
Задає максимальну кількість переходів на шляху при пошуку кінцевого об’єкту.
Значення по замовченню дорівнює 30
-j список_вузлів Вказує для повідомлень з ехо-запитом використання параметру вільної
маршрутизації в заголовку IP з набором проміжних місць призначення, вказаних в
списку вузлів. При вільній маршрутизації успішні проміжні місця призначення
можуть бути розділені одним або декількома маршрутизаторами. Максимальна
кількість адрес або імен в списку – 9. Список адрес представляє набор IP-адрес,
розділених пробілами
-w інтервал Визначає в мілісекундах час очікування для отримання ехо-відповідей протоколу
ICMP або ICMP-повідомлень про закінчення часу, що відповідає даному ехо-запиту.
Якщо повідомлення не отримане протягом заданого часу, виводиться зірочка (*).
Таймаут по замовченню 4000 (4 секунди)
ім’я_кінцевого_вузлу Задає точку призначення, вказану IP-адресою або іменем вузла
TRACERT (в Unix - traceroute) - визначає маршрут до місця призначення та видає статистику проходження,
використовуючи ICMP:
• виводить упорядкований список адрес маршрутизаторів
• фіксує час між відправкою і відповіддю до нього
• деякі маршрутизатори не відслідковуються (причина нижче) – видаються зірочки (*)
Додаткова статистика доступна через команду pathping.
13. Утиліта TRACERT: принципи функціонування
18.05.2015 NET - IP pupena_san@ukr.net 13
IP заголовок
TTL – (час життя - time-to-live) вміщує максимальну
кількість пересилань (маршрутизаторів), через які
може пройти датаграма; обмежує час життя IP-
датаграми:
• значення TTL зменшується на 1 кожним
маршрутизатором
• коли досягає 0, датаграма знищується
• при знищенні відправнику може бути
відправлено ICMP-повідомлення про
помилку
• запобігає зациклюванню пакетів
Принцип:
- відсилає ехо-запити ICMP з різними значеннями TTL,
постійно збільшуючи їх
- маршрутизатор зменшує значення поля TTL на 1
- при 0-му значенні маршрутизатор відсилає ICMP-
відповідь з помилкою нульового часу життя
- на кожному кроці TRACERT фіксує адресу
маршрутизатору який відповів та час відправки і
відповіді
- процес повторюється до тих пір, поки пакет не досягне
цільового вузу
- деякі маршрутизатори не відсилають ICMP повідомлень
про нульовий TTL, вийде по таймауту (виведеться зірка
"*").
14. Утиліта TRACERT + ping (приклади)
18.05.2015 NET - IP pupena_san@ukr.net 14
192.168.9.100
192.168.9.50
192.168.1.1
???
10.50.40.18 10.50.50.10
195.35.65.49
212.111.192.49
212.111.192.170
193.28.200.10
???
213.133.164.226
212.42.64.78
212.42.76.252
1
2
3
4
5
6
7
4
5
6
7
192.168.1.50
95.132.37.104
вихідні IP-datagram з запитами та вхідні з відповідями можуть проходити різними шляхами !
15. Групове віщання (multicast) в мережах IPv4: ідея
18.05.2015 NET - IP pupena_san@ukr.net 15
• використовується:
• в Internet для передачі мультимедіа за
підпискою (наприклад IPtv)
• в лок. мережах для деяких сервісів (напр.UPnP)
• в деяких пром. мережах для сервісу глобальних
даних (Ethernet/IP, FF HSE …)
• класичні (негрупові) варіанти вирішення:
• один до одного (unicast): створюється велика
кількість копій повідомлень – надлишковий
трафік
• широкомовно усім (broadcast): повідомлення
множаться (теоретично, згадай
широкомовлення) маршрутизаторами –
надлишковий трафік
• головна ідея:
• генерується одне повідомлення на групову
адресу
• маршрутизатори "знають" куди далі
перенаправляти пакети
• "останній" маршрутизатор напраялє по
локальній мережі за груповою адресою
16. Групове віщання (multicast) в мережах IPv4: принципи
18.05.2015 NET - IP pupena_san@ukr.net 16
• адресація IP-адресами класу D (деякі
закріплені за конкретними групами):
• ідентифікація груп
• ідентифікація адрес джерел віщання
• адміністративні
• групове віщання повинно підтримуватися як на вузлах так і на
маршрутизаторі
• на вузлах:
• джерело відправляє повідомлення за груповою адресою
• отримувач повинен підписатися на групу (групова адреса)
• відправник не обов'язково повинен бути в тій самій групі
• отримувач може вказати джерела на які підписався в групі (модель
SSM)
• на маршрутизаторах:
• ідентифікація груп підключених до нього хостів
• маршрутні таблиці з груповими адресами
17. Групове віщання (multicast) в мережах IPv4: протоколи
18.05.2015 NET - IP pupena_san@ukr.net 17
маршрутизатор-хост:
• приєднання/від'єднання хоста до групи: IGMP
• належність хоста в групі: IGMP
• групова розсилка в локальній мережі на канальному рівні:
сервіси фільтрації IGMP snooping (див. Ethernet ч.2)
маршрутизатор-маршрутизатор:
• формування та обслуговування графу зв'язаних в групи хостів
(покриваюче дерево)
• протоколи DVMRP, MOSPF, PIM
IGMP
• три версії: IGMPv1, IGMPv2, IGMPv3 (Windows XP/7/8)
• для вазємодії підключений_хост<->маршрутизатор:
• потрібен для підписки хоста до групи
• потрібен для опитування наявності хостів в групах
• НЕ потрібен для відправки хостом групового повідомлення
18. Внутрішні адреси IPv4 та Internet
18.05.2015 NET - IP pupena_san@ukr.net 18
• Приватні IP-адреси (private IP address, внутрішньомережні, внутрішні,
локальні,"сірі") – адреси які належать до спеціального діапазону, що не
призначені для використання в мережі Інтернет.
• призначені тільки для застосування в локальних (автономних)
мережах, розподіл мережних адрес не контролюється організаціями,
так як вони не видимі з глобальної мережі Інтернет
• адреси співпадають в різних автономних мережах
• можуть отримувати доступ до Інтернет тільки через спеціалізовані
служби: NAT, проксі-сервери, тунелювання
Клас А мережа 10.0.0.0
Клас В мережі 172.16.0.0 — 172.31.0.0
Клас С мережі 192.168.0.0 — 192.168.255.0
Нагадування: що таке приватні ("сірі" адреси)?
20. NAT: переваги та недоліки
18.05.2015 NET - IP pupena_san@ukr.net 20
Переваги
• варіант вирішення недостатньої кількості IP-адрес
• простий спосіб організації (NAT-блоки включені у більшість
маршрутизаторів)
• приховує структуру мережі від "зовнішнього світу" (IP-адреси
невидимі)
Недоліки
• до вузлів не можна підключитися із зовнішньої мережі (треба
спеціальні технології)
• порушуються принципи ієрархії протоколів, деякі протоколи не
можуть коректно працювати (FTP)
• обмежена кількість записів в таблиці NAT
• …
21. Приклад Port Forwarding
18.05.2015 NET - IP pupena_san@ukr.net 21
192.168.0.7
192.168.0.6
Simatic S7 300
S7 on TCP/IP
(TCP port=102)
1
192.168.0.0/24
192.168.0.1 (LAN)
192.168.1.10
192.168.1.1 (WAN)
192.168.1.0/255
NAT