Архитектура 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.