![Page 1: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/1.jpg)
Сети и системы телекоммуникаций
Интерфейс сокетов
ИМКН УрФУ
![Page 2: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/2.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Место сокетов в моделях OSI и TCP/IP
Сокеты Беркли
Основные операции над сокетами
Работа сокетов
Пример на Python
План
2
![Page 3: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/3.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Сокеты, TCP и UDP относятся к транспортномууровню
Сокеты – интерфейс транспортного уровня
TCP и UDP – протоколы транспортного уровня
Место в моделях OSI и TCP/IP
3
![Page 4: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/4.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Место в моделях OSI и TCP/IP
4
Сетевых интерфейсов
Сетевой
Транспортный
Приложение
Сетевых интерфейсов
Сетевой
Транспортный
Хост 1 Хост 2
Протокол TCP
Интерфейс сокетов
Приложение
Интерфейс сокетов
![Page 5: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/5.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Сокеты впервые появились в ОС Berkeley UNIX 4.2BSD (1983 г.)
Сокеты – де-факто стандарт интерфейсов длятранспортной подсистемы
Различные варианты сокетов реализованы вразных ОС и языках программирования
Сокеты Беркли
5
![Page 6: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/6.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Сокет в Unix – файл специального типа• В Unix все устройства представляются файлами
Операции чтения и записи в файл сокетапередают данные по сети
• Отправитель записывает данные в файл сокета• Получатель читает данные их файла сокета• Передача данных по сети скрыта от программиста
Сокеты Беркли
6
![Page 7: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/7.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Операции сокетов Беркли
7
Операция Назначение
Socket Создать новый сокет
Bind Связать сокет с IP-адресом и портом
Listen Объявить о желании принимать соединения
Connect Установить соединение
Accept Принять запрос на установку соединения
Send Отправить данные по сети
Receive Получить данные из сети
Close Закрыть соединение
![Page 8: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/8.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Взаимодействующие стороны сокетов Беркли:• Сервер• Клиент
Сервер – работает (слушает) на известном IP-адресе и порту и пассивно ждет запросов насоединение
Клиент – активно устанавливает соединение ссервером на заданном IP и порту
Клиент и сервер
8
![Page 9: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/9.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
9
Сервер Клиент
![Page 10: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/10.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
10
Сервер Клиент
Socket
![Page 11: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/11.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
11
Сервер Клиент
Socket
![Page 12: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/12.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
12
Сервер Клиент
Socket
Bind
![Page 13: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/13.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
13
Сервер Клиент
Socket
Bind
192.168.1.1:80
![Page 14: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/14.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
14
Сервер Клиент
Socket
Bind
192.168.1.1:80
Listen
![Page 15: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/15.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
15
Сервер Клиент
Socket
Bind
192.168.1.1:80
Listen
Очередь для соединений
![Page 16: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/16.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
16
Сервер Клиент
Socket
Bind
192.168.1.1:80
Listen
Очередь для соединений
Socket
![Page 17: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/17.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
17
Сервер Клиент
Socket
Bind
192.168.1.1:80
Listen
Очередь для соединений
Socket
![Page 18: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/18.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
18
Сервер Клиент
Socket
Bind
192.168.1.1:80
Listen
Очередь для соединений
Socket
Connect
![Page 19: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/19.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
19
Сервер Клиент
Socket
Bind
192.168.1.1:80
Listen
Очередь для соединений
Socket
Connect
Запрос на соединение
![Page 20: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/20.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
20
Сервер Клиент
Socket
Bind
192.168.1.1:80
Listen
Очередь для соединений
Accept
Socket
Connect
Запрос на соединение
![Page 21: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/21.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
21
Сервер Клиент
Socket
Bind
192.168.1.1:80
Listen
Очередь для соединений
Accept
Socket
Connect
Запрос на соединение
Копия сокета
![Page 22: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/22.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
22
Сервер Клиент
Socket
Bind
192.168.1.1:80
Listen
Очередь для соединений
Accept
Socket
Connect
Копия сокета Соединение
![Page 23: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/23.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
23
Сервер Клиент
Socket
Bind
192.168.1.1:80
Listen
Очередь для соединений
Accept
Socket
Connect
Копия сокета Соединение
Send
![Page 24: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/24.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
24
Сервер Клиент
Socket
Bind
192.168.1.1:80
Listen
Очередь для соединений
Accept
Socket
Connect
Копия сокета Соединение
Send
Receive
![Page 25: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/25.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
25
Сервер Клиент
Socket
Bind
192.168.1.1:80
Listen
Очередь для соединений
Accept
Socket
Connect
Копия сокета Соединение
Send
Receive
Close
![Page 26: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/26.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Работа сокетов
26
Сервер Клиент
Socket
Bind
192.168.1.1:80
Listen
Очередь для соединений
Accept
Socket
Connect
Копия сокета
Send
Receive
Close
![Page 27: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/27.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Передача данных возможна, только еслиустановлено соединение клиент-сервер
При получении запроса от клиента создаетсякопия сокета
• Соединение устанавливается с копией
Оригинальный сокет продолжает ждать запросыот других клиентов
• Такой сокет не может принимать и передавать данные
Работа сокетов
27
![Page 28: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/28.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
«Серверный» сокет
Клиентский сокет
Передача данных
Пример на Python
28
![Page 29: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/29.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Создание сокета:
serversocket = socket.socket( socket.AF_INET,socket.SOCK_STREAM)
Привязка к IP-адресу:
serversocket.bind(('192.168.0.1', 80))
«Прослушивание»:
serversocket.listen(5)
Python. Серверный сокет
29
![Page 30: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/30.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Протоколы сетевого уровня
socket.AF_INET – IPv4
socket.AF_INET6 – IPv6
Протоколы транспортного уровня
socket.SOCK_STREAM – TCP
socket.SOCK_DGRAM - UDP
Есть и другие типы, но они используются редко
Python. Типы сокетов
30
![Page 31: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/31.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
while 1:
#Принимаем соединение – создаем клиентский сокет
(clientsocket, address) = serversocket.accept()
#Создаем поток для обслуживания запроса клиента
ct = client_thread(clientsocket)
ct.run()
Python. Ожидание соединений
31
![Page 32: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/32.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Создание сокета:
clientsocket = socket.socket(socket.AF_INET,
socket.SOCK_STREAM)
Установка соединения:
clientsocket.connect(('192.168.0.1', 80))
Python. Клиентский сокет
32
![Page 33: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/33.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Отправка данных:socket.send('Hello, world!')
Получение данных:socket.recv(1024)# 1024 – размер буфера
Закрытие сокета:
socket.close
Python. Передача данных
33
![Page 34: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/34.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Место сокетов в моделях OSI и TCP/IP
Сокеты Беркли
Основные операции над сокетами
Работа сокетов
Пример на Python
Итоги
34
![Page 35: Сети и системы телекоммуникаций. Интерфейс сокетов](https://reader034.vdocuments.net/reader034/viewer/2022050818/55abf7c91a28abb04d8b4777/html5/thumbnails/35.jpg)
Сети и системы телекоммуникаций. Интерфейс сокетов
Вопросы?
35