Відкритий лекційний курс "Промислові мережі та інтеграційні технології" 4.1.1.Протоколи IP (Частина 1)
Обговорення http://asu.in.ua/viewtopic.php?f=194&t=1052
Обговорення Ethernet та TCP/IP підняв http://replace.org.ua/topic/4773/ і http://dou.ua/forums/topic/13492/
1. Промислові мережі та інтеграційні
технології
Протоколи IP
(для спеціаліста АСУТП)
Частина 1
реєстрація fieldbus_book@ukr.net
автор і лектор: Олександр Пупена (pupena_san@ukr.net)
зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua)
28.04.2015 NET - IP pupena_san@ukr.net 1
2. Стек TCP/IP
28.04.2015 NET - IP pupena_san@ukr.net 2
• прикладний - реалізаціѐ типових задач: FTP –
пересиланнѐ файлів, HTTP – доступ до ВЕБ-
сайтів, Telnet – длѐ доступу терміналу, SMTP –
робота з поштоя…
• транспортний – реалізаціѐ доставки даних
прикладним процесам: TCP – надійна доставка
зі встановленнѐм з'юднаннѐ, UDP – швидка без
з'юднаннѐ але ненадійна (по можливості)
• міжмережний – реалізаціѐ доставки між
вузлами в об'юднаних мережах: IP – доставка,
всі інші длѐ обслуговуваннѐ роботи IP
Прикладний
рівень
(+сеансовий,
представленнѐ)
FTP, Telnet, HTTP,
SMTP…
Транспортний
рівень
TCP, UDP
Міжмережний
рівень (мережний)
IP, ICMP, RIP, OSPF
Рівень доступу до
мережі (канальний
+ фізичний)
не
регламентується
Стек TCP/IP – ієрархічно організований набір мережних протоколів, що використовуються
в Інтернеті та комп'ютерних мережах; функціонують взаємопов'язано для виконання
типових задач.
Що таке стек TCP/IP?
3. Спрощена модель роботи стеку TCP/IP
28.04.2015 NET - IP pupena_san@ukr.net 3
• потік даних від прикладного рівнѐ йде на
транспортний рівень длѐ відправки за
призначеннѐм
• потік ділитьсѐ на частини (пакети),
відправлѐютьсѐ по надійному але повільному
сервісу (TCP сегменти) або ненадійному але
швидкому (UDP дейтаграми)
використовуячи IP
• IP пакети відправлѐятьсѐ до найближчого
маршрутизатору, використовуячи кадри
мережних інтерфейсів: упаковка в кадр;
транслѐціѐ IP в апаратну адресу (MAC)
Як працяю стек TCP/IP?
4. Типи сервісів (на різних рівнях мережі)
28.04.2015 NET - IP pupena_san@ukr.net 4
Що таке "datagram" та "встановленнѐ з'юднаннѐ"?
Різні типи сервісів відносно з'юднаннѐ:
• зі встановленнѐм з'юднаннѐ (логічне з'єднання, віртуальний
канал)
• без встановленнѐ з'юднаннѐ
Відносно підтвердженнѐ доставки пакетів:
• з підтвердженнѐм (квітуваннѐм), надійні
• без підтвердженнѐ, ненадійні
• пакети що не потребуять підтвердженнѐ називаятьсѐ
datagram (дейтаграми)
5. Об'єднання мереж
28.04.2015 NET - IP pupena_san@ukr.net 5
Олифер В.Г. Олифер Н.А. Компьятерные сети. Принципы технологии протоколы СПб.: - Питер, 2010, 916 с. 4 изд.
Що таке інтермережа?
Таненбаум Э., Уэзеролл Д. Компьятерные сети Учебное пособие по компьятерным сетѐм.5-е изд. СПб.: Питер,
2012. — 960 с.
- фізичний і канальний рівень
об'юднуваних мереж можуть
відрізнѐтисѐ
- об'юднаннѐ за допомогоя
маршрутизаторів (router)
- функціонуваннѐ на з'юднуваних
вузлах та маршрутизаторах юдиного
мережного протоколу
R
R
R
R
R
Інтермережа (internet, internetwork, составная
сеть (Олифер) ) – мережі (часто різні за типом),
об'єднані між собою в єдину мережну систему, в
якій вузли об'єднаних мереж можуть спілкуватися
між собою.
6. Маршрутизатори
28.04.2015 NET - IP pupena_san@ukr.net 6
- підклячаятьсѐ відразу до декількох
мереж через наѐвні інтерфейси
(мережні адаптери, порти)
- підтримуять фізичний та канальний
рівні длѐ кожної мережі
- реалізаціѐ протоколу мережного
рівнѐ на кожному вузлі та
маршрутизаторах
мережа 1
(напр. Ethernet)
маршрутизатор
мережа 2
(напр. FDDI)
інтерфейс 1
інтерфейс 2
вузол 1 вузол 2
PHYSICAL
(фізичний)
доставка бітів
DATA LINK
(канальний)
доставка блоку байт потрібним вузлам в
цій же мережі
NETWORK
(мережний)
доставка блоку байтів потрібним
вузлам у різних мережах, з'єднаних
маршрутизаторами
Що таке маршрутизатори?
7. Сегментація мережі
28.04.2015 NET - IP pupena_san@ukr.net 7
Чим відрізнѐятьсѐ між собоя репітери, концентратори, мости, комутатори,
маршрутизатори, шлязи ?
PRESENTATION
PHYSICAL
DATA LINK
NETWORK
TRANSPORT
SESSION
APPLICATION
PRESENTATION
PHYSICAL
DATA LINK
NETWORK
TRANSPORT
SESSION
APPLICATION
Gateway
Router
Bridge/S
witch
Repeater/
Hub
Repeater (повторювач) – поєднує два фізичних сегменти
однієї мережі з однаковим інтерфейсом для підсилення
сигналу (збільшення відстані, кількості вузлів), ретранслятор.
Hub (концентратор) – поєднує декілька фізичних сегментів
однієї мережі в одну логічну шину (багатопортовий
повторювач)
Bridge (міст) – поєднує два сегменти однієї мережі (не
обов'язково з однаковим фізичним рівнем), при цьому
проводить фільтрацію кадрів між ними (однаковий протокол
канального рівня)
Switch (комутатор) – багато-портовий міст для паралельної
комутації між каналами на основі інформації з канального
рівня.
Router (маршрутизатор) – поєднує декілька сегментів різних
мереж (можливо з різним стеком реалізації канального і
фізичного рівня) забезпечує передачу даних між ними по
мережній адресі та маршрутним таблицям
Gateway (Шлюз) – забезпечує обміном даними між різними
мережами (навіть з повністю різним стеком протоколів,
наприклад Modbus та Profibus)
8. Мережний рівень OSI
28.04.2015 NET - IP pupena_san@ukr.net 8
Які сервіси повинен виконувати мережний рівень?
- просуваннѐ мережних пакетів (N-PDU) між
мережами (маршрутизаціѐ)
- зв'ѐзок мережної адреси з апаратноя
адресоя локальної мережі длѐ доставки
кадрів з N-PDU в середині мережі
- додаткові: діагностичні, конфігураційні
(ручне та автоматичне налаштуваннѐ
маршрутизації)
забезпечує доставку блоку байтів потрібним вузлам у різних мережах, з'єднаних
маршрутизаторами
9. Протоколи IP та допоміжні протоколи мережного рівня
28.04.2015 NET - IP pupena_san@ukr.net 9
Якими протоколами реалізовані сервіси мережного рівнѐ в стеці TCP/IP?
просуваннѐ мережних пакетів (N-PDU) між
мережами (маршрутизаціѐ)
IPv4, IPv6 – доставка між мережами
IGMP - групова передача (поверх IPv4)
зв'ѐзок мережної адреси (IP) з апаратноя
адресоя локальної мережі (MAC) длѐ доставки
кадрів з N-PDU в середині мережі
ARP
додаткові: діагностичні, конфігураційні
(ручне та автоматичне налаштуваннѐ
інтерфейсів та маршрутизації)
ICMP – діагностика та повідомлення про
помилки
DHCP, BOOTP, RARP – автоматичне
конфігурування вузлів
RIP, OSPF, BGP, - протоколи маршрутизації
(динамічне наповнення маршрутних
таблиць)
10. Протоколи IPv4 та IPv6
28.04.2015 NET - IP pupena_san@ukr.net 10
IP (Internet Protocol) – протокол мережного рівнѐ, здобув популѐрність
через використаннѐ його в Internet.
IPv4 (IP версії 4) – 4-байтова адресаціѐ вузлів
IPv6 (IP версії 6) – 16-байтова адресаціѐ вузлів
IPv4 IPv6
поки-що більшість вузлів в
Інтернет працяять з ціюя
версіюя
поки не знайшов широкого
вжитку, з кожним роком все
більша підтримка
дефіцит адрес IP 340 282 366 920 938 463 463 374 607 431 762 211 456
великі затрати ресурсів на
маршрутизація
спрощена маршрутизаціѐ
зв'ѐзок з адресами на
канальному рівні з
використаннѐм додаткових
протоколів (ARP)
адресаціѐ на канальному
рівні враховуютьсѐ в IP
адресі
Що таке IPv4 та IPv6? Надалі розглядаємо тільки IPv4.
11. Адресація в стеці TCP/IP
28.04.2015 NET - IP pupena_san@ukr.net 11
Типи адрес:
- локальні, апаратні адреси: призначені длѐ
адресації вузлів всередині мережі, наприклад
MAC-адреса в Ethernet
- мережні IP адреси: призначені длѐ адресації
вузлів в об'юднаній інтермережі, що не
залежить від реалізації кожної з них; длѐ
маршрутизації в IPv4 логічно мережна адреса
повинна вклячати:
• номер мережі (підмережі)
• номер вузла в мережі
- символьні доменні імена (DNS-імена):
призначені длѐ символьної адресації вузлів;
доменним іменам ставитьсѐ у відповідність IP-
адреси
Так ѐк адресуятьсѐ вузли в з'юднаній інтермережі?
193.28.200.10
13. Адресація IP (IPv4)
28.04.2015 NET - IP pupena_san@ukr.net 13
• логічно мережна адреса повинна вклячати:
• номер мережі (підмережі)
• номер вузла в мережі
• в структурі запису IP-адреси не визначено де
номер підмережі а де номер вузла (крапки - це
просто роздільник байтів)
• декілька варіантів вирішеннѐ:
• фіксована,
• на базі маски,
• на базі класів адрес
193.28.200.10
Яким чином визначити, ѐка частина адреси відповідаю за номер мережі а ѐка за
номер вузла в ній?
C1.1C.C8.0A
11000001.00011100.11001000.00001010
* RFC – документи з технічними специфікаціѐми та стандартами длѐ Інтернету від
IETF/ISOC (спільнота Інтернету)
14. Адресація на базі фіксованої границі (RFC760*)
28.04.2015 NET - IP pupena_san@ukr.net 14
Не використовується в IPv4!
193.28.200.10
C1.1C.C8.0A
11000001.00011100.11001000.00001010
* RFC – документи з технічними специфікаціѐми та стандартами длѐ Інтернету від
IETF/ISOC (спільнота Інтернету)
• адреса ділитьсѐ на фіксовані 2 частини: номер
мережі (підмережі), номер вузла
• всі мережі маять фіксовану максимальну кількість
вузлів, погана масштабованість
номер мережі номер вузла
15. Адресація на базі класів (класова адресація, RFC791*)
28.04.2015 NET - IP pupena_san@ukr.net 15
* RFC – документи з технічними специфікаціѐми та стандартами длѐ Інтернету від
IETF/ISOC (спільнота Інтернету)
• виділѐятьсѐ 5 класів адрес (A..F)
• відношеннѐ до класу
визначаютьсѐ першими бітами
адреси
• найбільш поширені класу С
• D – тільки длѐ групової адресації
• E – зарезервовано
• реально тільки 3 класи мереж,
дуже груба градаціѐ
Клас
Перші
біти
Найменший
номер
мережі
Найбільший номер
мережі
Максимальна
кількість вузлів в
підмережі
А 0
1.0.0.0
(0 - не
викор.
126.0.0.0
(127 — резерв)
224, поле 3 байта
B 10 128.0.0.0 191.255.0.0 216, поле 2 байта
C 110 192.0.0.0 223.255.255.0 28, поле 1 байт
D 1110 224.0.0.0 239.255.255.255 Групові адреси
E 11110 240.0.0.0 247.255.255.255 Зарезервовано
193.28.200.10
11000001.00011100.11001000.00001010
клас С
номер мережі
(193.28.200.0)
номер вузла
(0.0.0.10)
16. Адресація на базі масок (RFC 950, RFC 1518*)
28.04.2015 NET - IP pupena_san@ukr.net 16
* RFC – документи з технічними специфікаціѐми та стандартами длѐ Інтернету від IETF/ISOC (спільнота Інтернету)
• частина адреси що призначена длѐ номера мережі визначаютьсѐ маскою –
послідовністя одиничних бітів
• номер_мережі = IP_адреса AND маска
• запис може бути в формі завданнѐ кількості бітів, наприклад маска 255.255.128.0
маю 17 одиничні бітів, тому аналогічний запис 129.64.134.5/17
• використовуютьсѐ длѐ розділеннѐ на підмережі (subnetting) та об'юднаннѐ
підмереж (supernetting)
• маски длѐ класів: А-255.0.0.0, B – 255.255.0.0, C-255.255.255.0
IP=129.64.134.5
10000001.01000000.10000110.00000101
Маска=255.255.128.0
11111111.11111111.10000000.00000000
AND
номер мережі
(129.64.128.0)
номер вузла
(0.0.6.5)
IP=129.64.134.5
Маска=255.255.128.0
IP=129.64.134.5/17
аналогічний
запис
17. Особливі IP адреси
28.04.2015 NET - IP pupena_san@ukr.net 17
• не дозволѐютьсѐ назначати мережним картам наступні адреси:
• всі лог."1" та всі лог."0" длѐ призначеннѐ адрес вузлам або
мережам
• формату 127.x.x.x
• 0.0.0.0 – невизначена адреса, ставитьсѐ тільки в поле адреси
відправника
• 0-й номер мережі – вузол призначеннѐ в тій самій мережі що і вузол
відправника, ставитьсѐ тільки в поле адреси відправника
• 255.255.255.255 – обмежена широкомовна адреса (limited broadcast),
розсилаютьсѐ всім вузлам в тій же мережі, що і відправник
• всі лог."1" в номері вузла – широкомовним (broadcast), розислаютьсѐ
усім вузлам в указаній мережі, наприклад 193.28.200.255 відсилаю всім
вузлам в мережі 193.28.200.0
• адреси 127.x.x.x вказуятьсѐ в полі призначеннѐ длѐ відправки самому
собі ("петлѐ", loopback )
Які правила IP адресації вузлів?
18. Розподіл IP-адрес в Інтернеті
28.04.2015 NET - IP pupena_san@ukr.net 18
• унікальність IP адрес в Інтернет досѐгаютьсѐ за рахунок іюрархічного
розподілу (виділеннѐ пулу* з доступних адрес):
• головна ICANN (Internet Corporation for Assigned Names and
Numbers)
• ICANN координую американську, ювропейську і азійську
• ті координуять регіональних провайдерів, ѐкі мілкіших
провайдерів і т.д.
• проблема з дефіцитом IP-адрес (мало доступних адрес, неефективне
використаннѐ особливо в великих мережах), вирішуютьсѐ:
• видачея кінцевим користувачам приватних ("сірих") адрес та
використаннѐ технологій NAT, proxy
• використаннѐ безкласової міждоменної маршрутизації CIDR на
базі масок змінної довжини (префіксів)
Як контроляютьсѐ унікальність IP-адрес вузлів в Інтернеті?
* пул адрес – набір доступних в даний момент адрес
19. Приватні IP-адреси
28.04.2015 NET - IP pupena_san@ukr.net 19
• Приватні 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. Ручне налаштування IP (Windows)
28.04.2015 NET - IP pupena_san@ukr.net 20
на один мережний інтерфейс можна
привѐзати декілька пар IP - маска
23. Зв'язок IP з апаратною адресою Ethernet
28.04.2015 NET - IP pupena_san@ukr.net 23
• на кожному вузлі чи маршрутизаторі вирішуютьсѐ ѐкому вузлу в цій же
мережі передати пакет (наступному маршрутизатору чи кінцевому
вузлу), тобто ѐка адреса IP в локальній мережі
• цей пакет повинен упакуватисѐ в кадр Ethernet та передатисѐ цьому
маршрутизатору/вузлу за МАС-адресоя
• на кожному IP-вузлі ю таблицѐ з відповідністя IP<->МАС, ѐка
називаютьсѐ ARP-таблицею
Як IP-пакети передаятьсѐ в мережі (наприклад Ethernet), адже мережні карти обміняятьсѐ
по адресі MAC а не IP?
24. ARP-таблиця та утиліта arp (Windows)
28.04.2015 NET - IP pupena_san@ukr.net 24
• ARP-таблиця вміщую записи
відповідності IP<->MAC
• може заповняватисѐ статично,
наприклад за допомогоя утиліти
arp, або іншими програмами
• формуютьсѐ динамічно за
допомогоя функціонуваннѐ
протоколу ARP
• динамічні записи маять час
життѐ, і ѐкщо не використовуятьсѐ
– видалѐятьсѐ (ѐк правило
хвилини)
25. Протокол ARP (в Ethernet)
28.04.2015 NET - IP pupena_san@ukr.net 25
• ARP (Address Resolution Protocol) – забезпечую прив'ѐзку фізичних адрес до
IP-адрес, функціоную на мережному рівні поверх канального
Алгоритм:
• при вкляченні вузла/маршрутизатору всі
його ARP-таблиці пусті
• (1) служба IP запитую службу ARP «Який
МАС у інтерфейсу з таким IP?»
• (2) ARP служба дивитьсѐ в ARP-таблиця,
ѐкщо IP-адреси немаю формуютьсѐ
широкомовний ARP-запит (3), ѐкий
вкладаютьсѐ в кадр Ethernet з
широкомовноя адресоя
(FF:FF:FF:FF:FF:FF)
• всі вузли Ethernet отримуять запит і
направлѐять своїй службі ARP, ѐка
порівняю запитувану IP-адресу зі своюя, у
кого співпала – генеруютьсѐ відповідь
конкретному вузлу (4)
26. Кадр ARP та сервіс gratuitous
28.04.2015 NET - IP pupena_san@ukr.net 26
• у рамках протоколу ARP можливі пакети з
самозверненнѐм (gratuitous ARP):
• ініціатор формую пакет, де в ѐкості IP
отримувача використовуютьсѐ його
власна IP-адреса, тобто IP-адреси
відправника і отримувача співпадаять
• ѐкщо на такий запит прийде відклик, то
вузол видасть повідомленнѐ-помилку
про наѐвність вказаної IP-адреси
• потрібно, коли відбуваютьсѐ стартова
конфігураціѐ мережного інтерфейсу
• також проводитьсѐ коригуваннѐ запису в
АRP-таблицѐх вузлів, ѐкі вміщували стару
МАС-адресу ініціатору
• можна використати сніфер длѐ
визначеннѐ
Як дізнатисѐ ѐкий IP в пристрої на Ethernet ?
SHA – фізична MAC-адреса відправника
SPA - логічна IP адреса відправника
THA – фізична MAC-адреса отримувача:
при запиті поле порожню;
TPA - логічна IP адреса отримувача
кадр ARP