SlideShare a Scribd company logo
1 of 32
Download to read offline
Промислові мережі та інтеграційні
технології
Протоколи TCP та UDP
реєстрація fieldbus_book@ukr.net
автор і лектор: Олександр Пупена (pupena_san@ukr.net)
зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua)
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 1
Спрощена модель роботи стеку TCP/IP
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 2
Транспортний рівень в стеці
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 3
Транспортний рівень (адресація)
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 4
TSAP – transport service access point: адресація
прикладного процесу
NSAP – Network service access point: адресація хоста
Транспортний рівень: TCP та UDP
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 5
TCP vs UDP
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 6
TCP - Transmission Control
Protocol
UDP - User Datagram
Protocol
* надійність сервісів може
реалізуватися на верхніх
рівнях поверх UDP
• control (DNS, DHCP)
*
Порти UDP та TCP
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 7
TSAP ~ номер порта
серверні порти
клієнтські порти
• 0-1023 - добре відомі або системні
порти (Well-Known, System)
• 1024-49151 – зареєстровані
користувацькі (User)
• 49152-65535 – динамічні або
приватні порти (Dynamic, Private)
Список портов TCP и UDP
44321
44321
Сокети
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 8
https://microchip.wikidot.com/tcpip:tcp-ip-sockets
сокет – програмна реалізація підключення
сокет - проміжний об'єкт між Application
та TCP/UDP
сокет (адреса_сокета) = адреса_IP +
номер_порту
ідентифікатор з'єднання:
Protocol+IPdst+PORTdst+ IPsrc+PORTsrc (5
tuple)
Приклад використання сокетів UDP
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 9
Заголовки UDP та TCP
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 10
заголовок UDP - датаграми
заголовок TCP - сегменту
октета
наступний номер октета
Робота UDP
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 11
Робота TCP
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 12
• спочатку створюється з'єднання (+
домовленість про особливості
передачі)
• з'єднання "точка-точка"
• з'єднання дуплексне
• сервер очікує, ініціатор (клієнт)
активує
• слідкування за доставкою, за
порядком октетів (байтів)
• з'єднання розривається по
ініціативі будь-якого учасника
• дані буферизуються
• частина буферу передається
окремим пакетом - TCP-сегментом
• межі між повідомленнями не
зберігаються (потік октетів)
байт чи октет?
З'єднання на базі TCP
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 13
АСК — квитанція на прийнятий сегмент;
SYN — повідомлення, що використовується для
синхронізації лічильників переданих даних при
встановленні з'єднання;
FIN — ознака досягнення передаючою стороною
останнього байту в потоці даних
З'єднання на базі TCP: використання сокетів
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 14
Примітив Призначення
SOCKET (СОКЕТ) Створити новий сокет (гніздо зв’язку)
BIND (ЗВ’ЯЗАТИ) Зв’язати локальну адресу з сокетом
LISTEN (ОЧІКУВАТИ)
Очікувати з’єднання зі сторони
клієнта
ACCEPT (ПРИЙНЯТИ) Підтвердити з’єднання
CONNECT (З'ЄДНАТИ)
Активно пробувати з’єднатись з
сервером
SEND (ВІДПРАВИТИ)
Відправити дані по встановленому
каналі
RECEIVE (ОТРИМАТИ) Отримати дані із з’єднаного каналу
CLOSE (ЗАКРИТИ) Розірвати з’єднання
JAVA Socket programming
подія/дія
З'єднання на базі TCP: автомат станів
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 15
події:
- виклик процедури CONNECT,
LISTEN, SEND або CLOSE
- прибуття сегменту: SYN, FIN, ACK,
RST
- таймаут
дії: відправка керуючого сегменту
SYN, FIN, ACK
Полуоткрытое TCP/IP-соединение
типовий шлях клієнта
типовий шлях серверу
нетиповий шлях
Приклад: використання сокету (кінцева ціль)
15.06.2015
NET - TCP/UDP pupena_san@ukr.net 16
Джерело
Приклад: створення сокету на сервері +
прослуховування
15.06.2015
NET - TCP/UDP pupena_san@ukr.net 17
Джерело
Приклад: створення сокету на клієнті + ініціація
з'єднання
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 18
Джерело
Приклад: відправка повідомлення на з'єднання
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 19
Джерело
Приклад: створення нового сокету
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 20
Джерело
Приклад: передача сторінки клієнту
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 21
Джерело
Приклад: закриття сокетів
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 22
Джерело
Приклади обмежень на кількість підключень (сокетів)
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 23
PLC M241
Част. ATV
PLC S7 315
Утиліта NetStat
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 24
Утиліта відображає активні підключення TCP, порти, які прослуховуються комп’ютером,
статистику Ethernet, таблиці маршрутизації IP, статистику IPv4 (для протоколів IP, ICMP,
TCP и UDP). Викликана без параметрів, команда netstat відображає підключення TCP.
netstat [-a] [-b] [-e] [-n] [-o] [-p протокол] [-r] [-s] [інтервал]
Параметр Призначення параметру
/? виводить довідку по використанню
-a виводить всі активні підключення TCP та портів TCP та UDP, які прослуховуються.
- b Відображення назву файлу, що використовує підключення або вхідний порт (Win7)
-e виводить статистику Ethernet, наприклад кількість відправлених та прийнятих байтів та пакетів; цей параметр може
комбінуватися з ключем -s.
-f Відображення повного імені домену (FQDN) для зовнішніх адрес (Win7)
-n виводить активні підключення TCP з відображенням адрес та номерів портів в числовому форматі без визначення імен
-o виводить активні підключення TCP та включення коду процесу (PID) для кожного підключення; цей параметр може
комбінуватися з ключами -a, -n та -p.
-p протокол виводить підключення для протоколу, вказаного параметром протокол. У цьому випдаку параметр протокол може
приймати значення tcp, udp, tcpv6 або udpv6. Якщо даний параметр використовується з ключем -s для виводу статистики
по протоколу, параметр протокол может мати занчення tcp, udp, icmp, ip, tcpv6, udpv6, icmpv6 або ipv6.
-s виводить статистику по протоколу; по замовченню виводиться статистика для протоколів TCP, UDP, ICMP та IP; параметр -
p може використовуватися для вказівки набору протоколів.
-r виводить зміст таблиці маршрутизації IP; ця команда еквівалентна route print.
інтервал оновлення вибраних даних з інтервалом, визначеним параметром інтервал (в секундах); нажимання CTRL+C зупиняє
оновлення; якщо параметр опущений netstat виводить дані тільки один раз
Утиліта NetStat
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 25
Утиліта TCPView
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 26
https://technet.microsoft.com/ru-ru/sysinternals/bb897437
Если в период между обновлениями состояние
конечной точки изменилось, она выделяется
желтым цветом, если конечная точка удалена —
красным цветом, новые конечные точки
отображаются зеленым цветом.
Утиліти сканування портів (nmap, …)
Тільки для тестування своїх хостів (закон?)!
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 27
https://hideme.ru/ports/
http://www.yougetsignal.com/tools/open-ports/
https://nmap.org/download.ht
ml#windows
Packet Sender (TCP/UDP Client/Server)
https://packetsender.com
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 28
TCP/IP Builder (TCP/UDP Client/Server)
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 29
TCP/IP Builder
Утиліти: COM2TCP, TCP2COM
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 30
http://www.serialporttool.com/CommTunnel.htm
TCP SERVER port=5555
IP ADDR=192.168.200.3
COM4TCP2COM
TCP CLIENT port=dyn
IP ADDR=192.168.200.2
Virtual
COM4
COM2TCPAPP
напр.
SCADA
TCP2COM + COM0COM: приклад SQUID Microl
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 31
TCP SERVER port=xxxx
STATIC IP ADDR
Virtual
COM4
TCP2COM
TCP CLIENT port=yyyy
Dynamic IP ADDR
Virtual
COM3
COM0COM
APP
напр.
SCADA
SQID Microl
GPRS
INTERNET
ZZZZ
Modbus ClientModbus Server
Утиліта: hub4com
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 32
http://com0com.cvs.sourceforge.net/viewvc/com0com/hu
b4com/ReadMe.txt?revision=RELEASED
• GPS hub – один COM на декілька інших
• COM port to telnet redirector
• RFC 2217 server (TCP to COM port redirector)
• RFC 2217 client (COM port to TCP redirector)
• CHAT server
• CVS pserver proxy
• CVS ssh to https proxy
• Multiplexing
• Encryption

More Related Content

What's hot

Chapter 16 : inter-vlan routing
Chapter 16 : inter-vlan routingChapter 16 : inter-vlan routing
Chapter 16 : inter-vlan routingteknetir
 
Networking Basics
Networking BasicsNetworking Basics
Networking BasicsCarlo Fonda
 
Networking devices
Networking devicesNetworking devices
Networking devicesfrestoadi
 
Understanding and Troubleshooting ASA NAT
Understanding and Troubleshooting ASA NATUnderstanding and Troubleshooting ASA NAT
Understanding and Troubleshooting ASA NATCisco Russia
 
CCNA 2 Routing and Switching v5.0 Chapter 2
CCNA 2 Routing and Switching v5.0 Chapter 2CCNA 2 Routing and Switching v5.0 Chapter 2
CCNA 2 Routing and Switching v5.0 Chapter 2Nil Menon
 
Free CCNP switching workbook by networkershome pdf
Free CCNP switching workbook by networkershome pdfFree CCNP switching workbook by networkershome pdf
Free CCNP switching workbook by networkershome pdfNetworkershome
 
Router Full Concept pdf
Router Full Concept pdf Router Full Concept pdf
Router Full Concept pdf Vignesh kumar
 
Difference b/w STP RSTP PVST & MSTP
Difference b/w STP RSTP PVST & MSTPDifference b/w STP RSTP PVST & MSTP
Difference b/w STP RSTP PVST & MSTPNetwax Lab
 
network fundamentals
network fundamentalsnetwork fundamentals
network fundamentalsSithu PM
 
Cisco Live Milan 2015 - BGP advance
Cisco Live Milan 2015 - BGP advanceCisco Live Milan 2015 - BGP advance
Cisco Live Milan 2015 - BGP advanceBertrand Duvivier
 
Spanning tree protocol
Spanning tree protocolSpanning tree protocol
Spanning tree protocolMuuluu
 
Linux PCI device driver
Linux PCI device driverLinux PCI device driver
Linux PCI device driver艾鍗科技
 
Cisco Catalyst 6500 Technical Deep Dive.pdf
Cisco Catalyst 6500 Technical Deep Dive.pdfCisco Catalyst 6500 Technical Deep Dive.pdf
Cisco Catalyst 6500 Technical Deep Dive.pdfjuergenJaeckel
 
Spannig tree
Spannig treeSpannig tree
Spannig tree1 2d
 
Spanning Tree Protocol
Spanning Tree ProtocolSpanning Tree Protocol
Spanning Tree ProtocolManoj Gharate
 

What's hot (20)

Chapter 16 : inter-vlan routing
Chapter 16 : inter-vlan routingChapter 16 : inter-vlan routing
Chapter 16 : inter-vlan routing
 
Networking Basics
Networking BasicsNetworking Basics
Networking Basics
 
Networking devices
Networking devicesNetworking devices
Networking devices
 
Understanding and Troubleshooting ASA NAT
Understanding and Troubleshooting ASA NATUnderstanding and Troubleshooting ASA NAT
Understanding and Troubleshooting ASA NAT
 
CCNA Lab Guide
CCNA Lab GuideCCNA Lab Guide
CCNA Lab Guide
 
CCNA 2 Routing and Switching v5.0 Chapter 2
CCNA 2 Routing and Switching v5.0 Chapter 2CCNA 2 Routing and Switching v5.0 Chapter 2
CCNA 2 Routing and Switching v5.0 Chapter 2
 
Free CCNP switching workbook by networkershome pdf
Free CCNP switching workbook by networkershome pdfFree CCNP switching workbook by networkershome pdf
Free CCNP switching workbook by networkershome pdf
 
Router Full Concept pdf
Router Full Concept pdf Router Full Concept pdf
Router Full Concept pdf
 
Spanning tree protocol
Spanning tree protocolSpanning tree protocol
Spanning tree protocol
 
Difference b/w STP RSTP PVST & MSTP
Difference b/w STP RSTP PVST & MSTPDifference b/w STP RSTP PVST & MSTP
Difference b/w STP RSTP PVST & MSTP
 
Usb 2
Usb 2Usb 2
Usb 2
 
network fundamentals
network fundamentalsnetwork fundamentals
network fundamentals
 
Cisco Live Milan 2015 - BGP advance
Cisco Live Milan 2015 - BGP advanceCisco Live Milan 2015 - BGP advance
Cisco Live Milan 2015 - BGP advance
 
Spanning tree protocol
Spanning tree protocolSpanning tree protocol
Spanning tree protocol
 
Linux PCI device driver
Linux PCI device driverLinux PCI device driver
Linux PCI device driver
 
Cisco Catalyst 6500 Technical Deep Dive.pdf
Cisco Catalyst 6500 Technical Deep Dive.pdfCisco Catalyst 6500 Technical Deep Dive.pdf
Cisco Catalyst 6500 Technical Deep Dive.pdf
 
CCNA Notes
CCNA NotesCCNA Notes
CCNA Notes
 
Spannig tree
Spannig treeSpannig tree
Spannig tree
 
lab1
lab1lab1
lab1
 
Spanning Tree Protocol
Spanning Tree ProtocolSpanning Tree Protocol
Spanning Tree Protocol
 

Similar to 4 3 tcp udp

2 1 Стандартні асинхронні послідовні інтерфейси
2 1 Стандартні асинхронні послідовні інтерфейси2 1 Стандартні асинхронні послідовні інтерфейси
2 1 Стандартні асинхронні послідовні інтерфейсиПупена Александр
 
1.1 призначення промислових комунікацій
1.1 призначення промислових комунікацій1.1 призначення промислових комунікацій
1.1 призначення промислових комунікаційПупена Александр
 
Лабораторно-Практична робота
Лабораторно-Практична роботаЛабораторно-Практична робота
Лабораторно-Практична роботаAnna Popravka
 
network
networknetwork
networkjudin
 
Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131Пупена Александр
 
Підсистема введення/виведення SCADA/HMI. Modbus
Підсистема введення/виведення SCADA/HMI. ModbusПідсистема введення/виведення SCADA/HMI. Modbus
Підсистема введення/виведення SCADA/HMI. ModbusПупена Александр
 
Shapovalov g
Shapovalov gShapovalov g
Shapovalov ggarasym
 
Технологія трансляції мережних адрес NAT
Технологія трансляції мережних адрес NATТехнологія трансляції мережних адрес NAT
Технологія трансляції мережних адрес NATShevchenko Andriy
 

Similar to 4 3 tcp udp (20)

4 4 1 app
4 4 1 app 4 4 1 app
4 4 1 app
 
4 2 3 ip
4 2 3 ip 4 2 3 ip
4 2 3 ip
 
4 2 1 Протоколи IP (частина 1)
4 2 1 Протоколи IP (частина 1)4 2 1 Протоколи IP (частина 1)
4 2 1 Протоколи IP (частина 1)
 
4 2 2 ip
4 2 2 ip 4 2 2 ip
4 2 2 ip
 
3 3 modbus tcp
3 3 modbus tcp3 3 modbus tcp
3 3 modbus tcp
 
Profibus (УКР)
Profibus (УКР)Profibus (УКР)
Profibus (УКР)
 
2 1 Стандартні асинхронні послідовні інтерфейси
2 1 Стандартні асинхронні послідовні інтерфейси2 1 Стандартні асинхронні послідовні інтерфейси
2 1 Стандартні асинхронні послідовні інтерфейси
 
Rpc
RpcRpc
Rpc
 
1.1 призначення промислових комунікацій
1.1 призначення промислових комунікацій1.1 призначення промислових комунікацій
1.1 призначення промислових комунікацій
 
1 3 osi рівні
1 3 osi рівні 1 3 osi рівні
1 3 osi рівні
 
Лабораторно-Практична робота
Лабораторно-Практична роботаЛабораторно-Практична робота
Лабораторно-Практична робота
 
лр5 основи modbus tcp
лр5 основи modbus tcpлр5 основи modbus tcp
лр5 основи modbus tcp
 
network
networknetwork
network
 
лр6 використання modbus для scada
лр6 використання modbus для scada лр6 використання modbus для scada
лр6 використання modbus для scada
 
Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131
 
5.1 profibus intro
5.1 profibus intro5.1 profibus intro
5.1 profibus intro
 
Підсистема введення/виведення SCADA/HMI. Modbus
Підсистема введення/виведення SCADA/HMI. ModbusПідсистема введення/виведення SCADA/HMI. Modbus
Підсистема введення/виведення SCADA/HMI. Modbus
 
Shapovalov g
Shapovalov gShapovalov g
Shapovalov g
 
Технологія трансляції мережних адрес NAT
Технологія трансляції мережних адрес NATТехнологія трансляції мережних адрес NAT
Технологія трансляції мережних адрес NAT
 
5.3 profibus dp0
5.3 profibus dp05.3 profibus dp0
5.3 profibus dp0
 

More from Пупена Александр

Розроблення підсистеми трендів
Розроблення підсистеми трендівРозроблення підсистеми трендів
Розроблення підсистеми трендівПупена Александр
 
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenonПупена Александр
 
8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізації8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізаціїПупена Александр
 
Анімовані компоненти та навігація
Анімовані компоненти та навігаціяАнімовані компоненти та навігація
Анімовані компоненти та навігаціяПупена Александр
 
Розроблення дисплеїв та анімованих елементів
Розроблення дисплеїв та анімованих елементівРозроблення дисплеїв та анімованих елементів
Розроблення дисплеїв та анімованих елементівПупена Александр
 
5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPCПупена Александр
 
Підсистема керування збором та обробкою даних в реальному часі
Підсистема керування збором та обробкою даних в реальному часіПідсистема керування збором та обробкою даних в реальному часі
Підсистема керування збором та обробкою даних в реальному часіПупена Александр
 
Загальні принципи розроблення АРМ оператора на базі SCADA/HMI
Загальні принципи розроблення АРМ оператора на базі SCADA/HMIЗагальні принципи розроблення АРМ оператора на базі SCADA/HMI
Загальні принципи розроблення АРМ оператора на базі SCADA/HMIПупена Александр
 
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІПупена Александр
 
2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсу2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсуПупена Александр
 
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-REDМастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-REDПупена Александр
 
Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0» Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0» Пупена Александр
 
Git и GitHub для создания учебного контента
Git и GitHub для создания учебного контентаGit и GitHub для создания учебного контента
Git и GitHub для создания учебного контентаПупена Александр
 
Короткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOMКороткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOMПупена Александр
 

More from Пупена Александр (20)

Node-RED довідник
Node-RED довідникNode-RED довідник
Node-RED довідник
 
Інші підсистеми
Інші підсистемиІнші підсистеми
Інші підсистеми
 
11 Підсистеми захисту
11 Підсистеми захисту11 Підсистеми захисту
11 Підсистеми захисту
 
Розроблення підсистеми трендів
Розроблення підсистеми трендівРозроблення підсистеми трендів
Розроблення підсистеми трендів
 
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
 
8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізації8 Розробка підсистеми тривожної сигналізації
8 Розробка підсистеми тривожної сигналізації
 
Анімовані компоненти та навігація
Анімовані компоненти та навігаціяАнімовані компоненти та навігація
Анімовані компоненти та навігація
 
Розроблення дисплеїв та анімованих елементів
Розроблення дисплеїв та анімованих елементівРозроблення дисплеїв та анімованих елементів
Розроблення дисплеїв та анімованих елементів
 
5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC5 Підсистема введення/виведення. OPC
5 Підсистема введення/виведення. OPC
 
Підсистема керування збором та обробкою даних в реальному часі
Підсистема керування збором та обробкою даних в реальному часіПідсистема керування збором та обробкою даних в реальному часі
Підсистема керування збором та обробкою даних в реальному часі
 
Загальні принципи розроблення АРМ оператора на базі SCADA/HMI
Загальні принципи розроблення АРМ оператора на базі SCADA/HMIЗагальні принципи розроблення АРМ оператора на базі SCADA/HMI
Загальні принципи розроблення АРМ оператора на базі SCADA/HMI
 
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
2_3 Функції графічного людино-машинного інтерфейсу: високоефективний ЛМІ
 
2 2 Інші функції SCADA/HMI
2 2 Інші функції SCADA/HMI2 2 Інші функції SCADA/HMI
2 2 Інші функції SCADA/HMI
 
2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсу2.1. Функції графічного людино-машинного інтерфейсу
2.1. Функції графічного людино-машинного інтерфейсу
 
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-REDМастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
Мастер-класс: отправка данных с ПЛК в Google Sheet с использованием Node-RED
 
Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0» Про курс «Технологии Индустрии 4.0»
Про курс «Технологии Индустрии 4.0»
 
Git и GitHub для создания учебного контента
Git и GitHub для создания учебного контентаGit и GitHub для создания учебного контента
Git и GitHub для создания учебного контента
 
Короткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOMКороткий опис лабораторного практикуму по MOM
Короткий опис лабораторного практикуму по MOM
 
Git4 all
Git4 allGit4 all
Git4 all
 
Presentation 111019 1
Presentation 111019 1Presentation 111019 1
Presentation 111019 1
 

4 3 tcp udp

  • 1. Промислові мережі та інтеграційні технології Протоколи TCP та UDP реєстрація fieldbus_book@ukr.net автор і лектор: Олександр Пупена (pupena_san@ukr.net) зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua) 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 1
  • 2. Спрощена модель роботи стеку TCP/IP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 2
  • 3. Транспортний рівень в стеці 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 3
  • 4. Транспортний рівень (адресація) 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 4 TSAP – transport service access point: адресація прикладного процесу NSAP – Network service access point: адресація хоста
  • 5. Транспортний рівень: TCP та UDP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 5
  • 6. TCP vs UDP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 6 TCP - Transmission Control Protocol UDP - User Datagram Protocol * надійність сервісів може реалізуватися на верхніх рівнях поверх UDP • control (DNS, DHCP) *
  • 7. Порти UDP та TCP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 7 TSAP ~ номер порта серверні порти клієнтські порти • 0-1023 - добре відомі або системні порти (Well-Known, System) • 1024-49151 – зареєстровані користувацькі (User) • 49152-65535 – динамічні або приватні порти (Dynamic, Private) Список портов TCP и UDP
  • 8. 44321 44321 Сокети 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 8 https://microchip.wikidot.com/tcpip:tcp-ip-sockets сокет – програмна реалізація підключення сокет - проміжний об'єкт між Application та TCP/UDP сокет (адреса_сокета) = адреса_IP + номер_порту ідентифікатор з'єднання: Protocol+IPdst+PORTdst+ IPsrc+PORTsrc (5 tuple)
  • 9. Приклад використання сокетів UDP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 9
  • 10. Заголовки UDP та TCP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 10 заголовок UDP - датаграми заголовок TCP - сегменту октета наступний номер октета
  • 11. Робота UDP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 11
  • 12. Робота TCP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 12 • спочатку створюється з'єднання (+ домовленість про особливості передачі) • з'єднання "точка-точка" • з'єднання дуплексне • сервер очікує, ініціатор (клієнт) активує • слідкування за доставкою, за порядком октетів (байтів) • з'єднання розривається по ініціативі будь-якого учасника • дані буферизуються • частина буферу передається окремим пакетом - TCP-сегментом • межі між повідомленнями не зберігаються (потік октетів) байт чи октет?
  • 13. З'єднання на базі TCP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 13 АСК — квитанція на прийнятий сегмент; SYN — повідомлення, що використовується для синхронізації лічильників переданих даних при встановленні з'єднання; FIN — ознака досягнення передаючою стороною останнього байту в потоці даних
  • 14. З'єднання на базі TCP: використання сокетів 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 14 Примітив Призначення SOCKET (СОКЕТ) Створити новий сокет (гніздо зв’язку) BIND (ЗВ’ЯЗАТИ) Зв’язати локальну адресу з сокетом LISTEN (ОЧІКУВАТИ) Очікувати з’єднання зі сторони клієнта ACCEPT (ПРИЙНЯТИ) Підтвердити з’єднання CONNECT (З'ЄДНАТИ) Активно пробувати з’єднатись з сервером SEND (ВІДПРАВИТИ) Відправити дані по встановленому каналі RECEIVE (ОТРИМАТИ) Отримати дані із з’єднаного каналу CLOSE (ЗАКРИТИ) Розірвати з’єднання JAVA Socket programming
  • 15. подія/дія З'єднання на базі TCP: автомат станів 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 15 події: - виклик процедури CONNECT, LISTEN, SEND або CLOSE - прибуття сегменту: SYN, FIN, ACK, RST - таймаут дії: відправка керуючого сегменту SYN, FIN, ACK Полуоткрытое TCP/IP-соединение типовий шлях клієнта типовий шлях серверу нетиповий шлях
  • 16. Приклад: використання сокету (кінцева ціль) 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 16 Джерело
  • 17. Приклад: створення сокету на сервері + прослуховування 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 17 Джерело
  • 18. Приклад: створення сокету на клієнті + ініціація з'єднання 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 18 Джерело
  • 19. Приклад: відправка повідомлення на з'єднання 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 19 Джерело
  • 20. Приклад: створення нового сокету 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 20 Джерело
  • 21. Приклад: передача сторінки клієнту 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 21 Джерело
  • 22. Приклад: закриття сокетів 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 22 Джерело
  • 23. Приклади обмежень на кількість підключень (сокетів) 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 23 PLC M241 Част. ATV PLC S7 315
  • 24. Утиліта NetStat 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 24 Утиліта відображає активні підключення TCP, порти, які прослуховуються комп’ютером, статистику Ethernet, таблиці маршрутизації IP, статистику IPv4 (для протоколів IP, ICMP, TCP и UDP). Викликана без параметрів, команда netstat відображає підключення TCP. netstat [-a] [-b] [-e] [-n] [-o] [-p протокол] [-r] [-s] [інтервал] Параметр Призначення параметру /? виводить довідку по використанню -a виводить всі активні підключення TCP та портів TCP та UDP, які прослуховуються. - b Відображення назву файлу, що використовує підключення або вхідний порт (Win7) -e виводить статистику Ethernet, наприклад кількість відправлених та прийнятих байтів та пакетів; цей параметр може комбінуватися з ключем -s. -f Відображення повного імені домену (FQDN) для зовнішніх адрес (Win7) -n виводить активні підключення TCP з відображенням адрес та номерів портів в числовому форматі без визначення імен -o виводить активні підключення TCP та включення коду процесу (PID) для кожного підключення; цей параметр може комбінуватися з ключами -a, -n та -p. -p протокол виводить підключення для протоколу, вказаного параметром протокол. У цьому випдаку параметр протокол може приймати значення tcp, udp, tcpv6 або udpv6. Якщо даний параметр використовується з ключем -s для виводу статистики по протоколу, параметр протокол может мати занчення tcp, udp, icmp, ip, tcpv6, udpv6, icmpv6 або ipv6. -s виводить статистику по протоколу; по замовченню виводиться статистика для протоколів TCP, UDP, ICMP та IP; параметр - p може використовуватися для вказівки набору протоколів. -r виводить зміст таблиці маршрутизації IP; ця команда еквівалентна route print. інтервал оновлення вибраних даних з інтервалом, визначеним параметром інтервал (в секундах); нажимання CTRL+C зупиняє оновлення; якщо параметр опущений netstat виводить дані тільки один раз
  • 25. Утиліта NetStat 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 25
  • 26. Утиліта TCPView 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 26 https://technet.microsoft.com/ru-ru/sysinternals/bb897437 Если в период между обновлениями состояние конечной точки изменилось, она выделяется желтым цветом, если конечная точка удалена — красным цветом, новые конечные точки отображаются зеленым цветом.
  • 27. Утиліти сканування портів (nmap, …) Тільки для тестування своїх хостів (закон?)! 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 27 https://hideme.ru/ports/ http://www.yougetsignal.com/tools/open-ports/ https://nmap.org/download.ht ml#windows
  • 28. Packet Sender (TCP/UDP Client/Server) https://packetsender.com 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 28
  • 29. TCP/IP Builder (TCP/UDP Client/Server) 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 29 TCP/IP Builder
  • 30. Утиліти: COM2TCP, TCP2COM 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 30 http://www.serialporttool.com/CommTunnel.htm TCP SERVER port=5555 IP ADDR=192.168.200.3 COM4TCP2COM TCP CLIENT port=dyn IP ADDR=192.168.200.2 Virtual COM4 COM2TCPAPP напр. SCADA
  • 31. TCP2COM + COM0COM: приклад SQUID Microl 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 31 TCP SERVER port=xxxx STATIC IP ADDR Virtual COM4 TCP2COM TCP CLIENT port=yyyy Dynamic IP ADDR Virtual COM3 COM0COM APP напр. SCADA SQID Microl GPRS INTERNET ZZZZ Modbus ClientModbus Server
  • 32. Утиліта: hub4com 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 32 http://com0com.cvs.sourceforge.net/viewvc/com0com/hu b4com/ReadMe.txt?revision=RELEASED • GPS hub – один COM на декілька інших • COM port to telnet redirector • RFC 2217 server (TCP to COM port redirector) • RFC 2217 client (COM port to TCP redirector) • CHAT server • CVS pserver proxy • CVS ssh to https proxy • Multiplexing • Encryption

Editor's Notes

  1. <number> Промислові мережі
  2. <number> Промислові мережі
  3. <number> Промислові мережі
  4. <number> Промислові мережі
  5. <number> Промислові мережі
  6. <number> Промислові мережі
  7. <number> Промислові мережі
  8. <number> Промислові мережі
  9. <number> Промислові мережі
  10. <number> Промислові мережі
  11. <number> Промислові мережі
  12. <number> Промислові мережі
  13. <number> Промислові мережі
  14. <number> Промислові мережі
  15. <number> Промислові мережі
  16. <number> Промислові мережі
  17. <number> Промислові мережі
  18. <number> Промислові мережі
  19. <number> Промислові мережі
  20. <number> Промислові мережі
  21. <number> Промислові мережі
  22. <number> Промислові мережі
  23. <number> Промислові мережі
  24. <number> Промислові мережі
  25. <number> Промислові мережі
  26. <number> Промислові мережі
  27. <number> Промислові мережі
  28. <number> Промислові мережі
  29. <number> Промислові мережі
  30. <number> Промислові мережі
  31. <number> Промислові мережі
  32. <number> Промислові мережі