Основные определения winsock

Winsock - это сетевой интерфейс прикладного программирования, а не протокол, основной интерфейс доступа к разным базовым сетевым протоколам, реализованный на всех платформах Win32. Интерфейс Winsock унаследовал многое от реализации Barkeley (BSD) Sockets на платформах UNIX, работающих с множеством сетевых протоколов. В средах Win32 он стал абсолютно независимым от протокола, особенно с выпуском версии Winsock2.

Основная цель разработки спецификации Winsock 2- создать независимый от протокола транспортный интерфейс. К его неоспоримым преимуществам относятся предоставление единого привычного интерфейса сетевого программирования для различных транспортов сети.

Определения

Протокол называют ориентированным на передачу сообщений, если для каждой команды записи он передает байты по сети в отдельной сообщении. Это также означает, что приемник получит данные в виде отдельного сообщения отправителя.

Протокол, не сохраняющий границы сообщений, обычно называют протоколом, основанном на потоке. Потоковая служба непрерывно передает данные, получатель считывает столько данных, сколько имеется в наличии, независимо от границ сообщений. Для отправителя это означает, что система может разбивать исходное сообщение на части или объединять несколько сообщений, чтобы сформировать большой пакет данных. На приемнике сетевой стек считывает данные по мере их поступления и буферизует для некоторого процесса. Когда процесс запрашивает данные, система возвращает максимально возможное количество данных, не переполняющее буфер, предоставленный клиентским вызовом.

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

зачастую называют псевдопотоком.

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

Протокол, сохраняющий порядок данных, гарантирует, что приемник получит эти данные в том порядке, в котором они были отправлены.

Корректное завершение работы характерно только для протоколов, ориентированных на соединение. При этом одна сторона инициирует завершение сеанса связи, а другая - все еще имеет возможность считывать данные, задержавшиеся в канале связи или сетевом стеке. Ориентированный на соединение протокол, не поддерживающий корректного завершения работы, немедленно завершает сеанс связи, игнорируя любые данные, которые не были считаны приемником.

Широковещание данных подразумевает их передачу с одной рабочей станции всем остальным рабочим станциям ЛВС(локальные вычислительные сети). Этой функцией обладают неориентированные на соединение протоколы, так как все компьютеры в ЛВС могут получать и обрабатывать широковещательные сообщения.

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

Управляя качеством обслуживания (Quality of Service, QoS), приложение может зарезервировать определенную часть пропускной способности сети для монопольного использования.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: