Поставщики транспортных услуг

Данный поставщик транспортных служб поддерживает один или несколько протоколов. Например, поставщик TCP/IP будет предоставлять как минимум протоколы TCP и UDP, а поставщик IPX/SPX может предоставлять IPX, SPX и SPX II. Каждый протокол, поддерживаемый определенным поставщиком, описывается структурой WSAPROTOCOL_INFO , а общий набор таких структур можно рассматривать как каталог установленных протоколов. Приложения могут получить содержимое этого каталога (дополнительные сведения см. в разделах WSAEnumProtocols, WSCEnumProtocols и WSCEnumProtocols32), а также, изучив доступные структуры WSAPROTOCOL_INFO , обнаружить атрибуты связи, связанные с каждым протоколом.

Многоуровневые протоколы и цепочки протоколов в SPI

Windows Sockets 2 поддерживает концепцию многоуровневого протокола. Многоуровневый протокол — это протокол, который реализует только функции связи более высокого уровня, используя при этом базовый стек транспорта для фактического обмена данными с удаленной конечной точкой. Примером такого многоуровневого протокола может быть уровень безопасности, который добавляет протокол в процесс установления соединения для выполнения проверки подлинности и установления взаимно согласованной схемы шифрования. Для такого протокола безопасности обычно требуются службы базового надежного транспортного протокола, например TCP или SPX. Термин базовый протокол относится к такому протоколу, как TCP или SPX, который полностью способен осуществлять обмен данными с удаленной конечной точкой, а термин многоуровневый протокол используется для описания протокола, который не может стоять отдельно. Затем цепочка протоколов будет определена как один или несколько многоуровневых протоколов, нанизанных вместе и привязанных к базовому протоколу.

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

цепочка протоколов