Архитектура Win Sock 2

Обеспечивая полную совместимость с предыдущими версиями, WinSock 2 расширяет первоначальную реализацию интерфейса в ряде областей:

Улучшенная эффективность работы
Дополнительная поддержка разрешения имен
Параллельный доступ к нескольким сетевым транспортам
Поддержка процедур управления качеством обслуживания (QoS)
Поддержка многоточечного и многоадресного вещания

В дополнение к поддержке доступа к нескольким сетевым транспортам и механизмам разрешения имен по сравнению со спецификацией WinSock 1.1 изменилась и архитектура Windows Sockets 2, которая теперь включает два основных уровня: уровень динамических библиотек (DLL), обеспечивающих интерфейс Windows Sockets APi, и уровень поставщиков услуг, которые располагаются ниже библиотек APi и взаимодействуют с ними через интерфейс поставщика услуг (Service Provider interface, SPi). Описание Windows Sockets 2 включает три отдельных спецификации: описание Windows Sockets 2 APi, описание Windows Sockets 2 SPi и приложение (Appendix), описывающее особенности протокола транспортного уровня.

DLL-библиотека Windows Sockets 2 (WS2-32.DLL) включает все APi, используемые разработчиками приложений. Она включает существующий Windows Sockets 1.1 APi, а также новый APi для расширенных средств обмена данными и APi обобщенной службы имен. Многие поставщики теперь предлагают параллельный доступ к их собственным транспортам, создавая DLL поставщика услуг, которая соответствует спецификации Windows Sockets 2 SPi. Это означает, что можно разработать приложение, обращающееся через новый APi, например, к TCP/iP и iPX/SPX одновременно.

Интерфейс SPi пространства имен позволяет обращаться к нескольким службам разрешения имен (Name Resolution Services) через единый APi. Поскольку производители поставляют программные модули уровня поставщика услуг для DNS, для службы каталогов NetWare (NDS) и Х.500 все их функции разрешения имен будут доступны через APi пространства имен Windows Sockets 2.