Penyedia Layanan Transportasi
Penyedia layanan transportasi tertentu mendukung satu atau beberapa protokol. Misalnya, penyedia TCP/IP akan menyediakan, sebagai minimum, protokol TCP dan UDP, sementara penyedia IPX/SPX mungkin menyediakan IPX, SPX, dan SPX II. Setiap protokol yang didukung oleh penyedia tertentu dijelaskan oleh struktur WSAPROTOCOL_INFO, dan kumpulan total struktur tersebut dapat dianggap sebagai katalog protokol yang diinstal. Aplikasi dapat mengambil konten katalog ini (untuk informasi selengkapnya, lihat WSAEnumProtocols, WSCEnumProtocols, dan WSCEnumProtocols32), dan dengan memeriksa struktur WSAPROTOCOL_INFO yang tersedia, temukan atribut komunikasi yang terkait dengan setiap protokol.
Protokol Berlapis dan Rantai Protokol di SPI
Windows Sockets 2 mengakomodasi konsep protokol berlapis. Protokol berlapis adalah protokol yang hanya mengimplementasikan fungsi komunikasi tingkat yang lebih tinggi, sambil mengandalkan tumpukan transportasi yang mendasar untuk pertukaran data aktual dengan titik akhir jarak jauh. Contoh protokol berlapis seperti itu adalah lapisan keamanan yang menambahkan protokol ke proses pembentukan koneksi untuk melakukan autentikasi dan untuk membangun skema enkripsi yang disepakati bersama. Protokol keamanan seperti itu umumnya akan memerlukan layanan protokol transportasi yang andal seperti TCP atau SPX. Istilah protokol dasar mengacu pada protokol seperti TCP atau SPX yang sepenuhnya mampu melakukan komunikasi data dengan titik akhir jarak jauh, dan istilah protokol berlapis digunakan untuk menggambarkan protokol yang tidak dapat berdiri sendiri. Rantai protokol kemudian akan didefinisikan sebagai satu atau beberapa protokol berlapis yang digabungkan dan dilabuhkan oleh protokol dasar.
Stringing protokol berlapis dan protokol dasar ke dalam rantai ini dapat dicapai dengan mengatur protokol berlapis untuk mendukung Winsock SPI di tepi atas dan bawahnya. Struktur WSAPROTOCOL_INFO khusus dibuat yang mengacu pada rantai protokol secara keseluruhan, dan yang menjelaskan urutan eksplisit di mana protokol berlapis bergabung. Ini diilustrasikan dalam grafik berikut.