
Серверы с установлением лог. Соед. И без (улс)
При разработки ПО клиент-сервер необходимо выбрать один из двух типов взаимодействия – с УЛС или без. Что соответствует двум транспортным протоколам TCP and UDP. При использование TCP перед обменом данными отправитель и получатель должны с начало установить соединение, а затем разорвать его. При использование UDP сообщение отсылается по мере его готовности. Выбор протокола определяет алгоритм построение ПО.
Протокол ТСР предусматривает проверку поступающих данных и автоматическую повторную передачу не дополученных сегментов. Протокол вычисляет контрольную сумму для проверки отсутствия искажения данных при их передачи. Продублированные пакеты удаляются, выстраивается исходный порядок пакета. ТСР управляет потоком данных, что исключает возможность передачи отправителя данных быстрее, чем может принять получатель. Протокол информирует отправителя, если сеть не работоспособна.
Недостатки сервера УЛС
Требует отдельного сокета для каждого соединения, издержки по распределению сокета могут иметь большое значение в случае работы ОС с ограниченными ресурсами долгое время.
Проста в соединений по которому не проходят пакеты, напрасно потребляет ресурсы. В результате сервер исчерпает все свои ресурсы и прекратит функционирование.
Основные преимущества сервера
Является относительная простота программирования т.к. протокол ТСР автоматически решает проблемы доставки пакета, поэтому в серверном ПО реализуются функции управления и использования соединения.
Клиенты и сервера использующие протокол UDP не имеют гарантий надежной доставки сообщения. Запросы могут быть продублированы, доставлены не в том порядке, потеряны, аналогичное может произойти и с ответом. Поэтому и клиент и сервер UDP должны содержать механизм исправляющие такие ошибки
Достоинства сервера без УЛС
Допускается обмен данными с несколькими клиентами через один сокет
Не порождает проблем связанных с исчерпанием ресурсов
Надежно работает в локальной сети
Недостатки сервера без УЛС
Надежность соединения обеспечивает клиент
Если в сервере необходимо разбивать ответы на несколько пакетов то требуется реализация соответствующего пакета.
#2
Основные типы серверов
Последовательные серверы с установлением логического соединения |
Последовательные серверы без установления логического соединения |
Параллельные серверы с установление логического соединения |
Параллельные серверы без установления логического соединения |
Последовательный сервер – это сервер выполняющий обработку запросов друг за другом, они более простые в разработке, но могут привести к снижению производительности т.к. клиентам приходится ожидать доступа к службе.
Параллельный сервер – это сервер обрабатывающей несколько запросов одновременно, более сложный в реализации, но обеспечивает лучшую производительность.
06.09.2013
Системные вызовы
Для передачи управления (обмена данными) между прикладной программой и ОС используется механизм системных вызовов. Системный вызов выглядит и работает как обычная функция "схема 1" . При использовании в приложении системного вызова, управление передается от приложения к интерфейсу системных вызовов, который адресует этот вызов ОС и она с применением внутренней процедуры выполняет затребованную операцию, затем управление передается через интерфейс системного вызова к приложению, которая продолжает работу.
При организации сетевого взаимодействия, существует 2 подхода:
1) используются обычные функции ввода/вывода, но возможна их переопределение, чтобы они могли работать не только с обычными устройствами ввода вывода, но и с сетевыми протоколами.
2) создаются новые вызовы для доступа к протоколам tcp/ ip , такой подход используется редко, так как для создания системного вызова необходимо составить перечень всех операций, определить имена и параметры для каждой из них.
Дом. задание!
Найти API - интерфейс