
- •Сокеты
- •Цели и задачи
- •Понятие «Сокет»
- •Коммуникационный
- •Коммуникационные характеристики (1)
- •Коммуникационные характеристики (2)
- •BSD-сокеты
- •Дейтаграммный сокет
- •Потоковый сокет
- •Пакетный сокет
- •Сокет низкого уровня
- •Коммуникационные
- •AF_UNIX
- •AF_INET
- •Двунаправленный канал
- •Создание сокета
- •Поддержка различных типов сокетов в доменах
- •Поддержка различных протоколов
- •Привязка сокета
- •Структура sockaddr
- •Структура sockaddr_un
- •Структура sockaddr_in
- •Адреса сокетов в различных доменах
- •Преобразование различных форматов IP-адресов
- •Создание очереди входящих запросов
- •Прием входящего соединения
- •Установление
- •Получение данных
- •Отправка данных
- •Взаимодействие процессов с установлением соединения (UNIX)
- •Взаимодействие процессов без установления соединения (UNIX)
- •Взаимодействие процессов с установлением соединения (INET)
- •Сравнение различных систем межпроцессного взаимодействия
- •Планирование
- •Типы
- •Разделение времени
- •Планирование по наивысшему приоритету
- •Планирование по наивысшему приоритету
- •Планирование по наивысшему приоритету
- •Круговорот (1)
- •Круговорот (2)
- •Круговорот (3)
- •Модификации круговорота
- •Модификации круговорота
- •Очереди с обратной связью
- •Очереди с обратной связью
- •Очереди с обратной связью
- •Сравнение подходов
- •Многоуровневое планирование (1)
- •Многоуровневое планирование (2)
- •Планирование в Linux
- •Идеальная система
- •Реальная система
- •Две задачи планировщика
- •Случаи освобождения процессора
- •Очередь готовности
- •Политики планирования
- •Дескриптор процесса (некоторые поля)
- •Работа планировщика
- •Значения приоритетов
- •Некоторые особенности

Сокеты

Цели и задачи
Обеспечить унифицированное взаимодействие между процессами как выполняющимися на одном компьютере, так и на разных хостах в сети.

Понятие «Сокет»
Коммуникационный узел, обеспечивающий прием и передачу данных для процесса. Сокет имеет исключительно программный интерфейс. Сокет существует, пока счетчик ссылок на него не равен нулю.

Коммуникационный
домен
Сокет создается в рамках коммуникационного домена, который определяет набор коммуникационных характеристик в некоторой унифицированной форме.

Коммуникационные характеристики (1)
•Упорядоченная доставка данных
•Отсутствие дублирования данных
•Надежная доставка данных

Коммуникационные характеристики (2)
•Сохранение границ сообщений
•Поддержка передачи экстренных сообщений
•Предварительное установление соединений

BSD-сокеты
•Дейтаграммный сокет (datagram socket)
•Потоковый сокет (stream socket)
•Пакетный сокет (packet socket)
•Сокет низкого уровня (raw socket)

Дейтаграммный сокет
SOCK_DGRAM
Теоретически ненадежная, несвязная передача пакетов (дейтаграмм)

Потоковый сокет
SOCK_STREAM
Надежная передача потока байтов без сохранения границ сообщений. Возможна передача экстренных данных.

Пакетный сокет
SOCK_SEQPACKET
Надежная последовательная передача данных без дублирования с предварительным установлением связи и сохранением границ сообщений.