Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Промислові мережі та інтеграційні
технології
Протоколи TCP та UDP
реєстрація fieldbus_book@ukr.net
автор і лектор: Олексан...
Спрощена модель роботи стеку 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: адрес...
Транспортний рівень: 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 та TCP
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 7
TSAP ~ номер порта
серверні порти
клієнтські порти
• 0-1023...
44321
44321
Сокети
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 8
https://microchip.wikidot.com/tcpip:tcp-ip-sockets
сокет ...
Приклад використання сокетів 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
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 13
АСК — квитанція на прийнятий сегмент;
SYN — повідомле...
З'єднання на базі TCP: використання сокетів
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 14
Примітив Призначення
SOCKET (СО...
подія/дія
З'єднання на базі TCP: автомат станів
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 15
події:
- виклик процедури C...
Приклад: використання сокету (кінцева ціль)
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 ...
Утиліта NetStat
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 24
Утиліта відображає активні підключення TCP, порти, які прос...
Утиліта 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.n...
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 ...
TCP2COM + COM0COM: приклад SQUID Microl
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 31
TCP SERVER port=xxxx
STATIC IP ADDR...
Утиліта: hub4com
15.06.2015 NET - TCP/UDP pupena_san@ukr.net 32
http://com0com.cvs.sourceforge.net/viewvc/com0com/hu
b4com...
Upcoming SlideShare
Loading in …5
×

4 3 tcp udp

495 views

Published on

Протоколи TCP та UDP

Published in: Internet
  • Be the first to comment

4 3 tcp udp

  1. 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. 2. Спрощена модель роботи стеку TCP/IP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 2
  3. 3. Транспортний рівень в стеці 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 3
  4. 4. Транспортний рівень (адресація) 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 4 TSAP – transport service access point: адресація прикладного процесу NSAP – Network service access point: адресація хоста
  5. 5. Транспортний рівень: TCP та UDP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 5
  6. 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. 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. 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. 9. Приклад використання сокетів UDP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 9
  10. 10. Заголовки UDP та TCP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 10 заголовок UDP - датаграми заголовок TCP - сегменту октета наступний номер октета
  11. 11. Робота UDP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 11
  12. 12. Робота TCP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 12 • спочатку створюється з'єднання (+ домовленість про особливості передачі) • з'єднання "точка-точка" • з'єднання дуплексне • сервер очікує, ініціатор (клієнт) активує • слідкування за доставкою, за порядком октетів (байтів) • з'єднання розривається по ініціативі будь-якого учасника • дані буферизуються • частина буферу передається окремим пакетом - TCP-сегментом • межі між повідомленнями не зберігаються (потік октетів) байт чи октет?
  13. 13. З'єднання на базі TCP 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 13 АСК — квитанція на прийнятий сегмент; SYN — повідомлення, що використовується для синхронізації лічильників переданих даних при встановленні з'єднання; FIN — ознака досягнення передаючою стороною останнього байту в потоці даних
  14. 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. 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. 16. Приклад: використання сокету (кінцева ціль) 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 16 Джерело
  17. 17. Приклад: створення сокету на сервері + прослуховування 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 17 Джерело
  18. 18. Приклад: створення сокету на клієнті + ініціація з'єднання 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 18 Джерело
  19. 19. Приклад: відправка повідомлення на з'єднання 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 19 Джерело
  20. 20. Приклад: створення нового сокету 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 20 Джерело
  21. 21. Приклад: передача сторінки клієнту 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 21 Джерело
  22. 22. Приклад: закриття сокетів 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 22 Джерело
  23. 23. Приклади обмежень на кількість підключень (сокетів) 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 23 PLC M241 Част. ATV PLC S7 315
  24. 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. 25. Утиліта NetStat 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 25
  26. 26. Утиліта TCPView 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 26 https://technet.microsoft.com/ru-ru/sysinternals/bb897437 Если в период между обновлениями состояние конечной точки изменилось, она выделяется желтым цветом, если конечная точка удалена — красным цветом, новые конечные точки отображаются зеленым цветом.
  27. 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. 28. Packet Sender (TCP/UDP Client/Server) https://packetsender.com 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 28
  29. 29. TCP/IP Builder (TCP/UDP Client/Server) 15.06.2015 NET - TCP/UDP pupena_san@ukr.net 29 TCP/IP Builder
  30. 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. 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. 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

×