4 3 tcp udp
-
Upload
alexandr-pupena -
Category
Internet
-
view
93 -
download
3
Transcript of 4 3 tcp udp
![Page 1: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/1.jpg)
Промислові мережі та інтеграційні технології
Протоколи TCP та UDP
реєстрація [email protected] автор і лектор: Олександр Пупена ([email protected])
зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua)
15.06.2015 NET - TCP/UDP [email protected] 1
![Page 4: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/4.jpg)
Транспортний рівень (адресація)
15.06.2015 NET - TCP/UDP [email protected] 4
TSAP – transport service access point: адресація прикладного процесу NSAP – Network service access point: адресація хоста
![Page 6: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/6.jpg)
TCP vs UDP
15.06.2015 NET - TCP/UDP [email protected] 6
TCP - Transmission Control Protocol UDP - User Datagram Protocol
* надійність сервісів може реалізуватися на верхніх рівнях поверх UDP
• control (DNS, DHCP)
*
![Page 7: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/7.jpg)
Порти UDP та TCP
15.06.2015 NET - TCP/UDP [email protected] 7
TSAP ~ номер порта
серверні порти клієнтські порти
• 0-1023 - добре відомі або системні порти (Well-Known, System)
• 1024-49151 – зареєстровані користувацькі (User)
• 49152-65535 – динамічні або приватні порти (Dynamic, Private)
Список портов TCP и UDP
![Page 8: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/8.jpg)
44321 44321
Сокети
15.06.2015 NET - TCP/UDP [email protected] 8
https://microchip.wikidot.com/tcpip:tcp-ip-sockets
сокет – програмна реалізація підключення сокет - проміжний об'єкт між Application та TCP/UDP сокет (адреса_сокета) = адреса_IP + номер_порту ідентифікатор з'єднання: Protocol+IPdst+PORTdst+ IPsrc+PORTsrc (5 tuple)
![Page 10: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/10.jpg)
Заголовки UDP та TCP
15.06.2015 NET - TCP/UDP [email protected] 10
заголовок UDP - датаграми
заголовок TCP - сегменту
октета
наступний номер октета
![Page 12: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/12.jpg)
Робота TCP
15.06.2015 NET - TCP/UDP [email protected] 12
• спочатку створюється з'єднання (+ домовленість про особливості передачі)
• з'єднання "точка-точка" • з'єднання дуплексне • сервер очікує, ініціатор (клієнт)
активує • слідкування за доставкою, за
порядком октетів (байтів) • з'єднання розривається по
ініціативі будь-якого учасника • дані буферизуються • частина буферу передається
окремим пакетом - TCP-сегментом • межі між повідомленнями не
зберігаються (потік октетів)
байт чи октет?
![Page 13: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/13.jpg)
З'єднання на базі TCP
15.06.2015 NET - TCP/UDP [email protected] 13
АСК — квитанція на прийнятий сегмент; SYN — повідомлення, що використовується для синхронізації лічильників переданих даних при встановленні з'єднання; FIN — ознака досягнення передаючою стороною останнього байту в потоці даних
![Page 14: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/14.jpg)
З'єднання на базі TCP: використання сокетів
15.06.2015 NET - TCP/UDP [email protected] 14
Примітив Призначення
SOCKET (СОКЕТ) Створити новий сокет (гніздо зв’язку)
BIND (ЗВ’ЯЗАТИ) Зв’язати локальну адресу з сокетом
LISTEN (ОЧІКУВАТИ) Очікувати з’єднання зі сторони клієнта
ACCEPT (ПРИЙНЯТИ) Підтвердити з’єднання
CONNECT (З'ЄДНАТИ) Активно пробувати з’єднатись з сервером
SEND (ВІДПРАВИТИ) Відправити дані по встановленому каналі
RECEIVE (ОТРИМАТИ) Отримати дані із з’єднаного каналу
CLOSE (ЗАКРИТИ) Розірвати з’єднання
JAVA Socket programming
![Page 15: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/15.jpg)
подія/дія
З'єднання на базі TCP: автомат станів
15.06.2015 NET - TCP/UDP [email protected] 15
події: - виклик процедури CONNECT,
LISTEN, SEND або CLOSE - прибуття сегменту: SYN, FIN, ACK,
RST - таймаут
дії: відправка керуючого сегменту SYN, FIN, ACK
Полуоткрытое TCP/IP-соединение
типовий шлях клієнта
типовий шлях серверу
нетиповий шлях
![Page 17: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/17.jpg)
Приклад: створення сокету на сервері + прослуховування
15.06.2015
NET - TCP/UDP [email protected] 17
Джерело
![Page 18: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/18.jpg)
Приклад: створення сокету на клієнті + ініціація з'єднання
15.06.2015 NET - TCP/UDP [email protected] 18
Джерело
![Page 23: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/23.jpg)
Приклади обмежень на кількість підключень (сокетів)
15.06.2015 NET - TCP/UDP [email protected] 23
PLC M241
Част. ATV
PLC S7 315
![Page 24: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/24.jpg)
Утиліта NetStat
15.06.2015 NET - TCP/UDP [email protected] 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 виводить дані тільки один раз
![Page 26: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/26.jpg)
Утиліта TCPView
15.06.2015 NET - TCP/UDP [email protected] 26
https://technet.microsoft.com/ru-ru/sysinternals/bb897437
Если в период между обновлениями состояние конечной точки изменилось, она выделяется желтым цветом, если конечная точка удалена — красным цветом, новые конечные точки отображаются зеленым цветом.
![Page 27: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/27.jpg)
Утиліти сканування портів (nmap, …) Тільки для тестування своїх хостів (закон?)!
15.06.2015 NET - TCP/UDP [email protected] 27
https://hideme.ru/ports/
http://www.yougetsignal.com/tools/open-ports/
https://nmap.org/download.html#windows
![Page 28: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/28.jpg)
Packet Sender (TCP/UDP Client/Server) https://packetsender.com
15.06.2015 NET - TCP/UDP [email protected] 28
![Page 30: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/30.jpg)
Утиліти: COM2TCP, TCP2COM
15.06.2015 NET - TCP/UDP [email protected] 30
http://www.serialporttool.com/CommTunnel.htm
TCP SERVER port=5555
IP ADDR=192.168.200.3
COM4 TCP2COM
TCP CLIENT port=dyn
IP ADDR=192.168.200.2
Virtual COM4
COM2TCP APP напр. SCADA
![Page 31: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/31.jpg)
TCP2COM + COM0COM: приклад SQUID Microl
15.06.2015 NET - TCP/UDP [email protected] 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 Client Modbus Server
![Page 32: 4 3 tcp udp](https://reader034.fdocuments.net/reader034/viewer/2022042518/55be047fbb61eb91108b45c5/html5/thumbnails/32.jpg)
Утиліта: hub4com
15.06.2015 NET - TCP/UDP [email protected] 32
http://com0com.cvs.sourceforge.net/viewvc/com0com/hub4com/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